Re: Definizione comando e comando asteriscato

#18886
Up
0
Down
::

Vorrei creare un comando \cmd con questo comportamento.

Se chiamo \cmd esso mi deve dare a mentre se chiamo \cmd* mi deve dare b.

Lo potrei fare con il costrutto \if\case e scrivere \cmd[0] o \cmd[1]; ma io voglio sapere se e come farlo con l’asterisco.

`\newcommand\cmd{\@ifstar\@cmds\@cmd}
\newcommand\@cmds{b}
\newcommand\@cmd{a}`
Gli eventuali argomenti devono essere nella definizione di \@cmds e \@cmd. Si può adottare una definizione abbreviata se non ci sono argomenti:
`\newcommand{\cmd}{\@ifstar{b}{a}}`
Trovi parecchi esempi in latex.ltx; tutto va fra \makeatletter e \makeatother: tu lo sapevi di certo, altri magari si troverebbero in ambasce provando. 🙂

Ciao
Enrico

Go to top