LaTeX 停止构建 BibTeX 书目,如何排除故障?

LaTeX 停止构建 BibTeX 书目,如何排除故障?

我第一次用 LaTeX 写作。参考书目一开始有点不靠谱,但后来就成功了——我得到了文本中的引用编号,以及文档末尾列出的参考文献。然而,在某个时候,LaTeX 停止识别引用,我不知道是什么原因造成的。

编译后的文档中有一个问号而不是引用编号:

在此处输入图片描述

日志文件警告我找不到引用。

LaTeX 警告:第 1 页上的引用“Alexander2009”在输入行 22 上未定义。
LaTeX 警告:第 1 页上的引用“Sutcliffe2011”在输入行 22 上未定义。

但是,我已经定义了引用,它们看起来与我能找到的所有正确引用的示例完全一样。

前言:

\documentclass{llncs}
\usepackage{数组}
\usepackage{colortbl}
\usepackage{旋转}

包含引用的段落如下所示:

需求工程(RE)方法通常基于信息
利益相关者的业务目标、业务流程和组织
结构~\cite{Alexander2009}。只有少数方法采取“软问题”
例如所考虑用户的价值观、情感和动机。
然而,可再生能源领域出现了一种趋势,鼓励科学家和
从业者要注意这些问题,例如
由 RE'11 会议上有关 RE 中的情绪的教程提供~\cite{Sutcliffe2011}。

文档结尾为

\section{参考文献}
\label{sec:参考文献}
\bibliographystyle{llncs}
\bibliography{RefsQ12_sources-only}

我尝试了 RefsQ12_sources-only.bib 中所有可能的引用格式。第一个项目是按照我在互联网上找到的一些手册的方式手动输入的,第二个项目是在 TexmakerX GUI 中输入的,用于创建新的 BibTex 项目,第三个项目是从 Mendeley 导出的。没有一个起作用。

@book{Alexander2009,
地址 = “奇切斯特”,
author = “亚历山大·伊恩和贝乌斯-杜基奇·列尔卡”
版本 = “1”,
isbn = “978-0470712405”,
页数 = “457”,
出版商 = “Wiley”
title = “发现需求”,
年份 = “2009”
}


@InProceedings{Sutcliffe2011,
作者 = {Alistair Sutcliffe},
title = {情感需求工程},
booktitle = {第 19 届 IEEE 需求工程会议},
页数 = {321--322},
年份 = {2011},
}

@article{Schwartz1990,
作者 = {Schwartz, SH 和 Bilsky, W},
journal = {人格与社会心理学杂志},
数字 = {5},
页数 = {878--891},
出版商 = {美国心理学协会},
title = {{价值的普遍内容和结构理论:扩展和跨文化复制}},
体积 = {58},
年份 = {1990}
}

我将 MikTex 与 TexmakerX 一起使用,但我也从命令行进行编译并得到了相同的结果。

当我删除 BibTex 参考文献并使用thebibliography环境时,引用就起作用了。但是,我更喜欢使用 BibTex 文件,因为这样我就可以从 Mendeley 导出所有数据,而不必预先构建整个参考书目。有什么想法出了什么问题吗?

答案1

从以上评论中总结(并扩展):

BibTeX 使用由 LaTeX 编写的辅助文件(显示您想要引用的内容)以及 bst 文件(包含样式信息 - 例如 plain.bst)和 bib 文件(包含您可能想要引用的任何文档的书目信息)。因此,命令行中的工作流程可能看起来像

  1. latex- 生成 aux 文件
  2. bibtex- 生成一个 bbl 文件,其中包含有关辅助文件中提到的特定参考资料的信息,格式正确
  3. latex- 将 bbl 文件中的信息合并到排版文档中
  4. 可能latex再次修复在包含所有引文时引入的任何交叉引用问题

一路查看 aux 和 bbl 文件 - 以及正如@Joseph 指出的那样,blg 文件(即 BibTeX 的日志) - 可以帮助解决问题。

为了完整起见,答案是:这次显然是bibtex由于 bst 文件名称的拼写错误导致该步骤无法进行。

答案2

我知道这篇文章已经有一年了,但我现在也遇到了同样的问题。我的 TexMaker 未配置为bibtex在 下的 BibTeX 命令中具有正确的可执行文件路径Options->configure TexMaker。我使用 Ubuntu,因此必须输入正确的路径,否则.aux用于bibtex创建文件.bbl的文件将出现在您的最终pdf文档中。

答案3

就我而言,问题出现是因为我使用了带有 backref 和非标准样式的 bibentry。将宏设为全局不起作用。由于我用 生成文件,.bst并且custom-bib不想直接在 .bst 文件中删除宏代码,因此我复制了以下代码:

\global\def\bibAnnoteFile{}
\renewcommand{\bibAnnoteFile}[1]{%
    \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\
            \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}

我甚至不确定该宏应该做什么。可能最简洁的方法就是正确配置custom-bib

相关内容