:)
我想更改版本条目这样它就坐在 bib 条目的末尾(但前提是附录之前还有附录条目)。
我目前正在使用一种解决方法“滥用”附录字段来实现此目的,但随着文献数量的增加,如果能将其组织得更整齐就更好了。
梅威瑟:
\documentclass[
12pt,
a4paper,
headings=standardclasses,
listof=totoc,
numbers=noenddot
]{scrartcl}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.00cm, footskip=1cm]{geometry}
\usepackage[onehalfspacing]{setspace}
\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[ngerman]{isodate}
\usepackage[ngerman]{datetime}
%----------------------------------------------------------------------------
% BIB
%----------------------------------------------------------------------------
\usepackage[
backend=biber,
style=ext-authoryear,
sorting=nyvt,
datamodel=customstyles,
maxnames=25,
innamebeforetitle=true,
usetranslator=true,
alldates=terse,
labeldate=year,
dashed=false,
doi=false,
isbn=false
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage[hidelinks, pdfencoding=auto]{hyperref}
\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}
% editor in parentheses
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,online]
{title}{#1\isdot}
%--------------------------------------------------------------------
% MAIN
%--------------------------------------------------------------------
\begin{filecontents}{\jobname.bib}
@collection{Karnath.2012,
addendum = {(3., aktualisierte und erweiterte Auflage)},
title = {Kognitive Neurowissenschaften},
editor = {Karnath, Hans-Otto and Thier, Peter},
place = {Berlin, Heidelberg},
publisher = {Springer},
year = {2012}}
\end{filecontents}
\begin{document}
\parencite{Karnath.2012}
\clearpage
\printbibheading[heading=bibintoc,title={Literaturverzeichnis}]
\printbibliography
\end{document}
答案1
使用biblatex-ext
样式,您可以重新定义 bibmacroedition
以在其通常的位置隐藏版本。然后,您只需将其重新插入到所需的位置即可。(在这里,我选择将版本附加到出版商、位置 [和日期] 详细信息中,因为这看起来很合理并且位于条目末尾,但您也可以选择其他位置,例如 in addendum+pubstate
)。
\documentclass[
12pt,
a4paper,
headings=standardclasses,
listof=totoc,
numbers=noenddot
]{scrartcl}
\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[
backend=biber,
style=ext-authoryear,
sorting=nyvt,
datamodel=customstyles,
maxnames=25,
innamebeforetitle=true,
usetranslator=true,
alldates=terse,
labeldate=year,
dashed=false,
doi=false,
isbn=false
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage[hidelinks, pdfencoding=auto]{hyperref}
\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}
% editor in parentheses
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,online]
{title}{#1\isdot}
\DeclareFieldFormat{edition}{\mkbibparens{#1}}
\renewbibmacro*{edition}{}
\renewbibmacro*{pubinstorg+location+date}[1]{%
\printlist{location}%
\iflistundef{#1}
{\setunit*{\locdatedelim}}
{\setunit*{\locpubdelim}}%
\printlist{#1}%
\setunit*{\pubdatedelim}%
\usebibmacro{date}%
\newunit
\printfield{edition}%
\newunit}
\begin{filecontents}{\jobname.bib}
@collection{Karnath.2012,
title = {Kognitive Neurowissenschaften},
editor = {Karnath, Hans-Otto and Thier, Peter},
location = {Berlin and Heidelberg},
publisher = {Springer},
year = {2012},
edition = {3., aktualisierte und erweiterte Auflage},
}
\end{filecontents}
\begin{document}
\autocite{Karnath.2012}
\printbibliography[heading=bibintoc,title={Literaturverzeichnis}]
\end{document}
对于仅有数字的版本,biblatex
最好使用原始数字(而edition = {2},
不是edition = {2. Auflage}
,),但如果您必须给出更具体的指定,如“3.,aktualisierte und erweiterte Auflage”,则应在字段中包含“Auflage”。
请注意,标准样式不知道字段place
,出版商的城市会进入该location
字段(或者address
如果您想要 BibTeX 向后兼容)。