summaryrefslogtreecommitdiff
path: root/support/arara/scripts/rules/perltex.yaml
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-20 03:03:09 +0000
committerNorbert Preining <norbert@preining.info>2020-04-20 03:03:09 +0000
commit2a6dafa8ee740f345650d6a697665bf85a57cc77 (patch)
tree41026274cc0ff06c74d65d2fa12b025a3d3d5764 /support/arara/scripts/rules/perltex.yaml
parent0e85a1501dd8b23f1debab0ed20d89b11146ad34 (diff)
CTAN sync 202004200303
Diffstat (limited to 'support/arara/scripts/rules/perltex.yaml')
-rw-r--r--support/arara/scripts/rules/perltex.yaml82
1 files changed, 82 insertions, 0 deletions
diff --git a/support/arara/scripts/rules/perltex.yaml b/support/arara/scripts/rules/perltex.yaml
new file mode 100644
index 0000000000..09a838153d
--- /dev/null
+++ b/support/arara/scripts/rules/perltex.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: perltex
+name: PerlTeX
+authors:
+- Island of TeX
+commands:
+- name: PerlTeX wrapper
+ command: >
+ @{
+ return getCommand('perltex', engine, safe, permit, standalone,
+ interaction, shell, synctex, options,
+ reference.getName());
+ }
+arguments:
+- identifier: engine
+ flag: >
+ @{
+ if ([ 'latex', 'pdflatex' , 'xelatex', 'lualatex', 'tex', 'pdftex',
+ 'luatex', 'context' ].contains(parameters.engine)) {
+ return '--latex='.concat(parameters.engine);
+ } else {
+ throwError('The provided TeX engine is invalid.');
+ }
+ }
+- identifier: safe
+ flag: >
+ @{
+ return isTrue(parameters.safe, '--safe', '--nosafe');
+ }
+- identifier: permit
+ flag: >
+ @{
+ if (isList(parameters.permit)) {
+ p = [];
+ foreach(entry: parameters.permit) {
+ p.add('--permit='.concat(entry));
+ }
+ return p;
+ } else {
+ throwError('I was expecting a list.');
+ }
+ }
+- identifier: standalone
+ flag: >
+ @{
+ return isTrue(parameters.standalone, '--makesty');
+ }
+- 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.');
+ }
+ }