bibtex/biblatex에서 목록 구분 기호로 "and"를 이스케이프 처리하는 방법은 무엇입니까?

bibtex/biblatex에서 목록 구분 기호로 "and"를 이스케이프 처리하는 방법은 무엇입니까?

내 BibLaTeX 매뉴얼에는 다음과 같이 나와 있습니다.

리터럴 목록은 구문 분석되어 and구분 기호에서 개별 항목으로 분할되지만 더 이상 분석되지는 않습니다. 키워드 '및 기타'를 사용하면 bib 파일에서 리터럴 목록이 잘릴 수 있습니다. 두 가지 하위 유형이 있습니다.

엄격한 의미에서 리터럴 목록은 위에서 설명한 대로 처리됩니다. 개별 항목은 있는 그대로 인쇄됩니다. 이러한 리터럴 목록의 일반적인 예로는 게시자와 위치가 있습니다.

따라서 목록 필드에 관련 기관을 기록하고 싶다고 가정해 보겠습니다. 구분 기호로 "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"를 목록 구분 기호로 무시하는 데 사용할 수 있습니다(또는 그 반대 - 명령 \ands를 고려하지 않음). 구분 기호로)?:

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>기관</code>, <code>조직</code>, <code>출판사</code> 및 위치 필드는 §[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} 통신},<br>조직 = {미국 사진 측량 협회 {및} 원격 탐사<br> 및<br> 측량 {및} 매핑에 관한 미국 의회},</code></pre>사이의 차이점에 유의하세요. 위 예에서는 리터럴 '<code>{and}</code>'와 목록 구분 기호 '<code>and</code>'가 있습니다. 전체 이름을 중괄호로 묶을 수도 있습니다.

그리고BibTeX 매뉴얼( texdoc bibtex)는 또한 이 기능을 암시합니다.

이 섹션의 마지막 항목은 LaTeX 책의 부록 B에 나오는 것보다 약간 더 자세히 BibTeX의 이름(<code>author</code> 또는 <code>editor</code> 필드에 나타남)을 설명합니다. 다음에서 '이름'은 사람에 해당합니다. (단일 필드에서 여러 이름을 공백으로 묶고 중괄호로 묶지 않은 단어 “<code>and</code>”로 구분한다는 점을 기억하세요. 이 항목은 단일 이름의 구조와 관련이 있습니다.)

(“단어 ' and', 공백으로 둘러싸여 있고 중괄호로 묶이지 않음”에 강조).

관련 정보