![自定义 .bst 文件:change.case$ 不起作用](https://linux22.com/image/417094/%E8%87%AA%E5%AE%9A%E4%B9%89%20.bst%20%E6%96%87%E4%BB%B6%EF%BC%9Achange.case%24%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在使用自定义 .bst 文件,但title "t" change.case$
似乎不起作用。与参数"u"
或一起使用时,它会将转换更改为 lower 或 upper "l"
。
我的format.title
职责:
FUNCTION {format.title}
{ "title" bibinfo.check
title "t" change.case$
duplicate$ empty$ 'skip$
{
"\enquote{" swap$ *
"}, " *
}
if$
}
另一个例子:
在 .bib 文件中,标题是
title = {Grandmaster level in StarCraft II using multi-agent reinforcement learning}
并产生输出:
它看起来正在将其改为句子大小写而不是标题大小写。
另一个例子
title = {the title of the work}
输出为:
但是当我将其中一行改为时,我format.title
得到title "u" change.case$
:
这是非常奇怪的行为。您知道如何解决吗?
编辑:预期输出是“作品标题”(看)。我想实现标题大小写。
答案1
"t" change.case$
应用我(和 Wikipedia)所说的“句子大小写”。它将除第一个字母(以及冒号后跟至少一个空格的第一个字母)之外的所有字母转换为小写,而第一个字母保持不变。
没有内置的 BibTeX 函数来应用 Wikipedia 定义中的标题大小写,我也不知道有全面的 BibTeX(或确实biblatex
)标题大小写解决方案。另请参阅Bibtex 中“标题大小写”的实现。
文件中句子大小写和标题大小写通常的处理方式.bib
如下
- 文件中的标题以标题大小写形式给出
.bib
,其中单词始终需要大写(专有名词、首字母缩略词等),并用花括号保护。 - 如果需要,参考书目样式可以将标题转换为句子大小写,否则它将显示为输入(即标题大小写)。
在你的情况下你应该写
title = {The Title of the Work},
title = {Grandmaster Level in {StarCraft II} Using Multi-agent Reinforcement Learning},
在.bib
文件中写入
title
change.case$
文件中没有任何调用.bst
。