支撑深度是多少?

支撑深度是多少?

考虑以下定义特殊字符

特殊字符是直接用括号括起来的转义序列,如{\'E}{\LaTeX}。尽管有括号,特殊字符仍被视为括号深度为 0 的字符。但是,特殊字符本身必须出现在括号深度为 0 的位置;如果它们被其他括号括起来,则不被视为特殊字符。例如,假设我们想使用宏来更正上述示例\LaTeX。那么我们写:

The {\LaTeX} {C}ompanion

这里,“C”位于括号深度 1 处,其他所有内容(甚至特殊字符\LaTeX)都位于括号深度 0 处。现在假设我们这样写标题:

The {{\LaTeX}} {C}ompanion

在这种情况下,{\LaTeX}不是一个特殊字符,因为它从大括号深度 1 开始,而不是 0。该字符串\LaTeX被视为大括号深度为 2。

这似乎很合理,但我对 BibTeX 手册中的一个例子感到困惑驯服野兽,以下是 École 的不同渲染方式示例:

为了对标题中的重音符号进行编码,比如法语单词 École 中的 É(大写),我们会写 {\’{E}}cole{\’E}cole{{\’E}}cole,具体取决于我们是否希望将其转换为小写(前两种解决方案)或不转换为小写(最后一种)。

在我看来,最后一个例子中重音字符的{{\’E}}cole括号深度为 2,并且不是一个特殊字符。

另外,我在 arXiv 中发现了一个似乎与之矛盾的例子:author = {{Chru{\\'s}ci{\\'n}ski}, D. and {Kossakowski}, A.},

这些字符串的括号深度是多少,它们是特殊字符吗?

答案1

据《驯服野兽》报道,

A特殊字符是字段的一部分,以括号深度为 0 的左括号开头,后跟反斜杠,以相应的右括号结尾。

我应该注意,计算括号深度时不考虑界定整个字段的括号,因为在检查字段内容时会删除它们。这应该很清楚,因为可以用 代替界定括号"..."

因此{\'E}cole{\'{E}}cole两者都以特殊字符开头,但{{\'E}}cole事实并非如此。

title字段中,如果您不想将 E 变为小写,请使用第三种方法。在作者字段中总是使用“特殊字符”方式,因为它可以用于排序以及使用abbrvbib 样式进行缩写。

像您展示的示例那样输入作者的姓氏是错误的:

author = {{Kossakowski}, A.}

姓氏由单个标记组成;

author = {{Chru{\\'s}ci{\\'n}ski}, D.}

有几个错误,但即使输入为

author = {{Chru{\'s}ci{\'n}ski}, D.}

\'s不是一个特殊字符,因此就排序而言可能会被误解。

完全没有必要用括号括住姓氏;BibTeX 样式通常不会对字段应用大写或小写author,如果应用了,您这些字母需要经过处理。因此,如果您使用大写字母{Chru{\'s}ci{\'n}ski}和围兜式姓氏,那么您的姓氏将以“CHRUśCIńSKI”结尾,而这很可能不是您想要的。

像“McDonald”这样的姓氏就不同了:这样的姓氏应该输入为

author = {M{c}Donald, X.}

如果我们不希望将“c”大写,则样式会这样做。

相关内容