Ho provato a creare l’indice analitico seguendo l’Arte di scrivere con LaTeX. Ho creato un file classic.ist
`headings_flag 1
heading_prefix “\\goodbreak\\textbf{”
heading_suffix “}\\par\\nobreak\\vskip\\smallskipamount\\nobreak”
symhead_positive “Simboli”
symhead_negative “simboli”
numhead_positive “Numeri”
numhead_negative “numeri”`quindi ho ottenuto questo indice analitico: screen.
Ho provato poi a restringere le colonne, perché così mi sembrano sempre un po’ troppo larghe, quindi ho ridefinito l’ambiente theindex così
`\let\orgtheindex\theindex
\let\orgendtheindex\endtheindex
\def\theindex{%
\def\twocolumn{\begin{multicols}{2}}%
\def\onecolumn{}%
\clearpage
\orgtheindex
}
\def\endtheindex{%
\end{multicols}%
\orgendtheindex
}`e ho messo \printindex fra \begin{multicols} e \end{multicols}. In questo modo, quando vado a compilare, ottento l’errore Missing number, treated as zero. Ho provato a mettere dopo \begin{multicols} {0}, {1}, {2}, {-1}, ma il risultato che ottengo è sempre questo.
Mi potreste dire come posso risolvere?
Scrivendo semplicemente \printindex. Otterrai l’indice in due colonne; il vantaggio rispetto alla definizione usuale è che le ultime colonne vengono bilanciate. Se vuoi tre colonne, sostituisci {2} (nell’unico posto in cui compare) con {3}.
Ciao
Enrico