名前: . 日時: 2006-04-04 20:10:20 IPアドレス: 59.134.169.*
>>42387 ご参考まで. # もっとも,これは『LaTeX2e マクロ&クラス プログラミング 実践解説』の # 2.1.3 項のサンプルコードをもじっただけですが. \documentclass{tarticle} \begin{document} \bou{ア\textgt{イ\textmc{ウエ}オ}カキ クケコ} \makeatletter \let\bou\relax \DeclareRobustCommand*\bou[1]{% \ifvmode\leavevmode\fi \@bou#1\@nnil} \def\@bou{\futurelet\@bou@temp\@@bou} \def\@@bou{% \ifx \@bou@temp\@nnil \let\@bou@next\@gobble \else\ifx\@bou@temp\bgroup \let\@bou@next\@bou@begingroup \else\ifx\@bou@temp\@sptoken \let\@bou@next\@bou@skipspace \else \let\@bou@next\@bou@checktoken \fi\fi\fi \@bou@next} \def\@bou@begingroup#1{{\@bou#1\@nnil}\@bou} \begingroup \def\:{\def\@bou@skipspace} \expandafter\endgroup\: {\space\@bou} \def\@bou@checktoken#1{% \def\@bou@temp{#1}\@onelevel@sanitize\@bou@temp \@bou@checktoken@ \ifx\@bou@temp\@empty \expandafter\@bou@process@letter \else \expandafter\@bou@font@switch \fi #1} \begingroup \catcode`\|=0 \catcode`\\=12 |catcode`T=12 |catcode`E=12 |catcode`X=12 |lowercase{% |gdef|@bou@checktoken@{% |expandafter|@bou@checktoken@@|@bou@temp\TEXT|@nil}% |gdef|@bou@checktoken@@#1\TEXT#2|@nil{|def|@bou@temp{#2}}} |endgroup \def\@bou@process@letter#1{% \@bou@add@dot{#1}% \@bou} \def\@bou@font@switch#1#2{#1{\bou{#2}}\@bou}% #1: \text... \def\@bou@add@dot#1{%%% オリジナルの \@bou の処理の一部を引用. %%% 3 箇所の \normalfont を入れるかどうかはお好みでどうぞ. \iftdir \if@rotsw \hbox to\z@{\vbox to\z@{\boxmaxdepth\maxdimen \vss\moveleft-0.2zw \hbox{% %%% \normalfont \boutenchar}% \nointerlineskip \hbox{\char\euc"A1A1}}\hss}% \else \hbox to\z@{\vbox to\z@{\boxmaxdepth\maxdimen \vss\moveleft0.2zw \hbox{\yoko %%% \normalfont \boutenchar}% \nointerlineskip \hbox{\char\euc"A1A1}}\hss}% \fi \else \hbox to\z@{\vbox to\z@{% \vss\moveleft-0.2zw \hbox{\yoko %%% \normalfont \boutenchar}% \nointerlineskip \hbox{\char\euc"A1A1}}\hss}% \fi \nobreak#1\relax} \makeatother \bou{ア\textgt{イ\textmc{ウエ}オ}カキ クケコ} \end{document}
この書き込みへの返事: