Bibtex的两个小技巧

最近写文章的过程中发现了两个关于Bibtex的小问题:

1. 有的外国人的名字带后缀,比如说一个人的名字是Henry J. Duwe III,其中·Henry是名,J.是中间名的缩写,Duwe是姓,III是后缀。类似的后缀还有Jr. Sr.等等。在bibtex中,如果直接写,III就会变成姓。不过Bibtex好像可以处理这样的问题。可以使用姓前名后用逗号分隔的方法写成author = {Duwe, III, Henry J.}这样在显示的时候就成了Duwe III, H. J.

2.另外一个问题是过长的作者列表。比如说一个文章的作者列表有8个人,而很多杂志会要求只列出前面的2个或者3个,其他用et al代替。鉴于IEEEtran是我们现在使用最平凡的模板,IEEETran有如下的解决方式:

在bibtex文件中加入如下的一个特殊参考文献:

@IEEEtranBSTCTL{BSTcontrol,
  CTLuse_forced_etal = "yes",
  CTLmax_names_forced_etal = 3,
  CTLnames_show_etal = 2
}

其中CTLuse_forced_etal是一个命令,定义使用etal显示作者(默认禁止);CTLmax_names_forced_etal定义当作者数量超过多少时使用etal(默认是10);CTLnames_show_etal定义当使用etal时,显示多少个作者(默认是1)。

启用该设置,我们需要在tex文件中的一个地方(文本之前就好)引用该参\考文献:

\bstctlcite{BSTcontrol}

这样参考文献列表就会按照修改后的设置显示作者列表了。

Advertisements