垂直合并表格行并垂直对齐文本

垂直合并表格行并垂直对齐文本

我想创建一个如下所示的表格:

在此处输入图片描述

这就是我已经得到的:

\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{graphicx}


\begin{document}
\begin{table}[H]
    \centering

    \begin{footnotesize}    
    \begin{tabular}{p{0.5cm}p{3cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
        \toprule
          \multicolumn{2}{c}{}
        & \textbf{A}
        & \textbf{B}
        & \textbf{C}
        & \textbf{D}
        & \textbf{E} \\
        \midrule
        \midrule
        \multirow{2}{*}{\rotatebox{90}{Texttexttext}}
        & 1 & 2 & 3 & 4 \\
        & 2 & 3 & 4 & 5\\
        \bottomrule
    \end{tabular}
    \end{footnotesize}

    \caption{Übersicht über die verfügbaren Trainings- und Testdaten}
    \label{tab:6_tabelle}
\end{table}
\end{document}

现在的问题是,我

  1. 希望行的大小相对于第一个单元格的高度
  2. 所有单元格都应垂直对齐
  3. A、B 和 C 的单元格应具有水平对齐

有人能给我一些提示吗?

问候!

答案1

您可以尝试这个(使用 pdftex):

\newdimen\tstrutdim
\def\tstrut{\lower.3\tstrutdim\vbox to\tstrutdim{}}
\def\crl{\cr\noalign{\hrule}}
\def\rotitem#1{\noalign{\setbox0=\hbox{ #1 }\global\tstrutdim=.5\wd0}
  \ \pdfsave\pdfsetmatrix{0 1 -1 0}\llap{ #1 \kern-.7\tstrutdim}\pdfrestore
}
\vbox{\offinterlineskip \tstrutdim=16pt
\halign{\vrule\quad\hfil#\unskip\hfil\quad\vrule&&%
        \tstrut\quad\hfil#\unskip\hfil\quad\vrule
        \span\crl
 \omit\vrule &        &  A  &  B  &  C  \crl \rotitem{text text text}
             &  X     & 12  & 11  &  1  \cr
             & \multispan4\hrulefill    \cr
             &  Y     &  3  &  5  &  4  \crl
}}

答案2

makecell使用允许命令换行的包,有两种可能性\rotcell

\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{array, multirow}
\usepackage{rotating, graphicx}
\usepackage{makecell}
\setcellgapes{4pt}

\begin{document}

\begin{table}[!h]
    \centering
    \footnotesize\settowidth\rotheadsize{Texttexttext}
\makegapedcells
    \footnotesize
    \begin{tabular}{p{0.5cm}p{3cm}*{5}{p{1.5cm}}}
        \toprule
          \multicolumn{2}{c}{}
        & \textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} & \textbf{E} \\
        \midrule
        \midrule
        & 1 & 2 & 3 & 4 \\[4.5ex]
         \multirow{-2}{*}[7.5ex]{\rotatebox{90}{Texttexttext}}
         & 2 & 3 & 4 & 5\\
        \bottomrule
    \end{tabular}
    \caption{Übersicht über die verfügbaren Trainings- und Testdaten}
    \label{tab:6_tabelle}
\end{table}

\begin{table}[!h]
    \centering
    \footnotesize\settowidth\rotheadsize{Text text}
\renewcommand\cellalign{rt}
\makegapedcells
    \footnotesize
    \begin{tabular}{ >{\raggedleft}p{0.5cm}p{3cm}*{5}{p{1.5cm}}}
        \toprule
          \multicolumn{2}{c}{}
        & \textbf{A} & \textbf{B} & \textbf{C} & \textbf{D} & \textbf{E} \\
        \midrule
        \midrule
        & 1 & 2 & 3 & 4 \\[2ex]
         \multirowcell{-2}[2.5ex]{\hspace{4ex}\rotcell[c]{\\Text text\\text}}
         & 2 & 3 & 4 & 5\\%[-3ex]
        \bottomrule
    \end{tabular}
    \caption{Übersicht über die verfügbaren Trainings- und Testdaten}
    \label{tab:6_tabelleA}
\end{table}

\end{document} 

在此处输入图片描述

相关内容