Durch Theorembeschriftungen erzeugter Raum (XeTeX)

Durch Theorembeschriftungen erzeugter Raum (XeTeX)

Mit dem thmtoolsPaket wird durch die Kombination \begin{foo}[name=bar,label=x]mit der Zeile \newtheorem{foo}{Foo}in der Präambel Foo xxx (Strich) gesetzt, wobei xxx eine Zahl ist. Nach dem (Strich) gibt es einen zusätzlichen Abstand von etwa 6pt. Um ihn vollständig zu entfernen, wie ich beiZusätzlicher Platz vor dem beschrifteten Theoremhauptteil mit thmbox oder thmtools+thmboxreicht es aus, nach dem Teil % hinzuzufügen label=x]. Der Punkt ist, wenn ich \,danach eine beliebige Anzahl von s hinzufüge, werden diese vollständig ignoriert, während \hspaces, \quads und \qquads nicht ignoriert werden. Versuchen Sie es mit dem Satz:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[a4paper]{report}
\usepackage[italian]{babel}
\usepackage{thmtools}
\newtheorem{foo}{Foo}

\begin{document}
\begin{foo}[name=bar,label=x]\hspace{5cm}
With the space.
\end{foo}
\begin{foo}[name=bar2,label=x2]
Without the space.
\end{foo}
\begin{foo}[name=bar3,label=x3]\,\,\,\,\,\,\,\,
With 8 \verb"\,"s.
\end{foo}
\end{document}

Auf meinem Computer \,erzeugen die Buchstaben „s“ kein Leerzeichen, während dies der \hspaceFall ist. Warum ist das so?

Das Hinzufügen von % nach dem Label scheint das Leerzeichen nicht zu beseitigen. Da dies einige übervolle \hboxen erzeugt hat, würde ich gerne wissen, wie ich es entfernen kann.

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[a4paper]{report}
\usepackage[italian]{babel}
\usepackage{thmtools}
\newtheorem{foo}{Foo}

\begin{document}
\begin{foo}[name=bar,label=x]%
With the \verb"%".
\end{foo}
\begin{foo}[name=bar2,label=x2]
Without the \verb"%".
\end{foo}
\end{document}

Der obige Code wurde gesetzt

Antwort1

Sie \,erzeugen zwar Platz (wie Sie in Ihrem Bild sehen können), aber es istVertikaleRaum:

...\kern 1.70374
...\kern 1.70374
...\kern 1.70374
...\kern 1.70374
...\kern 1.70374
...\kern 1.70374
...\kern 1.70374
...\kern 1.70374
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 2.0
...\hbox(7.5+2.5)x345.0, glue set 225.66599fil
....\hbox(7.5+2.5)x67.92326
.....\glue 0.0
.....\glue 0.0
.....\glue -5.0
.....\hbox(7.5+2.5)x67.92326
......\glue 5.0
......\OT1/cmr/bx/n/10 F
......\kern-0.95833
......\OT1/cmr/bx/n/10 o
......\kern0.31944
......\OT1/cmr/bx/n/10 o
......\glue 3.83331 plus 1.91666 minus 1.27777
......\OT1/cmr/bx/n/10 3

\hspacegeneriert ein \hskip, aber \,wenn nicht im mathematischen Modus, generiert es einen Unterschnitt, der nicht automatisch einen Absatz startet, also fügt es im vertikalen Modus (wie hier) vertikalen Abstand hinzu. wahrscheinlich hätte es mit definiert werden sollen\leavevmode

verwandte Informationen