l3seq

在辅助文件中设置 expl3 序列的正确方法
l3seq

在辅助文件中设置 expl3 序列的正确方法

考虑以下示例,其中它(全局)向文件中的TEST序列添加一个元素。然后,如果要求它在辅助文件中立即显示序列内容,结果是正确的(这是注释代码)。但是,如果稍后要求在文档中显示,它会显示序列为空。考虑到确实是全局版本,为什么会发生这种情况?正确的方法是什么?\g__mymodule_test_seq.aux\seq_gput_right:Nn \documentclass{article} \begin{document} \makeatletter \ExplSyntaxOn \seq_new:N \g__mymodule_test_seq \iow_n...

Admin

无法检查 LaTeX3 中序列中的字符串(标记列表)类型宏是否为宏?
l3seq

无法检查 LaTeX3 中序列中的字符串(标记列表)类型宏是否为宏?

这是我第一次使用 TeX Stack Exchange,所以如果我无意中冒犯了任何人,请原谅我。 编译环境(用来pdflatex编译): WSL: x86_64 Linux 5.15.133.1-microsoft-standard-WSL2 TeX Live: 2023/Arch Linux 示例文件夹文件如下: ├── file.txt └── main.tex file.txt包含以下内容: Hello World 以下是mwe(来源main.tex): \documentclass{article} \usepackage{expl3} ...

Admin

Expl3 - 在 Tabularray 中排序并显示序列
l3seq

Expl3 - 在 Tabularray 中排序并显示序列

