我想确定传递给最内层宏的原始标记序列的长度,如下所示
\compl{\indexset{J}}
在哪里
\NewDocumentCommand{\indexset}{m}{\mathsf{#1}}
\NewDocumentCommand{\compl}{m}{{#1}^{\complement}}
在数学上下文中,结果是衬线 J 带有上标相应的 C。
J
现在我想获取传递给的参数的整数长度\indexset
,而不是扩展的长度\mathsf{J}
。目的是决定是否使用括号以及如何格式化它们。
我想我可以简单地提取最后一项。
\tl_head:n {\tl_reverse:n {#1}}
或者
\tl_item:nn {#1} {\tl_count:n {#1}}
怎么办?不过,在这种情况下,我认为像\mx{1,2,3}'
(带有终止撇号,类似于 MATLAB/Octave 语法和含义---转置) 这样的表达式会产生错误的最后一项。
我仍然对扩展的概念感到困惑,也就是说我还没有正确地学习它,这可能是我遇到的问题的根源。
我想对这个问题进行如下延伸。
我如何正确(规范地?)测量最内层下标或上标表达式,如i_{n-k}
,考虑到上述限制?也就是说,如果最内层的表达式不是纯文本字符序列,而是本身就是一个表达式,尽管不是宏。我对下标和上标的具体情况特别感兴趣。
例如,
\compl{\indexset{I}_{n-k}}
或者
\compl{\indexset{I_{n-k}}}
在这种情况下,我只关心的长度I
。