数式を含んだホームページは作るのがとてもめんどくさいです.数式をHTMLで表現するのが大変なので,今までMS-Wordで数式を書いてそれコピーし,画像処理ソフトでGIFにして張り付ける,という作業はなかなか大変です.なにかいい方法はないもんかと探し,たどり着いたのがLaTeXとLaTeX2HTMLです. LaTeX2HTMLはLaTeXで書いた文書を,数式や脚注なども含め,自動的にHTMLに変換してくれるツールです.数式はPING形式に変換してくれます.TeXのきれいな数式を手軽にHTMLで扱うことができるので重宝しています.
TeX環境はだいたいLinuxをインストールした時点で整っていますが, LaTeX2HTMLは入っていないと思うので別途インストールする必要があります.
Vine Linuxではrpmが用意されているので手軽にインストールできます.
# apt-get install latex2html
これでOKです.
rpmなどがない場合は,ソースに日本語パッチを当ててインストールします.基本的に about LaTeX2HTML (Japanese) で紹介されている通りにすればいいでしょう.パッチもここから入手できます.以下は僕が実際にやったことです.
インストールに必要なのはlatex2html-2002-2-1.tar.gzとl2h-2002-2+jp1.6.patch.gzの二つです.上記サイトからリンクをたどって入手し,これらを一時的に/home/ksp/tmpに保存しました.以下,保存場所は適当に読み変えてください.
パッチの展開
$ gzip -d /home/ksp/tmp/l2h-2002-2+jp1.6.patch.gz
ソースファイルを置く場所へ移動
$ su # cd /usr/local/src
ソースの展開
# tar xvzf /home/ksp/tmp/latex2html-2002-2-1.tar.gz
展開しておいたパッチをコピー
# cp /home/ksp/tmp/l2h-2002-2+jp1.6.patch .
ソースファイルが展開されたディレクトリへ移動
# cd latex2html-2002-2-1
パッチを当てる
# patch -p1 < ../l2h-2002-2+jp1.6.patch
コンパイル
# ./configure # make
インストール
# make install
これでOKです.ただし LaTeX2HTML に必要なソフト(GhostScript等)はインストール済とします.
当然ですが,LaTeX2HTMLを使用するにはHTMLに変換したいTeX文書を書いておきます. 実行方法
foo.texという名前のTeXファイルがをHTMLに変換するにはつぎのようにタイプします.
$ platex foo.tex $ latex2html foo
とします.実行すると tex ファイルと同じ名前のディレクトリが作られ,その中にいくつかのhtmlファイルと数式の画像ファイルがつくられます.
数式は透過のPING画像に変換されます.たとえば,TeXで
\begin{equation} \frac{d^2\phi(x)}{dx^2} = \frac{2m}{\hbar^2} \bigl\{ \frac{1}{2}m\omega^2 x^2 - E \bigr\} \phi(x) \end{equation}
と書いた数式は,LaTeX2HTMLによってつぎの画像で出力されます.
上の画像ではアンチエイリアス(中間色を使って画像を滑らかに見せる技術)がかかっていて文字が読みやすくなっています.アンチエイリアスをかけたくないときは,-no_antialias_text オプションを付けます.
$ latex2html foo -no_antialias_text
この場合の出力は
のようなギザギザが目立つ画像になります.場合によってはこのようなアンチエイリアスがかかっていない画像のほうが使いやすいときもあります.特定の数式のフォントサイズを変えたいときは,TeXソースのなかで
$\mbox{\LARGE 数式}$
などと書きます.
LaTeX2HTMLを使って作ったページは,このサイトの 物理学ハンドブック のような出力になります.ただしこれはスタイルシートなどを少し変更しています.
Vine Plusのrpmからインストールした場合には/usr/lib/latex2htmlに,上記の方法でソースからインストールした場合には /usr/local/lib/latex2htmlに各種設定ファイルがあります.
そのなかに dot.latex2html-init というファイルがあります.これをユーザのホームディレクトリに .latex2html-init という名前でコピーします.
$ cp /usr/lib/latex2html/dot.latex2html-init ~/.latex2html-init
または
$ cp /usr/local/lib/latex2html/dot.latex2html-init ~/.latex2html-init
するとlatex2htmlを実行した場合にこの設定ファイルにしたがって実行されます.各種オプションをあらかじめ記入しておくことで自分なりのカスタマイズができます.僕の設定ですが,つぎのようなものを書き加えています(# からはじまる行はコメント行です).
# -- math $FONT_SIZE = "11pt"; #$FONT_SIZE = "12pt"; $MATH_SCALE_FACTOR = 1.6; #$MATH_SCALE_FACTOR = 2.1; $DISP_SCALE_FACTOR = 1; $ANTI_ALIAS_TEXT = 1; $EXTRA_IMAGE_SCALE = 1.0; # -- figure $FIGURE_SCALE_FACTOR = 1.6; $EXTRA_SCAL_FACTOR = 1.0; $ANTI_ALIAS = 0; $INTERLACE = 0; $WHITE_BACKGROUND = 1; $TRANSPARENT_FIGURES = 1; # -- color $BODYTEXT = "bgcolor=\"#ffffdd\""; $LATEX_COLOR = "\\pagecolor[rgb]{1,1,0.8}"; $COLOR_HTML = 1; $RGBCOLORFILE = '/usr/local/share/lib/latex2html/styles/rgb.txt'; # -- html $charset = "iso-2022-jp"; #$HTML_VERSION = "3.2"; #$HTML_VERSION = "3.2,math"; $HTML_VERSION = "4.0"; $LOCAL_ICONS = 1; $MAX_SPLIT_DEPTH = 5; $MAX_LINK_DEPTH = 1; $DESTDIR = 'html'; $SHOW_SECTION_NUMBERS = 1; $address_data[0] = "SAKIMA Kimihisa"; $ADDRESS = "$address_data[0] / $address_data[1]"; # -- navigation $INDEX_IN_NAVIGATION = 1; $NEXT_PAGE_IN_NAVIGATION = 1; $CONTENTS_IN_NAVIGATION = 1; $PREVIOUS_PAGE_IN_NAVIGATION = 1; $INDEX_IN_NAVIGATION = 1; $NO_NAVIGATION = 0; $BOTTOM_NAVIGATION=1; $EXTERNAL_UP_LINK = "http://www12.plala.or.jp/ksp/"; $EXTERNAL_UP_TITLE = "物理のかぎしっぽ";
苦労したのは $LATEX_COLOR の部分(この設定を見つけるのに苦労したんです)で,これがないときは数式のアンチエイリアスがイマイチでたまに透明化に失敗して数式画像の背景画灰色になっていました.デフォルトでは背景色が灰色だからです.
それを防ぐために pagecolor[rgb]{1,1,0.8} で16進数表記の“#ffffcc”相当の色を背景色として設定しています("#ffffcc" はこのサイトの背景色).これで透明化に失敗しても灰色の背景になることはなくなりました.背景色に合わせたアンチエイリアスをしてくれるので,画像もよりきれいになりました. 参考外部リンク