発言者: st
発言日: 2007 12/29 14:55
発言元: 220.221.8.13
石原 守様、回答有難うございます。
\makeatletter〜\makeatotherの部分は、
emath.styを基に新しく作ったという事でしょうか。
ソースを改良したりする事はなかなかできない私ですが、
これは、重宝しそうです。
縦型約分にも使えますね。
>分数の線が短いと言わないでね。
分数の線が長くならないのは、自然な事のように思います。
(主観的意見か分かりませんが)
という訳で使いたいのですが、1つ問題が有って、
直後に全角文字を置いたりすると、
訂正後の文字の、水平方向の長さが考慮されなくなっています。
(以下の例の通りです)
この点を修正する事はできるでしょうか。
[例]
\documentclass[a4paper,fleqn]{jarticle}
\usepackage{geometry}
\usepackage{emathP}
\usepackage{type1cm}% PS, PDF 作成には必要
\makeatletter
\def\mTeisei{%
\@ifnextchar[{\@mTeisei}{\@mTeisei[s]}}%
\def\@mTeisei[#1]{%
\@ifnextchar({\@mTeisei@[#1]}{\@mTeisei[#1](\empty)}}%
\def\@mTeisei@[#1](#2)#3{%
\@ifnextchar[{\@@mTeisei[#1](#2){#3}}{\@@mTeisei[#1](#2){#3}[r]}}%
\def\@@mTeisei[#1](#2)#3[#4]#5{{%
\edef\mozi@iti{0}%
\expandafter\@tfor\expandafter\@c\expandafter:\expandafter=#4%
\do {\if r\@c\IAdd\mozi@iti{2}\mozi@iti\else
\if l\@c\IAdd\mozi@iti{4}\mozi@iti\else
\if b\@c\IAdd\mozi@iti{1}\mozi@iti\fi\fi\fi}%
\ifx\empty#5\@teisei@[#1](#2){#3}{}\else%
\ifcase\mozi@iti\overset{#5}{\@teisei@[#1](#2){#3}{}}%
\or\underset{#5}{\@teisei@[#1](#2){#3}{}}%
\or{\@teisei@[#1](#2){#3}{}}^{\makebox[0pt][l]{\,{$\scriptstyle#5$}}}%
\or{\@teisei@[#1](#2){#3}{}}_{\makebox[0pt][l]{\,{$\scriptstyle#5$}}}%
\or{}^{\makebox[0pt][r]{$\scriptstyle#5$\,}}{\@teisei@[#1](#2){#3}{}}%
\or{}_{\makebox[0pt][r]{$\scriptstyle#5$\,}}{\@teisei@[#1](#2){#3}{}}\fi
\fi}}%
\makeatother
\begin{document}
$\bunsuu{\mTeisei{24}[r]{12}}{\mTeisei{22}[rb]{11}}$あ
\end{document}
▼関連発言
│
└◆6899:\Teiseiコマンドについて [st] 12/29 07:06
├◆6900:Re:\Teiseiコマンドについて [石原 守] 12/29 07:51
│├◆6902:--- [---] 12/29 14:54
│└◆6903:Re[2]:\Teiseiコマンドについて [st] 12/29 14:55
│ └◆6905:Re[3]:\Teiseiコマンドについて [石原 守] 12/29 15:18
│ └◆6906:Re[4]:\Teiseiコマンドについて [st] 12/29 15:50
└◆6901:Re:\Teiseiコマンドについて [tDB] 12/29 11:40
└◆6904:Re[2]:\Teiseiコマンドについて [st] 12/29 15:10
└◆6907:Re[3]:\Teiseiコマンドについて [tDB] 12/29 15:55
└◆6908:Re[4]:\Teiseiコマンドについて [st] 12/29 16:17<-last