tikz 无法与 beamer 中的 L7x 编码配合使用

tikz 无法与 beamer 中的 L7x 编码配合使用

在我的beamer文档中,我使用了L7x编码,我想导入tikz图片,但是,它不起作用,那么将它导入演示文稿的最佳方法是什么?我的想法是在文档中制作此图片的截屏,由其他文档类生成,然后将其作为图片输入,但我相信有更好的解决方案。

在 Beamer 中不起作用的文档示例

\documentclass{beamer}

\usepackage[utf8x]{inputenc}
\usepackage[L7x]{fontenc}

\usepackage{tikz}
\usetikzlibrary{arrows}

\begin{document} 
  \frame{

\tikzstyle{c}=[draw, shape=circle, minimum size=25pt,inner sep=0pt]

\begin{tikzpicture}[auto,>=latex']
    \node at (0,0) (d02) {$x(k)$};
    \node at (-1,0) [coordinate] (p1) {};
    \node at (-4,-1) [c, line width=1pt] (d12) {$\uparrow 2$};
    \node at (-5,-1) [coordinate] (p2) {};
    \node at (-8,-2) [c, line width=1pt] (d22) {$\uparrow 2$};
    \node at (-9,-2) [coordinate] (p3) {};
    \node at (-12,-3) [c, line width=1pt] (d32) {$\uparrow 2$};

    \begin{scope}[line width=1pt]
        \foreach \j/\i in {0/1,1/2,2/3}
                {\draw[<-]  (d\j2) -- (p\i);}
    \end{scope}

\end{tikzpicture} 
  }
\end{document} 

答案1

问题不在于 tikz,而在于数学:

\documentclass{beamer}
\usepackage[L7x]{fontenc}
\begin{document}
  $x$
\end{document} 

beamer定义了很多数学字母表,\encodingdefault其中 L7x 在您的文档中使用。启动数学运算时,由于 L7x 设置不正确,一些替换会失败。

您可以声明一个错误字体:

\usepackage[L7x]{fontenc}
\DeclareErrorFont{L7x}{lmr}{m}{n}{10}

(但我不知道所有的数学字母是否都能正确地与你的编码配合使用)

您还可以(另外或相反)仅在 处激活编码\begin{document}。然后 beamer 将使用正常的数学设置:

\usepackage[L7x,T1]{fontenc}
\AtBeginDocument{\renewcommand\encodingdefault{L7x}\normalfont}

您还可以使用 来抑制投影机的数学设置\usefonttheme{professionalfonts}

答案2

\documentclass{beamer}
\usefonttheme{professionalfonts}% now beamer didn't modify math fonts
\usepackage[L7x]{fontenc}
\begin{document}
  $x$
\end{document} 

相关内容