Yamamoto's Laboratory
練習
dvisvgm

LaTeXdvisvgmdvi を svg に変換

dvisvgm を使うと LaTeX の出力ファイル dvi を svg に変換することができます.LaTeX の出力を WEB サイトに貼り付けるとき,重宝します.ここでは,その使い方を説明します.

目次


はじめに

svg フォーマットは,web サイトでの図の公開に適しています.ベクターグラフィックなので,図がぎざぎざになったり,ぼけたりしません.拡大して,細部をみることができます.今時のブラウザは svg をサポートしています.そのため,svg を積極的に使わない理由はありません.LaTeX で作成した美しい数式混じりの文章にはもってこいです.以前のように,PNG フォーマットに変換し,公開する必要はなくなりました.

LaTeXで作成した dvi ファイルは,dvisvgm で svg ファイルに変換することができます.eps も変換可能です.使い方の簡単な説明が,TeX Wiki dvisvgmにあります.英文ですが,dvisvgmに詳しい説明があります.

ただし,日本語が含まれれる dvi ファイルは文字化けします.いろいろとトライしましたが,私は修正できませんでした.一度 pdf に変換してから svg にすると良いでしょう.具体的な方法は,「WEB 用の数式(SVG)」を見てください.

インストール(Ubuntu)

ここでは,二通りの方法 (バイナリーパッケージとソースファイルをコンパイル) のインストール方法を示します.最新バージョンが使える後者でのインストールを勧めます. ここでは,それぞれの方法について説明します.

apt-get を使う方法

最新バージョンではありませんが,バイナリパッケージも用意されています.apt-get でインストール可能です.手順は,dvisvgm の Downloads のページに書かれています.私は Ubuntu を使っているので,以下の二つのコマンドをつかいました.

$ sudo  add-apt-repository  ppa:martin-gieseking/ppa
$ sudo apt-get  update  &&  sudo apt-get  install  dvisvgm

あるいは,以下のコマンドでもインストールできるようです.

$ sudo apt-get  install  texlive-extra-utils

最新は version 1.9 ですが,いずれの方法でも,インストールされるのは dvisvgm 1.0.11 です(2015/2/3).

ソースファイルからインストール

ソースファイルをダウンロードし,コンパイル/インストールすれば,最新バージョンを使うことができます.インストール方法は,ダウンロードしたファイルの「README」に書かれています.私はそれに従い,以下のようにしました.

  1. dvisvgm のインストールに必要なライブラリーをインストールします.
    $ sudo  apt-get  install  libkpathsea-dev
    $ sudo  apt-get  install  libpotrace-dev
    
    「./configure」でエラーが出たら,必要なライブラリーをインストールします.エラーメッセージを見れば必要なライブラリーは分かります.
  2. dvisvgmDownloads のページに行き,「dvisvgm 1.9 source code archive」のボタンを押します.すると,「dvisvgm-1.9.tar.gz」がダウンロードされます.
  3. ダウンロードしたファイルを解凍します.
    $ tar  zxvf  dvisvgm-1.9.tar.gz
    すると,ディレクトリー「dvisvgm-1.9」が作成され,そこには,マニュアルやインストールに必要がファイルがあります.
  4. 解凍されたディレクトリーに移動します.
    $ cd  dvisvgm-1.9
  5. 以下のコマンドで,インストールを作業を行います.
    $ ./configure
    $ make
    $ sudo make  install

使い方

コマンド構文

LaTeX の dvi ファイルを svg ファイルに変換するコマンドの構文は,次の通りです.

dvisvgmオプションdviファイル

EPS を svg に変換する場合は,次のようにします.

dvisvgm -E オプションepsファイル

使い方の例

dvi ファイル(hoge.dvi)を svg ファイル(hoge.svg)に変換するコマンドは以下の通りです.

$ dvisvgm hoge.dvi

もし,変換結果がおかしい場合には,オプション「--no-fonts」を推奨します.

オプション

コマンド「dvisvgm」のオプションは,「dvisvgm -h」で調べることができます.それによると,オプションは,(1)入力オプション,(2)出力オプション,(3)SVG変換オプション,(4)処理オプション,(5)メッセージオプションにカテゴリー分けできます,ここでは,バージョン 1.9 のオプションについて説明します.

入力オプション

入力オプション (Input Options)は,入力ファイルに関するオプションです.ページの選択や

dvisvgm の入力のオプション.括弧[]内の値はデフォルト値.
オプション 動作
-p --page=ranges 変換するページの選択 [1] (詳細説明).
-m --fontmap=filenames フォントマップファイルの読み込み(詳細説明).
-E --eps EPS ファイルを SVG に変換します (詳細説明).

出力オプション

出力オプション (Output Options)

dvisvgm の出力のオプション.括弧[]内の値はデフォルト値.
オプション 動作
-b --bbox=size バウンディングボックス(境界の箱)の設定 [min] (詳細説明).
-j --clipjoin クリッピングパスの交点を計算する
--grad-overlap create operlapping color gradient segments
--grad-segments=number number of color gradient segments per row [20]
--grad-simplify=delta reduce level of detail for small segments [0.05]
-L --linkmark=style select how to mark hyperlinked areas [box]
-o --output=pattern set name pattern of output files
-d --precision=number set number of decimal points (0-6) [0]
-R --relative create relative path commands
-s --stdout write SVG output to stdout
-n --no-fonts[=variant] draw glyphs by using path elements [0]
--no-merge don't merge adjacent text elements
--no-styles don't use styles to reference fonts
-z --zip[=level] create compressed .svgz file [9]

SVG変換オプション

SVG変換オプション (SVG Transformations)

dvisvgm のSVG 変換オプション.括弧[]内の値はデフォルト値.
オプション 動作
-r --rotate=angle ページが時計方向に回転します.
-c --scale=sx[,sy] ページが縦/横方向に拡大/縮小します.
-t --translate=tx[,ty] ページが縦/横移動します.
-T --transform=commands transform page content
-Z --zoom=factor ページが拡大/縮小します[1.0].

処理オプション

処理オプション (Processing Options)

dvisvgm の処理変換オプション.括弧[]内の値はデフォルト値.
オプション 動作
-C --cache[=dir] set/print path of cache directory
-e --exact compute exact glyph boxes
--keep keep temporary files
--libgs=filename set name of Ghostscript shared library
-M --mag=factor magnification of Metafont output [4]
--no-mktexmf don't try to create missing fonts
-S --no-specials[=prefixes] don't process [selected] specials
-a --trace-all[=retrace] trace all glyphs of bitmap fonts [no]

メッセージオプション

メッセージオプション (Message Options)

dvisvgm のメッセージオプション.括弧[]内の値はデフォルト値.
オプション 動作
--color colorize messages
-h --help[=mode] print this summary of options and exit [0]
-l --list-specials print supported special sets and exit
-P --progress[=delay] enable progess indicator [0.5]
-v --verbosity=level set verbosity level (0-7) [7]
-V --version[=extended] print version and exit [no]

help だと分かり難いので,以下詳細を示します.

オプション 動作
-b, --bbox=size svg の図の bounding box (図枠)を設定します.

注意

  • dvisvgm で変換された svg がおかしなことがあります.私の場合は,変な漢字に変換されました.その場合は,オプション「--no-fonts」を使うと正しく変換されます.

ページ作成情報

参考資料

  1. dvisvgmManual Pageは,大変参考になります.ただし,英語です.
  2. 奥村先生のTeX Wikiのdvisvgmを参考にしました.

更新履歴

2013年07月07日 ページの新規作成
2015年01月31日 注意を追加


no counter