不顯示西里爾字母符號

不顯示西里爾字母符號

我正在嘗試在我的機器上編譯一個基於 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}

相關內容