由于 LaTeX 是基于 TeX 构建的格式,因此它肯定具有一些高级抽象,其执行方式与 TeX 命令类似,例如,还增加了一些错误处理功能。我总是发现一些零散的建议说
而不是
\def
使用\newcommand
...我确信这也适用于其他命令。
有没有汇编此类匹配的文档?如果没有,我们不妨在这里汇编它们?到目前为止,我能想到以下几点。我对其中一些可能正确也可能不正确,但我希望这能说明我的观点。
\def --> \newcommand, \renewcommand
\hskip --> \hspace
\vskip --> \vspace
目标是除非绝对必要,否则避免使用低级 TeX 命令。即使有必要,也应将其限制在宏定义中。
我想象这是社区维基。所以每个答案一个对决。下面已开始列出大列表社区维基答案,并根据问题领域进行分类。请随意编辑和/或添加问题领域和对决。
匹配TeX --> LaTeX
意味着它们解决的是同一个问题领域,因此一个或多个 TeX 命令可能与一个或多个 LaTeX 命令匹配。此外,请在您的答案中附上原因(或链接),解释为什么 LaTeX 替代方案作为高级实现更佳。
答案1
左边是 TeX 命令,右边是具有类似功能的 LaTeX 命令。
宏定义
\def
,\gdef
-- >\newcommand*
,,\providecommand*
\renewcommand*
\long\def
,\long\gdef
-- >\newcommand
,,\providecommand
\renewcommand
对于具有范围的命令,即包括分组,LaTeX 提供
\newenvironment
和\renewenvironment
。
数学
$ ... $
-- >\( ... \)
参见fixltx2e
比 $ 更可取$$ ... $$
-->\[ ... \]
,请参阅为什么 [...] 比 $$ 更好\over
-->\frac
\atop
、、-->以及派生命令\atopwithdelims
,例如,请参阅\choose
\genfrac
amsmath
\binom
为什么 amsmath 会打印有关外部命令的警告\leqno, \eqno
-->equation
环境,可选leqno
类或amsmath
选项
表格
\cr
,\crcr
-->\\
,\tabularnewline
间距
\kern
,\hskip
-->\hspace
\vskip
-->\vspace
定位
\centerline
-->\centering
或center
环境\raise
-->\raisebox
各种各样的
\uppercase
-->\MakeUppercase
答案2
无论如何,nag 包每当你使用 TeX 命令而不是 LaTeX 命令时都会发出警告。这是了解哪些命令已被弃用的好方法 过时且被取代(引用nag文档)。