Re: evitare che makeidx “condensi” l’indice analitico

#6291
Up
0
Down
::

Quanto alle ripetizioni nell’indice analitico:
8–

E con questo ne ho da studiare per un pò 😮

Ti ringrazio molto per la pazienza, magari quando ho trovato la soluzione ottimale posto il risultato.

Non c’è molto da studiare. La parte fondamentale è`\def\sectionlabel#1{\label{#1}%
\def\currentlabel{#1}%
\expandafter\edef\csname richindex#1\endcsname##1{##1~(\ref{\currentlabel})}}
`A parte i trucchi magici, guarda dove c’è scritto`{##1~(\ref{\currentlabel})}`Qui ho messo come uscirà l’indice: numero di pagina (##1), uno spazio (senza a capo) e, fra parentesi, il numero di sezione (\ref{\currentlabel}). Nota che \currentlabel non è un comando standard, così come \sectionlabel. Infatti \currentlabel produce l’ultima etichetta introdotta con il comando \sectionlabel. Lì puoi sbizzarrirti e decidere il formato come ti pare. Vuoi le parentesi quadre e il numero in nero? Attento al \noexpand (non è una bestia pericolosa, ma va trattata con cautela :D).
`{##1~[\noexpand\textbf{\ref{\currentlabel}}]}`
Con una opportuna ridefinizione di “theindex” puoi anche indicare che formato stai usando
`\makeatletter
\renewenvironment{theindex}
{\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\twocolumn[\section*{\indexname}%
\myexplanation]%
\@mkboth{\MakeUppercase\indexname}%
{\MakeUppercase\indexname}%
\thispagestyle{plain}\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\columnseprule \z@
\columnsep 35\p@
\let\item\@idxitem}
{\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand{\myexplanation}{{\small Per ogni elemento dell'indice \`e
indicato il numero di pagina in cui compare e, tra parentesi,
il numero di sezione\par}\bigskip}
\makeatother`Ovviamente in \myexplanation puoi mettere quello che ti pare.

E, suvvia, “pò” è come “stò”: un errore. 😉

Ciao
Enrico

Go to top