МВЭ

МВЭ

Я использую biblatex-sbl и вот мой текущий результат:

Герке, Ганс-Иоахим. История античности. Ein Studienbuch. 2. Ауфл. Штутгарт, 2019.

В немецкой библиографии довольно часто принято указывать издание (по-немецки «Auflage») не как «2. Aufl.», а номер издания в верхнем индексе перед датой публикации, например:

Герке, Ганс-Иоахим. История античности. Ein Studienbuch. Штутгарт, 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}

Выход МВЭ

Связанный контент