
たとえば、数式モードで 2 つの文字間のスペースを 2/18 クワッド減らしたいとします。映画「ダイ・ハード 3」のように、2 -3/18 クワッドをまとめて\!
、4/18 クワッドを で追加します\:
。ただし、問題は、現在の行の単語間のスペースに応じて正のスペースが圧縮されるのに対し、負のスペースは圧縮されないことです。そのため、極端な場合には -6/18 クワッドになり、MWE でも現実世界でも満足のいく結果にはなりません。
\documentclass[a5paper]{article}
\newcommand{\md}{\ensuremath{M\!\!\:D}}
\begin{document}
a a a a a a a a a a a a a a a a a a a a a a $\md$ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
aaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaa $\md$ aaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaaaa aaaaaaaaaaaaa aaaaaaaa
\end{document}
では、なぜインライン数式は通常の単語間スペース調整の対象となるのでしょうか。また、これをオフにするにはどうすればよいでしょうか。(私が行ったような奇妙なスペース計算を行っていない場合でも、多くの数式でこれが問題のある結果につながることは想像に難くありません。)
答え1
には接着剤が含まれています\:
が、 には含まれていません\!
。最初の では が使用され\medmuskip
、4.0mu plus 2.0mu minus 4.0mu
2 番目\thinmuskip
の では が使用されています3.0mu
。接着剤の使用を避けるには、 のみを使用する\!
か、もっと簡単に のみを使用します\mkern
。
\documentclass[a5paper]{article}
\newcommand{\md}{\ensuremath{M\mkern-9mu D}}
\begin{document}
a a a a a a a a a a a a a a a a a a a a a a $\md$ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
aaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaa $\md$ aaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaaaa aaaaaaaaaaaaa
aaaaaaaa
\clearpage
\hbox{aa aa $\md$ aa aa}
\hbox spread 10pt{aa aa $\md$ aa aa}
\hbox spread 20pt{aa aa $\md$ aa aa}
\end{document}
18mu = 1em
これは要求した間隔よりもはるかに狭いので、代わりに を使用します-2mu
。
上記の私の発言の数字は以下のとおりです。
\documentclass{article}
\begin{document}
\( \show\!\show\: \)
\showthe\thinmuskip
\showthe\medmuskip
\end{document}
ログ ファイルに次の情報が出力されます。
> \!=macro:
->\mskip -\thinmuskip .
l.10 \( \show\!
\show\: \)
> \:=macro:
->\mskip \medmuskip .
l.10 \( \show\!\show\:
\)
> 3.0mu.
l.11 \showthe\thinmuskip
> 4.0mu plus 2.0mu minus 4.0mu.
l.12 \showthe\medmuskip
私が見る限り、標準的な LaTeX では、接着スキップ\medmuskip
と は\thickmuskip
、バイナリ記号と関係記号の周囲、および の定義でのみ使用されます\bmod
。
答え2
TeXに-2/18emを追加するよう指示するだけです。コマンドをテキスト内で使用する場合は、
\newcommand{\md}{\textit{M\kern-0.11111em D}}
カーンは拡大または縮小されることはありません。
amsmath
テキストと数学の両方で使用するためにもロードします。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\md}{\textit{M\kern-0.11111em D}}
\begin{document}
a a a a a a \md{} a a a a a
a a a a a a $\md$ a a a a a
\end{document}
わずかな違いは、斜体修正がテキスト モードでは適用されますが、数式モードでは適用されないという事実によるものです。