Ceci est une ancienne révision du document !

Optional arguments like `\section`

Optional arguments, in macros defined using \newcommand, don't quite work like the optional argument to \section. The default value of \sections optional argument is the value of the mandatory argument, but \newcommand requires that you “know” the value of the default beforehand.

The requisite trick is to use a macro in the optional argument:

  optional arg: #1,  mandatory arg: #2%
\thing{manda}% #1=#2
\thing[opti]{manda}% #1="opti"

LaTeX itself has a trickier (but less readily understandable) method, using a macro \@dblarg; inside LaTeX, the example above would have been programmed:

  optional arg: #1,  mandatory arg: #2%

In that code, \@thing is only ever called with an optional and a mandatory argument; if the default from the \newcommand is invoked, a bug in user code has bitten…

Source: Optional arguments like `\section`

2_programmation/macros/arguments_optionnels_comme_pour_section.1543790272.txt.gz · Dernière modification: 2018/12/02 22:37 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0