我习惯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}