diff options
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/latexmk.yaml')
-rw-r--r-- | Master/texmf-dist/scripts/arara/rules/latexmk.yaml | 63 |
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) + } |