為什麼有兩個指令 \> 和 \: 做同樣的事情?

為什麼有兩個指令 \> 和 \: 做同樣的事情?

文件latex.ltx說:

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

為什麼有兩個同樣長的指令\>並且\:執行完全相同的操作?對我來說,它們看起來毫無理由地多餘。一個指令還不夠嗎?

(以防萬一您認為已經\>tabbing環境中重新定義了:為什麼不在\:選項卡環境中給出 go-to-the-next-column 含義並保留\>其通常的水平間距定義\tmspace+\medmuskip{.2222em},預設為\mskip+\medmuskip數學模式,可能與\mskip\medmuskipplain TeX 相容?

答案1

在 plain TeX 中,Knuth\>用於\mskip\medmuskip

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

LaTeX\>在 中具有不同的意義tabbing。不會有衝突的原因,但從一開始,Lamport 就決定提供\:do \mskip\medmuskip,也許也是因為他考慮了,:;更好的助記符順序,誰知道呢?

無論如何,為了與純 TeX 兼容,一開始這是首選,因為人們可以更輕鬆地進行切換,\>因為提供了別名 to (當然,\:僅在 之外)。tabbing

\:最近修改了核心中的定義,採用了amsmath允許在文字模式下使用它的定義,而不僅僅是在數學中。

相關內容