到目前为止,我发现使用 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}