编译LaTex bib源码

时间:2010-03-17 11:50:02

标签: latex pdflatex bibtex citations

我在Latex上写论文,我在自己的论文中有参考文献.bib 看起来如下的文件

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

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

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

非常感谢!

4 个答案:

答案 0 :(得分:77)

您需要编译 bibtex文件。

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

  • latex article.tex(这将生成一个带有问号的文档,而不是未知的引用)
  • bibtex article(这将解析文章中包含的所有.bib文件并生成有关参考的元信息)
  • latex article.tex(这将生成包含正确位置所有引用的文档)
  • latex article.tex(以防万一,如果添加引用会破坏页面编号)

答案 1 :(得分:18)

你必须运行'bibtex':

latex paper.tex
bibtex paper
latex paper.tex
latex paper.tex
dvipdf paper.dvi

答案 2 :(得分:13)

我使用texmaker作为编辑。 你必须在终端编译如下:

  1. pdflatex filename (有或没有扩展名)
  2. bibtex文件名(不含扩展名)
  3. pdflatex filename (有或没有扩展名)
  4. pdflatex filename (有或没有扩展名)
  5. 但有时,当您使用\citep{}时,引用的名称不会显示。在这种情况下,我必须打开references.bib文件,以便texmaker可以捕获references.bib文件中的引用。在每个版本的bib文件之后,我不得不关闭并重新打开它!因此,texmaker可以每次捕获新的.bbl文件的内容。但请记住,您还必须在texmaker中运行代码。

答案 3 :(得分:6)

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

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

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

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