summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/arara/rules/luatex.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/luatex.yaml')
-rw-r--r--Master/texmf-dist/scripts/arara/rules/luatex.yaml57
1 files changed, 47 insertions, 10 deletions
diff --git a/Master/texmf-dist/scripts/arara/rules/luatex.yaml b/Master/texmf-dist/scripts/arara/rules/luatex.yaml
index 359781f1703..78840f6d96d 100644
--- a/Master/texmf-dist/scripts/arara/rules/luatex.yaml
+++ b/Master/texmf-dist/scripts/arara/rules/luatex.yaml
@@ -1,18 +1,55 @@
!config
-# LuaTeX rule for arara
-# author: Paulo Cereda
-# requires arara 3.0+
+# Arara, the cool TeX automation tool
+# Copyright (c) 2018, Paulo Roberto Massa Cereda
+# All rights reserved.
+#
+# This rule is part of arara.
identifier: luatex
name: LuaTeX
-command: <arara> luatex @{action} @{draft} @{shell} @{synctex} @{options} "@{file}"
+authors:
+- Marco Daniel
+- Paulo Cereda
+commands:
+- name: LuaTeX engine
+ command: >
+ @{
+ return getCommand('luatex', interaction, draft, shell,
+ synctex, options, file);
+ }
arguments:
-- identifier: action
- flag: <arara> --interaction=@{parameters.action}
+- 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: <arara> @{isTrue(parameters.shell,"--shell-escape","--no-shell-escape")}
+ flag: >
+ @{
+ isTrue(parameters.shell, '--shell-escape', '--no-shell-escape')
+ }
- identifier: synctex
- flag: <arara> @{isTrue(parameters.synctex,"--synctex=1","--synctex=0")}
+ flag: >
+ @{
+ isTrue(parameters.synctex, '--synctex=1', '--synctex=0')
+ }
- identifier: draft
- flag: <arara> @{isTrue(parameters.draft,"--draftmode")}
+ flag: >
+ @{
+ isTrue(parameters.draft, '--draftmode')
+ }
- identifier: options
- flag: <arara> @{parameters.options}
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }