我正在尝试制作一个表格,其中的列标签旋转了 90 度,我在网上找到了一些代码(见下文),几乎得到了我想要的。但是线条没有完全展开,所以列标签没有很好地分开,而且一些表格“墙”也丢失了,我想修复这个问题。请注意,表格左上角应该有一个大的空白单元格(即没有墙)。任何帮助都非常感谢。
\documentclass[12pt]{article}
\usepackage{answers}
\usepackage{multicol}
\usepackage{adjustbox}
\usepackage[table,x11names]{xcolor}
\usepackage{float}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{array}
\newcolumntype{?}{!{\vrule width 2pt}}
\usepackage[spanish, es-tabla]{babel}
\makeatletter
\renewcommand{\@seccntformat}[1]{}
\makeatother
\setlength\parindent{24pt}
\newcolumntype{R}[2]{%
>{\adjustbox{angle=#1,lap=\width-(#2)}\bgroup}%
l%
<{\egroup}%
}
\newcommand*\rot{\multicolumn{1}{R{90}{1em}}}% no optional argument here, please!
\begin{document}
\begin{tabular}{r|c|c|c|c|c|}
& \rot{Hello} &
\rot{Hello} &
\rot{Hello} &
\rot{Hello} &
\rot{Hello} \\
\hline
Hello & 0 & 0 & 0 & 0 & 0 \\
\hline
Hello & 0 & 0 & 0 & 0 & 0 \\
\hline
Hello & 0 & 0 & 0 & 0 & 0 \\
\hline
Hello & 0 & 0 & 0 & 0 & 0 \\
\hline
Hello & 0 & 0 & 0 & 0 & 0 \\
\hline
\end{tabular}
\end{document}
答案1
这是一种更简单的方法(使用包rotating
)。
\documentclass[12pt]{article}
\usepackage{rotating}
\newcommand{\rot}[1]{\begin{turn}{90}#1\enspace\end{turn}}
\newcommand{\mr}[1]{\multicolumn{1}{|c|}{#1}}
\begin{document}
\begin{tabular}{r|c|c|c|c|c|}
\cline{2-6}
& \rot{Hello} &
\rot{Hello} &
\rot{Hello} &
\rot{Hello} &
\rot{Hello} \\
\hline
\mr{Hello} & 0 & 0 & 0 & 0 & 0 \\
\hline
\mr{Hello} & 0 & 0 & 0 & 0 & 0 \\
\hline
\mr{Hello} & 0 & 0 & 0 & 0 & 0 \\
\hline
\mr{Hello} & 0 & 0 & 0 & 0 & 0 \\
\hline
\mr{Hello} & 0 & 0 & 0 & 0 & 0 \\
\hline
\end{tabular}
\end{document}