使用 biblatex+biber 以及任何“详细”样式,似乎都maxcitenames
没有效果。我想要实现的是使用\textcite
出现的引用只包含少量的 maxname,但在相应的脚注中显示完整的作者列表。
目前我使用以下选项:
\usepackage[backend=biber,
maxcitenames=2,
maxbibnames=20,
style=verbose-note
]{biblatex}
Let's cite \textcite{A} here.
我认为这应该会产生类似以下内容的结果:
我们在此引用 Author et al.^1。
^1 作者 A、作者 B 和作者 C“论文标题”。期刊、年份。
但我得到的却是这个,就好像我对和都有同样大的数字一样maxcitenames
。maxbibnames
有什么好的解决方法吗?
我们在此引用作者 A、作者 B 和作者 C^1。
^1 作者 A、作者 B 和作者 C“论文标题”。期刊、年份。
梅威瑟:
\documentclass{article}
\begin{filecontents}{test-example.bib}
@article{a,
author = {A, Author and B, Author and C, Author},
title = {Paper title},
journal = {Journal A},
year = {1921},
}
\end{filecontents}
\usepackage[backend=biber,
maxcitenames=2,
maxbibnames=20,
style=verbose-note
]{biblatex}
\addbibresource{test-example.bib}
\begin{document}
Let's cite \textcite{a} here.
\end{document}
答案1
所有引用均遵循maxcitenames
/mincitenames
设置,甚至包括\fullcite
或以某种样式在脚注中的第一个引用verbose
,否则会模仿参考书目输出。
我们可以通过重新定义 bibmacro 来使脚注中的完整引用遵循maxbibnames
/ 。minbibnames
footcite:full
\documentclass{article}
\usepackage[
backend=biber,
style=verbose-note,
maxcitenames=2,
maxbibnames=20,
]{biblatex}
\makeatletter
\renewbibmacro*{footcite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver
{\defcounter{minnames}{\blx@minbibnames}%
\defcounter{maxnames}{\blx@maxbibnames}%
\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\null\vfill % just for the example
Let's cite \textcite{companion} here.
Let's cite \textcite{sigfridsson} here.
Let's cite \textcite{companion} here.
\end{document}