我想要实现一个表格,其标题旋转 90 度,以便它从下往上显示。
我使用以下代码进行 90 度和 -90 度旋转,但遇到了不同的错误。代码如下:
\documentclass[graybox,envcountchap,sectrefs]{svmono}
\usepackage{rotating}
\usepackage{amssymb}% http://ctan.org/pkg/amssymb
\usepackage{pifont}% http://ctan.org/pkg/pifont
\usepackage{array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\begin{document}
\begin{table}
\begin{tabular}{ | P{4cm} | P{1cm} | P{1cm} }
\hline
col 0
& \begin{rotate}{90} Col1 \end{rotate}
& \begin{rotate}{-90} Col2 too much text is written here that i want to split on multiple line but rotated 90 degree \end{rotate}\\[25ex]
\svhline
first row & \checkmark & \ding{55} \\
\hline
\end{tabular}
\end{table}
\end{document}
我的问题是:
- 如何像第一个“Col1”一样从按钮开始向顶部移动,但从单元格的底部开始
- 如何使其适合单元格大小并使用多旋转线,我应该手动完成还是可以以自动方式完成,如果手动完成,该如何完成
以下是课程链接svmono.cs
答案1
我的建议是,创建一个新的列类型,比如 R 表示旋转。在该列中,您将文本填入小页面中。小页面可以拆分过满的行并相应地排列它们。为此,您必须定义小页面的宽度。由于小页面随后将被旋转,因此先前的宽度将决定单元格的高度。
这是我的 MWE
\documentclass{article}
\usepackage{rotating}
\usepackage{amssymb}% http://ctan.org/pkg/amssymb
\usepackage{pifont}% http://ctan.org/pkg/pifont
\usepackage{array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
%% New definition (\scriptsize can be deleted)
\newcolumntype{R}[1]{%
>{\begin{turn}{90}\begin{minipage}{#1}%
\scriptsize\raggedright\hspace{0pt}}l%
<{\end{minipage}\end{turn}}}
\begin{document}
\begin{table}
\begin{tabular}{ | P{4cm} | P{1cm} | P{1cm} }
\hline
col 0
%% now insert our new columns.
%% Don't forget, you have to repeat the
%% column delimiters "|" in your declaration!
& \multicolumn{1}{R{5em}}{Col1}
& \multicolumn{1}{|R{5em}}{Col2 too much text is written here that i want to split on multiple line but rotated 90 degree}\\%[25ex]
\hline
first row & \checkmark & \ding{55} \\
\hline
\end{tabular}
\end{table}
\end{document}