babel:了解 \babelfont 的星号版本(即脚本和字体之间的区别)

babel:了解 \babelfont 的星号版本(即脚本和字体之间的区别)

对于以下 MWE,我需要了解

1- 我应该使用星号版本\babelfont[*arabic]

arabic2- 设置语言和文字之间的差异/影响*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...前缀重载严重),不建议这样做。

相关内容