我想拆分关于的多行内容\\
,然后拆分关于的每个项目.
。
然后,我想并行迭代每个列表,例如将它们的项目一起打印,例如打印a1i b2ii c3iii
。
我试图从左边弹出第一个列表并逐项阅读,但这不起作用...我想看看a-ok-b-ok-c
但我只看到a . b . c
...我认为是一个扩展问题......
这个问题是对这个帖子。
\documentclass{article}
% Source : https://tex.stackexchange.com/a/475291/6880
\RequirePackage{xparse}
\ExplSyntaxOn
%\seq_new:N \l__pmbc_seq % Not useful here.
% #1 : line separator
% #2 : cell separator
% #3 : content
\NewDocumentCommand{\splittab}{m m +m}{
\tnscalc_splittab:nnn{#1}{#2}{#3}
}
% The internal version of the general purpose macro
\cs_new_protected:Nn \tnscalc_splittab:nnn{
% #1 : line separator
% #2 : cell separator
% #3 : content
% A group allows nesting
\group_begin:
% Split into parts
\seq_set_split:Nnn \l__pmbc_seq { #1 } { #3 }
%\int_zero_new:N \l_mbc_N_int % Not useful here.
%\int_set:Nn \l_mbc_N_int { \seq_count:N \l__pmbc_seq } % Not useful here.
%
\seq_pop_left:NN \l__pmbc_seq {\l__temp}
\seq_set_split:Nnn \l__pmbc_subseq { #2 } { \l__temp }
\seq_use:Nn \l__pmbc_subseq { -ok- }
\group_end:
}
\ExplSyntaxOff
\begin{document}
\splittab{\\}{.}{ a . b . c \\ 1 . 2 . 3 \\ i . ii . ii }
\end{document}
答案1
请使用正确的命名。
\documentclass{article}
% Source : https://tex.stackexchange.com/a/475291/6880
\usepackage{xparse}
\ExplSyntaxOn
\seq_new:N \l__tnscalc_splittab_seq
\seq_new:N \l__tnscalc_subseq_seq
\int_new:N \l__tnscalc_splittab_int
\tl_new:N \l__tnscalc_temp_tl
% #1 : line separator
% #2 : cell separator
% #3 : content
\NewDocumentCommand{\splittab}{m m +m}
{
\tnscalc_splittab:nnn{#1}{#2}{#3}
}
% The internal version of the general purpose macro
\cs_new_protected:Nn \tnscalc_splittab:nnn
{
% #1 : line separator
% #2 : cell separator
% #3 : content
% A group allows nesting
\group_begin:
% Split into parts
\seq_set_split:Nnn \l__tnscalc_splittab_seq { #1 } { #3 }
\int_set:Nn \l__tnscalc_splittab_int { \seq_count:N \l__tnscalc_splittab_seq } % why?
\seq_pop_left:NN \l__tnscalc_splittab_seq \l__tnscalc_temp_tl
\seq_set_split:NnV \l__tnscalc_subseq_seq { #2 } \l__tnscalc_temp_tl
\seq_use:Nn \l__tnscalc_subseq_seq { -ok- }
\group_end:
}
\ExplSyntaxOff
\begin{document}
\splittab{\\}{.}{ a . b . c \\ 1 . 2 . 3 \\ i . ii . ii }
\end{document}
需要对存储弹出项的标记列表的内容进行拆分,因此正确的函数是\seq_set_split:NnV
。
不清楚整数变量的作用是什么。