I just want to pass as an optional argument, a macro with an optional argument. If you look at the minimal exampel below, if I use [scale=1] in the optional arguement of the new macro it does not work.

Another point that I do not understand, is that I defined an optional arguments. So why does it work if I use brace instead of squarre paranthesis.


un test

% does not work

% work
  • You can also use a temporary variable: \def\tmp{\includegraphics[scale=1]{logo}} \test[\tmp] Perhaps this is functionally equivalent to David's answer. Oct 9, 2014 at 13:46

1 Answer 1


An optional argument ends at the first top level ] it does not count matching [] pairs.



You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .