summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/arara/rules/latexmk.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/latexmk.yaml')
-rw-r--r--Master/texmf-dist/scripts/arara/rules/latexmk.yaml63
1 files changed, 63 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/arara/rules/latexmk.yaml b/Master/texmf-dist/scripts/arara/rules/latexmk.yaml
new file mode 100644
index 00000000000..452b116a2fc
--- /dev/null
+++ b/Master/texmf-dist/scripts/arara/rules/latexmk.yaml
@@ -0,0 +1,63 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2018, Paulo Roberto Massa Cereda
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: latexmk
+name: LaTeXmk
+authors:
+- Marco Daniel
+- Brent Longborough
+- Paulo Cereda
+commands:
+- name: Tool LaTeXmk
+ command: >
+ @{
+ if (isNotEmpty(clean)) {
+ return getCommand('latexmk', clean, options);
+ }
+ else {
+ return getCommand('latexmk', isEmpty(program, engine,
+ program), options, file);
+ }
+ }
+arguments:
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }
+- identifier: clean
+ flag: >
+ @{
+ if ([ 'all', 'partial' ].contains(parameters.clean)) {
+ return isTrue(parameters.clean == 'all' , '-C', '-c');
+ }
+ else {
+ throwError('The provided clean value is not valid.');
+ }
+ }
+- identifier: engine
+ flag: >
+ @{
+ if ([ 'latex', 'pdflatex', 'xelatex',
+ 'lualatex' ].contains(parameters.engine)) {
+ flags = [ 'latex' : '-dvi', 'pdflatex' : '-pdf',
+ 'xelatex' : '-xelatex', 'lualatex' : '-lualatex' ];
+ return flags[parameters.engine];
+ }
+ else {
+ throwError('The provided engine value is not valid.');
+ }
+ }
+- identifier: program
+ flag: >
+ @{
+ return '-latex='.concat(parameters.program)
+ }