Creé un cancionero usando el songbook
paquete. Como se indica en el manual, agregué un \makeTitleIndex
comando al preámbulo de mi cancionero. Crea un .tIdx
archivo que contiene títulos y números de canciones. Sin embargo, necesito los números de página.
¿Hay alguna forma de configurar \makeTitleIndex
la salida de números de página (aunque sea un comando sin parámetros)? Si no, ¿qué alternativas tengo? Me gustaría usarlo makeindex
para convertir .tIdx
a .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 song
entorno 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 \xpatchcmd
cambiar \theSBSongCnt
a \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}