两种语言的引号错误

两种语言的引号错误

我用它csquotes来处理多语言文档中的引文。我尝试用它来\hyphenquote引用德语文本。在我的例子中,我获得了嵌套的引文,但使用了两种不同的语言。

我必须获得<< text in german ,,quoted text in german">>。当我使用时,\hyphenblockquote{german}{...}尽管语言选择得很好,但我没有获得正确的引号。我尝试使用\hyphenblockquote{german}{\foreignlanguage{german}{...}}。我获得了更好的结果,但将结果视为嵌套结果并仅添加与预期结果不对应的csquotes单引号。,...'

MNWE:

\documentclass{book}

\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{german}
\setotherlanguage{english}

\usepackage[autostyle=true,debug=true,autopunct=true,csdisplay = true]{csquotes}
\makeatletter \XeTeXinterchartoks 4095 \french@punctguillend = {\xpg@unskip\nobreakspace}

\begin{document}
%%not working at all
\hyphenblockquote{german}{\enquote{TEST}}
%% bad quotation marks
\hyphenblockquote{german}{\foreignlanguage{german}{\enquote{TEST}}}
\end{document}

答案1

您可以定义自己的样式,使用法语引号作为外引号,使用德语引号作为内引号。如果您有类似问题中所示的引号,您可以激活该样式,并在完成后将其关闭。

\documentclass{book}

\usepackage{lipsum}
\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{german}
\setotherlanguage{english}

\usepackage[autostyle=true,debug=true,autopunct=true,csdisplay = true]{csquotes}
\makeatletter \XeTeXinterchartoks 4095 \french@punctguillend = {\xpg@unskip\nobreakspace}

\DeclareQuoteStyle{freger}
{\guillemotleft}{\guillemotright}
{\quotedblbase}{\textquotedblleft}

\begin{document}
\setquotestyle{freger}
\hyphenquote{german}{\enquote{Dies ist ein deutsches Zitat innerhalb französischer Anführungszeichen.}}

\hyphenblockquote{german}{Das wird so ein langer Absatz, dass er mindestens über zwei Zeilen im Fließtext geht. Damit sollte gewährleistet sein, dass das Zitat als Blockzitat gesetzt wird. Die äußeren Anführungszeichen entfallen damit übrigens!  \enquote{Inneres Zitat in äußeren Anführungszeichen: \foreignquote{german}{Flexibilität bringt manches durcheinander}, sagte mal ein weiser Mann, oder vielleicht war es auch eine Waise.} Das war eigentlich schon alles.}

\setquotestyle*
\hyphenblockquote{german}{\enquote{Back to normal!}}
\end{document}

相关内容