我正在使用 BibTeX 和 natbib,并尝试制作一个单独的\citep
块,其中两个条目被展开(即我会用 分别引用它们\citep*
),而一个条目没有展开。也就是说,期望的效果是
(Marigo 等人 2001 年;Siess、Livio 和 Lattanzio 2002 年)
如果我使用\citep{marigo+01,siess02}
,我会得到
(Marigo 等人 2001 年;Siess 等人 2002 年)
如果我用\citep*{marigo+01,siess02}
(Marigo、Girardi、Chiosi 和 Wood 2001;Siess、Livio 和 Lattanzio 2002)。
如果您想知道我为什么不直接修改参考书目样式,那是因为我遵循 MNRAS 样式,该样式要求第一次引用三位作者的论文,之后则引用为 et al.。为了便于论述,假设第一篇论文是 (Marigo, Girardi & Wood 2001),我仍然想混合这两种模式。
我不确定搜索功能(或谷歌)是否真的知道我使用了\citep*
而不是,\citep
所以如果这是重复的,我深表歉意。
答案1
对于您描述的问题,我能看到的唯一合理直接(虽然很笨拙!)的解决方案是使用复合指令
\citetext{\citealp{marigo+01}; \citealp*{siess02}}
指令\citetext
用于用括号将其参数括起来。\citealp
和\citealp*
指令的行为分别类似于\citep
和,\citep*
只是它们不是将结果文本用括号括起来。