平均能量损失

平均能量损失

我正在使用biblatex并希望选择创建像这样的参考书目条目(当然没有换行符)

Luther, Martin (1530). Von der Stadtmaus und der Feldmaus. 
In: Martin Luthers Fabeln und Sprichwörter. 
Hrsg. von Reinhard Dithmar. 2., korr. Aufl. 1995. 
Darmstadt: Wiss. Buchges. Kap. XII.

基于bib.bib

@incollection{Luther1530,
title = {Von der Stadtmaus und der Feldmaus},
booktitle = {Martin Luthers Fabeln und Sprichwörter},
author = {Luther, Martin}, 
editor = {Dithmar, Reinhard},
chapter = {XII},
address = {Darmstadt},
publisher = {Wiss. Buchges},
origdate = {1530},
date = {1995},
edition = {2., korr. Aufl.},
}

为什么会这样?从上面的例子中可以看出,有些文本在另一本书中被重印或翻译。因此,两本书的日期不同 - 文本的原始日期和重印/翻译的日期。

问题:

  • 如何origdateauthoryear-style 创建一个新字段?
  • 如何完成origdate在 之后authordate之后的格式化edition

答案1

一个超级简单且非黑客的方式来获得关闭您想要的是改变的定义以更\DeclareLabeldate喜欢:origdatedate

这只需要将其添加到您的序言中:

\DeclareLabeldate{%
  \field{origdate}
  \field{date}
  \field{year}
  \field{eventdate}
  \field{urldate}
  \literal{nodate}
}

平均能量损失

\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@incollection{Luther1530,
  title = {Von der Stadtmaus und der Feldmaus},
  booktitle = {Martin Luthers Fabeln und Sprichwörter},
  author = {Luther, Martin}, 
  editor = {Dithmar, Reinhard},
  chapter = {XII},
  address = {Darmstadt},
  publisher = {Wiss\adddot\space Buchges},
  origdate = {1530},
  date = {1995},
  edition = {2., korr\adddot\space Aufl\adddot}
}
\end{filecontents}

\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}

\DeclareLabeldate{%
  \field{origdate}
  \field{date}
  \field{year}
  \field{eventdate}
  \field{urldate}
  \literal{nodate}
}

\begin{document}
\autocite{Luther1530}
\printbibliography
\end{document}

输出

如果这还不够好,那么您将必须单独修补每个驱动程序。这并不难,但有点麻烦:

\usepackage{xpatch}
\xpatchbibdriver{incollection}
  {\printfield{edition}}
  {\printfield{edition}%
   \newunit
   \printdate
   \clearfield{year}}
  {}
  {}

平均能量损失

\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@incollection{Luther1530,
  title = {Von der Stadtmaus und der Feldmaus},
  booktitle = {Martin Luthers Fabeln und Sprichwörter},
  author = {Luther, Martin}, 
  editor = {Dithmar, Reinhard},
  chapter = {XII},
  address = {Darmstadt},
  publisher = {Wiss\adddot\space Buchges},
  origdate = {1530},
  date = {1995},
  edition = {2., korr\adddot\space Aufl\adddot}
}
\end{filecontents}

\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}

\DeclareLabeldate{%
  \field{origdate}
  \field{date}
  \field{year}
  \field{eventdate}
  \field{urldate}
  \literal{nodate}
}

\usepackage{xpatch}
\xpatchbibdriver{incollection}
  {\printfield{edition}}
  {\printfield{edition}%
   \newunit
   \printdate
   \clearfield{year}}
  {}
  {}

\begin{document}
\autocite{Luther1530}
\printbibliography
\end{document}

MWE 输出

相关内容