Re: Ridefinire comando con parametri usando il comando stesso

#27994
Up
0
Down
::

Sì, ho sbagliato tutto… non sono stato capace di capire il file book.cls 😥

In effetti la prima riga è praticamente inutile però dovrebbe controllare se il comando \orig@schapter esiste già. (Lo consigli anche tu negli “Appunti di programmazione in LaTeX e TeX” a cavallo tra la pagina 15 e la pagina 16. Volevo fare il preciso!)

Credo che userò la seguente ridefinizione nella mia classe, a meno che ci sia un motivo particolare per usare \def al posto di \renewcommand.
`
\newcommand{\orig@schapter}[1]{}
\let\orig@schapter\@schapter
\renewcommand{\@schapter}[1]{\orig@schapter{#1}\markboth{#1}{#1}}
`

Non è certo sbagliato eseguire quel controllo, ma in quel modo è particolarmente inefficiente e basta \newcommand{\orig@schapter}{}; un comando con argomento opzionale ne definisce in realtà due (o forse tre).

L’uso di \def è per velocizzare la faccenda, quando si sa che il comando non è definito oppure ne stiamo scientemente ridefinendo uno.

Ciao
Enrico

Go to top