bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: spurious space after macro expansion in math mode for TeX output


From: Vincent Lefevre
Subject: Re: spurious space after macro expansion in math mode for TeX output
Date: Tue, 8 Nov 2022 23:07:51 +0100
User-agent: Mutt/2.2.8+49 (040ba998) vl-149028 (2022-11-07)

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 <vincent@vinc17.net> - 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]