On Tue, Nov 08, 2022 at 11:07:51PM +0100, Vincent Lefevre wrote: > > 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.
I am not sure that this can be easily fixed, there are lots of caveats put forward in the manual because macros in TeX is an area where things seems to be difficult to get right, but I agree that this is an issue as I can't see what in the macro definition would trigger an extra space (and the equivalent using texi2any macros would not have that space, though it is may not be relevant to the issue). If it cannot be fixed, maybe it could be documented? -- Pat