投影機中的西里爾文等寬字體問題

投影機中的西里爾文等寬字體問題

注意:請向下滾動並查看 UPD 2,它澄清了問題。

我需要在我的簡報中使用\texttt(甚至\verbatim)。不幸的是,它看起來根本不適用於投影機。

微量元素:

\documentclass{beamer}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\begin{document}
    \begin{frame}[fragile]
        \frametitle{English + русский}
            English is okay.
            Русский работает.
%            \texttt{English} is not okay.
%            \verb+Русский+ не работает.
    \end{frame}
\end{document}

如果我用 取消註解第一個註解行\texttt{English},則該文件不會編譯。錯誤是

Font T2A/cmtt/m/n/10.95=latt1095 at 10.95pt not loadable: Metric (TFM) file not found.

如果我用...取消註解第二個註解行\verb,則該文件不會編譯。錯誤是

File ended while scanning use of \next.

我在 OS X 10.11 上使用 TexLive,並cm-super安裝和更新了所有軟體包(包括 )。使用 編譯相同的文件\documentclass{article}(當然,使用 刪除frame環境)效果很好。\frametitle

PS 請不要嘗試提供 XeLaTex,因為我必須依賴 pdftex。

PPS 玩了約一段時間後。一個小時後,我發現\documentclass[10pt]{beamer}類似的其他變體\documentclass[12pt]{beamer}可能會有所幫助,但它看起來更像是一種駭客,而不是解決方案。


更新:

verbatim、和 空格的問題fragile已經解決,但主要問題仍然存在。代碼來自CFR的答案仍然給我一個錯誤

Font T2A/cmtt/m/n/10.95=latt1095 at 10.95pt not loadable: Metric (TFM) file not found. \verb

所以我的問題是關於在投影機中處理\texttt


更新2:

編譯以下 MWE(經過一些編輯的變體)CFR的回答)

\documentclass{beamer}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american,russian]{babel}
\newcommand*\texteng[1]{\foreignlanguage{american}{#1}}
\begin{document}
\begin{frame}[fragile]
  \frametitle{English + русский}
  \texteng{English is okay.} \\
  Русский работает. \\
  \texteng{\texttt{English} is not okay.} \\
  \texttt{Русский} не работает. \\
\end{frame}
\end{document}

提供這樣的結果:

\texttt 沒有西里爾字母

錯誤和警告如下:

Font T2A/cmtt/m/n/10.95=latt1095 at 10.95pt not loadable: Metric (TFM) file not found. \end{frame}
Font shape `T2A/cmss/m/n' in size <4> not available(Font) size <5> substituted
Size substitutions with differences(Font) up to 1.0pt have occurred.

missfont.log文件包含以下行:

mktextfm latt1095

.log文件可以在這裡看到:http://pastebin.com/WUcU9Nv5

正如我之前提到的,所有軟體包都已安裝,包括cm-super,並且 TeXLive 實用程式報告所有內容都是最新的。

所以沒有西里爾字母\texttt,問題是為什麼?

答案1

實際導致錯誤的問題只是在使用\end{frame}時不允許使用前面的空格。fragile

然而,對於 Babel 來說,英文文本應該被標記為英文文本。儘管它無論如何都可以處理基本的拉丁文字,但連字符和其他細節將是錯誤的。

\documentclass{beamer}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american,russian]{babel}
\newcommand*\texteng[1]{\foreignlanguage{american}{#1}}
\begin{document}
\begin{frame}[fragile]
  \frametitle{English + русский}
  \texteng{English is okay.}
  Русский работает.
  \texteng{\texttt{English} is not okay.}
  \verb+Русский+ не работает.
\end{frame}
\end{document}

美式英語和俄語

相關內容