bst latex 最大作者数_latex 参考文献作者是三个以上时如何处理?

在.bst文件中修改

FUNCTION {bbl.etal}

{ "等." }

FUNCTION {bbl.cn.etal}

{ "et~al." }

比如对如下两条文献来说,

@inproceedings{ChenX2011TCCC,

author = {Xing Chen and Dong Hai Li and Zhi Qiang Gao and et al.},

title = {Tuning method for second-order active disturbance rejection control},

booktitle = {the 30th Chinese Control Conference},

publisher = {IEEE},

pages = {6322-6327},

year = {2011}

}

@article{LiSQ2012GK,

author = {李述清 and 张胜修 and 刘毅男 and et al.},

title = {根据系统时间尺度整定自抗扰控制器参数},

journal = {控制理论与应用},

volume = {29},

number = {1},

pages = {125-1129},

year = {2012}

}

编译后生成的记录为:

Chen X, Li DH, Gao ZQ, 等. Tuning method for second-order active disturbance

rejection control. Proceedings of the 30th Chinese Control Conference. IEEE,

2011. 6322–6327.

以及

李述清, 张胜修, 刘毅男, 等. 根据系统时间尺度整定自抗扰控制器参数. 控制理论与应用, 2012, 29(1):125–1129.

我想要的结果是英文下三个作者以上用“et al”,中文作者三个以上用“等”。

如果修改上面的FUNCTION如下

FUNCTION {bbl.etal}

{ "et~al." }

FUNCTION {bbl.cn.etal}

{ "等." }

结果不论是中文还是英文都变成“et al”了。

请问怎么处理?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LaTeX 中,可以通过编写自定义的 .bst 文件来定义参考文献的样式,包括作者最大限制。以下是一些关于如何在 bst 文件中定义最大作者的示例代码: 1. 定义最大作者为 3: ``` FUNCTION {default.name.format} { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", et~al." * } { ",~" * t * } if$ } { t } if$ } READ FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { " and " * t * } if$ } { t } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } READ ``` 2. 定义最大作者为 2: ``` FUNCTION {default.name.format} { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", et~al." * } { ",~" * t * } if$ } { t } if$ } READ FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { " and " * t * } if$ } { t } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := numnames #2 > { ", et~al." * } 'skip$ if$ } while$ } READ ``` 在以上代码中,我们主要是修改了 default.name.format 和 format.names 这两个函。其中 default.name.format 定义了作者列表的显示格式,而 format.names 则是对作者列表进行格式化的函。在 format.names 中,我们加入了一个条件判断,当作者超过最大限制,自动省略多余的作者

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值