LaTeX 有很多命令的功能非常相似。这通常是因为其中一些命令已经过时了。
例如:$x^2$
vs \(^2\)
;据我了解,第二个示例是更现代的版本,应在可能时使用。
其他示例:\it
与更现代的\itshape
和我实际上应该使用的相比\textit{}
我已经听过足够多关于这些的提及,我想我知道我应该使用哪一个;然而,也有一些事情\begin{center}
对比\centering
与上下文相关(由于垂直间距)
这些是我从脑海中挑选出来的例子;$$...$$
vs \[...\]
vs\begin{equation}...\end{equation}
是下面有人提到的另一个例子。
有没有简单的方法可以告诉我什么时候应该使用哪个命令?对于软件包中的内容,通常很容易查看手册并了解哪个是最新的,但核心 LaTeX 内容呢?有没有一个何时使用各种版本命令的列表?或者更好的是,一个一般的经验法则,这样我就可以知道我是否应该学习一种新的方式来做事?
答案1
$...$
在 LaTeX 手册中被提及为 的“简写”\(...\)
。我们知道事实并非如此,但手册并没有详细介绍 TeX 编程,因此对于手册的目的而言,这是一个很好的近似事实,手册建议$...$
建议很短公式,推荐\(...\)
更长的公式。\it
和等命令\bf
已正式宣布过时。因此不应使用它们。故事结束。$$...$$
在手册中没有提及,并且我们知道由于各种原因在 LaTeX 中使用它是错误的。有几个命令有“双重”形式,但事实并非如此。两者之间有明显的区别
Your {\itshape hovercraft} is full of eels
和
Your \textit{hovercraft} is full of eels
但这并不意味着
\itshape
不应该使用。它更好的地方是在环境的定义中,比如\newenvironment{iquote}{\begin{quote}\itshape}{\end{quote}}
定义
iquote
以斜体显示引号的环境。\textit
此处使用是错误的。有一些成对的:
\raggedright
和flushleft
、\raggedleft
和flushright
和。这类似于上面讨论的字体开关和字体命令之间的区别。'开关'形式,比如说,更适合用于定义环境,因为也会\centering
在居中文本的上方和下方留出一些空间;和也是一样。请注意,这里的所有开关都需要在末尾有一个明确的段落终止符,无论是由还是由提供它的命令给出,例如。因此,如果您需要不规则的右引号,您可以定义center
\centering
center
flushleft
flushright
\par
\end{...}
\end{quote}
\newenvironment{rquote}{\begin{quote}\raggedright}{\end{quote}}
\[...\]
相当于\begin{displaymath}...\end{displaymath}
但是非常与 不同,因为后者也在等式中添加了一个数字。定义环境的\begin{equation}...\end{equation}
原因是:将等式从改为(或反过来)比从改为更容易。amsmath
equation*
equation
equation*
equation
displaymath
在 LaTeX 文档中发现的一些结构实际上是外来的。例如
\centerline
,,\llap
。\hbox
精明的(或有男子气概的)LaTeX 程序员可以从中受益,但最好坚持使用 LaTeX 的相应命令\makebox[\columnwidth]{...} \makebox[0pt][r]{...} \mbox{...}
在 LaTeX 文档中,保留较低级别的命令用于包,并在需要时使用它们知道他们所做的事情并不直观。
举个例子。就在几个小时前,我回答了一个问题,这个问题源于一个用户在网上发现的一个宏的奇怪行为。建议的代码使用了神秘的参数,例如\hoffset
;我建议的代码使用了正常的 LaTeX 命令,除了 、\bgroup
和\egroup
(\dimexpr
这些命令始终存在于 LaTeX 程序员的工具箱中)。非工作代码和工作代码之间的区别在于;-)
。
答案2
答案是“你不需要”,但不幸的是,该网站不允许简短而切中要点的回答,因此需要一个更具讨论性的答案……
例如:
$x^2$
vs\(^2\)
;据我了解,第二个示例是更现代的版本,应在可能时使用。
其实并不是更现代;\(
从一开始就使用 LaTeX,虽然$
是 TeX 原语,所以在某种意义上更老。\(
旨在提供更好的错误诊断,因为系统可以判断\(zzz\(
不匹配,而如果你错过了一些$
东西,就会与预期的数学不符,开始变得接近数学,你会得到奇怪的错误。不幸的是,的标准定义\(
是脆弱的,而它$
是强大的,所以如果你使用它,比如说\caption
你会得到非常奇怪的错误。所以这是一个错误检测机制的例子,它产生的错误比检测到的错误还多。这个fixltx2e
包很\(
强大,但如果人们知道足够多的方法来使用这个包,他们就不会犯那么多简单的数学模式分隔符错误了……
其他示例:
\it
与更现代的\itshape
和我实际上应该使用的相比\textit{}
在那里你不一定有选择,\it
只是没有在 LaTeX2e 格式中定义。article
而其他一些类定义
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
所以你可以假装又回到了 1980 年代
我已经听过足够多关于这些的提及,我想我知道我应该使用哪一个;然而,也有像
\begin{center}
vs\centering
它们的作用不同:内部\begin{center}
用于\centering
居中,但它也是一个乳胶显示环境(列表),因此用垂直空间设置内容。所以这取决于你是只想将某些东西居中还是想制作居中显示。
答案3
简而言之:
例如:$x^2$ vs (^2);据我了解,第二个例子是更现代的版本,应在可能的情况下使用。
不太好。第一种更安全。但在 的情况下,\[ \]
第$$ $$
一种是更好的选择。
其他示例:\it 与更现代的 \itshape 以及我实际上应该使用的 \textit{}
\textit
还进行了适当的斜体修正。
我已经听过足够多关于这些的提及,我想我知道我应该使用哪一个;然而,还有诸如 \begin{center} 与 \centering
\begin{center}
增加了额外的垂直间距,\centering
- 不是。
答案4
对于此类问题,您可以参考“LATEX2ε 使用基本指南” 讨论了过时的命令和软件包。其他语言的版本也可以在加拿大运输安全局。