同じことを実行する \> と \: という 2 つのコマンドがあるのはなぜですか?

同じことを実行する \> と \: という 2 つのコマンドがあるのはなぜですか?

ファイルには次のようlatex.ltxに書かれています:

\DeclareRobustCommand\:{\tmspace+\medmuskip{.2222em}}
\let\>=\:

同じ長さのコマンドが 2 つあり\>\:まったく同じことを行うのはなぜですか? 私には、それらは理由もなく冗長に見えます。 1 つのコマンドで十分ではないでしょうか?

\>( が 環境ですでに再定義されていると主張する場合に備えて、タブ環境で go-to-the-next-column の意味をtabbing与えて、通常の水平方向の間隔の定義 を保持しないのはなぜでしょうか。これは数式モードではデフォルトで になり、プレーン TeX では と互換性がある可能性があります。)\:\>\tmspace+\medmuskip{.2222em}\mskip+\medmuskip\mskip\medmuskip

答え1

プレーンTeXでは、Knuthは\>次のように使用します\mskip\medmuskip

\def\,{\mskip\thinmuskip}
\def\>{\mskip\medmuskip}
\def\;{\mskip\thickmuskip}
\def\!{\mskip-\thinmuskip}

LaTeX\>では、 は とは異なる意味で使用されますtabbing。競合の原因はほとんどありませんが、当初から Lamport は\:を実行するように決めていました\mskip\medmuskip。おそらく、よりよい記憶法のシーケンスを考えたからでしょう,:;。誰にもわかりません。

\>いずれにせよ、プレーン TeX との互換性のために、へのエイリアス\:が提供されていました (もちろん、 の外部のみ)。これは、より簡単に切り替えることができるため、当初は好まれてtabbingいました。

\:カーネル内のの定義は最近変更され、 の定義が採用されamsmath、数学だけでなくテキスト モードでも使用できるようになりました。

関連情報