summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/arara
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-02-05 23:00:15 +0000
committerKarl Berry <karl@freefriends.org>2013-02-05 23:00:15 +0000
commit5951dc20b924b01da871a6b772f7cd30f66e07fd (patch)
tree6df25558e8efc9d7e28ce858f1ef7866bd567702 /Master/texmf-dist/scripts/arara
parentb5620e0b06e34b0db7481f8b3c6417c6e8b13c1a (diff)
arara (6feb13)
git-svn-id: svn://tug.org/texlive/trunk@29036 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/arara')
-rw-r--r--Master/texmf-dist/scripts/arara/arara.jarbin0 -> 2610681 bytes
-rw-r--r--Master/texmf-dist/scripts/arara/arara.sh4
-rw-r--r--Master/texmf-dist/scripts/arara/rules/biber.yaml10
-rw-r--r--Master/texmf-dist/scripts/arara/rules/bibtex.yaml10
-rw-r--r--Master/texmf-dist/scripts/arara/rules/clean.yaml11
-rw-r--r--Master/texmf-dist/scripts/arara/rules/dvips.yaml13
-rw-r--r--Master/texmf-dist/scripts/arara/rules/frontespizio.yaml18
-rw-r--r--Master/texmf-dist/scripts/arara/rules/latex.yaml19
-rw-r--r--Master/texmf-dist/scripts/arara/rules/lmkclean.yaml11
-rw-r--r--Master/texmf-dist/scripts/arara/rules/lualatex.yaml19
-rw-r--r--Master/texmf-dist/scripts/arara/rules/lualatexmk.yaml19
-rw-r--r--Master/texmf-dist/scripts/arara/rules/luatex.yaml18
-rw-r--r--Master/texmf-dist/scripts/arara/rules/make.yaml12
-rw-r--r--Master/texmf-dist/scripts/arara/rules/makeglossaries.yaml10
-rw-r--r--Master/texmf-dist/scripts/arara/rules/makeindex.yaml16
-rw-r--r--Master/texmf-dist/scripts/arara/rules/nomencl.yaml15
-rw-r--r--Master/texmf-dist/scripts/arara/rules/pdflatex.yaml19
-rw-r--r--Master/texmf-dist/scripts/arara/rules/pdflatexmk.yaml18
-rw-r--r--Master/texmf-dist/scripts/arara/rules/pdftex.yaml19
-rw-r--r--Master/texmf-dist/scripts/arara/rules/ps2pdf.yaml14
-rw-r--r--Master/texmf-dist/scripts/arara/rules/sketch.yaml10
-rw-r--r--Master/texmf-dist/scripts/arara/rules/songidx.yaml11
-rw-r--r--Master/texmf-dist/scripts/arara/rules/tex.yaml16
-rw-r--r--Master/texmf-dist/scripts/arara/rules/xelatex.yaml17
-rw-r--r--Master/texmf-dist/scripts/arara/rules/xelatexmk.yaml19
-rw-r--r--Master/texmf-dist/scripts/arara/rules/xetex.yaml16
26 files changed, 364 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/arara/arara.jar b/Master/texmf-dist/scripts/arara/arara.jar
new file mode 100644
index 00000000000..6b8a7a36ffd
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/arara.jar
Binary files differ
diff --git a/Master/texmf-dist/scripts/arara/arara.sh b/Master/texmf-dist/scripts/arara/arara.sh
new file mode 100644
index 00000000000..564af5c7794
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/arara.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+jarpath=`kpsewhich --progname=arara --format=texmfscripts arara.jar`
+java -jar "$jarpath/arara.jar" "$@"
+
diff --git a/Master/texmf-dist/scripts/arara/rules/biber.yaml b/Master/texmf-dist/scripts/arara/rules/biber.yaml
new file mode 100644
index 00000000000..ad27377e8bf
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/biber.yaml
@@ -0,0 +1,10 @@
+!config
+# Biber rule for arara
+# author: Marco Daniel
+# requires arara 3.0+
+identifier: biber
+name: Biber
+command: <arara> biber @{options} "@{getBasename(file)}"
+arguments:
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/bibtex.yaml b/Master/texmf-dist/scripts/arara/rules/bibtex.yaml
new file mode 100644
index 00000000000..055b60d47ea
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/bibtex.yaml
@@ -0,0 +1,10 @@
+!config
+# BibTeX rule for arara
+# author: Marco Daniel
+# requires arara 3.0+
+identifier: bibtex
+name: BibTeX
+command: <arara> bibtex @{options} "@{getBasename(file)}.aux"
+arguments:
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/clean.yaml b/Master/texmf-dist/scripts/arara/rules/clean.yaml
new file mode 100644
index 00000000000..c9542f7979e
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/clean.yaml
@@ -0,0 +1,11 @@
+!config
+# Clean rule for arara
+# author: Paulo Cereda
+# requires arara 3.0+
+identifier: clean
+name: CleaningTool
+command: <arara> @{remove}
+arguments:
+- identifier: remove
+ default: <arara> @{isFalse(file == getOriginalFile(), isWindows("cmd /c del", "rm -f").concat(' "').concat(file).concat('"'))}
+
diff --git a/Master/texmf-dist/scripts/arara/rules/dvips.yaml b/Master/texmf-dist/scripts/arara/rules/dvips.yaml
new file mode 100644
index 00000000000..48e9172e972
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/dvips.yaml
@@ -0,0 +1,13 @@
+!config
+# DVIPS rule for arara
+# author: Marco Daniel
+# requires arara 3.0+
+identifier: dvips
+name: DVIPS
+command: <arara> dvips "@{getBasename(file)}.dvi" -o "@{output}.ps" @{options}
+arguments:
+- identifier: output
+ flag: <arara> @{parameters.output}
+ default: <arara> @{getBasename(file)}
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/frontespizio.yaml b/Master/texmf-dist/scripts/arara/rules/frontespizio.yaml
new file mode 100644
index 00000000000..9387f32fa6d
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/frontespizio.yaml
@@ -0,0 +1,18 @@
+!config
+# Frontespizio rule for arara
+# author: Francesco Endrici
+# author: Enrico Gregorio
+# requires arara 3.0+
+identifier: frontespizio
+name: Frontespizio
+commands:
+- <arara> @{engine} "@{getBasename(file)}"
+- <arara> @{engine} "@{getBasename(file)}-frn"
+- <arara> @{dvips}
+- <arara> @{engine} "@{getBasename(file)}"
+arguments:
+- identifier: engine
+ flag: <arara> @{parameters.engine}
+ default: pdflatex
+- identifier: dvips
+ default: <arara> @{ isTrue(parameters.engine == 'latex', 'dvips -o "' + getBasename(file) + '-frn.eps" "'+ getBasename(file) + '-frn"') }
diff --git a/Master/texmf-dist/scripts/arara/rules/latex.yaml b/Master/texmf-dist/scripts/arara/rules/latex.yaml
new file mode 100644
index 00000000000..2a02cd5d41e
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/latex.yaml
@@ -0,0 +1,19 @@
+!config
+# LaTeX rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: latex
+name: LaTeX
+command: <arara> latex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+- 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}
diff --git a/Master/texmf-dist/scripts/arara/rules/lmkclean.yaml b/Master/texmf-dist/scripts/arara/rules/lmkclean.yaml
new file mode 100644
index 00000000000..0dda56496f6
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/lmkclean.yaml
@@ -0,0 +1,11 @@
+!config
+# Clean rule for arara, via latexmk
+# author: Brent Longborough
+# requires arara 3.0+
+identifier: lmkclean
+name: LaTeXmKCleaner
+command: <arara> latexmk @{include} "@{file}"
+arguments:
+- identifier: include
+ flag: <arara> @{isTrue(parameters.include.toLowerCase() == "all", "-C", "-c") }
+ default: <arara> -c
diff --git a/Master/texmf-dist/scripts/arara/rules/lualatex.yaml b/Master/texmf-dist/scripts/arara/rules/lualatex.yaml
new file mode 100644
index 00000000000..06c7f60eef5
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/lualatex.yaml
@@ -0,0 +1,19 @@
+!config
+# LuaLaTeX rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: lualatex
+name: LuaLaTeX
+command: <arara> lualatex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+- 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}
diff --git a/Master/texmf-dist/scripts/arara/rules/lualatexmk.yaml b/Master/texmf-dist/scripts/arara/rules/lualatexmk.yaml
new file mode 100644
index 00000000000..1c82b83aa4d
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/lualatexmk.yaml
@@ -0,0 +1,19 @@
+!config
+# LaTeXmk with LuaLaTeX rule for arara
+# author: Brent Longborough
+# requires: arara 3.0+
+identifier: lualatexmk
+name: luaLaTeXmK
+command: <arara> latexmk -e '$pdflatex=q/lualatex%O%S/' @{action} @{synctex} @{shell} @{options} @{style} -pdf "@{file}"
+arguments:
+- 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=0","--synctex=1")}
+- identifier: options
+ flag: <arara> @{parameters.options}
+- identifier: style
+ flag: <arara> -e '$makeindex=q/makeindex %O -s @{parameters.style}.ist -o %D %S/'
+
diff --git a/Master/texmf-dist/scripts/arara/rules/luatex.yaml b/Master/texmf-dist/scripts/arara/rules/luatex.yaml
new file mode 100644
index 00000000000..359781f1703
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/luatex.yaml
@@ -0,0 +1,18 @@
+!config
+# LuaTeX rule for arara
+# author: Paulo Cereda
+# requires arara 3.0+
+identifier: luatex
+name: LuaTeX
+command: <arara> luatex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+- 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}
diff --git a/Master/texmf-dist/scripts/arara/rules/make.yaml b/Master/texmf-dist/scripts/arara/rules/make.yaml
new file mode 100644
index 00000000000..ad3e565a443
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/make.yaml
@@ -0,0 +1,12 @@
+!config
+# Make rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: make
+name: Make
+command: <arara> make @{task}
+arguments:
+- identifier: task
+ flag: <arara> @{parameters.task}
+
diff --git a/Master/texmf-dist/scripts/arara/rules/makeglossaries.yaml b/Master/texmf-dist/scripts/arara/rules/makeglossaries.yaml
new file mode 100644
index 00000000000..1d2cd053101
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/makeglossaries.yaml
@@ -0,0 +1,10 @@
+!config
+# MakeGlossaries rule for arara
+# author: Marco Daniel
+# requres arara 3.0+
+identifier: makeglossaries
+name: MakeGlossaries
+command: <arara> makeglossaries @{options} "@{getBasename(file)}"
+arguments:
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/makeindex.yaml b/Master/texmf-dist/scripts/arara/rules/makeindex.yaml
new file mode 100644
index 00000000000..7cb1f5c6a2c
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/makeindex.yaml
@@ -0,0 +1,16 @@
+!config
+# MakeIndex rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: makeindex
+name: MakeIndex
+command: <arara> makeindex @{german} @{style} @{options} "@{getBasename(file)}.idx"
+arguments:
+- identifier: style
+ flag: <arara> -s @{parameters.style}
+- identifier: german
+ flag: <arara> @{isTrue(parameters.german,"-g")}
+- identifier: options
+ flag: <arara> @{parameters.options}
+
diff --git a/Master/texmf-dist/scripts/arara/rules/nomencl.yaml b/Master/texmf-dist/scripts/arara/rules/nomencl.yaml
new file mode 100644
index 00000000000..ce939975d4d
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/nomencl.yaml
@@ -0,0 +1,15 @@
+!config
+# Nomencl rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: nomencl
+name: Nomencl
+command: <arara> makeindex @{options} "@{getBasename(file)}.nlo" -s "@{style}.ist" -o "@{getBasename(file)}.nls"
+arguments:
+- identifier: style
+ flag: <arara> @{parameters.style}
+ default: nomencl
+- identifier: options
+ flag: <arara> @{parameters.options}
+
diff --git a/Master/texmf-dist/scripts/arara/rules/pdflatex.yaml b/Master/texmf-dist/scripts/arara/rules/pdflatex.yaml
new file mode 100644
index 00000000000..90e28ec0945
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/pdflatex.yaml
@@ -0,0 +1,19 @@
+!config
+# PDFLaTeX rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: pdflatex
+name: PDFLaTeX
+command: <arara> pdflatex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+- 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}
diff --git a/Master/texmf-dist/scripts/arara/rules/pdflatexmk.yaml b/Master/texmf-dist/scripts/arara/rules/pdflatexmk.yaml
new file mode 100644
index 00000000000..b3cadf62889
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/pdflatexmk.yaml
@@ -0,0 +1,18 @@
+!config
+# LaTeXmk with pdfLaTeX rule for arara
+# author: Brent Longborough
+# requires arara 3.0+
+identifier: pdflatexmk
+name: pdfLaTeXmK
+command: <arara> latexmk -e '$pdflatex=q/pdflatex%O%S/' @{action} @{synctex} @{shell} @{options}@{style} -pdf "@{file}"
+arguments:
+- 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=0","--synctex=1")}
+- identifier: options
+ flag: <arara> @{parameters.options}
+- identifier: style
+ flag: <arara> -e '$makeindex=q/makeindex %O -s @{parameters.style}.ist -o %D %S/'
diff --git a/Master/texmf-dist/scripts/arara/rules/pdftex.yaml b/Master/texmf-dist/scripts/arara/rules/pdftex.yaml
new file mode 100644
index 00000000000..db084597cbe
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/pdftex.yaml
@@ -0,0 +1,19 @@
+!config
+# PDFTeX rule for arara
+# author: Paulo Cereda
+# requires arara 3.0+
+identifier: pdftex
+name: PDFTeX
+command: <arara> pdftex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+arguments:
+- 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}
diff --git a/Master/texmf-dist/scripts/arara/rules/ps2pdf.yaml b/Master/texmf-dist/scripts/arara/rules/ps2pdf.yaml
new file mode 100644
index 00000000000..a5e82d545e5
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/ps2pdf.yaml
@@ -0,0 +1,14 @@
+!config
+# PS2PDF rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: ps2pdf
+name: PS2PDF
+command: <arara> ps2pdf @{options} "@{getBasename(file)}.ps" "@{output}.pdf"
+arguments:
+- identifier: output
+ flag: <arara> @{parameters.output}
+ default: <arara> @{getBasename(file)}
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/sketch.yaml b/Master/texmf-dist/scripts/arara/rules/sketch.yaml
new file mode 100644
index 00000000000..3f98518a319
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/sketch.yaml
@@ -0,0 +1,10 @@
+!config
+# Sketch rule for arara
+# author: Sergey Ulyanov
+# requires arara 3.0+
+identifier: sketch
+name: Sketch
+command: <arara> sketch @{options} "@{file}" -o "@{getBasename(file)}.tex"
+arguments:
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/songidx.yaml b/Master/texmf-dist/scripts/arara/rules/songidx.yaml
new file mode 100644
index 00000000000..faa64e70d20
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/songidx.yaml
@@ -0,0 +1,11 @@
+ !config
+# songidx rule for arara
+# author: Francesco Endrici
+# requires arara 3.0
+identifier: songidx
+name: SongIDX
+command: <arara> songidx "@{input}.sxd"
+arguments:
+- identifier: input
+ flag: <arara> @{parameters.input}
+
diff --git a/Master/texmf-dist/scripts/arara/rules/tex.yaml b/Master/texmf-dist/scripts/arara/rules/tex.yaml
new file mode 100644
index 00000000000..49f7cf73074
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/tex.yaml
@@ -0,0 +1,16 @@
+!config
+# TeX rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: tex
+name: TeX
+command: <arara> tex @{action} @{shell} @{options} "@{file}"
+arguments:
+arguments:
+- identifier: action
+ flag: <arara> --interaction=@{parameters.action}
+- identifier: shell
+ flag: <arara> @{isTrue(parameters.shell,"--shell-escape","--no-shell-escape")}
+- identifier: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/xelatex.yaml b/Master/texmf-dist/scripts/arara/rules/xelatex.yaml
new file mode 100644
index 00000000000..0321f612447
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/xelatex.yaml
@@ -0,0 +1,17 @@
+!config
+# XeLaTeX rule for arara
+# author: Marco Daniel
+# last edited by: Paulo Cereda
+# requires arara 3.0+
+identifier: xelatex
+name: XeLaTeX
+command: <arara> xelatex @{action} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+- 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: options
+ flag: <arara> @{parameters.options}
diff --git a/Master/texmf-dist/scripts/arara/rules/xelatexmk.yaml b/Master/texmf-dist/scripts/arara/rules/xelatexmk.yaml
new file mode 100644
index 00000000000..149cf6cb860
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/xelatexmk.yaml
@@ -0,0 +1,19 @@
+!config
+# LaTeXmk with XeLaTeX rule for arara
+# author: Brent Longborough
+# requires arara 3.0+
+identifier: xelatexmk
+name: XeLaTeXmK
+command: <arara> latexmk -e '$pdflatex=q/xelatex%O%S/' @{action} @{synctex} @{shell} @{options} @{style} -pdf "@{file}"
+arguments:
+- 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=0","--synctex=1")}
+- identifier: options
+ flag: <arara> @{parameters.options}
+- identifier: style
+ flag: <arara> -e '$makeindex=q/makeindex %O -s @{parameters.style}.ist -o %D %S/'
+
diff --git a/Master/texmf-dist/scripts/arara/rules/xetex.yaml b/Master/texmf-dist/scripts/arara/rules/xetex.yaml
new file mode 100644
index 00000000000..20cfca8511e
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/xetex.yaml
@@ -0,0 +1,16 @@
+!config
+# XeLaTeX rule for arara
+# author: Paulo Cereda
+# requires arara 3.0+
+identifier: xetex
+name: XeTeX
+command: <arara> xetex @{action} @{shell} @{synctex} @{options} "@{file}"
+arguments:
+- 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: options
+ flag: <arara> @{parameters.options}