LuaLaTeX 中的中文、俄语和英语(如果可能,还有阿拉伯语和泰语)

LuaLaTeX 中的中文、俄语和英语(如果可能,还有阿拉伯语和泰语)

跟进这个问题我想将解决方案嵌入到我用 LuaLaTeX 编写的文档(Beamer 演示文稿)(英文),但我就是找不到方法。我只想包含一张包含不同语言文本和代码的幻灯片用于教学目的,但这是我第一次尝试用非拉丁字母写东西……但我的文档需要 LuaLaTeX(而且我实际上很喜欢它!)。

此外,如果有人知道如何在文本中加入其他非拉丁字母,比如阿拉伯语和泰语,我们将非常感激。

这就是我想要嵌入到用 LuaLaTeX 编译的文档中的代码:

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian, english]{babel}% note - it is recommended to specify the variant of English required to avoid unexpected divergence depending on the version of babel e.g. american or british
\usepackage[encapsulated]{CJK}
\usepackage{setspace}
\doublespacing
\usepackage{natbib}
\begin{document}
\selectlanguage{russian}
слово

\begin{CJK}{UTF8}{gbsn}
你好
\end{CJK}

\selectlanguage{english}
Here is some text in English.

\selectlanguage{russian}
слово

\end{document}

答案1

这里我仅演示如何使用 fontspec 在一个文档中为不同语言选择多种字体。我使用已经覆盖广泛 Unicode 范围的主字体,然后根据需要选择其他字体。我使用的字体要么在 TeXLive 中提供,要么在其他地方免费提供。用 编译lualatex

请注意,对于希伯来语和阿拉伯语,您必须使用\luatextexdir TRT来设置从右到左的文本方向,对于阿拉伯语,您需要[Script=Arabic]fontspec有关更多信息,请参阅软件包文档和这些网站上有关这些语言的其他问题。

我并不了解所有这些语言,所以我可能犯了一些错误,我希望其他人能够纠正我。

除此之外,您还可以使用babelpolyglossia添加特定于每种语言的连字模式,但我留给其他人来演示。由于只有不同语言的简短摘录,这可能有点过头了。

\documentclass{article}
\usepackage{url} % just to format urls 
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
% Libertine covers Latin, Hebrew, Greek, and Russian

\newfontfamily{\hebrewfont}{Linux Libertine O} 
\newcommand{\texthebrew}[1]{%
    \bgroup\luatextextdir TRT\hebrewfont #1\egroup%
}

\newfontfamily{\chinesefont}{IPAMincho} % in TeXLive
\newcommand{\textchinese}[1]{\bgroup\chinesefont #1\egroup}

\newfontfamily{\arabicfont}[Script=Arabic]{Droid Arabic Naskh} % free with Debian GNU/Linux
\newcommand{\textarabic}[1]{%
     \bgroup\luatextextdir TRT\arabicfont #1\egroup%
}

\newfontfamily{\thaifont}{Norasi} % free with Debian
\newcommand{\textthai}[1]{\bgroup\thaifont #1\egroup}

\begin{document}
\section*{The Tower of Babel, Genesis 11:7}

\subsection*{English}
Come, let us go down and confuse their language so they will not understand each other. 

\subsection*{Hebrew}
\texthebrew{%
הָ֚בָה נֵֽרְדָ֔ה וְנָבְלָ֥ה שָׁ֖ם שְׂפָתָ֑ם אֲשֶׁר֙ לֹ֣א יִשְׁמְע֔וּ אִ֖ישׁ שְׂפַ֥ת רֵעֵֽהוּ׃%
}

\subsection*{Greek}
δεῦτε καὶ καταβάντες συγχέωμεν ἐκεῖ αὐτῶν τὴν γλῶσσαν, ἵνα μὴ ἀκούσωσιν ἕκαστος τὴν φωνὴν τοῦ πλησίον.

\subsection*{Latin}
venite igitur descendamus et confundamus ibi linguam eorum ut non audiat unusquisque vocem proximi sui

\subsection*{Spanish}
Será mejor que bajemos a confundir su idioma, para que ya no se entiendan entre ellos mismos.

\subsection*{Russian}
сойдем же и смешаем там язык их, так чтобы один не понимал речи другого.

\subsection*{Chinese (Simplified)}
\textchinese{%
来,我们下去,在那里混乱他们的语言,使他们听不懂对方的话。%
}

\subsection*{Thai}
\textthai{%
มาเถิด ให้เราลงไปทำให้เขามีภาษาสับสนแตกต่างกันออกไป เพื่อเขาจะได้ไม่เข้าใจกัน%
}

\subsection*{Arabic}
\textarabic{%
هَيَّا نَنْزِلْ إِلَيْهِمْ وَنُبَلْبِلْ لِسَانَهُمْ، حَتَّى لَا يَفْهَمَ بَعْضُهُمْ كَلامَ بَعْضٍ.%
}

\bigskip
\small
Texts from \url{https://www.biblegateway.com}.
Greek Septuagint text from \url{https://www.academic-bible.com/en/online-bibles/septuagint-lxx/read-the-bible-text/}.


\end{document}

在此处输入图片描述

相关内容