Re: Modificare ClassicThesis con il pacchetto ArsClassica

#25876
Up
0
Down
::

Ciao a tutti.

La programazione è una cosa seria: i casi da considerare sono tanti, e scrivere codice che vada bene nelle situazione più svariate non è semplice… almeno per me! 😉

Purtroppo, il pacchetto ArsClassica dà problemi con il comando \tableofcontents e la classe scrartcl:
`\documentclass[headinclude,footinclude]{scrartcl}

\usepackage[nochapters]{classicthesis-ldpkg}
\usepackage[nochapters]{classicthesis}
\usepackage[italian]{babel}
%\usepackage[italian]{arsclassica}
\usepackage{lipsum}

\begin{document}

\refstepcounter{dummy}
\tableofcontents

\section{Foo}
\lipsum

\section{Bar}
\lipsum
\end{document}`
Compilare due volte per credere… 😥

La cosa strana è che il pacchetto funziona benissimo con la classe scrreprt, e produce indici (e miniindici) senza problemi.

Qualcuno ha voglia di spulciare il codice del pacchetto e di cercare una soluzione?

Il problema non è così peregrino come può sembrare: avrei in animo di scrivere una serie di articoli con quello stile, per poi (nel medio periodo) unirli all’”Arte” in una guida più “enciclopedica”…

http://www.lorenzopantieri.net/LaTeX.html

Non dubito che la classe dia problemi; faccio ovviamente riferimento alla versione scaricabile dal tuo sito. Ci sono alcuni condizionali con il nome sbagliato (manca la @ iniziale):

eulerchapternumbers -> @eulerchapternumbers
minionprospacing -> @minionprospacing
pdfspacing -> @pdfspacing
parts -> @parts
linedheaders -> @linedheaders

Quelli dopo la freccia sono i nomi dichiarati in classicthesis.sty.

In un file .sty è vietatissimo scrivere \makeatletter e \makeatother: quando TeX lo legge, infatti, assume che @ sia una lettera (cioè c’è un \makeatletter implicito all’inizio e un \makeatother implicito alla fine).

L’errore finale è nelle ultime righe, dove ridefinisci \toc@heading. Infatti commentando le righe relative non ci sono problemi (almeno di compilazione, non so di forma). La cosa si spiega con il fatto che in scrartcl il comando \chapter è equivalente a \relax.

Ciao
Enrico

Go to top