Biblatex:仅更改一个部分中列出的参考书目中的作者数量

Biblatex:仅更改一个部分中列出的参考书目中的作者数量

我习惯biblatex按部分打印参考书目。我的风格通常要求每个参考书目条目没有文章标题,最多 3 位作者。然而,在特定部分,我需要放宽这些限制,并显示文章标题和完整的作者列表。我该如何实现呢?

以下是我当前的设置:

\documentclass{article}
\usepackage[backend=bibtex,
            maxnames = 3,
            firstinits=false,
            uniquename=init,
            autocite=superscript,
            style=nature,
            articletitle=false,
            natbib=true,
            defernumbers=true]{biblatex}
\addbibresource{my_publications.bib}

...
\begin{document}

\newrefsection
\section{First section}
Some text with \autocite{Ref:1}
...
\printbibliography

\newrefsection
\section{Second Section}
%%------------------------
%% Here we want to relax no-show of article title max 3 authors
\settoggle{bbx:articletitle}{true} % Reset showing article name
<what should I do to reset maxbibnames??>

...

Some text with \autocite{Ref:1,Ref:2}
...

\printbibliography

\end{document}

我认为一个可能的解决方法是

\patchcmd{\blx@maxbibnames}{...}{...}{}{}

但我无法正确完成其他字段......

答案1

重置maxname选项非常困难,因为maxnames它与条目本身非常接近。所以我想出了

\newtoggle{bbx:allnames}
\togglefalse{bbx:allnames}
\AtEveryBibitem{\iftoggle{bbx:allnames}{\defcounter{maxnames}{999}}{}}

你可以使用

\toggletrue{bbx:allnames}

bbx:articletitle与之前查看所有名称的切换完全类似\printbibliography。您可以使用 切换回文档默认设置以进行\printbibliography下一步\togglefalse{bbx:allnames}

平均能量损失

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[backend=bibtex,
            maxnames = 3,
            firstinits=false,
            uniquename=init,
            autocite=superscript,
            style=nature,
            articletitle=false,
            natbib=true,
            defernumbers=true]{biblatex}
\addbibresource{biblatex-examples.bib}

\newtoggle{bbx:allnames}
\togglefalse{bbx:allnames}
\AtEveryBibitem{\iftoggle{bbx:allnames}{\defcounter{maxnames}{999}}{}}

\begin{document}
\newrefsection
\section{First section}
Some text with \autocite{aksin}
\printbibliography

\newrefsection
\section{Second Section}
\toggletrue{bbx:articletitle}
\toggletrue{bbx:allnames}
Some text with \autocite{aksin,worman}
\printbibliography
\end{document}

相关内容