練習
latex2html
|
LaTeXlatex2htmllatex を html に変換LaTeX のfファイルを HTML に変換する latex2html インストール方法と使いを説明します.また,使用時の注意についても,述べます. 目次インストール私の場合,次のようにして,日本語化された latex2html をインストールしました.ただし,私の環境は,Ubuntu で,漢字コードは EUC-JPです.そのほかの環境の人は,新潟工科大学の竹野さんのLaTeX2HTML 日本語化パッチ開発版のページ (Japanese)の「開発版パッチ全般のドキュメント (インストールガイドを含む) 」をよく読んでください.
以上で,実行ファイル(/usr/local/bin/latex2html)がインストールされます. コマンドlatex2htmlのコマンドについては、yasufumi.hagaさん??のLatex2htmlに関する情報に詳しく書かれています.
環境の開始コマンド(\begin{????})の行の後には,テキスト書くことはできません.終了コマンド(\end{????})は行頭に記述する必要があります. 設定ファイルの変更デフォルトの設定でも問題はありませんが、自分の好みの HTML ファイルを作るも可能です.ファイル「/usr/local/share/lib/latex2html/dot.latex2html-init」を自分のホームディレクトリーにコピーし,それを編集すると設定を変更できます.その際、ホームディレクトリーでのファイル名は、「.latex2html-init」とします. cssを使うlatex2htmlが作るスタイルシートのリンクは、「ファイル名.css」です.そのソースには,以下の記述があります. <LINK REL="STYLESHEET" HREF="nonlinear_eq_prog.css"> このリンク先を変えれば、お望みのスタイルシートの反映が可能です.しかし,latex2html が吐き出した全ての CSSファイルをひとつずつ変換する退屈な作業が必要です.そこで,私はこの作業を自動化する物理のかぎしっぽ(崎間公久さん)のシェルスクリプトhtmltex-arrange を使っています. プログラムソースリストの記述LaTeX では,lgrind や listings を使いプログラムのソースリストを文書に載せることができます.これらを使うと,LaTeXが吐き出す dvi ファイルには大変美しいリストが書かれます.その一方で,LaTeX2HTML で処理する 場合には,以下に述べる手続きが必要になります. lgrindインストールプログラムのソースリストの整形に lgrind を用いた場合, late2html を通すためには lgrind.perlが必要になります.インストールは以下の通り.
使い方LaTeX ソースのプリアンブルに、 \usepackage{lgrind} と記述します、すると,通常の LaTeX2HTML で処理ができ,プログラムのリストが表示されます. 問題点lgrind の最大の問題は,行番号が表示されないことです.そのため、今はもっぱら listings を使っています. listingslistings.perl が無いので、listings を使った LaTeX 文書を HTML にするときには工夫が必要になります.以下、2通りの方法を示しますが、verbatimfiles を使うのが私のおすすめです. verbatimfiles を使う方法lstinputlisting で外部からソースファイルを取り込んみ処理している場合に使える方法です.verbatimfiles を使い、プログラムのソースファイルを verbtim 環境で出力します.まずは、プリアンブルに \usepackage{html, listings, jlisting} と書きます.次に、行番号付きで出力したければ、 \begin{htmlonly} \usepackage{verbatimfiles} \providecommand{\lstinputlisting}[2][]{\verbatimlisting{#2}} \end{htmlonly} と書きます.行番号が不要であれば、 \begin{htmlonly} \usepackage{verbatimfiles} \providecommand{\lstinputlisting}[2][]{\verbatiminput{#2}} \end{htmlonly} と書きます.その後は、通常の LaTeX2HTML と同じです.これで,プログラムのソースリストが表示できます. 図として出力する方法アメリカのサイトで lstlisting 環境の部分を、図として出力する方法が紹介されています.以下を .latex2html-init に追加すれば、 その部分が図として出力される. sub do_env_lstlisting { local ($_) = @_; my $env_id = ++$global{'max_id'}; $_ =~ s/\\par/\n\n/g; &process_undefined_environment('lstlisting', $env_id, $_); } ただし、私の環境では、複数のリストを処理すると変換に失敗することがある.結構それを直すのが面倒くさいので、先に示した verbatimfiles を使っている. 図を表示するときの注意画像ファイル等を includegraphics を使って読み込んでいる場合、新潟工科大学の竹野さんのREADMEに書かれているように、 \includegraphics[keepaspectratio, scale=0.7]{./figure/newton.eps} としてはならない.相対パス指定の'./'があるとうまく動作しない.これを \includegraphics[keepaspectratio, scale=0.7]{figure/newton.eps} とすると問題は解決する. 数式を書くときの注意数式中のコメント文この問題は解決しました.対処の方法については、ここ(問題解決)を見てください. LaTeXでは、数式中にコメントを入れても、問題なく処理できるが、latex2htmlでは、だめな場合がある.たとえば、次の数式 \begin{equation} \begin{aligned} \nabla\cdot\vm{D}&=\rho \\ % -------- int dv -- \int\nabla\cdot\vm{D}d\vm{V}&=\int\rho d\vm{V} \end{aligned} \end{equation} を、latex2htmlにかけると となる.わけの分からない、<tex2htmlcommentmark>が書かれてしまう.これを防ぐためには、数式中にコメントを取り除けばよい. \begin{equation} \begin{aligned} \nabla\cdot\vm{D}&=\rho \\ \int\nabla\cdot\vm{D}d\vm{V}&=\int\rho d\vm{V} \end{aligned} \end{equation} すると、 となる.これで、問題は無くなるが、数式中にコメントが書けなくなり、大変不便である.良い解決方法は無いのだろうか? この問題に関しては、 竹野 さんが、早急に対策を施し、パッチを公開されています.パッチは竹野さんのLaTeX2HTML (Japanese) の中のamsmath-bug.patchです.これをダウンロードして、more_amsmath.perlのあるディレクトリーで、 # patch -p1 < $(patchのあるディレクトリー)/amsmath-bug.patch とすれば、パッチをあてることができます.これで、数式中にコメントがあっても、処理できます.竹野さん、ありがとうございました. 式などが表示(変換)できないときここで述べる数式中の日本語の問題は解決しました.対処の方法については、ここ(問題可決) を見てください. latex2htmlがどうしても、図に変換できない場合の苦肉の策を紹介します.ここで示す方法は、latexで書かれたものはどんなものでも図に変換できるので、他にも応用できます.ただ、latex2htmlでこのような方法を使うのは、邪道のように思えますが、仕方なしに使っています.私のlatex2html環境の設定に問題があるのかもしれません. equation環境の中にもう一つ環境があって、その中に日本語が書かれている場合、理由は分かりませんが、図に変換できません.たとえば、次の様な場合です. \begin{equation*} \begin{array}{rrcccccc@{\hspace{5pt}}l} \ldelim\{{2}{59pt}[行の交換不可]& \ldelim({7}{5pt}[] &1 &0 & \ast & \ast & \ast & \ast & \rdelim){7}{5pt}[] \\ & & 0 &1 & \ast & \ast & \ast & \ast & \\ \ldelim\{{5}{50pt}[行の交換可] & & 0 &0 & \ast & \ast & \ast & \ast & \\ & & 0 &0 & \ast & \ast & \ast & \ast & \\ & & 0 &0 & \ast & \ast & \ast & \ast & \\ & & 0 &0 & \ast & \ast & \ast & \ast & \\ & &0 &0 & \ast & \ast & \ast & \ast & \\ \end{array} \end{equation*} 私は、latexのdviファイルをpdfに変換して、そこから式の部分を切り出して、図に変換しました.そして、それをhtmlのソースに記述しました.実際の手順は以下の通りです.
数式中の日本語の問題に関しては、 竹野 さんが解決方法を示しています.詳しくは、竹野さんのページのLaTeX2HTML (Japanese) の 注意、その他 の(01/11 2005)に書かれています.私が使っているLinuxでは、dvipsがpdvipsになっているため、それを反映させる必要があるようです.竹野さんが示された具体的な対処方法は、
です.竹野さん、ありがとうございました. \cfracの問題\cfracを使うと、以下のように数式が化けることがあります. webで調べると、アメリカのサイトに解決方法が書かれていました.amsmath.perlを書き直せば問題は解決するようです.以下のように、cfracの行をコメントアウトし、新たにcfracを書き、genfracを追加します. #cfrac # <<\\endcfrac>> cfrac # [] # {} # {} genfrac # {} # {} # {} # {} # {} # {} そうすると、以下のようにちゃんと数式が書かれます. ページ作成情報参考資料
更新履歴
|