我正在尝试创建一个图,其中的点将按顺序添加到多张幻灯片中。但添加的代码会产生一堆Undefined control sequence.
错误。
有趣的是,当我在 for 循环中分别使用\x
和\xi
作为变量和索引变量时,代码开始运行,我得到了一个超过 250 页的 PDF!除了最后一页包含所有点的绘图外,它充满了空白的绘图。
梅威瑟:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.18}
\begin{document}
\begin{frame}{Frame name}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}
\foreach \point [count = \pointindex] in {-2, 5, -1}
{
\addplot [
only marks,
mark = *,
samples at = {\point},
visible on = <\pointindex->,
]
{x^2};
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
答案1
问题是,这\pointindex
是在循环中本地定义的\foreach
。但对于覆盖,您需要全局值。您可以使用类似以下内容:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.18}
\begin{document}
\begin{frame}{Frame name}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}
\foreach \point [count = \pointindex] in {-2, 5, -1}
{
\xdef\ADDPLOT{%
\noexpand\addplot[visible on = {<\pointindex->},
only marks,
mark = *,
samples at = {\point}
]
}
\ADDPLOT {x^2};
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}