- Questo topic ha 5 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 21 anni, 3 mesi fa da .
-
Topic
-
Voglio mettere che gli autori citati nel testo vadano in automatico nell’indice analitico e, utilizzando NatBib, ho inserito come da manuale il comando \citeindextrue nel preambolo. Tutto funziona per il meglio se non fosse che tutti gli autori vengono messi sotto la voce symbols dell’indice analitico e non insieme alle altre parole in ordine alfabetico. Mi sono insospettito e sono dunque andato ad aprire il mio file .idx scoprendo che NatBib genera le voci dell’indice in modo sbagliato; ad esempio se l’autore è Neuber si ottiene\indexentry{{Neuber}\ (1968)|hyperpage}{1}
invece del corretto
\indexentry{Neuber\ (1968)|hyperpage}{1}
La presenza della parentesi graffa prima del nome fa sì che la voce finisca tra i symbols e non alla lettera N come invece vorrei.
Per risolvere il problema credo che si debba intervenire direttamentente sui comandi di NatBib che generano le voci del .idx; sulla guida si dice che le modifiche possono essere messe in un file natbib.cfg senza dover modificare il .sty originale.
Quello che chiedo adesso è: cosa devo modificare per far sparire la doppia parentesi?
Riporto di seguito i comandi che, a quanto ho capito, dovrebbero generare le voci del .idx.
`\newcommand\NAT@index{}
\let\NAT@makeindex=\makeindex
\renewcommand\makeindex{\NAT@makeindex
\renewcommand\NAT@index{\@bsphack\begingroup
\def~{\string~}\@wrindex{\NAT@idxtxt}}}
\newcommand\NAT@idxtxt{\NAT@name\ \NAT@open\NAT@date\NAT@close}
\@ifundefined{@indexfile}{}{\let\NAT@makeindex\relax\makeindex}
\newif\ifciteindex \citeindexfalse
\newcommand\citeindextype{default}
\newcommand\NAT@index@alt{{\let\protect=\noexpand\let~\relax
\xdef\NAT@temp{\NAT@idxtxt}}\expandafter\NAT@exp\NAT@temp\@nil}
\newcommand\NAT@exp{}
\def\NAT@exp#1\@nil{\index[\citeindextype]{#1}}`
- Devi essere connesso per rispondere a questo topic.