集合构造符号中的分号

集合构造符号中的分号

在集合构造器符号中输入“;”的最佳方法是什么?

我认为\{\, x \in X \mid P(x) \,\}这是输入集合构造符号的常用方法。有人使用“:”代替“|”。无论如何,这些符号在数学中经常使用,当我看到类似于以下的符号(\mid\lvert\colon:重叠)时,我会感到不舒服。

SL(V) = { L ∈ GL(V) | |L| = 1 } = { L : V → V : |L| = 1 }

一种可能的排版可能是\{\, x \in X \,;\, P(x) \,\}。不过我想问一下,是否有类似\mid这样的好做法。如果有其他的,与我展示的有什么不同?谢谢。

编辑澄清 使用“|”或“:”只是为了解释为什么我不喜欢它的例子。我想知道是在这个上下文中是否有更好的方法来输入“;”。

答案1

首先,您应该为分隔符号定义一个命令,以确保它在整个文档中是统一的。

我提出四种不同的选择,选择您最喜欢的一种。

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\GL}{GL}
\DeclareMathOperator{\SL}{SL}

\begin{document}

\newcommand{\ssep}{\mid}

$\SL(V)=\{\, L\in\GL(V) \ssep \lvert L\rvert=1 \,\}=
 \{\, L\colon V\to V \ssep \lvert L\rvert=1 \,\}$

\medskip

\renewcommand{\ssep}{:}

$\SL(V)=\{\, L\in\GL(V) \ssep \lvert L\rvert=1 \,\}=
 \{\, L\colon V\to V \ssep \lvert L\rvert=1 \,\}$

\medskip

\renewcommand{\ssep}{\,;\,}

$\SL(V)=\{\, L\in\GL(V) \ssep \lvert L\rvert=1 \,\}=
 \{\, L\colon V\to V \ssep \lvert L\rvert=1 \,\}$

\medskip

\renewcommand{\ssep}{;}

$\SL(V)=\{\, L\in\GL(V) \ssep \lvert L\rvert=1 \,\}=
 \{\, L\colon V\to V \ssep \lvert L\rvert=1 \,\}$

\end{document}

四种不同的选择

我的选择是冒号或者杠铃。

我会绝不用矩阵的行列式表示\lvert L\rvert,这样可以避免出现两个连续条形的问题。\colon在地图符号中使用符号可以避免使用冒号时产生混淆。

答案2

我同意其余的观点,但只是想展示一下我在最近的项目中倾向于做的事情。

我希望代码本身更有意义,并且我想隐藏符号。

\usepackage{mathtools}
\newcommand\SetSymbol[1][]{\nonscript\:#1\vert\allowbreak\nonscript\:\mathopen{}}
\providecommand\given{} % to make it exist
\DeclarePairedDelimiterX\Set[1]\{\}{\renewcommand\given{\SetSymbol[\delimsize]}#1}

然后用作

\Set{ x\in A \given x^2 \geq 3 }

然后,以与我们处理的方式相同的方式siunitx,大声朗读代码时它就有意义了。

可以使用类似的构造来定义内置有对条件概率支持的概率算子。


2015 年更新:在定义中添加了 和\nonscript。效果更好。\allowbreak\mathopen\SetSymbol

答案3

您的问题似乎与 TeX 无关,而是与数学有关,但无论如何,我会尝试给出一些观点:

  • 您可以使用竖线、冒号或分号。

  • 但是,請了!不要将它们混合在一张纸中!

  • 对于具有函数定义的示例,您可以执行

    \{ L : L \text{ is a function } V \to V,\ \lvert L\rvert=1 \}
    
  • 我倾向于借助 来使用粗体冒号\usepackage{bm},并且我使用\usepackage{mathtools}' \DeclarePairedDelimiterX

    \DeclarePairedDelimiterX\set[2]\lbrace\rbrace{#1 \bm: #2}
    \DeclarePairedDelimiter\abs\lvert\rvert
    
    ...
    \set{L}{L \text{ is a function } V \to V,\ \abs{L}=1}
    

在此处输入图片描述

相关内容