arara 版本 4.0 答案

arara 版本 4.0 答案

我想使用以下方法自动将 pdf 转换为 gif 动画:animate规则由 cmhughes 提供,以回答使用 tikz 绘制序列 x_n

我在 Windows 上使用 arara+texworks+miktex。我还安装了 imagemagick 并从命令行运行。

我已将 cmhughes 代码保存animate.yaml在我的\rules文件夹中。我添加

% arara: pdflatex
% arara: animate

到我的 tex 文件(例如,这个 pgfplots 代码)并使用 进行编译arara。结果是一个正确的 pdf 文件,但启动时animate会显示一条消息

Running animate ...

Parámetro no válido: 10
FAILURE

Parámetro no válido意思non valid parameter是我不知道哪个程序(arara,convert)显示它。

我使用 TeXworks 的 arara 以及选项--log--verbose。编译 tex 文件后,arara.log包含:

05 Jun 2013 15:52:58.687 INFO  Arara - Welcome to arara!
05 Jun 2013 15:52:58.687 INFO  Arara - Processing file '117309.tex', please wait.
05 Jun 2013 15:52:58.703 INFO  DirectiveExtractor - Reading directives from 117309.tex.
05 Jun 2013 15:52:58.703 TRACE DirectiveExtractor - Directive found in line 1 with animate: {density: 200, delay: 10}.
05 Jun 2013 15:52:58.812 INFO  DirectiveParser - Parsing directives.
05 Jun 2013 15:52:58.812 INFO  TaskDeployer - Deploying tasks into commands.
05 Jun 2013 15:52:58.812 TRACE TaskDeployer - Task 'animate' found in 'D:\Archivos de programa\arara\rules'.
05 Jun 2013 15:52:59.125 INFO  CommandTrigger - Ready to run commands.
05 Jun 2013 15:52:59.125 INFO  CommandTrigger - Running 'animate'.
05 Jun 2013 15:52:59.125 TRACE CommandTrigger - Command: convert -delay 10 -loop 0 -density 200 "117309.pdf" "117309.gif"
05 Jun 2013 15:52:59.265 TRACE CommandTrigger - Output logging:
05 Jun 2013 15:52:59.265 TRACE CommandTrigger - Par metro no v lido: 10

05 Jun 2013 15:52:59.265 WARN  CommandTrigger - 'animate' returned an error status.
05 Jun 2013 15:52:59.265 INFO  Arara - Done.

(空行是原来的,不是我的错误编辑它)

无论如何,运行命令

convert -delay 10 -loop 0 -density 300 myfile.pdf myfile.gif

从命令窗口运行并创建一个 gif 文件。此命令就是它试图执行的操作arara: animate

你知道什么地方出了问题吗?

答案1

arara 版本 4.0 答案

arara版本 4.0 附带animate.yaml,Windows 用户可能会使用以下内容,例如:

% arara: animate: {program: magick.exe}

旧答案,已过时

以下答案已过时

我很抱歉我的规则不够完善:)

正如评论中所述,我最初的答案的问题是 Windows 可能无法正确获取路径。您可以使用以下方法修复它:

- <arara> @{ isWindows( "cmd /c convert", "convert" ) } -delay @{delay} -loop @{loop} -density @{density} "@{ getBasename(file) }.pdf" "@{ getBasename(file) }.gif"

这是一个完整的跨平台版本

!config
# Make animated .gif file from .pdf
# author: Chris Hughes
# last edited by: cmh, June 6th 2013
# requires arara 3.0+
#
# Sample usage: 
#
# % arara: animate
# % arara: animate: {density: 200}
# % arara: animate: {density: 200, delay: 20}
#
# This rule is really just a shortcut for commands like the following
#
#  convert -delay 10 -loop 0 -density 300 myfile.pdf myfile.gif
#
# which will output myfile.gif
#
identifier: animate
name: animate
commands: 
- <arara> @{ isWindows( "cmd /c convert", "convert" ) } -delay @{delay} -loop @{loop} -density @{density} "@{ getBasename(file) }.pdf" "@{ getBasename(file) }.gif"
arguments:
- identifier: delay
  flag: <arara> @{parameters.delay}
  default: 10
- identifier: loop
  flag: <arara> @{parameters.loop}
  default: 0
- identifier: density
  flag: <arara> @{parameters.density}
  default: 300

相关内容