![表格单元格对齐旋转内容](https://linux22.com/image/368312/%E8%A1%A8%E6%A0%BC%E5%8D%95%E5%85%83%E6%A0%BC%E5%AF%B9%E9%BD%90%E6%97%8B%E8%BD%AC%E5%86%85%E5%AE%B9.png)
旋转的表头如何左对齐?
目前有这个:
\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]
\myrothead
cc
90
\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}