在参考书目数据库中存储标题时,应使用什么大小写?

在参考书目数据库中存储标题时,应使用什么大小写?

在书目数据库中存储标题时,应使用哪种大小写?有两种选择:

(a)将标题存储在标题大小写。当样式要求时,转换为句子大小写。
title = {This is a Title in Title Case},
在这种情况下,需要确保使用额外的{大括号}保护首字母缩略词、名称和其他永远不会转换为小写的单词。还需要将不应转换的外语标题放在大括号内。

(b)将标题存储在句子大小写. 当样式要求时转换为标题大小写。
title = {This is a title in sentence case},
此解决方案要求language字段具有正确的值,以便外语标题不会意​​外地大写。

本网站有许多帖子表明,从 Bib(La)TeX 的角度来看,选项 (a) 显然是首选。请参阅这里这里这里, 和 这里

另一方面,像 Zotero 这样的工具似乎在这样的假设下工作:将句子大小写转换为标题大小写比将标题大小写转换为句子大小写更容易实现自动化 -看这里或者这里——因此推荐选项(b)。

有了解这些问题背景知识的人能解释一下为什么/何时应该选择一个而不是另一个吗?为什么 (a) 在这里主要被称为选择项?

从 Zotero 论坛上的论点来判断,使用该language字段时,选项 (b) 似乎是一种更为稳健的方法 - 因为不需要对 bib 文件进行太多手动编辑。

然而,我必须说,到目前为止,我在使用 BibLaTeX 以及导出到其他格式时(例如,pandoc-citeproc使用--biblatex标志完美无缺)都很好地使用了选项 (a),尽管在大写单词中添加额外的括号需要额外的工作。但是,由于我目前即将对我的 bib 数据库进行一些重大更新,并且由于 Zotero 人员似乎坚决反对以标题大小写存储标题,并且考虑到避免添加所有这些括号会很好,所以我怀疑自己是否应该花时间更新我的工作流程?

任何专业知识都将不胜感激。

答案1

LaTeX 的标题大小写处理方法

BibTeX 和biblatex都有将标题大小写(或基本上任何大小写)转换为句子大小写的功能,但不能反过来。所以在 LaTeX 世界中,建议必须是

以标题大小写保存字段,并保护专有名词和其他无法通过括号更改大小写的单词。然后样式将在需要时应用句子大小写。

事实上,使用时biblatex您还应该填充langid字段(不是language这里),因为有些语言没有标题大小写和句子大小写的区别,在这些情况下您根本不想转换标题(德语是不能改变大写的,但也有其他没有标题大小写传统的语言,或者标题应该始终使用标题大小写,而句子大小写不是一种选择)。大多数 BibTeX(.bst)样式更为激进,通常在转换大小写时不考虑语言。

现在,为什么 BibTeX/biblatex和 Zotero 在应该存储什么方面得出了基本上相反的结论,我不能肯定地说,但我认为这部分是由于 BibTeX 开发至今已有三十多年了,也可能是因为对英语的偏见(说 BibTeX 不关心其他语言是不公平的,毕竟它花了很长时间来允许重音字符,但从根本上讲,排序和其他一些事情是以 US-ASCII 为中心的)。

标题大小写转为句子大小写

原则从标题大小写到句子大小写的转换比反过来的转换更简单。简单的规则是只取第一个字母并将其转换为大写(或者,保持原样,因为如果输入遵循两个系统中的任何一个,它无论如何都会是大写的),然后将所有后续字符转换为小写。当然,这会破坏即使在句子大小写中也必须始终大写的单词的大写,因此 BibTeX 有(应该有)一种方法来保护这些单词不受大小写变化的影响。保护这些单词几乎肯定需要手动干预。

BibTeX 使用括号来保护单词不受大小写影响。不幸的是,括号还用于界定宏参数或组范围,还用于标记非 ASCII 字符的宏构造(参见如何在参考书目中书写“ä”及其他变音符号和重音字母?),所以整个事情变得有点混乱。

BibTeX 常见问题在 Q5 中解释

