请考虑以下文件:
\documentclass{article}
\newcommand{\ineq}[2][$0$]{#2<#1}
\[\ineq x\]
\end{document}
如果我编译它,我会收到一条错误消息,因为当在一对中使用美元符号时,这是可以预料到的\[…\]
。该命令的正确定义\ineq
应该是
\newcommand{\ineq}[2][0]{#2<#1}
然而,如果我编译这个文件:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\abc}[3][$0$]{\begin{cases}
#2& \text{ if } x \neq #1\\
#3&\text{ if } x= #1
\end{cases}}
\begin{document}
\[\abc ab\]
\end{document}
然后我就不会收到任何错误消息,并且一切工作正常,就像我输入的是[0]
而不是 一样[$0$]
。为什么会这样?