我已经使用 LaTeX 多年了,但还没有学会如何使用 BibTeX。我一直在手动将书目条目插入到thebibliography
每个文档末尾的环境中,这通常需要从以前的文档中复制和粘贴。我听说 BibTeX 是一个可以更轻松地管理书目数据的系统,我可能会在许多 LaTeX 文档中使用这些数据。我还听说这biblatex
是 BibTeX 的改进版重新实现。我希望最终学会使用biblatex
。
问题是biblatex
文档似乎是为已经了解 BibTeX 并希望升级到 的读者编写的biblatex
。因此,为了理解biblatex
参考手册,我需要先学习有关 BibTeX 的所有知识,即使它的许多功能在 中已被替换biblatex
。这似乎是一种低效且令人困惑的方法。
biblatex
对于了解 LaTeX 但从未使用过 BibTeX 的人,有人可以给我提供一份参考文本或手册来解释如何使用吗?
答案1
“传统” BibTeX 有两个方面:使用单独的数据库(.bib
文件)来存储引文的想法和 BibTeX 堆栈语言的业务。要使用biblatex
,您只需要了解其中的第一个。我们需要从一些基本概念开始,然后再添加一些更详细的内容。(在使用问号或粗体引用关键字代替引用编号,由于两阶段概念相同,因此在一定程度上与以下内容重叠。)
与“传统”BibTeX 一样,该biblatex
方法涉及一种用于创建参考书目的双文件方法。因此,第一阶段是创建两个单独的文件。在这里我将使用 来filecontents
将它们合并为一个,但这只是为了演示的目的。
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{Alder2004,
author = {Alder, Roger W. and Blake, Michael E. and Chaker, Leila and Harvey,
Jeremy N. and Paolini, François and Schütz, Jan},
title = {{When} and {How} {Do} {Diaminocarbenes} {Dimerize}?},
journaltitle = {Angew. Chem. Int. Ed.},
year = {2004},
volume = {43},
number = {44},
pages = {5896-5911},
doi = {10.1002/anie.200400654},
}
@ARTICLE{Arduengo1991,
author = {Arduengo, III, Anthony J. and Harlow, Richard L.
and Kline, Michael},
title = {{A} stable crystalline carbene},
journaltitle = {J. Am. Chem. Soc.},
year = {1991},
volume = {113},
number = {1},
pages = {361-363},
doi = {10.1021/ja00001a054},
}
\end{filecontents*}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{Arduengo1991}
\printbibliography
\end{document}
那么这里发生了什么? BibTeX 数据库(.bib
文件)以结构化格式包含参考书目所需的信息。在这里介绍所有这些内容有点多,所以我将指出驯服野兽了解更多详情。但愿基本思想是清楚的:您有一系列一个或多个类型的条目(手册中有详细说明biblatex
),每个条目都有一个“键”(标识符)和一个或多个包含实际信息的字段。请注意,字段中的author
每个名称必须用 隔开and
。
如果您在演示版上运行 LaTeX,您会发现得到的不是引文和参考书目[Arduengo1991]
。这是因为 LaTeX 文件本身不包含参考书目信息:要进行“传输”,我们需要第二个程序 Biber。要运行它,我们这样做
biber <filename>
<filename>
在哪里不是包括.tex
扩展名。Biber 从 LaTeX 运行和.bib
文件中读取辅助文件,并创建一个.bbl
包含提取的参考书目信息的文件。特别是,它只提取我们在 LaTeX 文件中引用的那些记录:我的演示故意包含两个 BibTeX 数据库条目,但只使用一个。
Biber 不会改变 PDF 输出:我们需要再次运行 LaTeX。在第二次运行时,LaTeX 将找到该.bbl
文件并使用它来 (a) 填写引文和 (b) 创建参考书目。在此阶段,如果我们没有犯错,那么一切都会解决,并且不会有未定义的引文。
这可能留下三个问题:BibTeX 如何知道.bib
要使用哪些文件,如何控制参考书目出现的位置,以及如何控制参考书目的格式。第一部分由行处理\addbibresource
,它接受逗号分隔的列表.bib
文件列表:此信息传递给 Biber通过辅助文件。内容打印的位置取决于\printbibliography
LaTeX 文件中的位置
输出样式是最复杂的区域。以及backend
,biblatex
了解加载时选项style
:
\usepackage[style=numeric-comp,backend=biber]{biblatex}
CTAN提供了多种样式biblatex
,并提供了从 LaTeX 文件中自定义外观的功能。这些工作方式是bibaltex
在打印参考书目时将格式添加到“原始”数据库信息中,但确切的细节由样式控制。
您可能需要了解一些额外的“更高级”的事情。首先,如果您使用代替 ,则biblatex
支持 BibTeX 进行.bib
-to-处理。但是,BibTeX 的支持范围比 Biber 更有限。其次,除了 之外,Biber 还支持其他格式,这就是为什么我们需要 列表中的扩展。.bbl
backend=bibtex
backend=biber
.bib
\addbibresource