名前: 安田 日時: 2006-09-25 16:37:56 IPアドレス: 218.225.247.*
>>45066 >>45062 越さん、稲垣さん、こんにちは。 >安田様作成の yarabtex.sty を利用しましたが,うまくゆきません. yarabtex.sty は稲垣さんがお作りになったものです。 ところで、ArabTeX は凝りに凝ったパッケージでトークンをトリッキーに 操作しており一筋縄ではいきません。 問題の箇所は Babel spanish が > (greater than) のカテゴリーコードを アクティブにしてしまっているために、ArabTeX の \a@parse で区切りが 判定できなくなった結果発生しています。 プリアンブルでかっこ良く定義変更できるとよいのですが、ちょっと 私の手に負えませんので、ArabTeX を直接修正する方法をご提示 申し上げます。 apatch.sty 1189 行目以降に \a@parse の定義があります。 1. \def \a@parse #1>{% .... (L1191)の前に、次の二行を挿入します。 \begingroup \catcode`\>=12 2. \def \a@parse #1>{% .... (L1191)を次の内容で書き換えます。 \global\def \a@parse #1>{% 3. \xpa \a@verb \xpa (\the\a@revwd )>\fi } (L1198) の次の行に以下を追加します。 \endgroup これで 45062 においてご提示いただいた例が通るようになるはずです。 ただし、私自身ひろくテストしておりませず、他の言語でどうなるかは?ですので その旨ご了承ください。 UNIX patch コマンドが使えるのであれば、次以降のテキストをコピペして apatch.sty にパッチをあてていただいてもかまいません。 *** apatch.sty 2005-03-10 00:00:00.000000000 +0900 --- apatch.sty.new 2006-09-25 16:05:06.000000000 +0900 *************** *** 1187,1194 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aparse.sty ! ! \def \a@parse #1>{% parse token sequence into syllables \iftest@parse \tracingmacros = 1 \iftest@scan \else \a@verb (#1)>\fi\fi \csname a@parse@hook\endcsname --- 1187,1195 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aparse.sty ! \begingroup ! \catcode`\>=12 ! \global\def \a@parse #1>{% parse token sequence into syllables \iftest@parse \tracingmacros = 1 \iftest@scan \else \a@verb (#1)>\fi\fi \csname a@parse@hook\endcsname *************** *** 1196,1201 **** --- 1197,1203 ---- \global \sv@revwd ={}\global \a@revwd ={}\syl@beg #1<<<>% \iftest@parse \tracingmacros = 0 % \xpa \a@verb \xpa (\the\a@revwd )>\fi } + \endgroup \def \sv@@I #1{% long i \ifx #1N\def \next {\sv@Zi }\else
この書き込みへの返事: