我正在编写一份文档,使用natbib
和plainnat
进行作者年份样式的引用,并用于参考书目。我有一个使用 的引用列表\citet
,我想在最后一项之前添加单词“and”,即
Roussy 等人(2005a、b)和Teixeira 和 Rosa (2006),而不是 Roussy 等人 (2005a,b);特谢拉和罗莎 (2006)
\documentclass[a4paper]{article}
\usepackage[authoryear,round,sort]{natbib}
\bibliographystyle{plainnat}
\begin{filecontents*}{\jobname.bib}
@Article{Roussy2005,
author = {Roussy, Jean and Van Vooren, Maurice and Dempsey, B. A. and Guibal, Eric},
title = {Influence of chitosan characteristics on the coagulation and the flocculation of bentonite suspensions},
journal = {Water Research},
year = {2005},
volume = {39},
number = {14},
pages = {3247-3258},
}
@Article{Roussy2005a,
author = {Roussy, Jean and Van Vooren, Maurice and Guibal, Eric},
title = {Influence of chitosan characteristics on coagulation and flocculation of organic suspensions},
journal = {Journal of Applied Polymer Science},
year = {2005},
volume = {98},
number = {5},
pages = {2070-2079},
}
@Article{Teixeira2006,
author = {Teixeira, Margarida Ribau and Rosa, Maria João},
title = {Comparing dissolved air flotation and conventional sedimentation to remove cyanobacterial cells of \textit{Microcystis aeruginosa}. {Part I}: The key operating conditions},
journal = {Separation and Purification Technology},
year = {2006},
volume = {52},
number = {1},
pages = {84-94},
}
\end{filecontents*}
\begin{document}
According to \citet{Roussy2005,Roussy2005a,Teixeira2006}
\bibliography{\jobname}
\end{document}
答案1
最快但最肮脏的方法是重新定义\NAT@sep
宏:
\makeatletter\def\NAT@sep{ and}\makeatother
或者您可以使用\bibpunct
宏(来自 natbib.sty 源):
Use \bibpunct with 6 mandatory arguments:
1. opening bracket for citation
2. closing bracket
3. citation separator (for multiple citations in one \cite)
4. the letter n for numerical styles, s for superscripts
else anything for author-year
5. punctuation between authors and date
6. punctuation between years (or numbers) when common authors missing
您想要调整第三个参数:
\bibpunct[, ]{(}{)}{ and}{a}{,}{,}
请注意,在所有示例中,“and” 前都需要一个空格。由于它要与标点符号一起使用,因此它应该位于第一个引用之后。
还要注意,这些都是全局解决方案!如果您连续引用了三个或更多个引文,则所有三个引文都由“and”连接。您可能不希望这样。要局部调整分隔符,您可以执行以下操作
According to \citet{Roussy2005,Roussy2005a,Teixeira2006}
\bgroup\makeatletter\def\NAT@sep{ and}\makeatother
According to \citet{Roussy2005,Roussy2005a,Teixeira2006}
\egroup
According to \citet{Roussy2005,Roussy2005a,Teixeira2006}
这将为您提供:
答案2
该软件包的用户指南natbib
(参见第 9 页,下半部分)明确不鼓励使用多个参数\citet
除非所引用的作品有相同的作者。( 的情况有所不同\citep
。)
因此,不要写
... \citet{Roussy2005,Roussy2005a,Teixeira2006} ...
你应该写
... \citet{Roussy2005,Roussy2005a} and \citet{Teixeira2006} ...
即,您应该\citet
从一开始就使用两个单独的指令。