命令 \> 已经定义?

命令 \> 已经定义?

我对在代码中编写\langle和感到厌倦,因此我决定为这些代码创建命令和。也就是说,我将以下内容放在标题中。\rangle\<\>

\newcommand{\<}{\langle}
\newcommand{\>}{\rangle}

这……不起作用。没关系\<,但显然\>已经定义了。这让我很感兴趣,我试图找出它的作用,如果它能做任何事情的话。但我找不到有关此命令的任何信息。

请注意,我可以通过以下方式覆盖此设置:

\renewcommand{\>}{\rangle}

但是,重新定义现有的命令感觉很脏!

因此,我的问题是,

\>做什么?它有什么作用?我重新分配它有关系吗?

(附言一下,为什么我可以\<在这里打字,但\<如果没有空格,打字就会出现 > ?)

答案1

正如评论中提到的,\<\>被用作tabbing环境语法的一部分。它们的含义是通过此环境内部定义的,\let因此 LaTeX 并不真正关心它们是否在外部定义以及如何定义。

因此,在顶层重新定义\< 和定义是可以的,甚至仍然可以使用,只要您准备在其中使用和而不是缩写,因为它们会在本地重新定义。\>tabbing\langle\rangle

那么,重新定义这些命令是否会产生适得其反的效果呢?

是的,在两种情况下可以:

  1. 如果你结合了其他作者的数学公式(出于某种原因)并且它们用于\>数学间距校正
  2. 如果你使用了一些内部使用的类或包tabbing,比如格式化标题页,然后将其中一个公式放在其中

这两种情况都不是非常现实的情况,所以实际上你应该没事。

现在为什么要\>定义?如果您查看 LaTeX 手册,则不会列出此命令,而是\:为“中等数学空间”(Lamport 第 51 页)提供此命令。然而,在纯 TeX 中,Don Knuth 使用了\>此命令。现在就“数学排版的要点”而言,LaTeX 实际上在几乎所有情况下都遵循纯文本(加上添加额外的 amstex 环境等),因此\>保持可用(除了tabbing那些习惯于 Don 惯例的人之外)。

相关内容