我可能再次需要一些帮助,因为我试图省略引文中的标题。参考书目中不能省略标题。
早在 2014 年,@moewe 就建议使用\AtEveryCitekey{\clearfield{title}}
.[1] 该帖子于 2018 年更新。不幸的是,这对我来说不起作用。这些函数似乎并未过时,与 biblatex 手册有关。然而,使用以下代码我得到的是“Bock, Strafrecht Besonderer Teil。”而不是“Bock。”。
\documentclass[]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[backend=biber,%
autocite=footnote,%
bibstyle=ext-authortitle,%
citestyle=ext-authortitle,%
]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{Bock.2018,
author = {Bock, Dennis},
year = {2018},
title = {Strafrecht Besonderer Teil},
address = {Berlin, Germany},
publisher = {{Springer Nature}},
isbn = {978-3-662-54790-8},
series = {Springer-Lehrbuch}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\AtEveryCitekey{\clearfield{title}}
\begin{document}
Cite\autocite{Bock.2018}
\end{document}
答案1
ext-authortitle-terse
(或)样式authortitle-terse
正是您想要的。只要shorttitle
相关条目中存在该字段,当同一作者有多部作品时,就会打印该字段;否则只会打印作者。我已调整您的示例.bib
文件以显示两个不同的shortauthor
字段。
\documentclass[]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[backend=biber,%
autocite=footnote,%
bibstyle=ext-authortitle,%
citestyle=ext-authortitle-terse,%
]{biblatex}
\begin{filecontents}[overwrite]{\jobname.bib}
@book{Bock.2018,
author = {Bock, Dennis},
year = {2018},
title = {Strafrecht Besonderer Teil},
shorttitle = {Stafrecht},
address = {Berlin, Germany},
publisher = {{Springer Nature}},
isbn = {978-3-662-54790-8},
series = {Springer-Lehrbuch}
}
@book{Bock.2018B,
author = {Bock, Dennis},
year = {2018},
title = {Strafrecht Besonderer Teil},
shorttitle = {Besonderer},
address = {Berlin, Germany},
publisher = {{Springer Nature}},
isbn = {978-3-662-54790-8},
series = {Springer-Lehrbuch}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Cite\autocite{Bock.2018,Bock.2018B}
\end{document}