Re: makeindex e lettere accentate

#59262
franen
Partecipante
    Up
    0
    Down
    ::


    Buongiorno.
    Ho fatto delle prove. La modifica funziona perfettamente con un testo standard.
    Il file .idx risulta:`\indexentry{casa}{1}
    \indexentry{e bello@è bello}{2}`
    Se la introduco invece nel mio documento ho un problema:
    Il file .idx risulta così:
    `\indexentry{Alleluia Passeranno i cieli@\songtitle }{2}
    \indexentry{E santo@\songtitle }{2}`
    Cioè lui legge la macro \songtitle perché riesce a “trasformare” le lettere accentate in non accentate, però dopo l’@ non scrive il testo giusto. Inoltre “lavora” anche le parole non accentate.
    Il file .ind risulta quindi così:`\begin{theindex}
    \item \songtitle , 2
    \indexspace
    \item \songtitle , 2
    \end{theindex}` e l’indice alla fine ha solo dei numeri di pagina, senza nulla prima.
    Se serve posso riportare il pezzo di codice che modifico, anche se da solo dice poco.`\newcommand\SB@@@beginsong{%
    \global\SB@stanzafalse%
    \setbox\SB@chorusbox\box\voidb@x%
    \SB@gotchorusfalse%
    \setbox\SB@songbox\vbox\bgroup\begingroup%
    \ifnum\SB@numcols>\z@\hsize\SB@colwidth\fi%
    \leftskip\z@skip\rightskip\z@skip%
    \parfillskip\@flushglue\parskip\z@skip%
    \SB@raggedright%
    \global\SB@transposefactor\z@%
    \global\SB@cr@{\\}%
    \protected@edef\@currentlabel{\p@songnum\thesongnum}%
    \setcounter{versenum}{1}%
    \SB@prevversetrue%
    \meter44%
    \resettitles%
    \SB@addtoindexes\songtitle\SB@rawrefs\songauthors%
    \noaccentindex{\songtitle} %MODIFICATO
    \nexttitle%
    \foreachtitle{\expandafter\SB@addtotitles\expandafter{\songtitle}}%
    \resettitles%
    \lyricfont%
    \SB@setbaselineskip%
    }`
    Ci studio su un po’.
    Grazie!
    Francesco

    EDIT: modificando la riga:`\expandafter\index\expandafter{\next @\detokenize{#1}}% ` in `\expandafter\index\expandafter{\next @#1}% ` tutto funziona.
    Il file .idx risulta:
    `\indexentry{Alleluia Passeranno i cieli@Alleluia Passeranno i cieli}{2}
    \indexentry{E santo@\IeC {\`E} santo}{2}` quindi non lavora ancora perfettamente.
    Possono esserci problemi?

    Go to top