我有一份文档,需要在德语文档中包含一些(大部分是内联的名称和术语)中文、韩语、阿拉伯语和几种欧洲语言。
我正在使用带有 XeLaTeX、xeCJK 和 polyglossia 的标准书籍类。但是韩语现在不起作用,而中文我可以直接在线输入而无需任何操作(.tex 是 utf-8,编辑器使用 Unicode)。根据我在教程中找到的信息,如果我只需要韩语,似乎我会设置主要语言。但建议的字体是韩文字体,而不是中文。我该如何设置?包括到目前为止配置我的语言的片段:
\usepackage[xindy={language=german,codepage=duden-utf8},
nonumberlist,
toc,
nopostdot,
style=altlist,
nogroupskip
]{glossaries}
\GlsSetXdyCodePage{duden-utf8}
\apptocmd{\thebibliography}{\raggedright}{}{}
\usepackage{xeCJK}
\usepackage[babelshorthands]{polyglossia}
\newfontfamily{\greekfont}{Calibri}[
Script=Greek,
NFSSFamily=liberationserif,
]
\newfontfamily{\greekfontsf}{Calibri}[
Script=Greek,
NFSSFamily=liberationsans,
]
\newfontfamily\arabicfont[Script=Arabic]{Amiri}%
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{Adobe Arabic}
\newfontfamily\mySymbolsFont{Segoe UI Symbol}
\setdefaultlanguage[spelling=new]{german}
\setotherlanguage[variant=ancient]{greek}
\setotherlanguage[numerals=western]{arabic}
\setotherlanguage{farsi}
我从片段开始,希望有人能很好地理解并指出如何做到这一点,以免将其从 12000 行文档中删除。如果这不发生,我当然会创建 MWE。
答案1
可以使用 来实现这一点babel
。这会让你标记你的语言,但是如果你混合了双向脚本和需要以不同方式显示的统一 CJK 字符,那就没有办法了。
以下在 XeLaTeX 中对我有用:
\documentclass{article}
% To set the width within the limits of an image on TeX.SX:
\usepackage[paperwidth=11cm]{geometry}
\usepackage[bidi=default]{babel}
\usepackage{fontspec}
% There are variants for German orthographic reforms:
\babelprovide[main, import=de]{german}
\babelprovide[import]{korean}
\babelprovide[import]{arabic}
\babelprovide[import]{chinese-simplified}
% Versions of babel prior to TeX Live 2019 had a bug in \babelfont: it
% ignored all default font features. On those versions, you will need
% to specify Scale and Ligatures as options to each font below.
\defaultfontfeatures{ Scale=MatchLowercase, Ligatures = TeX }
\babelfont{rm}[Scale=1.0, Ligatures=Common, Language=Default]{Noto Serif}
\babelfont{sf}[Language=Default]{Noto Sans}
\babelfont[arabic]{rm}[Contextuals={WordInitial,WordFinal,Inner}, Language=Default]{Noto Sans Arabic}
\babelfont[arabic]{sf}[Contextuals={WordInitial,WordFinal,Inner}, Language=Default]{Noto Sans Arabic}
\babelfont[chinese-simplified]{rm}[Ligatures={Common,Rare}]{Noto Serif CJK SC}
\babelfont[chinese-simplified]{sf}[Ligatures={Common,Rare}]{Noto Sans CJK SC}
\babelfont[korean]{rm}[Ligatures={Common,Rare}]{Noto Serif CJK KR}
\babelfont[korean]{sf}[Ligatures={Common,Rare}]{Noto Sans CJK KR}
\begin{document}
Deutsch
\foreignlanguage{arabic}{اللغة العربية}
\foreignlanguage{chinese-simplified}{简化字}
\foreignlanguage{korean}{한국어}
\end{document}
在这里,我使用 Noto 系列字体,该字体涵盖了大量的衬线和无衬线语言。您可以替换您选择的字体。该otfinfo -f
程序有助于查看给定字体提供哪些 OpenType 功能。您还可以调整设置,如果您希望根据较新的规则对德语进行连字符处理,或者减少阿拉伯语中的上下文花饰等。