\documentclass[fontsize=12pt,oneside,headsepline]{scrbook}
\usepackage[demo]{graphicx}
\usepackage{csquotes}
\usepackage[style=apa,natbib=true,backend=biber,uniquename=false,pagetracker=true]{biblatex}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\DeclareLanguageMapping{german}{german-apa}
\DeclareFieldFormat{apacase}{#1}
\DefineBibliographyStrings{ngerman}{
andothers = {{et al\adddot}}, }
\usepackage{filecontents}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@article{zapkau2015,
author = {Florian B. Zapkau and Christian Schwens and Holger Steinmetz and R{\"u}diger Kabst},
title = {Disentangling the effect of prior entrepreneurial exposure on entrepreneurial intention},
journal = {Journal of Business Research},
year = {2015},
volume = {68},
number = {3},
pages = {639 - 653},
issn = {0148-2963},
keywords = {Prior entrepreneurial exposure, Role models, Work experience, Entrepreneurial intention, Theory of planned behavior },
}
\end{filecontents}
\begin{document}
Some Text ...\citep{zapkau2015}.
More Text ...
\begin{figure}[h]
\centering
\caption{Caption Text \citet{zapkau2015}.} \label{fig:forschungsmodell}
\vspace{2ex}
\includegraphics[width=0.7\linewidth]{TPB.eps}\\
\end{figure}
\end{document}
我的问题是:第一次引用 zapkau 时会带上所有作者的名字。这里,这是正确的。多次引用 zapkau 时,在文中使用时会在作者名字后面加上“et al.”
问题:
在图的标题中引用时,再次:
我搜索了其他解决方案,但似乎没有一个适合我的情况。提前感谢您的帮助!:-)
答案1
这是因为biblatex
禁用了图表内的引用跟踪,如figure
如果在环境中使用,\footcite 总是打印长引用,您可以按照那里的答案所述重新启用图形中的引用跟踪。如果您将浮动对象视为文本的一部分,并希望事物表现得像它们出现在文本中一样,那么这可能是“最佳”解决方案。
\ifciteseen
或者,您可以重置浮点数的非跟踪行为
\makeatletter
\AtBeginDocument{
\apptocmd\@floatboxreset
{\let\blx@imc@ifciteseen\@firstoftwo}
{}
{\blx@err@patch{floats}}%
}
\makeatother
这将导致浮动中的所有引用都出现在缩短版本中,而不是长的第一个引用版本中。
由于您正在使用natbib
定义带星号的命令版本的兼容模式,我们不妨重新定义这些版本。通常情况下natbib
,兼容模式下带星号的 cite 命令版本将打印所有作者。但是,biblatex-apa
该代码不适用于 。因此带星号的natbib
命令对 毫无用处biblatex-apa
。我们可以恢复它们并让它们执行相反的操作:始终打印出缩短的列表,无论其他内容如何。
\makeatletter
\renewrobustcmd*{\citet}{%
\@ifstar
{\AtNextCite{\AtEachCitekey{\let\ifciteseen\@firstoftwo}}%
\textcite}
{\textcite}}
\makeatletter
應該足够了。
Mico 的 MWE 给出
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{zapkau2015,
author = {Florian B. Zapkau and Christian Schwens
and Holger Steinmetz and R{\"u}diger Kabst},
title = {Disentangling the effect of prior
entrepreneurial exposure on entrepreneurial
intention},
journal = {Journal of Business Research},
year = {2015},
volume = {68},
number = {3},
pages = {639 - 653},
issn = {0148-2963},
keywords = {Prior entrepreneurial exposure, Role
models, Work experience, Entrepreneurial intention,
Theory of planned behavior},
}
\end{filecontents}
\documentclass[american]{article}
\usepackage[demo]{graphicx}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=apa,natbib=true,backend=biber,
uniquename=false,pagetracker=true]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}
\usepackage[skip=0.333\baselineskip]{caption} % <-- optional
\makeatletter
\renewrobustcmd*{\citet}{%
\@ifstar
{\AtNextCite{\AtEachCitekey{\let\ifciteseen\@firstoftwo}}%
\textcite}
{\textcite}}
\makeatletter
\begin{document}
Some Text \dots\ \citep{zapkau2015}.
More Text \dots\ \citep{zapkau2015}
\begin{figure}[h]
\centering
\caption{Caption Text \dots\ \citet*{zapkau2015}.} % <-- new
\label{fig:forschungsmodell}
\includegraphics[width=0.7\linewidth]{TPB.eps}
\end{figure}
More Text \dots\ \citep{zapkau2015}
\printbibliography
\end{document}
答案2
如果biblatex
包中装有选项,它会模拟引文管理包natbib=true
中的一些“核心”命令——但并非模拟所有的宏和选项,例如选项,它指示和在第一次引用条目时排版完整的作者列表,并为后续的引文调用排版缩写列表(“et al”)。natbib
natbib
longnamesfirst
\citet
\citep
然而,natbib 的命令\defcitealias
和\citetalias
是如果设置了该选项,则会进行模拟natbib=true
。因此,我建议您使用它们在\caption
命令内创建缩写列表引用调用。诚然,这有点笨拙,但我相信您的文档中没有那么多在\caption
指令内创建引用调用的实例……
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{zapkau2015,
author = {Florian B. Zapkau and Christian Schwens
and Holger Steinmetz and R{\"u}diger Kabst},
title = {Disentangling the effect of prior
entrepreneurial exposure on entrepreneurial
intention},
journal = {Journal of Business Research},
year = {2015},
volume = {68},
number = {3},
pages = {639 - 653},
issn = {0148-2963},
keywords = {Prior entrepreneurial exposure, Role
models, Work experience, Entrepreneurial intention,
Theory of planned behavior},
}
\end{filecontents}
\documentclass[american]{article}
\usepackage[demo]{graphicx}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=apa,natbib=true,backend=biber,
uniquename=false,pagetracker=true]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}
\defcitealias{zapkau2015}{Zapkau et~al.\ (2015)} % <-- new
\usepackage[skip=0.333\baselineskip]{caption} % <-- optional
\begin{document}
Some Text \dots\ \citep{zapkau2015}.
More Text \dots\ \citep{zapkau2015}
\begin{figure}[h]
\centering
\caption{Caption Text \dots\ \citetalias{zapkau2015}.} % <-- new
\label{fig:forschungsmodell}
\includegraphics[width=0.7\linewidth]{TPB.eps}
\end{figure}
\printbibliography
\end{document}