インライン数式スペースと単語間のスペースの変更

インライン数式スペースと単語間のスペースの変更

たとえば、数式モードで 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

には接着剤が含まれています\:が、 には含まれていません\!。最初の では が使用され\medmuskip4.0mu plus 2.0mu minus 4.0mu2 番目\thinmuskipの では が使用されています3.0mu。接着剤の使用を避けるには、 のみを使用する\!か、もっと簡単に のみを使用します\mkern

サンプル出力

2番目のサンプル

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

わずかな違いは、斜体修正がテキスト モードでは適用されますが、数式モードでは適用されないという事実によるものです。

ここに画像の説明を入力してください

関連情報