TeXの記憶(98) — 傍点

自分が使っている傍点とルビのマクロです。おそらく良く出来たパッケージが他にあるのでしょうが、たまにしか使わないし、さらに調整するのが面倒なので、自分で作って必要があればその都度カスタマイズしています。

半角文字も全角文字の幅として傍点をふるマクロにしてみました。半角の幅(というよりかプロポーショナルなサイズ)に合わせることもできるのでしょうが、傍点の「・」が等間隔に並んでいるほうが見栄えが良いので全角幅にしました。高さも全角文字の高さに合わせています。

\botenが引き数から1文字ずつとりだして\@botenが1文字ずつ傍点を付けています。

1114a

% 傍点用
\newcommand{\boten}[1]{\@tfor\CHAR:=#1\do{\@boten{\CHAR}}}
\newcommand{\@boten}[1]{%
  \setbox0=\hbox{#1}\setbox1=\hbox{\scriptsize ・}%
  \setbox2=\hbox{あ}%
  \ifdim\wd2>\wd0\dimen2=\wd2\setbox0=\hbox to \dimen2{\hfil #1\hfil}%
  \ht0=\ht2\dp0=\dp2\fi
  \ifdim\wd0>\wd1\dimen0=\wd0\else\dimen0=\wd1\fi
  \leavevmode
  \hbox{\kanjiskip=\fill
    \vbox{\hbox to \dimen0{\smash{\hfil ・\hfil}}%
      \nointerlineskip\vskip-.15ex
      \hbox to \dimen0{\hfil\box0\hfil}}}}

コメント