代码

代码

请问是否有办法在其他命令中使用已定义的命令而不会产生错误? 在此处输入图片描述 代码(错误行已注释)

\documentclass{article}
\newcommand{\test}[2]{\[log_{#1}#2\]}
\begin{document}
Expected result:$\log_{(\log_{a}{b})}{c}$

%$\log_{(\test{a}{b})}{c}$
\end{document}

答案1

您需要删除宏定义中的\[and \]。否则,当宏扩展时,它会在内联数学环境中\test引入显示数学环境,从而引发错误。\[...\]$...$

代码

\documentclass{article}
\newcommand{\test}[2]{\log_{#1}#2}
\begin{document}
Expected result:$\log_{(\log_{a}{b})}{c}$

$\log_{(\test{a}{b})}{c}$
\end{document}

输出

在此处输入图片描述

相关内容