我想在tblr环境中打印一个序列。该\sortdata命令接受要排序的整数列表以及一个可选参数来指定如何打印出来。我想&在打印时将其作为序列的分隔符。这在tabular环境中有效,但在 中无效tblr。 \documentclass{article} \usepackage{tabularray} \ExplSyntaxOn \seq_clear_new:c{l_data_seq} \seq_clear_new:c{l_sorted_seq} \NewExpandableDocumentCommand{\sortdata}{O{,}m}{ \...

Admin

再次出现扩展问题
l3seq

再次出现扩展问题

我似乎一直遇到同样的问题。为了更多地了解扩展,我编写了一个程序,该程序以 1 的序列开始,然后在每一步之后将其递增以生成 2 的序列,等等。然后,生成的所有不同序列必须tikz以以下格式显示在矩阵中: 我使用了以下代码: \documentclass[11pt]{article} \usepackage{tikz} \usetikzlibrary{matrix} \ExplSyntaxOn \NewDocumentCommand{\indexprod}{ m } % indices { \seq_set_from_clist:Nn \l_...

Admin

执行由两个 \clist 或 \seq 中的配对元素生成的命令列表
l3seq

执行由两个 \clist 或 \seq 中的配对元素生成的命令列表

我有数百行代码 \Umathcode`a = 0 \symwmb "1D4B6 和 \Umathcode"03B1 = 0 \symrmtl "0000B 在后一种情况下,有一个对应项\def\alpha{^^^^03b1},位于 David Carlisle 的回答中的命令类型中\mathsf、\mathsfit、\mathbfsf 和 \mathbfsfit 中的希腊字母(不使用 unicode-math)将字符代码映射到各种字体的字符。由于我在几个这样的命令中重复使用拉丁字母和希腊字母,所以我想到应该可以从 \clist可用的 La...

Admin

Expl3:列表映射的扩展
l3seq

Expl3:列表映射的扩展

该包xcolor可以“准备”颜色定义,以便只有在实际需要时才加载它们,这可以通过稍后的调用来指示\providecolors{<id-list>}。 该包还具有方便的命令来定义一组共享共同前缀/后缀的颜色:\preparecolorset{HTML}{<prefix>}{<suffix>}{red,ff0000;blue,0000ff}准备颜色<prefix>red<suffix>和<prefix>blue<suffix>。 然后可以通过调用来加载这些颜色\provideco...

Admin

如何使用 edef 定义 l3 序列中的项目?
l3seq

如何使用 edef 定义 l3 序列中的项目?

我想用 \edef 定义列表中的一个元素。我写了下面的 MWE,它显示只有 \def 才能给出结果。但是,由于我以多种复杂的方式使用结果,所以 \def 对我来说不是一个选择。 为什么它不起作用?我该怎么办?感谢您的帮助。 \documentclass{article} \setlength\parindent{0pt} \ExplSyntaxOn \NewDocumentCommand { \defseq } { m m } { \seq_gset_from_clist:Nn#1{#2} } \NewDocumentCommand { \get...

Admin

`\seq_item` 在 `cases` 环境中不起作用
l3seq

`\seq_item` 在 `cases` 环境中不起作用

我正在尝试创建一个可以动态创建cases环境的宏。不幸的是,有一个问题我无法理解。 由于某种原因,使用时调用\seq_item不会产生文本后-token &。将其他文本放在&-token 之后或{\seq_item:Nn \l_tmpb_seq {2}}之前&都会产生预期的文本。 \documentclass{article} \usepackage{expl3} \usepackage{amsmath} \begin{document} \ExplSyntaxOn \newcommand{\caseExp}[1]{ \group...

Admin

以表格形式打印属性列表序列
l3seq

以表格形式打印属性列表序列

我想定义两个宏,它们一起生成一张发票表。 将条目添加到序列。不生成任何输出。 % \addentry{description}{quantity}{price} \addentry{Item 1}{5}{4.50} \addentry{Item 2}{3}{12.00} 将所有条目打印为表格,即\printentries应扩展为 \begin{tabularx}{\textwidth}{Xrrr} \toprule Description & Quantity & Price & Amount \\ \midrule Ite...

Admin

包含序列的嵌套序列
l3seq

包含序列的嵌套序列

我正在尝试创建一个嵌套序列,其中每个元素都是一个序列,但由于某种原因,它无法编译并且存在紧急停止。 梅威瑟: \documentclass{article} \usepackage{expl3} \ExplSyntaxOn \cs_generate_variant:Nn \seq_put_right:Nn {Ne} \cs_generate_variant:Nn \seq_put_right:Nn {NV} \seq_new:N \l__outer_seq \seq_new:N \l__inner_seq \NewDocumentCommand\add...

Admin

具有嵌套序列和带宏的参数的自定义命令
l3seq

具有嵌套序列和带宏的参数的自定义命令

我正在尝试创建一个使用嵌套序列的命令,例如 [[1,2,3],[4,5,6],...] 其中括号代表一个序列 我现在遇到的问题是无法将宏作为参数传递。希望得到帮助! 日志: > ! Argument of \@sect has an extra }. > <inserted text> > \par > l.42 \add{7}{8}{\textbf{9}} > > I've run across a `}' ...

Admin

将 l3prop 存储在 l3seq 中
l3seq

将 l3prop 存储在 l3seq 中

在一个.sty文件中,我定义以下内容: \seq_new:N \g__test_seq \NewDocumentCommand \TestAdd {m} { \prop_clear_new:N \l__test_prop \prop_set_from_keyval:Nn \l__test_prop { key1 = {#1}, % other keys omitted } \seq_gpush:Nn \g__test_seq { \l__test_prop } ...

Admin

以保留 catcode 的方式将键值对保存在 `l3prop` 中
l3seq

以保留 catcode 的方式将键值对保存在 `l3prop` 中

这是这个帖子。最初的问题是将某些函数的选项存储在某个容器中。此类函数的示例:\includepdf、 或\newwatermark。如果选项很多且\function[options]需要重复使用,这种方法会很有用。如果选项直接存储在 中l3seq(第一种方法),则可以正常工作。但我想将选项存储在 中,l3prop因为它可以处理重复项(例如,如果我在扩展点更新选项)。因此,在扩展点需要一个额外的步骤:将选项从 转移到l3prop,l3seq然后使用 进行扩展\seq_use:Nn。这定义了第二种方法。它适用于\includepdf,但不适用于\newwater...

Admin

两个看似相同的 l3seq 导致传递给函数的行为不同
l3seq

两个看似相同的 l3seq 导致传递给函数的行为不同

我有两个seq,一个由 构成clist,另一个由 构成prop,它们的扩展(,项目之间有 )看起来相同。它们应该包含 的选项\newwatermark。使用prop是为了确保选项(和其他要求)中没有重复。第一个按预期工作,第二个编译失败。为什么,如何修复?我用 代替 时没有出现此includepdf错误newwatermark。 PS:这是这个帖子。 \documentclass{article} \usepackage{mwe} \usepackage{pdfpages} \usepackage{xparse} \usepackage{xwaterma...

Admin

如何从序列生成变量名
l3seq

如何从序列生成变量名

在我的代码中,我需要从序列生成变量。例如,我有变量\g__test_bool。对于空序列,它应该是相同的。对于带有a_项目的序列,它应该是\g__test_a_bool,对于带有a_,b_项目的序列,它应该是\g__test_a_b_bool,等等。但是当我尝试这样做时,我收到一个错误: ! Undefined control sequence. <argument> \g__ \documentclass{article} \ExplSyntaxOn \seq_new:N\g__vars_seq \bool_gset_true:N\g__te...

Admin