根据具有 tabularray 的单元格调整 diagbox 的大小

根据具有 tabularray 的单元格调整 diagbox 的大小

在下面的代码中,diagbox 没有展开以占据整个单元格。我可以修改高度和宽度(diagbox 的可选参数),但我可以给这些参数赋予什么值?

\documentclass[11pt]{book}

\usepackage{tabularray}
\UseTblrLibrary{varwidth,diagbox}

\begin{document}

\begin{tblr}{colspec={X[2,c]X[4,c]X[2,c]},row{2-Z}={font=\footnotesize},vlines,hlines}
   A  & \SetCell[r=2]{c}  \diagbox[dir=NE,font=\LARGE\ttfamily]{}{20} \\
   B  & \\
\end{tblr}

\end{document}

在此处输入图片描述

答案1

经过一番研究,我终于找到了一个完整的(我希望如此!!!)解决方案。我以某种方式更改了表格以查看效果。您可以更改 X 变量宽度中的数字(例如从 4 更改为 8,或从 2 更改为 4 或 6),列以查看对角线是否跟随它们。您可以删除一些合并的行,进行适当的更改,更改系数(见下文)以查看高度是否自动调整。

\documentclass[11pt]{book}

\usepackage{tabularray}
\UseTblrLibrary{diagbox}

\begin{document}
    
    \begin{tblr}{colspec={X[2,c]X[4,c]X[2,c]},row{2-Z}={m,font=\footnotesize},vlines,hlines,cell{1}{2}={c=1,r=7}{c}}
        A  & \diagbox[dir=NE,font=\LARGE\ttfamily,width=\dimexpr\linewidth+2\tabcolsep,height=\dimexpr7\line+7\abovesep+7\belowsep+2pt]{}{20} \\%<- the number must be the same as the number of rows to be merged plus 2pt which is fixed.
        B  & \\
        C  & \\
        D  & \\
        E  & \\
        F  & \\
        G  & \\
    \end{tblr}
    
\end{document}

答案2

您使用了可变宽度的列,因此这是一个尝试和错误的过程,以找到线条的最佳宽度和高度。根据您的代码进行一些小的更改后,我们得到了以下内容:

\documentclass[11pt]{book}

\usepackage{tabularray}
\UseTblrLibrary{varwidth,diagbox}

\begin{document}
    
    \begin{tblr}{colspec={X[2,c]X[4,c]X[2,c]},row{2-Z}={m,font=\footnotesize},vlines,hlines,cell{1}{2}={c=1,r=2}{c}}
        A  & \diagbox[dir=NE,font=\LARGE\ttfamily,width=8.25cm,height=2.6\line]{}{20} \\
        B  & \\
    \end{tblr}
    
\end{document}

相关内容