Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct handling of lost chars in boxes with LuaTeX #1691

Merged
merged 4 commits into from
Mar 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions base/changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ to completeness or accuracy and it contains some references to files that are
not part of the distribution.
================================================================================

2025-03-05 Joseph Wright <[email protected]>
* ltplain.dtx
Set \tracinglostchars to 4 for recent LuaTeX releases (gh/1687)
Remove \tracinglostchars setting from \tracingall/\loggingall (gh/1687)

* ltfssbas.dtx
Set \tracinglostchars to 0 for all engines in \showhyphens


2025-03-01 Frank Mittelbach <[email protected]>

* ltexpl.dtx (section{Document-level command names for \pkg{expl3} functions}):
Expand Down
15 changes: 13 additions & 2 deletions base/doc/ltnews41.tex
Original file line number Diff line number Diff line change
Expand Up @@ -390,8 +390,6 @@ \subsection{Fixing the spacing after display math}
%
\taggingissue{762}



\section{New or improved commands}

\subsection{Socket and plug conditionals}
Expand Down Expand Up @@ -578,8 +576,21 @@ \subsection{Improving the handling of \cs{label}, \cs{index}, and \cs{glossary}}
and then do nothing. We have now changed that behavior so that the
redefinitions in these places accept an extended syntax.
%

\githubissue{311}

\subsection{Tracing lost characters}

In LaTeX News 33~\cite{41:ltnews33} we announced that \cs{tracingall} changes
\cs{tracinglostchars} to an error condition. This change has been reverted and
\cs{tracingall} and \cs{tracingnone} no longer alter \cs{tracinglostchars} but
retain its current setting.

The default value used in \LaTeX{} is set so that lost character information is
written to the log and terminal. Users may wish to make this into an error, in
which case they should set the value to~5 (not~3); this works in all engines.

\githubissue{1687}

\section{Bug fixes}

