名前: 竹の 日時: 2010-08-10 15:31:40 IPアドレス: 202.243.120.*
>>55139 latex2html の配布物には、styles/calc.perl はないので、latex2html は calc パッケージをサポートしていません。 \multiply, \divide のような「LaTeX のコマンドではないもの」の多くも latex2html はサポートしていません。 よって、解決策としては 1) calc パッケージによって利用できるコマンドに対応する perl の処理を 行うような calc.perl を作って calc パッケージをサポートさせる 2) \multiply, \divide 命令に対応する処理を行う perl の関数を作って latex2html の初期化ファイル等に書く 3) \usepackage{html} の元で、LaTeX に処理させるコードと latex2html に 処理させるコードを別に書き分ける などが考えられるでしょう。 ただ、1),2) はかなり難しいですし、3) でも例えば積を行うためには、2 つ の引数を取る積用のマクロのようなものをあらためて定義した上で、そ れに対する latex2html 用の perl の処理を書かないといけないでしょう。 例えば、本文は \usepackage{html} \latexhtml{\usepackage{calc}}{\usepackage{mycalc}} .... \latexhtml{% こちらは latex 側の処理 \setcounter{imogC}{\value{imogA}/10}% \setcounter{imfirst}{\value{imogB}-10*\value{imogC}}% }{% こちらは latex2html 側の処理 \setcounter{imogC}{\Div{\value{imogA}}{10}}% \setcounter{imfirst}{\Sub{\value{imogB}}{\Mul{10}{\value{imogC}}}}% } .... のように変更して、mycalc.sty は %% これらはダミー \newcommand{\Mul}[2]{} \newcommand{\Div}[2]{} \newcommand{\Add}[2]{} \newcommand{\Sub}[2]{} とし、mycalc.perl をそれぞれのマクロに対応させて package main; sub do_cmd_Div{ local($_) = @_; local($x,$y); s/$next_pair_pr_rx//e; $x=$2; s/$next_pair_pr_rx//e; $y=$2; int($x/$y); } .... 1; のように書いて、カレントディレクトリに mycalc.sty, mycalc.perl を置い て latex2html にかける、といった具合です。
この書き込みへの返事: