我知道使用 turn 命令和这样的示例代码:
\usepackage{rotating}
\begin{turn}{90} Supervised Learning \end{turn}}
我们可以旋转单元格内的文本,但是,我找不到让旋转后的文本垂直居中的方法。任何建议都值得赞赏。
以下是示例 MWE:
\begin{table}[]
\centering
\begin{tabular}{|>{\centering\arraybackslash}m{0.5cm}|c|>{\centering\arraybackslash}m{8cm}|}
\hline
\multicolumn{2}{|c|}{Classification} & References \\ \hline
%\multirow{2}{*}{{\begin{turn}{90}Supervised Learning\end{turn}}}
\multirow{2}{*}{\rotatebox[origin=c]{90}{Supervised Learning}}
\end{tabular}
\caption{A Classification}
\label{tab:Machine_Learning_models}
\end{table}
答案1
由于您的问题似乎是不稳定的系统...我担心我的回答会偏离您的要点,因为这是 Mico 的回答(以删除结束):-()
无论如何,为了锻炼:
- 旋转后的文本比表格的其余部分高,因此无法正确居中
- 旋转单元格内容的更简单方法是使用包
\rothead
中的宏makecell
(您需要定义单元格高度) - 单元格垂直居中
multirow
需要手动调整
通过这个(并扩展表格),我得到以下结果:
梅威瑟:
\documentclass{article}
\usepackage{rotating}
\usepackage{array,makecell,multirow}
\begin{document}
\begin{table}[htb]
\centering
\settowidth\rotheadsize{Supervised Learning}
\begin{tabular}{| l | c |
>{\centering\arraybackslash}p{8cm}|}
\hline
\multicolumn{2}{|c|}{Classification} & References \\ \hline
\multirow{8}{*}[1.5ex]{\rothead{Supervised Learning}}
& & 1 \\ \cline{2-3}
& & 2 \\ \cline{2-3}
& & 3 \\ \cline{2-3}
& & 4 \\ \cline{2-3}
& & 5 \\ \cline{2-3}
& & 6 \\ \cline{2-3}
& & 7 \\ \cline{2-3}
& & 8 \\ \hline \end{tabular}
\caption{A Classification}
\label{tab:Machine_Learning_models}
\end{table}
\end{document}
附录:
中的文本字体大小\rothead
由宏决定\headfont
。默认值为\footnotesize
。可以通过以下方式更改
\renewcommand\theadfont{\normalsize}
(或您喜欢的任何大小、字体系列和形状)。考虑到上述字体大小的变化,MWE 的相关部分变为:
\documentclass{article}
\usepackage{rotating}
\usepackage{array,makecell,multirow}
\renewcommand\theadfont{\normalsize}% <-- added
\begin{document}
\begin{table}[htb]
\centering
\settowidth\rotheadsize{\theadfont Supervised Learning}% <-- changed
\begin{tabular}{| l | c |
>{\centering\arraybackslash}p{8cm}|}
\hline
\multicolumn{2}{|c|}{Classification} & References \\ \hline
\multirow{8}{*}{\rothead{Supervised Learning}}% <-- changed
% further is the same as in above MWE
表格如下所示: