Re: latex2htmlでのパターンマッチングを用いた定義

名前: 野村
日時: 2003-09-09 12:45:30
IPアドレス: 150.84.51.*

>>21616 回答ありがとうございます. 竹のさんって,もしかして latex2html の日本語化パッチを作成されている 御本人さんでしょうか.有用なものを作成して頂き感謝しております. さて,色々と試してみたのですがうまくいかないところもあるので,また みなさんのお知恵をお借りしたいと思い投稿させて頂きます. > 現在の \newcommand 自体オプションを持つマクロを定義できるので、 > 何か工夫すれば出来るかなと漠然と思っただけです。簡単に考えてみた 以下のようにしてできるようです. その1 \def\Word{\@ifnextchar[{\WordA}{\WordB}}% ] \def\WordB#1{\WordA[#1]{#1}} \def\WordA[#1]#2{\htmlref{#2}{word:#1}} その2 \newcommand{\Word}[1][]{\def\next{#1}% \ifx\next\@empty\def\next{\WordB}% \else\def\next{\WordA{#1}}\fi \next} \newcommand{\WordB}[1]{\htmlref{#1}{word:#1}} \newcommand{\WordA}[2]{\htmlref{#2}{word:#1}} 上記コマンドを tex ファイル中に直接書いて latex2html で処理すると その1の場合,Unknown commands: WordA, その2の場合,Unknown commands: else ifx fi next def と出力されるのですが,sty ファイルとして \usepackage,\input などで 読み込むとどちらの場合も Unknown commands: Word とだけ出力されます. # 別ファイルにする,しないで結果が変わることを知りました. そこで,sty ファイルに対応する perl ファイルを作成するために, 竹のさんから教えて頂いたファイルを参考に以下のようなファイルを 作成し,なんとかオプション引数の切り分けはできたようで表示まで できたのですが,これをどのようにして \htmlref の引数として実行 させればよいのかわからずにいます. sub do_cmd_Word { local($_) = @_; local($text); local($opt, $dummy) = &get_next_optional_argument; $text = &missing_braces unless ((s/$next_pair_pr_rx/$text=$2;''/eo) ||(s/$next_pair_rx/$text=$2;''/eo)); 'arg:('.$text.')'.' opt:<'.$opt.'>'.$_; } この後,どのようにすればよいのか教えて頂けないでしょうか. よろしくお願い致します.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)