\documentclass{article}
\usepackage{tabularray, xcolor}
\begin{document}
\begin{tblr}{
columns={3em, c, colsep=2pt},
rows={3em, m, rowsep=2pt},
row{2,3} = {ht=0pt, abovesep=0pt, belowsep=0pt},
column{1,2} = {wd=0.2em},
vline{1} = {1-Z}{red,solid},
vline{2} = {1-2}{solid},
vline{3,5} = {1,4}{solid}
}
\cline{3-4}
&& text 1 & text 2 \\
\cline{3-4}
&&& \\
\cline{2-4}
&&& \\
\cline{3-4}
&& text 3 & text 4\\
\cline{3-4}
\end{tblr}
\end{document}
这里的红线仅用于显示表格的左边框。
可以通过改变虚拟列 1 和 2 的宽度来改变垂直线(直角)到表格的距离:column{1,2}={wd=0.2em}
。我已经将虚拟行 2 和 3 的高度和间隔都设置为零(row{2,3}={ht=0pt, abovesep=0pt, belowsep=0pt}
),但我想进一步减小水平线(直角)到附近行的垂直距离,即使该距离与水平线距离大致相同(此处0.2em
)。那么,如何最小化 tabularray 中的行高?
谢谢。
答案1
在tabular
环境中,每个单元都有来自\strut
命令的最小垂直空间,其大小由参数指定\arraystretch
。
environment也是一样tblr
,不同之处在于我们stretch
这里使用 option,可以通过设置 来移除 strut stretch=0
。
设置会破坏环境\arraystretch=0
中的对齐,但设置不会破坏环境中的对齐。tabular
stretch=0
tblr
\documentclass{article}
\usepackage{tabularray, xcolor}
\begin{document}
\begin{tblr}{
columns={3em, c, colsep=2pt},
rows={3em, m, rowsep=2pt},
row{2,3} = {0.2em},
column{1,2} = {0.2em},
vline{1} = {red,solid},
vline{2} = {1-2}{solid},
vline{3,5} = {1,4}{solid},
stretch = 0,
}
\cline{3-4}
&& text 1 & text 2 \\
\cline{3-4}
&&& \\
\cline{2-4}
&&& \\
\cline{3-4}
&& text 3 & text 4\\
\cline{3-4}
\end{tblr}
\end{document}