竹の 11/05 2004
---------------
latex2html-99.1 用の日本語化パッチ (武藤@Debian プロジェクト さ
ん作) を、latex2html-2002-2-1 に当たるようにしたもの (日本語化パ
ッチ jp1.9) を公開します。
1. introduction
---------------
latex2html の日本語化は 98.1, 99.1 用には武藤@Debian プロジェク
ト さんの作られた日本語化パッチがありますが、その後の版用のものは
ないようでしたので、その日本語化パッチを、現在の latex2html の最
新版である latex2html-2002-2-1 に当たるようにしました。
あまり新たな機能は付け加えてはおらず、単にパッチが当たるようにし
ただけです。よって、バージョン間の違いによる若干の不具合がある可
能性があります。
なお、latex2html-2002, 2002-1, 2002-2 などの版は、99.1 以来の正式
リリース版で、99.2, 2K.1 版というのがありますが、これらはいずれも
alpha, beta リリースのみです。99.1 の頃よりインストールはかなり整
備され (configure base になった)、また、99.1 ではそのまま通らず、
latex2html 用に修正が必要だった LaTeX のファイルがすんなり通るよ
うになっていたり、いくつかのパッケージが新たにサポートされたり、
と間違いなく機能は上がっています。よって、このような暫定的なパッ
チでも意義はあると考え、公開することとしました。
パッチの置き場所、または latex2html に関する情報は以下をご覧くだ
さい。
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
なお、現在日本語化パッチは 2 種類あり、
・jp1.X: nkf で漢字コードの変換を行う従来のパッチ
・jp2.X: nkf での漢字コードの変換をやめた新たなパッチ
のようになっています。従来通り ISO-2022-JP の HTML ファイルを生成
したい場合は jp1.X の方をお使い下さい。jp2.X の方は、EUC-JP (また
は Shift_JIS) の HTML を生成します (jp1.8 からはこちらでも EUC-JP
や Shift_JIS 等の HTML が生成できます)。詳しくは、jp2.X のパッチ
付属のドキュメント、または上記 WWW ページをご覧下さい。
2. インストール
---------------
2.1. 動作環境
-------------
基本的に 99.1 と同等の環境で動作します。本パッチを当てた後に作ら
れる、99.1 の日本語化パッチ用の武藤@Debian プロジェクト さんのド
キュメント README.patch-99.1jp をご覧ください。ただし、少し注意が
必要です。
・netpbm のバージョン
latex2html が使用する netpbm というソフトには、古いもの
(netpbm-1-Mar-1994) と新しめのもの (netpbm-9.X,10.X) があります。
新しめの netpbm を使う場合、以下に注意してください。
1) pnmtopng はその中に含まれているので、別にインストールする必要
はない
2) 新しめの netpbm は 9.12 以降のものを使わないと数式の画像が変に
なる
例えば FreeBSD の ports/package install では、FreeBSD のバージョ
ンによっては丁度 latex2html には都合の悪いバージョンの netpbm が
インストールされる場合もありますので注意してください。netpbm のバ
ージョンは例えば
% pnmcrop -version
とすれば確認できます。古いものは
pnmcrop: Version: Netpbm 1 March 1994
...
新しいものは
pnmcrop: Using libpbm from Netpbm Version: Netpbm 9.20
...
のように表示されます。なるべく新しいもの、例えば netpbm-9.20 以降
のものなどを使うことをお勧めします (cf.「3. 注意 [1]」) が、古い
netpbm (netpbm-1-Mar-1994) でも正常に動作します。
なお、都合の悪い版の netpbm を使おうとすると configure の時に警告
が出ると思います。
・Perl
Perl は 5.00305 以上が必要ですが、jperl である必要はありません。
・nkf
jp1.9 からは、UTF-8 の出力もできるようになりましたが、そのために
は UTF-8 が出力できるフィルタが必要です。デフォルトでは UTF-8 を
出力できる nkf (2.X) を使用しますが、他のプログラム (tcs, iconv
等) でも UTF-8 化は可能です。詳しくは「3. 注意 [35]」をごらん下さ
い。
2.2. 配付ファイルの入手
-----------------------
latex2html-2002-2-1.tar.gz : latex2html-2002-2-1 本体
l2h-2002-2-1+jp1.9.patch.gz: 本パッチファイル
を入手します。latex2html-2002-2-1.tar.gz は、各地の CTAN サイトや
FreeBSD や NetBSD などのミラーサイトなどにあるようです。例えば国
内では現在 (03/23 2003) 以下のサイトなどにあります。
ftp.ics.es.osaka-u.ac.jp/mirrors/FreeBSD/ports/distfiles/
ftp.riken.go.jp/pub/NetBSD/packages/distfiles/
ftp.riken.go.jp/pub/tex-archive/support/latex2html/
また、1. で紹介した WWW ページに置いてありますし、またはその WWW
ページでも紹介している最新版の置いてあるオリジナルサイト
http://saftsack.fs.uni-bayreuth.de/~latex2ht/
などを参照してください。
2.3. 展開とパッチ当て
---------------------
% gunzip -c latex2html-2002-2-1.tar.gz | tar xf -
% gunzip l2h-2002-2-1+jp1.9.patch.gz
% cd latex2html-2002-2-1
% patch -p1 < ../l2h-2002-2-1+jp1.9.patch
後は latex2html-2002-2-1 付属のインストールドキュメント INSTALL
にしたがってインストールすればいいのですが、一応インストール例を
以下に続けて書きます。
2.4. make
---------
利用している LaTeX (pLaTeX) が EUC-JP 環境ではなく Shift_JIS 環境
(デフォルトで Shift_JIS を受け付ける) である場合は、
config/config.pl
に書かれている
$newcfg{'TONATIVE'} = "|$nkf -e";
$newcfg{'TOHTML'} = "|$nkf -j";
$newcfg{'FROMNATIVE'} = "$nkf -e";
を
$newcfg{'TONATIVE'} = "|$nkf -s";
$newcfg{'TOHTML'} = "|$nkf -j";
$newcfg{'FROMNATIVE'} = "$nkf -s";
に直して下さい。styles/japanese.perl の漢字コードは特に変換しなく
てもいいはずですが、何でしたらそれも Shift_JIS に変換しておいて下
さい。
必要な外部ソフトにパスが通っていれば
% ./configure --prefix=/usr/local
% make
で OK です。prefix= の後ろはインストール先です。上のようにやると
/usr/local/bin, /usr/local/lib/latex2html にインストールされます
が、これらは変更できます。これらの詳しいこと、および configure の
他のオプションについては ./configure --help を見てください。
なお、通常は --prefix=[prefix] とすると
[prefix]/bin : 実行バイナリ
[prefix]/lib/latex2html : latex2html が必要とするファイル群
のようにインストールされるのですが、[prefix] のパスに 'l2h' や
'latex2html' という文字列が含まれていると (大文字でも)
[prefix]/bin : 実行バイナリ
[prefix]/ : latex2html が必要とするファイル群
のようになるので注意が必要です。
2.5. install
------------
root になって
# make install
で OK です。
2.6. wrapper script
-------------------
latex2html は、日本語環境と英語の環境が切替えられるのですが、残念
ながらあまり簡単には (綺麗には) 切替えられません。詳しい話は
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
注意、その他 (07/17 2001)
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
注意、その他 (04/30 2002)
の辺りをご覧ください。そして、そこに書いてありますが、私のところ
ではその切替えを、wrapper script (csh のスクリプト) でごまかして
います。あまり綺麗な方法ではありませんが、その方法をここで紹介し
ます。
注: 以前のパッチ l2h-2002+jp1.5.patch では、この wrapper script
は GIF/PNG の切り替えもやっていましたが、現在の latex2html では
それがちゃんとできますので、その機能は外しました。GIF/PNG の切
り替えは、標準オプションの -image_type (gif/png) を使用してくだ
さい。
インストールは
# ./mkwrapper [prefix]
だけで OK です。wrapper script である [prefix]/bin/l2h と、4 種類
の l2hconf.pm がインストールされます。[prefix] は configure の時
に指定した物と同じ [prefix] を指定して下さい (必ず絶対パスで)。こ
の l2h を latex2html の代わりに使います。
l2h は、通常の latex2html のオプション以外に
-en : 英語の HTML を作る
-english : -en と同じ
-ja : 日本語の HTML を作る (iso-2022-jp 版: default)
-japanese: -ja と同じ
-jis : -ja と同じ (ほぼ)
-euc : EUC-JP の日本語の HTML を作る
-sjis : Shift_JIS の日本語の HTML を作る
-utf8 : UTF-8 の日本語の HTML を作る
の、実質 5 種類のオプションを受け付けます。例えば
% l2h -en hoge.tex
で、英語 の HTML ができることになります。ただし、UTF-8 の日本語の
HTML を作るには、UTF-8 の出力のできる漢字フィルタ (例えば nkf (2.
X) や tcs, iconv 等) が必要です。また、この -utf8 のオプションと
latex2html が元々持っている -html_version で与える unicode や
utf8 オプションとの関係にはまだ不十分です。詳しくは「3. 注意」の
[35] をごらん下さい。
なお、mkwrapper の中では、
[a] 日本語 (JIS/EUC/SJIS/UTF8)/英語用の l2hconf.pm (5 つ) を作る
[b] wrapper script にパスを埋め込む
[c] wrapper script をインストール
[d] 作成したファイルの削除
をやっています。
HTML 出力の漢字コードは、jp1.8 からは ~/.latex2html-init 内でも指
定することができます。詳しくは「3. 注意」の [35] をごらん下さい。
3. 注意
-------
いくつか注意を述べます。
[1] GIF を使う場合、netpbm の GIF への変換プログラムは例の Unisys
のライセンスへの抵触の問題があります。それに触れずに GIF を使いた
い場合は netpbm の 9.20 以降のものを入れて、pstoimg の
my $PPMTOGIF = '/usr/local/bin/netpbm/ppmtogif';
を
my $PPMTOGIF = '/usr/local/bin/netpbm/ppmtogif -nolzw';
とする (-nolzw は netpbm 9.20 以降のみ使用可) といいでしょう。た
だし、画像ファイルのサイズが多少大きくなります。また、もしかする
と GIF のナビゲーションアイコンを LZW を利用しないものに変換する
必要もあるのかもしれません (良くは知りません)。
% mkdir icons.gif
% mv icons/*.gif icons.gif
% foreach i ( icons.gif/*.gif )
% giftopnm $i | ppmtogif -nolzw > icons/`basename $i`
% end
もちろん PNG を使う方が無難だと思います。
[2] パッチを当てた後に出来る styles/japanese.perl に、日本語用の
設定が行われています。この中の sub japanese_titles には、例えば
styles/american.perl を見れば分かりますがまだ日本語用にはカスタマ
イズされていない項目がたくさんあります。この辺も好みによって書き
換えて見るといいでしょう。例えば
$next_name = "次へ";
$up_name = "上へ";
$prev_name = "前へ";
てな具合です。
[3] root になれない場合は、個人のホームディレクトリにインストール
して使いたい、ということもあるでしょうが、その場合は configure の
ときに --with-texpath=[path] をつけて、適当なインストール先を指定
するのを忘れないようにしてください。
そうでないと、latex2html 用のスタイルファイルが、システムの TeX
のディレクトリ (/usr/local/share/texmf/tex/latex/html など) にイ
ンストールされてしまいます。
[4] 日本語 pLaTeX ではマクロの名前を日本語 (全角文字) にすること
もできますが、日本語名のマクロは latex2html はうまく処理してくれ
ないようです。半角のアルファベットのマクロ名に変えてください。
[5] 現在の版の latex2html は、LaTeX2.09 も一応は通るように作られ
ていますが、LaTeX2.09 の形式のファイルに対しては色々不具合が起こ
ります。LaTeX2e に移行できるならそうした方がいいでしょう。LaTeX
2.09 の LaTeX ファイルを HTML に変換する場合は、latex2html 97.1
以前のものを使わないといけないかもしれません。
[6] 数式を画像化したファイルを作成するのに /tmp/l2hXXXX (XXXX は
プロセス番号) という作業ディレクトリが作られて、通常は作業終了後
に消されるのですが、-debug オプションをつけて起動した場合にはその
ディレクトリは残ったままになるようです。知らずに何度も -debug オ
プションを実行していると /tmp を 使い尽くしてしまう可能性がありま
すので気をつけてください。(というか私がそうやってしまった (^^;)
[7] psfrag は現在の版ではおおむねうまくいくようです。ただし、端の
方の文字を変換する際は、文字がはみ出て切れてしまうことがあります
ので注意して下さい。
[8] \section, \caption に数式を入れる場合は注意が必要です。
\caption では、\sin などが .aux ファイルで展開されて図番号が正し
く割り当てられないことがあります。その場合 \protect でその展開を
抑制して
\caption{$\protect\sin\theta$ のグラフ}
のようにする必要があります。
\section のタイトルはページ上部のリンク先のタイトルとして使われま
すが、数式部分は抜けてしまいます。よって、
\usepackage{html}
として
\section{\latexhtml{$\sin x$}{sin x} の微分}
のようにするといいでしょう。
[9] LaTeX では、位置を左寄せ、右寄せ、中央寄せにするときは、
flushleft 環境、flushright 環境、center 環境を使うやり方と
\raggedright, \raggedleft, \centering の宣言を使うやり方がありま
すが、 宣言を使う方は LaTeX の出力と LaTeX2HTML の出力で異なる結
果になる場合があるようですので、宣言の方は使わないようにするのが
いいようです。
[10] \includegraphics{} で画像ファイルを回転させるオプション
angle を使うと LaTeX2HTML ではその画像は表示されなくなります
(dvips の問題)。よって、元の画像を回転しておいて angle を使わない
ようにするか、または
\usepackage{html}
として
\begin{figure}[h]
\latexhtml{\includegraphics[angle=270]{hoge.eps}}%
{\htmlimage{flip=r270}\includegraphics{hoge.eps}}
\end{figure}
のようにする必要があります。なお、この \htmlimage{} を使う方法は
figure 環境内でないと効かないようです。
[11] 奥村@松坂大 さんの jsarticle, jsbook スタイルにも対応しまし
た (by 高久さん)。
[12] jbook, j-book スタイルにも対応しました (by 児玉さん)。
[13] ブラウザによっては日本語と欧文アクセントを使った HTML 特殊文
字 (ö など) は同居できず表示されない (または文字化けする) 場
合があります。そのため、日本語化パッチ version 1.4 からは欧文アク
セントはすべて画像化できるようにしました。ただし、最近のブラウザ
はちゃんと同居することが出来るものもあるようですので、この機能は
l2hconf.pm 内の変数で切り替えられます (version 1.6 より)。
元々の latex2html は
・欧文アクセントに対応した HTML 特殊文字があれば [num]; に変換
する (charset に依存)
・無い場合は $ACCENT_IMAGES (起動時オプション -accent_images) が
設定してあれば画像に変換し、設定してなければアクセントを外す
(例えば \"{o} -> o という風に)
という形になっていますが、charset が iso-2022-jp (日本語化パッチ
を当てた場合の default) の場合、
・$ACCENT_IMAGES (起動時オプション -accent_images) が設定してあれ
ば常に画像に変換し、設定してなければ常にアクセントを外す
ということもできるようにしました。この機能を利用する場合は、
l2hconf.pm (または .latex2html-init ファイル) で $UNUSEACCENT=1
を定義してください。現在 (jp1.8) のデフォルトは $UNUSEACCENT=0、
つまり元の latex2html の仕様に合わせてあります (なお jp1.6 では
$UNUSEACCENT=1 がデフォルトでした)。
アクセントを全て画像化する場合は、$UNUSEACCENT=1 として、
% latex2html -accent_images textrm hoge.tex
のように実行して下さい (通常 textrm と指定するようです)。
欧文のみからなる文書を、アクセントが HTML 特殊文字になるように
latex2html で変換したい場合 (つまり latex2html の元の挙動にしたい
場合)、「2.6. wrapper script」で説明した wrapper script を使うの
が便利で、コマンドラインオプション -en でできます。
なお、'i' または 'j' にアクセントを付ける場合、LaTeX では上の点を
取ってからアクセントをつけることがありますが、その場合 LaTeX では
例えば "\'\i" と書いても "\'{\i}" と書いても同じ物と解釈されます
が、残念ながら latex2html ではこれを別なものと解釈し、後者は
"\'i" とみなしてしまいます。よってその場合は前者を使用するように
して下さい。
また、latex2html では、LaTeX ではサポートされていない、丸が上に付
くアクセント (Ex. オングストローム記号) もサポートされています。
LaTeX で使う場合は、例えば u の上に丸を付ける場合は \accent23u の
のように書きます。しかし、これを \accent23{u} と書くと LaTeX では
アクセントにならず丸と u が左右に分かれます (latex2html ではどち
らも OK です)。
[14] 例えば
\newcommand{\mymacro}[1]{\mbox{\rm #1}}
のようなマクロは latex2html ではうまく展開されないようです。場合
によって
\newcommand{\mymacro}[1]{{\rm #1}}
のようにするといいかもしれません。また、'\@' で始まる名前のマクロ
や、\gdef などもうまく展開されない可能性があるようです。
[15] tabbing 環境の変換は苦手のようで、tabular 環境に変えてくれ、
というメッセージが出ます。実際に tabbing 環境を変換したものは、ず
れた形で表示されるようですので、tabular 環境で書き直した方が良い
ようです。
[16] 2 重引用府 '"' を LaTeX で使う場合、「"a", ``a''」のような書
き方がありますが (もちろん LaTeX での表示は異なりますが)、
latex2html は、通常これらを 「"a", ``a''」のままにしか変換せず、
例えば 「"a", "a"」のようにはして。くれません
(日本語化パッチの問題ではなく、オリジナルの latex2html の仕様のよ
うです)。
[17] LaTeX の書き方、のような文書を LaTeX で作る場合、「\begin」
のような文字を出力するマクロを例えばむりやり
\newcommand{\macroA}{\texttt{\symbol{"5C}begin}}
のように書いてしまうとこれは latex2html では通りません。この場合
やや裏技的ですが、例えば
\newcommand{\macroA}{\latexhtml{\texttt{\symbol{"5C}begin}}%
{\verb+\begin+}}
のようにするとうまくいくようです。通常 \verb はマクロ内ではうまく
機能しませんが、この場合は LaTeX では \texttt{} の方 (\latexhtml
の第 1 引数の方) が展開されるので関係なく、また、latex2html では
第 2 引数の方が解釈され、それが \verb 内なので \begin 自身が特殊
な意味を持つ物と解釈されることもなくうまくいくようです。
[18] latex2html が生成する各ページ上部のリンク先の文字列には
section 名が用いられますが、この名前の文字数は l2hconf.pm や
~/.latex2html-init で定義されている
$WORDS_IN_NAVIGATION_PANEL_TITLES (デフォルトでは 4)
で決まりますが、これは単語数を数えているので 日本語のセクション名
に対してはあまり意味がありません。しかし、この値はデフォルトでは
4 と定義されていますが、セクション番号もそれにカウントされるので
実際には単語数は 3 で切られてしまいます。例えば、数字と日本語の間
などに半角の空白をはさんで
\section{0 の 0 乗ってなあに}
のようにしている場合は、見出し文字列が
1 0 の 0
とされてしまいます (1 はセクション番号)。これを避けるには、上記の
変数の値を負の値にする (1000 と指定したことと同じことになる) か、
あるいは LaTeX のファイルで空白の代わりに '~' を使って
\section{0~の~0~乗ってなあに}
とする、という手があります。これなら単語数は 1 と数えられますし、
'~' はちゃんと空白に変換されます。
[19] 画像ファイルに下線が残る、というのは latex2html と netpbm の
バージョンがうまく対応していない場合の典型的な症状なのですが、そ
れ以外にも起こる場合があるようです。その場合、l2hconf.pm の (また
は configure する前に prefs.pm の 220 行付近) DVIPSOPT の -Ppdf
を取り除いて -E だけにしてみてください。
[20] LaTeX の文書で URL を書く場合、latex2html に用意されている
html.sty を利用して、そこに用意されている \htmladdtonormallink 等
のマクロを利用すると便利です。その場合、'~' という記号は '\~{}'
などではなく、\textasciitilde を使います。
また、長い URL を書く場合は url.sty に用意されている \url を使う
と便利なようです。この中では '~' はそのまま書きます。ただしこの場
合は、latex2html で変換した HTML ファイルでは '~' は空白になって
しまいます。
[21] 画像ファイル等を includegraphics を使って読み込んでいる場合
\includegraphics{./file.eps}
\includegraphics{./subdir/file.eps}
のようにカレントディレクトリからの相対パスを "./" を入れて指定す
ると、latex2html が内部で呼び出す dvips によって 画像を生成すると
ころで失敗しますので、この場合は './' を取って
\includegraphics{file.eps}
\includegraphics{subdir/file.eps}
のようにするといいようです。
[22] オリジナルの latex2html は CJK パッケージ (英語版の LaTeX2e
で中日韓の文書を書くためのパッケージ) に対応していましたが、日本
語化パッチ jp1.X は、CJK パッケージを用いた日本語文書には対応して
いません。CJK パッケージと併用する場合は、日本語化パッチ jp2.X を
使って下さい。こちらは nkf を使用しておらず、CJK パッケージの日本
語文書にも対応しています。
[23] latex2html は数式等を画像化した部分の ALT 属性として、元の
LaTeX の数式表記を利用していますが、長い数式では
ALT = "数式の頭の部分 ... 数式の最後の部分"
のようにその一部を切り出して使用しており、その数式に日本語が含ま
れている場合、2 バイト文字を 1 バイト目と 2 バイト目の切れ目で切
り離してしまって文字化けを起こしてしまうことがあります。
今のところ適当な所にスペースを挟んでみるとか、取ってみるとか、表
現をかえてみる、といった回避策しか残念ながらわかっていません。
[24] equation 環境内の \label コマンドは、その位置によって不具合
が出ることがあります。それは latex2html 内で \label コマンドが削
除された latex ファイルをコンパイルするからで、例えば
\begin{equation}
\label{test1}
\int_0^1\sin x dx
\end{equation}
のように書いた場合、equation 環境内に空行ができることになってしま
います (数式モード中の空行は LaTeX ではエラーです)。よって
\begin{equation}\label{test1}
\int_0^1\sin x dx
\end{equation}
や
\begin{equation}
\int_0^1\sin x dx\label{test1}
\end{equation}
のように書いて、\label のみの行を作らないようにして下さい。または
\label のみの行に先頭に空白を入れずに
\begin{equation}
\label{test1}
\int_0^1\sin x dx
\end{equation}
のようにしてもいいようです。
[25] 画像を GIF/PNG 以外に JPEG にしたい場合は、
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
の「注意、その他 (11/14 2003)」をごらん下さい。
[26] 画像ファイルはデフォルトでは透過画像になるのですが、それがう
まくいかずに灰色背景の画像になってしまう、あるいはブラウザで透過
画像がうまく表示されない、という場合は画像の背景色を指定してみる
といいでしょう。数式等の画像の背景色は、color パッケージを用いて
l2hconf.pm 内で
$LATEX_COLOR = "\\pagecolor[gray]{.7}";
と定義されています。例えば ~/.latex2html-init 等で
$BODYTEXT = "bgcolor=\#e0ffff";
のようにして背景色を定義している場合は、
$LATEX_COLOR = "\\pagecolor[rgb]{0.875,1,1}";
のようにこの背景に合う色を ~/.latex2html-init で定義すると良いで
しょう。0.875 = 224/256 (16 進 e0 = 10 進 224) です。\pagecolor
の設定法については color パッケージに関する説明 (例えば「LaTeX グ
ラフィックスコンパニオン」など) を参照して下さい。
[27] 生成される HTML ファイル名を node[数字].html から変更したい
場合は、
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
の QandA Q.6. をごらん下さい。
[28] 奥村@三重大 さんが作っておられる jsclasses (pLaTeX2e 新ドキ
ュメントクラス) を使っている場合、includegraphics で取り込んだ
EPS 画像が latex2html では切れる場合があります。この問題は
\documentclass[12pt]{jsarticle}
などのように、10pt でないサイズを指定して jsarticle クラスを使用
している場合に起こるようです。これは jsclasses の WWW ページ の
FAQ に書いてある「長さがずれます」 の話が原因のようです。例えば
\includegraphics[width=14cm]{file.eps}
としても、LaTeX の出力は 14cm にはならず、14cm にするには
\includegraphics[width=14truecm]{file.eps}
とせよ、と書かれています。ところが、latex2html 上の問題はこれでは
解決せず、やはり一部切れてしまいます。真っ当な解決策ではないので
すが、これを避けるには、とりあえずは
\includegraphics[width=14truecm,scale=1.1]{file.eps}
のように、1.0 より大きい scale を指定するといいようです (どんな場
合でもこれで大丈夫かどうかはわかりません)。 LaTeX のレベルでも、
scale=1.1 は無視されるようで、 とりあえずはどちらでも大丈夫なよう
です。
ただ、単に
\includegraphics{file.eps}
とした場合もこの問題が引っかかり、奥村さんの WWW ページでは、
LaTeX レベルでは、
\includegraphics[scale=0.83333]{file.eps}
とせよ (12pt の場合) とあるのですが、この場合は latex2html では上
記のような回避策が取れません。とりあえずは、常に width を指定する
以外無いようです。
[29] latex2html の日本語化パッチでは、現在のところ長さの単位の
zw,zh をサポートしていません。次期版で対応する予定です。
[30] \usepackage{graphicx} を使用している場合、latex2html では
*********** WARNINGS ***********
No implementation found for style `graphicx'
のようなものがでますが、これは正常動作ですので問題ありません。実
際には graphixx.perl, graphics-support.perl が読み込まれます。
また、graphics-support.perl では \includegrahics での画像ファイル
は
GIF,JPEG,PNG,TIFF,PICT,PCX,BMP,SGI,XBM,XWD
をサポートしています。GIF/PNG/JPEG 以外はそのまま張り付けるのでは
なくて netpbm を利用して JPEG に変換してから張り付けるようです。
指定の仕方は通常の EPS の場合と同じですが、拡張子で画像形式を判断
しますので、拡張子まで正しく指定して下さい。なお、上記の画像形式
それぞれでサポートされているの拡張子名は以下の通りです。
.gif, .jpg (または .jpeg), .png, .tiff, .pict, .pcx,
.bmp, .sgi, .xbm, .xwd
[31] マニュアル等には書かれている --image-only という機能は、現在
(98.1 以降) は実際には無効化されています。使用したい場合は、
latex2html の 790 行目付近にある
&cleanup(1);
を
&cleanup(0);
に直して、
latex2html -debug file.tex
(必要なら file/images.tex を編集)
latex2html -debug -images_only file.tex
のようにしてください。-debug を使わないと TMP ディレクトリとデー
タベースが残りません。
[32] latex2html は epic,eepic には対応していません。よって、epic,
eepic 等で書いた図を latex2html で使用したい場合は、
1. 図だけを取り込んだ LaTeX ファイルを作りそれを dvips -E にかけ
て EPS ファイルにしてしまう
2. その EPS ファイルを includegraphics で取り込む
とするしかないようです。
[33] latex2html は、地の文の数式 ('$' で囲んだもの) を画像にする
際、地の文と baseline が合うように、下に少し空白を付加した画像を
作りそれを、
を使って張りつけることもあるし、
空白を取って
で張りつけることもあるようです
(align="middle" は画像の中央とテキストの baseline が合うようにな
る)。
ところがその align="middle" は Mozilla (1.5) は bug があってうま
く baseline が合うようには表示されないようです。 Netscape 4.8 で
は正しく表示される、との報告が latex2html-ML にありました。
[34] 数式を \fbox{} で囲んだ場合、latex2html では式番号がそこで変
になります。これは latex2html が \fbox{} 内は触らずにそのまま丸ご
と画像化してしまうためです。例えば
\begin{equation}\label{eq:2}
x^2+y^2=z^2
\end{equation}
\fbox{
\begin{minipage}{0.8\linewidth}
\begin{equation}\label{eq:3}
x^3+y^3=z^3
\end{equation}
\begin{equation}\label{eq:4}
x^4+y^4=z^4
\end{equation}
\end{minipage}
}
\begin{equation}\label{eq:5}
x^5+y^5=z^5
\end{equation}
(\ref{eq:5})(\ref{eq:4})(\ref{eq:3})(\ref{eq:2})
のを latex2html にかけると、その HTML 表示の数式番号は
x^2+y^2=z^2 (1)
x^3+y^3=z^3 (1)
x^4+y^4=z^4 (2)
x^5+y^5=z^5 (2)
のようになり、かつ最後の ref の部分は
(4)(3)(2)(1)
のように表示されてしまいます。
このような場合、\refstepcounter や \addcounter などを使って無理矢
理 equation カウンタを手動で操作する (かつ \fbox{} 内の数式へのリ
ンクは、画像化された \fbox{} 部分の先頭辺りに貼る) という手もあり
ますが、html パッケージの \htmlborder コマンドを使って、\fbox の
代わりに minipage 環境部分に (HTML の table タグの border を利用
して) 外枠を書く、という手があります。
こうすれば \fbox{} 部分がまるごと画像化されることはなくなり、数式
番号やリンクも正常になります。上の例でいえば
\usepackage{html}
を追加して、\fbox{} 部分を以下のように書き直します。
\latexhtml{%
\fbox{
\begin{minipage}{0.8\linewidth}
\begin{equation}\label{eq:3}
x^3+y^3=z^3
\end{equation}
\begin{equation}\label{eq:4}
x^4+y^4=z^4
\end{equation}
\end{minipage}
}
}{%
\begin{minipage}{0.8\linewidth}\htmlborder{}
\begin{equation}\label{eq:3}
x^3+y^3=z^3
\end{equation}
\begin{equation}\label{eq:4}
x^4+y^4=z^4
\end{equation}
\end{minipage}
}
\htmlborder{} は minipage 環境などに table タグの外枠を書くコマン
ドで、デフォルトでは "border=1" という属性を table タグにつけます
が、その線の幅を広くしたい場合は、\htmlborder{3} のようにします。
[35] jp1.8 から、HTML 出力の別の漢字コードへの変換をユーザーレベ
ルで可能にし、また jp1.7 では問題があった JIS の LaTeX ファイルの
処理も行なえるようにしました。「2.6. wrapper script」で紹介したス
クリプトを使うのであれば、それで漢字出力コードを選択することがで
きますし、~/.latex2html-init でもそれを切り替えることができます。
jp1.9 では、さらに UTF-8 も出せるようにしました。ただし、UTF-8 へ
の漢字フィルタ (nkf (2.X), tcs, iconv 等) が必要ですし、後述する
ように不十分な点もあります。
~/.latex2html-init で切り替える場合は、$charset と $TOHTML の 2
つの変数を設定します。JIS にするには
$charset = "iso-2022-jp";
$TOHTML = "| nkf -j";
EUC-JP にするには
$charset = "EUC-JP";
$TOHTML = "| nkf -e";
Shift_JIS にするには
$charset = "Shift_JIS";
$TOHTML = "| nkf -s";
UTF-8 にするには
$charset = "UTF-8";
$TOHTML = "| nkf -w";
としてください。nkf はパスが通ってなければフルパスで指定して下さ
い。なお、$charset の指定は、現在は上記以外のもの (大文字と小文字
が違っても) ではうまく動作しないので間違えないようにして下さい。
UTF-8 出力 (-w) をサポートしていない nkf を使っている場合は、別な
UTF-8 出力のできる漢字フィルタを指定して下さい。例えば tcs なら
$charset = "UTF-8";
$TOHTML = "| tcs -f ujis t utf";
といった具合です。wrapper script でも UTF-8 への変換はデフォルト
では nkf を使用していますので、nkf 以外のものを使う場合はインスト
ール先の l2hconf_utf8.pm の $TOHTML の定義部分を修正して下さい。
~/.latex2html-init による出力コードの設定と wrapper script による
オプション (-jis/-sjis/-euc/-utf8) は、現在のところ (jp1.9) は残
念ながら ~/.latex2html-init の設定の方が優先になってしまいます。
よって出力コードを使い分ける必要がある場合は、~/.latex2html-init
には出力コードを変更する設定は記述せず、wrapper script のオプショ
ンのみを使用する、としてください。
出力コード指定を行なうと HTML ファイルの META タグに charset が書
かれますが、これをつけたくない場合は ~/.latex2html-init に
$charset = "";
と書いてください。
また、JIS 入力ファイルを受け付けるために texexpand で nkf を通し
てファイルを開くようにしたので、8bit の「英語」の LaTeX ファイル
に関しては思わぬ不具合が起こる可能性があります。この場合は「2.6.
wrapper script」の通りに wrapper script をインストールすると、
l2h -en で nkf を使わないようにできます (texexpand-en を使用)。
なお、この UTF-8 化は、元々 latex2html が持っている utf 化オプシ
ョン (versions/unicode.pl, versions/utf8.pl) との関係付けはしてあ
りませんので、まだ不十分です。unicode オプションや utf8 オプショ
ン (-html_version=4.0,unicode, -html_version=4.0,unicode,utf8 な
ど) と同時に使用した場合どのような問題が起こるかについては詳しく
は確認していませんが、少なくとも versions/utf8.perl と同時に使用
した場合は問題が起こり、正しくは変換されません。
[36] amsmath パッケージを取り込んだ場合、equation 環境内に % で始
まるコメントを書くと、画像がうまく変換されない、という問題がある
ようです。jp1.9 ではそのバグは修正してあります。
[37] 現在、Red Hat Linux や Fedora Core Linux で使用する rpm パッ
ケージにはデフォルトで日本語用の TeX 環境も含まれていて、その中に
latex2html も以下のものに含まれています。
・tetex-2.0.2-*.src.rpm (source パッケージ)
・tetex-latex-2.0.2-*.i386.rpm (binary パッケージ)
そして、このパッケージに含まれる latex2html はいずれも日本語化パ
ッチが当たっていますが、デフォルトで日本語化機能が有効になってい
るものがあることがわかりました。
・2.0.2-10 以前 (例えば Red Hat 9 用, Fedora Core 1 用):
jp1.4 のパッチが当たっていて、デフォルトは英語
・2.0.2-11 から 2.0.2-15 (例えば Fedora Core 2 用):
jp2.0 のパッチが当たっていて、デフォルトは日本語
・2.0.2-16 以降:
jp2.0 のパッチが当たっていて、デフォルトは英語
これは、非日本語圏のユーザには多少迷惑で、特に Fedora Core 2 用の
パッケージはデフォルトで日本語化機能も有効になっているので、英語
のページなのに日付が和暦になったり、最後のページが「この文書につ
いて」となったりしてしまいます。日本語化機能が無効になっていても
若干迷惑な部分もありますので、現在日本語化パッチの当たったものは
別名とする、という作業をしてもらっています。
なお、日本語圏のユーザに取っても、実は中途半端な状態で入っている
ようなので、本当に日本語を使えるようにするには色々と設定する必要
があるようです。詳しくはこの日本語化パッチのサポートページの「注
意、その他」の 11/03 2004 の記事をごらん下さい。
その他の細かい情報、最新の情報などに関しては
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
の「注意、その他」をご覧下さい。
4. その他
---------
本パッチは無保証です。しかし色々な不具合は、対応できるものは行う
予定ですので、不具合の報告、意見などは歓迎します。報告等は下記メ
ールアドレスへお願い致します。また、バグリポート等、各種情報は、
順次下記 WWW page に掲載する予定です。
e-mail: shige@iee.niit.ac.jp
WWW page:
http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
配付ライセンスは、武藤@Debian プロジェクト さんによる 99.1 用の
パッチ同様、オリジナルの LaTeX2HTML のライセンスに従うものとした
いと思います。
latex2html 97.1 の頃より、武藤@Debian プロジェクト さんの日本語
化パッチをありがたく使わせて頂いています。また、色々な助言を頂い
たり、今回のパッチの公開にも快く応じて頂きました。この場を借りて
お礼申し上げます。どうもありがとうございました。
高久 雅生 (masao@ulis.ac.jp) さんから、footnote の文字化けの修正
と jsarticle, jsbook スタイルへの対応に関するパッチを頂きました。
どうもありがとうございました。
児玉@神戸高専 さんから j-article, j-report に対する不具合の報告
と jbook, j-book, ascmac スタイルへの対応に関するパッチを頂きまし
た。どうもありがとうございました。
kawafuji@msk.minolta.co.jp さんから latex2html-2K.1beta の
revision に関する不具合の報告と自作のスタイルファイルに関する不具
合の報告を頂きました。どうもありがとうございました。
山縣@ぶらっとホーム (yamagata@plathome.co.jp) さんから latex2html
-2002 に対する日本語化パッチの報告とその不具合に対するパッチ、Red
Hat Linux での日本語化パッチの採用の報告、Slackware Linux 用の日
本語パッケージに関する情報、 および latex2html-2002-2 に関する動
作の報告を頂きました。どうもありがとうございました。
Vine Linux の開発メンバーから、この日本語化パッチのサポートページ
にある Q and A の Q.2 に関して、Vine Linux の開発 tree に含まれ
る latex2html-2002 の rpm に関する情報を頂きました。どうもありが
とうございました。
鈴見咲君高 (suzumizaki@excite.co.jp) さんから、日本語化パッチの
WWW ページの間違いや HTML 4.01 への対応に関する報告、HTML4 におけ
る文字コードの扱いに関する情報、ご自身で公開されている WWW ページ
に関する情報などを頂きました。 どうもありがとうございました。
研究室の山岡薫さんとの共同作業で、latex2html の日本語化パッチと
CJK package との問題点に関する情報が得られました。 どうもありがと
うございました。
SUGIMOTO Sadahiro (ixtl@utmc.or.jp) さんから、日本語版の
latex2html の FreeBSD の新しいパッケージに関する情報を頂きました。
どうもありがとうございました。
NOMURA Masataka (nomura@maritime.kobe-u.ac.jp) さんから、この日本
語化パッチのサポートページにある Q and A の Q.8 に関する情報や具
体的な perl コードなどの情報を頂きました。どうもありがとうござい
ました。
seiji さんから、奥村@三重大 さんの TeX Q&A 掲示版
(http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/) に書いた、RedHat
Linux 9 に含まれる latex2html に関する修正に対する動作報告 (奥村
さんの掲示板の 23730 の記事参照) や RedHat Linux に関する情報など
を頂きました。どうもありがとうございました。
Yasufumi Haga (yasufumi.haga@nifty.com) さんから、この日本語化パ
ッチのサポートページにある Q and A の Q.6 に関する情報を頂きまし
た。なお、Yasufumi Haga さんは latex2html のマニュアルの日本語訳
も公開しておられます
(http://homepage3.nifty.com/peterpan/Latex2html/)。
どうもありがとうございました。
市橋卓司 (takuji-ngy@umin.ac.jp) さんから、jsarticle で graphicx
パッケージを使用した際、取り込んだ EPS 画像が 切れる問題に関する
情報、および、latex2html 実行時に graphicx パッケージをサポートし
ない警告が出る問題に関する情報を頂きました。どうもありがとうござ
いました。
Koji Harada さんから、\fbox{} で数式を囲んだ場合の数式番号がずれ
る問題に関する情報を頂きました。どうもありがとうございました。
山本昌志さん (www.ipc.akita-nct.ac.jp) さんから more_amsmath.perl
のバグに関する情報と、修正パッチに関する動作確認の報告を頂きまし
た。どうもありがとうございました。
迫田誠治さん (sakoda@cc.nda.ac.jp)、および奥村@三重大 さんの TeX
Q&A 掲示版で松浦孝範さんから、Linux 上の latex2html の日本語化パ
ッチの機能がデフォルトで有効になっている件に関する情報を頂きまし
た。さらに松浦さんは、日本語化パッチの当たった latex2html を別名
コマンド (jlatex2html) へ修正する作業も進めておられます。どうもあ
りがとうございました。
今後、この日本語化パッチは、jp2.X では、styles/japanese.perl 等の
日本語専用ファイル以外での修正をできるだけ少くして、最終的には
latex2html のオリジナル配布物にその日本語対応が取り込まれるように
する方向で更新し、jp1.X は不具合などの修正のみの更新、としていき
たいと考えています。
5. 変更履歴
-----------
11/05 2004 ver.1.9
・styles/more_amsmath.perl の bug の修正
・charset に UTF-8 も使えるように修正 (wrapper script 等も対応)
・「この文書について」の修正年号の追加 (styles/japanese.perl)
・付属ドキュメントの注意 [35] の修正、[36],[37] の追加
・謝辞の追加
09/25 2004 ver.1.8
・入力ファイルが JIS である場合にも対応
・charset を .latex2html-init ファイル (や l2hconfig.pm) でも設定
できるように変更
・付属ドキュメントの注意 [24] の修正、[25]~[35] の追加
03/23 2003 ver.1.7
・latex2html-2002-2-1 用に修正
・versions/{html2_2,table}.pl の 'undefined' keyword への対処
(l2h-2K2-2-1-undefined.patch の取り込み)
・styles/j{article,report}.perl の b4paper,a4j,a5j,b4j,b5j オプシ
ョンへの対応
・$UNUSEACCENT のデフォルトを 0 に変更
・付属ドキュメントの上記に対する部分や注意 [13] の修正、jp2.X に
関する注意や [19],[20],[21],[22],[23],[24] の追加
08/24 2002 ver.1.6
・latex2html-2002-2 (rev.1.70) 用に修正
・accent に関する修正
・wrapper script から GIF/PNG 切り替え部分を削除
・付属ドキュメントの上記の部分の修正と注意 [18] の追加
04/06 2002 ver.1.5
・latex2html-2002 用に修正
・GIF/PNG, 日本語/英語 切り替え用の wrapper script の追加
・付属ドキュメントの上記に対応する部分や注意 [1],[13] の修正、
[14] の削除と [14],[15],[16],[17] の追加
01/14 2002 ver.1.4
・accent に関する修正とこのドキュメントの注意 [13] の修正
01/13 2002 ver.1.3b
・ascmac.perl の追加 (by 児玉さん)
01/08 2002 ver.1.3
・jbook,j-book の追加 (by 児玉さん)
・このドキュメントに revision に関する注意と注意 [12],[13],[14]
を追加
11/01 2001 ver.1.2c
・j-article, j-report の不具合の対応
10/30 2001 ver.1.2b
・jsbook の不具合の対応 (by 高久さん)
10/30 2001 ver.1.2
・footnote の文字化けの fix (by 高久さん)
・jsarticle, jsbook への対応 (by 高久さん)
・このドキュメントの注意 [9] [10] [11] の追加
09/25 2001 ver.1.1
・fleqn に関する部分の修正
・psfrag に関する部分の修正
・このドキュメントの注意 [1] の修正、[6],[7],[8] の追加
07/03 2001 ver.1.0
・最初のバージョン
6. 目次
-------
1. introduction
2. インストール
2.1. 動作環境
2.2. 配付ファイルの入手
2.3. 展開とパッチ当て
2.4. make
2.5. install
2.6. wrapper script
3. 注意
4. その他
5. 変更履歴
6. 目次
+=================================================+
竹野茂治 〒945-1195 新潟工科大学 情報電子工学科
shige@iee.niit.ac.jp TEL(&FAX): 0257-22-8161
+=================================================+