我通常使用
\textit{Some italicized text}
我的一些同事使用
{\it Some other text}
我是否应该费心改变其中一个,或者这有关系吗?
有关的:
答案1
从禁忌:
为什么不使用过时的命令?过时的命令不支持 LaTeX2e 的新字体选择方案或 NFSS。
{\bf foo}
例如,在打印之前重置所有先前设置的字体属性富粗体。这就是为什么您不能简单地通过{\it \bf Test}
以下方式定义粗体斜体样式。(此定义将产生:测试)另一方面,新命令\textbf{\textit{Test}}
将按预期运行,产生:测试。除此之外,对于前面的命令,没有“斜体校正”,例如从 halfhearted (
{\it half}hearted
) 到 halfhearted (\textit{half}hearted
)。
答案2
嗯,我刚刚把这个作为另一个问题的答案发布出来,但就在我发布的时候,那个问题被关闭了——这里有一个推荐。所以我在这里说说我的看法...
我不喜欢\it
and 的原因\bf
是它们不能很好地协同工作。也就是说,它们不能像人们直观预期的那样嵌套:
而\textit
和确实\textbf
可以很好地协同工作:
这很好。但是,您可能会注意到,它仍然无法处理对小型大写字母的嵌套样式调整,因为 Computer Modern 字体不包含倾斜或粗体小型大写字母:
如果这对您来说是个问题,那么我推荐的——我昨天刚好也了解到了这一点——是将这个奇妙的slantsc
包与lmodern
包结合使用。包 slantsc
提供了\rmfamily
(罗马字体)、\ttfamily
(打字机/电传打字机字体)、\sffamily
(无衬线字体)、\bfseries
(粗体字体)、\itshape
(斜体字体)、\slshape
(倾斜/倾斜)和\scshape
(小型大写字母)。有了这些,就可以获得倾斜形式的小型大写字母:
作为奖励,slantsc
已修复\textsl
以便正常运行\textsc
,因此您可以继续使用它们(如果您愿意)。
唉,我还没有找到一个可以修复嵌套实例行为的包\textit
。在排版中,当你嵌套斜体时,你应该回来斜体转换为罗马体。例如,下面的单词“Titanic”采用嵌套斜体:
田中,雪莉。在船上泰坦尼克号:大客轮沉没时是什么样子纽约:Hyperion/Madison Press,1998 年。
作为一种解决方法,您通常可以写入\textrm
以在这些情况下暂时返回非斜体,但当然这只有在您知道嵌套斜体级别的确切数量时才有效,而情况可能并非总是如此,尤其是在宏中。
更新:
正如其他人指出的那样,\textit
和\textsl
会自动进行斜体校正,而\it
、\itshape
、\sl
和 则\slshape
不会。因此,您可以写\textit{stuff}
,但必须写{\it stuff\/}
或{\itshape stuff\/}
才能获得相同的效果。
答案3
该\it
语法继承自 LaTeX 2.09,在 LaTeX2e 中被视为仅因“历史原因”而受支持。对于粗体,您应该使用 而\textbf
不是\bf
。对于斜体,您通常使用\emph
而不是\textit
,因为它是语义标记,并且它会自动处理斜体校正。
答案4
关于已弃用的“旧字体命令”,我发现它们对于方程式非常有用。
假设我想将外部势能的符号写为$V_{ext}$
。但是,通常习惯使用直立字符来表示下标和上标,它们是标签而不是变量,可以写成
V_{\mathrm{ext}} or
V_{\rm ext}
我强烈更喜欢后者,因为较低的字符数和嵌套级别使阅读和编辑更容易。尽管在某些情况下优势会减弱,例如使用向量分量符号
f_{\mathrm{ext},i} vs
f_{{\rm ext},i} or
f_{\rm ext\it,i} % <- not tested
一些现代文档类不再提供旧式命令。在这种情况下,可以使用 重新引入它们\DeclareOldFontCommand
,例如\DeclareOldFontCommand 和 \DeclareRobustCommand 到底起什么作用?。