!config # Arara, the cool TeX automation tool # Copyright (c) 2023, Island of TeX # All rights reserved. # # This rule is part of arara. identifier: lualatex name: LuaLaTeX authors: - Island of TeX commands: - name: LuaLaTeX engine command: > @{ return getCommand(branch, interaction, draft, shell, synctex, options, reference.fileName); } arguments: - identifier: branch flag: > @{ engines = [ 'stable' : 'lualatex', 'developer' : 'lualatex-dev' ]; if (engines.keySet().contains(parameters.branch)) { return engines.get(parameters.branch); } else { throwError('The valid branch values are: ' + engines.keySet()); } } default: 'stable' - 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: draft flag: > @{ isTrue(parameters.draft, '--draftmode') } - identifier: options flag: > @{ if (isList(parameters.options)) { return parameters.options; } else { throwError('I was expecting a list of options.'); } }