!config # Arara, the cool TeX automation tool # Copyright (c) 2020, Island of TeX # All rights reserved. # # This rule is part of arara. identifier: latexmk name: LaTeXmk authors: - Island of TeX commands: - name: Tool LaTeXmk command: > @{ if (isNotEmpty(clean)) { return getCommand('latexmk', clean, options); } else { return getCommand('latexmk', isEmpty(program, engine, program), options, reference); } } 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) }