summaryrefslogtreecommitdiff
path: root/support/arara/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'support/arara/scripts')
-rw-r--r--support/arara/scripts/rules/animate.yaml10
-rw-r--r--support/arara/scripts/rules/asymptote.yaml2
-rw-r--r--support/arara/scripts/rules/bib2gls.yaml6
-rw-r--r--support/arara/scripts/rules/biber.yaml2
-rw-r--r--support/arara/scripts/rules/bibtex.yaml2
-rw-r--r--support/arara/scripts/rules/bibtex8.yaml2
-rw-r--r--support/arara/scripts/rules/bibtexu.yaml2
-rw-r--r--support/arara/scripts/rules/clean.yaml2
-rw-r--r--support/arara/scripts/rules/context.yaml171
-rw-r--r--support/arara/scripts/rules/convert.yaml34
-rw-r--r--support/arara/scripts/rules/csplain.yaml2
-rw-r--r--support/arara/scripts/rules/datatooltk.yaml4
-rw-r--r--support/arara/scripts/rules/detex.yaml82
-rw-r--r--support/arara/scripts/rules/dvipdfm.yaml2
-rw-r--r--support/arara/scripts/rules/dvipdfmx.yaml2
-rw-r--r--support/arara/scripts/rules/dvips.yaml2
-rw-r--r--support/arara/scripts/rules/dvipspdf.yaml2
-rw-r--r--support/arara/scripts/rules/dvisvgm.yaml2
-rw-r--r--support/arara/scripts/rules/etex.yaml2
-rw-r--r--support/arara/scripts/rules/fig2dev.yaml66
-rw-r--r--support/arara/scripts/rules/frontespizio.yaml2
-rw-r--r--support/arara/scripts/rules/halt.yaml2
-rw-r--r--support/arara/scripts/rules/indent.yaml2
-rw-r--r--support/arara/scripts/rules/knitr.yaml2
-rw-r--r--support/arara/scripts/rules/latex.yaml2
-rw-r--r--support/arara/scripts/rules/latexmk.yaml2
-rw-r--r--support/arara/scripts/rules/luahbtex.yaml2
-rw-r--r--support/arara/scripts/rules/lualatex.yaml2
-rw-r--r--support/arara/scripts/rules/luatex.yaml2
-rw-r--r--support/arara/scripts/rules/make.yaml2
-rw-r--r--support/arara/scripts/rules/makeglossaries.yaml6
-rw-r--r--support/arara/scripts/rules/makeglossarieslite.yaml2
-rw-r--r--support/arara/scripts/rules/makeindex.yaml2
-rw-r--r--support/arara/scripts/rules/metapost.yaml2
-rw-r--r--support/arara/scripts/rules/nomencl.yaml2
-rw-r--r--support/arara/scripts/rules/pbibtex.yaml2
-rw-r--r--support/arara/scripts/rules/pdfcsplain.yaml2
-rw-r--r--support/arara/scripts/rules/pdflatex.yaml2
-rw-r--r--support/arara/scripts/rules/pdftex.yaml2
-rw-r--r--support/arara/scripts/rules/pdftk.yaml2
-rw-r--r--support/arara/scripts/rules/platex.yaml2
-rw-r--r--support/arara/scripts/rules/ps2pdf.yaml2
-rw-r--r--support/arara/scripts/rules/ptex.yaml2
-rw-r--r--support/arara/scripts/rules/qpdf.yaml28
-rw-r--r--support/arara/scripts/rules/sketch.yaml2
-rw-r--r--support/arara/scripts/rules/songidx.yaml2
-rw-r--r--support/arara/scripts/rules/tex.yaml2
-rw-r--r--support/arara/scripts/rules/texcount.yaml74
-rw-r--r--support/arara/scripts/rules/texindy.yaml2
-rw-r--r--support/arara/scripts/rules/tikzmake.yaml2
-rw-r--r--support/arara/scripts/rules/upbibtex.yaml2
-rw-r--r--support/arara/scripts/rules/uplatex.yaml2
-rw-r--r--support/arara/scripts/rules/uptex.yaml2
-rw-r--r--support/arara/scripts/rules/xdvipdfmx.yaml2
-rw-r--r--support/arara/scripts/rules/xelatex.yaml2
-rw-r--r--support/arara/scripts/rules/xetex.yaml2
-rw-r--r--support/arara/scripts/rules/xindy.yaml2
57 files changed, 512 insertions, 63 deletions
diff --git a/support/arara/scripts/rules/animate.yaml b/support/arara/scripts/rules/animate.yaml
index d5baefa67d..c2c3c3fcdc 100644
--- a/support/arara/scripts/rules/animate.yaml
+++ b/support/arara/scripts/rules/animate.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -16,13 +16,7 @@ commands:
prefix = [];
input = getBasename(reference).concat('.pdf');
output = getBasename(reference).concat('.gif');
- if (isUnix()) {
- prefix = [ program ];
- }
- else {
- prefix = [ 'cmd', '/c', program ];
- }
- return getCommand(prefix, '-delay', delay, '-loop',
+ return getCommand(program, '-delay', delay, '-loop',
loop, '-density', density, options, input, output);
}
arguments:
diff --git a/support/arara/scripts/rules/asymptote.yaml b/support/arara/scripts/rules/asymptote.yaml
index 7e56a0a753..8ebf68eeda 100644
--- a/support/arara/scripts/rules/asymptote.yaml
+++ b/support/arara/scripts/rules/asymptote.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/bib2gls.yaml b/support/arara/scripts/rules/bib2gls.yaml
index a33744faec..0fa6f4d1a2 100644
--- a/support/arara/scripts/rules/bib2gls.yaml
+++ b/support/arara/scripts/rules/bib2gls.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -60,8 +60,8 @@ commands:
else
{
return getCommand('bib2gls', dir, trans, group, interpret,
- breakspace, trimfields, recordcount, recordcountunit,
- cite, verbose, merge, locale, uniscript, packages,
+ breakspace, trimfields, recordcount, recordcountunit,
+ cite, verbose, merge, locale, uniscript, packages,
ignore, custom, mapformats, options, getBasename(reference));
}
}
diff --git a/support/arara/scripts/rules/biber.yaml b/support/arara/scripts/rules/biber.yaml
index 5ca0498f15..1edafe1e96 100644
--- a/support/arara/scripts/rules/biber.yaml
+++ b/support/arara/scripts/rules/biber.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/bibtex.yaml b/support/arara/scripts/rules/bibtex.yaml
index 55dd1f0fec..73016ff43e 100644
--- a/support/arara/scripts/rules/bibtex.yaml
+++ b/support/arara/scripts/rules/bibtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/bibtex8.yaml b/support/arara/scripts/rules/bibtex8.yaml
index 3741a920ea..310cd96c2c 100644
--- a/support/arara/scripts/rules/bibtex8.yaml
+++ b/support/arara/scripts/rules/bibtex8.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/bibtexu.yaml b/support/arara/scripts/rules/bibtexu.yaml
index b1e6d18165..fa29aac8d2 100644
--- a/support/arara/scripts/rules/bibtexu.yaml
+++ b/support/arara/scripts/rules/bibtexu.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/clean.yaml b/support/arara/scripts/rules/clean.yaml
index 2a82eb3a87..aa07560cb9 100644
--- a/support/arara/scripts/rules/clean.yaml
+++ b/support/arara/scripts/rules/clean.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/context.yaml b/support/arara/scripts/rules/context.yaml
new file mode 100644
index 0000000000..5b8546486e
--- /dev/null
+++ b/support/arara/scripts/rules/context.yaml
@@ -0,0 +1,171 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: context
+name: ConTeXt
+authors:
+- Island of TeX
+commands:
+- name: ConTeXt engine
+ command: >
+ @{
+ return getCommand('context', make, ctx, interface, autopdf, purge,
+ modules, environments, mode, path, arguments,
+ trackers, directives, silent, errors, interaction,
+ synctex, options, reference);
+ }
+arguments:
+- identifier: make
+ flag: >
+ @{
+ return isTrue(parameters.make, '--make');
+ }
+- identifier: ctx
+ flag: >
+ @{
+ return '--ctx='.concat(parameters.ctx);
+ }
+- identifier: interface
+ flag: >
+ @{
+ return [ '--interface', parameters.interface ];
+ }
+- identifier: autopdf
+ flag: >
+ @{
+ return isTrue(parameters.autopdf, '--autopdf');
+ }
+- identifier: purge
+ flag: >
+ @{
+ p = [ 'partial' : '--purge', 'all' : '--purgeall',
+ 'result' : '--purgeresult' ];
+ if (p.keySet().contains(parameters.purge)) {
+ return p.get(parameters.purge);
+ }
+ else {
+ throwError('Invalid value, expected either partial or all.');
+ }
+ }
+- identifier: modules
+ flag: >
+ @{
+ if (isList(parameters.modules)) {
+ return '--usemodule='.concat(String.join(',', parameters.modules));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: environments
+ flag: >
+ @{
+ if (isList(parameters.environments)) {
+ return '--environment='.concat(String.join(',',
+ parameters.environments));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: mode
+ flag: >
+ @{
+ if (isList(parameters.mode)) {
+ return '--mode='.concat(String.join(',', parameters.mode));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: path
+ flag: >
+ @{
+ if (isList(parameters.path)) {
+ return '--path='.concat(String.join(',', parameters.path));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: arguments
+ flag: >
+ @{
+ if (isList(parameters.arguments)) {
+ return '--arguments='.concat(String.join(',',
+ parameters.arguments));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: trackers
+ flag: >
+ @{
+ if (isList(parameters.trackers)) {
+ return '--trackers='.concat(String.join(',', parameters.trackers));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: directives
+ flag: >
+ @{
+ if (isList(parameters.directives)) {
+ return '--directives='.concat(String.join(',',
+ parameters.directives));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: silent
+ flag: >
+ @{
+ if (isList(parameters.modules)) {
+ return '--silent='.concat(String.join(',', parameters.silent));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: errors
+ flag: >
+ @{
+ if (isList(parameters.errors)) {
+ return '--errors='.concat(String.join(',', parameters.errors));
+ }
+ else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: interaction
+ flag: >
+ @{
+ if ([ 'batchmode', 'nonstopmode' ].contains(parameters.interaction)) {
+ return '--'.concat(parameters.interaction);
+ }
+ else {
+ throwError('The provided interaction value is not valid.');
+ }
+ }
+- identifier: synctex
+ flag: >
+ @{
+ return isTrue(parameters.synctex, '--synctex', '--nosynctex');
+ }
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+
diff --git a/support/arara/scripts/rules/convert.yaml b/support/arara/scripts/rules/convert.yaml
new file mode 100644
index 0000000000..7a2140d0a7
--- /dev/null
+++ b/support/arara/scripts/rules/convert.yaml
@@ -0,0 +1,34 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: convert
+name: Convert
+authors:
+- Island of TeX
+commands:
+- name: The Convert program
+ command: >
+ @{
+ return getCommand(program, options);
+ }
+arguments:
+- identifier: program
+ flag: >
+ @{
+ parameters.program
+ }
+ default: convert
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+ required: true
diff --git a/support/arara/scripts/rules/csplain.yaml b/support/arara/scripts/rules/csplain.yaml
index 33e13c1a93..f5447599ca 100644
--- a/support/arara/scripts/rules/csplain.yaml
+++ b/support/arara/scripts/rules/csplain.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/datatooltk.yaml b/support/arara/scripts/rules/datatooltk.yaml
index 6fc08491c8..13526dbc13 100644
--- a/support/arara/scripts/rules/datatooltk.yaml
+++ b/support/arara/scripts/rules/datatooltk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -12,7 +12,7 @@ commands:
- name: The DatatoolTk software
command: >
@{
- return getCommand('datatooltk', options, output, csv, sql, input,
+ return getCommand('datatooltk', options, output, csv, sql, input,
sqldb, sqluser, name, probsoln, sort, sortlocale, sortcase,
seed, shuffle, sep, delim, csvheader, noconsole, debug,
owneronly, maptex, xls, ods, sheet, filterop, filters,
diff --git a/support/arara/scripts/rules/detex.yaml b/support/arara/scripts/rules/detex.yaml
new file mode 100644
index 0000000000..d90d779d6a
--- /dev/null
+++ b/support/arara/scripts/rules/detex.yaml
@@ -0,0 +1,82 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: detex
+name: DeTeX
+authors:
+- Island of TeX
+commands:
+- name: The DeTeX program
+ command: >
+ @{
+ c = getCommand('detex', references, mode, follow, math, spaces,
+ words, environments, reference);
+ if (isEmpty(output)) {
+ return c;
+ }
+ else {
+ p = unsafelyExecuteSystemCommand(c);
+ if (p.first == 0) {
+ return writeToFile(toFile(output), p.second, false);
+ }
+ else {
+ return false;
+ }
+ }
+ }
+arguments:
+- identifier: references
+ flag: >
+ @{
+ return isTrue(parameters.references, '-c');
+ }
+- identifier: mode
+ flag: >
+ @{
+ modes = [ 'latex' : '-l', 'tex' : '-t' ];
+ if (modes.keySet().contains(parameters.mode)) {
+ return modes.get(parameters.mode);
+ }
+ else {
+ throwError('I was expecting either the TeX or LaTeX mode.');
+ }
+ }
+- identifier: follow
+ flag: >
+ @{
+ return isFalse(parameters.follow, '-n');
+ }
+- identifier: math
+ flag: >
+ @{
+ return isFalse(parameters.math, '-r');
+ }
+- identifier: spaces
+ flag: >
+ @{
+ return isTrue(parameters.spaces, '-s');
+ }
+- identifier: words
+ flag: >
+ @{
+ return isTrue(parameters.words, '-w');
+ }
+- identifier: environments
+ flag: >
+ @{
+ if (!isList(parameters.environments)) {
+ throwError('I was expecting a list of environments.');
+ }
+ else {
+ return [ '-e', String.join(',', parameters.environments) ];
+ }
+ }
+- identifier: output
+ flag: >
+ @{
+ return parameters.output;
+ }
+
diff --git a/support/arara/scripts/rules/dvipdfm.yaml b/support/arara/scripts/rules/dvipdfm.yaml
index e80fe5bf98..bbd5be92c7 100644
--- a/support/arara/scripts/rules/dvipdfm.yaml
+++ b/support/arara/scripts/rules/dvipdfm.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/dvipdfmx.yaml b/support/arara/scripts/rules/dvipdfmx.yaml
index e4af77204b..d62f89968d 100644
--- a/support/arara/scripts/rules/dvipdfmx.yaml
+++ b/support/arara/scripts/rules/dvipdfmx.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/dvips.yaml b/support/arara/scripts/rules/dvips.yaml
index c110f19679..68196e09dd 100644
--- a/support/arara/scripts/rules/dvips.yaml
+++ b/support/arara/scripts/rules/dvips.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/dvipspdf.yaml b/support/arara/scripts/rules/dvipspdf.yaml
index 52df9731df..a4888325e6 100644
--- a/support/arara/scripts/rules/dvipspdf.yaml
+++ b/support/arara/scripts/rules/dvipspdf.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/dvisvgm.yaml b/support/arara/scripts/rules/dvisvgm.yaml
index 34edc09c57..d9d094ac3e 100644
--- a/support/arara/scripts/rules/dvisvgm.yaml
+++ b/support/arara/scripts/rules/dvisvgm.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/etex.yaml b/support/arara/scripts/rules/etex.yaml
index 6145fad112..0411915ef7 100644
--- a/support/arara/scripts/rules/etex.yaml
+++ b/support/arara/scripts/rules/etex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/fig2dev.yaml b/support/arara/scripts/rules/fig2dev.yaml
new file mode 100644
index 0000000000..fd36069205
--- /dev/null
+++ b/support/arara/scripts/rules/fig2dev.yaml
@@ -0,0 +1,66 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: fig2dev
+name: fig2dev
+authors:
+- Island of TeX
+commands:
+- name: The fig2dev program
+ command: >
+ @{
+ input = getBasename(reference).concat('.fig');
+ return getCommand('fig2dev', language, magnification, font, size,
+ options, input, output);
+ }
+arguments:
+- identifier: language
+ flag: >
+ @{
+ if ([ 'box', 'cgm', 'epic', 'eepic', 'eepicemu', 'emf', 'eps', 'gif',
+ 'ibmgl', 'jpeg', 'latex', 'map', 'mf', 'mp', 'mmp', 'pcx',
+ 'pdf', 'pdftex', 'pdftex_t', 'pic', 'pictex', 'png', 'ppm',
+ 'ps', 'pstex', 'pstex_t', 'ptk', 'shape', 'sld', 'svg',
+ 'textyl', 'tiff', 'tk', 'tpic', 'xbm',
+ 'xpm' ].contains(parameters.language)) {
+ return [ '-L', parameters.language ];
+ }
+ else {
+ throwError('Invalid language, please refer to the manual.');
+ }
+ }
+ required: true
+- identifier: output
+ flag: >
+ @{
+ return parameters.output;
+ }
+ required: true
+- identifier: magnification
+ flag: >
+ @{
+ return [ '-m', parameters.magnification ];
+ }
+- identifier: font
+ flag: >
+ @{
+ return [ '-f', parameters.font ];
+ }
+- identifier: size
+ flag: >
+ @{
+ return [ '-s', parameters.size ];
+ }
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.')
+ }
+ }
diff --git a/support/arara/scripts/rules/frontespizio.yaml b/support/arara/scripts/rules/frontespizio.yaml
index a4637ff9f8..3b0ab0a853 100644
--- a/support/arara/scripts/rules/frontespizio.yaml
+++ b/support/arara/scripts/rules/frontespizio.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/halt.yaml b/support/arara/scripts/rules/halt.yaml
index 1c14644bcb..3ac9106e90 100644
--- a/support/arara/scripts/rules/halt.yaml
+++ b/support/arara/scripts/rules/halt.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/indent.yaml b/support/arara/scripts/rules/indent.yaml
index 5ef623c5db..4471d3728c 100644
--- a/support/arara/scripts/rules/indent.yaml
+++ b/support/arara/scripts/rules/indent.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/knitr.yaml b/support/arara/scripts/rules/knitr.yaml
index feb6b1847c..3a3d5dfead 100644
--- a/support/arara/scripts/rules/knitr.yaml
+++ b/support/arara/scripts/rules/knitr.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/latex.yaml b/support/arara/scripts/rules/latex.yaml
index b79c051c1d..268ff1f707 100644
--- a/support/arara/scripts/rules/latex.yaml
+++ b/support/arara/scripts/rules/latex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/latexmk.yaml b/support/arara/scripts/rules/latexmk.yaml
index 61f0ff9d7b..0f39e9d709 100644
--- a/support/arara/scripts/rules/latexmk.yaml
+++ b/support/arara/scripts/rules/latexmk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/luahbtex.yaml b/support/arara/scripts/rules/luahbtex.yaml
index 3f851fad9e..1557fa0614 100644
--- a/support/arara/scripts/rules/luahbtex.yaml
+++ b/support/arara/scripts/rules/luahbtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/lualatex.yaml b/support/arara/scripts/rules/lualatex.yaml
index d9870976d1..68f14d78e9 100644
--- a/support/arara/scripts/rules/lualatex.yaml
+++ b/support/arara/scripts/rules/lualatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/luatex.yaml b/support/arara/scripts/rules/luatex.yaml
index 86c7556993..91099219f6 100644
--- a/support/arara/scripts/rules/luatex.yaml
+++ b/support/arara/scripts/rules/luatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/make.yaml b/support/arara/scripts/rules/make.yaml
index 0298ae95be..afc83a6e9c 100644
--- a/support/arara/scripts/rules/make.yaml
+++ b/support/arara/scripts/rules/make.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/makeglossaries.yaml b/support/arara/scripts/rules/makeglossaries.yaml
index 34c1c07002..861330045e 100644
--- a/support/arara/scripts/rules/makeglossaries.yaml
+++ b/support/arara/scripts/rules/makeglossaries.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -32,11 +32,11 @@ commands:
lines = readFromFile(base.concat('.').concat('aux'));
- java.util.regex.Pattern glsPattern =
+ java.util.regex.Pattern glsPattern =
java.util.regex.Pattern.compile(
"\\\\@newglossary\\{.*\\}\\{(.*)\\}\\{(.*)\\}\\{(.*)\\}");
- java.util.regex.Pattern istPattern =
+ java.util.regex.Pattern istPattern =
(clean == 'partial' ? null :
java.util.regex.Pattern.compile("\\\\@istfilename\\{(.*)\\}"));
diff --git a/support/arara/scripts/rules/makeglossarieslite.yaml b/support/arara/scripts/rules/makeglossarieslite.yaml
index d716e97b4a..177ba6971f 100644
--- a/support/arara/scripts/rules/makeglossarieslite.yaml
+++ b/support/arara/scripts/rules/makeglossarieslite.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/makeindex.yaml b/support/arara/scripts/rules/makeindex.yaml
index 795075bce2..319ef71438 100644
--- a/support/arara/scripts/rules/makeindex.yaml
+++ b/support/arara/scripts/rules/makeindex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/metapost.yaml b/support/arara/scripts/rules/metapost.yaml
index b72ff48b5c..b3a58645dd 100644
--- a/support/arara/scripts/rules/metapost.yaml
+++ b/support/arara/scripts/rules/metapost.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/nomencl.yaml b/support/arara/scripts/rules/nomencl.yaml
index a2c3acf468..f859f72881 100644
--- a/support/arara/scripts/rules/nomencl.yaml
+++ b/support/arara/scripts/rules/nomencl.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/pbibtex.yaml b/support/arara/scripts/rules/pbibtex.yaml
index 9b39451d4d..1a0347da76 100644
--- a/support/arara/scripts/rules/pbibtex.yaml
+++ b/support/arara/scripts/rules/pbibtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/pdfcsplain.yaml b/support/arara/scripts/rules/pdfcsplain.yaml
index 6dc6d287f4..88d2f7b31e 100644
--- a/support/arara/scripts/rules/pdfcsplain.yaml
+++ b/support/arara/scripts/rules/pdfcsplain.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/pdflatex.yaml b/support/arara/scripts/rules/pdflatex.yaml
index 3df1135dfa..385e99b997 100644
--- a/support/arara/scripts/rules/pdflatex.yaml
+++ b/support/arara/scripts/rules/pdflatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/pdftex.yaml b/support/arara/scripts/rules/pdftex.yaml
index 8b10bc02f5..45a7e32f24 100644
--- a/support/arara/scripts/rules/pdftex.yaml
+++ b/support/arara/scripts/rules/pdftex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/pdftk.yaml b/support/arara/scripts/rules/pdftk.yaml
index 67e81f0bd4..73ee784417 100644
--- a/support/arara/scripts/rules/pdftk.yaml
+++ b/support/arara/scripts/rules/pdftk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/platex.yaml b/support/arara/scripts/rules/platex.yaml
index 3a59268753..0c1d62cacd 100644
--- a/support/arara/scripts/rules/platex.yaml
+++ b/support/arara/scripts/rules/platex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/ps2pdf.yaml b/support/arara/scripts/rules/ps2pdf.yaml
index fe5684d1c2..db220f3037 100644
--- a/support/arara/scripts/rules/ps2pdf.yaml
+++ b/support/arara/scripts/rules/ps2pdf.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/ptex.yaml b/support/arara/scripts/rules/ptex.yaml
index 3771981e7f..cb5103fa36 100644
--- a/support/arara/scripts/rules/ptex.yaml
+++ b/support/arara/scripts/rules/ptex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/qpdf.yaml b/support/arara/scripts/rules/qpdf.yaml
new file mode 100644
index 0000000000..c2cb852a7d
--- /dev/null
+++ b/support/arara/scripts/rules/qpdf.yaml
@@ -0,0 +1,28 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: qpdf
+name: QPDF
+authors:
+- Island of TeX
+commands:
+- name: The QPDF program
+ command: >
+ @{
+ return getCommand('qpdf', options);
+ }
+arguments:
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+ required: true
diff --git a/support/arara/scripts/rules/sketch.yaml b/support/arara/scripts/rules/sketch.yaml
index ca3d22834a..0970d2e5b8 100644
--- a/support/arara/scripts/rules/sketch.yaml
+++ b/support/arara/scripts/rules/sketch.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/songidx.yaml b/support/arara/scripts/rules/songidx.yaml
index ff4a27e6b8..a1cadae431 100644
--- a/support/arara/scripts/rules/songidx.yaml
+++ b/support/arara/scripts/rules/songidx.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/tex.yaml b/support/arara/scripts/rules/tex.yaml
index 701d200096..c682ea6b91 100644
--- a/support/arara/scripts/rules/tex.yaml
+++ b/support/arara/scripts/rules/tex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/texcount.yaml b/support/arara/scripts/rules/texcount.yaml
new file mode 100644
index 0000000000..79506c806c
--- /dev/null
+++ b/support/arara/scripts/rules/texcount.yaml
@@ -0,0 +1,74 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: texcount
+name: TeXcount
+authors:
+- Island of TeX
+commands:
+- name: The TeXcount program
+ command: >
+ @{
+ return getCommand('texcount', rules, verbosity, strict, html,
+ total, unicode, options, output, reference);
+ }
+arguments:
+- identifier: rules
+ flag: >
+ @{
+ if ([ 'relaxed', 'restricted' ].contains(parameters.rules)) {
+ return '-'.concat(parameters.rules);
+ }
+ else {
+ throwError('Invalid value, use either relaxed or restricted.');
+ }
+ }
+- identifier: verbosity
+ flag: >
+ @{
+ if ([ '0', '1', '2', '3', '4' ].contains(parameters.verbosity)) {
+ return '-v'.concat(parameters.verbosity);
+ }
+ else {
+ throwError('Invalid value, use an integer range from 0 to 4.');
+ }
+ }
+- identifier: strict
+ flag: >
+ @{
+ return isTrue(parameters.strict, '-strict');
+ }
+- identifier: html
+ flag: >
+ @{
+ return isTrue(parameters.html, '-html');
+ }
+- identifier: total
+ flag: >
+ @{
+ return isTrue(parameters.total, '-total');
+ }
+- identifier: unicode
+ flag: >
+ @{
+ return isTrue(parameters.unicode, '-unicode');
+ }
+- identifier: output
+ flag: >
+ @{
+ return '-out='.concat(parameters.output);
+ }
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+
diff --git a/support/arara/scripts/rules/texindy.yaml b/support/arara/scripts/rules/texindy.yaml
index 54b468d42a..6d747f7217 100644
--- a/support/arara/scripts/rules/texindy.yaml
+++ b/support/arara/scripts/rules/texindy.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/tikzmake.yaml b/support/arara/scripts/rules/tikzmake.yaml
index 97942aaa3b..0569ba9a65 100644
--- a/support/arara/scripts/rules/tikzmake.yaml
+++ b/support/arara/scripts/rules/tikzmake.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/upbibtex.yaml b/support/arara/scripts/rules/upbibtex.yaml
index eb0f5fba9d..d6593dea57 100644
--- a/support/arara/scripts/rules/upbibtex.yaml
+++ b/support/arara/scripts/rules/upbibtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/uplatex.yaml b/support/arara/scripts/rules/uplatex.yaml
index 0fd1d575f9..c0f2cdf3cd 100644
--- a/support/arara/scripts/rules/uplatex.yaml
+++ b/support/arara/scripts/rules/uplatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/uptex.yaml b/support/arara/scripts/rules/uptex.yaml
index b2c9c90fe7..6163e0ae69 100644
--- a/support/arara/scripts/rules/uptex.yaml
+++ b/support/arara/scripts/rules/uptex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/xdvipdfmx.yaml b/support/arara/scripts/rules/xdvipdfmx.yaml
index bf67572fc3..75bf182a4d 100644
--- a/support/arara/scripts/rules/xdvipdfmx.yaml
+++ b/support/arara/scripts/rules/xdvipdfmx.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/xelatex.yaml b/support/arara/scripts/rules/xelatex.yaml
index ef1e1a8f0a..b94e35f797 100644
--- a/support/arara/scripts/rules/xelatex.yaml
+++ b/support/arara/scripts/rules/xelatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/xetex.yaml b/support/arara/scripts/rules/xetex.yaml
index 0d13768a28..faefd9ca17 100644
--- a/support/arara/scripts/rules/xetex.yaml
+++ b/support/arara/scripts/rules/xetex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/xindy.yaml b/support/arara/scripts/rules/xindy.yaml
index 2efc37daf5..f1c12f0c1d 100644
--- a/support/arara/scripts/rules/xindy.yaml
+++ b/support/arara/scripts/rules/xindy.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2020, Island of TeX
+# Copyright (c) 2020, Island of TeX
# All rights reserved.
#
# This rule is part of arara.