如何修改 .bst 文件,使其能够根据引用期刊的语言自动将“et.al”更改为“等”?如果期刊的语言是 zh,我想用“等”代替“et.al”。
这是我的 .bst 文件的一部分
ENTRY
{
author
title
publisher
journal
address
year
date
pages
translator
booktitle
institution
country
url
volume
number
type
id
note
language
}
FUNCTION {bbl.etal}
{ "et~al" }
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{f.~}{vv~}{ll}{, jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
nameptr #3
#1 + =
numnames #3
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
"," *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
感谢您的帮助!
各位,如果我没有表达清楚,请见谅。我希望在文档末尾的参考书目部分使用“et al.” 。并且我希望使用语言字段来确定 FUNCTION {bbl.etal} 的输出。
当我引用
@article{pedregosa2011scikit,
title={Scikit-learn: Machine learning in Python},
author={Pedregosa, Fabian and Varoquaux, Ga{\"e}l and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and others},
journal={Journal of machine learning research},
volume={12},
number={Oct},
pages={2825--2830},
year={2011},
language={en}
}
它在参考书目部分正确显示
[1]F. Pedregosa, G. Varoquaux, A. Gramfort, et al. Scikit-learn: Machine learning in python[J].Journal of machine learning research, 2011, 12(Oct): 2825-2830
然而,当我引用中国期刊时,就像这样
@article{何清2014大数据下的机器学习算法综述,
title={大数据下的机器学习算法综述},
author={何清 and 李宁 and 罗文娟 and 史忠植},
journal={模式识别与人工智能},
volume={27},
number={4},
pages={327--336},
year={2014},
language={zh}
}
显示“et al”而不是汉字“等”
[2]何清,李宁,罗文娟, et al.大数据下的机器学习算法综述[J].模式识别与人工智能, 2014,27(4): 327-336
另外,这不是一个错误,我只是想对“FUNCTION {bbl.etal}”做一些改进。
我对此还很陌生,再次对我的问题格式不当表示抱歉。
答案1
我明白了!
将“FUNCTION {bbl.etal}”替换为
FUNCTION {bbl.etal}
{
language "zh" =
{ "等" }
{ "et~al" }
if$
}