我刚开始使用 LaTeX,所以对如何操作还不是很了解。我现在想做一个参考书目。据我所知,我需要一个.bib
文档,然后我会用 插入它\bibliography{}
。
我的问题是,我如何创建文件.bib
?我有一个 OpenOffice 文档想要使用。在互联网上浏览了一下,似乎存在将.bib
文件转换为其他类型的可能性,但我没有找到正确的转换。在 bibtex.org 上转换器被禁用。
我感觉我做的一些事情非常错误,有人可以帮忙吗?
答案1
我将向您介绍一种更基本的方法,无需 JabRef 等其他工具。在我看来,这些工具很好,可以让生活变得轻松很多,但您应该对幕后发生的事情有基本的了解。
另一个例子是latexmk
负责完成文档所需的多次不同程序的运行。但你应该知道如何手动操作,以便能够自己解决问题。
1. 选择工具
bibtex
是在 LaTeX 中自动创建参考书目的较旧的方法。如果您是初学者并且没有使用 bibtex 的现有代码库,则应使用biblatex
其后端biber
。
这有几个优点:
本机支持unicode,除了更简单的字符输入之外,还可以对包含非ascii字符的单词进行正确的排序。
参考书目的格式化是使用 LaTeX 命令完成的,而不是像 bibtex 那样使用自己的习语。
你可以为你的条目建立多个数据库和多种格式。Biber 不仅能识别 bibtex .bib 文件,还能识别
- BIBTEX — BIBTEX 数据文件
- endnotexml — Endnote XML 导出格式,版本 C Endnote X1
- ris — 研究信息系统格式
- zoterordfxml — Zotero RDF XML 格式,版本 2.0.9
2. 创建数据库:一个*.bib 文件
Bibfile 具有以下结构:
每个条目都以 开头,@
后跟条目类型,例如article
。然后在花括号中是用于引用条目的键,之后是key={value},
与条目数据配对的 - 。每个条目类型都有必填字段和可选字段。 的必填参数@article
是author
、year
或date
和title
。journal
有许多不同的条目类型,您应该始终选择合适的类型。请参阅 biblatex 文档。
一个例子:
@article{key,
author={Doe, John and Doe, Jane},
title={A super interesting Article},
year={2015},
Journal={Journal of unreproducible Results},
}
3. .tex 文件
要使用 biblatex,您必须将其添加到您的序言中并告诉它使用哪个数据库。
然后您可以用 引用条目\cite{key}
,\cite
也可以将页码或范围作为可选参数:\cite[15]{key}
。
参考书目是在您放置\printbibliography
命令的地方创建的。
一个完整的示例,假设您将数据库保存references.bib
如下:
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{references.bib}
\begin{document}
See~\cite{key}.
\printbibliography
\end{document}
4. 编译文档
对于完成的文档,您需要运行 latex 编译器和 biber:例如使用 lualatex:
lualatex document.tex
biber document.bcf
lualatex document.tex
lualatex document.tex
在第一次运行中,biblatex 将所需的引文写入名为 的文件document.bcf
,该文件由 biber 读取,生成名为 的文件,document.bbl
然后 biblatex 再次读取该文件以生成参考书目。最后一次运行是为了解决交叉引用或页码更改问题,因为密钥与引文进行了交换,所以可能会发生这种情况。
结果:
答案2
要从头开始创建 .bib 文件,最简单的方法是使用JabRef
,这是一个用 Java 编写的多平台书目管理器。您只需选择要引用的条目类型(文章、书籍、会议等),填写相关字段的表格。JabRef 具有导入和导出功能。
添加:正如@AlanMunn 所回忆的,Mac 用户还有另一个特定的工具,,Bibdesk
具有许多不错的功能。
一旦创建了 .bib 文件,您必须在 latex 文档中使用它。此时,您必须选择是使用传统的bibtex
还是较新的biber
,后者必须与 latex 包一起使用biblatex
(biblatex 也与 bibtex 兼容,但默认使用 biber)。
我将详细介绍如何使用 biblatex:您必须加载它,指定其后端(bibtex 或 biber)和一些选项。默认情况下,参考书目样式为numeric
。您可以在序言中写类似以下内容:
\usepackage[backend=biber, style=authoryear, other options]{biblatex}
\addbibresource{mybibliofile.bib}
请注意,您可以拥有多个书目文件。.bib
扩展名是必需的。
在文档正文中,当您想要打印参考书目时,在最简单的情况下,您只需写下:
\printbibliography
如果您想要将所有条目合并到参考文献中(即使文本中未引用的条目),请\nocite{*}
在 之前添加命令\printbibliography
。另请注意,biber 了解utf8
您的 .bib 文件的编码,并且它比 bibtex 具有更多功能。Biblatex 比 bibtex 的样式文件更容易定制,因为它使用类似 latex 的语法。
编译过程遵循以下步骤:
- 使用 pdflatex (或 latex、xelatex 或 lualatex) 进行编译。这将创建一个
.bcf
biber 将使用的文件。 - 启动 biber。这将创建一个
.bbl
文件,pdflatex 将使用该文件将书目条目合并到主文档中。 - 启动 pdflatex
twice
以确保交叉引用已解决。