在对齐或聚集环境中使用 tikzpicture 矩阵

在对齐或聚集环境中使用 tikzpicture 矩阵

到目前为止,我发现使用 TikZ 包中的矩阵命令是在矩阵底部行和中间列周围绘制 T 形的唯一方法。我现在需要在对齐环境中使用此矩阵,以便可以将其用作多行推导的一部分 - 方程环境不合适。

我在任何地方都找不到类似的问题。是否可以或建议按照我的意愿去做?

答案1

这是可以做到的:唯一需要记住的是 应该tikzpicture与公式的其余部分垂直对齐。要实现此结果,您可以使用选项[baseline=-0.5ex]

以下是 MWE:

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usetikzlibrary{matrix,calc}
\begin{document}
\begin{align*}
P&=
\begin{tikzpicture}[baseline=-0.5ex]
\matrix[matrix of math nodes,
 left delimiter=(,
 right delimiter=),
 inner sep=2.5pt, 
 column 2/.style={green!50!black},
 ampersand replacement=\&] % <= to change col separator for align env
{
 x_1 \&  y_1  \\    
 x_2 \&  y_2  \\    
 x_3 \&  y_3  \\    
 x_4 \&  y_4  \\
};
\end{tikzpicture}
+
\begin{pmatrix}
 z_1 &  w_1   \\
 z_2 &  w_2   \\
 z_3 &   w_3  \\
 z_4 &   w_4  \\
\end{pmatrix}
\end{align*} 
\end{document}

结果是:

在此处输入图片描述

编辑

感谢 egreg 的评论,我编辑了答案,通过图片显示了设置之间的差异:

  • baseline=-0.5ex
  • baseline=-\the\dimexpr\fontdimen22\textfont2\relax

代码:

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usetikzlibrary{matrix,calc}

\begin{document}

\begin{tikzpicture}[baseline=-0.5]
%\let\&=\pgfmatrixnextcell % <= one choice to change col separator
\matrix[matrix of math nodes,
  left delimiter=(,
  right delimiter=),
  inner sep=2.5pt, 
  column 2/.style={green!50!black},
  ampersand replacement=\&] % <= to change col separator for align env
{
 x_1 \&  y_1   \\
 x_2 \&  y_2   \\
 x_3 \&  y_3   \\
 x_4 \&  y_4   \\
};
\end{tikzpicture}
% new setting by egreg
\begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]
\matrix[matrix of math nodes,
  left delimiter=(,
  right delimiter=),
  inner sep=2.5pt, 
  column 2/.style={green!50!black},
  ampersand replacement=\&] % <= to change col separator for align env
{
 x_1 \&  y_1   \\
 x_2 \&  y_2   \\
 x_3 \&  y_3   \\
 x_4 \&  y_4   \\
};
\end{tikzpicture}
 +$\begin{pmatrix}
 z_1 &  w_1   \\
 z_2 &  w_2   \\
 z_3 &  w_3   \\
 z_4 &  w_4   \\
 \end{pmatrix}
$
\end{document}

在下图中,第一个矩阵仍然有选项baseline=-0.5,并且它比其他两个矩阵略低。

在此处输入图片描述

答案2

Claudio 的答案是最简单的。也可以使用

如果矩阵是:(\int仅显示矩阵不平衡的内容)

{
 x_1 \&  y_1   \\
 x_2 \&  y_2   \\
 \int \&   y_3   \\
}

您可以使用

\begin{tikzpicture} [baseline=(m.west)]    %     (m-2-1.base)     [baseline=-0.5ex]
%\let\&=\pgfmatrixnextcell % <= one choice to change col separator
\matrix[matrix of math nodes,left delimiter=(,right delimiter=),inner sep=2.5pt, column 2/.style={green!50!black},
 ampersand replacement=\&,draw] (m)% <= to change col separator for align env 

或者

\begin{tikzpicture} [baseline=(m-2-1.base)]    %         [baseline=-0.5ex]
%\let\&=\pgfmatrixnextcell % <= one choice to change col separator
\matrix[matrix of math nodes,left delimiter=(,right delimiter=),inner sep=2.5pt, column 2/.style={green!50!black},
 ampersand replacement=\&,draw] (m)

有趣的是您想将其与矩阵中的另一个文本对齐。

我的示例结果与 得到的结果不同baseline=-0.5ex。这取决于您想要得到什么。

备注:在某些情况下,baseline=(current bounding box.west)例如是有用的。

答案3

对于那些想知道我在做什么的人来说,这里有一个(几乎)MWE,可以让你了解我通过有用的帖子所管理的内容:

\documentclass[a4paper,10pt]{amsbook}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}

Now using `$m=n$`

\begin{align*}
\gamma_n^{-1} &= \mu_{2n} \gamma_{n,0} + \mu_{2n-1} \gamma_{n,1} + \cdots + \mu_{n} \gamma_{n,n} \\
            & = \sum_{j=0}^{n} (-)^j \mu_{2n-j} \frac{\gamma_n} {\Delta_n} 
\det \begin{pmatrix}              
 \mu_0 &  \cdots & \mu_{n-j-1}  & , &   \mu_{n-j +1} &  \cdots  & \mu_{n} \\
                  \vdots & \ddots &  \vdots & &  \vdots  &\ddots & \vdots  \\
                  \mu_{n-1} &  \cdots & \mu_{2n-j-2} & , &   \mu_{2n-j}  &  \cdots &  \mu_{2n-1} 
                 \end{pmatrix} \\
  & = \vdots \quad \mbox{(lines skipped!)} \\
  &=  \frac{\gamma_n} {\Delta_n}
\det 
\begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax ]
 \tikzset{BarreStyle/.style =   {opacity=.6,line width=0.5 mm,line cap=round,color=#1}}
\matrix[matrix of math nodes,left delimiter = (,right delimiter = ),row sep=10pt,column sep = 10pt, ampersand replacement=\&] (m) {
\mu_0 \& \cdots \&  \mu_{n-j-1}  \& \mu_{n-j} \&   \mu_{n-j +1} \&  \cdots  \& \mu_{n} \\
                  \vdots \& \ddots \& \vdots \& \vdots \&  \vdots \& \ddots \& \vdots  \\
                  \mu_{n-1} \& \cdots \& \mu_{2n-j-2} \& \mu_{2n-j-1} \&  \mu_{2n-j}  \& \cdots \& \mu_{2n-1}  \\
                  \mu_{n} \& \cdots \& \mu_{2n-j-1} \& \mu_{2n-j} \&  \mu_{2n-j+1}  \& \cdots \&  \mu_{2n} \\
};
 \draw[BarreStyle=green] (m-1-4.north east) -- (m-4-4.north east) -- (m-4-7.north east)-- (m-4-7.south east)--(m-4-1.south west)--(m-4-1.north west)  --(m-4-4.north west) --(m-1-4.north west) -- (m-1-4.north east) ;
\end{tikzpicture} \\
&= \gamma_n \frac{ \Delta_{n+1} } { \Delta_n }. 
\end{align*}
\end{document}

在此处输入图片描述

相关内容