我必须在周三用 Beamer 演示我的学士论文。现在我遇到了一个我无法理解的问题。我所做的就是从我的论文中复制代码,它确实运行得很好。我甚至用 MWE 对报告和 Beamer 都进行了测试,但它只对报告有效。当我查找问题时,大多数解决方案都与数据应该所在的文件的路径有关,但是没有路径,数据直接在代码中。
这是一个确实有效的 MWE:
\documentclass{report}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\MakeOuterQuote{"}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{qtree}
\usepackage{mathtools}
\usepackage{caption}
\usepackage[labelformat=empty]{subcaption}
\usepackage{amssymb}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0,
ymax=5,
xmin=0, xmax=2,
xtick={0,0.2,...,2},
width=0.8\textwidth,
xlabel=LB/LX,
ylabel={$H_1/H_2$}
]
\addplot[scatter,only marks,scatter src=explicit symbolic]table[meta=x] {
x y
0.860 1.156
1.068 1.806
1.248 1.197
1.093 2.377
1.833 1.143
0.609 2.332
0.936 1.017
1.277 1.099
0.804 1.279
0.862 3.040
0.778 1.888
0.797 3.099
1.546 1.004
0.841 3.729
0.989 1.736
1.889 1.000
0.794 1.277
0.885 1.158
0.966 1.256
0.778 1.888
0.936 1.0172
0.863 3.953
};
\end{axis}
\end{tikzpicture}
\label{Test}
\end{document}
这不起作用:
\documentclass{beamer}
\title[MWE]{MWE}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\MakeOuterQuote{"}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{qtree}
\usepackage{mathtools}
\usepackage{caption}
\usepackage[labelformat=empty]{subcaption}
\usetheme{Madrid}
\usepackage{amssymb}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\frame{\titlepage}
\begin{frame}{3.3. Interpretation}
\begin{tikzpicture}
\begin{axis}[
ymin=0,
ymax=5,
xmin=0, xmax=2,
xtick={0,0.2,...,2},
width=0.8\textwidth,
xlabel=LB/LX,
ylabel={$H_1/H_2$}
]
\addplot[scatter,only marks,scatter src=explicit symbolic]table[meta=x] {
x y
0.860 1.156
1.068 1.806
1.248 1.197
1.093 2.377
1.833 1.143
0.609 2.332
0.936 1.017
1.277 1.099
0.804 1.279
0.862 3.040
0.778 1.888
0.797 3.099
1.546 1.004
0.841 3.729
0.989 1.736
1.889 1.000
0.794 1.277
0.885 1.158
0.966 1.256
0.778 1.888
0.936 1.0172
0.863 3.953};
\end{axis}
\end{tikzpicture}
\label{Test}
\end{frame}
\end{document}
我猜是 beamer 类无法读取或找到数据。但我不明白为什么。非常感谢您的帮助。
答案1
如果你将[fragile]
选项添加到框架中,和在表格中添加行尾,意思是
0.863 3.953};
应该
0.863 3.953
};
那么它将起作用:
\documentclass{beamer}
\title[MWE]{MWE}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\MakeOuterQuote{"}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{qtree}
\usepackage{mathtools}
\usepackage{caption}
\usepackage[labelformat=empty]{subcaption}
\usetheme{Madrid}
\usepackage{amssymb}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\frame{\titlepage}
\begin{frame}[fragile]{3.3. Interpretation}
\begin{tikzpicture}
\begin{axis}[
ymin=0,
ymax=5,
xmin=0, xmax=2,
xtick={0,0.2,...,2},
width=0.8\textwidth,
xlabel=LB/LX,
ylabel={$H_1/H_2$}
]
\addplot[scatter,only marks,scatter src=explicit symbolic]table[meta=x] {
x y
0.860 1.156
1.068 1.806
1.248 1.197
1.093 2.377
1.833 1.143
0.609 2.332
0.936 1.017
1.277 1.099
0.804 1.279
0.862 3.040
0.778 1.888
0.797 3.099
1.546 1.004
0.841 3.729
0.989 1.736
1.889 1.000
0.794 1.277
0.885 1.158
0.966 1.256
0.778 1.888
0.936 1.0172
0.863 3.953
};
\end{axis}
\end{tikzpicture}
\label{Test}
\end{frame}
\end{document}
否则,您可以预加载您的表格,然后它就可以工作了:
\documentclass{beamer}
\title[MWE]{MWE}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\MakeOuterQuote{"}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{qtree}
\usepackage{mathtools}
\usepackage{caption}
\usepackage[labelformat=empty]{subcaption}
\usetheme{Madrid}
\usepackage{amssymb}
\usepackage{pgfplots}
\pgfplotstableread{
x y
0.860 1.156
1.068 1.806
1.248 1.197
1.093 2.377
1.833 1.143
0.609 2.332
0.936 1.017
1.277 1.099
0.804 1.279
0.862 3.040
0.778 1.888
0.797 3.099
1.546 1.004
0.841 3.729
0.989 1.736
1.889 1.000
0.794 1.277
0.885 1.158
0.966 1.256
0.778 1.888
0.936 1.0172
0.863 3.953
}\mytable
\pgfplotsset{compat=1.17}
\begin{document}
\frame{\titlepage}
\begin{frame}
\frametitle{3.3. Interpretation}
\begin{tikzpicture}
\begin{axis}[
ymin=0,
ymax=5,
xmin=0, xmax=2,
xtick={0,0.2,...,2},
width=0.8\textwidth,
xlabel=LB/LX,
ylabel={$H_1/H_2$}
]
\addplot[scatter,only marks,scatter src=explicit symbolic]table[meta=x] \mytable;
\end{axis}
\end{tikzpicture}
\label{Test}
\end{frame}
\end{document}