如何在 MathJax 中调整(控制)下标大小

How to resize (control) subscript sizes in MathJax

我通过将 MathJax 库包含在我的 HTML 的 'head' 标签中,将其包含在我的 HTML 中。

<head>
  <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
  </script>
</head>

然后,我使用定界符来表示 MathJax 解析...

 \[\sigma_{X}^{2} = VAR[X = E[(X-m_X)^2]\]

但请注意,'m' 及其下标 'X' 之间的可怕大小比。

我只是想控制这个大小。 或者将 MathJax 配置为生成,标识符和下标或上标之间的标准比率应该是多少。

您可以使用 LaTeX 语法(而不是 MathJax 配置)控制大小:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MathJax</title>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>

<body>
\[\sigma_{\tiny X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{\scriptsize X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{\small X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{\large X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{\Large X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{\LARGE X}^{2} = VAR[X = E[(X-m_X)^2]\]
\[\sigma_{\huge X}^{2} = VAR[X = E[(X-m_X)^2]\]
</body>
</html>

实际上,只有 footnotesize 不适合我 (JSFiddle)。

MathJax 确实为上标和下标使用了较小的尺寸,但您的浏览器可能指定了最小字体尺寸,这会阻止使用 MathJax 请求的尺寸。您能否检查一下浏览器的字体设置,看看是否属于这种情况?

另外,MathJax 有自己的最小字体大小设置,用于上标和下标 (8px)。如果您的页面以非常小的字体排版,可能是因为您 运行 喜欢这种字体。如果是这种情况,您可以通过以下配置覆盖它:

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script>
MathJax = {
  startup: {
    ready: function () {
      var math = MathJax._.core.MmlTree.MmlNodes.math.MmlMath;
      math.defaults.scriptminsize = '0px';
      MathJax.startup.defaultReady();
    }
  }
};
</script>

将最小值设置为 0 像素,有效地将其完全删除。请注意,这不会覆盖浏览器设置,因此如果是浏览器中设置的最小尺寸导致问题,则 MathJax 对此无能为力。