商業出版物にTeXが普及してきたころ、分数や根号の長さが気になるという声がよく聞かれました。TeXの組版では、要素が1文字の場合に横棒は1文字の幅に合わせるのに対して、日本の組版では要素が1文字の場合でも全角分の幅をとっていました。
編集者にとって見た目(字面)は結構たいせつで、これがやだという人が意外と多かったのです。ですから、当時は1文字のためにわざわざ全角分の横棒になるマクロを使ったものですが、今は昔。大学の教科書の組版でそんなことを言う人はいなくなりました。
組版をする側からすると細かな処理は意外と大変です。
以下のマクロは当時使っていたものです。自分で作ったのか、どこから拝借したものか忘れてしまいました。
% 1文字のときに全角幅を持つ根号
\def\SQRT{\radical"270370 }
\def\Root#1\of{\setbox\rootbox%
\hbox{$\m@th\scriptscriptstyle{#1}$}
\mathpalette\R@@t}
\def\R@@t#1#2{%
\setbox0=\hbox{$#1#2$}\setbox1=\hbox{$#1 あ$}%
\ifdim\wd0<\wd1\relax\setbox2=\hbox to\wd1{\hss$#1#2$\hss}%
\else \setbox2=\hbox{$#1#2$}\fi%
\setbox\z@\hbox{$\m@th#1\SQRT{\box2}$}%
\dimen@\ht\z@ \advance\dimen@-\dp\z@
\mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu \box\z@}
\def\ROOT{\mathpalette\R@@t}
\def\Sqrt{\@ifnextchar[{\@Sqrt}{\ROOT}}
\def\@Sqrt[#1]{\Root #1\of}
% 1文字のときに全角の横棒を引く分数
\let\origfrac\frac
\newcommand{\Frac}[2]{%
\setbox0=\hbox{$#1$}\setbox1=\hbox{$#2$}\setbox2=\hbox{あ}%
\dimen0=\wd2
\ifdim \wd0<\dimen0
\ifdim \wd1<\dimen0
\origfrac{\hbox to \dimen0{\hss$#1$\hss}}{\hbox to \dimen0{\hss$#2$\hss}}%
\else
\origfrac{#1}{#2}%
\fi
\else
\origfrac{#1}{#2}%
\fi}
コメント