\mathop 在求和与极限中

\mathop 在求和与极限中

\mathop 命令的正式含义是什么?

我看到它用于总和和极限的索引中以改善间距,例如

\sum_{n\mathop = 1}^\infty a_n

为什么它不自动这样格式化?这样看起来好多了。

答案1

TeX在样式和\thickmuskip中设置了关系运算符和大多数其他数学原子,但在脚本样式和中没有空格。\displaystyle\textstyle\scriptstyle\scriptscriptstyle

在脚本样式中, A\thinspace也插入到运算符原子 ( \mathop) 和普通原子 ( \mathord) 之间。因此

\sum_{n \mathop{=} 1}

获取所需的间距:

mathop =

然而:

  • 关系符号变成了运算符,违反了干净标记。
  • \displaystyle和 的间距太小\textstyle
  • \mathop垂直居中符号,例如:

    \sum_{n \mathop{.} 1}
    

    点

    该点移动到数学轴并变成“ \cdot”。

    对于等号来说这不是问题,因为它通常已经以数学轴为中心。

\,可以按照 Werner 的建议手动添加间距评论

\sum_{n \,=\, 1}

薄弱空间

优势:

  • 这更切题。
  • 打字更短。

仍然存在一个小缺点:

  • \displaystyle和之间的空间过大\textstyle

有一个技巧可以解决后者:\nonscript抑制脚本样式中的以下空格。

\documentclass{article}

\newcommand*{\mrel}[1]{%
  \mskip\thinmuskip
  \nonscript\mskip-\thinmuskip
  \mathrel{#1}%
  \mskip\thinmuskip
  \nonscript\mskip-\thinmuskip
}
\begin{document}
\[ \sum_{n \mrel= 1} \mrel= 1 \]
\end{document}

\mrel

\thinmuskip以脚本样式添加,否则将被取消-\thinmuskip

LuaTeX

在 LuaTeX 中,数学原子之间的间距可以配置得非常深。此外,狭窄样式也可以作为命令使用。如果表达式上方有东西(分母,,\sqrt...),则使用狭窄样式。然后上标会稍微降低一点。狭窄样式用于 的下标\sum

以下示例在\scriptstyle和 cramped中的数学原子之间配置了一个较窄的空间,而在或\scriptstyle中设置了一个较厚的空间。\textstyle\displaystyle

 \documentclass{article}

\usepackage{ifluatex}
\makeatletter
\ifluatex
  \def\@tempa#1#2#3{%
    \csname luatexUmath#1#2spacing\endcsname\luatexcrampedscriptstyle=#3\relax
    \csname luatexUmath#1#2spacing\endcsname\scriptstyle=#3\relax
  }%
  \@for\@tempb:={ord,op,close,inner}\do{%
    \@tempa\@tempb{rel}\thinmuskip
  }%
  \@for\@tempb:={ord,op,open,inner}\do{%
    \@tempa{rel}\@tempb\thinmuskip
  }%
\fi
\makeatother

\begin{document}
\[ \sum_{n = 1}^{n = 1} \]
\end{document}

LuaTeX

评论:

  • LuaLaTeX 对新的 LuaTeX 命令使用前缀,luatex以避免与现有宏发生名称冲突。
  • 共有 16 种设置。\@for循环避免了冗长的赋值列表。

答案2

这里有四种策略。第一种是我最喜欢的。

\documentclass{article}
\usepackage{amsmath}
\newcommand{\su}[1]{%
  \text{\thickmuskip=3mu$#1$}%
}


\begin{document}
\begin{alignat*}{2}
&\text{Normal: }   && \sum_{k=1}^{m}a_{k}\\
&\text{Modified: } && \sum_{\text{$k=1$}}^{m}a_{k}\\
&\text{Thin space: } && \sum_{k\,=\,1}^{m}a_{k}\\
&\text{Command: } && \sum_\su{k=1}^{m}a_{k}
\end{alignat*}
\end{document}

在此处输入图片描述

答案3

正如 Werner 在评论中所说,\mathop旨在定义像limet al. 这样的运算符,而是=一种关系。

至于间距,这是通过 knuth 对 20 世纪早期最精心排版的期刊上发表的大量例子的检查确定的。这些出版物在 knuth 的各种著作中被引用。我特别推荐他发表在美国数学学会公报.(我现在无法提供链接,但使用谷歌应该很容易找到。)

编辑:这是链接http://www.ams.org/journals/bull/1979-01-02/S0273-0979-1979-14598-1/S0273-0979-1979-14598-1.pdf

相关内容