多行表格的对角线

多行表格的对角线

考虑到回答问题,我使用 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 节点)。

上述代码的输出

相关内容