elsarticle - 同一作者,同一年份 - 显示年份两次

elsarticle - 同一作者,同一年份 - 显示年份两次

通过运行这个:

\documentclass[review, authoryear]{elsarticle}
\usepackage{filecontents}   
\begin{filecontents}{\jobname.bib}
@article{mieghem10assortativity,
    Month = {Nov},
    Numpages = {11},
    Publisher = {American Physical Society},
    author = {Van Mieghem, P. and Ge, X. and Schumm, P. and Trajanovski, S. and Wang, H.},
    title = {Spectral graph analysis of modularity and assortativity},
    journal = {Physical Review E},
    volume = {82},
    number = {5},
    pages = {056-113},
    year = {2010},
    doi = {10.1103/PhysRevE.82.056113},
}

@article{mieghem20assortativity,
Month = {Nov},
Numpages = {11},
Publisher = {American Physical Society},
author = {Van Mieghem, P. and Ge, X. and Schumm, P. and Trajanovski, S. and Wang, H.},
title = {Other title},
journal = {Physical Review E},
volume = {82},
number = {5},
pages = {056-113},
year = {2010},
doi = {10.1103/PhysRevE.82.056113},
}
 \end{filecontents}


\begin{document}

blah. \cite{mieghem20assortativity,mieghem10assortativity} says
blah blah

\bibliographystyle{elsarticle-harv}
\bibliography{\jobname}

\end{document}

我得到的输出如下:

废话。 (Van Mieghem 等人,2010a、b)说了等等

问题是我怎样才能

废话。 (Van Mieghem 等人,2010a、2010b)说了等等

提前谢谢您!

答案1

您描述的问题与文档类别没有直接关系。相反,它是由文档类别自动加载的引文管理包elsarticle引起的,如果引用的条目具有相同的作者,它会压缩引文标注natbibelsarticle出版年份。(附言:该natbib包指出\citet(或\cite)不应与多个参数一起使用除非所有论证都具有相同的作者集合。

您可能不想对软件包内部进行大规模的黑客攻击natbib(不推荐!),而是想寻求一个不那么雄心勃勃的解决方案,即使用natbib\citeauthor\citeyear来实现看起来等效的解决方案。当然,\specialcite下面定义的宏应该绝不如果条目的作者和出版年份不完全相同,则可使用。

在此处输入图片描述

话虽如此,我真的找不到任何令人反感的地方\citet,并对\citep具有相同作者和年份的条目的引用标注进行压缩。

\RequirePackage{filecontents}   
\begin{filecontents}{\jobname.bib}
@misc{aa:2010a,
   author = "Anne Author",
   title  = "First Thoughts",
   year   = 2010,
}
@misc{aa:2010b,
   author = "Anne Author",
   title  = "Second Thoughts",
   year   = 2010,
}
\end{filecontents}

\documentclass[authoryear]{elsarticle}
\bibliographystyle{elsarticle-harv}
\newcommand\specialcite[2]{\citeauthor{#1}\ (\citeyear{#1}, \citeyear{#2})}

\begin{document}
\citet{aa:2010a,aa:2010b}

\specialcite{aa:2010a}{aa:2010b}

\bibliography{\jobname}
\end{document}

相关内容