在数组中的矩阵方程中引入点空间

在数组中的矩阵方程中引入点空间

当我尝试使用

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{arydshln}
\begin{document}
\[\left[
    \begin{array}{c:c:c}
        \begin{bmatrix}A_l& A_{nl}\end{bmatrix} & B_r & \begin{bmatrix}B_l& B_{nl}\end{bmatrix} \\
        \hdashline
        C &0&0
    \end{array}
    \right]\]
\end{document}

我得到:

在此处输入图片描述

这很好,这正是我想要的。然而,当我开始使用elsarticledocument class时,

\documentclass[review,3p, twocolumn, times,11pt]{elsarticle}
\usepackage{amsmath}
\usepackage{arydshln}
\begin{document}
\[\left[
    \begin{array}{c:c:c}
        \begin{bmatrix}A_l& A_{nl}\end{bmatrix} & B_r & \begin{bmatrix}B_l& B_{nl}\end{bmatrix} \\
        \hdashline
        C &0&0
    \end{array}
    \right]\]
\end{document}

我得到:

在此处输入图片描述

在此,如果您看到,行间距关闭(请忽略双倍行距。这是由于review选择了该模式)。我该如何纠正这个问题?

答案1

\addstackgap将在其参数上添加(默认)3pt 垂直缓冲区。它只需添加到行中的一个术语中。

\documentclass[review,3p, twocolumn, times,11pt]{elsarticle}
\usepackage{amsmath,stackengine}
\stackMath
\usepackage{arydshln}
\begin{document}
\[\left[
    \begin{array}{c:c:c}
        \addstackgap{\begin{bmatrix}A_l& A_{nl}\end{bmatrix}} & B_r & \begin{bmatrix}B_l& B_{nl}\end{bmatrix} \\
        \hdashline
        C &0&0
    \end{array}
    \right]\]
\end{document}

在此处输入图片描述

以下是\addstackgap[2pt]{...}

在此处输入图片描述

答案2

通常,人们会使用支柱为方程式添加额外的空间(参见和\strut)。棘手的是将其居中,因为基线位于中心下方。\mathstrut\arraystretch

\fbox在所有侧面均匀地增加空间(\fboxsep+\fboxrule),在这种情况下,我们只需要额外的垂直空间,因此\vphantom

\documentclass[review,3p, twocolumn, times,11pt]{elsarticle}
\usepackage{amsmath}
\usepackage{arydshln}
\begin{document}
\[\left[
    \begin{array}{c:c:c}
        \sbox0{$\displaystyle \begin{bmatrix}A_l& A_{nl}\end{bmatrix}$}%
        \vphantom{\fbox{\usebox0}}% strut
        \usebox0 & B_r & \begin{bmatrix}B_l& B_{nl}\end{bmatrix} \\
        \hdashline
        C &0&0
    \end{array}
    \right]\]
\end{document}

演示


该解决方案使用 增加了额外的垂直空间\raisebox

\documentclass[review,3p, twocolumn, times,11pt]{elsarticle}
\usepackage{amsmath}
\usepackage{arydshln}
\begin{document}
\[\left[
    \begin{array}{c:c:c}
        \raisebox{0pt}[\dimexpr \height+2pt][\dimexpr \depth+2pt]%
          {$\displaystyle \begin{bmatrix}A_l& A_{nl}\end{bmatrix}$}
         & B_r & \begin{bmatrix}B_l& B_{nl}\end{bmatrix} \\
        \hdashline
        C &0&0
    \end{array}
    \right]\]
\end{document}

相关内容