原 文:Multilingual typesetting on Overleaf using babel and fontspec
译 者:Xovee
翻译时间:2021年3月17日
在2019年9月,Overleaf 更新到 TeX Live 2018,这意味着除了polyglossia
包,你现在可以使用babel
包、XeLaTeX 或者 LuaLaTeX 编译器来在多语言输入中指定字体。
本篇博客是我们之前的一篇博客(在 Overleaf 中使用 ployglossia 和 fontspec 来进行多语言输入)的后续。在本文中,我们介绍如何使用babel
包中的\babelprovide
和babelfont
命令来重现上一篇文章中使用polyglossia
包实现的例子。
使用 babel 和 \babelfont 来在一个文档中进行多语言输入
为了重现我们上一篇文章中的例子(法语为主语言,还包括英语、俄语和泰语字符),你现在可以使用babel
来输入英语、俄语和法语的文本,使用\babelprovide
命令来支持泰语的输入。\babelfont
命令可以用来设置文档的字体,例如,FreeSerif、FreeSans、FreeMono等,它们可以提供足够的输入拉丁、西里尔、泰语字符的支持。
\usepackage[english,russian,main=french]{babel}
\babelprovide[import]{thai}
\babelfont{rm}[Language=Default]{FreeSerif}
\babelfont{sf}[Language=Default]{FreeSans}
\babelfont{tt}[Language=Default]{FreeMono}
\begin{document}
\begin{abstract}
Le Lorem Ipsum est simplement du faux texte employé dans
la composition et la mise en page avant impression.
\end{abstract}
Merci. \foreignlanguage{english}{Thank you.} \foreignlanguage{russian}{Спасибо.} Et plus de
texte en français!
Le Lorem Ipsum est le faux texte standard ...
\begin{otherlanguage}{english}
Lorem Ipsum is simply dummy text ...
\end{otherlanguage}
\begin{otherlanguage}{russian}
Lorem Ipsum - это текст-`\textsf{рыба}', часто используемый в
\texttt{печати} и вэб-дизайне. ...
\end{otherlanguage}
\begin{otherlanguage}{thai}
\foreignlanguage{english}{Lorem Ipsum} คือ เนื้อหาจำลองแบบเรียบๆ ที่ใช้กันในธุรกิจงานพิมพ์หรืองานเรียงพิมพ์
\end{{otherlanguage}}
因为文档的主语言设置为了法语,所以文档会使用法语的输入惯例:例如法语的连字特征、标点符号和一些自动转换的关键字,例如使用 Résumé 而不是 Abstract。你可以使用\foreignlanguage{language}{...}
命令来插入一些简短的其他语言的文字。对于其他语言的长的段落,你可以使用下面的环境
\begin{otherlanguage}{language}
...
\end{otherlanguage}
混合从左到右书写和从右到左书写的文字
将一篇文档的主语言设置为阿拉伯语的命令为\babelprovide[import,main]{arabic}
。我们还需要将文档的文字方向设置为从右到左:
\usepackage[english,bidi=default]{babel}
\babelprovide[import,main]{arabic}
\babelfont[arabic]{rm}{Amiri}
\begin{document}
ما هو \foreignlanguage{english}{differentiation}
\end{document}
为指定的语言设置字体
你可以为特定的语言指定字体。在我们的法语-英语-俄语-泰语例子中,你可以使用下面的代码:
\babelfont[english]{rm}{Free Chancery}
\babelfont[*cyrillic]{rm}{Charis SIL}
\babelfont[thai]{rm}{Garuda}
来使用 Free Chancery 输入英语,使用 Charis SIL 来输入所有的西里尔字符(包括俄语),以及使用 Garuda 输入泰语。
下面是另外一个例子:使用 Devanagari 字体来输入 Hindi 和 Sanskrit 语:
\usepackage[english]{babel}
%% Each \babelprovide can only be used for one language
\babelprovide[import]{hindi}
\babelprovide[import]{sanskrit}
\babelfont[*devanagari]{rm}{Lohit Devanagari}
...
Hindi: \foreignlanguage{hindi}{हिन्दी}
Sanskrit: \foreignlanguage{sanskrit}{संस्कृतम्}
定义其他的字体系列
在下面的例子中,我们显式地为希伯来文设定了 sans serif 字体,因为我们希望使用 sans serif 来显示章节的标题:
\babelprovide[main,import]{hebrew}
\babelfont[hebrew]{rm}{Hadasim CLM}
\babelfont[hebrew]{sf}{Miriam CLM}
\usepackage{titlesec}
\titleformat{\section}{\Large\sffamily\bfseries}{\thesection}{1em}{}
...
\section{מבוא}
זוהי עובדה מבוססת שדעתו של הקורא תהיה מוסחת עלידי טקטס קריא כאשר הוא יביט בפריסתו.