diff options
Diffstat (limited to 'Master/texmf-dist/scripts/arara/rules/arara-rule-dvisvgm.yaml')
-rw-r--r-- | Master/texmf-dist/scripts/arara/rules/arara-rule-dvisvgm.yaml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/arara/rules/arara-rule-dvisvgm.yaml b/Master/texmf-dist/scripts/arara/rules/arara-rule-dvisvgm.yaml new file mode 100644 index 00000000000..92c7b4ea683 --- /dev/null +++ b/Master/texmf-dist/scripts/arara/rules/arara-rule-dvisvgm.yaml @@ -0,0 +1,57 @@ +!config +# Arara, the cool TeX automation tool +# Copyright (c) 2020, Island of TeX +# All rights reserved. +# +# This rule is part of arara. +identifier: dvisvgm +name: DVISVGM +authors: +- samcarter +- Pablo González +commands: +- name: The dvisvgm program + command: > + @{ + base = getBasename(reference.getName()). + concat('.').concat(entry[0]); + return getCommand('dvisvgm', getOrNull(entry, 1), pages, + options, base); + } +arguments: +- identifier: pages + flag: > + @{ + if (isList(parameters.pages)) { + q = []; + foreach (p : parameters.pages) q.add(p.toString()); + return [ '--page='.concat(String.join(',', q)) ]; + } + else { + throwError('I was expecting a list of pages.'); + } + } +- identifier: entry + flag: > + @{ + formats = [ 'dvi' : [ 'dvi' ], 'xdv' : [ 'xdv' ], + 'pdf' : [ 'pdf', '--pdf' ], + 'eps' : [ 'eps', '--eps' ] ]; + if (formats.keySet().contains(parameters.entry)) { + return formats.get(parameters.entry); + } + else { + throwError('The valid formats are: ' + formats.keySet()); + } + } + default: dvi +- identifier: options + flag: > + @{ + if (isList(parameters.options)) { + return parameters.options; + } + else { + throwError('I was expecting a list of options.'); + } + } |