![如何在 Natbib 中生成括号引用“(AuthorA, 1999, 5; AuthorB, 2001, 21)”](https://linux22.com/image/437711/%E5%A6%82%E4%BD%95%E5%9C%A8%20Natbib%20%E4%B8%AD%E7%94%9F%E6%88%90%E6%8B%AC%E5%8F%B7%E5%BC%95%E7%94%A8%E2%80%9C(AuthorA%2C%201999%2C%205%3B%20AuthorB%2C%202001%2C%2021)%E2%80%9D.png)
我正在写一篇文章,使用elsarticle-harv
模板,它使用 Natbib 作为后端。我可以使用以下方式引用多个来源
Here is a citation \cite[][]{keyA, keyB}.
生成文本
以下是引用 (AuthorA, 1999; AuthorB, 2001)。
我可以使用以下方式在特定页面或章节中引用单个来源
Here is a citation \cite[][5]{keyA}.
生成文本
这里有一个引用(AuthorA,1999,5)。
我怎样才能同时获得两者? 我想制作以下文字:
以下是引用 (AuthorA, 1999, 5; AuthorB, 2001, 21)。
不用说,
Here is a citation \cite[][5]{keyA}[][21]{keyB}.
不起作用。
答案1
natbib
的\citealp
宏是你的朋友。
\documentclass[authoryear]{elsarticle} % 'natbib' is loaded automatically
\begin{filecontents}[overwrite]{mybib.bib}
@misc{a1, author = "AuthorA", title = "Who?", year = 1999 }
@misc{a2, author = "AuthorB", title = "Why?", year = 2001 }
\end{filecontents}
\bibliographystyle{elsarticle-harv}
\begin{document}
\noindent
(\citealp[5]{a1}; \citealp[21]{a2})
\bibliography{mybib}
\end{document}