我使用 biblatex-sbl,这是我当前的结果:
格尔克,汉斯-约阿希姆。古董史。一本学习手册。 2. 奥夫拉斯图加特,2019 年。
在德语书目中,引用版本(德语为“Auflage”)并不常用“2.Aufl.”来表示,而是在出版日期前面的上标中标出版本号,例如:
格尔克,汉斯-约阿希姆。古董史。一本学习手册。斯图加特,22019。
有人能帮我解决这个事情吗?这是我的 MWE:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@mvbook{Gehrke.19,
author = {Gehrke, Hans-Joachim},
title = {Geschichte der Antike. Ein Studienbuch},
location = {Stuttgart},
edition = {2},
date = {2019}
}
\end{filecontents}
\usepackage[ngerman]{babel}
\usepackage[style=sbl,ibidtracker=false,idemtracker=false]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\null\vfill
Filler text \autocite{Gehrke.19}.
Filler text \autocite{Gehrke.19}.
\printbibliography
\end{document}
答案1
您需要修补(cite:)book
、、cite:commentary
和驱动程序以删除其通常位置的版本打印,调整日期打印宏以包含版本,然后更改版本的格式(cite:)suppbook
。(cite:)incollection
希望这不会产生任何意想不到的副作用。
平均能量损失
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@mvbook{Gehrke.19,
author = {Gehrke, Hans-Joachim},
title = {Geschichte der Antike. Ein Studienbuch},
location = {Stuttgart},
edition = {2},
date = {2019}
}
\end{filecontents}
\usepackage[ngerman]{babel}
\usepackage[style=sbl,ibidtracker=false,idemtracker=false]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{xpatch}
\xpatchbibdriver{cite:book}
{\newunit\printfield{edition}}
{}{}{}
\xpatchbibdriver{cite:commentary}
{\newunit\printfield{edition}}
{}{}{}
\xpatchbibdriver{cite:suppbook}
{\newunit\printfield{edition}}
{}{}{}
\xpatchbibdriver{cite:incollection}
{\newunit\printfield{edition}}
{}{}{}
\xpatchbibdriver{book}
{\newunit\printfield{edition}}
{}{}{}
\xpatchbibdriver{suppbook}
{\newunit\printfield{edition}}
{}{}{}
\xpatchbibdriver{incollection}
{\newunit\printfield{edition}}
{}{}{}
\DeclareFieldFormat{edition}{\textsuperscript{#1}}
\renewbibmacro*{date}{%
\printfield{edition}%
\printdate
\setunit{\addcomma\addspace}%
\printfield{pubstate}}
\begin{document}
\null\vfill
Filler text \autocite{Gehrke.19}.
Filler text \autocite{Gehrke.19}.
\printbibliography
\end{document}