引用所有作者

引用所有作者

我需要引用来显示所有作者。但是我只能显示第一个作者的姓氏。在本例中为“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}

是。 Horschitz, H./Groß, W./Fanck, B./Guschl, H./Kirschbaum, J./Schustek, H. 2016,S. 33。

如果您希望输出更加一致,请替换

\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}

相关内容