tabularray
tblr
如果环境嵌套,我该如何按基线对齐单元格?
我已经看到了几个推荐的答案tabularray
并想尝试一下,但是这个软件包做的几件事对我来说似乎很奇怪。
以下 MWE 实际上展示了这个问题。提问的动机是我尝试在这里回答我想知道这是否值得追求,或者不采用任何tabularray
方法是否更好。
\documentclass{article}
\usepackage{tabularray}
\NewColumnType{K}{Q[l,h]Q[l,h]}
\begin{document}
\begin{tblr}{%
colspec={lK},
}
a & b & c \\
a & \SetCell[r=3,c=2]{l}{%
\begin{tblr}{%
baseline=T,
colspec={|K|},
}
\hline
b & c\\
\SetCell[r=2,c=2]{l}{%
\begin{tblr}{%
baseline=T,
colspec={|K|},
}
\hline
b & c\\
b & c\\
\hline
\end{tblr}%
} & \\
& \\
\hline
\end{tblr}%
} & \\
a & & \\
a & & \\
a & b & c \\
\end{tblr}
\end{document}
我发现关于这个主题的唯一问题的答案涉及使用tabular
而不是tabularray
。我现在找不到,但如果我设法找到它,我会添加链接。
答案1
太棘手而毫无用处。
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
colspec={lll},
hline{2}={2-Z}{},
hline{3}={2-Z}{leftpos=0, rightpos=0},
hline{Y}={1}{2-Z}{leftpos=0, rightpos=0},
hline{Y}={2}{2-Z}{},
vline{2}={1}{2-Y}{belowpos=1},
vline{2}={2}{3-Y}{abovepos=1},
vline{Z}={1}{3-Y}{abovepos=1},
vline{Z}={2}{2-Y}{belowpos=1},
}
1 & b & c \\
2 & b & c \\
3 & b & c \\
4 & b & c \\
5 & b & c \\
\end{tblr}
\end{document}
由于tabularray
对每个单元格进行多次排版,嵌套tabularray
表格很快就会变得很慢。
答案2
尝试这个:
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs} % For better horizontal lines
\NewColumnType{K}{Q[l,h]Q[l,h]}
\begin{document}
\begin{tblr}{
colspec={lK},
}
a & b & c \\
a & \SetCell[r=3,c=2]{l}{%
\begin{tblr}{%
baseline=T,
colspec={|K|},
abovesep=0pt,
belowsep=0pt,
}
\hline
b & c\\
\SetCell[r=2,c=2]{l}{%
\begin{tblr}{%
baseline=T,
colspec={|K|},
abovesep=0pt,
belowsep=0pt,
}
\hline
b & c\\
b & c\\
\hline
\end{tblr}%
} & \\
& \\
\hline
\end{tblr}%
} & \\
a & & \\
a & & \\
a & b & c \\
\end{tblr}
\end{document}