dvisvgm は DVI/XDV/EPS ファイルを SVG ファイルに変換するソフトウェアです.
に対応しており,日本語を使用することができます.
dvisvgm で問題が発生する場合は PDF ファイルで出力して MuPDF の mutool を使用する方法があります.
TeX Live 2014 (dvisvgm 1.6) 以降は (e-)upTeX で作成された DVI ファイルと XeTeX で作成された XDV ファイルに対応しているので日本語が使用できます. 以下にソース例を示します.
\ifdefined\kanjiskip \documentclass[uplatex]{jsarticle} \else \ifdefined\pdfoutput \documentclass[latex]{bxjsarticle} \usepackage[whole]{bxcjkjatype} \else \documentclass[xelatex]{bxjsarticle} \usepackage{zxjatype} \setjamainfont{ipam.ttf} \fi \fi \usepackage[active,tightpage]{preview} \begin{document} \begin{preview} 吾輩は猫である。名前はまだ無い。 どこで生れたかとんと見当がつかぬ。 何でも薄暗いじめじめした所で ニャーニャー泣いていた事だけは記憶している。 吾輩はここで始めて人間というものを見た。 \end{preview} \end{document}
upLaTeX で出力された DVI ファイルを SVG ファイルに変換する場合は
$ uplatex hoge.tex $ dvisvgm hoge.dvi
XeLaTeX で出力された XDV ファイルを SVG ファイルに変換する場合は
$ xelatex -no-pdf hoge.tex $ dvisvgm hoge.xdv
LaTeX で出力された DVI ファイルを EPS ファイルに変換して EPS ファイルを SVG ファイルに変換する場合は
$ latex hoge.tex $ dvips -E -o hoge.eps hoge.dvi $ dvisvgm -E hoge.eps
dvisvgm を使用して DVI ファイル,XDV ファイルを SVG ファイルに変換した場合はテキストデータも保持されます. dvisvgm を使用して EPS ファイルを SVG ファイルに変換した場合はテキストデータが失われて文字列のコピーができなくなります.
DVI ファイルを PDF ファイルに変換して Inkscape を使用して PDF ファイルをインポートして SVG ファイルに出力する方法もあります. Inkscape を使用する場合もテキストデータが保持されます.
DVI ファイルを PDF ファイルに変換して MuPDF の mutool を使えば PDF ファイルを SVG ファイルに変換できます. MuPDF の mutool を使用する場合もテキストデータが保持されます. PDF ファイルの余白を削除する場合は pdfcrop を使用してください.
$ mutool draw -o hoge.svg hoge.pdf
DVI ファイルを PDF ファイルに変換して Poppler の pdftocairo を使えば PDF ファイルを SVG ファイルに変換できます. ただし pdftocairo を使用して SVG ファイルに変換した場合はテキストデータが失われて文字列のコピーができなくなります. PDF ファイルの余白を削除する場合は pdfcrop を使用してください.
$ pdftocairo -svg hoge.pdf