Re: Modificare ClassicThesis con il pacchetto ArsClassica

#25878
Up
0
Down
::

Ciao Enrico, cominciamo dall’errore finale, che era la causa del problema. Ci ho messo una toppa con questo codice (che certo ti farà sorridere di tenerezza):
`\@ifclassloaded{scrreprt}{%
\makeatletter
\def\toc@heading{%
\chapter*{\contentsname}%
\@mkboth{\spacedlowsmallcaps{\contentsname}}
{\spacedlowsmallcaps{\contentsname}}}
\makeatother}
{\relax}

\@ifclassloaded{scrbook}{%
\makeatletter
\def\toc@heading{%
\chapter*{\contentsname}%
\@mkboth{\spacedlowsmallcaps{\contentsname}}
{\spacedlowsmallcaps{\contentsname}}}
\makeatother}
{\relax}`
Esiste un modo per dire: “se è caricata la classe scrreprt oppure la classe scrbook, allora…”?

No, non esiste. Ma puoi scrivere
`\def\toc@headingbkORrp{%
\def\toc@heading{%
\chapter*{\contentsname}%
\@mkboth{\spacedlowsmallcaps{\contentsname}}
{\spacedlowsmallcaps{\contentsname}}}}
\@ifclassloaded{scrreprt}{\toc@headingbkORrp}{}
\@ifclassloaded{scrbook}{\toc@headingbkORrp}{}`
Così, almeno, il codice identico rimane in un posto solo. Niente \makeatletter e \makeatother! Dai, fa’ vedere che hai letto con attenzione il mio messaggio! 😀

Le tue critiche al codice sono ineccepibili, naturalmente. Tuttavia l’obiettivo di ArsClassica (come credo anche quello di ClassicThesis) è quello di… funzionare (e ora ArsClassica funziona anche con la classe scrartcl), sacrificando purtroppo la precisione del codice.

Riguardo alle @ mancanti, ho provato ad aggiungerle (sostituendo per esempio eulerchapternumbers -> @eulerchapternumbers), ma se lo faccio sic et simpliciter ottengo un errore in compilazione.

E a me succede il contrario, come la mettiamo? Che Miède abbia pasticciato con le versioni di classicthesis?

Io ho la versione 2008/10/01, che alle righe 47-60 definisce i condizionali con @ davanti. Con tlmgr si possono aggiornare automaticamente i pacchetti della TeX Live (e di MacTeX, che è la stessa cosa) e quindi è possibile che la tua versione sia rimasta indietro.

Ciao
Enrico

Go to top