autopunct 설정을 무시하고 다언어 + biblatex + csquotes 조합

autopunct 설정을 무시하고 다언어 + biblatex + csquotes 조합

을 사용할 때 패키지 옵션을 biblatex존중 하는 데 문제가 있습니다 . 내 참조를 다음과 같이 인쇄하고 싶습니다.autopunctcsquotespolyglossia

절차. “작품 제목.” 년: 2019.

아니라

절차. “작품 제목”. 년: 2019.

.( 이전 의 위치를 ​​참고하세요 ).

다음 MWE에서는 Babel을 사용하면 이를 달성하지만~ 아니다내가 사용할 때 polyglossia.

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
  @inproceedings{example,
    author = {Proceedings, I. N.},
    year = {2019},
    title = {Title of the Work},
  }
\end{filecontents}

\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
  \usepackage{polyglossia}
  \setdefaultlanguage[variant=usmax]{english}
\else
 \usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}
\cite{example}

\printbibliography
\end{document}

제가 뭔가 잘못하고 있는 건가요, 아니면 이 패키지 중 하나에서 버그를 발견한 건가요? LuaLaTeX를 사용하여 문서를 컴파일합니다.

답변1

이는 biblatexpolyglossia의 언어 인터페이스가 호환되지 않기 때문에 발생합니다. With는 polyglossia biblatex기본 언어( english이 경우)만 감지할 수 있고 언어 변형( american)은 감지할 수 없습니다. 이 문제는 눈에 띄지 않는 경우가 많지만 이와 같은 특정 극단적인 경우에는 원치 않는 효과가 발생할 수 있습니다. 이것이 바로 next versionof가 다시 biblatex사용될 경우 경고를 발행하는 이유입니다 polyglossia.https://github.com/plk/biblatex/issues/845.


인용에 대한 전체 미국 구두점 체계는 biblatex미국 영어( american)를 감지하는 경우에만 활성화되며 일반 영어( )는 감지하지 않습니다. 일반 영어( english)는 미국 영어와 동일합니다. 우리 는 polyglossia만 감지하므로 english미국 구두점 체계는 활성화되지 않습니다. (명확하게 말하면 참고 biblatex문헌에서 로 생성된 인용 부호 주변의 구두점 이동은 및 해당 명령에 의해서만 제어되며 . biblatex' 옵션 은 이에 대해 아무런 언급이 없습니다.)\uspunctuation\stdpunctuationcsquotesautopunct

다음 줄은 일반 문자라도 미국 인용 구두점 규칙을 활성화합니다.english

\DefineBibliographyExtras{english}{\uspunctuation}

또는 다음을 사용하여 english매핑 할 수 있습니다.american

\DeclareLanguageMapping{english}{american}

그러나 문서에서는 이를 명시적으로 권장하지 않습니다 biblatex. 특정 접근 방식에 비해 이 접근 방식의 장점은 \DefineBibliographyExtras{english}{\uspunctuation}자동으로 복사된다는 점입니다.모두american설정뿐만 english아니라 \uspunctuation.

\documentclass{article}

\newif\ifusepolyglossia
\usepolyglossiatrue
%\usepolyglossiafalse
\ifusepolyglossia
  \usepackage{polyglossia}
  \setdefaultlanguage[variant=usmax]{english}
\else
 \usepackage[american]{babel}
\fi
\usepackage[autopunct]{csquotes}
\usepackage[backend=biber]{biblatex}

\DefineBibliographyExtras{english}{\uspunctuation}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson}

\printbibliography
\end{document}

엠마 시그프리드손(Emma Sigfridsson)과 울프 라이드(Ulf Ryde). "정전기 전위와 모멘트로부터 원자 전하를 유도하는 방법 비교." In: Journal of Computational Chemistry 19.4(1998), pp. 377–395. doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.

관련 문제는 다음에서 논의됩니다.Biblatex-Chicago 및 미국 외 지역 인용 스타일?.Biblatex 및 Polyglossia를 사용하여 현지화된 날짜,\DeclareLanguageMappingBiblatex의 접미사, 상속 및 다언어그리고Biblatex 참고문헌과 함께 작동하도록 Polyglossia 언어 변형을 얻으려면 어떻게 해야 합니까?biblatex및 사이의 호환성 문제를 처리합니다 polyglossia.


얼마 전에는 가능하다면 포기할 것을 명백히 권고했을 것입니다. 왜냐하면 polyglossia은 ( 다시) 활발하게 개발되고 대체로 휴면 상태인 것처럼 보였기 때문입니다. 실제로 는 대부분의 (서부) 유럽 언어 와 마찬가지로 (더 좋지는 않더라도) 작동 하지만 전통적으로 더 강한 영역 (히브리어, 아랍어 등)에서도 발전을 이룹니다. 보다babelbabelpolyglossiababelpolyglossiababelpolyglossia2019년 LuaLaTeX용 Polyglossia와 Babel 중에서 결정하세요. 최근에 일부 개발이 이루어졌습니다.polyglossiaGitHub 페이지, 어쩌면 프로젝트가 다시 추진력을 얻고 있을 수도 있습니다. (여담으로, 비슷한 목표를 가지고 독립적으로 개발을 계속하는 대신 두 프로젝트가 어떤 형태나 형태로 병합된다면 LaTeX 커뮤니티에 이익이 될 것이라고 생각합니다. 개발의 우여곡절은 사람들이 어떤 패키지를 선택해야 할지 혼란스럽게 할 뿐입니다. .)

관련 정보