表格单元格对齐旋转内容

表格单元格对齐旋转内容

旋转的表头如何左对齐?

目前有这个:

当前错误的情况

\documentclass[a4paper,8pt,twocolumn]{extarticle}
\usepackage{graphicx,multirow}
\begin{document}
    \begin{tabular}{l r c c c c c c c}
        \textbf{bla1}&\multirow{2}{*}{\textbf{bla2}}&\multirow{2}{*}{\textbf{\rotatebox{90}{bla3}}}&\multirow{2}{*}{\textbf{\rotatebox{90}{blablablablablabalbal4}}}\\
        \textbf{\textit{bla5}}\\
    \end{tabular}
\end{document}

理想情况下会获得以下内容: 理想结果

答案1

您可以使用类似下面的方法:

\documentclass[a4paper,8pt,twocolumn]{extarticle}
\usepackage{graphicx}
\usepackage{makecell}
\begin{document}
    \begin{tabular}{l r c c c c c c c}
       \makecell[bc]{\textbf{bla 1} \\ \textbf{\textit{bla 5}}} &\textbf{bla2}&\textbf{\rotatebox{90}{bla3}}&\rotatebox{90}{\textbf{blablablablablabalbal4}}&\\
    \end{tabular}
\end{document}

在此处输入图片描述

multirow我没有使用命令,而是使用了makecell包。

bla 2要相对于bla 1和垂直居中bla 5,您可以使用\raisebox{5pt}{\textbf{bla2}}

在此处输入图片描述

答案2

使用thead\rothead来自makecell包很简单:

\documentclass{article}
\usepackage{makecell, rotating}
\renewcommand\theadfont{\normalsize\bfseries}
\renewcommand\theadalign{lb}

\begin{document}
\settowidth\rotheadsize{\theadfont blablablablablabalbal4}
    \begin{tabular}{l r c c }
\thead{bla1\\ bla5} & \thead{bla2}  & \rothead{bla3} & \rothead{blablablablablabalbal4}
    \\  \hline
a                   &   b           &   c            & d    
    \end{tabular}

\bigskip
    \begin{tabular}{l r c c }
\thead{bla1\\ bla5} & \thead[t]{\raisebox{1.2ex}{bla2}} & \rothead{bla3} & \rothead{blablablablablabalbal4}
    \\  \hline
a                   &   b           &   c            & d
    \end{tabular}

\bigskip
\settowidth\rotheadsize{\theadfont blablabalbal4}
    \begin{tabular}{l r c c }
\thead{bla1\\ bla5} & \thead[t]{bla2} & \rothead{bla3} & \rothead{blablabla blablabalbal4}
    \\  \hline
a                   &   b           &   c            & d
    \end{tabular}
\end{document}

在此处输入图片描述

就我个人而言,我更喜欢顶部和底部的解决方案(如果您可以将标题分成两行)。

答案3

可以使用\rothead中的命令。不幸的是,如果您不希望旋转后的头部出现不合时宜的换行符,makecell通常必须指定 的值。此外,您不能使用位置说明符和类似说明符。因此,我定义了一个命令,它接受两个可选参数:旋转单元格的位置(默认情况下)和旋转角度(默认情况下):\rotheadsize[bc]\myrotheadcc90

\documentclass[a4paper,8pt,twocolumn]{extarticle}
\usepackage{graphicx, rotating}
\usepackage{caption, booktabs, makecell}
\usepackage{xparse}
\renewcommand{\theadfont}{\normalsize\bfseries}
\DeclareDocumentCommand{\myrothead}{O{cc}O{90}m}{\renewcommand{\theadalign}{#1}\renewcommand{\cellrotangle}{#2}
\settowidth{\rotheadsize}{\theadfont#3} \rothead{#3}}

\begin{document}

\begin{table}
  \centering
  \caption{Rotated heads}
  \begin{tabular}{l r c c c c c c c}
    \toprule
    \thead[bc]{bla 1 \\ \textit{bla 5}} &\thead[bc]{bla2}& \myrothead[bc]{bla3}& \myrothead[bc]{blablablablablabalbal4} \\
    \midrule
  \end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容