summaryrefslogtreecommitdiff
path: root/support/arara/scripts/rules/platex.yaml
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-05 03:00:59 +0000
committerNorbert Preining <norbert@preining.info>2020-03-05 03:00:59 +0000
commit898048513951b471a492afa23e46112d14bcb236 (patch)
tree8596afc705f55d2d07b324a756f7283ac0e2d21b /support/arara/scripts/rules/platex.yaml
parent19d25b8009801aa98ea2f46b45c37c257f990491 (diff)
CTAN sync 202003050300
Diffstat (limited to 'support/arara/scripts/rules/platex.yaml')
-rw-r--r--support/arara/scripts/rules/platex.yaml60
1 files changed, 60 insertions, 0 deletions
diff --git a/support/arara/scripts/rules/platex.yaml b/support/arara/scripts/rules/platex.yaml
new file mode 100644
index 0000000000..3a59268753
--- /dev/null
+++ b/support/arara/scripts/rules/platex.yaml
@@ -0,0 +1,60 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2020, Island of TeX
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: platex
+name: pLaTeX
+authors:
+- Island of TeX
+commands:
+- name: pLaTeX engine
+ command: >
+ @{
+ return getCommand(branch, interaction, shell,
+ synctex, options, reference);
+ }
+arguments:
+- identifier: branch
+ flag: >
+ @{
+ engines = [ 'stable' : 'platex', 'developer' : 'platex-dev' ];
+ if (engines.keySet().contains(parameters.branch)) {
+ return engines.get(parameters.branch);
+ } else {
+ throwError('The valid branch values are: ' + engines.keySet());
+ }
+ }
+ default: 'platex'
+- identifier: interaction
+ flag: >
+ @{
+ if ([ 'batchmode', 'nonstopmode', 'scrollmode',
+ 'errorstopmode' ].contains(parameters.interaction)) {
+ return '--interaction='.concat(parameters.interaction);
+ }
+ else {
+ throwError('The provided interaction value is not valid.');
+ }
+ }
+- identifier: shell
+ flag: >
+ @{
+ isTrue(parameters.shell, '--shell-escape', '--no-shell-escape')
+ }
+- identifier: synctex
+ flag: >
+ @{
+ isTrue(parameters.synctex, '--synctex=1', '--synctex=0')
+ }
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }