天地有情

PNG画像を生成する2つのコマンドの使い方 ー備忘録ー


PNG画像を生成する2つのコマンドの使い方 ー備忘録ー

W32TeX で配布されている latex2png.exedvipng.exe の使い方の備忘録です.

c:/w32tex/bin下に latex2png.exe および dvipng.exe が存在し,適切に実行すると
PNG画像が生成されます.

■ latex2png.exe はLaTeX ソースファイル(.tex)からPNG画像を生成します.
■ dvipng.exe はDVIファイル(.dvi)からPNG画像を生成します.

§1.コマンドラインからのヘルプの表示.

■ C:\> latex2png --help
Create a png from a single page latex source by using dvipng.
Usage: latex2png Resolution latexfile[.tex]
Example: latex2png 144 latexfile

■ C:\> dvipng --help
This is dvipng 1.14 Copyright 2002-2010 Jan-Ake Larsson
Usage: dvipng [OPTION]... FILENAME[.dvi]
Options are chosen to be similar to dvips' options where possible:
-d # Debug (# is the debug bitmap, 1 if not given)
-D # Output resolution
-l # Last page to be output
-o f Output file, '%d' is pagenumber
-O c Image offset
-p # First page to be output
-pp #,#.. Page list to be output
-q* Quiet operation
-T c Image size (also accepts '-T bbox' and '-T tight')
-v* Verbose operation
- Interactive query of options

These do not correspond to dvips options:
-bd # Transparent border width in dots
-bd s Transparent border fallback color (TeX-style color)
-bg s Background color (TeX-style color or 'Transparent')
--depth* Output the image depth on stdout
--dvinum* Use TeX page numbers in output filenames
-fg s Foreground color (TeX-style color)
--follow* Wait for data at end-of-file
--freetype* FreeType font rendering (preferred, default on)
--gamma # Control color interpolation
--gif Output GIF images (dvigif default)
--height* Output the image height on stdout
--nogs* Don't use ghostscript for PostScript specials
--nogssafer* Don't use -dSAFER in ghostscript calls
--norawps* Don't convert raw PostScript specials
--palette* Force palette output
--picky When a warning occurs, don't output image
--png Output PNG images (dvipng default)
--strict When a warning occurs, exit
--t1lib* T1lib font rendering (default on)
--truecolor* Truecolor output
-Q # Quality (T1lib and PK subsampling)
--width* Output the image width on stdout
-z # PNG compression level

# = number f = file s = string * = suffix, '0' to turn off
c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)

§2.latex2png.exe の簡単な例題

================ sample.tex ===============
\documentclass{article}
\pagestyle{empty}
\begin{document}
\[ \left( \int_0^\infty \frac{\sin x}{\sqrt{x}} dx \right)^2=
\sum_{k=0}^\infty \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1}=
\prod_{k=1}^\infty \frac{4k^2}{4k^2 -1}= \frac{\pi}{2} \]
\end{document}
============================================

(注意)欧文クラスを使います.和文クラスは使えません.
    したがって,文書中に日本語の記述はできません.

(1)コンパイル:
   引数の Resolution を 80, 100, 120 にして 3つの png を作成してみます.
   次のように操作します.(PNGファイル名を適宜,リネームします)

   C:\> latex2png 80 sample.tex   → (sample80.png)
   C:\> latex2png 100 sample.tex   → (sample100.png)
   C:\> latex2png 120 sample.tex   → (sample120.png)

(2)これらのPNG画像をLaTeX文書に取り込み,PDF にしたものを貼り付けたのが次の図です.

l2p.png

例えば,Resolution=120 は 120dpi の意味ではない.PNGフォーマットには”解像度”の概念はありません.
恐らくPNGフォーマットの補助チャンク pHYs (物理的なピクセル寸法)に書き込まれ,サイズ(W×H)が設定
されるものと推測されます.
解像度はペイント(mspaint.exe)で表示し,プロパティを調べると Windows標準の 96dpi です.
(72dpi を標準とするものも存在します)深く考えなくてもよさそうです.

※ latex2png は次に述べる dvipng のオプション -D resolution だけを有効にした,特化された
  コマンドと考えられます.

§3.dvipng.exe の簡単な例題

前述の sample.tex を例にとり,説明します.
このコマンドは latex で一旦,sample.dvi ファイルを生成する必要があります.

(1)コンパイル:
   C:\> latex sample.tex (sample.dviが生成される)
   C:\> dvipng sample.dvi
      各自確認して頂ければわかりますが,余白ができてしまいます.この余白を取り除く
      には "-T tight" オプションを付加します.
   C:\> dvipng -T tight sample.dvi
      さらには,前景色(-fg オプション),背景色(-bg オプション)などを付加することができます.

(2)余白なし,前景色を赤色とした場合は次のようになります.
   C:\> dvipng -T tight -fg "rgb 1.0 0.0 0.0" sample.dvi

(注)Windowsのコンソール(cmd.exe)を利用される場合は "...." (ダブルコーティション)としてください.

dp.png


※ オプションが多数ありますので各自ご確認して頂ければ幸いです.

■ 和文クラスを利用する場合は次のサイトを参考にしてください.

[電脳世界の奥底にて] http://zrbabbler.sp.land.to/pxtosb.html

■ dvipng と同様な使い方をする dvigif.exe も使ってみてはどうでしょう.

スポンサーサイト
  1. 2013/09/13(金) 14:36:44|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0
<<画像コマンドの使い方 | ホーム | 統計解析ツール「R」事始め>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/39-1ba7b818
この記事にトラックバックする(FC2ブログユーザー)