在集合构造器符号中输入“;”的最佳方法是什么?
我认为\{\, 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}