表格单元格中的对角线与垂直文本的位置不正确

表格单元格中的对角线与垂直文本的位置不正确

我想要从表格第一个单元格的左上角到右下角画一条对角线。

所以我希望它看起来类似于左边的表格:

在此处输入图片描述

但是,如果只是简单地使用\diagbox或,\backslashbox对角线不会穿过整个单元格。它看起来只是像“基本”下的表格。

如果我尝试使用该选项来纠正这个问题,height整行的高度就会改变,我不知道如何避免这种情况。

当然,我不是第一个提出这个问题的人。但类似问题的答案如下

表格中带有垂直文本的对角线

或者

当表头较高时,表头中的对角线

产生的问题与设置高度是一样的。

这是我作为 MWE 的代码:

\documentclass[12pt, a4paper, twoside]{article}
\usepackage{diagbox}
\usepackage{slashbox}
\usepackage{rotating}

\begin{document}

    % basic table
    \begin{tabular}{c|c}
        R\textbackslash PF & 
        \begin{turn}{-90}PF 333 \space\end{turn} \\
        \hline
        R1 \\
    \end{tabular}

    \vspace{1cm}

    % simple diagonal line
    \begin{tabular}{c|c}
        \diagbox{R}{PF} &
        %\backslashbox{R}{PF} &
        \begin{turn}{-90}PF 333 \space\end{turn} \\
        \hline
        R1 \\
    \end{tabular}

    \vspace{1cm}

    % using height option
    \begin{tabular}{c|c}
        \diagbox[height=3cm]{R}{PF} &
        \begin{turn}{-90}PF 333 \space\end{turn} \\
        \hline
        R1 \\
    \end{tabular}

\end{document}

如果有人知道并能告诉我如何解决这个问题,我会非常高兴。(抱歉图片奇怪且链接缺失,但我没有足够的信誉来发布更多内容)

答案1

这是你想要的吗?

\documentclass[12pt, a4paper, twoside, pdftex]{article}
\usepackage{diagbox}
\usepackage{graphicx}

\begin{document}

% using height option
\begin{tabular}{|c|c|}
  \hline
  \diagbox[height=8ex, width=4em]{\raisebox{0.5\height}{\enspace R}}{ \raisebox{-0.8\height}{\ PF}} &
  \rotatebox[origin =c]{-90}{\,PF 333} \\
  \hline
  R1 \\
\end{tabular}

\end{document} 

在此处输入图片描述

答案2

环境{NiceTabular}nicematrix一个内置命令\diagbox,它将始终绘制一条真正的对角线(因为它是在构建数组后使用 TikZ 绘制的)。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{cc}[hvlines]
\diagbox{R}{PF} & \rotate PF 333\,\\
R1 \\
\end{NiceTabular}

\bigskip

\begin{NiceTabular}{w{c}{12mm}c}[hvlines]
\diagbox{R}{PF} & \rotate PF 333\,\\
R1 \\
\end{NiceTabular}

\end{document} 

上述代码的输出

相关内容