Re: 汎用的な浮動体

名前: しっぽ愛好家
日時: 2003-08-25 14:10:12
IPアドレス: 210.234.44.*

>>21179 >実は昨日,listingsを試したのですが,どうも日本語コメント >がきちんと表示されないようです。 ちょっと listings.dtx を読んでみましたが,すごい実装をしていますね… listings 環境内のたいていの文字をアクティブにして,個々の文字に応じた 処理を行っているようです. %%% その結果,和文文字が想定外の挙動を示しているわけです. %%% まあ,製作者が和文文字のことを考えていなかったとしても %%% 責めることはできませんが… 以下の記述を listings パッケージを読み込んだ後に入れてみると, どうでしょうか. %%% ごく簡単な動作確認を行っただけですので, %%% バグが残っているかもしれませんが… %%% 必要があれば,\makeatletter,\makeatother で囲んでください. \newcount\lst@nextchar \let\lst@@ProcessSpace\lst@ProcessSpace \def\lst@ProcessSpace#1{% \lst@check@chartype{#1}% \lst@@ProcessSpace \lst@whitespacetrue} \let\lst@@ProcessLetter\lst@ProcessLetter \def\lst@ProcessLetter#1#2{% \lst@check@chartype{#2}% {\lst@@ProcessLetter{#1}}% \relax} \let\lst@@ProcessDigit\lst@ProcessDigit \def\lst@ProcessDigit#1#2{% \lst@check@chartype{#2}% {\lst@@ProcessDigit{#1}}% \relax} \let\lst@@ProcessOther\lst@ProcessOther \def\lst@ProcessOther#1#2{% \lst@check@chartype{#2}% {\lst@@ProcessOther{#1}}% \relax} \let\lst@@ProcessTabulator\lst@ProcessTabulator \def\lst@ProcessTabulator#1{% \lst@check@chartype{#1}% \lst@@ProcessTabulator \relax} \def\lst@check@chartype#1#2#3{% \edef\@tempa{\lst@nextchar=`\string#1\relax}% \@tempa #2% \ifnum\lst@nextchar<\@cclvi #3% \else \lst@ifletter \else \lst@OutputOther \fi \lst@whitespacefalse \expandafter\lst@AppendJchar \fi #1} \def\lst@AppendJchar#1#2{% \lst@check@chartype{#2}% {\advance\lst@length\@ne\lst@Append{#1}}% \relax} \def\lst@check@chartype@BOL#1{% \edef\@tempa{\lst@nextchar=`\string#1\relax}% \@tempa \ifnum\lst@nextchar<\@cclvi\else \lst@whitespacefalse \expandafter\lst@AppendJchar \fi #1} \def\lst@BOLGobble{% \ifnum\lst@gobble>\z@ \@tempcnta\lst@gobble\relax \expandafter\lst@BOLGobble@ \else \expandafter\lst@check@chartype@BOL \fi} \def\lst@BOLGobble@#1{% \let\lst@next#1% \ifx \lst@next\relax\else \ifx \lst@next\lst@MProcessListing\else \ifx \lst@next\lst@ProcessFormFeed\else \ifx \lst@next\lstenv@backslash \let\lst@next\lstenv@BOLGobble@@ \else \let\lst@next\lst@BOLGobble@@ \ifx #1\lst@ProcessTabulator \advance\@tempcnta-\lst@tabsize\relax \ifnum\@tempcnta<\z@ \lst@length-\@tempcnta \lst@PreGotoTabStop \fi \else \edef\@tempa{\lst@nextchar=`\string#1\relax}% \@tempa \ifnum\lst@nextchar<\@cclvi\else \advance\@tempcnta\m@ne \fi \advance\@tempcnta\m@ne \fi \fi \fi \fi \fi \lst@next} \def\lst@BOLGobble@@{% \ifnum\@tempcnta>\z@ \expandafter\lst@BOLGobble@ \else \expandafter\lst@check@chartype@BOL \fi}

この書き込みへの返事:

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