Expand Down
5 changes: 4 additions & 1 deletion base/ltfssbas.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssbas.dtx}
[2025/02/20 v3.2p LaTeX Kernel (NFSS Basic Macros)]
[2025/03/05 v3.2q LaTeX Kernel (NFSS Basic Macros)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
Expand Down Expand Up @@ -2333,6 +2333,8 @@
% {Add version of \cs{showhyphens} that works with Xe\TeX.}
% \changes{v3.2m}{2024/06/17}
% {set \cs{tracinglostchars} to 0 in \cs{showhyphens}}
% \changes{v3.2q}{2025/03/05}
% {set \cs{tracinglostchars} to 0 in \cs{showhyphens} for all engines}
% The |\showhyphens| command must be redefined since the version in
% \texttt{plain.tex} uses |\tenrm|. We have also made some further
% adjustments for its use in \LaTeX.
Expand All @@ -2348,6 +2350,7 @@
\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
\color@begingroup
\tracinglostchars\z@
\everypar{}%
\parfillskip\z@skip\hsize\maxdimen
\normalfont
Expand Down
25 changes: 16 additions & 9 deletions base/ltplain.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltplain.dtx}
[2024/11/02 v2.3k LaTeX Kernel (Plain TeX)]
[2025/03/05 v2.3l LaTeX Kernel (Plain TeX)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltplain.dtx}
Expand Down Expand Up @@ -941,9 +941,20 @@
% (error on the terminal). This made us realize that we should
% change the default. Using \texttt{3} would really be the
% best, but for compatibility reasons we only use \texttt{2}.
% For recent Lua\TeX{} releases, we set \texttt{4}: this is offset by~2
% from the e-\TeX{} value as otherwise Lua\TeX{} only issues a warning
% for text in a box when the box is used, not saved. (Accepting values of
% 4 and 5 was updated in the \TeX{}~Live 2025 release.)
% \changes{v2.3g}{2021/07/16}{Use 2 as default value for \cs{tracinglostchars}}
% \changes{v2.3l}{2025/03/05}{Use 4 as default value for \cs{tracinglostchars}
% in Lua\TeX{} (gh/1687)}
% \begin{macrocode}
\tracinglostchars=2
\ifdefined\luatexversion
\ifnum\luatexversion>120
\tracinglostchars=4
\fi
\fi
% \end{macrocode}
% \begin{macrocode}
% \tracingcommands=0
Expand Down Expand Up @@ -1718,14 +1729,14 @@
% \changes{v2.3f}{2021/04/18}{Drop pre-$\varepsilon$-\TeX{} support}
% \changes{v2.3f}{2021/04/18}
% {Add \cs{tracingstacklevels} and \cs{tracinglostchars}=3}
% \changes{v2.3l}{2025/03/05}{Remove \cs{tracinglostchars} setting (gh/1691)}
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2021/06/01}{\loggingall}
%<latexrelease> {\tracingstacklevels and \tracinglostchars=3}%
%<*2ekernel|latexrelease>
\edef\loggingall{%
\tracingstats\tw@
\tracingpages\@ne
\tracinglostchars\thr@@
\tracingparagraphs\@ne
\tracinggroups\@ne
\tracingifs\@ne
Expand Down Expand Up @@ -1794,6 +1805,9 @@
% \changes{v2.3f}{2021/04/18}{Drop pre-$\varepsilon$-\TeX{} support}
% \changes{v2.3f}{2021/04/18}
% {Add \cs{tracingstacklevels} and \cs{tracinglostchars}=3}
% \changes{v2.3j}{2023/11/07}{Set \cs{tracinglostchars} to 2 in
% \cs{tracingnone} (gh/549)}
% \changes{v2.3l}{2025/03/05}{Remove \cs{tracinglostchars} setting (gh/1691)}
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2015/01/01}{\tracingnone}%
%<latexrelease> {turn off etex tracing}%
Expand All @@ -1814,13 +1828,6 @@
\tracinggroups\z@
\tracingparagraphs\z@
\tracingmacros\z@
% \end{macrocode}
% None really means go back to the \LaTeX{} ``default'' and for
% \cs{tracinglostchars} this should therefore be 2 these days.
% \changes{v2.3j}{2023/11/07}{Set \cs{tracinglostchars} to 2 in
% \cs{tracingnone} (gh/549)}
% \begin{macrocode}
\tracinglostchars\tw@
\tracingpages\z@
\tracingstats\z@
}%
Expand Down
4 changes: 2 additions & 2 deletions base/testfiles/github-0524.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Don't change this file in any respect.
~..\b ->\c \relax
~...\c ->\d \relax
~....\d ->\tracingnone \leavevmode \tracingall hi
~.....\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracinglostchars \tw@ \tracingpages \z@ \tracingstats \z@
~.....\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
{\tracingassigns}
{changing \tracingassigns=1}
{into \tracingassigns=0}
Expand All @@ -23,7 +23,7 @@ Don't change this file in any respect.
{\relax}
{\relax}
{\relax}
~.\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracinglostchars \tw@ \tracingpages \z@ \tracingstats \z@
~.\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
{\tracingassigns}
{changing \tracingassigns=1}
{into \tracingassigns=0}
Expand Down
25 changes: 4 additions & 21 deletions base/testfiles/github-0524.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Don't change this file in any respect.
~..\b ->\c \relax
~...\c ->\d \relax
~....\d ->\tracingnone \leavevmode \tracingall hi
~.....\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracinglostchars \tw@ \tracingpages \z@ \tracingstats \z@
~.....\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
{\tracingassigns}
{changing \tracingassigns=1}
{\tracingrestores}
Expand All @@ -20,30 +20,13 @@ Don't change this file in any respect.
{\tracingassigns}
{into \tracingassigns=1}
{the letter h}
! Missing character: There is no h ("68) in font nullfont.
\d ->\tracingnone \leavevmode \tracingall h
i
\c ->\d
\relax
\b ->\c
\relax
\a ->\b
\relax
l. ...\nullfont \a
Missing character: There is no h in font nullfont!
{the letter i}
! Missing character: There is no i ("69) in font nullfont.
\d ->\tracingnone \leavevmode \tracingall hi
\c ->\d
\relax
\b ->\c
\relax
\a ->\b
\relax
l. ...\nullfont \a
Missing character: There is no i in font nullfont!
{\relax}
{\relax}
{\relax}
~.\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracinglostchars \tw@ \tracingpages \z@ \tracingstats \z@
~.\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
{\tracingassigns}
{changing \tracingassigns=1}
{\tracingrestores}
Expand Down
34 changes: 34 additions & 0 deletions base/testfiles/github-0524.xetex.tlg
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
This is a generated file for the LaTeX2e validation system.
Don't change this file in any respect.
{vertical mode: \tracingrestores}
{\tracingassigns}
{into \tracingassigns=1}
{select font nullfont}
{changing current font=\OT1/cmr/m/n/10}
{into current font=\nullfont}
~.\a ->\b \relax
~..\b ->\c \relax
~...\c ->\d \relax
~....\d ->\tracingnone \leavevmode \tracingall hi
~.....\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
{\tracingassigns}
{changing \tracingassigns=1}
{\tracingrestores}
{\tracingonline}
{\tracingcommands}
{horizontal mode: \tracingrestores}
{\tracingassigns}
{into \tracingassigns=1}
{the letter h}
Missing character: There is no h ("68) in font nullfont!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting XeTeX behaves differently than pdfTeX when \tracinglostchars=2, but the same with pdfTeX when \tracinglostchars=3.

% \tracinglostchars=2
% pdftex
Missing character: There is no h in font nullfont!
% xetex
Missing character: There is no h ("68) in font nullfont!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, doubt it's deliberate - but I'm not sure there is much to be done

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it isn't perfect but it isn't that much of a problem either (for us 1-2 extra tlg files due to the differences)

{the letter i}
Missing character: There is no i ("69) in font nullfont!
{\relax}
{\relax}
{\relax}
~.\tracingnone ->\tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
{\tracingassigns}
{changing \tracingassigns=1}
{\tracingrestores}
{\tracingonline}
{\tracingcommands}
6 changes: 3 additions & 3 deletions base/testfiles/github-robust-0123.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ l. ...\mruntest{ccc}
---------------------------------------
\listfiles -> \GenericError { }{LaTeX Error: Can be used only in preamble}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type I <command> <return> to replace it with another command,\MessageBreak or <return> to continue without it.}
---------------------------------------
\loggingall -> \tracingstats \tw@ \tracingpages \@ne \tracinglostchars \thr@@ \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
\loggingall -> \tracingstats \tw@ \tracingpages \@ne \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
---------------------------------------
\loggingoutput -> \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen
---------------------------------------
Expand Down Expand Up @@ -238,11 +238,11 @@ l. ...\mruntest{ccc}
---------------------------------------
\sqsupset -> \GenericError { }{LaTeX Error: Command \sqsupset not provided in base LaTeX2e}{See the LaTeX manual or LaTeX Companion for explanation.}{Load the latexsym or the amsfonts package to define this symbol}
---------------------------------------
\tracingall -> \tracingonline \@ne \tracingstats \tw@ \tracingpages \@ne \tracinglostchars \thr@@ \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
\tracingall -> \tracingonline \@ne \tracingstats \tw@ \tracingpages \@ne \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
---------------------------------------
\tracingfonts -> \GenericWarning {(Font) }{LaTeX Font Warning: Command \tracingfonts not provided.\MessageBreak Use the `tracefnt' package.\MessageBreak Command found:}\count@
---------------------------------------
\tracingnone -> \tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracinglostchars \tw@ \tracingpages \z@ \tracingstats \z@
\tracingnone -> \tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
---------------------------------------
\unlhd -> \GenericError { }{LaTeX Error: Command \unlhd not provided in base LaTeX2e}{See the LaTeX manual or LaTeX Companion for explanation.}{Load the latexsym or the amsfonts package to define this symbol}
---------------------------------------
Expand Down
6 changes: 3 additions & 3 deletions base/testfiles/github-robust-0123.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ l. ...\mruntest{ccc}
---------------------------------------
\listfiles -> \GenericError { }{LaTeX Error: Can be used only in preamble}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type I <command> <return> to replace it with another command,\MessageBreak or <return> to continue without it.}
---------------------------------------
\loggingall -> \tracingstats \tw@ \tracingpages \@ne \tracinglostchars \thr@@ \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
\loggingall -> \tracingstats \tw@ \tracingpages \@ne \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
---------------------------------------
\loggingoutput -> \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen
---------------------------------------
Expand Down Expand Up @@ -238,11 +238,11 @@ l. ...\mruntest{ccc}
---------------------------------------
\sqsupset -> \GenericError { }{LaTeX Error: Command \sqsupset not provided in base LaTeX2e}{See the LaTeX manual or LaTeX Companion for explanation.}{Load the latexsym or the amsfonts package to define this symbol}
---------------------------------------
\tracingall -> \tracingonline \@ne \tracingstats \tw@ \tracingpages \@ne \tracinglostchars \thr@@ \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
\tracingall -> \tracingonline \@ne \tracingstats \tw@ \tracingpages \@ne \tracingparagraphs \@ne \tracinggroups \@ne \tracingifs \@ne \tracingscantokens \@ne \tracingnesting \@ne \errorcontextlines \maxdimen \tracingstacklevels \maxdimen \tracingoutput \@ne \showboxbreadth \maxdimen \showboxdepth \maxdimen \tracingmacros \tw@ \tracingcommands \thr@@ \tracingrestores \@ne \tracingassigns \@ne
---------------------------------------
\tracingfonts -> \GenericWarning {(Font) }{LaTeX Font Warning: Command \tracingfonts not provided.\MessageBreak Use the `tracefnt' package.\MessageBreak Command found:}\count@
---------------------------------------
\tracingnone -> \tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracinglostchars \tw@ \tracingpages \z@ \tracingstats \z@
\tracingnone -> \tracingassigns \z@ \tracingrestores \z@ \tracingonline \z@ \tracingcommands \z@ \showboxdepth \m@ne \showboxbreadth \m@ne \tracingoutput \z@ \errorcontextlines \m@ne \tracingstacklevels \z@ \tracingnesting \z@ \tracingscantokens \z@ \tracingifs \z@ \tracinggroups \z@ \tracingparagraphs \z@ \tracingmacros \z@ \tracingpages \z@ \tracingstats \z@
---------------------------------------
\unlhd -> \GenericError { }{LaTeX Error: Command \unlhd not provided in base LaTeX2e}{See the LaTeX manual or LaTeX Companion for explanation.}{Load the latexsym or the amsfonts package to define this symbol}
---------------------------------------
Expand Down
Loading