Re: LaTeX2HTML screen環境による枠の挿入について

名前: 竹の
日時: 2010-12-29 19:31:50
IPアドレス: 202.243.124.*

>>55498 すでに元記事の方は手動で修正ということで解決したようですが、別な方策を 思い付きましたので紹介します。screen 環境がたくさん出てくる場合は手動 での修正はだいぶ面倒ですので、screen 環境に対する LaTeX2HTML の処理を 再定義する (ような) 方法です。 [a] 仮の package を使う方法 1) 次のような内容の perl スクリプトを作成する (myscreen.perl として LaTeX ソースファイルと同じ場所に置く): # screen 環境の処理の再定義 sub do_env_screen { join('',"<TABLE BORDER=\"1\" WIDTH=\"90%\"><TR><TD>","@_", "</TD></TR></TABLE>"); } 1; 2) LaTeX ソースの \usepackage{ascmac} の下に以下を追加する: \usepackage{html} \begin{htmlonly} \usepackage{myscreen} \end{htmlonly} これで LaTeX2HTML にかけるときに ascmac.perl の後に myscreen.perl が 読み込まれまて screen 環境の処理が上書きされますが、実際に myscreen パ ッケージはないので、myscreen パッケージに関する警告がでるかもしれませ ん。 [b] オプション -init_file を利用する方法 1) [a] と同様の perl スクリプトを用意する (myscreen2.perl): # 新たな環境名を定義 (myscreen 環境) sub do_env_myscreen { join('',"<TABLE BORDER=\"1\" WIDTH=\"90%\"><TR><TD>","@_", "</TD></TR></TABLE>"); } 1; 2) LaTeX ソースの \usepackage{ascmac} の下に以下を追加する: \latexhtml{\newenvironment{myscreen}{\begin{screen}}{\end{screen}}}{} 3) LaTeX ソースの screen 環境名を myscreen に修正する。 4) latex2html にかけるときに -init_file myscreen2.perl を指定する。 [b] では screen 環境の名前を変更していますが、パッケージファイルに対応 する perl スクリプトファイルは、-init_file の後に読み込まれるので、 -init_file で単に do_env_screen の再定義をしようとしても、逆にそちらが 後から ascmac.perl で上書きされてしまいます。よって [b] のような別名を 使う必要があります。 もちろん、オリジナルの ascmac.perl を修正するという方法もありますが、 上の方法ならそれに手をつけずにできます。screen 環境に限らず、 LaTeX2HTML のデフォルトの環境処理をカスタマイズしたい場合は上と同様に して行えます。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)