我最近在 Biblatex 上寻求帮助。我的大学对引用有一些奇怪的要求,他们要求我写以下引用:(vgl.{firstName} {lastName} et. al. ({year})) 如果作者人数超过 2 人。
否则应显示 (vgl. {firstName} {lastName}, {firstName2} {lastName2}. ({year}))
因此我想到了以下内容,但我无法将名字添加到引文中
%Literaturverzeichnis
\usepackage[ style=authoryear, sorting=nyt, maxnames=2, useprefix=true]{ }
\def \citedefault #1[#2]{(vgl. \citeauthor*{#1} (\citeyear{#1}), #2)}
\def \citenopage #1{(vgl. \citeauthor*{#1} (\citeyear{#1}))}
\def \citefigure #1[#2]{\citeauthor*{#1} (\citeyear{#1}), #2}
\addbibresource{literatur.bib}
\DefineBibliographyStrings{german}{urlseen = {abgerufen am}}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}},
}
\usepackage[csdisplay=true]{csquotes}
我在 .tex 文件中使用以下代码:
\citenopage{wirtschaftslexikonGeldmenge}
我的 literatur.bib 文件如下所示:
@online{wirtschaftslexikonGeldmenge,
author = {Budzinski, Oliver and Jasper, Jörg and Michler, Albrecht},
date = {2018-02-19},
language = {german},
title = {Geldmenge},
url = {https://wirtschaftslexikon.gabler.de/definition/geldmenge-32198/version-255744},
urldate = {2022-04-30},
}
输出如下:
(vgl. Budzinski et al. (2018))
但我的大学要求:按照以下方式:
(vgl. Oliver Budzinski et al. (2018))
答案1
您将需要更改labelname
名称格式。
一般来说,将多个\...cite
命令合并为一个并不是一个好主意。通常有更优雅的方法来实现所需的结果。在这种情况下biblatex-ext
可以有所帮助。
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=ext-authoryear,
maxcitenames=2,
useprefix=true,
]{biblatex}
\DeclareInnerCiteDelims{parencite}{(}{)}
\DeclareNameAlias{labelname}{given-family}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DefineBibliographyStrings{german}{
andothers = {et\addabbrvspace al\adddot},
}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite[vgl.][380]{sigfridsson}
ipsum \autocite[vgl.][]{nussbaum}
dolor \autocite[23]{companion}
sit \autocite{geer}
\printbibliography
\end{document}