nccmathパッケージを使用する代わりに、中サイズの分数マクロ

nccmathパッケージを使用する代わりに、中サイズの分数マクロ

中くらいの大きさの分数を得るには、数学パッケージ。しかし、他のパッケージとの互換性がない可能性があり、私はそのパッケージの中程度の部分だけを使いたいので、そのパッケージを削除したい。私は、より小さな部分を再現しようとするマクロを作成しました(\tfracではない!)ですが、今のところうまくいきません。以下は、培地分率とマクロによる現在の再現を示す MWE です。

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{nccmath,amsmath}
\usepackage{mathtools}

\newcommand*{\medfrac}[2]{\vcenter{\hbox{\scalebox{1}{\ensuremath{\frac{#1}{#2}}}}}}

\begin{document}

Blabla bla bla blabla :
    \begin{equation}
        \frac{1}{2} = \mfrac{1}{2} \: A = \medfrac{1}{2} \: A = \frac{1}{2} \: A.
    \end{equation}

\end{document}

プレビュー:

ここに画像の説明を入力してください

ご覧のとおり、\medfracマクロは、マクロのスケールパラメータとして1を使用しているにもかかわらず、小さな分数を返します。それで何が起こっているのでしょうか。どうすれば、同じ出力を得ることができるのでしょうか。\mfrac?

答え1

パッケージを使用しない理由は明確ではありませんが、そうでない場合は\scaleboxテキストには使用しないでください。これは単純なバージョンで、テキストにのみ機能し\normalsize、分数のバーの周りのスペースを狭くし、外側の方程式の数式軸に合わせてわずかに浮かせて分数を表示します\small \displaystyle。フォント寸法パラメータはこの回答に記載されています。

異なる\fontdimen<num>は何を意味するのか

ここに画像の説明を入力してください

マクロはここで 3 番目の 1/2 を作成し、比較のために nccmath mfrac を最終ケースに示します。

\documentclass{article}
\usepackage{amsmath,nccmath}
\newcommand\zfrac[2]{\text{\footnotesize\raisebox{.15ex}{%
\dimen0=\fontdimen8\textfont2  % numerator shift
\dimen2=\fontdimen11\textfont2 % denominator shift
\dimen4=\fontdimen8\textfont3  % fraction rule
$%
\fontdimen8\textfont2=.5\dimen0
\fontdimen11\textfont2=.5\dimen2
\fontdimen8\textfont3=1.1\dimen4
\dfrac{#1}{#2}$%
\fontdimen8\textfont2=\dimen0
\fontdimen11\textfont2=\dimen2
\fontdimen8\textfont3=\dimen4
}}}

\begin{document}

\[
\frac{1}{2}+\tfrac{1}{2}+\zfrac{1}{2}+\mfrac{1}{2}
\]
\end{document}

関連情報