歌集 \makeTitleIndex: ページ番号と歌番号

歌集 \makeTitleIndex: ページ番号と歌番号

パッケージを使用して歌集を作成しましたsongbook。マニュアルに記載されているように\makeTitleIndex、歌集の序文にコマンドを追加しました。これにより、.tIdx歌のタイトルと歌番号を含むファイルが作成されます。ただし、代わりにページ番号が必要です。

ページ番号を出力するように設定する方法はありますか\makeTitleIndex(パラメータなしのコマンドであっても)? そうでない場合、代替手段はありますか?を にmakeindex変換するために使用したいと思います。.tIdx.tdx

以下に例を示します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}

一度コンパイルします。次に以下を実行します。

makeindex -o songbook.tdx songbook.tIdx

再度コンパイルします。PDF の末尾の索引には曲番号 (ページ番号ではありません) が表示されることに注意してください。

答え1

このsong環境は、\titleIndex{\theSongTitle}{\theSBSongCnt}曲のタイトルと曲のカウンター値を使用してインデックス エントリを作成するために使用されます。

これを でパッチしてに\xpatchcmd変更することができます。\theSBSongCnt\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}

ここに画像の説明を入力してください

関連情報