!config # Arara, the cool TeX automation tool # Copyright (c) 2020, Island of TeX # All rights reserved. # # This rule is part of arara. identifier: frontespizio name: Frontespizio authors: - Francesco Endrici - Enrico Gregorio - Island of TeX commands: - name: The engine command: > @{ return getCommand(engine, interaction, shell, options, reference) } - name: The frontispiece command: > @{ base = getBasename(reference).concat('-frn'); return getCommand(engine, interaction, shell, base); } - name: The DVIPS program command: > @{ base = getBasename(reference).concat('-frn'); eps = base.concat('.eps'); return isTrue(engine == 'latex', getCommand('dvips', '-o', eps, base), ''); } - name: The engine command: > @{ return getCommand(engine, interaction, shell, options, reference); } arguments: - identifier: engine flag: > @{ if ([ 'pdflatex', 'latex', 'xelatex', 'lualatex' ].contains(parameters.engine)) { return parameters.engine; } else { throwError('The provided engine is not valid'); } } default: pdflatex - identifier: shell flag: > @{ isTrue(parameters.shell, '--shell-escape', '--no-shell-escape') } - identifier: options flag: > @{ if (isList(parameters.options)) { return parameters.options; } else { throwError('I was expecting a list of options.'); } } - 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.'); } }