\book 代码定义中的参数编号非法

\book 代码定义中的参数编号非法

我正在尝试制作以下圣经的 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 几个月,但还没有深入研究过。

相关内容