![Polyglossia + biblatex + csquotes 的組合忽略 autopunct 設置](https://rvso.com/image/399808/Polyglossia%20%2B%20biblatex%20%2B%20csquotes%20%E7%9A%84%E7%B5%84%E5%90%88%E5%BF%BD%E7%95%A5%20autopunct%20%E8%A8%AD%E7%BD%AE.png)
使用時我無法尊重軟體包的biblatex
選項。我想將我的參考文獻打印為autopunct
csquotes
polyglossia
在訴訟中。 “作品的標題。”時間: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
biblatex
這是和polyglossia
的語言介面之間不相容的結果。 Withpolyglossia
biblatex
只能偵測主要語言(english
在本例中),而無法偵測語言變體 ( american
)。通常這個問題會被忽視,但在像這樣的某些邊緣情況下,它可能會導致一些不必要的影響。這就是為什麼 next version
of再次biblatex
使用時會發出警告的原因polyglossia
:https://github.com/plk/biblatex/issues/845。
biblatex
只有在偵測到美式英語 ( american
) 而不是通用英語 ( )時,才會啟用完整的美式引文標點方案english
,否則與美式英語相同。由於polyglossia
我們只偵測過english
,因此未啟用美國標點符號方案。 (需要明確的是:biblatex
參考書目中產生的標點符號在引號周圍的移動完全由其biblatex
命令\uspunctuation
和\stdpunctuation
. csquotes
'autopunct
選項控制。)
以下行將啟用美國引號標點規則,即使是簡單的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}
相關問題討論於Biblatex-Chicago 和非美國報價風格?。使用 biblatex 和 polyglossia 進行本地化日期,\DeclareLanguageMappingbiblatex 中的字尾、繼承與多語言和我們如何讓 Polyglossia 語言變體與 Biblatex 參考書目一起使用?處理biblatex
和之間的相容性問題polyglossia
。
不久前,如果可能的話,我會明確建議放棄,因為polyglossia
它(再次)正在積極開發,並且在很大程度上似乎處於休眠狀態。實際上,對於大多數(西)歐洲語言來說,它的效果和(如果不是更好的話)一樣好,而且在以下領域也取得了進展:babel
babel
polyglossia
babel
polyglossia
babel
polyglossia
(希伯來語、阿拉伯語……)也取得了進展。看2019 年 LuaLaTeX 在 Polyglossia 和 Babel 之間做選擇。最近,在這方面有了一些進展polyglossia
GitHub 頁面,所以也許該項目再次獲得動力。 (順便說一句,我認為如果這兩個項目以某種形式合併,而不是繼續以類似的目標獨立開發,那麼 LaTeX 社區將會受益。開發的起起落落只會讓人們困惑於該選擇哪個包.)