使用 maxcitenames=1 时,使用 biblatex 在正文中添加完整的参考书目条目

使用 maxcitenames=1 时,使用 biblatex 在正文中添加完整的参考书目条目

我想使用 在正文主体部分显示完整的参考书目条目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

相关内容