Re: ClassicThesis e \lstlistoflistings

#28483
Up
0
Down
::

Direi che André ha gettato la spugna un po’ troppo presto:
`\newlistof{listings}{lol}{\lstlistlistingname}
\renewcommand{\cftlistingspresnum}{\scshape\MakeTextLowercase}%
\renewcommand{\cftlistingsfont}{\normalfont}%
\renewcommand{\cftlistingspagefont}{\normalfont}%
\renewcommand{\cftlistingsleader}{\hspace{1.5em}}%
\renewcommand{\cftlistingsafterpnum}{\cftparfillskip}%
\let\l@lstlisting\l@listings
\let\lstlistoflistings\listoflistings`
I valori che ho dato ai comandi di tocloft relativi a questo tipo di indice sono presi da ClassicThesis e non sono sicuro che facciano ciò che si intende. Ma l’idea è quella.

Puoi usare \lstlistoflistings o \listoflistings a piacere per produrre l’indice.

Visto che il trucco l’ho trovato? 🙂 Naturalmente va messo quando sono caricati sia listings che tocloft.

Funziona egregiamente! 😉 Alè! 😀

In realtà si sprecano un paio di contatori, ma poco male. Si può evitarlo sostituendo la prima riga con
`\begingroup
\let\newcounter\@gobble\let\setcounter\@gobbletwo
\globaldefs=\@ne \let\c@loldepth\@ne
\newlistof{listings}{lol}{\lstlistlistingname}
\endgroup`
Il comando \newlistof{listings}{lol}{\lstlistlistingname} infatti definisce con \newcounter due contatori: \newcounter{listings}, \newcounter{loldepth}, poi dà \setcounter{listings}{0} e \setcounter{loldepth}{1}. In quel modo disabilito temporaneamente i comandi \newcounter e \setcounter. Con \globaldefs=1 mi assicuro che tutte le definizioni che vengono date dal comando \newlistof siano valide anche fuori dal gruppo in cui ho disabilitato quei due comandi. ❗ Alla fine del gruppo \globaldefs ritorna al valore precedente. ❗ Mi occorre solo dare il valore corretto a \c@loldepth che è l’analogo del contatore tocdepth, qui è del tutto inutile.

Per avere i listati numerati globalmente (come mi pare sia lo stile per figure e tabelle), sai di sicuro come si fa:
`\lstset{numberbychapter=false}`
nel preambolo.

Puoi comunicarlo a Miede, purché citi la paternità. 8) Immagino che tu abbia capito perché ci sono arrivato. 😉

Ciao
Enrico

Go to top