在我的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}