使用 BibLaTex 时,遇到 LaTeX 警告:第 N 页上的引用“foo”在输入行 XX 上未定义

使用 BibLaTex 时,遇到 LaTeX 警告:第 N 页上的引用“foo”在输入行 XX 上未定义

BibTex这个问题之前已经在 Tex.SE 上被问过;已经给出了 一个似乎已经为用户解决了问题的答案:使用问号或粗体引用关键字代替引用编号。我使用Biber并尽可能遵循了 Paul Stanley 的回答中的每一个步骤,但仍然遇到同样的错误:LaTeX Warning: Citation 'foo' on page N undefined on input line XX. LaTeX Warning: Empty bibliography on input line YY.

生成了一个.bcf文件和一个.pdf文件,但在 pdf 中我只看到粗体的引用键而不是实际的引用。

我在 Windows 10 中使用 MikTex 2.9 + TexMaker。我有 BibLaTex 3.3 和 Biber 2.4,它们彼此兼容Biber 文档

MWE(摘自无法使用 biblatex 创建参考书目):

\documentclass[12pt,a4paper]{article}

\usepackage{cmap}                   
\usepackage{mathtext}           
\usepackage[T2A]{fontenc}       
\usepackage[utf8]{inputenc}         
\usepackage[english]{babel} 
\usepackage{indentfirst}
\frenchspacing
\usepackage{authblk}
\usepackage{titling}
\usepackage{csquotes}
\usepackage[backend=biber,bibencoding=utf8,maxcitenames=2,style=authoryear]{biblatex}
\addbibresource{biblio.bib}

\begin{filecontents}{biblio.bib}

@article{quiroga2012concept,
  title={Concept cells: the building blocks of declarative memory functions},
  author={Quiroga, Rodrigo Quian},
  journal={Nature Reviews Neuroscience},
  volume={13},
  number={8},
  pages={587--597},
  year={2012},
  publisher={Nature Publishing Group}
}
\end{filecontents}

\begin{document}
\author{John Doe}
\section{section name}
\noindent Russian text \cite{quiroga2012concept}.\par

\end{document}

我确信我在编译时使用的是 Biber 而不是 BibTex,正如我pdflatex %.tex | biber % | pdflatex %.tex | pdflatex %.tex在 TexMaker 中指定的那样,就像用户 John Crawford 在在 Ubuntu 上设置 TexMaker“未找到 biblatex.sty”。

Paul Stanley 的回答中哪一部分适用于Biber?他提到了.blg.bst但似乎Biber没有生成这些文件。

谢谢!任何帮助我都非常感谢。

更新了新的错误消息:我遵循了 Torbjørn T 的建议Biblatex 与 Biber:配置我的编辑器以避免未定义的引用这次:

INFO - This is Biber 2.3 INFO - Logfile is 'foo.blg'
ERROR - Cannot find control file 'foo.bcf'! - did you pass the "backend=biber" option to BibLaTeX?

backend=biber选项就在那里\usepackage{biblatex}

更新没有错误消息,但没有引用:

按照 Bernard 的建议,在 TexMaker 中更改 BibTex 配置,然后更新 MikTek。现在我没有收到错误消息 - 甚至没有“引用 foo 未定义”,但引用仍然只显示引用键。但是\printbibliography会打印所有参考资料。

更新:我仍然没有引用,但至少现在 TeX 文档可以编译,并且我的所有参考文献.bib都会显示在结果中.pdf

答案1

我怀疑 Texmaker 配置为使用build子目录来存放输出文件。如果确实如此,则该行(Bib)latex应该是

C:\Program Files\MiKTeX 2.9\/miktex/bin/x64/biber.exe" build\%

(我假设 MiKTeX 安装在默认位置)。

答案2

为了记录目的而回答:

  1. 必须明确确保Biber版本BibLaTeX相互兼容。两个软件包来自同一MikTeX发行版并不一定意味着它们可以一起工作。

  2. Texmaker需要正确设置:在 Ubuntu 上设置 TexMaker“未找到 biblatex.sty”。,如果启用了 Texmaker 的“使用构建子目录输出文件”选项,则加上 Bernard 的回答。

相关内容