You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Typst中对列表排序后展示?已尝试相关方法未成功

在Typst中对列表排序的两种方法

方法1:直接对数组排序后转为列表

如果你是先定义了包含列表项内容的数组,直接调用数组的sorted()方法,再用list()函数生成排序后的列表即可:

#let num_list = [3, 2, 1]
#list(num_list.sorted())

这段代码会输出升序排列的列表:

  • 1
  • 2
  • 3

方法2:自动处理文档中的现有列表

如果想要让文档里所有(或指定)的列表自动排序,可以用#show规则捕获列表节点,提取子项内容排序后重新生成列表:

#show list: list_node => {
  // 按列表项的文本内容升序排序
  let sorted_children = list_node.children.sorted(item => item.body.text)
  list(sorted_children)
}

// 下面的列表会自动排序
- 3
- 2
- 1

你之前尝试的#a.children.sorted()问题在于,当a是数组时它并没有children属性,直接对数组调用sorted()即可;如果是列表节点,才需要访问children来获取子项。

内容的提问来源于stack exchange,提问作者Matt Joiner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:32:46