![在 Xetex 中切换整章语言的最佳方法是什么?](https://linux22.com/image/287283/%E5%9C%A8%20Xetex%20%E4%B8%AD%E5%88%87%E6%8D%A2%E6%95%B4%E7%AB%A0%E8%AF%AD%E8%A8%80%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我想知道,在 Xetex 文档中切换整章语言的最佳方法是什么。具体问题是,在切换语言的章节中(例如从默认语言英语切换到德语),可能会有一些引用使用第三种语言或默认语言。我尝试了以下方法:
\begin{german}
\chapter[]{A title}
\section{Introduction}
Das ist ein deutscher Text mit einem englischen Zitat: \textenglish{»To be or not to be, that is the questions. Whether 'tis nobler…«} Und hier geht der deutsche Text weiter, ist aber nicht mehr als deutscher gesetzt.
\end{german}
但问题是,尽管整个章节都包含在“\begin{english} … \end{english}”中,但在“\textenglish”之后语言不会再切换回德语。因此,我假设这可能不是正确的方法。但该怎么做呢?
这是一个有效的例子:
\documentclass[10pt,twoside]{memoir}
\usepackage[english,german]{babel}
\usepackage{polyglossia} % Vgl. http://tex.stackexchange.com/questions/135185
\setmainlanguage[spelling=old,babelshorthands=true,script=latin]{english}
\setotherlanguage{german}
\usepackage{fontspec}
\setmainfont[Numbers={OldStyle},Ligatures={Common, Historic}]{Adobe Garamond Pro}
\begin{document}
\begin{german}
\chapter[]{A title}
\section{Introduction}
Das ist ein deutscher Text mit einem englischen Zitat: \textenglish{»To be or not to be, that is the questions. Whether 'tis nobler…«} Und hier geht der deutsche Text weiter, ist aber nicht mehr als deutscher gesetzt.
\end{german}
\end{document}
答案1
您不应该同时使用babel
和polyglossia
。您还混淆了语言选项。
\documentclass[10pt,twoside]{memoir}
\usepackage{polyglossia} % Vgl. http://tex.stackexchange.com/questions/135185
\setmainlanguage{english}
\setotherlanguage[spelling=old,babelshorthands=true]{german}
\usepackage{fontspec}
\setmainfont[Numbers={OldStyle},Ligatures={Common, Historic}]{Linux Libertine O} % I don't have Adobe Garamond Pro
\begin{document}
\begin{german}
\chapter{A title}
\section{Introduction}
Das ist ein deutscher Text mit einem englischen Zitat: \textenglish{»To be or not to be,
that is the question. Whether 'tis nobler…« (\languagename)} Und hier geht der deutsche
Text weiter, ist aber nicht mehr als deutscher gesetzt.
\languagename
\end{german}
\end{document}
我添加了两个\languagename
命令来显示两个地方的当前语言。