!config
# Arara, the cool TeX automation tool
# Copyright (c) 2023, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
identifier: dvipspdf
name: DVIPSPDF
authors:
- Island of TeX
commands:
- name: The DVIPS program
 command: >
   @{
       base = getBasename(reference.fileName).concat('.dvi');
       out = getBasename(reference.fileName).concat('.ps');
       return getCommand('dvips', base, '-o', out, options1);
   }
- name: The PS2PDF program
 command: >
   @{
       base = getBasename(reference.fileName).concat('.ps');
       out = getBasename(output[0]).concat('.pdf');
       return getCommand('ps2pdf', options2, base, '-o', out);
   }
arguments:
- identifier: output
 flag: >
   @{
       isEmpty(parameters.output, reference.fileName, parameters.output)
   }
 default: ''
- identifier: options1
 flag: >
   @{
       if (isList(parameters.options1)) {
           return parameters.options1;
       }
       else {
           throwError('I was expecting a list of options.');
       }
   }
- identifier: options2
 flag: >
   @{
       if (isList(parameters.options2)) {
           return parameters.options2;
       }
       else {
           throwError('I was expecting a list of options.');
       }
   }