我定义了一个新命令,
\newcommand{\Test}[1][p]{\ensuremath{n_{\mathrm{dof}}^{\mathrm{Q#1}} }}
带有一个可选参数,该参数为 1 或 0。如果我调用时\Test
不带参数,则会得到所需的输出,即正确的下标 Qp。但是,调用\Test{2}
会给出下标 Qp,并且参数 2 位于其他位置。我的直觉是在调用时检索 Q2 \Test{2}
。如有必要,我可以添加图片,但我希望我所指的内容清晰易懂。
是不是我遇到的有什么不正确的地方?
答案1
您误解了可选参数的语法:它们由正方形括号。当你写1)
\newcommand{\Test}[1][p]{n_{\mathrm{dof}}^{\mathrm{Q#1}}}
然后\Test
扫描后面是否有方括号。您的宏应该被用作\Test
(然后您将得到Qp
上标)或\Test[2]
。
\documentclass{article}
\newcommand{\Test}[1][p]{n_{\mathrm{dof}}^{\mathrm{Q#1}}}
\begin{document}
$\Test$, $\Test{2}$, $\Test[2]$
\end{document}
1)\ensuremath
除非我的生命取决于它,否则我不会使用它;即使在这种情况下,我也会思考我的生命是否足够宝贵......