中等大小的分数宏,而不是使用 nccmath 包

中等大小的分数宏,而不是使用 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> 代表什么意思

在此处输入图片描述

宏在这里生成第三个 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}

相关内容