投影机中的西里尔等宽字体问题

投影机中的西里尔等宽字体问题

注意:请向下滚动并查看 UPD 2,它澄清了该问题。

我需要在演示文稿中使用\texttt(甚至\verbatim)。不幸的是,它看起来根本无法与 Beamer 配合使用。

梅威瑟:

\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已经解决,但主要问题仍然存在。成本加运费的回答仍然给我一个错误

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

所以我的问题是关于如何处理\texttt投影仪。


更新 2:

编译以下 MWE(经过编辑的版本成本加运费的答案)

\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}

美式英语和俄语

相关内容