![BibTeX 在创建 .bbl 文件时丢失大写字母](https://linux22.com/image/234630/BibTeX%20%E5%9C%A8%E5%88%9B%E5%BB%BA%20.bbl%20%E6%96%87%E4%BB%B6%E6%97%B6%E4%B8%A2%E5%A4%B1%E5%A4%A7%E5%86%99%E5%AD%97%E6%AF%8D.png)
我要引用的文章标题包含大写字母,使用 BibTeX 时会将其转换为小写字母。这种情况只发生在标题中,只有第一个字母保留其大小写。例如,当我引用一篇关于 HF 的文章时,读者不知道它是关于铪 (Hf) 还是氟酸 (HF)。
我知道我可以在.bbl
文件中手动修复它,但我想避免它,或者自动修复它。
答案1
这不是一个错误,而是一个功能。根据所使用的参考书目样式,BibTeX 会将标题中的所有字符转换为小写,但第一个字符除外。如果您想覆盖此设置,请将字符括在花括号中,例如,
title = "Pascal, {C}, {Java}: were they all conceived in {ETH}?"
答案2
大写字母的丢失是设计使然:BibTeX 这样做是因为有些,但不是全部引用样式要求标题大写(又称“标题大小写”);其他样式使用普通大小写。您的书目数据库应该可以同时使用这两种大写字母样式,无需修改,因此 BibTeX 样式设计如下:你必须以大写形式写标题,您的bst
样式要么保持原样,要么将其转换为小写。小写可以任意使用 - BibTeX 不会尝试猜测哪些词是专有名词、缩写词等。(请注意,即使单词中间的字母也会变成小写)。为了保护应始终大写的单词,请将它们括在括号中。
长话短说:不管您希望在参考文献中看到的大写样式,将标题中的所有内容词大写,并将专有名词等括在括号中。像这样:
title = "A Short Grammar of {Middle} {English}: Graphemics, Phonemics and Morphemics"
注意:常规单词必须大写,但是不是括在括号内。这是唯一一种可以正确适用于任何引文样式的形式。对于使用标题大小写的样式,它将按书写方式显示(括号除外)。对于使用小写标题的引文样式,它将显示为A short grammar of Middle English: Graphemics, phonemics and morphemics
。
笔记:
我添加了这个答案,因为我认为所有现有的答案都是不完整的:它们显示了如何阻止 BibTeX 的小写行为,但没有说明它的用途或如何正确使用它。甚至 信誉良好的参考资料在这方面给出糟糕的建议。
尽管 BibTeX 文档建议只将第一个字母括在括号 (
{M}iddle {E}nglish
) 中,但这会影响字母之间的正确字距调整,应避免这样做。例如,比较佛({Font}
顶部:正确)和{F}ont
(底部:错误)。注意标题中是否需要括号其他原因:它们也会阻止小写,并且
title = "All About \emph{About}"
会显示为All about \emph{About}
。 BibTeX 实际上曾经正确处理过这个问题:如果括号后面紧跟着一个宏,它会将括号内的内容转换为小写,就像在旧式字体命令中一样{\em About\/}
。 不幸的是,这种内置行为对现代语法没有帮助。 不过,如果您记得输入 ,您仍然可以从中受益\emph{\relax About}
。 (任何命令都可以代替\relax
,只要它紧跟有问题的括号。)即使是最细心的作者也可能会忽略一些大写字母(如果他们通常的
bst
风格是将所有内容都小写的话)或一些括号(如果不是的话);因此,如果您切换到具有不同大写约定的新风格,请仔细检查您的参考文献。事实上,“标题大小写”有多种样式,详见本文。BibTeX 无法区分它们:它要么保留您的标题大小写,要么不保留。因此,请选择一种标题大小写样式,并在您的标题中使用它。
答案3
如果您确实想更改所有参考书目条目,那么您可以修改样式文件。将其复制到mybst.bst
然后编辑文件以将函数修改format.title
为:
FUNCTION {format.title}
{
% title empty$
% { "" }
% { title "t" change.case$ }
% if$
title
}
然后它没有改变大写字母。将新文件保存到您的文档目录中并尝试一下。如果有效,那么您可以将其移动到本地 texmf 树中。
各种样式均可从以下网址下载氯化三乙胺。
答案4
这类事情的典型参考是 Nicolas Markey 的驯服野兽。对于 HF 示例,请输入为以{HF}
保留大写。
一般来说,最好只在需要固定大写字母的最小部分加上括号。有些出版物需要全部大写,有些需要标题大小写,有些需要句子大小写。因此,为了获得最大的灵活性,关于铪和氢氟酸的文章应该输入为title = {The effects of {HF} on {Hf}}