pptTeXの動作に必要なpstoeditの動作に必要なghostscriptにはバージョン制限がある?

結論

  • texliveを使っているときにpptTeXを使いたい場合、Pathにghostscript(以下gs)の場所を追加する必要がある。
  • この記事を書いている時点でgs9.52まで出ているが、ppttex、もといpstoeditとの互換性が保たれているのは9.26まで?*1のようなので、gs9.26をインストールしないと動かない。
  • texlive2019のインストール時にgs9.26もインストールされる*2が、単独の呼び出しは想定していないためpstoeditとの互換性がなく、別個にgs9.26をインストールする必要がある。

PowerPointTeXによる数式を入力する際に便利なのがpptTeXである。

PCを買い替えたため、TeX周辺と合わせてインストールしていたところ、pptTeXの画像の出力がうまくいかない。pptTeXの一時ファイルの出力先である

AppData\Local\Temp\pptTeX  

内のファイルを見ると、epsの出力までは成功しているが、emfの変換に失敗していた。変換するのはpstoeditの役割らしい。

コマンドプロンプトでpstoeditを使い、直接変換しようとすると、ghostscript(以下gs)の呼び出しに失敗していることが分かった。

gsはtexliveのインストール時に

texlive\2019\tlpkg\tlgs\bin  

内にインストールされるため、これを環境変数のPathに追加して再度試すと

GPL Ghostscript 9.26: Can't find initialization file gs_init.ps.  

というエラーが出る。ググってみると、texliveに同梱のgsはコマンドでの呼び出しに対応していないらしい。

oku.edu.mie-u.ac.jp

上記のサイトはtexlive2017のものだが、おそらくそれ以降も同じなのだろう*3

gsを別個にインストールする必要があるらしい。現時点での最新版の9.52をインストールして試すと、なぜかエラーが出る。

GPL Ghostscript 9.52: Unrecoverable error, exit code 1

Unrecoverableて。

ググってみると、gs9.26まではpstoeditに対応していたのが、gs9.27から互換性がなくなったという報告があった。

github.com

pstoedit3.74以降ならそのバグは消えているというようなことも書いてあるが、現時点でpstoeditの公式からダウンロードできるのはpstoedit3.71だった。

www.pstoedit.net

なぜか"binary for Windows 64 bit"がリンク切れしており、"alternate URL"でダウンロードできるのは3.71になっている。

pstoeditのバージョンを上げるのは難しそうだったので、gs9.26をインストールする。

github.com

上記の"gs926aw32.exe"に当たる。pstoeditで呼び出すのは32bit版のようなので、32bit版をインストールした*4。その後

C:\Program Files (x86)\gs\gs9.26\bin

をPathに追加したところ、きちんと画像が出力されるようになったので一安心。

参考

www.net.ist.i.kyoto-u.ac.jp

qiita.com

www.scc-kk.co.jp

*1:すべて試したわけではないが、少なくとも9.52はダメだった

*2:texlive2020は未確認

*3:texliveでない場合はこの問題は生じないのかも

*4:gs926aw64は未確認