我需要引用来显示所有作者。但是我只能显示第一个作者的姓氏。在本例中为“Horschitz”。 这是我的代码。
\documentclass[12pt,a4paper]{article}
\usepackage[german]{babel}
\usepackage[backend=biber,style=authoryear,giveninits=true,sorting=nyt,]{biblatex}
\usepackage{filecontents}
\AtBeginBibliography{%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\&\space}%
}
\let\origparencite\parencite
\renewrobustcmd{\parencite}{%
\AtNextCite{%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\&\space}%
}%
\origparencite%
}
\DeclareNameAlias{sortname}{family-given}
\begin{filecontents}{myreferences.bib}
@book{bilstr,
address = {Stuttgart},
author = {Horschitz, Harald and Gro{\ss}, Walter and Fanck, Bernfried and Guschl, Harald and Kirschbaum, J{\"u}rgen and Schustek, Heribert},
date-added = {2021-03-27 23:38:45 +0100},
shorttitle ={Bilanzsteuerrecht},
date-modified = {2021-03-27 23:41:36 +0100},
edition = {14},
publisher = {},
series = {Finanz und Steuern},
title = {Bilanzsteuerrecht und Buchf{\"u}hrung},
volume = {1},
year = {2016}}
\end{filecontents}
\addbibresource{myreferences.bib}
\begin{document}
This is an example text \footcite[Vgl.][S.33]{bilstr}
\printbibliography
\end{document}
答案1
设置maxnames
为较高的值,例如999
显示所有名称。将labelname
格式设置为sortname
同时显示名字的首字母。
我还添加了一些代码,用于在引文中的名称之间添加斜线。我明确只更改了和,\footcite
而没有更改参考书目和\parencite
,因为您的 MWE 对它们有不同的代码。(我稍微更新了该代码,但保留了功能。)
\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[
backend=biber,
style=authoryear,
sorting=nyt,
maxnames=999,
giveninits=true,
]{biblatex}
\DeclareDelimFormat[bib,parencite]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\&\space}
\DeclareDelimFormat[footcite]{multinamedelim}{\addslash}
\DeclareDelimAlias[footcite]{finalnamedelim}{multinamedelim}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{labelname}{sortname}
\begin{filecontents}{\jobname.bib}
@book{bilstr,
address = {Stuttgart},
author = {Horschitz, Harald and Groß, Walter and Fanck, Bernfried
and Guschl, Harald and Kirschbaum, Jürgen and Schustek, Heribert},
shorttitle = {Bilanzsteuerrecht},
edition = {14},
series = {Finanz und Steuern},
title = {Bilanzsteuerrecht und Buchführung},
volume = {1},
year = {2016},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This is an example text \footcite[Vgl.][33]{bilstr}
\printbibliography
\end{document}
如果您希望输出更加一致,请替换
\DeclareDelimFormat[bib,parencite]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\&\space}
\DeclareDelimFormat[footcite]{multinamedelim}{\addslash}
\DeclareDelimAlias[footcite]{finalnamedelim}{multinamedelim}
和
\DeclareDelimFormat{multinamedelim}{\addslash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
我还想指出我的答案到你之前的一个问题。我特别建议你删除 中的“S.”postnote
并让biblatex
系统为你添加。你也可以直接使用ü
andß
来代替{\"u}
and {\ss}
。