使用哈佛引文管理包和 IOPART 文档类时,引文标注中的“作者不得超过两位”

使用哈佛引文管理包和 IOPART 文档类时,引文标注中的“作者不得超过两位”

IOP 出版期刊要求,如果有两位以上的作者,则只应显示名字,后跟“et al.”(\etaliopart.cls)。但是,如果加载了引文管理包dcu,则参考书目格式(推荐的iopart)会在第一次引用时包含文本中的所有作者harvard。有什么方法可以解决此冲突吗?我想使用哈佛格式,文本中的作者不超过两位。

更具体地说,我正在创建一个iopart文档并使用哈佛字母表样式作为参考文献。我正在从 bib 文件中读取,并\citeasnoun{ref}在文本中使用。我还使用dcu.bst在参考文献中包含文章标题。

答案1

对于有 3 个或更多作者的出版物,如果harvard加载了引文管理包,则dcu参考书目样式旨在在第一次引用该出版物时包含该出版物所有作者的姓名;从第二次引用开始,firstauthor et al使用缩写形式进行引文调用。

该软件包的用户指南harvard提到,可以覆盖默认设置,即可以通过发出指令,从文章第一次被引用开始生成缩写的引文标注

\citationmode{abbr}

harvard在序言中加载包之后。


完整的 MWE (最小工作示例):

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{abc, author="Author and Buthor and Cuthor", title="Title", year=3001}
\end{filecontents}

\documentclass{iopart}
\usepackage{harvard}
\bibliographystyle{dcu}
\citationmode{abbr}  % <-- new

\begin{document}
\noindent
\citeasnoun{abc} argue that \dots
\section*{References}
\bibliography{mybib}
\end{document}

另一种解决方案是harvard根本不加载包,而是加载natbib包,同时仍使用dcu参考书目样式。使用此解决方案,实际上最好加载har2nat包,这样可以natbib自动加载包,同时保留包的一些特殊功能harvard

完整的 MWE(没有提供屏幕截图,因为它与上面显示的基本上相同):

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{abc, author="Author and Buthor and Cuthor", title="Title", year=3001}
\end{filecontents}

\documentclass{iopart}
\usepackage{har2nat}  % loads 'natbib' automatically
\bibliographystyle{dcu}
\providecommand\newblock{} % suppress some meaningless warnings

\begin{document}
\noindent
\citet{abc} argue that \dots
\bibliography{mybib}
\end{document}

答案2

biblatex包 (http://linorg.usp.br/CTAN/macros/latex/contrib/biblatex/doc/biblatex.pdf)有一个maxnames变量

\usepackage[style=authoryear-ibid,backend=biber, maxnames=2]{biblatex}

相关内容