![使用 maxcitenames=1 时,使用 biblatex 在正文中添加完整的参考书目条目](https://linux22.com/image/364795/%E4%BD%BF%E7%94%A8%20maxcitenames%3D1%20%E6%97%B6%EF%BC%8C%E4%BD%BF%E7%94%A8%20biblatex%20%E5%9C%A8%E6%AD%A3%E6%96%87%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%AE%8C%E6%95%B4%E7%9A%84%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E6%9D%A1%E7%9B%AE.png)
我想使用 在正文主体部分显示完整的参考书目条目biblatex
。但在同一文档中,我想使用\textcite
并仅显示第一作者。
以下是我正在使用的配置的 MWE:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{heitzig2016topology,
AUTHOR = {Heitzig, J. and Kittel, T. and Donges, J. F. and Molkenthin, N.},
TITLE = {Topology of sustainable management of dynamical systems with desirable states: from defining planetary boundaries to safe operating spaces in the Earth system},
JOURNAL = {Earth System Dynamics},
VOLUME = {7},
YEAR = {2016},
NUMBER = {1},
PAGES = {21--50},
URL = {https://www.earth-syst-dynam.net/7/21/2016/},
DOI = {10.5194/esd-7-21-2016}
}
\end{filecontents}
\usepackage[
style=alphabetic,
backend=biber,
backref=true,
maxbibnames=99,
maxcitenames=1,
mincitenames=1,
giveninits=true,
]{biblatex}
\addbibresource{\jobname}
\begin{document}
Here, I want just the first author mentioned: \textcite{heitzig2016topology}
And here I want the full list of all authors mentioned (as in the actual bibliography below) but it doesn't work: \fullcite{heitzig2016topology}
\printbibliography
\end{document}
这个问题类似,但\fullcite
据我所知,那里给出的解决方案在这里没有帮助。并且bibentry
包的\bibentry
命令没有给出任何输出(对我来说)。
答案1
\fullcite
使用许多“引用”设置,即使它从参考书目执行驱动程序。特别是它使用maxcitenames
/ mincitenames
,我们可以让它服从maxbibnames
/minbibnames
\makeatletter
\DeclareCiteCommand{\fullcite}
{\usebibmacro{prenote}}
{\usedriver
{\defcounter{minnames}{\blx@minbibnames}%
\defcounter{maxnames}{\blx@maxbibnames}%
\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\makeatother