我只想将带有可选参数的宏作为可选参数传递。如果您查看下面的最小示例,如果我[scale=1]
在新宏的可选参数中使用,则它不起作用。
另一点我不明白的是,我定义了一个可选参数。那么为什么如果我使用大括号而不是方括号,它就会起作用。
\documentclass{minimal}
\usepackage{graphicx}
\newcommand{\test}[1][]{#1}
\begin{document}
un test
% does not work
\test[\includegraphics[scale=1]{logo}]
% work
\test[\includegraphics{logo}]
\test{\includegraphics[scale=1]{logo}}
\test{\includegraphics{logo}}
\end{document}
答案1
可选参数在第一个顶层结束,]
它不计算匹配[]
对。
使用
\test[{\includegraphics[scale=1]{logo}}]