定理ラベルによって生成される空間 (XeTeX)

定理ラベルによって生成される空間 (XeTeX)

パッケージではthmtools、プリアンブルの\begin{foo}[name=bar,label=x]行と組み合わせると\newtheorem{foo}{Foo}Foo xxx (bar)とタイプセットされます。xxxは数字です。(bar)の後に約6ptの余分なスペースがあります。これを完全に削除するには、thmbox または thmtools+thmbox を使用したラベル付き定理本体の前の余分なスペース、その部分の後に % を追加するだけで十分ですlabel=x]。ポイントは、\,その後に任意の数の s を追加した場合、それらは完全に無視されますが、、\hspacess \quad\qquadおよび は無視されないことです。タイプセットを試してください。

%!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}

私のコンピューターでは、 は\,スペースを生成しませんが、 は\hspace生成します。なぜそうなるのでしょうか?

ラベルの後に % を追加しても、スペースは削除されないようです。これにより、過剰な \hbox がいくつか生成されたため、削除する方法を知りたいです。

%!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}

上記のコードは

答え1

\,(画像でわかるように)スペースを生成しますが、垂直空間:

...\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

\hspaceを生成します\hskipが、\,数式モードでは自動的に段落を開始しないカーニングを生成するので、垂直モード(ここでのように)では垂直方向のスペースを追加します。おそらく次のように定義すべきだったでしょう。\leavevmode

関連情報