注意:请向下滚动并查看 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}
提供以下结果:
错误和警告如下:
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}