我正在努力为我的用例找到正确的 biblatex 设置。给定 .bib 文件中的以下条目
@article{einstein,
author = "Albert Einstein",
title = "{Zur Elektrodynamik bewegter K{\"o}rper}",
journal = "Annalen der Physik",
volume = "322",
number = "10",
pages = "891--921",
year = "1905",
}
我想要以下输出\footcite[Vgl.][12--15]{einstein}
Vgl. Einstein (1905), S. 12 ff.
以及参考书目中的相应条目如下
Einstein, A. (1905): Zur Elektrodynamik bewegter Körper, in: Annalen der Physik, Jg. 322 (10), S. 891-921.
我尝试使用 authoryear 作为样式,使用 authoryear-ibid 作为 citestyle(ibid 是必需的),它们很接近,但我必须遵循非常严格的规范,所以我需要更改这些样式。不幸的是,我完全不知道从哪里开始,因为这是我第一次使用 biblatex。我在其他线程中寻找解决方案,但它们似乎都针对各自的问题,所以我似乎找不到更改引用样式的“通用方法”。
如果有人能告诉我是否有一个简单的解决方案,或者给我一个教程,让我可以学习如何书写或改变风格,那就太好了!
编辑:最小工作样本:sample.tex:
\documentclass[a4paper,12pt,oneside]{article}
\usepackage[ngerman]{babel}
\usepackage[
backend=biber,
style=authoryear,
citestyle=authoryear-ibid,
]{biblatex}
\addbibresource{sample.bib}
\begin{document}
Random sentence.\footcite[Vgl.][12--15]{einstein}
\printbibliography
\end{document}
样本.bib:
@article{einstein,
author = "Albert Einstein",
title = "{Zur Elektrodynamik bewegter K{\"o}rper}",
journal = "Annalen der Physik",
volume = "322",
number = "10",
pages = "891--921",
year = "1905",
}
答案1
\begin{advertisement}
对于这样的小调整,我的风格biblatex-ext
捆绑比标准样式更方便。
特别是标点符号宏\jourvoldelim
,\volnumdelim
让我们避免重新定义两个 bibmacrosjournal+issuetitle
和volume+number+eid
。
\DeclareInnerCiteDelims
为我们提供了一种快速的方法,将脚注引用中的年份括在圆括号中,否则将需要重新定义cite
或cite:labeldate+extradate
bibmacros,如果操作不正确,可能会发生冲突\textcite
。
以下代码中的其他所有内容都是标准的biblatex
。
\end{advertisement}
注释解释了每个代码块的作用,更多信息可以在biblatex
文档和biblatex-ext
文档。
\documentclass[a4paper,12pt,oneside]{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=ext-authoryear-ibid,
giveninits=true,
uniquename=init,
autocite=footnote,
]{biblatex}
% comma between bibliography units
\renewcommand*{\newunitpunct}{\addcomma\space}
% colon after Author (Year) in bibliography
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
% no quotation marks around titles
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1\isdot}
% Journal, Jg. Vol (Num)
\renewcommand*{\jourvoldelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}
\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewcommand*{\volnumdelim}{\addnbspace}
% parentheses around year in footcite
\DeclareInnerCiteDelims{footcite}{\bibopenparen}{\bibcloseparen}
\addbibresource{biblatex-examples.bib}
\begin{document}
Random sentence.\autocite[Vgl.][380\psqq]{sigfridsson}
\printbibliography
\end{document}
作为安德鲁·斯旺提及自定义 biblatex 样式的指南是进行常见和简单修改的一个很好的起点,但如果您搜索特定术语,您可以在此网站上找到更多更复杂的自定义。biblatex
列出的一些教程biblatex 简介(适合初学者)有一个简短的“常见自定义”部分或提及一些常见修改。除此之外,您可以通过查看样式的源代码(biblatex.def
、biblatex.bbx
和<bibstyle>.bbx
、<citestyle>.cbx
)来找出要修改的宏和要调整的字段格式。