对于我在大学的论文,在参考书目中,我需要将版本号放在年份的左边,像这样(其中 Auflage = 版本):
到目前为止,我得到以下内容:
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[french, ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[autostyle]{csquotes}
\usepackage[backend=biber, style=ext-authoryear, innamebeforetitle=true, innameidem=true, maxcitenames=2, dashed=false]{biblatex}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{ineditor}{sortname}
\DeclareDelimFormat[bib]{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias*[bib]{finalnamedelim}{multinamedelim}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareDelimFormat[bib]{nametitledelim}{\adddot\space}
\DeclareDelimFormat{multinamedelim}{\slash}
\DeclareDelimFormat{finalnamedelim}{\slash}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\bibstring{in}%
\printunit{\intitlepunct}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addnbthinspace}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\urlstyle{same}
\DeclareFieldFormat{url}{URL: <\url{#1}>}
\DeclareFieldFormat{urldate}{\mkbibbrackets{#1}}
\DefineBibliographyStrings{german}{
editor = {Hrsg\adddot},
editors = {Hrsg\adddot},
}
\DeclareFieldFormat{edition}{\textsuperscript{#1}}
\begin{filecontents}{literatur.bib}
@incollection{Baldinger,
author = {Baldinger, Kurt},
title = {Semasiologie und Onomasiologie},
booktitle = {2. Teilband},
publisher = {De Gruyter Mouton},
year = {2008},
editor = {Posner, Roland and Robering, Klaus and Sebeok, Thomas},
edition = 3
}
\end{filecontents}
\bibliography{literatur}
\begin{document}
\cite{Baldinger}
\printbibliography
\end{document}
我已经查阅了一些帖子德国 stackexchange但不知何故,按照他们的例子,我只在错误的位置达到了版本号的提升。但我需要在年份之前提升它。
你可以帮帮我吗?
答案1
bibmacrodate+extrayear
已重命名为date+extradate
(在 v3.8 [2017-11-04] 中)。原则上,来自的代码https://golatex.de/viewtopic.php?p=77661#p77661如果您记住定义ext-authoryear
与原始定义略有不同(参见),只需进行少量修改即可重复使用。ext-authoryear-common.bbx
,v0.13 中的第 39-45 行)。
\documentclass[a4paper, 12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[french, ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[autostyle]{csquotes}
\usepackage[
backend=biber,
style=ext-authoryear,
innamebeforetitle=true,
innameidem=true,
maxcitenames=2,
dashed=false
]{biblatex}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{ineditor}{sortname}
\DeclareDelimFormat{multinamedelim}{\slash}
\DeclareDelimFormat[bib]{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareDelimFormat[bib]{nametitledelim}{\adddot\space}
\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\makeatletter
\renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}
{}
{\printtext[\blx@delimcontext labeldate]{%
\printfield[superedition]{edition}%
\global\clearfield{edition}%
\iflabeldateisdate
{\printdateextra}
{\printlabeldateextra}}}}
\makeatother
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\bibstring{in}%
\printunit{\intitlepunct}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addnbthinspace}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\urlstyle{same}
\DeclareFieldFormat{url}{URL: <\url{#1}>}
\DeclareFieldFormat{urldate}{\mkbibbrackets{#1}}
\DefineBibliographyStrings{german}{
editor = {Hrsg\adddot},
editors = {Hrsg\adddot},
}
\begin{filecontents}{\jobname.bib}
@incollection{Baldinger,
author = {Baldinger, Kurt},
title = {Semasiologie und Onomasiologie},
maintitle = {Semiotik / Semiotics},
booktitle = {2.~Teilband},
publisher = {De Gruyter Mouton},
year = {2008},
editor = {Posner, Roland and Robering, Klaus and Sebeok, Thomas},
edition = 3
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{Baldinger,sigfridsson}
\printbibliography
\end{document}