diff options
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/arara-rule-xetex.yaml')
-rw-r--r-- | Master/texmf-dist/scripts/arara/rules/arara-rule-xetex.yaml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/arara/rules/arara-rule-xetex.yaml b/Master/texmf-dist/scripts/arara/rules/arara-rule-xetex.yaml new file mode 100644 index 00000000000..687b08f200e --- /dev/null +++ b/Master/texmf-dist/scripts/arara/rules/arara-rule-xetex.yaml @@ -0,0 +1,49 @@ +!config +# Arara, the cool TeX automation tool +# Copyright (c) 2020, Island of TeX +# All rights reserved. +# +# This rule is part of arara. +identifier: xetex +name: XeTeX +authors: +- Island of TeX +commands: +- name: XeTeX engine + command: > + @{ + return getCommand('xetex', interaction, shell, + synctex, options, reference.getName()); + } +arguments: +- 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.'); + } + } |