不显示西里尔符号

不显示西里尔符号

我正在尝试在我的计算机上编译基于模板 Babel 的演示文稿。但我无法显示西里尔字母。

问题是它不会产生任何有用的输出。构建过程似乎没有任何错误就结束了,但没有显示文本。

我也尝试使用 pdflatex 构建它,并且成功了。通常我使用 XeTeX。

有什么办法可以解决这个问题吗?并不是我需要过多使用 XeTeX,而是我在这上面浪费了几个小时,我很好奇。

这是MWE:

\documentclass{beamer}
\usepackage{lmodern}
\usepackage[english,russian]{babel}

% Стиль презентации

\usetheme{Warsaw}
\begin{document}
\title{Все что вы хотели знать о сферическом коне в вакууме, но боялись спросить}  
\author{Олень Северный}
\institute{Научно исследовательский институт физико-матетматических проблем}
\date{Москва, 2010} 
% Создание заглавной страницы
\frame{\titlepage} 
% Автоматическая генерация содержания
\frame{\frametitle{Содержание}\tableofcontents} 
\end{document}

答案1

您正在使用该lmodern包将文档字体设置为拉丁现代,但不支持西里尔字母。计算机现代解码西里尔字母和希腊字母。

对于 XeLaTeX,添加

\usepackage{fontspec}
\setmainfont[
  Ligatures=TeX,
  Extension=.otf,
  BoldFont=cmunbx,
  ItalicFont=cmunti,
  BoldItalicFont=cmunbi,
]{cmunrm}
\setsansfont[
  Ligatures=TeX,
  Extension=.otf,
  BoldFont=cmunsx,
  ItalicFont=cmunsi,
]{cmunss}

就在之前\usepackage[english,russian]{babel},假设cm-unicode已经安装到你的 TeX 发行版中。

对于 LuaLaTeX 来说,只需添加

\usepackage{fontspec}
\setmainfont{CMU Serif}[Ligatures=TeX]
\setsansfont{CMU Sans Serif}[Ligatures=TeX]

如果你想使用老版本的 pdfLaTeX,只需添加常用的

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}

(在所有情况下都删除该\usepackage{lmodern}线)。

请注意,对于 pdfLaTeX,在您指定字体编码(T2A)后会自动选择正确的字体,但对于 LuaLaTeX 和 XeLaTeX,您必须明确设置它们,这很遗憾。

答案2

我已经编译了背面。希望对你有帮助。

在此处输入图片描述

\documentclass{beamer}
\usepackage{lmodern}
\usepackage[english,russian]{babel}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
% Стиль презентации

\usetheme{Warsaw}
\begin{document}
\title{Все что вы хотели знать о сферическом коне в вакууме, но боялись спросить}  
\author{Олень Северный}
\institute{Научно исследовательский институт физико-матетматических проблем}
\date{Москва, 2010} 
% Создание заглавной страницы
\frame{\titlepage} 
% Автоматическая генерация содержания
\frame{\frametitle{Содержание}\tableofcontents} 
\end{document}

相关内容