我在 Stack Exchange 上找到了一个解决方案,可以将分子和分母与分界线进一步分开。如果分界线上方和下方都有分数,则此解决方案没问题,但如果分子中有一个分数而分母中没有分数,则分母看起来会与分界线相距甚远。
我找到了像公式 (4) 中那样调整两边的解法。但是,我希望有人能解释一下让我困惑的一件事。您可以看到标签中的值\raisebox
是带小数点的数字。事实上,如果您输入任何没有小数的数字,它都不会起作用。这是为什么?如果输入没有小数点的整数,分子或分母或两者都会消失。
以下是 LaTeX 代码:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\myfrac}[3][0pt]{\genfrac{}{}{}{}{\raisebox{#1}{$#2$}}{\raisebox{-#1}{$#3$}}}
\newcommand{\mfrac}[3][0pt]{\genfrac{}{}{}{}{\raisebox{9.5#1}{$#2$}}{\raisebox{-4.9#1}{$#3$}}}
\begin{document}
$(1) = \cfrac{\dfrac{T_1}{T_2}}{1+\dfrac{Q_1}{Q_2}}$ \\ \vspace{12pt}
$(2) = \myfrac[12pt]{\dfrac{T_1}{T_2}}{1+\dfrac{Q_1}{Q_2}}$ \\ \vspace{12pt}
$(3) = \myfrac[12pt]{\dfrac{T_1}{T_2}}{1+{Q_1}+{\cos{30}}}$ \\ \vspace{12pt}
$(4) = \mfrac[12pt]{\dfrac{T_1}{T_2}}{1+{Q_1}+{\cos{30}}}$ \\ \vspace{12pt}
\end{document}
答案1
在您的代码中,\raisebox{9.5#1}{$#2$}
当您使用
\mfrac[12pt]{\dfrac{T_1}{T_2}}{1+{Q_1}+{\cos{30}}}
#1
变成12pt
,所以\raisebox{9.5#1}{$#2$}
变成\raisebox{9.512pt}{$#2$}
。
9.512 pt 相当小(3,34 毫米)。
但是使用\raisebox{9#1}{$#2$}
(例如当您不使用小数点时,将 9.5 替换为 9)时,\raisebox{9#1}{$#2$}
会变成\raisebox{912pt}{$#2$}
。
912pt 相当大(32 厘米)。
您的公式 4 显示在下一页上。
对于您的问题,我建议您使用 egreg 提供的代码https://tex.stackexchange.com/a/279006/132405。
他创建了该\qfrac
命令,并附带一个带星号的版本(对于分母上的分数使用带星号的版本)。
在下面的代码中,如果您拥有较新的 LaTeX 版本(例如 2022 或更新版本),则无需加载该xparse
包,因为它现在在 LaTeX 内核上。
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse} % not necessary on recent LaTeX versions
% from https://tex.stackexchange.com/a/279006/132405
\NewDocumentCommand{\qfrac}{smm}{%
\dfrac{\IfBooleanT{#1}{\vphantom{\big|}}#2}{\mathstrut #3}%
}
\begin{document}
$(1) = \dfrac{\qfrac{T_1}{T_2}}{1+\qfrac{Q_1}{Q_2}}$ \\ \vspace{12pt}
$(2) = \dfrac{\qfrac{T_1}{T_2}}{1+\qfrac*{Q_1}{Q_2}}$ \\ \vspace{12pt}
$(3) = \dfrac{\qfrac{T_1}{T_2}}{1+{Q_1}+{\cos{30}}}$ \\ \vspace{12pt}
\end{document}
(1)用于\qfrac
分母上的分数:结果不太好(分母中的分数太靠近大水平线)。
(2)用\qfrac*
分母表示分数:结果正确。