Re: index — ridefinire un comando semplificato

#33325
Up
0
Down
::

Cari utilizzatori LaTeX,

sto scrivendo la tesi e pensavo di inserire l’indice analitico. E` da parecchio che ci penso, probabilmente non e` un tema nuovo ma mi risulta scomodo dover scrivere prima il testo che apparira` nella tesi e poi il testo per l’indice. Ovviamente questo permette maggiore flessibilita` ma secondo me e` scomodo.

Cosa ne pensate di una soluzione del tipo:
`\newcommand{\toindex}[1]{\emph{#1}\index{#1}}`
in questo modo il testo che e` nell’index e` enfatizzato semplificando la ricerca nella pagina, ovviamente con questo comando semplice si perde la possibilita` di avere sotto voci nell’index.

e` una cosa furba o stupida?
grazie per la vostra opinione

Ci sono vari difetti in una definizione del genere. Il primo è che non tutte le voci che vuoi indicizzare andranno in corsivo nel testo. Il secondo è un filo più esoterico e riguarda i codici di categoria: se non hai caratteri speciali nelle tuo voci da indicizzare non dovrebbe darti problemi.

Il difetto principale si risolve togliendo \emph dalla definizione: con
`\newcommand{\toindex}[1]{#1\index{#1}}`
puoi tranquillamente scrivere \emph{\toindex{Pippo}}, se desideri che il termine sia in corsivo.

Per quanto riguarda la possibilità di inserire voci secondarie nell’indice, occorre qualche smanettamento in più. Puoi definire \toindex con un argomento opzionale:
`\makeatletter
\newif\ifproofingindex
\proofingindextrue
\ifproofingindex
\let\@emphindex\underline
\else
\let\@emphindex\@firstofone
\fi
\newcommand{\toindex}[2][]{%
\@emphindex{#2}%
\def\@temp{#1}%
\ifx\@temp\@empty % voce principale
\index{#2}%
\else % voce secondaria
\index{#1!#2}%
\fi}
\makeatother`
Per una voce principale userai \toindex{pippo}, per una voce secondaria \toindex[topolino]{pluto}

Qual è lo scopo di quelle misteriose righe che cominciano da \newif fino \fi? Semplice: se non commenti la riga \proofingindextrue, le voci che indicizzi saranno sottolineate, in modo da poterle riconoscere durante la stesura del testo. Al momento di stampare la versione definitiva puoi commentare \proofingindextrue e le sottolineature spariranno.

Ciao
Enrico

Go to top