将命令 \> 更新为 \rangle

将命令 \> 更新为 \rangle

我想使用以下命令(为了简化书写):

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

这会有什么危险的后果吗?我知道默认情况下\>会插入\medmuskip,但我没有使用此命令。

答案1

您可能会面临这样的风险:一些晦涩难懂的包根据某些术语定义某些东西,或者自己\>定义某些东西。\<\>

快速搜索显示,其\<定义在

amsdtx.cls
amsldoc.cls
circ.sty
cjhebrew.sty
gmmeta.sty
greektonoi.sty
jlreq.cls
lhcyralt.sty
lhcyrkoi.sty
lhcyrwin.sty
pax.sty
AlProTex.sty
dev209.sty

该命令\>被重新定义为

bxcjkjatype.sty
gn-logic14.sty
greektonoi.sty
lhcyralt.sty
lhcyrkoi.sty
lhcyrwin.sty
pax.sty
AlProTex.sty
sgamevar.sty
zxjatype.sty

我不能排除其他使用不同方式定义命令的情况。

无论如何我都不会这么做,即使风险不大。最好还是这么做

\usepackage{mathtools}

\DeclarePairedDelimiters{\foo}{\langle}{\rangle}

(为你的应用程序选择一个有意义的名字)并使用

\foo{x} \foo[\big]{x} \foo[\Big]{x} \foo[\bigg]{x} \foo[\Bigg]{x} \foo*{x}

用于选择分隔符的大小(最后一个是使用 和 自动调整大小\left\right请谨慎使用)。

如果您决定使用\<\>注意,在tabbing环境中,您将必须使用\langle\rangle因为tabbing为其自己的目的重新定义这两个命令(但仅限于环境内部)。

相关内容