速報:TeX2imgのWindows版、5年ぶりの更新
寺田さんにより開発された「TeX ソースコードを TeX でコンパイルして画像で出力するアプリケーション」である TeX2img の Windows 版が更新された。
美文書第6版(サポートページはこちら)にも収録されているアプリケーションであるが、約5年ぶりのアップデート (Ver. 1.2.0.0) である。
追記:2014-10-18
最新版の Windows版1.2.5 と Mac版1.8.3 について記事を書いたので本記事は既に古いが、履歴として残しておく。新しい記事へはこのページの末尾のリンクから。
- 作ったもの,書いたもの,他(阿部さんによるサイト:Windows 版を配布)
- TeX2img配布サイト(寺田さんによるサイト:現在は Mac 版をサポート)
あれ、と思った方が多いと思うが、今回の Windows 版の開発再開は、寺田さんから阿部さん(TeXインストーラ3などのツールなどで名高いあべのりさん)に引き継がれたことに伴う。
実は僕 Acetaminophen も今回の開発のお手伝いをさせていただいた。とはいっても、プログラムを書くのは阿部さんで、その動作確認と不具合の報告をフィードバックしただけであるが*1。
そして、以下のように便利な機能が追加された。
重要な変更点
【不具合の解消】
- Ghostscript などで空白を含む PATH を認識できない問題を解決
【機能の追加】
【変更点】
- 以前のバージョンでは可能だった EMF の出力はやめることにした
- 出力形式をPDFに指定した場合、ImageMagick のチェックの有無にかかわらず gs の pdfwrite を通すようにした
- 修正 BSD ライセンスに変更(旧バージョン1.1.4は GPL v.2 であった)
ソースのハイライトで見やすくなったし
余白の設定も一新。
透過 PNG も一発。
技術的な話:Windows 版 TeX2img の構造
寺田さんによる以前の Windows バージョン1.1.4.0では
dvi→pdf (dvipdfmxで)
→eps (gsのepswriteで)
├→pdf (gsまたはconvertで)
├→jpg/png (ImageMagickの場合;convertで)
└→余白付与eps (epsのソース編集で)
└→jpg/png (gsの場合)
という流れであったが、今回の改版で阿部さんによって当初は
dvi→pdf (dvipdfmxで)
→cropされたpdf (pdfcropで)
├→jpg/png (ImageMagickの場合;convertで)
└→eps (gsのepswriteで)
└→余白付与eps (epsのソース編集で)
└→jpg/png (gsの場合)
という流れに修正された。しかし、pdfcrop は Perl 依存であるため、この方法では W32TeX ユーザーが別途 Perl インタプリタをインストールしなければならず、断念*2。再び gs の epswrite を経由させることになり、最終的には
dvi→pdf (dvipdfmxで)
→eps (gsのepswriteで)
├→jpg/png (ImageMagickの場合;convertで)
└→余白付与eps (epsのソース編集で)
├→jpg/png (gsの場合)
└→pdf (gsのpdfwriteで)
となった。ただし、gs の epswrite では文字のアウトラインがとられて図形となり、テキストとしての情報は失われてしまうので pdfcrop による PDF の crop とは結果が異なる。
なお、出力形式を PDF に指定した場合に ImageMagick のチェックの有無にかかわらず gs の pdfwrite を通すようにしたのは、ImageMagick の convert が eps→pdf で勝手にビットマップ化してしまうのでこれを避け、アウトラインを保持するためである。
また、余白付与は eps の BoundingBox を書き換えることで行っており、gs を使う場合はこの余白付与 eps を基に jpg/png/pdf が生成される。ImageMagick を使う場合は jpg や png の余白付与を convert で行うが、ビットマップ化してからピクセル (px) 単位で余白を付与していた従来の方式を維持しつつ、付与する余白の大きさを Big Point (bp) 単位で指定すると最終的な余白は
(指定された余白)*(解像度レベル)
となる。bp 単位で指定すると jpg/png と eps/pdf という出力形式による見た目の違いが解消される一方、jpg/png 出力しか使わないユーザーにとってはピクセル (px) 単位での余白指定の方が直接的で分かりやすいだろう。
こうした変更により、最新の Windows 版 (1.2.0) とMac 版 (1.7.6) では余白付与方式が一致しない結果となったが、この他にも Windows 版と Mac 版で処理過程が異なる部分がいくつか存在するので、挙動の一致は図らなかった。
最後に
先日の記事で書いた PATH の問題にとどまらず、さまざまな機能が付加されてますます便利になった TeX2img の僕なりの使い方を、後日このブログで書こうと思う。もしかしたら TeX を触ったことのない人にも、興味を持っていただけるのではないかと期待している。
とにかく、大変お世話になった阿部さん、寺田さん、ありがとうございました。
追記:2014-10-12 さらにアップデートされたので、新たに記事を書いた。
続報:TeX2imgのWindows版アップデート - Acetaminophen’s diary