arara:如何修复因 arara 版本 4 导致的 ghostscript.yaml?

arara:如何修复因 arara 版本 4 导致的 ghostscript.yaml?

我有@clemens 和@esdd 编写的 arara 规则ghostscript.yaml和我自己添加的一些 lint,它们使用 ghostscript 将 pdf 文件转换为图形文件,比如 png。

我设置了 TeXLive 2018。我的旧 arara 规则不再起作用。

我尝试了规则转换器rc.jar没有成功。

我该怎么办?

!config
# GhostScript rule for arara
# author: Clemens Niederberger, Elke Schubert
# version: 0.4b 2014/30/06
# requires arara 3.0+
identifier: ghostscript
name: GhostScript
command: <arara> @{program} @{options} -r@{resolution}
        -sDEVICE=@{device} -dGraphicsAlphaBits=@{alphabits} -dTextAlphaBits=@{alphabits}
        -sOutputFile=@{outputfilename}@{allpages}.@{format} @{getBasename(file)}.pdf
arguments:
- identifier: program
  flag: <arara> @{parameters.program}
  default: <arara> @{ isWindows("gswin32c", "gs") }
- identifier: options
  flag: <arara> @{parameters.options}
  default: -q -dNOPAUSE -dBATCH  -dEPSCrop
- identifier: allpages
  flag: <arara> @{ isTrue( parameters.allpages , "-%d" ) }
- identifier: resolution
  flag: <arara> @{parameters.resolution}
  default: 300
- identifier: device
  flag: <arara> @{parameters.device}
  default: png16m
- identifier: alphabits
  flag: <arara> @{parameters.alphabits}
  default: 4
- identifier: outputfilename
  flag: <arara> @{parameters.outputfilename}
  default: <arara> @{getBasename(file)}
- identifier: format
  flag: <arara> @{parameters.format}
  default: png

答案1

以下是我对这一特定规则转换的个人看法:

文件ghostscript.yaml

!config
identifier: ghostscript
name: GhostScript
commands:
- name: The application
  command: >
    @{
         return getCommand(program, options, '-r' + resolution, '-sDEVICE=' + device,
                '-dGraphicsAlphaBits=' + alphabits, '-dTextAlphaBits=' + alphabits,
                '-sOutputFile=' + outputfilename + allpages + '.' + format,
                getBasename(reference) + '.pdf');
    }
arguments:
- identifier: program
  flag: >
    @{
        return parameters.program;
    }
  default: >
    @{
        return isWindows("gswin32c", "gs");
    }
- identifier: options
  flag: >
    @{
        return parameters.options;
    }
  default: >
    @{
        return [ '-q', '-dNOPAUSE', '-dBATCH', '-dEPSCrop' ];
    }
- identifier: allpages
  flag: >
    @{
        return isTrue( parameters.allpages , "-%03d" );
    }
- identifier: resolution
  flag: >
    @{
        return parameters.resolution;
    }
  default: 300
- identifier: device
  flag: >
     @{
        return parameters.device;
     }
  default: png16m
- identifier: alphabits
  flag: >
    @{
        return parameters.alphabits;
    }
  default: 4
- identifier: outputfilename
  flag: >
    @{
        return parameters.outputfilename;
    }
  default: >
    @{
        return getBasename(reference);
    }
- identifier: format
  flag: >
    @{
        return parameters.format;
    }
  default: png

我的测试:

$ arara -n test.tex 
  __ _ _ __ __ _ _ __ __ _ 
 / _` | '__/ _` | '__/ _` |
| (_| | | | (_| | | | (_| |
 \__,_|_|  \__,_|_|  \__,_|

Processing 'test.tex' (size: 21 bytes, last modified: 11/12/2018
09:35:42), please wait.

[DR] (GhostScript) The application
-----------------------------------------------------------------
Authors: No authors provided
About to run: [ gs, -q, -dNOPAUSE, -dBATCH, -dEPSCrop, -r300,
-sDEVICE=png16m, -dGraphicsAlphaBits=4, -dTextAlphaBits=4,
-sOutputFile=test.png, test.pdf ]

Total: 0.41 seconds

相关内容