![错误!动画包找不到请求的 pdf 文件](https://linux22.com/image/405051/%E9%94%99%E8%AF%AF%EF%BC%81%E5%8A%A8%E7%94%BB%E5%8C%85%E6%89%BE%E4%B8%8D%E5%88%B0%E8%AF%B7%E6%B1%82%E7%9A%84%20pdf%20%E6%96%87%E4%BB%B6.png)
我只是想在我的论文中添加一些动画,但 pdf-backend 仍然符合我的要求,找不到所请求的文件。
另外,如果图像没有存储在同一目录中,我想知道该怎么做。对于附加的 MNWE,文件与编译后的 test.tex 文件存储在同一个目录中。
如果我是对的,语法应该是这样的(不需要指定帧数):
\animategraphics[<options>]{<frames per second>}{<name without extension>}{<first frame>}{<last frame>}
編輯:
lualatex --enable-write18 --shell-escape test.tex
工程 挪威克朗pdflatex --enable-write18 --shell-escape test.tex
工作正常
微电子工程协会
\documentclass{article}
\usepackage{graphicx}
\usepackage{animate}
\begin{document}
text
\begin{figure}
\centering
\animategraphics[controls,autoplay,loop]{2}{animation}{}{}
\end{figure}
\end{document}
为了完整起见,我也尝试了类似帖子中的答案使用单个 PDF 文件中的一系列图像进行动画制作,但行为是一样的。
生成用于动画的20页PDF的代码:
% This animation helps explain the geometric interpretation of the
% definite integral.
% http://texample.net/tikz/examples/animated-definite-integral/
\documentclass[tikz]{standalone}
\usepackage{tikz, pgf}
\usepackage{multido}
\begin{document}
%
\multido{\n=1+1}{20}{%
\begin{tikzpicture}[scale=1.25]
\draw[red,thick,<->] (-1,1) parabola bend (0,0) (2.1,4.41)
node[below right] {\(y=x^2\)};
\draw[loosely dotted] (-1,0) grid (4,4);
\draw[->] (-0.2,0) -- (4.25,0) node[right] {\(x\)};
\draw[->] (0,-0.25) -- (0,4.25) node[above] {\(y\)};
\foreach \x/\xtext in {1/1, 2/2, 3/3}
\draw[shift={(\x,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {\(\xtext\)};
\foreach \y/\ytext in {1/1, 2/2, 3/3, 4/4}
\draw[shift={(0,\y)}] (2pt,0pt) -- (-2pt,0pt) node[left] {\(\ytext\)};
%
\def\mc{\n*\n}
\pgfmathsetmacro\result{int(\n*\n*\n)}
\shade[top color=blue,bottom color=gray!50]
(0,0) parabola (0.1*\n,0.01*\mc) |- (0,0);
\node[draw, fill=white] at (3cm,2cm)
{\(\int\limits_0^{\frac{\n}{10}}\!\!x^2\mathrm{d}x = \frac{\result}{3000}\)};
\draw[fill=black,color=black] (0.1*\n,0.01*\mc) circle (1.2pt);
\end{tikzpicture}
}
\end{document}
答案1
Luatex 和 pdftex 处理带引号的文件名的方式不同。解决方法(直到 animate 被更正)可以是
\documentclass{article}
\usepackage{graphicx}
\usepackage{animate}
\makeatletter
\def\@anim@getpagecount#1#2#3{%
\edef\@anim@tempfilename{\noexpand\unquote@name{#1.#2}}%
\pdfximage page 1 {\@anim@tempfilename}\xdef#3{\the\pdflastximagepages}%
}
\makeatother
\begin{document}
text
\begin{figure}
\centering
\animategraphics[controls,autoplay,loop]{2}{example-image-duck}{}{}
\end{figure}
\end{document}