XeLaTeX 中的德语引号损坏

XeLaTeX 中的德语引号损坏

尽管我对德语一无所知,但我必须编写一些德语 TeX 文档。我的文档中的德语引号"'\grqq"'或被\grqqcmr 字体替换,并且引号附近的 PDF 文件无法复制。警告消息说

字体形状“OT1/TeXGyrePagella(0)/m/n”未定义,第 9 行使用“OT1/cmr/m/n”代替符号“glqq”。

以下是我的最小示例:

% !TEX program = xelatex
% !Mode:: "TeX:UTF-8"
\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont{TeXGyrePagella}
\begin{document}
These are German \glqq quotation marks\grqq.
\end{document} 

答案1

切勿babel与 XeLaTeX 一起使用。如需国际化支持,请使用polyglossia而不是。此外,在这种情况下甚至不需要。您可以使用 ASCII 符号或直接 UTF-8 输入引号:

\documentclass{article}

\usepackage{fontspec}

\setmainfont[Ligatures = TeX]{TeX Gyre Pagella}

\begin{document}

<< >> ,, ``

« » „ “

\end{document}

polyglossia还具有一些babel速记支持,以简化从 的过渡babel

答案2

更新(2016 年 3 月)
babel现在支持 XeTeX,因此以下内容可以正常工作:

% !TEX program = xelatex
% !Mode:: "TeX:UTF-8"
\documentclass[12pt,ngerman]{article}

\usepackage{babel}

\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}

\begin{document}
These are German \glqq quotation marks\grqq.
These are German "`quotation marks"'.
\end{document}

原始答案
认为你最好使用 polyglossia 而不是 babel:

% !TEX program = xelatex
% !Mode:: "TeX:UTF-8"
\documentclass[12pt]{article}
\usepackage{polyglossia}
    \setmainlanguage[spelling=new,babelshorthands=true]{german}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont{Times New Roman}
\newcommand\glqq{"`}
\newcommand\grqq{"'}
\begin{document}
Thess are German \glqq quotation marks\grqq.
Thess are German "`quotation marks"'.
\end{document}

(我改了字体……)

答案3

使用 babel 时,您应该检查要使用的语言定义文件是否已适应 unicode 引擎——许多非西方脚本并非如此——但对于 (n)german,它可以与 xelatex 配合使用。您没有得到引用,因为 xunicode 没有提供必要的定义。添加它们很容易。例如

\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont{TeX Gyre Pagella}

\DeclareUTFcharacter[\UTFencname]{x201C}{\grqq}
\DeclareUTFcharacter[\UTFencname]{x201E}{\glqq}

\begin{document}
These are German \glqq quotation marks\grqq.
\end{document}

还可以看看包装csquotes

(于 2016 年 3 月编辑,以适应 fontspec 中的新命令和 babel 中的开发。)

相关内容