由于在“foreigndisplaycquote”环境中使用“biblatex”和“polyglossia”,且波斯语为外语,导致出现意外换行

由于在“foreigndisplaycquote”环境中使用“biblatex”和“polyglossia”,且波斯语为外语,导致出现意外换行

我使用foreigndisplaycquotecsquotes 包中的 -environment 来在我的文档中使用较长的外语引文。它的设置如下:

\usepackage[autostyle=true]{csquotes}
\SetCiteCommand{\autocite}
\renewcommand{\mkccitation}[1]{#1}

不幸的是,这导致每个来自 -environment 的脚注后都出现一个空行foreigndisplaycquote。当我禁用波斯语作为其他语言时,空行就会消失。不幸的是,这不是一个选项,因为我的文档包含波斯语文本,需要将其放入 提供的相应环境中。我假设,这个问题与不支持波斯语polyglossia有关?biblatex

我该怎么做才能摆脱空行(=轻松解决方法)?

我有什么办法可以帮助biblatex支持波斯语吗?

最小工作示例:

\documentclass{article} % 
\usepackage{fontspec}

\usepackage{polyglossia}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=biber, style=verbose]{biblatex}

\setmainlanguage{german}
\setotherlanguages{english,persian}

\SetCiteCommand{\autocite}
\renewcommand{\mkccitation}[1]{#1}

\begin{filecontents}{\jobname.bib}
    @book{fiktiv:quelle,
        author = {Author Lastname},
        title = {Title of the Book},
        year = {2023},
        publisher = {Publisher}
    }
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
    
    Text vor dem Zitat.\autocite{fiktiv:quelle}
    
    \begin{foreigndisplaycquote}{english}[][12]{fiktiv:quelle}[.]
        This is a longer quotation in a foreign language from a fictional source
    \end{foreigndisplaycquote}
    
    Text zwischen den Zitaten.
    
    Hier ist ein weiterer Verweis auf die Quelle: \autocite{fiktiv:quelle}.
    
    Text nach den Zitaten.
    
\end{document}

脚注 2 之后不应有换行符

答案1

因此,在反复尝试了 提供的选项后biblatex,我找到了一种解决方法。我仍然认为这个问题与biblatex不支持波斯语,因为当不使用波斯语作为 时,问题就会消失otherlanguageforeigndisplaycquote我现在不再使用环境,而是使用环境displaycquote并手动更改语言。出于我不明白的原因,这解决了额外换行符的问题。

解决方案:

\documentclass{article}
\usepackage{fontspec}

\usepackage{polyglossia}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=biber, style=verbose]{biblatex}

\setmainlanguage{german}
\setotherlanguages{english,persian}

\SetCiteCommand{\autocite}
\renewcommand{\mkccitation}[1]{#1}

\begin{filecontents}{\jobname.bib}
    @book{fiktiv:quelle,
        author = {Author Lastname},
        title = {Title of the Book},
        year = {2023},
        publisher = {Publisher}
    }
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
    
    Text vor dem Zitat.\autocite{fiktiv:quelle}
    
    \begin{displaycquote}[][12]{fiktiv:quelle}[.]
        \textenglish{This is a longer quotation in a foreign language from a fictional source}
    \end{displaycquote}
    
    Text zwischen den Zitaten.
    
    Hier ist ein weiterer Verweis auf die Quelle: \autocite{fiktiv:quelle}.
    
    Text nach den Zitaten.
    
\end{document}

看起来像这样: 现在一切都已对齐,正如我所要求的那样。没有多余的换行符。

如果有人知道为什么会发生这种情况,我仍然希望得到更彻底的答案。不过,目前,我假设这是foreigndisplaycquote中的环境实现中的一个错误csquotes。一旦我找到正确的位置,我将尝试报告该错误。

相关内容