如何在不了解 BibTeX 的情况下学习 biblatex

如何在不了解 BibTeX 的情况下学习 biblatex

我已经使用 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通过辅助文件。内容打印的位置取决于\printbibliographyLaTeX 文件中的位置

输出样式是最复杂的区域。以及backendbiblatex了解加载时选项style

\usepackage[style=numeric-comp,backend=biber]{biblatex}

CTAN提供了多种样式biblatex,并提供了从 LaTeX 文件中自定义外观的功能。这些工作方式是bibaltex在打印参考书目时将格式添加到“原始”数据库信息中,但确切的细节由样式控制。

您可能需要了解一些额外的“更高级”的事情。首先,如果您使用代替 ,则biblatex支持 BibTeX 进行.bib-to-处理。但是,BibTeX 的支持范围比 Biber 更有限。其次,除了 之外,Biber 还支持其他格式,这就是为什么我们需要 列表中的扩展。.bblbackend=bibtexbackend=biber.bib\addbibresource

相关内容