diff options
author | Norbert Preining <norbert@preining.info> | 2021-02-27 03:01:43 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-02-27 03:01:43 +0000 |
commit | 4e6fb7c03bc033485887a99d2ffeca70ef8c0644 (patch) | |
tree | 5a337396041659a71d6da3f68367402d5c4e7dfe /support/arara/scripts/rules/arara-rule-dvisvgm.yaml | |
parent | 8b1159ba65d4003e969141fb034abbdc19e27c4b (diff) |
CTAN sync 202102270301
Diffstat (limited to 'support/arara/scripts/rules/arara-rule-dvisvgm.yaml')
-rw-r--r-- | support/arara/scripts/rules/arara-rule-dvisvgm.yaml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/support/arara/scripts/rules/arara-rule-dvisvgm.yaml b/support/arara/scripts/rules/arara-rule-dvisvgm.yaml new file mode 100644 index 0000000000..92c7b4ea68 --- /dev/null +++ b/support/arara/scripts/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.'); + } + } |