我正在尝试制作以下圣经的 PDF 版本:https://github.com/vermiculus/bible以便我可以添加一些注释。
在 bible.tex 上运行 pdflatex 会出现以下错误:
! \book 代码定义中的参数编号非法。3 l.55 }
(此处有完整错误:https://hastebin.com/erikixeqan.nginx)
我尝试从 bible.tex 文件中删除所有非标题代码,但仍然出现同样的错误,甚至相同行号,尽管总共不到 55 行。我怀疑是 bible.cls 文件的问题,因为里面有完整的错误文本。
尽管如此,bible.cls 中的第 55 行没有定义,并且 \book 的用法很少。以下是 bible.cls 中“book”的所有实例:
Line 19: \fancyhead[LE,RO]{\@ifundefined{@currbook}{}{\@currbook}}
Line 19: \fancyhead[LE,RO]{\@ifundefined{@currbook}{}{\@currbook}}
Line 27: %\newcounter{book}
Line 28: \setcounter{book}{0}
Line 31: \DeclareDocumentCommand{\book}{om}{
Line 36: % Step the book counter
Line 37: \refstepcounter{book}
Line 39: % define book key (used in notes)
Line 40: \edef\@currbook{\IfNoValueTF{#3}{#2}{#3}}
Line 42: % Don't display page numbers on pages that list a book
Line 121: \newcommand{\testbook}[1]{\def\inputbook@only{#1}}
Line 121: \newcommand{\testbook}[1]{\def\inputbook@only{#1}}
Line 124: \newcommand{\inputbook}[1]{
Line 127: \cs_if_exist:NTF{\inputbook@only}
Line 128: {\IfStrEq{#1}{\inputbook@only}{\input{\bibleversion/#1}\clearpage}}
通过谷歌搜索该错误,我发现一些帖子暗示在另一个宏/命令中定义一个宏/命令可能会在特定场景中导致错误,所以第 121 行对我来说最可疑。
我想知道哪个定义出了问题,(也许是由于乳胶简单地生长/改变?)
如果我没有表达清楚,请见谅。我编程已经有几年了,用过 latex 几个月,但还没有深入研究过。