Tikz 中的节点矩阵与 amsmath 包中的类似

Tikz 中的节点矩阵与 amsmath 包中的类似

我正在尝试使用 Tikz 中的矩阵。具体来说,我想遵循 amsmath 包,但我在处理叠加层(记得图片)时遇到了很大困难。这是我现在遇到的示例:

\documentclass{article}

\usepackage{amsmath, amssymb}
\usepackage{pgf,tikz}
\usepackage{luatex85} 


\newcommand{\overlay}[2][]{\tikz[overlay, remember picture, #1]{#2}}
\newcommand{\flag}[2]{\overlay[baseline=(#1.base)] {\node (#1) {$#2$};}}

 \begin{document}

 \[
 M_5 = \begin{pmatrix}
\flag{a11}{a_{11}} & \flag{a12}{a_{12}} & \flag{a13}{a_{13}} & \flag{a1}{a_{14}} & \flag{a15}{a_{15}}\\
\flag{a21}{a_{21}} & \flag{a22}{a_{22}} & \flag{a23}{a_{23}} & \flag{a24}{a_{24}} & \flag{a25}{a_{25}} \\
\flag{a31}{a_{31}} & \flag{a32}{a_{32}} & \flag{a33}{a_{33}} & \flag{a34}{a_{34}} & \flag{a35}{a_{35}} \\
16 & 17 & 18 & 19 & 2\\ 
\end{pmatrix} \]
\end{document}

这段代码完美地打印了一个矩阵,只是它与 amsmath 包的方式略有不同。以下是比较:

在此处输入图片描述

所以我想我的第一个问题是如何修改我的代码以使它们看起来相似。

此外,如果我按照这种方法操作,即使我决定保留矩阵原样,也会出现很大的问题,我不明白为什么会发生这种情况。如果我修改前面的代码,只谈论矩阵数据,那么结果矩阵就是一场彻底的灾难。例如,要获得通过消除最后一个原始数据而获得的矩阵,要么将最后一个原始数据作为注释,要么消除会产生一个非常混乱的矩阵:

在此处输入图片描述

我错过了什么?

答案1

为了获得相同的矩阵,请不要使用该overlay选项并将该选项添加inner sep=0到您的节点。

\documentclass{article}

\usepackage{amsmath, amssymb}
\usepackage{pgf,tikz}
\usepackage{luatex85} 


\newcommand{\overlay}[2][]{\tikz[remember picture, #1]{#2}}
\newcommand{\flag}[2]{\overlay[baseline=(#1.base)] {\node[inner sep=0] (#1) {$#2$};}}

 \begin{document}

 \[
 M_5 = \begin{pmatrix}
\flag{a11}{a_{11}} & \flag{a12}{a_{12}} & \flag{a13}{a_{13}} & \flag{a1}{a_{14}} & \flag{a15}{a_{15}}\\
\flag{a21}{a_{21}} & \flag{a22}{a_{22}} & \flag{a23}{a_{23}} & \flag{a24}{a_{24}} & \flag{a25}{a_{25}} \\
\flag{a31}{a_{31}} & \flag{a32}{a_{32}} & \flag{a33}{a_{33}} & \flag{a34}{a_{34}} & \flag{a35}{a_{35}} \\
16 & 17 & 18 & 19 & 2\\ 
\end{pmatrix} \]

\def\flag#1#2{#2}
 \[
 M_5 = \begin{pmatrix}
\flag{a11}{a_{11}} & \flag{a12}{a_{12}} & \flag{a13}{a_{13}} & \flag{a1}{a_{14}} & \flag{a15}{a_{15}}\\
\flag{a21}{a_{21}} & \flag{a22}{a_{22}} & \flag{a23}{a_{23}} & \flag{a24}{a_{24}} & \flag{a25}{a_{25}} \\
\flag{a31}{a_{31}} & \flag{a32}{a_{32}} & \flag{a33}{a_{33}} & \flag{a34}{a_{34}} & \flag{a35}{a_{35}} \\
16 & 17 & 18 & 19 & 2\\ 
\end{pmatrix} \]
\end{document}

相关内容