# TeX2img (C)Abe Noriyuki http://www.math.sci.hokudai.ac.jp/~abenori/ ## これは何? 入力した TeX ソースコードを TeX でコンパイルして,次のような形式の画像で出力するアプリケーションです. * アウトラインをとった EPS ファイル * JPEG ファイル * PNG ファイル * 背景を透過させた PNG ファイル * PDF ファイル 出力した EPS / JPEG / PNG / PDF ファイルは Word / Excel / PowerPoint や,Illustrator / InDesign 等に貼り付けて利用することができます. もともとの作者は寺田侑祐さんです.Version 1.2 以降開発を引き継ぎました. ## 動作条件 * .NET Framework 3.5 以降. * 適切な TeX ディストリビューション(W32TeX か TeX Live を推奨)がインストールされており,platex 及び dvipdfmx(等)が使えること. * Ghostscript がインストールされ,使えること.(TeX Live 内のものでも大丈夫です.) * ImageMagick がインストールされていると,それを用いて画像を出力することができます.(必須ではありません.) ## インストール 解凍後出てくる TeX2img.exe をダブルクリックすれば起動します.初回に platex.exe などの場所を推定しますが,推定に失敗した場合は,メニューの「ツール(T)」→「オプション... (O) Ctrl+E」から設定をしてください. TeX2imgc.exe は CUI モードで動かすためのラッパです.TeX2img.exe と同じフォルダに置いてください.使い方は > TeX2imgc.exe [Options] Input Output (Input Output...) です. ## Tips * Ghostscript の Version 9.14 あたりで,device が epswrite から eps2write に変更になったようです.画像生成時にエラーが出る場合は,「ツール」→「オプション」→「パスの設定」の「Ghostscript の device には epswrite を設定する」のチェックをつけて/外してみてください. * platex / dvipdfmx / Ghostscript のパスにオプションを混ぜて設定することで,画像変換時にオプションをつけたまま起動を行うことができます.ただし,オプションをつける際はファイル名を""で囲う必要があります. 例:"C:\w32tex\bin\platex.exe" --guess-input-enc * 内部文字コードは Unicode です.従って,platex の設定として uplatex を用いることで,Shift_JIS にない文字なども直接出力をすることができます.ただし,設定→パスの設定の文字コードにおいて,UTF-8 または 指定しない(入力 UTF-8 )を選ぶ必要があります.(入力 UTF-8 とは,直接入力された TeX コードを UTF-8 として扱うことを意味します.)なお,文字コードを指定しない場合は,TeX ディストリビューションの設定で文字コードの推定を自動的に行うようにしておくとよいでしょう. * 「platex」で指定されたプログラムが pdf を生成したと判断した場合,TeX2img は dvipdfmx の実行をスキップします.これを利用して,pdflatex や lualatex などを指定することができます.なお,このばあいは文字コードを 指定しない(入力 UTF-8)としておくとよいでしょう. ## 起動オプション TeX2img.exe または TeX2imgc.exe が受けつけるオプションです.なお, TeX2img.exe input output とすると起動直後に変換が行われます. /platex= platex のパス /dvipdfmx= dvipdfmx のパス /gs= Ghostscript のパス /gsdevice= Ghostscript の device の値(epswrite/eps2write) /kanji= 文字コードの指定(utf8/sjis/jis/euc/no) /guess-compile[-] LaTeX ソースコンパイル回数を推定 /num= LaTeX ソースコンパイルの(最大)回数 /resolution= 解像度レベル /left-margin= 左余白 /right-margin= 右余白 /top-margin= 上余白 /bottom-margin= 下余白 /unit= 余白の単位(bp/px) /transparent[-] 透過 PNG を作る /imagemagick[-] ImageMagick を使う /low-resolution[-] 低解像度で処理する /ignore-errors[-] 少々のエラーは無視する /no-delete[-] 一時ファイルを削除しない /preview 生成されたファイルを開く /savesettings 設定の保存を行う /quiet Quiet モード /batch= Batch モード(stop/nonstop) /exit 設定の保存のみを行い終了する /help このメッセージを表示する /version バージョン情報を表示する [-] はオプションの否定を意味します.たとえば /guess-compile- と指定すると,コンパイル回数の推定を行わなくなります. ## 参考 * 元々の作者である寺田さんによる TeX2img 配布ページ http://island.geocities.jp/loveinequality/ には,TeX2img を活用するための情報があります.参考にしてみてください. ## 謝辞 * もともとの TeX2img は寺田侑祐さんによるものです. * Azuki テキストエディタエンジンを利用しています. http://sgry.b.sourceforge.jp/ * コマンドライン解析には NDesk.Options を利用しています. http://www.ndesk.org/Options * 日本語文字コードの推測には,Gauche に含まれている推測ルーチン(を C# に移植したもの)を用いています. http://practical-scheme.net/gauche/index-j.html ## ライセンス 修正 BSD ライセンスです.詳しくは license.txt を参照してください. なお,用いているライブラリなどのライセンスは以下の通りです. * Azuki エディタコンポーネント Azuki.dll は zlib ライセンス. * NDesk.Options は MIT ライセンス. * Gauche は修正 BSD ライセンス. 詳細は各々のページをご覧ください. ## 履歴(1.2以降) * Version 1.2 (2014/9/15) ** 開発を引き継いだ. ** emf のサポートをやめた. ** 環境設定用の起動オプションを追加. ** ソースコードの色付け機能を搭載.(Azuki エディタコンポーネントを利用.) ** ファイル名に空白が入っている場合に動かないバグ修正. ** 複数ページにわたる TeX ソースを変換する場合,ページごとにファイルを出力するようにした. ** JPEG / PNG 時には,余白設定を従来の px に加え,「bp」でも指定できるようにした.(EPS / PDF の出力と同様の空白が得られるはず.) ** ライセンスを修正 BSD ライセンスへと変更 * 1.2.1 (2014/9/18) ** platex / dvipdfmx のパス設定にオプションが含まれていると実行できないバグ修正. * 1.2.2 (2014/9/30) ** 文字コードを設定できるようにした. ** ソースコードのフォント及び色を変更できるようにした.またデフォルトの色も変更した. * 1.2.3(2014/10/12) ** TeX ソースを直接入力 / 読み込むのボタンの切り替えと TeX ソース入力エリアの色が連動できていなかったのを修正. ** dvipdfmx のアウトプットが取得できていなかったのを修正. ** フォントサイズの表示が指定したのと一致していなかったのを修正. ** 存在しない TeX ソースファイルを読み込もうとすると,作業フォルダに一時ファイルが残ってしまっていたのを修正. ** Ghostscript に渡す Device を epswrite / eps2write と切り替えるオプションを設定.(Ghostscript Version 9.15 以降は eps2write でなければならない.初回起動時に推定する.) ** platex / dvipdfmx の実行時間がやたら長い場合には強制終了ができるようにした.(10秒ごとにユーザに問い合わせる.) * 1.2.4(2014/10/14) ** プロセスのデッドロックが発生するかもしれなかったのを回避(しているつもり). ** 起動時に Azuki.dll が存在するかをチェックするようにした. ** eps2write 時には -dNoOutputFonts オプションを付加するようにした.これによりフォントがアウトライン化される(はず). ** バージョンアップ時に設定が消えてしまうのを修正. ** 低解像度で処理するオプションを追加(複雑な図形でエラーが発生する場合に利用するとよい). ** eps2write 時に余白を設定するとおかしくなるバグを修正.(epsをテキストファイルとして扱っていたことによるもの.) * 1.2.5(2014/10/16) ** PDF のページ数を pdfinfo.exe によりあらかじめ取得し,ページごとに処理をするようにした.(eps2write 時に Ghostscript に %d を用いて複数ページを処理させると,ERROR -12 なるエラーが発生するので.) ** epswrite / eps2write の最初の推定を,9.15 以上で eps2write とした.(前のバージョンでは 9.14 以上.) ** その他細かい修正. * 1.2.6(2014/10/22) ** Ghostscript のバージョンを自動推定する際に,設定されている Ghostscript のパスが間違っていると TeX2img 自体が起動しないバグを修正. * 1.3.0(2014/11/21) ** オプションの解析を NDesk.Options にまかせることにした. ** CUI モードを担当する TeX2imgc.exe の追加. ** 設定情報の格納などに関する内部処理を変更. ** 必須環境を .NET Framework 3.5 以上とした. ** LaTeX ソースの複数回コンパイルが行えるようになった.(回数指定または推定.推定時の回数指定は最大回数を意味する.) ** 読み取り専用のファイルを読み込んで使用していた場合,一時ファイルの削除に失敗するバグを修正. * 1.3.1(2014/12/14) ** CUI モードでも各種パスの推測を行うようにした. ** 設定画面に各種パスの推定を追加. ** オプションの仕様を /no-delete (true|false) から /no-delete[-] に変更, ** /platex- とすると引数を受けつけなくても起動してしまい,その後落ちてしまっていたのを修正. ** CUI モードでもコンパイル時間が長い時にメッセージボックスが表示されていたのを,コンソールへの出力に変更. ** 細かいバグ/ミスの修正. ** /batch オプションの追加. * 1.3.2(2014/12/20) ** インポート / エクスポート機能を搭載. ** ドラッグ&ドロップを,TeX コードの編集エリア及び読み込むソースファイルの表示されているテキストボックスで受けつけるようにした. ** 必要に応じて,パス推定やプリアンブルの設定などを uplatex にあわせて行うようにした. ** /batch を引数必須のオプションとした. * 1.3.3 ** uplatex コンパイル時のアウトプットの文字化けを防ぐようにした.