我有@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