我想知道,如果作者和编辑的名字被标记为“假名”,是否可以在作者和编辑的名字后面添加(Pseud.)。将作者标记为 Pseud 的最佳做法是什么?这个想法是让它表现得像(Eds. 或 Hg.)代表编辑,所以它会出现在作者名字后面的括号中。顺序(如果是 Ed.)将位于编辑(Pseud.)(Hg.)(2000)之前:标题...
梅威瑟:
\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}
@book{Karnath.2012,
addendum = {(3., aktualisierte und erweiterte Auflage)},
title = {Kognitive Neurowissenschaften},
author = {Karnath, Hans-Otto and Thier, Peter},
place = {Berlin, Heidelberg},
publisher = {Springer},
year = {2012}}
@collection{Karnath.2012b,
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} \parencite{Karnath.2012b}
\clearpage
\printbibheading[heading=bibintoc,title={Literaturverzeichnis}]
\printbibliography
\end{document}
答案1
您可以使用项目注释来标记假名(例如,另请参阅https://tex.stackexchange.com/a/304968/35864,https://tex.stackexchange.com/a/317642/35864,BibLaTeX:防止某些作者使用大写字母,通过 biblatex/biber 中的特殊标记表明共同第一作者,Biblatex 多作者注释)然后我们需要注入代码来打印名称格式中的假名信息。
\documentclass[12pt, a4paper]{scrartcl}
\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[
backend=biber,
style=ext-authoryear,
innamebeforetitle=true,
dashed=false,
]{biblatex}
\usepackage[hidelinks, pdfencoding=auto]{hyperref}
\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareFieldFormat{edition}{\mkbibparens{#1}}
\NewBibliographyString{pseudonym}
\DefineBibliographyStrings{german}{
pseudonym = {Pseud\adddot},
}
\newbibmacro*{name:pseudonym}{%
\ifitemannotation{pseudonym}
{\addspace
\mkbibparens{%
\bibstring{pseudonym}}}
{}}
\DeclareNameFormat{given-family}{%
\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:pseudonym}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{family-given}{%
\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:pseudonym}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{family-given/given-family}{%
\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:pseudonym}%
\usebibmacro{name:andothers}}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,online]
{title}{#1\isdot}
\begin{filecontents}{\jobname.bib}
@book{Karnath.2012,
title = {Kognitive Neurowissenschaften},
author = {Karnath, Hans-Otto and Thier, Peter},
author+an = {2=pseudonym},
place = {Berlin and Heidelberg},
publisher = {Springer},
year = {2012},
edition = {3., aktualisierte und erweiterte Auflage},
}
@collection{Karnath.2012b,
title = {Kognitive Neurowissenschaften},
editor = {Karnath, Hans-Otto and Thier, Peter},
editor+an = {2=pseudonym},
place = {Berlin and Heidelberg},
publisher = {Springer},
year = {2012},
edition = {3., aktualisierte und erweiterte Auflage},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Lorem \autocite{Karnath.2012,Karnath.2012b}
\printbibliography[heading=bibintoc, title={Literaturverzeichnis}]
\end{document}