読者です 読者をやめる 読者になる 読者になる

Acetaminophen’s diary

化学に関すること,TeXに関すること,ゆきだるまに関すること。

TeX2img のすゝめ:詳しい使い方

重要:以下の内容は古くなっています!(2014-12-14)
この記事は Windows 版 1.3.1 と Mac 版 1.8.6 に対応した内容であるが、念のためアーカイブとして残しておく。最新記事はこちら

初めて TeX2img を使う方にも読んで理解していただけるように、TeX2img の使い方をまとめることにした。美文書第6版にも収録されていながら、使い方に関しては全く触れられていないというアプリケーションだが、実際には非常に高機能な画像化ソフトだと考えてよいと思う。確かにインターフェースを見れば大体使い方は分かるが、細かい点やトラブルシューティングも紹介したかったので、最初から使い方を一気にまとめてみた。参考になれば幸いである。

ライセンスや動作条件は配布サイト(Mac版)または添付ドキュメント(Windows版)を参照。また、TeX そのものの使い方(インストール方法、コマンド etc.)は TeX Wiki美文書をはじめとする他のリソースを参照。

 

特長

TeX2img には Windows 版Mac 版があり、以下のような特徴がある。

【ソフトウェアの概要】

入力した TeX ソースコードTeXコンパイルして、画像として出力する

【出力形式】

  • JPEG/PNG ファイル(PNG は白背景の透過処理可能)
  • アウトラインをとった EPS/PDF ファイル
  • テキストを保持した PDF ファイル(Mac 版のみ)

【ソフトウェア導入】

  • システムで TeX Live や W32TeX が正常に動作することを前提
  • TeX2img 自体はインストール不要(したがって管理者権限不要)

TeX処理】

  • 日本語も処理可能・数式以外の地の文も処理可能
  • システムの TeX を利用するスタンドアロンアプリのため利用時にネット環境不要
  • 任意の LaTeX パッケージや独自スタイルファイルを利用可能*1
  • ソースのハイライト*2により入力編集しやすい(Mac 版は入力補完あり)

 

インストール方法

特別な手順は不要。以下では GUI 版を使うための手順を説明する(CUI 版は後日)。

Windows

ダウンロードした zip アーカイブを展開して、TeX2img.exe をダブルクリックする。フォルダを移動する際は最低限 Azuki.dll も TeX2img.exe と同じ場所に置く必要がある。

Mac

ダウンロードした dmg ファイルに入っている TeX2img.app をダブルクリックする。気に入ったらアプリケーションフォルダに移動し、Dock に登録するとよいだろう。

補足:美文書の付録 DVD からインストールした TeX2img を更新する場合

Windows:自動アップデートのメカニズムはないので、阿部さんのサイトから最新版を取得して更新する。旧バージョンの TeX2img をフォルダごと削除し、改めて展開すればよい。

Mac:メニューの [TeX2img] → [アップデートを確認...] から可能。

寺田さんより Mac 版に関する補足

これは,Sparkle という自動アップデートのフレームワークを使っています。ただし,この美文書に付属の Sparkle は古いバージョンであるため,Yosemite で使うとバージョンアップに失敗することがあるようです。その場合は,公式サイトから新バージョンをダウンロードして手動でアプリ本体を差し替える必要があります。最新版の TeX2img の Sparkle は Yosemite に対応した新バージョンに更新してあるため,それ以降のバージョンアップは「アップデートを確認...」メニューから可能です。

 

試しに使ってみる

起動すると、まず初めにインストールされている TeX システムを推測し、プログラム platex, dvipdfmx, ghostscript の場所を設定する。推定に成功すると確認画面が現れたのち、以下のような画面が現れる。推定に失敗した場合は、後述するようにプログラムの場所を手動で設定する。

f:id:acetaminophen:20141022000719p:plain

f:id:acetaminophen:20141022000728p:plain

エディタ部分にソースコードの \begin{document} と \end{document} の間の部分を書き込み、出力先ファイルを指定して「画像生成」する。

f:id:acetaminophen:20141121122805p:plain

f:id:acetaminophen:20141022000805p:plain

TeX 関連プログラムが正しく機能していれば、指定した場所に画像ファイルが生成するはずである(図は透過 PNG)。

