考虑到回答问题,我使用 slashbox 包绘制了一条对角线。但问题是我的表格中有多个行,这使得线条在单元格角落内对齐不佳。它还会在单元格之间产生奇怪的空间:
\documentclass{article}
\usepackage{slashbox}
\usepackage{adjustbox}
\begin{document}
\begin{table}[!htpc]
\begin{center}
\centering
\caption{some table.}
\label{possibility}
\begin{footnotesize}
\adjustbox{max height=\dimexpr\textheight-5.5cm\relax,
max width=\textwidth}{
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
\hline
% after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
&first & first & second & second & both & both & &\\
&key & key & key & key& key & key & none&all\\
\backslashbox{Room}{Date} &at & at & at & at & at & at& & \\
&d & p & d & p & d & p & &\\ \hline
$C_1$&Y & N & N & N & N & N & N &N \\ \hline
\hline
\end{tabular}
}
\end{footnotesize}
\end{center}
\end{table}
\end{document}
编辑
我使用了@bernard 提供的答案,但它给出了! Use of \line doesn't match its definition
错误。不确定其他人是否也会发生这种情况。
答案1
最好使用diagbox
,它功能更强大。我使用 改进了您的表格makecell
(允许在单元格中使用换行符和垂直填充)。另外,不要center
在表格中使用 环境,因为它会增加不必要的垂直间距;\centering
而是使用。对角线的位置通过 的可选参数进行调整\multirow
。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{diagbox}
\usepackage{adjustbox}
\usepackage{caption, multirow, makecell}
\setcellgapes{3pt}
\begin{document}
\begin{table}[!htp]
\centering
\caption{some table.}
\label{possibility}
\footnotesize\makegapedcells
\adjustbox{max height=\dimexpr\textheight-5.5cm\relax,
max width=\textwidth}{
\begin{tabular}{|*{9}{c|}}
\hline
\multirowcell{5.2}[2.3ex]{\diagbox[height=5.17\line]{\rlap{\enspace\raisebox{2ex}{Room}}}{\raisebox{-3.5ex}{Date}}} &\makecell{first\\key} & \makecell{first\\key} & \makecell{second\\key} & \makecell{second\\key} & \makecell{both\\keys} & \makecell{both\\keys}& none&all\\
& at & at & at & at & at & at & & \\
& d & p & d & p & d & p & & \\ \hline
$C₁$ & Y & N & N & N & N & N & N & N \\
\hline
\end{tabular}
}
\end{table}
\end{document}
答案2
以下是您可以使用 做的{NiceTabular}
事情nicematrix
。
\documentclass{article}
\usepackage{geometry}
\usepackage{caption}
\usepackage{nicematrix}
\begin{document}
\begin{table}[!htp]
\centering
\caption{some table.}
\label{possibility}
\begin{NiceTabular}{w{c}{2cm}*{8}{c}}[vlines,cell-space-limits=3pt]
\hline
\Block{3-1}{\diagbox{\quad \rule[-5pt]{0pt}{5pt}Room}{\rule{0pt}{15pt}Date\quad}}
& \Block{}{first\\key} & \Block{}{first\\key}
& \Block{}{second\\key} & \Block{}{second\\key}
& \Block{}{both\\keys} & \Block{}{both\\keys}& none&all\\
& at & at & at & at & at & at & & \\
& d & p & d & p & d & p & & \\ \hline
$C_1$ & Y & N & N & N & N & N & N & N \\
\hline
\end{NiceTabular}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。