私の BibLaTeX マニュアルには次のように書かれています:
リテラル リストは解析され、区切り文字で個々の項目に分割されます
and
が、それ以上は細分化されません。リテラル リストは、キーワード「and others」を使用して bib ファイル内で切り捨てられる場合があります。2 つのサブタイプがあります。厳密な意味でのリテラル リストは、上記のように処理されます。個々の項目は、そのまま印刷されます。このようなリテラル リストの代表的な例としては、発行元や場所などがあります。
例えば、リストフィールドに関連する機関を記録したいとします。区切り文字として「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" },
... または、Biblatex のコマンドとして見たことがありますが\and
、これを使用して、他の非コマンドの「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}
and
Biberでは、リストと名前を区切るためにデフォルト以外の文字列を使うことができます(§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 リテラルリストこれを説明している文献は、pp. 34–35 (v3.14) です。
そしてBibTeXのマニュアル(texdoc bibtex
)もこの機能を示唆しています:
(「単語 ' and
' はスペースで囲まれており、中括弧で囲まれていない」に強調が置かれます)。