想自动实现这个效果
代码如下
\documentclass{ctexart}
\usepackage{tabularray}
\SetTblrInner[tblr]{%
cells={c},
hlines,
vlines,
}
\ExplSyntaxOff
\begin{document}
% 以下是有问题的代码
\ExplSyntaxOn
\seq_set_split:Nnn \l_my_seq_a {,}{a,b,c,d,ef}
\begin{tblr}{}
\int_step_inline:nnn{1}{\seq_count:N \l_my_seq_a}
{
\int_compare:nNnTF {#1}<{\seq_count:N \l_my_seq_a}{
#1 &
}
{
#1 \\
}
}
\int_seq_inline:nnn{1}{\seq_count:N \l_my_seq_a}{
\int_compare:nNnTF {#1}<{\seq_count:N \l_my_seq_a}{
\seq_item:Nn \l_my_seq_a {#1}&
}
{
\seq_item:Nn \l_my_seq_a {#1}
}
}
\end{tblr}
\ExplSyntaxOff
% \ExplSyntaxOn
% \seq_set_split:Nnn \l_my_seq_a {,}{a,b,c,d,ef}
% \begin{tblr}{}
% \seq_use:Nn \l_my_seq_a {&}
% \end{tblr}
% \ExplSyntaxOff
\end{document}
报错信息显示
tabularray
不支持这么写。只能把结果保存到 tl 里,然后用 expand
键。
\documentclass{ctexart}
\usepackage{tabularray}
\SetTblrInner[tblr]{%
cells={c},
hlines,
vlines,
}
\begin{document}
\ExplSyntaxOn
\tl_clear:N \tableval
\seq_set_split:Nnn \l_my_a_seq { , }{ a,b,c,d,ef }
\int_step_inline:nnn { 1 } { \seq_count:N \l_my_a_seq }
{
\int_compare:nNnTF {#1} < { \seq_count:N \l_my_a_seq }
{
\tl_put_right:Nn \tableval { #1 & }
}
{
\tl_put_right:Nn \tableval { #1 \\ }
}
}
\int_step_inline:nnn { 1 } { \seq_count:N \l_my_a_seq }
{
\int_compare:nNnTF {#1} < { \seq_count:N \l_my_a_seq }
{
\tl_put_right:Nx \tableval { \seq_item:Nn \l_my_a_seq {#1} & }
}
{
\tl_put_right:Nx \tableval { \seq_item:Nn \l_my_a_seq {#1} }
}
}
\ExplSyntaxOff
\begin{tblr}[expand=\tableval]{}
\tableval
\end{tblr}
\end{document}
雾月老师,我还是没有修改正确,麻烦看一下
\documentclass{ctexart}
\usepackage{tabularray}
\SetTblrInner[tblr]{%
cells={c},
hlines,
vlines,
}
\begin{document}
\ExplSyntaxOn
\newcommand{\tl}{
\seq_set_split:Nnn \l_my_seq_a {,}{a,b,c,d,ef}
\int_step_inline:nnn{1}{\seq_count:N \l_my_seq_a}
{
\int_compare:nNnTF {##1}<{\seq_count:N \l_my_seq_a}{
##1 &
}
{
##1 \\
}
}
\int_seq_inline:nnn{1}{\seq_count:N \l_my_seq_a}{
\int_compare:nNnTF {##1}<{\seq_count:N \l_my_seq_a}{
\seq_item:Nn \l_my_seq_a {##1 &}
}
{
\seq_item:Nn \l_my_seq_a {##1}
}
}
}
\begin{tblr}[expand=\tl]{}
\tl
\end{tblr}
\ExplSyntaxOff
\end{document}
谢谢雾月老师,明白了,是我想简单了