以下代码生成光栅化字体:
\documentclass{beamer}
\usepackage[OT2,OT1]{fontenc}
\newcommand{\cyr}{%
\renewcommand\encodingdefault{OT2}%
\normalfont\selectfont}
\newcommand{\lat}{%
\renewcommand\encodingdefault{OT1}%
\normalfont\selectfont}
\begin{document}
\begin{frame}
\cyr test
\begin{definition}
test
\end{definition}
\begin{theorem}
test
\end{theorem}
test \emph{test}
\lat
test \emph{test}
\end{frame}
\end{document}
但是,在我重新安装操作系统之前,相同的代码用于产生矢量输出。我不确定我之前使用的是哪个版本的 MiKTeX,当前版本是 Portable MiKTeX 2.9.6620。
我已经尝试安装cm-super
软件包(根据我在互联网上找到的建议),但这并不能解决问题。
有没有办法恢复以前的行为?注意:我宁愿保留相同的代码(或者至少只对其进行小的更改),也就是说,如果有一种解决方案包括以其他方式编写西里尔文字,那不适合我。
编辑:也许我的问题不够清楚,因为提出的解决方案并没有解决问题。所以让我试着重新表述一下。也就是说,上面给出的代码产生以下输出:
这正是我想要的输出。然而,问题在于这些字母被栅格化了(实际上,西里尔字母是这样的;拉丁字母是可以的)。因此,问题是我应该怎么做才能得到相同的输出,但输出的是矢量字母。完全相同的代码在我以前的操作系统上运行良好;因此,我希望有一个简单的方法来解决这个问题。
先感谢您。
答案1
我怀疑你的代码是否曾经正确运行过。在我看来,beamer 总是使用 \sfdefault 作为 \familydefault,因此你对 \rmdefault 的重新定义在 beamer 中永远不会产生任何作用。
尝试一下这个:
\documentclass{beamer}
\usepackage[OT2,OT1]{fontenc}
\newcommand{\cyr}{%
\fontfamily{wncyss}%
\fontencoding{OT2}%
\selectfont}
\newcommand{\lat}{%
\fontfamily{\familydefault}%
\fontencoding{\encodingdefault}%
\selectfont}
\begin{document}
\begin{frame}
\cyr
test
\lat
test
\end{frame}
\end{document}