要切换到 biblatex 该怎么做?

要切换到 biblatex 该怎么做?

由于网站上发布了许多很棒的答案,我最终考虑转换并转到biblatex。那么,问题是我必须做什么?

为了使问题更加集中,假设我已经有一个相当大的.bib文件和一堆用于natbib参考的文档。我需要对现有的文件进行哪些.bib更改.tex

那么合著者呢?指导他们如何使用 处理新文档是否相当简单biblatex?他们是否也必须安装新软件/软件包?

答案1

natbib我已经从两年前转到了biblatex,所以我应该可以回答这个问题。话虽如此,Seamus、Simon Byrne 和 domwass 已经提出了很多很好的观点。

(如果有人仍然问“我为什么要使用biblatex?”:请参阅这个答案[无耻的宣传]。)

LaTeX 文档

使用natbib,模型 LaTeX 文档将如下所示:

\documentclass{<someclass>}

\usepackage[<options>]{natbib}

\begin{document}

A bare citation command: \citep{<key>}.

A citation command for use in the flow of text: As \citet{<key>} said \dots

\bibliographystyle{<somestyle>}
\bibliography{<mybibfile>}% Selects .bib file AND prints bibliography

\end{document}

使用biblatex其内置样式后,情况将变为:

\documentclass{<someclass>}

\usepackage[<language options>]{babel}% Recommended
\usepackage{csquotes}% Recommended

\usepackage[style=<somebiblatexstyle>,<other options>]{biblatex}

% \bibliography{<mybibfile>}% ONLY selects .bib file; syntax for version <= 1.1b
\addbibresource[<options for bib resources>]{<mybibfile>.bib}% Syntax for version >= 1.2

\begin{document}

A bare citation command: \autocite{<key>}.

A citation command for use in the flow of text: As \textcite{<key>} said \dots

\printbibliography[<options for printing>]

\end{document}

请注意,我使用了\autocite而不是 ,它实际上是的\parencite对应项。是一个高级引用命令,它将被转换为适合所选样式的低级裸引用命令 - 例如,它将在样式中将引用括在括号中,但在样式中生成脚注引用。甚至,它会自动移动尾随标点符号。natbib\citep\autociteauthoryearauthortitle

对于某些自定义(尚未内置)biblatex样式,可能需要进行额外的前导调整 - 请参阅 Seamus 提供的示例biblatex-apa

正如 Simon Byrne 所提到的:如果您不想将每个文档中的每个实例更改\citep为其\citet对应biblatex项,请使用natbib=true兼容性选项。

通常,您会选择一个或多个本地.bib文件作为您的书目数据库;但是,\addbibresource也允许加载远程资源和其他数据类型(例如ris)。

.bib 文件

domwass 已经提到,更改.bib文件不是强制性的,但您会错过 提供的一些好处biblatex。当我切换到 时biblatex,我将我的address字段更改为location,将我的journal字段更改为journaltitle。我还添加了hyphenation字段,以便能够在参考书目中根据每个条目切换语言。

比贝尔

biblatex大部分情况下适用于传统的 BibTeX 及其 8 位版本bibtex8,但我建议使用比贝尔(自 v2.0 以来的默认后端biblatex)原因如下:

  • 完全支持Unicode。

  • 没有容量问题。(相比之下,当使用 BibTeX 处理大约一百个条目的参考书目时,我遇到了伪装成模糊警告的错误 -biblatex有关详细信息,请参阅手册第 2.4.2 节。)

  • 多个或细分的书目将始终在一次传递中处理。

  • 自 v1.1 以来引入的许多biblatex功能(例如,高级名称消歧义、智能交叉引用数据继承、可配置排序方案、动态数据源修改)都是“Biber 独有的”。

Biber 包含在 TeXLive 和 MiKTeX 中;latexmk也支持使用Biber。

答案2

转换natbib非常简单:最低要求在标题中:

\usepackage[natbib=true]{biblatex}
\bibliography{dotbibfile}

以及您想要参考书目的地方:

\printbibliography

该选项将自动为和命令natbib创建相关别名,因此您可以像以前一样使用它们。如果您的文件之前已使用编译,您可能需要删除由 LaTeX 和 BibTeX 创建的一些辅助文件(、、 . )才能使其正常工作。\citep\citetnatbib.aux.bblblg

对于合著者来说,主要问题是每个人都使用相同的版本(由于软件包仍在开发中,因此版本之间的一些选项已经发生了变化)。一些著名的 Linux 发行版可以相当迟到及其更新。

答案3

补充一下前面所说的内容:尽管你没有需要要更改.bib文件中的任何内容以便使用biblatex,您必须进行一些更改才能受益于所biblatex提供的某些功能。例如(这不是完整列表):

  • publisherlocation是列表字段:例如,您仍然可以使用address = {Berlin, New York}(作为address的别名location),但您不能使用选项maxitemsmaxitems=1仍然会给您“柏林,纽约”);为了使用此选项,您必须更改为address = {Berlin and New York}(或location代替address),然后会给出“柏林等”和maxitems=1

  • 类似的情况是一些关于日期规范外观的选项:不要使用字段yearmonthday,而应使用date具有 ISO 格式日期的字段,例如date = {2010}urldate = {2010-08-11}。然后,biblatex可以使用一些选项,例如“date=short”等。

  • biblatex提供了其他软件包未提供的一些附加字段,例如,subtitle用于多卷作品,等等。titleaddonmaintitleeditortype

答案4

这个答案与问题“Biblatex 指南?”,但因为上面有[重复]标记——我非常不同意:)——我把它发布在这里。

介绍一下biblatex我前段时间准备的一份相关文件,它由三部分组成。

http://www.khirevich.com/latex/bibliography/
http://www.khirevich.com/latex/biblatex/
http://www.khirevich.com/latex/footnote_citation/

并包含使用编号脚注引用方案的详细示例biblatex。本文档可视为实用的入门指南,但对于有经验的用户来说,也可视为biblatex高度自定义书目的工作流程的示例。它包括对所有引入的 biblatex 自定义的深入讨论(包括正文和书目中参考文献的外观),以及自定义 numeric-comp 样式的示例biblatex

相关内容