答案1
\mid
|
是用作中缀运算符 的命令。还请注意big\{
,应该是\bigl\{
和\big\}
应该是\bigr\}
,否则您会丢失分隔符上的打开/关闭间距,但不幸的是,您不能使用变\bigm
体,\mid
因为它不是分隔符,因此您需要\bigm|
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
aaa
\[
E_1 = \{ \langle 5, j \rangle \mid j \in \{1, \cdots, n \} - \{ 5 \} \}
\]
bbb
\[
E_1 = \bigl\{ \langle 5, j \rangle \bigm| j \in \{1, \cdots, n \} - \{ 5 \} \bigr\}
\]
\end{document}
答案2
我建议用包和来\set
定义宏和,使用简单的语法:和。\innerp
xparse
mathtools
\set{x;P(x)}
\innerp{x,y}
\left \right
这些命令有一个带星号的版本,它在分隔符前面添加了一对隐式的,并确保了适当的间距。它们还可以将其中一个作为可选参数\big, \Big, \bigg, \Bigg
,同样会添加一对隐式的\bigl \bigr
,等等。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xparse}
\usepackage{mathtools}
\DeclarePairedDelimiterX{\set}[1]\{\}{\setargs{#1}}
%%% Syntax: \set{x ; P(x)})
\NewDocumentCommand{\setargs}{>{\SplitArgument{1}{;}}m}
{\setargsaux#1}
\NewDocumentCommand{\setargsaux}{mm}
{\IfNoValueTF{#2}{#1}{\nonscript\,#1\nonscript\;\delimsize\vert\nonscript\:\mathopen{} #2\nonscript\,}}
\DeclarePairedDelimiterX{\innerp}[1]{\langle}{\rangle}{\innpargs{#1}}
%%% Syntax: \innerp{x,y}
\NewDocumentCommand{\innpargs}{ >{\SplitArgument{1}{,}}m }
{\innpargsaux#1}
\NewDocumentCommand{\innpargsaux}{ m m }
{#1\:,\,\mathopen{}#2}%
\begin{document}
\[
E_1 = \set*{ \innerp{5, j} ; j \in \set{1, \cdots, n } - \set{5} }
\]
\[
E_1 = \set[\Big]{ \innerp{5, j} ; j \in \set{1, \cdots, n } - \set{5} }
\]
\end{document}