动画/TikZ:如何将 foreach 结果转换为动画 PDF

动画/TikZ:如何将 foreach 结果转换为动画 PDF

在此处输入图片描述

我从坐标列表中绘制曲线并得到 6 个独立页面。

有没有一种简单的方法可以使用 animate-package 将其作为动画图片保存在 PDF 中?

\documentclass[margin=5pt, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\usepackage{amsmath, amssymb}

\begin{document}
\newcommand{\List}{}% reserve name 
\let\List=\empty% create list
\def\Range{0,30,60,90,120,360}

\foreach \w in \Range{%%%%%%%%%%%%%%%
\pgfmathsetmacro\Winkel{\w} % 
\begin{tikzpicture}[]
\coordinate[] (M) at (0,0);

\draw[] (M) circle[radius=3];
\draw[name path=kreis] (M) circle[radius=1.4];

\draw[name path=zeiger] (M) -- (90-\Winkel:3);

% Create List of Coordinates
\makeatletter
\path[name intersections={of=kreis and zeiger, name=S}] ;
\coordinate[label=left:$S_{\w}$] (S-\w) at (S-1); 
\pgfmathsetmacro\temp{"(S-\w)"}%
  \ifx\empty\List{} \xdef\List{\temp}%
  \else \xdef\List{\List \temp}%
  \fi
\makeatother

\draw[red] plot[mark=*] coordinates{\List};
\node[anchor=north west, text width=6 cm] at (-3,-3){List: \List};
\end{tikzpicture}
}%%%%%%%%%%%%%%%%%%%%%%%%%%

\end{document}

答案1

有了@AndéC 的提示,我得到了

在此处输入图片描述

% sub.tex

\documentclass[margin=5pt, tikz]{standalone}
\usepackage{animate}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\usepackage{amsmath, amssymb}

\begin{document}
\newcommand{\List}{}% reserve name 
\let\List=\empty% create list
\def\Range{0,30,60,90,120,360}

\foreach \w in \Range{%%%%%%%%%%%%%%%
\pgfmathsetmacro\Winkel{\w} % 
\begin{tikzpicture}[]
\useasboundingbox (-4,-4) rectangle (4,4);
\coordinate[] (M) at (0,0);

\draw[] (M) circle[radius=3];
\draw[name path=kreis] (M) circle[radius=1.4];

\draw[name path=zeiger] (M) -- (90-\Winkel:3);

% Create List of Coordinates
\makeatletter
\path[name intersections={of=kreis and zeiger, name=S}] ;
\coordinate[label=left:$S_{\w}$] (S-\w) at (S-1); 
\pgfmathsetmacro\temp{"(S-\w)"}%
  \ifx\empty\List{} \xdef\List{\temp}%
  \else \xdef\List{\List \temp}%
  \fi
\makeatother

\draw[red] plot[mark=*] coordinates{\List};
\node[anchor=north west, text width=6 cm] at (-3,-3){List: \List};
\end{tikzpicture}
}%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}

% arara: pdflatex
% arara: pdflatex

% main.tex 
\documentclass[tikz]{standalone}
\usepackage{animate}

\begin{document}
\animategraphics[autoplay,loop,controls]{1}{sub}{}{}
\end{document}

相关内容