f:id:acetaminophen:20141121122903p:plain

 

出力される画像について

TeX2img が出力する画像形式は、JPEG/PNG 形式という「ラスター画像(ビットマップ)」と、EPS/PDF 形式という「ベクター画像(ドロー)」である。

TeX2img は(ラスター画像については問題とはならないが)ベクター画像については「アウトライン化」を自動で行う*3。これは、IllustratorInkscape といったベクター画像編集ソフトウェアでの利用が多いことを想定してのことである。

 

もう少しちゃんと使うには

さっきは \begin{document} と \end{document} の間しか書かなかったが、今度はプリアンブルも設定してみる。

メニューの [表示] > [プリアンブル設定ウィンドウ] でプリアンブル設定ウィンドウが出てくる。

f:id:acetaminophen:20141121123234p:plain

f:id:acetaminophen:20141022001634p:plain

デフォルトですでにいくつかのパッケージが読み込まれているので、追加する場合は同じように \usepackage を用いれば良い。原理上(いくつかの例外を除くが)すべてのパッケージを用いることができる。

上級者向け:現状では (u)platex + dvipdfmx というプロセスを固定しているので、例えば pdflatex, dvips などの他のエンジンを必要とするパッケージは使用できない。また hyperref パッケージのリンクやアニメーション・動画のような複雑なオブジェクトも、アウトライン化やビットマップ化する限りは当然ながら意味をなさない。

Windows 版に関しては、既存の TeX ソースファイルを読み込んで処理させることもできる。この場合「TeX ソースファイルを読み込む」にラジオボタンを切り替える。

 

プログラムの設定

Windows 版ではメニューから [ツール] > [オプション] で、また Mac 版では [TeX2img] > [環境設定] で設定用のウィンドウが現れる。ここの [基本設定] タブまたは [変換ツール] タブが、TeX 関連プログラムや Ghostscript の PATH の設定画面である。

f:id:acetaminophen:20141214143617p:plain

f:id:acetaminophen:20141122164336p:plain

ここでプログラムをフルパスで指定する*4。ソースの処理に使用する文字コードエンコーディング)と*5、数式番号などを相互参照する際に有用なコンパイル回数推定の有無を*6、この画面上で設定できる。

上級者向け:絵文字や環境依存文字(ゆきだるまや丸数字など)を直接エディタで入力するとき、内部処理が Unicode の uplatex というエンジンを用いることができる。この場合、文字コードWindows 版では「UTF-8」または「指定しない(入力UTF-8)」に、また Mac 版では「UTF8 (upTeX)」に指定し、プリアンブル設定ウィンドウで jsarticle のオプションに uplatex を追加するとよい*7。例えば以下のような処理ができる(画像は Windows 版)。

 

f:id:acetaminophen:20141011005539p:plain

 

f:id:acetaminophen:20141011005607p:plain

 

出力画像のカスタマイズ

今度は設定用のウィンドウで [出力画像設定] または [出力画像] タブを開くと、下のような画面が現れる。

f:id:acetaminophen:20141022002506p:plain

f:id:acetaminophen:20141022002516p:plain

ここで解像度レベルや余白を設定できる。解像度レベルの数字の意味や余白単位の意味はここではわからなくてもよい*8が、とりあえずいじりながら調節してみてほしい。PNG 出力の場合は背景を透過処理するかどうか選択できる。透過する場合は、白い背景部分が透明となった PNG 画像が出力される。

Windows 版に限っては、オプションでインストールする ImageMagick を使用するかどうか選択できる。ImageMagick のインストールはユーザーが別途行う必要があるが、入手先へのリンクが貼られている。インストールすればアンチエイリアス機能を用いてより美しい PNG/JPEG 画像を出力できる*9

ちなみに ImageMagick のインストール時には「PATH に空白を含まず、必ずすべての PATH の先頭に指定する」べきである。このようにすれば、TeX2img 経由でなくコマンドラインから ImageMagick を使用するつもりで convert.exe を起動しようとして誤って Windows のシステムを起動する心配がなくなる*10

Mac 版に限り、PDF 出力の場合にテキストを保持する(=アウトライン化しない)ことを選択できる。「文字をアウトライン化」のチェックを外すとよい。

 

その他の設定:エディタ周りなど

