Cancionero \makeTitleIndex: número de página frente a número de canción

Cancionero \makeTitleIndex: número de página frente a número de canción

Creé un cancionero usando el songbookpaquete. Como se indica en el manual, agregué un \makeTitleIndexcomando al preámbulo de mi cancionero. Crea un .tIdxarchivo que contiene títulos y números de canciones. Sin embargo, necesito los números de página.

¿Hay alguna forma de configurar \makeTitleIndexla salida de números de página (aunque sea un comando sin parámetros)? Si no, ¿qué alternativas tengo? Me gustaría usarlo makeindexpara convertir .tIdxa .tdx.

Aquí un ejemplo: songbook.tex:

\documentclass[a4paper,10pt]{book}
\usepackage[ngerman]{babel}
\usepackage[chordbk]{songbook}

\begin{document}

    \makeTitleIndex

    \begin{song}{Song 1}{}{~}{}{}{} 
        song1
        \newpage
        song1 continued
    \end{song}


    \begin{song}{Song 2}{}{~}{}{}{}
        song2
    \end{song}

    \begin{song}{Song 3}{}{~}{}{}{}
        song3
    \end{song}

    \input{songbook.tdx}

\end{document}

Compile una vez. Entonces corre:

makeindex -o songbook.tdx songbook.tIdx

Compile de nuevo. Tenga en cuenta que el índice al final del PDF muestra los números de canciones (no los números de página).

Respuesta1

El songentorno utiliza \titleIndex{\theSongTitle}{\theSBSongCnt}para crear la entrada del índice con el título de la canción y el valor del contador de la canción.

Esto se puede parchear para \xpatchcmdcambiar \theSBSongCnta \thepage.

\documentclass[a4paper,10pt]{book}
\usepackage[ngerman]{babel}
\usepackage[chordbk]{songbook}
\usepackage{xpatch}

\xpatchcmd{\song}{%
  \titleIndex{\theSongTitle}{\theSBSongCnt}   %
}{%
  \titleIndex{\theSongTitle}{\thepage}   %
}{}{}


\begin{document}

    \makeTitleIndex

    \begin{song}{Song Foo}{}{~}{}{}{} 
        song1
        \newpage
        song1 continued
    \end{song}


    \begin{song}{Song Foobar}{}{~}{}{}{}
        song2
    \end{song}

    \begin{song}{Song Other Foobar}{}{~}{}{}{}
        song3
    \end{song}

    \input{songbook.tdx}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada