自定义 .bst 文件:change.case$ 不起作用

自定义 .bst 文件:change.case$ 不起作用

我正在使用自定义 .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$
}

输出: pdflatex 输出

另一个例子: 在 .bib 文件中,标题是 title = {Grandmaster level in StarCraft II using multi-agent reinforcement learning}

并产生输出: 示例 2 它看起来正在将其改为句子大小写而不是标题大小写。

另一个例子 title = {the title of the work} 输出为: 示例 3

但是当我将其中一行改为时,我format.title得到title "u" change.case$示例4

这是非常奇怪的行为。您知道如何解决吗?

编辑:预期输出是“作品标题”()。我想实现标题大小写。

答案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

相关内容