更改 biblatex 引用样式

更改 biblatex 引用样式

我正在努力为我的用例找到正确的 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+issuetitlevolume+number+eid

\DeclareInnerCiteDelims为我们提供了一种快速的方法,将脚注引用中的年份括在圆括号中,否则将需要重新定义citecite:labeldate+extradatebibmacros,如果操作不正确,可能会发生冲突\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}

脚注为“Vgl. Sigfridsson und Ryde (1998), S. 380 ff.”,参考书目条目“Sigfridsson, E. und U. Ryde (1998): Comparison of methods for deriving atomic charge from the electrostatic potential and moves, in: Journal of Computational Chemistry, Jg. 19 (4), S. 377–395, doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.”

作为安德鲁·斯旺提及自定义 biblatex 样式的指南是进行常见和简单修改的​​一个很好的起点,但如果您搜索特定术语,您可以在此网站上找到更多更复杂的自定义。biblatex列出的一些教程biblatex 简介(适合初学者)有一个简短的“常见自定义”部分或提及一些常见修改。除此之外,您可以通过查看样式的源代码(biblatex.defbiblatex.bbx<bibstyle>.bbx<citestyle>.cbx)来找出要修改的宏和要调整的字段格式。

相关内容