带文字的矩阵

带文字的矩阵

我有这个:

\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{@{}>{\rule[0.5\dimexpr-#1+1.2ex]{0pt}{#1}\hfil$}p{#1}    <{$\hfil}@{}}
\begin{document}    
\begin{center}
    \Huge
    $\begin{array}{|C{2.5cm} | C{2.5cm} |C{2.5cm} |}\hline
    hello & hello & hello\\\hline
    hello & hello & hello\\\hline
    hello & hello & hello\\\hline
    \end{array} $
\end{center}     

\end{document}

生产:

在此处输入图片描述

遗憾的是,我的代码无法实现我的目标。我想要一个更大的矩阵,每个方块中都有一个标题,下面是文字。所有文本的宽度都最大。此外,方块外还有文字。

像这样:

在此处输入图片描述

你能帮助我吗?谢谢!:)

答案1

像这样?

在此处输入图片描述

我在您的表格中添加了另一列和一行。我为它们定义了新命令:mct针对“表格”上方的文本和mcl“表格”左侧的文本:

\documentclass{article}
\usepackage{array}
\newcommand\mct[2]{\multicolumn{1}{@{} >{\raggedright\arraybackslash}p{#1} @{} }{#2}}
\newcommand\mcl[2]{\multicolumn{1}{ >{\raggedleft\arraybackslash}p{#1}|}{#2}}

\begin{document}
    \begin{center}
    \large
\setlength\extrarowheight{4pt}
\setlength\arrayrulewidth{1pt}
\begin{tabular}{p{2.5cm}|
                *{3}{>{\raggedright\arraybackslash}p{2.5cm}|}}
\mct{2.5cm}{}
    &   \mct{2.5cm}{hello hello hello}
        &   \mct{2.5cm}{hello hello hello}
            &   \mct{2.5cm}{hello hello hello}  \\
    \cline{2-4}
\mcl{2.5cm}{hello hello hello}
    &   \textbf{\Large HELLO}\newline
        hello hello hello
        &   \textbf{\Large HELLO}\newline
            hello hello hello
            &   \textbf{\Large HELLO}\newline
                hello hello hello               \\
    \cline{2-4}
\mcl{2.5cm}{hello hello hello}
    &   \textbf{\Large HELLO}\newline
        hello hello hello
        &   \textbf{\Large HELLO}\newline
            hello hello hello
            &   \textbf{\Large HELLO}\newline
                hello hello hello               \\
    \cline{2-4}
\mcl{2.5cm}{hello hello hello}
    &   \textbf{\Large HELLO}\newline
        hello hello hello
        &   \textbf{\Large HELLO}\newline
            hello hello hello
            &   \textbf{\Large HELLO}\newline
                hello hello hello               \\
    \cline{2-4}
\end{tabular}
    \end{center}
\end{document}

答案2

这里有一个替代方案,它可以给你更多的控制权并且更短。

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{matrix}
\usetikzlibrary{positioning}
\tikzset{m-node/.style={text
width=1.8cm,font=\sffamily,align=center,inner sep=6pt}}
\begin{document}
\begin{tikzpicture}

    \matrix (hello) [matrix of nodes,nodes={m-node,draw},node distance=-\pgflinewidth] {
      {{\Large Hello}\\ Hello Hello Hello Hello} & {{\Large Hello}\\ Hello Hello Hello Hello} 
       & {{\Large Hello}\\ Hello Hello Hello Hello} \\
      {{\Large Hello}\\ Hello Hello Hello Hello} & {{\Large Hello}\\ Hello Hello Hello Hello}
       & {{\Large Hello}\\ Hello Hello Hello Hello} \\
      {{\Large Hello}\\ Hello Hello Hello Hello} & {{\Large Hello}\\ Hello Hello Hello Hello} 
       & {{\Large Hello}\\ Hello Hello Hello Hello} \\
    };
  \foreach \X in {1,2,3}
  {\node[m-node,above=2mm of hello-1-\X]{hello hello hello};
  \node[m-node,left=2mm of hello-\X-1]{HELLO HELLO};}
  \end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容