Re: comando speciale che si ridefinisce per l’indice analitico

#12252
Up
0
Down
::

Mi inserisco nella discussione, non riesco a capire la logica del comando, Prof potresti per favore chiarire come è stato definito?

`\makeatletter
\newcommand{\defspecialword}[1]{%
\expandafter\gdef\csname sp@word#1\endcsname{%
\textbf{#1}\index{#1}%
\expandafter\gdef\csname sp@word#1\endcsname{\textit{#1}\index{#1}}}}

\newcommand{\spword}[1]{\@nameuse{sp@word#1}}
\makeatother`
Quando scrivo \defspecialword{parola}, viene definito il comando
`\sp@wordparola`
che ha il seguente effetto: la prima volta che viene usato scrive “parola” in neretto e inserisce un richiamo a “parola” per l’indice analitico; inoltre questo comando ridefinisce sé stesso cosicché, le volte successive che verrà usato, scriverà “parola” in corsivo e inserirà il richiamo a “parola” per l’indice analitico.

Il comando \sp@wordparola non va usato direttamente, ma tramite \spword{parola}.

Per definire \sp@wordparola, uso il trucco di \csname…\endcsname; un modo più LaTeX sarebbe stato di scrivere, invece di \expandafter\gdef\csname sp@word#1\endcsname,
`\global\@namedef{sp@word#1}`
Ciao
Enrico

Go to top