В моем руководстве по BibLaTeX сказано:
Списки литералов разбираются и разделяются на отдельные элементы по
and
разделителю, но не разбираются далее. Списки литералов могут быть усечены в файле bib с ключевым словом 'and others'. Существует два подтипа:Буквальные списки в строгом смысле обрабатываются так, как описано выше. Отдельные элементы просто печатаются как есть. Типичными примерами таких буквенных списков являются издатель и местоположение.
Итак, предположим, я хочу записать ассоциированные учреждения в поле списка — я должен был бы использовать «и» в качестве разделителя. Но как вы справитесь с учреждением, имеющим «и» в названии (например, «Фонд науки Сан-Томе и Принсипи»)? Тогда мне пришлось бы написать, например
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
в качестве разделителей)?:
publisher = { Foundation of Science of São Tomé and Príncipe \and Johnson and Johnson Fund for Scientific Research },
Меня в первую очередь интересует использование BibLaTeX с такими полями, но если существует универсальный подход, который также работает и с BibTeX, я был бы рад об этом узнать.
решение1
И Biber, и BibTeX увидят ключевое слово только and
в том случае, если оно не заключено в фигурные скобки, поэтому вы можете ввести поле 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 (т. 3.14)), который объясняет это:
иРуководство BibTeX( texdoc bibtex
) также намекает на эту функцию:
(выделено «слово ' and
', окруженное пробелами и не заключенное в фигурные скобки»).