我用 TeX 处理以下代码,pdflatex --shell-escape
但由于生成的代码prepare.tex
不包含,编译出现错误而暂停\end{document}
。
\documentclass{article}
\begin{filecontents*}{prepare.tex}
\documentclass{beamer}
\usepackage{graphicx}
\usepackage[active,tightpage,graphics]{preview}
\PreviewBorder=0pt
\begin{document}
\begin{frame}
\only<1>{\includegraphics{example-image-a}}
\only<2>{\includegraphics{example-image-b}}
\end{frame}
\end{document}
\end{filecontents*}
\usepackage{animate}
\begin{document}
\immediate\write18{pdflatex.exe prepare.tex}
\animategraphics{10}{prepare.pdf}{}{}
\end{document}
当它封闭时如何避免filecontents*
混淆\begin{document}..\end{document}
?
奖励问题(而不是我为其创建新问题):filecontents
如果指定文件已存在,我该如何强制覆盖它?
编辑:实际上没有问题filecontents
。问题的根源是.pdf
中的扩展\animategraphics
。现在不幸的是,标题具有误导性。
答案1
下面的示例有效。
我的更改
- 的参数
\animategraphics
不能有文件扩展名。 - 我加载包裹
filecontents
来回答您的奖励问题。
这里是 mwe:
\documentclass{article}
\usepackage{filecontents}
\usepackage{graphicx}
\begin{filecontents*}{prepare.tex}
\documentclass{beamer}
\usepackage{graphicx}
\usepackage[active,tightpage,graphics]{preview}
\PreviewBorder=0pt
\begin{document}
\begin{frame}
\only<1>{\includegraphics{example-image-a}}
\only<2>{\includegraphics{example-image-b}}
\end{frame}
\end{document}
\end{filecontents*}
\usepackage{animate}
\begin{document}
\immediate\write18{pdflatex.exe prepare.tex}
\animategraphics{10}{prepare}{}{}% <======= MUST NOT HAVE EXTENSION!
\end{document}
使用 Ubuntu+TeXLive 测试