当我尝试在 beamer 中实现 TikZ 3.0.0 手册中第 75.2 节的第一个示例时,我没有得到任何数据点。
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\datavisualization [school book axes,
visualize as smooth line]
data {
x, y
-1.5, 2.25
-1, 1
-.5, .25
0, 0
.5, .25
1, 1
1.5, 2.25
};
\end{tikzpicture}
\end{frame}
\end{document}
产量
而使用文档类文章且不使用框架则可以得到正确的结果。
使用附加的 TikZ 库datavisualization.formats.functions
和数据块
data [format=function] {
var x : interval [-1.5:1.5] samples 7;
func y = \value x*\value x;
};
来自 TikZ 3.0.0 手册第 75.2 节中的第二个示例也产生了正确的结果,在文章中以及在 beamer 文档类中。
为什么会这样?我该怎么做才能使用 beamer 类中第一个例子中的数据结构?
答案1
它正在读取数据,verbatim
因此它看到行结束,因此你需要[fragile]
在框架上
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\begin{document}
\begin{frame}[fragile]
\begin{tikzpicture}
\datavisualization [school book axes,
visualize as smooth line]
data {
x, y
-1.5, 2.25
-1, 1
-.5, .25
0, 0
.5, .25
1, 1
1.5, 2.25
};
\end{tikzpicture}
\end{frame}
\end{document}