Biblatex - 当第 n 行的 \iftrue 不完整时发生结束

Biblatex - 当第 n 行的 \iftrue 不完整时发生结束

我一直在尝试解决我收到的这个警告:

(\end occurred when \iftrue on line n was incomplete)

在哪里n始终是包含的行\begin{document},并且我已将所有内容删除为几行简单的行,但仍然会产生警告:

\documentclass{book}

\usepackage[backend=bibtex]{biblatex}
\bibliography{main.bib}

\title{Some Title}

\begin{document}
    Nothing important. %\cite{somebibkey}
    %\printbibliography
\end{document}

两个注释掉的命令对于警告没有任何影响——取消注释没有任何效果。

bib 文件中有一个格式良好的条目。注释掉该\bibliography命令也没什么区别。

如果我添加\tracingifs=1,我会得到一堆看起来不太有用的行(对我来说):

...
Package biblatex Info: Trying to load configuration file...
Package biblatex Info: ... file 'biblatex.cfg' found.
 ("C:/Users/user/AppData/Local/Programs/MiKTeX 2.9/tex/latex/biblatex/biblatex.cfg"
File: biblatex.cfg 
)))
vertical mode: \ifcsname: (level 1) entered on line 10}
{\fi: \ifcsname (level 1) entered on line 10}
{\ifx: (level 1) entered on line 10}
{\else: \ifx (level 1) entered on line 10}
{\fi: \ifx (level 1) entered on line 10}
{\ifcsname: (level 1) entered on line 10}
{\fi: \ifcsname (level 1) entered on line 10}
{\ifx: (level 1) entered on line 10}
{\else: \ifx (level 1) entered on line 10}
{\fi: \ifx (level 1) entered on line 10}
{\ifx: (level 1) entered on line 10}
...
{\else: \ifx (level 1) entered on line 10}
{\fi: \ifx (level 1) entered on line 10}
{\ifcsname: (level 1) entered on line 10}
{\else: \ifcsname (level 1) entered on line 10}
{\fi: \ifcsname (level 1) entered on line 10}
{restricted horizontal mode: \ifcsname: (level 1) entered on line 10}
{\else: \ifcsname (level 1) entered on line 10}
{\fi: \ifcsname (level 1) entered on line 10}
Package biblatex Info: Trying to load language 'english'...
{\ifeof: (level 1) entered on line 10}
{\else: \ifeof (level 1) entered on line 10}
{\fi: \ifeof (level 1) entered on line 10}
Package biblatex Info: ... file 'english.lbx' found.
{\ifx: (level 1) entered on line 10}
{\else: \ifx (level 1) entered on line 10}
{\fi: \ifx (level 1) entered on line 10}
{\ifdefined: (level 1) entered on line 10}
{\ifx: (level 2) entered on line 10}
{\else: \ifx (level 2) entered on line 10}
{\fi: \ifx (level 2) entered on line 10}
{\else: \ifdefined (level 1) entered on line 10}
{\fi: \ifdefined (level 1) entered on line 10}
{\ifdefined: (level 1) entered on line 10}
{\ifx: (level 2) entered on line 10}
{\else: \ifx (level 2) entered on line 10}
{\fi: \ifx (level 2) entered on line 10}
{\else: \ifdefined (level 1) entered on line 10}
{\fi: \ifdefined (level 1) entered on line 10}
{\ifdefined: (level 1) entered on line 10}
{\ifx: (level 2) entered on line 10}
{\else: \ifx (level 2) entered on line 10}
{\fi: \ifx (level 2) entered on line 10}
{\else: \ifdefined (level 1) entered on line 10}
{\fi: \ifdefined (level 1) entered on line 10}
 ("C:/Users/user/AppData/Local/Programs/MiKTeX 2.9/tex/latex/biblatex/lbx/english.lbx"
{\ifnum: (level 1) entered on line 1}
{\ifnum: (level 2) entered on line 1}
...
{\fi: \iffalse (level 1) entered on line 10}
{\ifeof: (level 1) entered on line 10}
{\else: \ifeof (level 1) entered on line 10}
{\fi: \ifeof (level 1) entered on line 10}
 (C:/Users/user/workspaces/tex/luatex-hello-world/src/./_main.aux)
{\iftrue: (level 1) entered on line 10}

\openout1 = _main.aux
{\fi: \iftrue (level 1) entered on line 10}
LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 10.
{\ifx: (level 1) entered on line 10}
{\fi: \ifx (level 1) entered on line 10}
{\ifx: (level 1) entered on line 10}

(该日志长达 11,619 行\iftracing=1——否则我就不会像随机那样截断它。)

**注意:在上述日志的情况下,n== 10 == 在哪里\begin{document}

无论我使用的是 LuaLaTeX 还是 pdfTeX,都会出现此警告。

版本:

  • BibTeX-版本 0.99d(MiKTeX 2.9)
  • biblatex 2016/03/03 v3.3 可编程书目 (PK/JW/AB)
  • LuaTeX,版本 beta-0.80.0(MiKTeX 2.9)(修订版 5238)
  • pdfTeX,版本 3.14159265-2.6-1.40.16(MiKTeX 2.9)

这是否只是我需要承受的一个警告,还是我做错了什么?

提前致谢。

答案1

非封闭条件是一个问题;您的输入没有问题,所以这是一个错误biblatex(或者更具体地说是 BibTeX 支持部分)。目前(2016 年 4 月)改变 Biber/BibTeX 拆分处理方式的工作已进入后期阶段,而对于开发版本,我没有发现问题。因此,我建议“等待维护团队更新biblatex”作为最佳解决方案:可能将于 2016 年 5 月下旬/6 月初发生。

相关内容