\mathop 命令的正式含义是什么?
我看到它用于总和和极限的索引中以改善间距,例如
\sum_{n\mathop = 1}^\infty a_n
为什么它不自动这样格式化?这样看起来好多了。
答案1
TeX在样式和\thickmuskip
中设置了关系运算符和大多数其他数学原子,但在脚本样式和中没有空格。\displaystyle
\textstyle
\scriptstyle
\scriptscriptstyle
在脚本样式中, A\thinspace
也插入到运算符原子 ( \mathop
) 和普通原子 ( \mathord
) 之间。因此
\sum_{n \mathop{=} 1}
获取所需的间距:
然而:
- 关系符号变成了运算符,违反了干净标记。
\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}
\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}
评论:
- 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
旨在定义像lim
et al. 这样的运算符,而是=
一种关系。
至于间距,这是通过 knuth 对 20 世纪早期最精心排版的期刊上发表的大量例子的检查确定的。这些出版物在 knuth 的各种著作中被引用。我特别推荐他发表在美国数学学会公报.(我现在无法提供链接,但使用谷歌应该很容易找到。)
编辑:这是链接http://www.ams.org/journals/bull/1979-01-02/S0273-0979-1979-14598-1/S0273-0979-1979-14598-1.pdf