我想使用以下命令(为了简化书写):
\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
为其自己的目的重新定义这两个命令(但仅限于环境内部)。