On 2022-11-08 16:42:00 +0000, Gavin Smith wrote:
> On Tue, Nov 08, 2022 at 11:27:08AM +0100, Vincent Lefevre wrote:
> > On 2022-11-08 07:04:11 +0000, Gavin Smith wrote:
> > > On Tue, Nov 08, 2022 at 03:57:48AM +0100, Vincent Lefevre wrote:
> > > > Note that there is the same issue with a Texinfo macro, i.e. with
> > > >
> > > > @iftex
> > > > @macro atan
> > > > \\mathop{\\rm atan}
> > > > @end macro
> > > > @end iftex
> > > >
> > > > instead of the \gdef\atan{\mathop{\rm atan}}. This is even more
> > > > unexpected, and this seems to be a Texinfo problem.
> > >
> > > Yes, but it is unlikely that this can be fixed.
> >
> > The manual doesn't say that this is forbidden or that wouldn't work
> > as expected.
>
> We don't document in the Texinfo manual how TeX math mode spacing works.
> The spacing is as expected for TeX.
Well, let's try. :-)
------------------------------------------------------------
\input texinfo @c -*-texinfo-*-
@tex
\gdef\texatan{\mathop{\rm atan}}
@end tex
@iftex
@macro atan
\\mathop{\\rm atan}
@end macro
@end iftex
Spacing test with atan.
@math{\mathop{\rm atan}(x)}
@math{\texatan(x)}
@math{@atan{}(x)}
@bye
------------------------------------------------------------
I get:
Spacing test with atan.
atan(x)
atan(x)
atan (x)
So, one gets the expected behavior with the TeX macro (no space added).
But with the Texinfo macro, a space is added. This is unexpected: one
should have got the same behavior as with the Tex macro. This means
that Texinfo is adding something else in its macro expansion.
> > So one would need to use something like @mysin{} (with a definition
> > to expand it to "sin"). But it would be better for source readability
> > and less confusing if either @math{@sin{}(x)} or @math{@sin(x)} were
> > allowed.
>
> Another idea: define @Sin so that you could do @math{@Sin{}(x)}. With
> the right definition you could also do @math{@Sin{x}}.
Good idea. Thanks.
--
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)