对于以下 MWE,我需要了解
1- 我应该使用星号版本\babelfont[*arabic]
的
arabic
2- 设置语言和文字之间的差异/影响*arabic
。
\documentclass[12pt, a4paper]{article}
\usepackage[tuenc,no-math]{fontspec}
\setmainfont[
Ligatures = {
NoCommon, % liga
NoRare,% dlig
}
]{Latin Modern Roman}
\newfontfamily\arabicfont{Scheherazade}[ Script = Arabic, RawFeature={+anum}, Scale = 1]
\usepackage[english, bidi = basic]{babel}
\babelprovide[import, onchar = ids fonts]{arabic}
\babelfont[arabic]{rm}{Scheherazade} % [Scale = 2]{Scheherazade}
\babelfont[arabic]{sf}{Scheherazade}
\parindent=0pt
\begin{document}
السلام عليكم ورحمة الله وبركاته
\end{document}
答案1
假设您正在用法语写一本关于阿拉伯文字的书。以下是最低限度的设置:
\documentclass[french]{book}
\usepackage[bidi=basic]{babel}
\babelfont[*arabic]{rm}{Amiri}
\begin{document}
Français \foreignlanguage{arabic}{العربية} français
\foreignlanguage{persian}{فارسی} français
\foreignlanguage{uyghur}{ئۇيغۇرچە} français.
\end{document}
\babelfont[*arabic]{rm}{Amiri}
预设字体全部使用阿拉伯语的语言脚本立刻。这就是*arabic
带星号的意思。arabic
没有星号,只有阿拉伯语的字体语言将被预设,而不是波斯语或维吾尔语。注意我已经说过预设,因为如果没有必要的话,字体实际上并没有加载。
我想强调几点:
- 主要语言可以设置为类或包选项。这是在 LaTeX 中设置文档语言的标准方式。这里我选择了类选项。
- 但是,按照许多系统的惯例,通常不需要在文档开头明确声明几个单词或短语的其他语言,因为如果需要,它们会在运行中加载。
- 当然,也存在一些变化。例如,您可能希望明确声明所有语言。您可能还希望创建短命令,如
\textpersian
(with\babeltags
),但出于手册中解释的原因(主要是因为\text...
前缀重载严重),不建议这样做。