名前: Dora 日時: 2013-02-16 23:13:23 IPアドレス: 58.0.63.*
>>57033 pTeX ならば次のようにするのが簡単でしょう。 \def\zenkakutoday{\bgroup \kansujichar0=`0 \kansujichar1=`1 \kansujichar2=`2 \kansujichar3=`3 \kansujichar4=`4 \kansujichar5=`5 \kansujichar6=`6 \kansujichar7=`7 \kansujichar8=`8 \kansujichar9=`9 \kansuji\year 年\kansuji\month 月\kansuji\day 日\egroup} 今日は\zenkakutoday です。 \zenkakutoday という新しい命令を用意するのではなく,\zenkaku{\today} という形がよいというのであれば,泥臭く一文字ずつ調べてゆくという手法はあり得ます。 \makeatletter \def\zenkaku#1{\bgroup\edef\@target{#1}\expandafter\@zenkaku\@target\relax\egroup} \def\@zenkaku#1{% \def\@target{#1}% \def\@zenkaku@relax{\relax}% \ifx\@target\@zenkaku@relax \let\@zenkaku@next\relax \else \if#100\else \if#111\else \if#122\else \if#133\else \if#144\else \if#155\else \if#166\else \if#177\else \if#188\else \if#199\else #1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \let\@zenkaku@next\@zenkaku \fi \@zenkaku@next } \makeatother 今日は\zenkaku{\today}です。
この書き込みへの返事: