是否可以按如下方式定义简写:
\def\par#1{\frac{x_{#1}}{y^{#1}}}
在文档中我有
\par1 + \par2 + \par3
而对于\par2
和\par3
这是预期结果,对于\par1
则令人不快,\frac{x_{1}}{y^{1}}
而不是\frac{x_{1}}{y}
。我该如何克服这个问题
答案1
如果输入始终是数字,则可以使用它\unless\ifnum#1=1
作为测试:
\documentclass[]{article}
\newcommand\Bpow[1]
{%
\frac{x_{#1}}{y\unless\ifnum#1=1^{#1}\fi}
}
\begin{document}
$\Bpow{1} + \Bpow{2} + \Bpow{3}$
\end{document}
编辑:添加第二个变体,它支持分子索引的可选参数,默认为与强制参数相同的值。
\documentclass[]{article}
\makeatletter
\newcommand\Bpow[2][\Bpow@tmp]
{%
\begingroup
\def\Bpow@tmp{#2}% will only have this meaning until \endgroup
\frac{x_{#1}}{y\unless\ifnum#2=1^{#2}\fi}
\endgroup
}
\makeatother
\begin{document}
$\Bpow{1} + \Bpow[1]{2} + \Bpow{3}$
\end{document}