64

我正在用 Latex 写论文,我在自己的 thesis.bib 文件中有参考文献,如下所示

@Article{xxx,
  author =       "D.A. Reinhard",
  title =        "Case Study",
  year =         "1985",
}

我在我的主文档中将它们引用为 ~\cite{xxx}

当我编译主文档时: pdflatex main.tex 比它向我显示问号而不是对参考书目的正确引用。我还需要自己编译围兜源吗?如果是的话,有人可以告诉我Linux的命令吗

非常感谢!

4

4 回答 4

82

您需要编译bibtex 文件。

假设你有article.texarticle.bib。你需要运行:

  • latex article.tex(这将生成一个带有问号的文档来代替未知的引用)
  • bibtex article(这将解析文章中包含的所有 .bib 文件并生成有关参考的元信息)
  • latex article.tex(这将在正确的位置生成包含所有引用的文档)
  • latex article.tex(以防万一添加参考文献在某处破坏了页码)
于 2010-03-17T11:57:41.977 回答
21

你必须运行'bibtex':

latex paper.tex
bibtex paper
latex paper.tex
latex paper.tex
dvipdf paper.dvi
于 2010-03-17T11:53:27.930 回答
14

我正在使用 texmaker 作为编辑器。您必须在终端中编译它,如下所示:

  1. pdflatex 文件名(带或不带扩展名)
  2. bibtex 文件名(不带扩展名)
  3. pdflatex 文件名(带或不带扩展名)
  4. pdflatex 文件名(带或不带扩展名)

但有时,当您使用 时\citep{},引用的名称不会出现。在这种情况下,我必须打开references.bib文件,以便 texmaker 可以从 references.bib 文件中捕获引用。在每个版本的围兜文件之后,我不得不关闭并重新打开它!这样 texmaker 每次都可以捕获新的 .bbl 文件的内容。但请记住,您还必须在 texmaker 中运行您的代码。

于 2014-02-06T21:45:15.200 回答
7

以防万一它对某人有所帮助,因为这些问题(和答案)对我帮助很大;我决定创建一个别名来连续运行这 4 个命令:

只需将以下行添加到您的文件中(根据您和文件的名称~/.bashrc修改关键字)main.tex.bib

alias texbib = 'pdflatex main.tex && bibtex main && pdflatex main.tex && pdflatex main.tex'

现在,只需执行texbib命令(别名),所有这些命令都将按顺序执行。

于 2015-05-12T15:32:44.767 回答