如何在矩阵下显示矩阵编号?

如何在矩阵下显示矩阵编号?

有什么方法可以实现矩阵的编号显示在矩阵本身下方而不是右侧?

我使用\equation环境进行编号,\multicols因为我想将矩阵并排放置。

这是我使用的代码:

\documentclass{article}

\usepackage{multicol}
\usepackage[table]{xcolor}

\begin{document}

\begin{multicols}{3}
    \noindent
    \begin{equation}
        \left(\begin{array}{cccc}
            \rowcolor{red!20}
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            \rowcolor{blue!20}
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
        \end{array}\right)
    \end{equation}
    \begin{equation}
        \left(\begin{array}{>{\columncolor{olive!20}}cc>{\columncolor{yellow!20}}cc}
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
        \end{array}\right)
    \end{equation}
    \begin{equation}
        \left(\begin{array}{>{\columncolor{red!20}}cc>{\columncolor{b!20}}cc}
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
        \end{array}\right)
    \end{equation}
\end{multicols}

\end{document}

它看起来是这样的: 前

我希望它是这样的: 后

答案1

編輯 II为了解决行颜色的问题,我已将环境更改为gather使用数学包裹

默认情况下,方程编号可以放在左侧或右侧,但不能放在下方。要做到这一点,您需要“手动”将它们放在那里。下面的代码定义了一个可以为您执行此操作的新环境。它实际上做的是将方程放在array第一行中,方程编号作为第二行添加以产生:

在此处输入图片描述

編輯我如图所示,它与\label\ref命令兼容,并且与超链接。诀窍在于\refstepcounter用于增加方程计数器。

完整代码如下:

\documentclass{article}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{environ}
\usepackage{amsmath}% needed for gather
\usepackage[table]{xcolor}
\NewEnviron{Equation}{\refstepcounter{equation}%
  \begin{gather*}\BODY\\(\theequation)\end{gather*}%
}

\begin{document}

  \begin{multicols}{3}
      \noindent
      \begin{Equation}\label{one}
          \left(\begin{array}{>{\columncolor{olive!20}}cc>{\columncolor{yellow!20}}cc}
            \rowcolor{red!20}
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            \rowcolor{blue!20}
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
            0 & 0 & 0 & 0 \\
          \end{array}\right)
      \end{Equation}
      \begin{Equation}\label{two}
          \left(\begin{array}{>{\columncolor{olive!20}}cc>{\columncolor{yellow!20}}cc}
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
          \end{array}\right)
      \end{Equation}
      \begin{Equation}
          \left(\begin{array}{>{\columncolor{red!20}}cc>{\columncolor{olive!20}}cc}
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
              0 & 0 & 0 & 0 \\
          \end{array}\right)
      \end{Equation}
  \end{multicols}
  Look at \ref{one} and \ref{two}.

\end{document}

編輯 III这是一个使用蒂克兹通过“辅助环境”为行和列着色ColouredMatrix。输出类似:

在此处输入图片描述

这种方法的主要优点是可以稍微容易地指定行和列的颜色。缺点是您需要使用\&作为列分隔符。以下是代码:

\documentclass{article}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{environ}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\NewEnviron{Equation}{\refstepcounter{equation}%
  \begin{gather*}\BODY\\(\theequation)\end{gather*}%
}

\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{
% short hands for colouring the rows and columns of the matrix
  coloured row/.style args={#1,#2}{row #1/.style={nodes={fill=#2!20}}},
  coloured col/.style args={#1,#2}{column #1/.style={nodes={fill=#2!20}}},
}

%usage: \begin{ColouredMatrix}[coloured row={row colour}, ...]\end{ColouredMatrix}
\NewEnviron{ColouredMatrix}[1][]{%
  \tikzpicture[% adjust the size and placement of the delimiters as they are too big by default
       every left delimiter/.style={xshift=0.65em,scale=0.9,yshift=0.4em},
       every right delimiter/.style={xshift=-0.65em,scale=0.9,yshift=0.4em}]
    \matrix [matrix of math nodes, left delimiter=(, right delimiter=),
             ampersand replacement=\&, #1]
    { \BODY };
  \endtikzpicture%
}

\begin{document}

  \begin{multicols}{3}
      \noindent
      \begin{Equation}\label{one}
        \begin{ColouredMatrix}[%
          coloured row={1,red}, coloured row={3,blue},
          coloured col={1,olive},coloured col={4,yellow}]
            0 \& 0 \& 0 \& 0 \\
            0 \& 0 \& 0 \& 0 \\
            0 \& 0 \& 0 \& 0 \\
            0 \& 0 \& 0 \& 0 \\
            0 \& 0 \& 0 \& 0 \\
         \end{ColouredMatrix}
      \end{Equation}
      \begin{Equation}\label{two}
        \begin{ColouredMatrix}[%
           coloured col={1,olive}, coloured col={4,yellow}]
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
         \end{ColouredMatrix}
      \end{Equation}
      \begin{Equation}
        \begin{ColouredMatrix}[%
           coloured col={1,red}, coloured row={3,green}]
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
              0 \& 0 \& 0 \& 0 \\
         \end{ColouredMatrix}
      \end{Equation}
  \end{multicols}
  Look at \ref{one} and \ref{two}.

\end{document}

相关内容