titleidx.sbx 上的 \idxrefsfont \relax \songlink 控制序列未定义

titleidx.sbx 上的 \idxrefsfont \relax \songlink 控制序列未定义

使用 lilypond-book 生成乐谱,但希望使用该songs包进行索引。运行 OS X 10.10.5。

我将使用 XeLaTeX 进行渲染,但目前即使是这个 MWE 也无法使用 pdflatex 进行编译。

\documentclass{article}
\usepackage[chorded]{songs}

\noversenumbers

\newindex{titleidx}{titleidx}

\begin{document}

\showindex[2]{Title Index}{titleidx}

\songsection{Worship Songs}

\begin{songs}{titleidx}
\beginsong{Doxology}[by={Louis Bourgeois and Thomas Ken}]
\beginverse
\[G]Praise God, \[D]from \[Em]Whom \[Bm]all \[Em]bless\[D]ings \[G]flow;
\[G]Praise Him, all \[D]crea\[Em]tures \[C]here \[G]be\[D]low;
\[Em]Praise \[D]Him \[G]a\[D]bove, \[G]ye \[C]heav'n\[D]ly \[Em]host;
\[G]Praise Fa\[Em]ther, \[D]Son, \[Am]and \[G/B G/C]Ho\[D]ly \[G]Ghost.
\[C]A\[G]men.
\endverse
\endsong
\end{songs}

\end{document}

第一次编译时没有问题,但是在生成.sxd.sbx文件后:

./songidx titleidx.sxd titleidx.sbx
./songidx authidx.sxd authidx.sbx

得到以下编译错误。

(/usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (./titleidx.sbx
! Undefined control sequence.
<inserted text> {\idxrefsfont \relax \songlink 
                                                                                             {song1-1.2}{1}}
l.2 \idxentry{Doxology}{\songlink{song1-1.2}{1}}

? 

项目目录内容:

├── demo.sh
├── mybook.aux
├── mybook.log
├── mybook.pdf
├── mybook.sxc
├── mybook.tex
├── songidx
├── titleidx.sbx
└── titleidx.sxd

0 directories, 9 files

答案1

我有同样的问题……似乎\songlink出于某种原因,OS X 中未定义该命令。我刚才做的是定义该命令,按照歌曲中的示例文档

我把这个放在 LaTeX 序言中:

\newcommand{\songlink}[2]{\hyperlink{#1}{#2}}

而且它成功了!

相关内容