我对在代码中编写\langle
和感到厌倦,因此我决定为这些代码创建命令和。也就是说,我将以下内容放在标题中。\rangle
\<
\>
\newcommand{\<}{\langle}
\newcommand{\>}{\rangle}
这……不起作用。没关系\<
,但显然\>
已经定义了。这让我很感兴趣,我试图找出它的作用,如果它能做任何事情的话。但我找不到有关此命令的任何信息。
请注意,我可以通过以下方式覆盖此设置:
\renewcommand{\>}{\rangle}
但是,重新定义现有的命令感觉很脏!
因此,我的问题是,
它\>
做什么?它有什么作用?我重新分配它有关系吗?
(附言一下,为什么我可以\<
在这里打字,但\<
如果没有空格,打字就会出现 > ?)
答案1
正如评论中提到的,\<
和\>
被用作tabbing
环境语法的一部分。它们的含义是通过此环境内部定义的,\let
因此 LaTeX 并不真正关心它们是否在外部定义以及如何定义。
因此,在顶层重新定义\<
和定义是可以的,甚至仍然可以使用,只要您准备在其中使用和而不是缩写,因为它们会在本地重新定义。\>
tabbing
\langle
\rangle
那么,重新定义这些命令是否会产生适得其反的效果呢?
是的,在两种情况下可以:
- 如果你结合了其他作者的数学公式(出于某种原因)并且它们用于
\>
数学间距校正 - 如果你使用了一些内部使用的类或包
tabbing
,比如格式化标题页,然后将其中一个公式放在其中
这两种情况都不是非常现实的情况,所以实际上你应该没事。
现在为什么要\>
定义?如果您查看 LaTeX 手册,则不会列出此命令,而是\:
为“中等数学空间”(Lamport 第 51 页)提供此命令。然而,在纯 TeX 中,Don Knuth 使用了\>
此命令。现在就“数学排版的要点”而言,LaTeX 实际上在几乎所有情况下都遵循纯文本(加上添加额外的 amstex 环境等),因此\>
保持可用(除了tabbing
那些习惯于 Don 惯例的人之外)。