当在括号中引用时,将引用出版日期显示在方括号中

当在括号中引用时,将引用出版日期显示在方括号中

我知道这个问题已经有答案了如何使引用出现在方括号 [ ] 内而不是括号 ( ) 内?但我还想找点别的东西。当我在括号中引用一些参考文献时,我希望这些参考文献的出版日期出现在方括号中。但在文档中的任何其他情况下,我希望这些引用日期出现在括号中。为了在 TeX 中说明这个句子(对于参考书目样式,我使用jsb.bst):

\documentclass{article}
\usepackage{natbib}
\begin{document}
\bibliographystyle{jmb}%download style from http://ftp.math.utah.edu/pub/tex/bibtex/jmb.bst
Several studies in the past have investigated the perception of emotions from body 
movement (e.g. \citet{Dittrich1996, Pollick2001}).
\bibliography{test}
\end{document}.

附有简化书目test.bib

@article{Dittrich1996,
author = {Dittrich, Winand H and Troscianko, Tom and Lea, S E and Morgan, D},
year = {1996}
}
@article{Pollick2001,
author = {Pollick, Frank E. and Paterson, H M and Bruderlin, Armin and Sanford, A J},
year = {2001}
}

产生以下效果:

过去的一些研究已经调查了从身体运动中感知情绪的情况(例如 Dittrich 等人(1996 年);Pollick 等人(2001 年))。

其中一个括号内有一个括号 - 不太整洁(并且会引起一些语法敏感的人的注意)。以下是我想要的:

过去的一些研究已经调查了从身体运动中感知情绪的情况(例如 Dittrich 等人 [1996];Pollick 等人 [2001];Scherer [2003])。

答案1

我建议您使用命令\citealt,而不是\citealp,来完成手头的工作。(该指令将在作者和年份子字符串之间插入逗号;我不认为这是您想要的。)

在此处输入图片描述

\RequirePackage{filecontents}
\documentclass{article}
\begin{filecontents*}{test.bib}
@article{Dittrich1996,
author = {Dittrich, Winand H. and Troscianko, Tom and Lea, S. E. and Morgan, D.},
journal = "XYZ",
volume  = 1,
issue   = 1,
pages   = "1-100",
year = {1996}
}
@article{Pollick2001,
author = {Pollick, Frank E. and Paterson, H M and Bruderlin, Armin and Sanford, A J},
journal = "XYZ",
volume  = 5,
issue   = 1,
pages   = "12-15",
year = {2001}
}
\end{filecontents*}
\usepackage[square]{natbib}
\begin{document}
\bibliographystyle{jmb}
Several studies in the past have investigated the perception of emotions from body 
movement (e.g., \citealt{Dittrich1996, Pollick2001}).
\bibliography{test}
\end{document}

相关内容