我有话说
$$\left { 巨矩阵:我有长条件 \right }$$
我尝试使用对齐、多行和拆分环境,但无法在集合内开始新行。
例如,如果我这样做,就会出现错误
$$\left { 巨矩阵:\\ 我有长条件,如果我将 \ 放入集合 \right 中,就会出错 }$$
这是一个愚蠢的例子
$$\left \{ \begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix},\begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix} : A \in \{ \begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix}, \begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix},\begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix},\begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix}\}, B \in \{\begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix}, \begin{bmatrix}
0 &0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0 \\
&0 &0 &0
\end{bmatrix}\} \right \} $$
答案1
类似这样?代码将aligned
环境嵌套在multline*
环境中。我使用一条高直线来表示条件,而不是一个可能看起来很小的:
符号。
\documentclass{article}
\usepackage{amsmath}
\newcommand\bmat{%
\begin{bmatrix}
0 &0 &0 &0 \\
0 &0 &0 &0 \\
0 &0 &0 &0 \\
0 &0 &0 &0
\end{bmatrix}}
\newcommand\bigstrut{{\vphantom{\mathstrut^{\mathstrut}}}}
\begin{document}
\begin{multline*}
\left\{ \bmat,\bmat^\bigstrut \: \right\vert \\
\begin{aligned}
A &\in \left\{\bmat,\bmat,\bmat,\bmat\right\}, \\
\quad B &\in \left. \left\{\bmat,\bmat \right\}^\bigstrut
\right\}
\end{aligned}
\end{multline*}
\end{document}
答案2
这是一个解决方案,代码改编自mathtools
文档。我\set
根据\DeclarePairedDelimiter
命令定义一个命令。这定义了一个\set*
命令,\left … right
括号前面有一个隐式对,并且间距正确。为了进行微调,\set
接受一个可选参数:\big
,,\Big
&c。使用 Sébastien Gouezel 的\MTkillspecial
命令可以使此构造跨行分解。
为了使您的示例不溢出右边距,我使用了medsize
来自的环境nccmath
。最后一个例子使用环境的 mathtools 扩展使示例成为一行smallmatrix
:
\documentclass{article}
\usepackage{geometry} %
\usepackage{nccmath, mathtools}
\newenvironment{bmmatrix}{\medsize\bmatrix}{\endbmatrix\endmedsize}
\newcommand\MTkillspecial[1]{% helper macro
\bgroup
\catcode`\&=9
\let\\\relax%
\scantokens{#1}%
\egroup
}
\DeclarePairedDelimiter\set\{\}
\reDeclarePairedDelimiterInnerWrapper\set{star}{
\mathopen{#1\vphantom{\MTkillspecial{#2}}\kern-\nulldelimiterspace\right.}
#2
\mathclose{\left.\kern-\nulldelimiterspace\vphantom{\MTkillspecial{#2}}#3}}
\begin{document}
\begin{align*}
\set*{ \begin{bmmatrix} 0 & 0 & 0 & 0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix},\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix} : {}& A ∈ \set*{ \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix}, \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix},\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix},\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix}}, \\%
& B ∈ \set*{\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix}, \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix}} %
}%
\end{align*}
\bigskip
\begin{align*}
\set*{ \begin{bmmatrix} 0 & 0 & 0 & 0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix},\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix} : A ∈ \set*{ \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix}, \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix} , \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix},\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix} & }, \\%
B ∈ \set*{\begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix} , \begin{bmmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmmatrix} & } %
}%
\end{align*}
\bigskip
\[
\set[\Bigg]{ \begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix},\begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix} : A ∈ \set*{ \begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix}, \begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix},\begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix},\begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix}}, B ∈ \set*{\begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix}, \begin{bsmallmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bsmallmatrix}}} \]
\end{document}
答案3
像这样吗?
\documentclass{article}
\usepackage{amsmath}
\usepackage[margin=0.5in]{geometry}
\begin{document}
\begin{multline}
\left \{ \begin{bmatrix} 0 &0 &0 &0 \\ 0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix},\begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix} : A \in { \begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix}, \begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix},\begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix},\begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix}},\right.\\
\left. B \in {\begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix}, \begin{bmatrix} 0 &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \\ &0 &0 &0 \end{bmatrix}} \right \}
\end{multline}
\end{document}