summaryrefslogtreecommitdiff
path: root/support/arara/scripts/rules/makeindex.yaml
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/arara/scripts/rules/makeindex.yaml
Initial commit
Diffstat (limited to 'support/arara/scripts/rules/makeindex.yaml')
-rw-r--r--support/arara/scripts/rules/makeindex.yaml68
1 files changed, 68 insertions, 0 deletions
diff --git a/support/arara/scripts/rules/makeindex.yaml b/support/arara/scripts/rules/makeindex.yaml
new file mode 100644
index 0000000000..83f7e286d0
--- /dev/null
+++ b/support/arara/scripts/rules/makeindex.yaml
@@ -0,0 +1,68 @@
+!config
+# Arara, the cool TeX automation tool
+# Copyright (c) 2018, Paulo Roberto Massa Cereda
+# All rights reserved.
+#
+# This rule is part of arara.
+identifier: makeindex
+name: MakeIndex
+authors:
+- Marco Daniel
+- Paulo Cereda
+commands:
+- name: The MakeIndex software
+ command: >
+ @{
+ base = getBasename(file);
+ infile = base.concat('.').concat(input);
+ outfile = [ '-o', base.concat('.').concat(output) ];
+ logfile = [ '-t', base.concat('.').concat(log) ];
+ return getCommand('makeindex', german, style, order, options,
+ logfile, infile, outfile);
+ }
+arguments:
+- identifier: input
+ flag: >
+ @{
+ parameters.input
+ }
+ default: idx
+- identifier: output
+ flag: >
+ @{
+ parameters.output
+ }
+ default: ind
+- identifier: log
+ flag: >
+ @{
+ parameters.log
+ }
+ default: ilg
+- identifier: german
+ flag: >
+ @{
+ isTrue(parameters.german, '-g')
+ }
+- identifier: order
+ flag: >
+ @{
+ if ([ 'letter', 'word' ].contains(parameters.order)) {
+ return isTrue(parameters.order == 'letter', '-l', '');
+ }
+ else {
+ throwError('The provided order is invalid.');
+ }
+ }
+- identifier: style
+ flag: "@{ [ '-s', parameters.style ] }"
+- identifier: options
+ flag: >
+ @{
+ if (isList(parameters.options)) {
+ return parameters.options;
+ }
+ else {
+ throwError('I was expecting a list of options.');
+ }
+ }