如何在公式中突出显示矩阵的元素?

如何在公式中突出显示矩阵的元素?

我目前在突出显示矩阵内的元素时遇到了问题。我在这里遇到了很多问题,我的问题是我有一个矩阵公式,{N}=[AB]{E},我想突出显示 [AB] 矩阵内的部分。我上传了一张图片来给你一个想法。到目前为止我的代码:

\documentclass[11pt,twoside]{report}
\usepackage{amsmath} %helps with mathematics
\usepackage{amssymb} %helps with mathematical symbols
\numberwithin{equation}{section} %numbers the equation like (2.1)
\begin{document}
\begin{equation}
\begin{Bmatrix}
N_x \\
N_y \\
N_{xy} \\
M_x \\
M_y \\
M_{xy}
\end{Bmatrix}
=
\begin{bmatrix}
A_{11} & A_{12} & A_{16} & B_{11} & B_{12} & B_{16} \\
A_{21} & A_{22} & A_{26} & B_{21} & B_{22} & B_{26} \\
A_{61} & A_{62} & A_{66} & B_{61} & B_{62} & B_{66} \\
B_{11} & B_{12} & B_{16} & D_{11} & D_{12} & D_{16} \\
B_{21} & B_{22} & B_{26} & D_{21} & D_{22} & D_{26} \\
B_{61} & B_{62} & B_{66} & D_{61} & D_{62} & D_{66} \\
\end{bmatrix}
\begin{Bmatrix}
\epsilon_x \\
\epsilon_y \\
\epsilon_{xy} \\
\kappa_x \\
\kappa_y \\
\kappa_{xy}
\end{Bmatrix} 
\end{equation}
\end{document}

如果我尝试使用 tikzpictures,我会面临以下问题: - 无法按预期排列矩阵。它们将放置在彼此之下 - 使用 tikzpictures 时,方程编号将不会对齐方程高度的一半 我最好希望在矩阵的要突出显示部分后面有一个填充区域。

有人能帮我吗?

提前谢谢你,丽莎 矩阵中要突出显示的部分

答案1

我将提出两种解决方案。第一种是通过简单地改变字体颜色来突出显示给定的元素,而第二种是通过改变背景颜色来突出显示元素。

字体颜色

这可能是最简单的。你可以使用xcolor改变字体的颜色。由于矩阵的构造方式,颜色仅适用于该粒子元素。

由于要突出显示相当多的元素,我分别为\r和定义了快捷方式和。因为我\b\color{red}\color{blue}不要想要全局覆盖这些函数,我随后定义它们,之后将恢复\begin{equation}原始\r和函数\b\end{equation}

\documentclass[11pt,twoside]{report}
\usepackage{amsmath} %helps with mathematics
\usepackage{amssymb} %helps with mathematical symbols
\numberwithin{equation}{section} %numbers the equation like (2.1)
\usepackage{xcolor}
\begin{document}
\begin{equation}\def\r{\color{red}}\def\b{\color{blue}}
  \begin{Bmatrix}
    N_x \\
    N_y \\
    N_{xy} \\
    M_x \\
    M_y \\
    M_{xy}
  \end{Bmatrix}
  =
  \begin{bmatrix}
    A_{11}    & A_{12}    & \r A_{16} & \b B_{11} & \b B_{12} & \b B_{16} \\
    A_{21}    & A_{22}    & \r A_{26} & \b B_{21} & \b B_{22} & \b B_{26} \\
    \r A_{61} & \r A_{62} & A_{66}    & \b B_{61} & \b B_{62} & \b B_{66} \\
    \b B_{11} & \b B_{12} & \b B_{16} & D_{11}    & D_{12}    & \r D_{16} \\
    \b B_{21} & \b B_{22} & \b B_{26} & D_{21}    & D_{22}    & \r D_{26} \\
    \b B_{61} & \b B_{62} & \b B_{66} & \r D_{61} & \r D_{62} & D_{66} \\
  \end{bmatrix}
  \begin{Bmatrix}
    \epsilon_x \\
    \epsilon_y \\
    \epsilon_{xy} \\
    \kappa_x \\
    \kappa_y \\
    \kappa_{xy}
  \end{Bmatrix} 
\end{equation}
\end{document}

输出

背景色

为了突出矩阵元素的背景,我使用了tikz它有一个matrix库,当与 Ti 的其他所有东西结合起来时,它非常强大Z 提供。

这里的关键是我不想在元素之间出现尴尬的间隙,可以通过设置为适当的值来避免。由于所有节点都具有相同的文本高度和深度(即基线上方和下方的距离),因此无需调整节点的高度和深度,但如果确实需要调整它们,则minimum width必须以相同的方式进行设置。text heighttext depthminimum width

此外,如果某一列比其他列宽很多,则可以调整上述调整,使其仅适用于该列column <number>/.style={}(当然,行也是如此)。予以适当修改)。

但最终,尽管采取了上述预防措施,每个矩阵元素之间仍然存在微小的白色间隙,可以通过将row sep和设置column sep为较小的负距离来避免。

最后,由于我们使用 TiZ 矩阵与通常的数学矩阵相结合,我调整了inner sep元素,使它们更接近,从而使矩阵具有相似的维度。默认情况下,TiZ 矩阵比通常的数学矩阵稍大一些。

\documentclass[11pt,twoside]{report}
\usepackage{amsmath} %helps with mathematics
\usepackage{amssymb} %helps with mathematical symbols
\numberwithin{equation}{section} %numbers the equation like (2.1)
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{equation}
  \begin{Bmatrix}
    N_x \\
    N_y \\
    N_{xy} \\
    M_x \\
    M_y \\
    M_{xy}
  \end{Bmatrix}
  =
  \tikz [baseline=(m.center)]
    \matrix (m) [
        matrix of math nodes,
        left delimiter={[},
        right delimiter={]},
        column sep=-0.1pt,
        row sep=-0.1pt,
        nodes={minimum width=2.4em, inner sep=2pt},
        r/.style={fill=red!20},
        b/.style={fill=blue!20}
      ] {
        A_{11}       & A_{12}       & |[r]| A_{16} & |[b]| B_{11} & |[b]| B_{12} & |[b]| B_{16} \\
        A_{21}       & A_{22}       & |[r]| A_{26} & |[b]| B_{21} & |[b]| B_{22} & |[b]| B_{26} \\
        |[r]| A_{61} & |[r]| A_{62} & A_{66}       & |[b]| B_{61} & |[b]| B_{62} & |[b]| B_{66} \\
        |[b]| B_{11} & |[b]| B_{12} & |[b]| B_{16} & D_{11}       & |[r]| D_{12} & |[r]| D_{16} \\
        |[b]| B_{21} & |[b]| B_{22} & |[b]| B_{26} & |[r]| D_{21} & D_{22}       & D_{26} \\
        |[b]| B_{61} & |[b]| B_{62} & |[b]| B_{66} & |[r]| D_{61} & D_{62}       & D_{66} \\
      };
  \begin{Bmatrix}
    \epsilon_x \\
    \epsilon_y \\
    \epsilon_{xy} \\
    \kappa_x \\
    \kappa_y \\
    \kappa_{xy}
  \end{Bmatrix} 
\end{equation}
\end{document}

输出

相关内容