如何保留自定义的 .bst 格式,但防止大写字母丢失?

如何保留自定义的 .bst 格式,但防止大写字母丢失?

我在自定义 .bst 文件中有以下代码:

FUNCTION {format.title}
{ title
  duplicate$ empty$ 'skip$
    { "t" change.case$ }
  if$
  "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      "\enquote{" swap$ *
      "}, " *
    }
  if$
}

我希望保持一切不变,除了,我希望它保留大写字母。

背景介绍:我使用 Zotero 和 Better Bibtex。Zotero 中的所有文件都标有 #LaTeX,这迫使 Zotero 保留标题的“原样”——这样我就可以在标题中使用 LaTeX 格式。不幸的是,这也使它无法在大写字母存在的地方添加花括号,所以现在 bibtex 在所有地方都给我小写字母(但至少 LaTeX 格式正确!)。

如果 bibtex 不改变这些上限,我就会非常开心。

谢谢。

答案1

"t" change.case$将 的大小写更改为句子title大小写(仅保留第一个字母,其他不受括号保护的字母将转换为小写)。您想删除包含此调用的整个块。然后您的函数将显示

FUNCTION {format.title}
{ title
  "title" bibinfo.check
  duplicate$ empty$
    'skip$
    {
      "\enquote{" swap$ *
      "}, " *
    }
  if$
}

相关内容