我在 Manjaro Linux 上,正在尝试使用 songs 包编写歌曲集。一切正常,但我无法生成歌曲索引和作者索引。此外,是否可以生成索引,以便每个条目都有一个指向生成的 pdf 文件中实际歌曲的超链接?这是我的 tex 文件的示例。提前感谢您的帮助。
\documentclass{article}
\usepackage[chorded]{songs}
\usepackage[bookmarks]{hyperref}
\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\textwidth}{6.5in}
\setlength{\topmargin}{0in}
\setlength{\topskip}{0in}
\setlength{\headheight}{0in}
\setlength{\headsep}{0in}
\setlength{\textheight}{9.1in}
\settowidth{\versenumwidth}{1.\ }
\pagestyle{empty}
\newindex{titleidx}{cbtitle}
\newauthorindex{authidx}{cbauth}
\begin{document}
\showindex{Complete Index of Songs}{titleidx}
\showindex{Index of Authors and Composers}{authidx}
\songsection{Songs}
\begin{songs}{titleidx,authidx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Songs Start %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\beginsong{Olvidarte}[by={Ricardo Arjona},
cr={Notes: Capo on the 4th fret}]
\hspace{-5mm}
\gtab{C}{032010:021034}
\gtab{G}{320003:210034}
\gtab{Am}{X02210:002310}
\gtab{F}{133211:134211}
\gtab{Em}{022000:021034}
\gtab{G*}{355433:021034}
\gtab{Em}{022100:021034}
\beginverse
Olvi\[C]darte es mas di\[G]ficil que encon\[Am]trarse al sol de \[Em]noche
que enten\[F]der a los po\[C]liticos o com\[G]prar la torre ei\[Am]ffel
mas di\[F]ficil que fu\[C]marse un habano en a\[G]merican air\[Am]lines
mas di\[F]ficil que una flor \[C]plastica mar\[G]chita
\endverse
\beginverse
olvi\[C]darte es mas di\[G]ficil que una \[Am]flaca en un bo\[Em]tero
que encon\[F]trarse a un gato \[C]verde, o a un cu\[G]bano sin sa\[Am]bor
mas di\[F]ficil que lady \[C]di en \[G]la estacion del \[Am]metro
olvi\[F]darte es tan di\[C]ficil olvi\[G]darte
\endverse
\beginchorus
Olvi\[C]darte, \[G]olvi\[Am]darte \[F]
es querer jalarle el \[Em]pelo a una bo\[Am]tella \[F]
es creer que la me\[Em]moria es un cassette para bo\[Am]rrar
olvi\[F]darte es recor\[C]dar que es impo\[G]sible
olvi\[C]darte, \[G]olvi\[Am]darte \[F]
incluso es mas di\[Em]ficil que aguan\[Am]tarte \[F]
si extraño tu neu\[Em]rosis y tus celos sin ra\[Am]zon
como \[F]no extrañar tu \[C]cuerpo en mi col\[G]cho-u- \[C]on.
\endchorus
\beginverse
Olvi\[C]darte es un in\[G]tento que no \[Am]lo deseo \[Em]tanto
por que es \[F]tanto que lo in\[C]tento que me a\[G]cuerdo mucho \[Am]mas
y he lle\[F]gado a sospe\[C]char que mi a\[G]fan de no acor\[Am]darme
es lo \[F]que me tiene en\[C]fermo de re\[G]cuerdos
olvi\[C]darte es lo que es\[G]pero para \[Am]reanudar mi \[Em]vida
harto \[F]de seguir soñan\[C]do con la \[G]posibili\[Am]dad
de que un \[F]dia por e\[C]rror, o pu\[G]ra curiosi\[Am]dad
le pre\[F]guntes a un a\[C]migo por mis \[G]huesos
\endverse
\beginchorus
Olvi\[C]darte, \[G]olvi\[Am]darte \[F]
es querer jalarle el \[Em]pelo a una bo\[Am]tella \[F]
es creer que la me\[Em]moria es un cassette para bo\[Am]rrar
olvi\[F]darte es recor\[C]dar que es impo\[G]sible
olvi\[F]darte, \[G]olvi\[Am]darte \[F]
incluso es mas di\[Em]ficil que aguan\[Am]tarte \[F]
si extraño tu neu\[Em]rosis y tus celos sin ra\[Am]zon
como \[F]no extrañar tu \[C]cuerpo en mi col\[G]cho-u- \[C]on.
\endchorus
\beginchorus
\[F] es querer jalarle el \[Em]pelo a una bo\[Am]tella \[F]
es creer que la me\[Em]moria es un cassette para bo\[Am]rrar
olvi\[F]darte es recor\[C]dar que es impo\[G]sible
olvi\[F]darte, \[G]olvi\[Am]darte \[F]
incluso es mas di\[Em]ficil que aguan\[Am]tarte \[F]
si extraño tu neu\[Em]rosis y tus celos sin ra\[Am]zon
como \[F]no extrañar tu \[C]cuerpo en mi col\[G]cho-u- \[C]on.
\endchorus
\endsong
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Songs End %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{songs}
\end{document}
答案1
生成索引需要在使用 pdflatex 编译文档后执行额外的命令,然后再次运行 pdflatex 以合并生成的索引。如果您使用的是 3.x 版本,则文档的命令为:
pdflatex mybook.tex
texlua songidx.lua cbtitle.sxd cbtitle.sbx
texlua songidx.lua cbauth.sxd cbauth.sbx
pdflatex mybook.tex
带有索引的书籍的一般构建过程可以参见软件包文档的第 10.3 节。如果您不想每次都手动输入这些命令,该软件包还以 Linux 的 GNU makefile 和 Windows 的批处理脚本的形式包含自动构建脚本。
由于您已经加载了 hyperref 包,生成的索引会将索引中的歌曲编号超链接到它们引用的歌曲。