名前: トノ 日時: 2002-08-23 01:19:18 IPアドレス: 150.35.254.*
>>10345 2 回処理する必要がありますが・・・ \documentclass{jarticle}\relax \makeatletter \newcommand*{\saveheight}[2]{% % 第1引数は識別用のラベル。高さを測る対象は第2引数として指定する。 \mathchoice{% \settoheight{\@tempdima}{$\displaystyle#2$}\@writeheight{#1}% }{% \settoheight{\@tempdima}{$\textstyle#2$}\@writeheight{#1}% }{% \settoheight{\@tempdima}{$\scriptstyle#2$}\@writeheight{#1}% }{% \settoheight{\@tempdima}{$\scriptscriptstyle#2$}\@writeheight{#1}% }% } \newcommand*{\@writeheight}[1]{% \edef\reserved@a{% \write\@auxout{% ラベルの重複のチェックをしていない!! \string\global\string\@namedef{savedheight:#1}{% \the\@tempdima }% }% }% \reserved@a } \newcommand*{\useheight}[1]{% 引数には、識別用のラベルを指定する。 \@ifundefined{savedheight:#1}{\z@}{\@nameuse{savedheight:#1}}% } \makeatother \begin{document} $\saveheight{1}{a}a\rule{10pt}{\useheight{1}}a$ $x^{a\saveheight{2}{a}}a\rule{10pt}{\useheight{2}}\scriptstyle a$ $x^{a^{b\saveheight{3}{b}}}b\rule{10pt}{\useheight{3}}\scriptscriptstyle b$ \end{document}
この書き込みへの返事: