修改bst文件中FUNCTION {format.names}部分,使得参考文献中Cai, Z., &Fan, J., &Li, R. 变成Cai, Z., Fan, J., &Li, R.
时间: 2023-08-15 07:05:22 浏览: 117
您可以按照以下步骤修改bst文件中的format.names函数:
1. 找到bst文件中的FUNCTION {format.names}部分。
2. 在该函数中找到以下两行代码:
"{vv~}{ll}{, jj}{, f.}"
"{ll}{, jj}{, f.}"
3. 将这两行代码替换为以下代码:
"{vv~}{ll}{, }{ff}{, }{jj}"
"{ll}{, }{ff}{, }{jj}"
4. 保存bst文件并重新编译您的tex文档即可。
注意:这个修改会影响所有的参考文献,因此请在修改前备份您的bst文件。
相关问题
怎么写bst文件中的FUNCTION {format.names},使得最后一个作者前为\&
在bst文件中的FUNCTION {format.names}中,可以按照如下方式修改:
1. 找到 FUNCTION {format.names},复制整个函数的内容并在文本编辑器中进行修改。
2. 找到其中的两个变量 num.names 和 last.names。num.names 表示参与作者列表的作者数量,last.names 表示最后一个作者的编号。
3. 在 FUNCTION {format.names} 中找到 "{vv~}{ll}" 格式的代码段,这是用来格式化作者名字的。
4. 在该代码段前面添加以下代码:
FUNCTION {format.names}
{ num.names #1 >
{ num.names #2 >
{ "," * }
'skip$
if$
last.names 1 = % 如果只有一个作者
{ " \& " * } % 在作者名字和前面加上 &
{ " and " * } % 否则在作者名字和前面加上 and
if$
't :=
#2 'num :=
bbl.names 'num :=
#1 'last :=
#1 'first :=
{ names.show.format }
if$
}
{ names.show.format }
if$
}
5. 保存修改后的 bst 文件,并使用修改后的 bst 文件生成参考文献即可。
怎么写bst文件中完整的FUNCTION {format.names},使得最后一个作者前为&
下面是一个完整的 FUNCTION {format.names} 的例子,可以实现最后一个作者名字前加上 & 的效果:
```
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 * }
{
", " *
s nameptr "{ll}" format.name$ " \& " *
t *
}
if$
}
{ t * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
```
在这个例子中,我们首先定义了一个变量 `s` 来存储作者列表的字符串,然后定义了变量 `nameptr` 来追踪当前处理的作者的编号,变量 `numnames` 来存储作者的总数,以及变量 `namesleft` 来存储还剩下多少个作者没有处理。
在 while 循环中,我们依次处理每个作者的名字,通过 `format.name$` 函数将其格式化成 `{f.~}{vv~}{ll}{, jj}` 的格式,并将结果存储在变量 `t` 中。然后根据当前处理的作者是不是最后一个作者,来决定是否在最后一个作者前加上 `"\&"` 字符串,最后将格式化好的作者名字和之前的结果 `t` 进行合并,并将结果存储在变量 `t` 中。
最后,我们使用 `while$` 循环来迭代处理所有的作者,将得到的结果输出。这样,我们就能够实现在最后一个作者前加上 `"\&"` 字符串的效果。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)