块矩阵上的排版很丑陋

块矩阵上的排版很丑陋

我有一个很大的nxn矩阵,正在尝试排版。我当前的代码如下:

$\left(\begin{array}{c|ccc}
1 & c_2 & \cdots & c_n \\
\hline
0  & \multicolumn{3}{c}{\multirow{3}{*}{\Huge{$A$}}} \\
\vdots & & &\\
0 & & & 
\end{array}\right)$

目前的输出在许多方面都很糟糕。首先,大块A矩阵(应该是(n-1)x(n-1)子矩阵)没有正确居中。其次,左侧的垂直点没有正确垂直居中。第三,它在视觉上很不美观,我说不上来到底是哪里出了问题。

有人对如何更好地排版有什么建议吗?

答案1

另一种选择是使用双列array

\documentclass{article}

\begin{document}

\[
\left(
\begin{array}{c|c}
  1 & c_2 \cdots c_n \\ \hline
  0 & \raisebox{-15pt}{{\huge\mbox{{$A$}}}} \\[-4ex]
  \vdots & \\[-0.5ex]
  0 &
\end{array}
\right)
\]

\end{document}

在此处输入图片描述

答案2

尽管这个问题包含一些个人偏好(因此具有一定主观性),但我还是有一些建议。

您可以使用graphicx包裹命令\raisebox{<height>}{<stuff>}

\usepackage{multirow}% http://ctan.org/pkg/multirow
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
...
\[
  \left(\begin{array}{c|ccc}
    1 & c_2 & \cdots & c_n \\ \hline
    0  & \multicolumn{3}{c}{\multirow{3}{*}{\raisebox{-7mm}{\scalebox{2}{$[A]$}}}} \\
    \raisebox{2pt}{\vdots} & & &\\
    0 & & & 
  \end{array}\right)
\]

在此处输入图片描述

我还在内部矩阵周围添加了一些括号,A以强调它可以被视为矩阵。内部/子矩阵的大小也已使用包\scalebox{<factor>}{<stuff>}中的设置graphicx,因为\Huge是文本模式字体命令。对矩阵的某些部分使用颜色也可以突出显示矩阵的范围。在下面的示例中,数组内的单元格使用 10% 黑色着色(通过black!10):

\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\usepackage{colortbl}% http://ctan.org/pkg/colortbl
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
...
\[
  \left(\begin{array}{c|ccc}
    1 & c_2 & \cdots & c_n \\ \hline
    0  & \multicolumn{3}{c}{\cellcolor{black!10}} \\
    \raisebox{2pt}{\vdots} & \multicolumn{3}{c}{\cellcolor{black!10}\scalebox{2}{$[A]$}} \\
    0 & \multicolumn{3}{c}{\cellcolor{black!10}}
  \end{array}\right)
\]

在此处输入图片描述

在较低的分辨率下,彩色矩阵可能会出现一些问题。但是,这只能在您的查看器中看到,而不是实际打印件中。

矩阵周围括号的对齐方式也可以调整,但我不确定这是否属于“无法完全理解”的部分。

答案3

这可能不是最好的解决方案。但是,您也可以尝试将数组放入另一个数组中。在您的例子中,它是

\[
\left(
\begin{array}{c|c}
  1 & \begin{array}{ccc} c_2 & \cdots & c_n \end{array} \\ \hline
\begin{array}{c} 0 \\ \vdots \\ 0 \end{array}  & {\Huge{A}}
\end{array}
\right)
\]

然而,在这种情况下,间距并不是最佳的。

答案4

与。{pNiceMatrix}nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\NiceMatrixOptions{xdots/shorten=6pt}

$\begin{pNiceMatrix}[hvlines,margin]
1 & c_2 & \Cdots & c_n \\
0 & \Block{3-3}<\Huge>{A} \\
\Vdots \\
0 \\
\end{pNiceMatrix}$

\end{document}

上述代码的输出

相关内容