bibtex/biblatex のリスト区切り文字として「and」をエスケープするにはどうすればよいですか?

bibtex/biblatex のリスト区切り文字として「and」をエスケープするにはどうすればよいですか?

私の 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

andBiber と 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}

andBiberでは、リストと名前を区切るためにデフォルト以外の文字列を使うことができます(§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) です。

フィールド <code>institution</code>、<code>organization</code>、<code>publisher</code>、および location は、§[2.2](https://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf#subsection.2.2) の観点ではリテラル リストです。これは、<code>origlocation</code>、<code>origpublisher</code>、およびフィールド エイリアス <code>address</code> と <code>school</code> にも適用されます。これらのフィールドにはすべて、キーワード 'and' で区切られた項目のリストを含めることができます。リストにリテラル '<code>and</code>' が含まれている場合は、中括弧で囲む必要があります。<pre><code>publisher = {William Reid {and} Company},<br>institution = {Office of Information Management {and} Communications},<br>organization = {American Society for Photogrammetry {and} Remote Sensing<br> and<br> American Congress on Surveying {and} Mapping},</code></pre>上記の例のリテラル '<code>{and}</code>' とリスト区切り文字 '<code>and</code>' の違いに注意してください。名前全体を中括弧で囲むこともできます。

そしてBibTeXのマニュアルtexdoc bibtex)もこの機能を示唆しています:

このセクションの最後の項目では、BibTeX の名前 (<code>author</code> または <code>editor</code> フィールドに表示される) について、LaTeX ブックの付録 B に記載されている内容よりも少し詳しく説明します。以下では、「名前」は人を表します。(1 つのフィールドで複数の名前を区切る場合は、単語「<code>and</code>」を使用し、スペースで囲み、中括弧で囲まないことに注意してください。この項目は、1 つの名前の構造に関するものです。)

(「単語 ' and' はスペースで囲まれており、中括弧で囲まれていない」に強調が置かれます)。

関連情報