我使用 的语法expl3
来输入数字递增的表格。用法可以在这里找到:
根据计数器创建表格
\documentclass{article}
\usepackage{array}
\begin{document}
\ExplSyntaxOn
\int_set:Nn \l_tmpa_int {5}
\tl_clear:N \l_tmpa_tl
\int_step_inline:nn{\l_tmpa_int+1}{\tl_put_right:Nn \l_tmpa_tl{|l}}
\tl_put_right:Nn \l_tmpa_tl{|}
\begin{tabular}{\l_tmpa_tl}
\int_step_inline:nn{\l_tmpa_int}{#1&} others
\end{tabular}
\ExplSyntaxOff
\end{document}
上述代码会产生错误:
! Package array Error: Illegal pream-token (\l_tmpa_tl): `c' used.
不加载array
,代码运行正常。错误似乎是由于array
。有没有什么方法可以解决这个问题?
答案1
不对 的array
强制参数进行任何扩展tabular
。您可以使用\exp_args:NnV \begin{tabular}\l_tmpa_tl
,但还有更好的方法来生成这样的表前言。
\documentclass{article}
\usepackage{array}
\begin{document}
\ExplSyntaxOn
\tl_set:Nx \l_tmpa_tl { \prg_replicate:nn { 6 } { |l } | }
\cs_set:Nn \__jiaopijie_temp:n { #1 & }
\exp_args:NnV \begin{tabular} \l_tmpa_tl
\int_step_function:nN { 5 } \__jiaopijie_temp:n others
\end{tabular}
\ExplSyntaxOff
\end{document}