为什么分数间距会发生变化以及如何获得均匀间距?

为什么分数间距会发生变化以及如何获得均匀间距?

我注意到之间的空间\frac{}{}会根据它在表达式中出现的位置而变化。

还取决于使用的字体。为什么会发生这种情况?看起来不太好。

这是一个使用默认字体的示例

在此处输入图片描述

第一种情况,分子和破折号之间的空格以及分子和破折号之间的空格相同。第二种情况,空格不同。两种情况下的表达式相同。

上面的代码是

\documentclass[11pt, notitlepage]{article}
\usepackage{amsmath}
\usepackage[mathit=sym,bold-style=ISO]{unicode-math}        
\begin{document}

\[
y \left(x \right) = -\left(\int \frac{\sin \left(x \right) g \left(x \right)}{x^{\frac{3}{2}}}d x \right) \cos \left(x \right)
\]

\[
y \left(x \right) = \frac{-\left(\int \frac{\sin \left(x \right) g \left(x \right)}{x^{\frac{3}{2}}}d x \right) \cos \left(x \right)}{\sqrt{x}}
\]

\end{document}

当我使用以下字体时,情况会变得更糟。现在分子和破折号之间浪费了太多空间。破折号之间的空间不一样。

在此处输入图片描述

上面的代码是

\documentclass[11pt, notitlepage]{article}
\usepackage{amsmath}

\usepackage[mathit=sym,bold-style=ISO]{unicode-math}
\setmathfont{Asana Math}[Scale=MatchLowercase]
\usepackage{Baskervaldx} %changed to thisbelow
\setmainfont{Baskervaldx}[
  UprightFont=*-Reg,
  ItalicFont=*-Ita,
  BoldFont=*-Bol,
  BoldItalicFont=*-BolIta,
]

\begin{document}

\[
y \left(x \right) = -\left(\int \frac{\sin \left(x \right) g \left(x \right)}{x^{\frac{3}{2}}}d x \right) \cos \left(x \right)
\]

\[
y \left(x \right) = \frac{-\left(\int \frac{\sin \left(x \right) g \left(x \right)}{x^{\frac{3}{2}}}d x \right) \cos \left(x \right)}{\sqrt{x}}
\]

\end{document}

在这两种情况下,指数字体大小实际上可以稍微小一点。它似乎与被提升到这个指数的字母本身大小相同。

有没有一种字体可以做到这一点?始终保持相同的间距?

TL 2020

答案1

(发布此答案是为了让该帖子被视为具有“官方答案”)

一些初步的评论和意见:

  • 在显示的公式中,默认的数学样式是\displaystyle

  • 当 TeX 处于显示样式数学模式时,\int会生成“大”尺寸的积分符号,并将\frac其用作textstyle分子和分母的内容。字母和其他符号在显示和文本样式中具有相同的大小;两种样式之间的主要区别在于“可变大小符号”的大小,例如\sum\prod\int

  • 当 TeX 处于文本式数学模式时,\int会生成“常规”大小的积分符号,并\frac使用\scriptstyle来表示分子和分母的内容。 在 中\scriptstyle,字母和符号比 中的小 30% \textstyle

有了这些知识,我们就可以解释示例代码的输出。

  • 在第一种情况下(也显示在下面的第一行),\displaystyle是有效的;因此,会生成一个“大”积分符号,并且分子和分母项以文本样式排版。

  • 在第二种情况下(也显示在下面的第二行中),第一个例子的代码出现在表达式的分子中\frac;因此,文本样式有效。因此,将生成积分符号的“常规”大小,并且“内部”项的分子和分母\frac将排版为\scriptstyle

  • 要强制将“外部”项的分子内容\frac排版为\displaystyle而不是,只需在分子项的开头\textstyle插入指令即可;参见下面的第三行。\displaystyle

另外:在下面的代码中,我已经用替换,x^{\frac{3}{2}}x^{3/2}避免使分母项不必要地(并且分散注意力地)变大。

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage{amsmath} % for 'align*' environment

\usepackage[mathit=sym,bold-style=ISO]{unicode-math}
\setmainfont{Baskervaldx}[
    UprightFont   = *-Reg,
    ItalicFont    = *-Ita,
    BoldFont      = *-Bol,
    BoldItalicFont= *-BolIta]
\setmathfont{Asana Math}[Scale=MatchLowercase]

\newcommand\blurb{-\left( \int \frac{\sin(x)\,g(x)}{x^{3/2}}\,dx \right) \cos x}

\begin{document}
\begin{align*}
y (x) &= \blurb                  \\[1.5ex]
z (x) &= \frac{\blurb}{\sqrt{x}} \\
      &= \frac{\displaystyle\blurb}{\sqrt{x}}
\end{align*}
\end{document}

相关内容