使逗号后的空格大于二元关系符号周围的空格

使逗号后的空格大于二元关系符号周围的空格

考虑以下代码:

\RequirePackage{fix-cm}
\documentclass[10pt,conference,compsoc,letterpaper]{IEEEtran}
\usepackage{amsfonts}
\usepackage{amsmath}
\newcommand{\Foo}{\mathsf{Foo}}
\newcommand{\Blob}{\mathsf{Blob}}
\newcommand{\powerset}{\mathfrak{P}}
\begin{document}
Let \(A\) \(=\) \(\Bigl\{g\colon \bigl(\Foo\mkern-1mu\times\mkern-1mu\powerset((\Blob{\times}\Foo)^2)\bigr)\to\Foo\to\mathbb{N}_{\ge 0}\,\allowbreak\Bigm|\,\allowbreak\forall\,a{\in}\Foo,\,{\leadsto}\mkern-1mu\subseteq\mkern-1mu(\Blob{\times}\Foo)^2\colon\mkern1mu \sum_{b\in\Foo}g(a,{\leadsto})(b)=\bigl\lvert\{t{<}n\mid l_t\mkern-1mu=\mkern-1mua \land {\leadsto}\mkern-1mu=\mkern-1mu{\rightarrow_t}\}\bigr\rvert\Bigr\}\).
\end{document}

输出为: output of the above code

第二行很丑陋: 周围的间距大于 之后的间距a∈Foo,。 应该反过来: ↝ 之前的空间应该大于其之后的空间。 原因:全量词在逻辑上绑定了两个变量:a,其中 的a范围为Foo的范围为 的子集(Blob × Foo)²。 此外, 周围的间距必须保持大于×中的周围的间距(Blob×Foo)²

当然,我可以通过\mkern\,\\hspace\!等临时手动调整间距,但我有大量类似的公式。因此,我需要一个更通用的解决方案。当整个文档的列宽发生变化时,它也应该有效。有什么想法吗?

答案1

我发现逗号是你最不关心的问题。如果你想要量化两个变量,请使用量词。

你试图用所有可能的方式覆盖标准数学间距,但大多数都是错误的。结果是空格似乎是随机放置的:原因是关系和运算符号周围的空格是灵活的,而标点符号后的空格则不是。然而,你需要这样的灵活性才能有理由:这是一个无法解决的问题。

如果你想要一个在单列排版时也能正常工作的解决方案,那就更“无解”了。双列格式的数学运算需要做出许多妥协:它只适用于短公式。

此外,读者将无法理解你试图告诉他们什么。长篇描述最好用文字表达:即使间距正确,你的文字也是非常很难解析。

我不确定 g 是什么样的数学对象,所以我称它为额外斑点

\documentclass[10pt,conference,compsoc,letterpaper]{IEEEtran}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{mathptmx} % IEEEtran does \usepackage{times}

\usepackage{lipsum} % just for the example

\newcommand{\Foo}{\mathsf{Foo}}
\newcommand{\Blob}{\mathsf{Blob}}
\newcommand{\powerset}{\mathfrak{P}}
\newcommand{\varlto}{{\leadsto}} % \leadsto as a variable
\newcommand{\varto}{{\rightarrow}} % \rightarrow as a variable

\begin{document}

\lipsum[3]

Let \(A\) be the set of extrablobs
\[
g\colon \Foo\times\powerset((\Blob\times\Foo)^2)\to\Foo\to\mathbb{N}_{\ge 0}
\]
such that, for all \(a\in\Foo\) and all
\(\varlto\subseteq(\Blob\times\Foo)^2\),
\[
\sum_{b\in\Foo}g(a,\varlto)(b)=
\bigl\lvert\{t<n \mid l_t=a \land \varlto=\varto_t\}\bigr\rvert.
\]
\lipsum[4]

\end{document}

enter image description here

相关内容