[latex] dviファイルをpng(背景透過)ファイルへ変換

ちょっと、ブログで数式を使いたくなったので、昔使っていたlatexを用いて数式の作成をしてみた。これはその時のメモ。


latexなどで作成した数式などをブログなどに張り付けたい場合、dviもしくはepsファイルをいったん作成する。
dviファイルをxdviで表示して、スクリーンキャプチャするという手もあるが面倒なので、今回は別の方法で行う。

まず、数式を作成するために準備しておいたtexファイルをplatexでdviファイルを作成する。
  • $ platex hogehoge.tex
できたdviファイルをdvipngで処理することで、pngファイルを作成することが出来る。
  • $ dvipng -T tight -bg Transparent hogehoge.dvi
ここで使用したdvipngのコマンドのオプション
・-T tight : 数式以外の余計な表示領域を削除する
・-bg Transparent : 背景を透過にする
透過にするオプションは別にもあったような気がする。その他に、文字のアンチエイリアスやクオリティの設定などのオプションもあるのでいろいろ試してみるとよい。

ただし、dvipngは日本語が混じっているファイルを処理しようとするとエラーとなってしまうので、日本語も使えるようにするために別の方法を考える。

そこでdviファイルから直接pngにするのではなく、一度dviファイルをepsファイルに変換し、変換したepsファイルからpngファイルを作成する。
epsファイルへの変換はdvipsを用いる。
  • $ dvips -E hogehoge.dvi -o hogehoge.eps
さらにconvertコマンドでpngへの変換を行う。
  • $ convert hogehoge.eps hogehoge.png
この方法なら数式の他に日本語が混じっていても、pngに変換できる。
convertコマンドで変換すると、なぜか背景透過のpngファイルが出来る。背景色を指定するオプションを用いても透過のまま…。まぁ、Gimpとかでアルファチャンネルを除去するとかすれば、透過じゃなくなるからまぁいいか。


↓今回、作成した数式のtexファイルの中身と出来た画像はこちら。
-----------------------------------------------------------
\documentclass[30pt]{jsarticle}
\pagestyle{empty}
\begin{document}

\[
i\hbar\frac{\partial\psi}{\partial t}
= -\frac{\hbar^2}{2m}\frac{\partial^2\psi}{\partial x^2}+V\psi
\]
あいう
\end{document}

----------------------------------------------------------

ブログに貼り付ける過程でjpegに変換されてしまっているので、この画像はpngではない。また、背景透過のpngはソフトによってはうまく表示されない(真っ暗になったりする)ようだ。
送信者 yutarine photos



それからUbuntuの場合、platexはUTF-8の文章は処理できない?らしいので、いったんEUCに変換しないといけないのでちょっと面倒。この辺は回避策があるらしい。

コメント