控制这一切的规则很简单,但却令人困惑。BibTeX 将{\ .. }大括号级别 0(且只有大括号级别 0)内的所有内容视为“特殊字符”,即字段的顶级大括号(不受使用引号或大括号来分隔整个字段的影响),并将其视为整个构造是一个字符。在特殊字符中,控制序列(LaTeX 命令)将按原样保留,但所有其他文本可能会根据需要更改大小写或进行其他处理。此外,在特殊字符中,额外的大括号级别不会增加大括号级别。另一方面,大括号级别{ .. }0 的构造(这里的关键是 a\不紧跟在左大括号后面 - 如果是这样,它将成为一个特殊字符)会增加大括号级别,以及其中嵌套的大括号。大括号级别 1 或更高级别的所有文本和控制序列都受到保护,不会发生大小写更改或其他处理。

如果您想了解更多信息,Q5 的答案将继续通过更多示例进行解释。尼古拉斯·马基驯服野兽§10 标题中也有相关内容。另请参阅BibTeX 在创建 .bbl 文件时丢失大写字母

另外:当你想保护单词不改变大小写时,最好保护整个单词,而不是只保护一个字母。后者可能会破坏字距。比较title = {A Short History of {C}omic {S}ans {MS} or {T}he {F}ont of {D}oom},

title = {A Short History of {Comic} {Sans} {MS} or {The} {Font} of {Doom}},

无论如何,一旦 BibTeX 可以跟踪大括号级别及其之间的差异以及{\ .. }所需{ .. }的实际工作实际上非常直接和简单(如果您记住 BibTeX 只执行 US-ASCII,其中大写到小写转换可以硬编码)。

句子大小写转为标题大小写

另一方面,句子大小写转换为标题大小写需要稍微复杂一些的算法。通常规则是这样的:除了这个单词列表之外,所有单词都大写,这个单词列表应该保持小写。因此,实现需要能够检测单词边界或单词的开头(而不仅仅是字符串的开头)并应用大小写转换。此外,它需要一个完整的列表,列出所有要保持小写的单词(用户应该能够编辑该列表,因为标题大小写渴望程度不同)。此外,需要有一种方法来保护单词免受不必要的大小写更改(可能比标题大小写到句子大小写的转换要少得多,在句子大小写转换中,专有名词和相关对象会受到影响,但我能想到拉丁物种名称,其中第一个术语大写,第二个术语小写)。

为什么BibTeX和Zotero得出了不同的结论?

现在有一些猜测,但回到上世纪八十年代中期,当时的计算能力和内存稍微有限(即使在今天,BibTeX 也只允许您定义 10 个内部字符串变量),与其他解决方案相比,句子大小写到标题大小写的转换可能被视为成本太高或太复杂,或者至少不值得付出努力。

确实,从用户的角度来看,句子大小写到标题大小写是更方便的方法。与标题大小写到句子大小写相比,它不太可能需要手动干预(我认为必须保持小写且不符合例外列表的单词非常少),并且输入更容易(我不必考虑“upon”在句子大小写中是否应该大写)。我想 LaTeX 用户应该为必要时的手动干预做好准备,因此添加一些保护括号的额外工作似乎不会带来太大的负担。

所有这些主要涉及英语句子大小写,我对其他语言(除了德语,德语没有这种区别)没有足够的经验,因此无法说更多。简短的互联网搜索表明法语标题规则也非常复杂(甚至可能非常复杂,以至于简单的句子大小写到标题大小写转换器必须扩展很多)。

在讨论中,我将自己限制在 LaTeX 方面的 BibTeX。biblatex使用 LaTeX 实现 BibTeX 的大小写转换,它并不总是产生完全相同的结果,但遵循相同的思想。该代码已经相当复杂,我不想开始想象如果要实现句子大小写到标题大小写的转换会变得多么复杂 - LaTeX 不擅长任意字符串操作。Plus 旨在biblatex尽可能与 BibTeX 兼容,因此保持对标题大小写/句子大小写的相同方法似乎是个好主意。

相关内容