为什么看似相似的任务却使用不同的命令?

为什么看似相似的任务却使用不同的命令?

看一下下面的列表:

  • \textit,,,,,\it\emph\itshape\mathit
  • \textbf,,,,\bf\bfseries\mathbf
  • ...

例如,有人可能会说:

  • \mathbf\mathit适用于数学模式,其他适用于正常模式。

或者

  • \bf\it适用于普通 TeX 且已过时,而其他适用于 LaTeX。

然而,我真正的问题是:为什么需要重新定义命令?普通模式命令不能转移到数学模式吗?普通 TeX 命令不能转移到 LaTeX 吗?

PS:也许还有其他我不知道的区别。请在您的回答中提及它们。

答案1

  • \bf\it加载单一字体,它们不会嵌套;书写\bf\it不会给你粗体斜体。

  • \bfseries\itshape在 LaTeX 中选择字体轴。例如,您可以一起使用它们来选择粗体斜体。

  • \textbf\textit是上面的命令形式,并添加了自动插入斜体更正的功能。

  • \emph是给予的语义命令强调到文本。 (LaTeX 缺少与 HTML 的 类似的功能<strong>。)这就是为什么不推荐将\bf\it作为字体切换的名称,以及为什么 LaTeX 形式输入起来更长的原因——因为它们不是语义的,它们在文本中缺乏意义;它们只说“选择一种字体”,但这是为了增加意义还是仅仅为了装饰,则不得而知。

  • \mathbf\mathit加载用于数学的字体,这些字体可能\textbf与和所用的字体相同,\textit但不一定。请注意,组合字体形状在数学中没有多大意义,因此像\bf\it这些命令不会正交作用:一个会抵消另一个。

答案2

\mathit{}和之间的另外两个区别\textit{}是:

  1. \textit{}在数学和常规环境中都允许,但\mathit{}只在数学环境中允许;

  2. 即使命令\textit被数学环境包裹,它也提供常规环境。因此:$\textit{text1^{text2}}$给出错误,但$\mathit{text1^{text2}}$有效。此外,的输出$\textit{a b}$包含 a 和 b 之间的空格,但的输出$\mathit{a b}$不包含。

相关内容