Re: from 2.5.0 to 2.5.1

Udi Fogiel via lyx-users <[email protected]>
Newsgroups gmane.editors.lyx.general
Message-ID <ETS3GIW1pbqiA3J8fGW-dEUBf5rucIwd_niVT_nfugoNhV2Bo84YlH5EO0qcgG9JhKTwW1KwWpZJXIAZj9teCwdFPCFQheFKu9J_h1dz14E=@proton.me>
On Wednesday, August 5th, 2026 at 7:35 PM, Richard Kimberly Heck via lyx-users <[email protected]> wrote:

> There is
> additional space above the displayed equation in the latter case. I take
> it that this is in the inter-paragraph spacing. Please correct me if the
> additional space is coming from somewhere else. But I get the same in
> the latter case as if I'd written:
>
> test
>
> ~
> $$x=y$$
>

You can trace what happens from the LuaTeX source (this is similar in other engines).

When LuaTeX encounters a $ in vertical mode during the main control loop
it runs run_new_graf(): 
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/master/source/texk/web2c/luatexdir/tex/maincontrol.c#L860
which backs up one token, then runs new_graph(true):
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/master/source/texk/web2c/luatexdir/tex/maincontrol.c#L473

new_graph(true) create a new *indented* paragraph, and switch the mode to horizontal.
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/master/source/texk/web2c/luatexdir/tex/maincontrol.c#L1831

Since run_new_graf() backed up one token, back in the main control loop we encounter the same $ again but in horizontal mode:
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/master/source/texk/web2c/luatexdir/tex/maincontrol.c#L904

Now init_math() check the next token and if it is another math shift token we start a display equation:
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/master/source/texk/web2c/luatexdir/tex/texmath.c#L986

When LuaTeX start a display equation, it first checks the current paragraph. If it is empty (head==tail) it flushes it:
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/master/source/texk/web2c/luatexdir/tex/texmath.c#L1120
(LuateX specifically check more stuff here, such as local_par and direction nodes, these are LuaTeX specific).
If it is not empty, It breaks it into lines and will add it to the vertical list eventually.


Since you used $ in vertical mode, LuaTeX started an indented paragraph, i.e. a paragraph with a hbox node,
so LuaTeX does not discard it, but it is visually empty and might seem like a vertical space.

You can see the difference with \noindent $$x=y$$. In this case there is no indent box in the paragraph, so
LuaTeX will discard it.

Udi
-- 
lyx-users mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.