在集合定义中分隔子句的语义正确方法是什么?

在集合定义中分隔子句的语义正确方法是什么?

假设我要定义一组满足两个条件的元素,如:

$\{ f(x,y) \mid 2<x<5, 7<y<10 \}$

从语义上讲,我使用逗号字符来分隔定义的两个子句2<x<57<y<10。但是 TeX 在数学模式下将逗号视为常规数学符号,其周围没有额外的空格,并且不允许在其后换行。相比之下,关系符号<似乎被稍微多一点的空间包围,并且 TeX 允许在其后换行。因此,如果此集合定义中需要换行(在内联数学模式下),TeX 将允许在其后换行,<但不允许在,--- 后换行,这与内容的预期解析相反。

可以通过添加\allowbreak(或其他解决方案) 并手动强制使用数学模式空间。但本着 TeX 将内容与布局分离的目标,我感觉我遗漏了一些东西。似乎逗号符号不是用于此目的的正确字符。

逗号的替代符号可能是 & 号,例如:

$\{ f(x,y) \mid 2<x<5 \& 7<y<10 \}$

但是&就像一样,,是一个普通的数学字符,所以这并不能解决任何问题。

在集合定义中分隔子句的语义正确方法是什么?

答案1

这个答案的目的是,首先,建议使用“和”这个词,因为它使得在视觉上更容易分离这两个条件;其次,提倡使用一些简单的集合命令,以确保右括号永远不会丢失,并且在一个地方定义是否使用或任何其他分隔符\mid\colon

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\newcommand\set[1]{\{#1\}}
\newcommand\Set[2]{\set{#1\mid#2}}
\newcommand\SET[2]{\Set{#1}{\text{#2}}}
\begin{document}
$\set{1,2,3}$

$\Set{f(x,y)}{(2<x<5) \land (7<y<10)}$

$\SET{f(x,y)}{$2<x<5$ and $7<y<10$}$

$\SET{f(x,y)}{$2<x<5$, $7<y<10$}$
\end{document}

答案2

我不知道我是否可以将此作为答案,但我一定会尝试。问题的关键在于& 从未打算用于子句符号。另一方面,如果你使用好的(和正确的)逻辑符号,你就会顺利通过。我是一名数学家,我看过很多数学论文,但没有一篇提到&符号。我不想把我的审美观点强加给你,但只是为了普遍的清晰度,我建议你从现在开始使用\wedge\vee和其他逻辑符号。无论如何,这是代码。

\documentclass{article}
\usepackage{amsmath}

\begin{document}
$\{ f(x,y) \mid (2<x<5) \wedge (7<y<10) \}$
\end{document}

在此处输入图片描述

相关内容