![同じことを実行する \> と \: という 2 つのコマンドがあるのはなぜですか?](https://rvso.com/image/449645/%E5%90%8C%E3%81%98%E3%81%93%E3%81%A8%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%20%5C%3E%20%E3%81%A8%20%5C%3A%20%E3%81%A8%E3%81%84%E3%81%86%202%20%E3%81%A4%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
ファイルには次のよう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
、数学だけでなくテキスト モードでも使用できるようになりました。