更详细的场景

更详细的场景

我有一个包含多页的 PDF 文件。如何生成一个包含这些页面动画的独立 PDF?

更详细的场景

我每天都会创建一堆图表。有时我想以 GIF 或 PDF 格式为每个图表制作动画。如果我必须按如下方式创建一个新文件,那将非常繁琐

\documentclass[border=12pt]{standalone}% cannot use preview
\usepackage{animate,graphicx}
\begin{document}
\animategraphics[palindrome,controls,loop,autoplay,scale=<scale>]{<frame rate>}{"<diagram filename>"}{}{}
\end{document}

每当我想创建一个独立的 PDF 动画时。

有没有什么工作流程可以简化这个?

答案1

Microsoft Windows 用户

对于其他操作系统,请举手。

创建一个模板文件,将其命名template.tex,并将其保存在本地 texmf 文件夹下(我不确定这里的术语是否正确)。

\documentclass[border=12pt]{standalone}% cannot use preview
\usepackage{animate,graphicx}
\begin{document}
\animategraphics[palindrome,controls,loop,autoplay,scale=\OutputScale]{\FrameRate}{"\InputFileName"}{}{}
\end{document}

创建一个批处理文件,如下所示。将其命名为animator.bat。将其保存在任何安全的地方,并将其路径注册到 ,PATH以便从任何地方访问它。

echo off

rem %1 PDF filename without extension
rem %2 frame rate
rem %3 scale

if exist "%~1.pdf" rename "%~1.pdf" "%~1-animate.pdf"

rem need 2 compilations
if exist "%~1-animate.pdf" pdflatex -interaction=batchmode --jobname="%~1" "\def\InputFileName{%~1-animate}\def\FrameRate{%2}\def\OutputScale{%3}\input{template}"
if exist "%~1-animate.pdf" pdflatex --jobname="%~1" "\def\InputFileName{%~1-animate}\def\FrameRate{%2}\def\OutputScale{%3}\input{template}"

if exist "%~1-animate.pdf" del "%~1-animate.pdf"

for %%x in (aux log out toc) do (if exist "%~1.%%x" del "%~1.%%x")

现在您可以按如下方式调用批处理animator.bat

animator mypdffilenamewithoutextension 25 1

完成,查看结果。在 Acrobat Reader 上查看的独立 PDF 动画。

在此处输入图片描述

各种各样的

您还可以创建一个新的构建配置文件(在 TeXnicCenter、TeXStudio 或任何编辑器中)来调用批处理,这样可以节省更多的时间和精力。

相关内容