下列的
\documentclass[varwidth]{standalone}
\usepackage{amsmath}
\usepackage{stackengine}
\usepackage{xcolor}
\renewcommand{\vec}[1]{\mathbf{#1}}
\begin{document}
\stackMath
\begin{equation*}
\mathcal{G} = \stackunder{p6mm}{\vec{a},\vec{b}} \overset{t[\mathit{3}]}{>}
\mathcal{Z} = \stackunder{c2mm}{\braceVectorstack{{\vec{a}-\vec{b},\vec{a}+\vec{b}} {\vec{a}+2\vec{b},-\vec{a}} {\textcolor{red}{2\vec{a}+\vec{b},\vec{b}}}}}
\end{equation*}
\end{document}
给出
我想将另一个块用单独的花括号括起来添加到底层堆栈中,并且左侧只有一个括号。查看使用图像编辑器修改的图像:
嵌套\Shortunderstack{ \braceVectorstack{} ...}
看起来是不可能的。天真的尝试
\mathcal{Z} = \Shortunderstack{{c2mm} {\braceVectorstack{{\vec{a}-\vec{b},\vec{a}+\vec{b}} {\vec{a}+2\vec{b},-\vec{a}} {\textcolor{red}{2\vec{a}+\vec{b},\vec{b}}}}}}
给我
l.12 ...xtcolor{red}{2\vec{a}+\vec{b},\vec{b}}}}}}
./demo.tex:12: Package listofitems Error: 3 is an invalid index, index [] retained.
我怎样才能用这个包实现这个堆栈引擎或者不同的方式/包裹?
的文件堆栈引擎状态
除了需要此包的特定功能的情况外,stackengine 可能不是数学模式的最佳包,因为已有许多包直接满足堆叠和对齐数学对象的需求。
其实我只知道这个包数学有\substack
,,\overset
。\underset
如果有人能提到作者提到的几个软件包,我将不胜感激。
答案1
我不太确定预期的输出应该是什么,但在这种情况下,我只会使用array
,也许还有cases
来自的环境amsmath
。
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\renewcommand{\vec}[1]{\mathbf{#1}}
\begin{document}
\[
\mathcal{Z} =
\begin{array}[t]{l}
\multicolumn{1}{c}{foo}\\
\begin{cases}
\vec{a}-\vec{b},\vec{a}+\vec{b}\\
\vec{a}+2\vec{b},-\vec{a}\\
\textcolor{red}{2\vec{a}+\vec{b},\vec{b}}
\end{cases}
\\
\begin{cases}
\vec{a}-\vec{b},\vec{a}+\vec{b}\\
\vec{a}+2\vec{b},-\vec{a}\\
\textcolor{red}{2\vec{a}+\vec{b},\vec{b}}
\end{cases}
\end{array}
%
= % second version
%
\begin{array}[t]{l}
\multicolumn{1}{c}{foo}\\
\left\{\begin{array}{@{}c@{}}
\vec{a}-\vec{b},\vec{a}+\vec{b}\\
\vec{a}+2\vec{b},-\vec{a}\\
\textcolor{red}{2\vec{a}+\vec{b},\vec{b}}
\end{array}\right.
\\[4ex]
\left\{\begin{array}{@{}c@{}}
\vec{a}-\vec{b},\vec{a}+\vec{b}\\
\vec{a}+2\vec{b},-\vec{a}\\
\textcolor{red}{2\vec{a}+\vec{b},\vec{b}}
\end{array}\right.
\end{array}
\]
\end{document}
我写过“富“因为我不明白第一行c2毫米是不是打字错误。
答案2
您可以\Shortunderstack
在两个cases
环境中使用,也可以在一个环境中使用\stackunder
两个块:blockarray
\documentclass{article}
\usepackage{mathtools}
\usepackage{blkarray}
\usepackage{stackengine}
\usepackage{xcolor}
\renewcommand{\vec}[1]{\mathbf{#1}}
\begin{document}
\stackMath
\begin{equation*}
\mathcal{G} = \stackunder{p6mm}{\vec{a},\vec{b}} \overset{t[\mathit{3}]}{>}
\mathcal{Z} = \Shortunderstack{{c2mm} {\begin{dcases}\begin{matrix}\vec{a}-\vec{b},\vec{a}+\vec{b}\\ \vec{a}+2\vec{b},-\vec{a}\\ \textcolor{red}{2\vec{a}+\vec{b},\vec{b}}\end{matrix}\end{dcases}} { \begin{dcases}\vec{a}-\vec{b},\vec{a}+\vec{b}\\ \vec{a}+2\vec{b},-\vec{a}\\ \textcolor{red}{2\vec{a}+\vec{b},\vec{b}}\end{dcases}}}
\end{equation*}
\begin{equation*}
\mathcal{G} = \stackunder{p6mm}{\vec{a},\vec{b}} \overset{t[\mathit{3}]}{>}
\mathcal{Z} = \stackunder{c2mm}{\begin{blockarray}{c}\begin{block}{\{c}\vec{a}-\vec{b},\vec{a}+\vec{b}\\ \vec{a}+2\vec{b},-\vec{a}\\ \textcolor{red}{2\vec{a}+\vec{b},\vec{b}}\\ \end{block}\begin{block}{\{r}\vec{a}-\vec{b},\vec{a}+\vec{b}\\ \vec{a}+2\vec{b},-\vec{a}\\ \textcolor{red}{2\vec{a}+\vec{b},\vec{b}}\\ \end{block}\end{blockarray}}
\end{equation*}
\end{document}
答案3
嵌套\stackunder{anchor}{\stackunder{b1}{\stackunder{b2}{...}}}
我已经找到了另一种解决方案堆栈引擎通过嵌套\stackunder{}
和使用\left\{\Vectorstack{item1 item2 item3}\right.
块。
\documentclass[varwidth]{standalone}
\usepackage{amsmath}
\usepackage{stackengine}
\begin{document}
\stackMath
\begin{equation*}
\mathcal{Z} = \stackunder
{c2mm}
{\stackunder
{\left\{\Vectorstack{block1 block1 block1}\right.}
{\stackunder
{\left\{\Vectorstack{block2 block2 block2}\right.}
{\left\{\Vectorstack{block3 block3 block3}\right.}
}
}
\end{equation*}
\end{document}