在我的脚注和参考书目中,偶尔会出现特殊的作者姓名,这些姓名不应按照通常的模式打印(姓氏,名字)。
例如:Athanasius Alexandrinus
需要保持这种状态,因为“Alexandrinus”不是他的姓氏,而是他担任主教的城市的名字。
我通过像{Athanasius Alexandrinus}
书目中那样写他的名字解决了这个问题。但是,现在出版商希望我在姓氏后面加上小写字母。当我这样做时,这种特殊的名字也会以小写字母显示,尽管它们不是姓氏。
这就是我得到的结果:
第一个脚注中的 Athanasius Alexandrinus 需要保持在一起但不是小写。
这是我的 MWE:
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{csquotes}
\usepackage{blindtext}
\usepackage{filecontents}
\usepackage{hyperref}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{filecontents}{\jobname.bib}
@incollection{athanasius1857,
Address = {Parisiis},
Author = {{Athanasius Alexandrinus}},
Booktitle = {Patrologiae cursus completus: Series Graeca},
Editor = {Jacques Paul Migne},
Pages = {37-40},
Publisher = {Accurante J.-P. Migne},
Shortauthor = {Ath.},
Shorttitle = {ep. Marcell.},
Title = {Epistula ad Marcellinum de interpretatione psalmorum},
Volume = {27},
Year = {1857}}
@article{stead1997,
Author = {Christopher Stead},
Journal = {Studia Patristica},
Keywords = {secondary},
Pages = {39-52},
Title = {Was Arius a Neoplatonist?},
Volume = {32},
Year = {1997}}
\end{filecontents}
\usepackage[ngerman]{babel}
\usepackage[style=historische-zeitschrift, maxnames=2, hyperref=true, backref=true, backrefstyle=none, backend=bibtex,idemtracker=true]{biblatex}
\renewcommand*{\mkbibnamegiven}[1]{\normalfont{#1}}% NO ITALIC IN FIRST NAMES
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}% SMALL CAPS IN LAST NAMES
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}% SMALL CAPS IN LAST NAMES
\renewcommand*{\mkbibnamesuffix}[1]{\textsc{#1}}% SMALL CAPS IN LAST NAMES
\DeclareNameAlias{upshape}{given-family}% SMALL CAPS IN LAST NAMES
\AtBeginBibliography{%
\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}
}
\setlength\bibitemsep{0.46\itemsep}
\bibliography{\jobname}
%
\makeatletter%
\renewbibmacro*{chapter+pages}{%
\printfield{chapter}%
\newunit}%
\renewenvironment{thebibliography}%
{\renewbibmacro*{chapter+pages}{%
\printfield{chapter}%
\setunit*{\addcomma\space}%
\printfield{pages}%
\newunit}}%
\makeatother%
%
\begin{document}
\blindtext\footcite[See][S. 56]{athanasius1857}
\blindtext\footcite[See][S. 22]{stead1997}
\blindtext\footcite[See][S. 56]{athanasius1857}
\printbibliography
\end{document}
答案1
您需要一种方法来告诉biblatex
您不要在这些情况下以小写字母输出名称。“最佳”解决方案是使用数据注释,请参阅 §3.6数据注释的biblatex
文档和PLK 的回答使用 biblatex 将特定作者设为粗体,重载 Author+an / 突出显示多个作者。
一个非常非常相似的问题是BibLaTeX:防止某些作者使用大写字母。
只需告诉biblatex
不要在注释中使用小写字母即可nosc
。您需要为author
和设置注释shortauthor
@incollection{athanasius1857,
author = {{Athanasius Alexandrinus}},
author+an = {1=nosc},
shortauthor = {Ath.},
shortauthor+an = {1=nosc},
title = {Epistula ad Marcellinum de interpretatione psalmorum},
shorttitle = {ep. Marcell.},
editor = {Jacques Paul Migne},
booktitle = {Patrologiae cursus completus: Series Graeca},
pages = {37-40},
volume = {27},
date = {1857},
address = {Parisiis},
publisher = {Accurante J.-P. Migne},
}
然后你可以使用
\renewcommand*{\mkbibnamefamily}[1]{\ifitemannotation{nosc}{#1}{\textsc{#1}}}
这个功能需要 Biber,BibTeX 是不够的。
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage{blindtext}
\usepackage{filecontents}
\usepackage{hyperref}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{filecontents}{\jobname.bib}
@incollection{athanasius1857,
author = {{Athanasius Alexandrinus}},
author+an = {1=nosc},
shortauthor = {Ath.},
shortauthor+an = {1=nosc},
title = {Epistula ad Marcellinum de interpretatione psalmorum},
shorttitle = {ep. Marcell.},
editor = {Jacques Paul Migne},
booktitle = {Patrologiae cursus completus: Series Graeca},
pages = {37-40},
volume = {27},
date = {1857},
address = {Parisiis},
publisher = {Accurante J.-P. Migne},
}
@article{stead1997,
author = {Christopher Stead},
title = {Was Arius a Neoplatonist?},
journal = {Studia Patristica},
volume = {32},
year = {1997},
pages = {39-52},
keywords = {secondary},
}
\end{filecontents}
\usepackage[ngerman]{babel}
\usepackage[style=historische-zeitschrift, maxnames=2, hyperref=true, backref=true, backrefstyle=none, backend=biber, idemtracker=true]{biblatex}
\renewcommand*{\mkbibnamegiven}[1]{#1}
\renewcommand*{\mkbibnamefamily}[1]{\ifitemannotation{nosc}{#1}{\textsc{#1}}}
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamesuffix}[1]{\textsc{#1}}
\DeclareNameAlias{upshape}{given-family}
\AtBeginBibliography{%
\renewcommand*{\labelnamepunct}{\addcolon\space}%
\renewcommand*{\multinamedelim}{\addsemicolon\space}%
\renewcommand*{\finalnamedelim}{\multinamedelim}%
\DeclareNameAlias{sortname}{family-given}%
\DeclareNameAlias{default}{family-given}%
}
\setlength\bibitemsep{0.46\itemsep}
\addbibresource{\jobname.bib}
\DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
\begin{document}
\blindtext\footcite[See][56]{athanasius1857}
\blindtext\footcite[See][22]{stead1997}
\blindtext\footcite[See][56]{athanasius1857}
\printbibliography
\end{document}
什么\renewenvironment{thebibliography}%
都没做,而且\renewbibmacro*{chapter+pages}
对我来说太急切了,所以我删除了它们。我还添加了\DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
“S.”,这样就不需要在后记中给出“S”。