Un altro problema collegato a questo.
Posso scrivere una cosa del genere, che naturalmente non funziona?
`\let\chapter*\chapter`
Cioè \chapter* deve essere identico a \chapter.Ho provato anche a scrivere
`\let\chapterns\chapter
\renewcommand\chapter{\@ifstar\chapterns\chapterns}`
Ma naturalmente non va.In pratica voglio distruggere la versione asteriscata ridefinendola uguale a quella non asteriscata.
Ho provato anche con \let…\@gobble e \empty e a ridefinire ma nulla da fare.
Non è come con gli “ambienti asteriscati”. Essenzialmente, un comando \pippo che ammette la variante * è definito come
`\newcommand\pippo{\@ifstar\pippostar\pipponostar}`
Nel caso di \chapter è un po’ diverso, nel senso che il controllo viene passato alla macro \secdef; se dai \show\chapter, avrai in risposta
`> \chapter=\long macro:
->
\secdef \@chapter \@schapter .`
Se adesso chiedi \show\secdef avrai
` \secdef=macro:
#1#2->\@ifstar {#2}{\@dblarg {#1}}.`
Quindi capisci che \secdef usa il primo argomento se non si trova subito dopo un *, altrimenti il secondo. Il tuo scopo si ottiene scrivendo
`\let\@schapter\@chapter`
Ciao
Enrico