在我的 BibLaTeX 手册中,它说道:
文字列表被解析并在分隔符处拆分为单个项目
and
,但不会进一步分解。文字列表可能会在 bib 文件中用关键字“and others”截断。有两种子类型:严格意义上的文字列表的处理方式如上所述。各个项目只是按原样打印。此类文字列表的典型示例是出版商和地点。
因此,假设我想在列表字段中记录相关机构 - 我应该使用“and”作为分隔符。但是如何处理名称中包含“and”的机构(例如“圣多美和普林西比科学基金会”)?那么我必须写,例如
publisher = { Foundation of Science of São Tomé and Príncipe and Johnson and Johnson Fund for Scientific Research },
...现在我已经可以说解析器会崩溃,并给我一个该字段的错误机构列表。
那么,该如何解决这个问题呢?双引号是否会提示解析器不要使用引号内的“and”作为列表分隔符:
publisher = { "Foundation of Science of São Tomé and Príncipe" and "Johnson and Johnson Fund for Scientific Research" },
...或者,我已经\and
在 Biblatex 中看到了命令——也许可以用来提示解析器,忽略其他非命令“and”作为列表分隔符(或相反——不将命令视为\and
分隔符)?:
publisher = { Foundation of Science of São Tomé and Príncipe \and Johnson and Johnson Fund for Scientific Research },
我主要对将 BibLaTeX 与这些字段结合使用感兴趣 — — 但如果存在一种通用方法可以处理 BibTeX,那么我很想知道。
答案1
and
Biber 和 BibTeX 都只能看到不在任何括号内的关键字,因此您可以像这样输入publisher
字段(或任何其他用作and
分隔符的字段):
publisher = {{Foundation of Science of São Tomé and Príncipe}
and
{Johnson and Johnson Fund for Scientific Research}}
甚至只是隐藏and
括号内的文字:
publisher = {Foundation of Science of São Tomé {and} Príncipe
and
Johnson {and} Johnson Fund for Scientific Research}
Biber 允许您使用除默认字符串之外的其他字符串and
来分隔列表和名称(请参阅§3.7 列表和名称分隔符)。为此,您可以使用--listsep
和--namesep
命令行选项,例如:
biber --listsep='und' <document>
那么你的列表可以写成:
publisher = {Foundation of Science of São Tomé and Príncipe
und
Johnson and Johnson Fund for Scientific Research}
但是,此更改适用于整个.bib
文件,并且由于 BibTeX 中无法更改分隔符,因此这会导致文件.bib
不兼容。但无论如何,这都是一个选择。
仅供参考,moewe 指出了 BibLaTeX 手册中的部分(§2.3.4 文字列表第 34-35 页(v3.14)对此进行了解释:
和BibTeX 手册(texdoc bibtex
)也暗示了这一特点:
(强调“单词‘ and
’被空格包围,但没有用括号括起来”)。