是否可以编写一个调用另一个 arara 规则的 arara 规则?

是否可以编写一个调用另一个 arara 规则的 arara 规则?

是否可以创建一条arara可能调用其他arara规则的规则?

我已设法编写arara一条有条件执行命令的规则。

!config
# open rule for arara
# author: AEllett
# requires arara 3.0+
identifier: open
name: PREVIEW
commands:
  - <arara>  @{isTrue ( isFile ("./.design/open.pdf.true"), 
                        "open ".concat(getBasename(file)).concat('".pdf"')
                        ""
                      )}
arguments: []

我想要做的是编写一个类似的规则,该规则可以有条件地调用另一条arara规则。

答案1

目前版本arara可通过 CTAN 获得,因此这非常困难。不过 Paulo 提供了一个GitHub 上的新arara版本短时间内不会上传至CTAN。

新版本有一些不错的噱头,在维基百科

如果您正在使用,arara 4RC3则可以使用以下标题:

% arara: pdflatex: { shell: true } if missing ('use.pstricks.true')
% arara: pstricks if exists ('use.pstricks.true')

该规则pstricks可能是:

!config
# pstricks rule for arara
# author: Marco Daniel
# requires arara 4.0+
identifier: pstricks
name: LATEX-DVIPS-PS2PDF
commands: 
    - <arara> latex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
    - <arara> dvips "@{getBasename(file)}.dvi" -o "@{getBasename(file)}.ps" @{dvipsoptions} 
    - <arara> ps2pdf @{ps2pdfoptions} "@{getBasename(file)}.ps" "@{output}.pdf"
arguments:
#arguments for convertion
- identifier: output
  flag: <arara> @{parameters.output}
  default: <arara> @{getBasename(file)}
- identifier: dvipsoptions
  flag: <arara> @{parameters.options}
- identifier: ps2pdfoptions
  flag: <arara> @{parameters.options}
#arguments for latex
- identifier: action
  flag: <arara> --interaction=@{parameters.action}
- identifier: shell
  flag: <arara> @{isTrue(parameters.shell,"--shell-escape","--no-shell-escape")}
- identifier: synctex
  flag: <arara> @{isTrue(parameters.synctex,"--synctex=1","--synctex=0")}
- identifier: draft
  flag: <arara> @{isTrue(parameters.draft,"--draftmode")}
- identifier: options
  flag: <arara> @{parameters.options}

相关内容