Windows 版も Mac 版もエディタのフォントやソースのハイライトの有無を変更することができる。

Windows 版のエディタ設定は、設定用のウィンドウの [エディタの設定] タブから行う。

f:id:acetaminophen:20141022002959p:plain

Mac はメインウィンドウの [表示フォント設定] ボタンから設定する。また、Mac 版に関しては入力補完機能があり、こちらもメニューの [編集] からいろいろ調節可能である。

f:id:acetaminophen:20141022003025p:plain

寺田さんからの補足

Mac 版は、TeXShop がインストールされている場合にのみ,TeXShop の入力補完辞書を参照して行います。正確には,二種類の補完があります。

【オートコンプリート】

開き括弧 { を入力すると,{} と入力されて真ん中にカーソルが来るような自動補完です。この辞書は,TeXShop のメニューの [ソース] → [キーバインド] → [キーバインドファイルの編集...] から編集可能です。

【コマンド補完】

\be まで入力して esc キーを押すと \begin{ と補完されるような,esc キーで発動するコマンド補完です。この辞書は,TeXShop のメニューの [ソース] → [コマンド補完] → [補完用語ファイルの編集...] から編集可能です。

 

応用的な使い方

以前書いた記事は今でもまだ参考になると思うのでリンクしておく。


PDFのトリミングとベクター画像抽出 - Acetaminophen’s diary

 

トラブルシューティング

本家の TeX2img配布サイト(特に Tips やトラブルシューティング)や Windows 版 TeX2img 添付ドキュメント以外に、問題が起こりうる場合について。

Ghostscript が VMerror を起こす

このエラーが発生することはほとんどないが、Windows 版でも Mac 版でもまれに発生する例が存在することが確認されている。特に Ghostscript 9.14 以前を用いる場合に Ghostscript が VMerror を起こす場合があるらしい。これは TeX2img の不具合ではなく Ghostscript と TeX ソースにより出力される PDF の“相性”の問題のようで、これを回避するには、現状では、このようなソースを処理したい場合に対して個別に対処するほかはない。

Windows:オプションの [基本設定] で「低解像度での処理を行う」にチェックを入れ、[出力画像設定] で解像度を適宜調節

Mac:環境設定の [出力画像] で「速度優先モード」に切り替え、解像度を適宜調節

Ghostscript 9.15 以上でアウトライン化ではなくビットマップ化になってしまう

これもある種の TeX ソースで発生することを確認しているが、現状ではどうしようもない。Ghostscript 9.14 以下にダウングレードすればビットマップ化は防げるが、完全できれいなアウトライン化はできないだろう(断片化した非常に細かい無数のパスに分割されてしまうはず)。

 

困ったときは

他にも問題があるかもしれないが、そのような時はまず出力ウィンドウをよく見てほしい。たいていは TeX2img 自体のエラーではなく、呼び出しているプログラムが吐いているエラーであることが多いので、どこでエラーが発生しているか分かることが多いだろう。

また、一時ファイルを覗いてみるのも一つの手である。Windows 版ではオプションから、Mac 版では環境設定から [コンパイル後処理] を開くと「コンパイル後作業ファイル削除」とあるので、このチェックをOFFにして「作業フォルダを開く」とすると、実際に TeX2img が作業に使用している一時フォルダを訪問できる。

f:id:acetaminophen:20141022003248p:plain

f:id:acetaminophen:20141121115921p:plain

ここを観察しながら失敗したソースでもう一度「画像生成」してみると、どこまで成功でどこから失敗か分かることも多い。既に「仕様書」といえるかもしれない(?)資料を公開してあるので、こちらも参考にしてほしい。

なお Mac版1.8.4 以前には「出力ビューにログをリアルタイムに表示」オプションがあったが、正しく動作しないことが多かったため 1.8.5 で取りやめた。

 

あとがき

そもそも僕が TeX2img の開発者である寺田さんに連絡を取ったのは、この記事を書くためのようなものであった。しかし、記事を書く前に初期設定の段階からもう一度確認してみようと思い、保存されていた設定ファイルを削除して一から起動しようと思ったとき、Windows版1.1.4 が Ghostscript の PATH を正しく設定してくれなかったことに気付いた。そのとき、自分でも忘れるほどかなり前、TeX2img を使い始めたときに PATH 設定を MS-DOS8.3 形式に直していたことを思い出し、この対処法を報告してから記事を書こうと思った。

すると、ちょうど阿部さんに Windows 版の開発を引き継ぐ話がまとまりつつあったそうで、ここから開発に少しだけ協力させていただくことになった。動作確認と不具合の報告や、ちょっとした機能提案を経て5年ぶりに新バージョンがリリースされたことで、さらに使いやすくなった TeX2img を紹介するにあたって、もう少しいろいろと TeX2img の機能を試してみようと思うようになった。

この過程である種のソースが Windows 版も Mac 版もともにエラーで画像化に失敗するケースに遭遇し、つい最近の Ghostscript の仕様変更への対応と同時に、このようなエラーにも対応する必要が生じた。正直なところ、僕自身はプログラムのソース編集能力は一切なく、あれだけ解説記事を書いた Ghostscript も使いこなせるものではなかった。しかし、今回 TeX2img の改良に協力させていただく過程で、少しだけ自分も理解を深めることができた点があった。これらの改良を経て、一層安定感のあるソフトになった TeX2img を紹介できることは、僕にとって非常に嬉しいことである。

僕が TeX2img に関する2つの記事を公開した時点では、TeX Wiki に「TeX2img」という項目すら存在しなかった。美文書第6版に収録されていながら、こちらにも TeX2img という単語はわずか1ページにしか出現しないという存在感の薄さではあるが、これは非常にもったいない!

TeX さえあれば簡単に画像生成することができる TeX2img を、ぜひまだご利用でない方はダウンロードして試してみてほしい。

 

追記:2014-12-14 新たに CUI 版の使い方も解説。

Windows/Mac 両バージョンを比較しつつ解説(2014-11-22 の記事を改訂)。


TeX2imgのコマンドライン版の使い方(改訂版) - Acetaminophen’s diary

*1:一部利用できないものもある:platex (uplatex) + dvipdfmx を通るソースである必要がある。

*2:とりわけ全角スペースの誤入力の見落としがなくなる!

*3:ただし、Mac 版で PDF 出力かつ「文字をアウトライン化」のチェックを OFF にした場合だけは例外的にテキストを保持する。

*4:ただし Windows 版 1.3.0 以降に限りシステムの PATH が通ってさえいればディレクトリ名を省略可能で、1.3.1 ではさらに再推定ボタンが配置された。

*5:文字コード指定で、Windows 版の「指定しない(入力 UTF-8)」と「指定しない(入力 Shift_JIS)」はともにエンコーディング判定を platex に任せる場合に用いる。違いは、TeX2img のエディタ部分にソースを直接入力した場合に「判定を UTF-8 に仕向けるためにソースを BOM 付とするか、そのまま処理して Shift_JIS と判定させるか」という点にある。前者は UTF-8 を処理できない古い TeX では使えないため、デフォルトを後者に設定してあるが、最近の TeX ディストリビューションであれば前者に変更することを勧める。

*6:コンパイル回数推定がONの場合はその上限回数を、OFFの場合は単純なコンパイル回数を指定することになる。

*7:なお、Mac 版では platex でも環境依存文字を処理できるように「JIS X 0208 外の文字を \UTF{xxxx} に置換」という機能もあり、これは TeXShop と同様に動作する。

*8:詳細は前回の記事参照。

*9:正直なところ、Ghostscript による PNG/JPEG 出力はあまり品質が良くないので、ImageMagick を使うことを強く勧める。ちなみに Mac 版は、OS X 標準の高機能な API を利用するため ImageMagick は使わずに済む…うらやましい。

*10:Windows のシステムには C:\Windows\System32\convert.exe という FAT ボリュームを NTFS に変換するコマンドが存在する。これを誤作動させるとシステム自体が動かなくなる可能性も否定できないので、必ず ImageMagick の convert が先に見つかるように先頭で PATH を通すとよい。逆に Windows の convert を使う場合はフルパスで実行する。ちなみに TeX2img の Windows 版は、たとえ PATH の通ったディレクトリに convert.exe が見つかったとしてもそれが Windows の %System% などの下であった場合には排除するように設定しているはずなので、ImageMagick がインストールされていない時にチェックを ON にしたとしても誤作動の心配はない…はず。