(La)TeX 中的西里尔字母

(La)TeX 中的西里尔字母

在 (La)TeX 中使用西里尔字母有哪些不同的方法?它们的优点和缺点是什么?

答案1

inputenc+babel

用法

\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

优点

标准 — 适用于任何 LaTeX 安装。.tex 文件中可以使用任何编码。适用于hyperref。它也可以适用于xetexluatex,前提是inputenc未加载 并且编码为 UTF-8。

缺点

有了pdftex,西里尔字母就变成了活动符号——因此既不能用西里尔字母名称定义命令,也不能将它们用在 等的参数中\label。.aux\cite和 .toc 文件中的西里尔字母变得不可读。

笔记
如果出现此错误:未知选项“russian”。您拼写错误或未找到语言定义文件 francais.ldf尝试安装该texlive-lang-cyrillic包。(来源)

答案2

对于多语言文本pdflatex(而不是使用xelatexlualatex引擎),最好的选择是使用 UTF-8 编码输入和babel

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\begin{document}

Text in English

\begin{otherlanguage*}{russian}
Текст на русском языке
\end{otherlanguage*}

A word and another \foreignlanguage{russian}{слово}

\end{document}

在此处输入图片描述

T2A 编码中有许多可用的字体pdflatex

在此处输入图片描述

为了有更广泛的选择,XeLaTeX 或 LuaLaTeX 是最好的。

答案3

西拉特克斯

用法

\documentclass{article}
\usepackage{fontspec} % loaded by polyglossia, but included here for transparency 
\usepackage{polyglossia}
\setmainlanguage{russian} 
\setotherlanguage{english}

% XeLaTeX can use any font installed in your system fonts folder
% Linux Libertine in the next line can be replaced with any 
% OpenType or TrueType font that supports the Cyrillic script.

\newfontfamily\russianfont[Script=Cyrillic]{Linux Libertine}

\begin{document}
Привет
\begin{english}
Hello! 
\end{english}
\end{document}

用 编译xelatex

优点

在新的 TeX 发行版中开箱即用。西里尔字母可自由用于控制序列名称、标签等。

缺点

我们需要一个相当现代的 TeX 发行版。(还有什么?)

答案4

使用 UTF-8

如果您使用的是 UTF-8,您有一个俄语键盘并且您只想输入俄语文本,那么最好的做法是:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\begin{document}
ЛаТеХ
\end{document}

这样你就不必改变你的行为。输入 LaTeX 文本和输入其他文本一样容易。通常你也有正确的连字模式,所以你可以使用 LaTeX 的全部功能。:-)

相关内容