![嵌套分数的垂直间距](https://linux22.com/image/323176/%E5%B5%8C%E5%A5%97%E5%88%86%E6%95%B0%E7%9A%84%E5%9E%82%E7%9B%B4%E9%97%B4%E8%B7%9D.png)
我有复杂的数学表达式:
文本和分数线之间的垂直间距太小。
我尝试定义具有可调垂直间距的新\frac
命令(使用amsmath
包)。如您所见,结果并不令人满意:
\documentclass[a4paper,fleqn,leqno]{article}
\usepackage{polyglossia}
\usepackage{color,pifont,fontspec}
\usepackage[top=2.54cm,bottom=2.54cm,left=2.54cm,right=2.54cm]{geometry}
\usepackage{tikz,tikz-3dplot,graphicx}
\usepackage{mathtools,breqn,amsmath}
\usepackage[fontsize=12]{scrextend}
\usepackage{array,multirow}
\usepackage{pgfplots}
\DeclareMathSizes{12}{14}{14}{10}
\newcommand{\myfrac}[3][0pt]{\genfrac{}{}{}{}{\raisebox{#1}{$#2$}}{\raisebox{-#1}{$#3$}}}
\begin{document}
\begin{dmath*}[breakdepth={0},style={\mathindent=0pt},spread={10pt}]
{n=\myfrac[3pt]{\myfrac[3pt]{0,0625N+0,0215}{2}-0,043}{\myfrac[3pt]{\myfrac[3pt]{\scriptstyle 0,0625N+0,0215}{\scriptstyle 2}-0,043}{\myfrac[3pt]{\scriptstyle N}{\scriptstyle 2}-1}+0,0215}}
\end{dmath*}
\end{document}
我怎样才能放大整数分数的垂直间距?
答案1
在这种情况下,我会添加一个\mathstrut
,但如果分数是分母的一部分,则这还不够。对于这种情况,\big|
似乎可以做到。
\documentclass{article}
\usepackage{amsmath,xparse}
\NewDocumentCommand{\qfrac}{smm}{%
\dfrac{\IfBooleanT{#1}{\vphantom{\big|}}#2}{\mathstrut #3}%
}
\begin{document}
Without adjustment
\[
n=\frac
{\qfrac{0{,}0625N+0{,}0215}{2}-0{,}043}
{\qfrac
{\qfrac{0{,}0625N+0{,}0215}{2}-0{,}043}
{\qfrac{N}{2}-1+0{,}0215}
}
\]
With adjustment
\[
n=\frac
{\qfrac{0{,}0625N+0{,}0215}{2}-0{,}043}
{\qfrac
{\qfrac*{0{,}0625N+0{,}0215}{2}-0{,}043}
{\qfrac*{N}{2}-1+0{,}0215}
}
\]
\end{document}
\qfrac*
当分数位于分母中时应使用该版本。
请注意{,}
逗号后没有空格。
图片似乎暗示 0.043 旁边的顶部减号与分数线不对齐,但这只是由于像素舍入造成的。这是最大放大倍数下的细节。
答案2
如果使用\cfrac
机器(“连分数”)排版复杂的嵌套分数表达式,则不需要调整垂直间距。
\documentclass[a4paper,fleqn,leqno]{article}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage[margin=2.54cm]{geometry}
\usepackage{amsmath}
\usepackage[fontsize=12]{scrextend}
\begin{document}
\[
n=\cfrac{\cfrac{0{,}0625N+0{,}0215}{2}-0{,}043}
{\cfrac{\cfrac{0{,}0625N+0{,}0215}{2}-0{,}043}
{\cfrac{N}{2}-1}
+0{,}0215}
\]
\end{document}