パッケージを使用して歌集を作成しました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}