如何结合表格中的对角线列标题和多列标题

如何结合表格中的对角线列标题和多列标题
  1. 我想将此表格放在纵向格式的页面上
  2. 并使显示数字的列宽度相等

    然而,类型 3 的名称比其他类型长,因此

  3. 将列标题设置为对角线可能有助于我放入较长的名称,
    以便满足条件 1。

这个例子不起作用 我似乎需要一些关于如何结合\rotatebox的建议\multicolumn

或者也许您对如何使用条件 1 和 2 来解决这个问题有完全不同的想法。

\documentclass[a4paper,10pt]{scrartcl} \usepackage[latin1]{inputenc} \usepackage{babel} \usepackage[T1]{fontenc} \usepackage{booktabs} \usepackage{array} \usepackage{dcolumn} \usepackage{graphicx}  
\begin{document}  
\begin{table}  
\centering  
\caption{Caption text}  
\begin{tabular}{ | l | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} | p{0.45cm} |}  
\hline  
 & \multicolumn{2}{*}{\rotatebox{60}{Type 1}} & \multicolumn{2}{*}{\rotatebox{60}{Type 2}} & \multicolumn{2}{*}{\rotatebox{60}{Type 3 longer text}} & \multicolumn{2}{*}{\rotatebox{60}{Type 4}} & \multicolumn{2}{*}{\rotatebox{60}{Type 5}} & \multicolumn{2}{*}{\rotatebox{60}{Type 6}}\\\hline  
\multicolumn{13}{|l|}{\textsc{\textbf{row title bold}}} \\ \hline  
Criterium 1 & 5 & 10 & 3 & 6 & 1 & 2 & 5 & 10 & 5 & 10 & 5 & 10 \\ \hline  
Criterium 2 & 4 & 8 & 3 & 6 & 2 & 4 & 3 & 6 & 4 & 8 & 4 & 8 \\ \hline  
\multicolumn{13}{|l|}{\textsc{\textbf{row title bold}}} \\ \hline  
Criterium 3 & 5 & 5 & 5 & 5 & 4 & 4 & 5 & 5 & 5 & 5 & 5 & 5 \\ \hline  
Criterium 4 & 5 & 5 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline  
\textbf{\textsc {Sum}} &  & \textbf{84} & & \textbf{56} & & \textbf{50}& &  \textbf{53}& & \textbf{51}& & \textbf{51} \\ \hline  
\end{tabular}  
\label{tab:Label text}  
\end{table}  
\end{document}  

答案1

不管怎样,你可以将标题元素放在 中,\makebox[<len>][<align>]{<stuff>}它将排版<stuff>在宽度为 的框中<len>,即使<stuff>比 更宽/更窄<len>。对齐规范<align>类似于arraytabular列规范。

以下 MWE 提供\rothead[<angle>]{<stuff>}(作为对makecell包裹) 旋转<stuff>角度<angle>(默认为60度,此参数为可选)。它还会放置<stuff>在一个固定宽度的框中9mm,居中c。此外,您还可以使用\\在 内创建换行符<stuff>

在此处输入图片描述

\documentclass[a4paper,10pt]{scrartcl}
\usepackage[T1]{fontenc}% http://ctan.org/pkg/fontenc
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{makecell}% http://ctan.org/pkg/makecell
\renewcommand{\rothead}[2][60]{\makebox[9mm][c]{\rotatebox{#1}{\makecell[c]{#2}}}}%
\begin{document}
\begin{table}  
  \centering  
  \caption{Caption text}  
  \begin{tabular}{|l|*{12}{p{0.45cm}|}}
    \multicolumn{1}{c}{} & \multicolumn{2}{c}{\rothead{Type 1}} & \multicolumn{2}{c}{\rothead{Type 2}} 
      & \multicolumn{2}{c}{\rothead{Type 3 longer text\\than other headings}} & \multicolumn{2}{c}{\rothead{Type 4}}
      & \multicolumn{2}{c}{\rothead{Type 5}} & \multicolumn{2}{c}{\rothead{Type 6}} \\
    \hline
    \multicolumn{13}{|l|}{\textsc{\textbf{row title bold}}} \\ \hline
    Criterion 1 & 5 & 10 & 3 & 6 & 1 & 2 & 5 & 10 & 5 & 10 & 5 & 10 \\ \hline  
    Criterion 2 & 4 & 8 & 3 & 6 & 2 & 4 & 3 & 6 & 4 & 8 & 4 & 8 \\ \hline  
    \multicolumn{13}{|l|}{\textsc{\textbf{row title bold}}} \\ \hline  
    Criterion 3 & 5 & 5 & 5 & 5 & 4 & 4 & 5 & 5 & 5 & 5 & 5 & 5 \\ \hline  
    Criterion 4 & 5 & 5 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline  

    \textbf{\textsc{Sum}} & & \textbf{84} & & \textbf{56} & & \textbf{50} & & \textbf{53} 
      & & \textbf{51} & & \textbf{51} \\ \hline  
  \end{tabular}  
  \label{tab:Label text}  
\end{table}  
\end{document}

如果您有兴趣查看旋转标题所包含的框的大小,请改用以下重新定义\rothead

\renewcommand{\rothead}[2][60]{\framebox[9mm][c]{\rotatebox{#1}{\makecell[c]{#2}}}}%

在此处输入图片描述

答案2

只需使用tabularx。我没有更改表格内容的太多内容。

\documentclass{article}
\usepackage{tabularx}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}
\begin{table}
\newcommand\MC[1]{\multicolumn{2}{X|}{#1}}
\centering
\caption{Caption text}
\begin{tabularx}{\textwidth}{|l|*{12}{R|}}
\hline
 & \MC{Type~1} & \MC{Type~2} & \MC{Type~3 longer text}
 & \MC{Type~4} & \MC{Type~5} & \MC{Type~6}\\\hline
\multicolumn{13}{|l|}{\textsc{\textbf{row title bold}}} \\ \hline
Criterium 1 & 5 & 10 & 3 & 6 & 1 & 2 & 5 & 10 & 5 & 10 & 5 & 10 \\ \hline
Criterium 2 & 4 & 8 & 3 & 6 & 2 & 4 & 3 & 6 & 4 & 8 & 4 & 8 \\ \hline
\multicolumn{13}{|l|}{\textsc{\textbf{row title bold}}} \\ \hline
Criterium 3 & 5 & 5 & 5 & 5 & 4 & 4 & 5 & 5 & 5 & 5 & 5 & 5 \\ \hline
Criterium 4 & 5 & 5 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline
\textbf{\textsc{Sum}}
 && \textbf{84} && \textbf{56} && \textbf{50}
 && \textbf{53} && \textbf{51} && \textbf{51} \\ \hline
\end{tabularx}
\label{tab:Label text}
\end{table}
\end{document}

在此处输入图片描述

相关内容