# $Id: README.win-32-jp,v 1.4 2019-12-28 19:13:03+09 shige Exp $

README.win-32-jp: jp3.2 パッチの MS-Windows 用の説明書 (for l2h-2018.3)
Shigeharu TAKENO <shige@iee.niit.ac.jp>

■MS-Windows 用の説明書 (jp3.2 パッチ)

jp3.X の日本語化パッチを当てた LaTeX2HTML の、MS-Windows へのインストー
ル手順などを説明します。

1. はじめに
-----------

日本語化された LaTeX2HTML の MS-Windows へのインストールに関しては、以
前は阿部＠北教大さんの Web ページ

「Windows に LaTeX2HTML をインストールしよう」
 http://www.phys.asa.hokkyodai.ac.jp/osamu/latex2html/index.html

が良く知られていましたが、最近はその Web ページは閉鎖されたのかつながら
ないようです。

LaTeX2HTML の元々の付属文書には MS-Windows へのインストールの手順もつい
ていますので、それを参考に日本語版 (jp3.2) の LaTeX2HTML の MS-Windows
へのインストール手順や注意などをここに書いておきます。

TeX の環境は、現在日本語の LaTeX が使える典型的な以下の 2 つの環境を仮
定します。

(a) W32TeX + TeX インストーラ 3
  (例えば TeX Wiki: https://texwiki.texjp.org/?W32TeX 参照)
(b) TeX Live 2019
  (例えば TeX Wiki: https://texwiki.texjp.org/?TeX%20Live 参照)

日本語化パッチは、jp3.2 系の LaTeX2HTML 日本語化パッチを使用します。現
在の jp3.2 系の日本語化パッチでは、perl の Encode モジュールを使用し、
Shift_JIS や UTF-8 の LaTeX ファイルから、指定したコードの HTML ファイ
ルを生成できます。なお、従来の初期設定ファイルを使用すると文字化けが起
こる可能性がありますが、詳しくは「2.5. 初期設定ファイルの作成」をご覧く
ださい。

日本語化パッチの置き場所、または latex2html に関する情報は以下をご覧く
ださい。

 http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
 http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/l2h-win.html

なお、latex2html-2008 から、latex2html 本体のライセンスが、独自ライセン
スから GPL に変わりました。この日本語化パッチもそれに従います。ライセン
スについては、配布物に含まれる LICENSE ファイルを参照してください。

日本語化パッチを当てることで利用できるにようなる機能や、追加されるオプ
ションなどについては、付属文書の README.tech.jp をご覧ください。


2. インストール
---------------
2.1. LaTeX2HTML で必要なソフトの準備
------------------------------------

まず LaTeX2HTML で必要なソフトの準備について説明します。日本語化パッチ
をあてた LaTeX2HTML で日本語 LaTeX 文書を処理する際に最低限必要なソフト
は以下のソフトです。

・perl (version 5.10 以降推奨)
・TeX (pLaTeX を使用)
・Ghostscript (日本語が適切に処理できるもの)
・dvips (日本語が適切に処理できるもの)
・netpbm (netpbm-9.12 以降推奨)

数式等の画像として SVG 画像を作成する場合は (latex2html-2018.3 以
降)、以下のソフトも必要になります。

・pdftocairo (W32TeX や TeX Live に含まれる)
・ps2pdf (gs に付属する)

以下で、(a) W32TeX と (b) TeX Live のそれぞれで必要なものなどについて説
明します。


2.1.1. W32TeX + TeX インストーラ 3 の場合
-----------------------------------------

W32TeX には TeX、dvips は当然含まれていますので、それを使います。デフォ
ルトでは TeX のバイナリは C:\w32tex\bin に置かれています。

Ghostscript (gs) は、多分 W32TeX のインストール時に同時にインストールす
ると思います。gs は c:\gs\gs9.50\bin (9.50 の場合) などに置かれています。

なお、gs は 7.07 などの古いものを使う場合、CMap ファイルを手動でインス
トールしないと、日本語の含まれる EPS ファイルの処理に問題が出る場合があ
ります。詳しくは、例えば以下を参照してください。

・TeX Wiki Ghostscript 7.07
  https://texwiki.texjp.org/?Ghostscript%207.07

pdftocairo (poppler) も現在の W32TeX には含まれています。もし古い版の
W32TeX を使っていて pdftocairo が含まれていない (例えばコマンドプロンプ
トで pdftocairo -v としてエラーになる場合) 場合は、自前で Windows 用の
poppler をインストールしてください。ただし、SVG 画像を作らない場合は必
要ありません。

・Poppler for Windows
  http://blog.alivate.com.au/poppler-windows/

これは単に展開するだけ (7zip アーカイブ) なので、パスの設定も自分で行う
必要があります。ネット上に日本語のインストール情報などもあるようですの
で、詳しくはそちらを参照してください。

Perl と netpbm は別途インストールする必要があります。Perl は、
Strawberry Perl か Active Perl をインストールすればいいでしょう。

・Strawberry Perl
  http://strawberryperl.com/

・Active Perl
  http://www.activestate.com/activeperl/downloads

デフォルトでは、前者は C:\Strawberry\perl\bin に、後者は C:\Perl\bin な
どにインストールされるようです。

gs, Perl のパスは、それぞれインストーラが自動的に設定してくれますので、
インストール後に再起動すれば、path を手動で設定する必要はありません。

netpbm のインストールについては、「2.2. netpbm の準備」で説明します。

2.1.2. TeX Live 2019 の場合
---------------------------

TeX Live には TeX、dvips は当然含まれていますので、それを使います。デフ
ォルトでは TeX のバイナリは C:\texlive\2019\bin\win32 に置かれています。

pdftocairo (poppler) も現在の TeX Live には含まれています。もし古い版の
TeX Live を使っていて pdftocairo が含まれていない (例えばコマンドプロン
プトで pdftocairo -v としてエラーになる場合) 場合は、自前で Windows 用
の poppler をインストールしてください。ただし、SVG 画像を作らない場合は
必要ありません。詳細は「2.1.1. W32TeX + TeX インストーラ 3 の場合」をご
覧ください。

Perl と Ghostscript (gs) は、TeX Live には既に含まれていますので、それ
を利用することができます。Perl の実行バイナリは

  C:\texlive\2019\tlpkg\tlperl\bin 

に、gs は

  C:\texlive\2019\tlpkg\tlgs\bin

にあるようです。ただし、これらには path が通っていませんので、
LaTeX2HTML でこれらを使うにはその path を設定する必要がありますが、gs
の方は TeX のバイナリと同じ場所にある rungs.exe という gs のフロントエ
ンドを使えば gs の path 等を設定する必要がありませんので、今回はその設
定を紹介します。詳細は、「2.4.2. TeX Live 2019 の場合」で説明します。

また、TeX Live に含まれている gs は、通常の gs に含まれているファイルが
削ってあり、そのため元々の LaTeX2HTML でその gs を使おうとすると gs の
check 時に gs_init.ps がないと言われ失敗しますが、日本語化パッチでは対
処してあります。

もちろん、TeX Live に含まれる perl, gs とは別に Strawberry Perl や
Active Perl, gs を自前でインストールして、LaTeX2HTML でそれを使うことも
可能です。その場合の設定等の作業は W32TeX の場合とほぼ同じですので、
「2.1.1. W32TeX + TeX インストーラ 3 の場合」を参照してください。


2.2. netpbm の準備
------------------

W32TeX の場合も、TeX Live の場合も、いずれも netpbm は含まれていません
ので、自分でインストールする必要があります。MS-Windows では、とりあえず
以下のものを使用します。

 netpbm-10.18.4
 https://sourceforge.net/projects/gnuwin32/files/netpbm/10.18.4/

(1) netpbm-10.18.4-bin.exe を上記サイトからダウンロード
(2) それを実行

とすれば、C:\Program Files (x86)\GnuWin32\bin に実行バイナリがインスト
ールされます。

(3) エクスプローラで「C:\Program Files (x86)\GnuWin32\bin」を開いて、
  bmptoppm, pnmfile, ppmtojpeg というファイルの名前を、それぞれ .exe の
  拡張子のついた bmptoppm.exe, pnmfile.exe, ppmtojpeg.exe に変更する

これは、拡張子を表示する設定になっていないと作業しづらいかもしれません
し、また管理者権限が必要になるかもしれません。

なお、この (3) は、それらがなぜかそうなっていないために必要な作業で、ほ
かにもいくつか .exe がついていないものがあるのですが、.exe をつけるべき
Win32 のバイナリと、.exe をつけてはいけない perl スクリプトなどが含まれ
ていますので、とりあえず LaTeX2HTML に必要な上の 3 つのファイルだけその
作業をしておきます。

(4) コマンドプロンプトを立ち上げて、「dir /x C:\」とすることで、
  「C:\Program Files (x86)」の簡略名を取得

「C:\Program Files (x86)」のような空白の含まれるパスは LaTeX2HTML のよ
うな Unix 由来のツールは苦手なので、「dir /x」で表示される別名パス指定
を利用します。詳しい説明は、「dir /x」や「8.3形式」などで検索すると情報
が見つかると思います。例えばうちの場合はその別名は「C:\PROGRA~2」でした
ので、netpbm のバイナリのディレクトリは「C:\PROGRA~2\GnuWin32\bin」のよ
うに空白の含まれないパスで指定できることになります。

以上で、必要な外部プログラムはすべて揃ったことになります。

なお、

 https://sourceforge.net/projects/gnuwin32/files/netpbm/

には、10.27 という少し上記のものより新しい netpbm が置かれているのです
が、これは LaTeX2HTML で使うには少し問題がありますので、使用しないでく
ださい。詳しくは、

 http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/l2h-win.html

の「注意等」の 04/09 2017 の記事をご覧ください。


2.3. LaTeX2HTML 配付ファイルの入手
----------------------------------

l2h-2018.3-jpYYYYMMDD-win-32.zip: 
  latex2html-2018.3 本体に jp3.2 の日本語化パッチを当てたもの一式

を入手します。これは以下にあります。

  http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/l2h-win.html

それをダウンロードして展開してください。

その後は「コマンドプロンプト」での作業になりますので、コマンドプロンプ
トを起動し、展開したディレクトリ内に移動してください。


2.4. LaTeX2HTML のインストール作業
----------------------------------

インストール作業は、展開したディレクトリの中で、基本的には以下の作業を
行います。

(1) prefs.pm を編集
(2) config.bat を編集
(3) config.bat を実行
(4) test.bat を実行
(5) install.bat を実行
(6) ラッパーバッチの編集とインストール

編集する必要があるファイルは、いずれもテキストファイルなので、編集作業
は、メモ帳 (notepad) で行っても、TeXWorks のエディタで行っても構いませ
ん。ただし、日本語が入っているものもありますので、日本語が正しく表示さ
れるものを使うのがいいでしょう。

(1), (2) の作業について、2 つの環境別に説明をします。


2.4.1. W32TeX + TeX インストーラ 3 の場合
-----------------------------------------

(1) prefs.pm を編集

まず編集する必要がある項目は EXTRAPATH で、$prefs{'EXTRAPATH'} (126 行
目付近) に netpbm のパスと gs のパスを追加します。例えば

 $prefs{'EXTRAPATH'} = 'C:\PROGRA~2\GnuWin32\bin;C:\gs\gs9.50\bin';

のようにします。'' で囲むことに注意してください。なお、デフォルトで gs
へのパスが通っていれば、後半部分は必要ありません。

次はインストール先 PREFIX で、$prefs{'PREFIX'} の行 (132 行目付近) を修
正します。コメントにあるように、MS-Windows では

 $prefs{'PREFIX'} = 'C:\progs\latex2html';

とでもすればいいでしょう。

なお、インストール時に権限などの問題で付属スタイルファイルのインストー
ルに失敗する場合は、スタイルファイルのインストール先である TEXPATH を、
適当に個人のホームディレクトリ下のパスに設定しておくといいでしょう:

 $prefs{'TEXPATH'} = 'C:\Users\xxxx\Documents\l2hstyles';

(2) の config.bat の編集は W32TeX では必要ありませんので、ここまで済ん
だら「2.4.3. config, test, install」に進んでください。


2.4.2. TeX Live 2019 の場合
---------------------------

(1) prefs.pm の編集

まず編集する必要がある項目は EXTRAPATH で、$prefs{'EXTRAPATH'} (126 行
目付近) に netpbm のパスを追加します。

 $prefs{'EXTRAPATH'} = 'C:\PROGRA~2\GnuWin32\bin';

次はインストール先 PREFIX で、$prefs{'PREFIX'} の行 (132 行目付近) を修
正します。コメントにあるように、MS-Windows では

 $prefs{'PREFIX'} = 'C:\progs\latex2html';

とでもすればいいでしょう。

なお、インストール時に権限などの問題で付属スタイルファイルのインストー
ルに失敗する場合は、スタイルファイルのインストール先である TEXPATH を、
適当に個人のホームディレクトリ下のパスに設定しておくといいでしょう:

 $prefs{'TEXPATH'} = 'C:\Users\xxxx\Documents\l2hstyles';

(2) config.bat の編集

TeX Live では perl の path が通っていませんので、config.bat を実行する
ために perl の path を設定しておきます。config.bat の 3 行目付近に、

 path=%path%;c:\texlive\2019\tlpkg\tlperl\bin

という行を入れてください。これで準備は終了です。


2.4.3. config, test, install
----------------------------

(3), (4), (5) の作業は、W32TeX, TeX Live の両者で共通です。

(3) config.bat を実行

コマンドプロンプトで 

 config.bat

で config.bat を実行します。必要な外部プログラムの検索などが行われ、そ
の認証結果が出力されます。うまくいかない場合、特に ghostscript のバージ
ョンの検出や、pnmcrop の検出に失敗している場合は、上の設定が間違えてい
る可能性があります。見直してみてください。

(4) test.bat を実行

次はコマンドプロンプトで 

 test.bat

として test.bat を実行します。これは、特に前半はよくわからないメッセー
ジを出力すると思いますが、オリジナルの LaTeX2HTML に含まれるテスト用の
LaTeX ファイル (英語) でlatex2html.bat などの動作テストを行います。

それがうまくいけば、現在いるディレクトリの下に tests\l2htest というディ
レクトリが作られていて、その中の index.html というファイルをブラウザで
見てみれば latex2html の変換がうまくいっているか確認できます。

なお、数式を画像化して表示するページで、画像の背景が灰色になっている場
合がありますが、これは後で解消するので、この時点では無視してもらって結
構です。

(5) install.bat を実行

最後に

 install.bat

とすれば、上で設定した PREFIX の場所に latex2html 一式をインストールし、
スタイルファイルを LaTeX のインストール先にインストールします。ただし、
最後に mktexlsr を実行しますので、それにちょっと時間がかかります。


2.4.4. ラッパーバッチの編集とインストール
-----------------------------------------

最後に (6) のラッパーバッチファイルの編集とそのインストールをします。

ラッパーバッチファイルは、(5) のインストール先にパスを通して、直接
latex2html.bat を使うようにすれば特になくてもよいのですが、ラッパーバッ
チを使えば、初期設定ファイルの名前、置き場所を変更したり、環境変数
TRANSPARENT_COLOR の設定などに利用できます。

ラッパーバッチファイルは、l2h.bat として既にひな形がそこに置かれていま
すので、その必要な箇所を編集してください。コメントに書かれているように
設定する必要があるのは、とりあえずは

 set l2hdir=

の後ろの latex2html のパス ((1) で PREFIX に設定したもので '' では囲ま
ない) と

 set L2HINIT_NAME=

の後の初期設定ファイル名の名前です。それぞれ

 set l2hdir=c:\progs\latex2html
 set L2HINIT_NAME=l2h-init-jp

くらいでいいでしょう (もちろん変更も可能)。

さらに、環境変数 HOME をこのバッチファイルの中で一時的に変更することで
初期設定ファイルの置き場所を変更することもできます。

編集が済んだら、l2h.bat をパスの通っている場所、あるいは LaTeX ファイル
の置き場所などにコピーしてください。

これで LaTeX2HMTL のインストールは終了です。


2.5. 初期設定ファイルの作成
---------------------------

LaTeX2HTML のインストール後に、自分用の初期設定ファイルを用意します。こ
れがないと、正常に日本語化されません。また、jp3.2 では、従来の初期設定
ファイルと一部違っているところがあり、従来の初期化ファイルのままでは文
字化けする必要がありますので、注意が必要です。

初期設定ファイルは、l2h-init-jp というひな形が既に用意されています。現
在は、

・このファイルの文字コードの設定 (use utf8)
・$LOCAL_ICONS
・「&do_require_package("japanese");」による日本語化
・「$IMAGE_TYPE = "gif";」による GIF 形式への変換
・$HTML_VERSION
・入出力ファイルのデフォルトエンコーディング ($TEXENCODE, $HTMLENCODE)

くらいしか設定していません。なお、これは perl スクリプトなので、# で始
まる行はコメント行です。

$IMAGE_TYPE の設定は、実は「2.2. netpbm の準備」でインストールした
netpbm では、PNG 画像への変換プログラムの pnmtopng にバグがあり、作られ
る PNG 画像の背景が透明化されず灰色になってしまうことがあるため、上のよ
うに GIF 画像に変換するよう設定しています。PNG 画像に変換したい場合は、
その行をコメントアウトしてください。

jp3.2b1.24 以降では、入出力ファイルのエンコーディング ($TEXENCODE, 
$HTMLENCODE) を設定せず、かつコマンドラインオプションの -ienc, -oenc も
設定しない場合は、出力ファイルは多分文字化けします。毎回コマンドライン
オプションで指定するのが面倒ならば、初期設定設定ファイルで適切なデフォ
ルト値を設定しておいてください。詳しくは、README.patch.jp を参照してく
ださい。

なお、現在の jp3.2 では、内部処理を UTF-8 に統一し、初期設定ファイルも
UTF-8 でなければいけません。特に日本語が含まれる場合、それがこれまで
Shift_JIS であった場合は UTF-8 に変換してください。日本語コードの変換に
は、附属の [shige] が利用できます (perl script)。

> ren l2h-init-jp l2h-init-jp-sjis
> perl [shige] l2h-init-jp-sjis > l2h-init-jp

といった具合ですが、TeX Live の場合は perl コマンドは 
c:\texlive\2019\tlpkg\tlperl\bin\perl のように指定してください。
また、初期設定ファイルの先頭には、

 use utf8;

という行を入れる必要がありますので、古い初期設定ファイルを使用していて、
それがない場合は、追加しておくてださい。

必要なものを編集したら、l2h-init-jp のファイルを環境変数 HOME の場所に
コピーしてください。

これで準備は終了です。

latex2html の実行は、「2.4.4. ラッパーバッチの編集とインストール」のラ
ッパーバッチを使い、コマンドプロンプトで

 l2h file.tex

のようにして実行します。latex2html が受け付けるオプションを

 l2h -image_type png file.tex

のように指定することもできます。

latex2html-2018.3 以降では、数式を SVG 画像に変換することも可能ですが、
日本語処理では問題があること、サイズの処理にもまだ問題があるようなので、
この日本語化パッチでは優先度を落としてあります (オリジナルではデフォル
トが SVG 画像)。必要なソフト (ps2pdf, pdftocairo) があって、SVG 画像も
試してみたい場合は、-image_type オプションに svg を指定してみてください。

また、コマンドプロンプトの日本語コードについては、今のところ Shift_JIS
(cp932) と UTF-8 (cp65001) では動作を確認していて、chcp 65001 として、
コマンドプロンプトを UTF-8 で使用している場合も一応は動作しますが、これ
ら以外の日本語コードではうまく動作しないようです。


テスト用の日本語 LaTeX ファイル ((4) のテストファイルを日本語化して画像
ファイルを追加したもの) を

  http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/l2h-win.html

に置きますので、それをダウンロードして展開してテストしてみるといいでし
ょう。詳しくは上記サイトをご覧ください。


3. その他
---------

本パッチは無保証です。しかし色々な不具合は、対応できるものは行う予定で
すので、不具合の報告、意見などは歓迎します。報告等は下記メールアドレス
へお願い致します。また、バグリポート等、各種情報は、順次下記 WWW page 
に掲載する予定です。

e-mail: shige@iee.niit.ac.jp
WWW page: 
 http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/ltx2html.html
 http://takeno.iee.niit.ac.jp/~shige/TeX/latex2html/l2h-win.html


配付ライセンスは、武藤＠Debian プロジェクト さんによる 99.1 用のパッチ
同様、オリジナルの LaTeX2HTML のライセンスに従うものとしたいと思います。

そして、latex2html-2008 より、latex2html 本体のライセンスが GPL となり
ましたので、この日本語化パッチも それに従います。詳しくは配布物に含まれ
る LICENSE ファイルを参照してください。


4. 目次
-------
1. はじめに
2. インストール
2.1. LaTeX2HTML で必要なソフトの準備
2.1.1. W32TeX + TeX インストーラ 3 の場合
2.1.2. TeX Live 2019 の場合
2.2. netpbm の準備
2.3. LaTeX2HTML 配付ファイルの入手
2.4. LaTeX2HTML のインストール作業
2.4.1. W32TeX + TeX インストーラ 3 の場合
2.4.2. TeX Live 2019 の場合
2.4.3. config, test, install
2.4.4. ラッパーバッチの編集とインストール
2.5. 初期設定ファイルの作成
3. その他
4. 目次

+=================================================+
 竹野茂治   〒945-1195 新潟工科大学 情報電子工学科 
 shige@iee.niit.ac.jp      TEL(&FAX): 0257-22-8161 
+=================================================+
