提示:本教程存在过时问题,更详细教程请阅读 小蓝书Typst 中文社区导航 FAQ
注意:该中文文档为社区驱动的非官网文档,可能存在错译、漏译或过时等问题,请以官网文档 Documentation 为准,如发现错漏,也欢迎 您的贡献镜像)。Typst 非官方中文交流 QQ 群:793548390
Warning: the Chinese document is a community-driven non-official document, there may be mistranslation, omission or outdated problems, please refer to the official website documentation.
Typst 中文文档

enum 元素
元素函数可以通过 set 和 show 规则进行样式自定义。

有序列表。

垂直显示项目序列并按顺序编号。

示例

自动编号:
+ 准备工作
+ 分析
+ 结论

手动编号:
2. 第一步是什么?
5. 我迷惑了。
+ 继续 ...

多行:
+ 此枚举项有多行,因为下一行缩进了。

函数调用。
#enum[First][Second]
Preview

您可以使用集合规则轻松切换所有枚举的不同编号样式。

#set enum(numbering: "a)")

+ 开始 ...
+ 不要忘记第二步
Preview

您还可以使用 enum.item 以编程方式自定义枚举中每个项目的编号:

#enum(
  enum.item(1)[第一步],
  enum.item(5)[第五步],
  enum.item(10)[第十步]
)
Preview

语法

此功能还具有专用语法:

枚举项可以包含多个段落和其他块级内容。所有缩进超过项目标记的内容都将成为该项目的一部分。

参数
参数是函数的输入,它们在函数名称后面的括号中传入。

tight
bool
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

如果为 false,则使用 enum spacing 将项目间隔开。 如果为 true,则使用正常的 leading。如果项目很短,则这样做可能看起来更好。

在标记模式中,此参数的值是基于项目是否用空行分隔而确定的。 如果项目直接相邻,则设置为 true;如果项目之间用空行分隔,则设置为 false

默认:true

查看示例
+ If an enum has a lot of text, and
  maybe other inline content, it
  should not be tight anymore.

+ To make an enum wide, simply
  insert a blank line between the
  items.
Preview

numbering
str function
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

如何为枚举编号。接受 numbering pattern or function

如果编号模式包含多个计数符号,则它们适用于嵌套的枚举。 如果给定一个函数,如果 fullfalse,则函数接收一个参数;如果 fulltrue,则函数接收多个参数。

默认:"1."

查看示例
#set enum(numbering: "1.a)")
+ Different
+ Numbering
  + Nested
  + Items
+ Style

#set enum(numbering: n => super[#n])
+ Superscript
+ Numbering!
Preview

start
int
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

从哪个数字开始进行枚举。

默认:1

查看示例
#enum(
  start: 3,
  [Skipping],
  [Ahead],
)
Preview

full
bool
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

是否显示完整编号,包括所有父枚举的编号。

默认:false

查看示例
#set enum(numbering: "1.a)", full: true)
+ Cook
  + Heat water
  + Add integredients
+ Eat
Preview

indent
length
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

每个项目的缩进。

默认:0pt

body-indent
length
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

编号和每个项目主体之间的空格。

默认:0.5em

spacing
auto relative fraction
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

宽(非紧凑)枚举项目之间的间距。

如果设置为 auto,则使用 块下方 的间距。

默认:auto

number-align
alignment
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

枚举号码应具有的对齐方式。

默认情况下,这设置为 end + top,将枚举号码对齐到当前文本方向的末尾 (例如,在从左到右的脚本中,这与 right 相同),并位于行顶部。 对于水平对齐枚举号码,通常首选 end,因为这样数字就远离文本而不是朝向文本,避免了某些视觉问题。 但是,此选项允许您覆盖此行为。 (还要注意的是,无序列表 使用不同的方法,通过直接给 marker 内容提供对齐方式)。

默认:end + top

查看示例
#set enum(number-align: start + bottom)

Here are some powers of two:
1. One
2. Two
4. Four
8. Eight
16. Sixteen
32. Thirty two
Preview

children
content array
必需参数位置参数
位置参数按顺序传入,不带名称。
可变参数
可变参数可以多次传入。

编号列表的项目。

在使用枚举语法时,相邻的项目会自动收集到枚举中,即使通过像 for 循环这样的结构。

查看示例
#for phase in (
   "Launch",
   "Orbit",
   "Descent",
) [+ #phase]
Preview

定义
函数和类型可以有与其关联的定义 (成员或方法)。可以使用 "." 操作符来访问调用它们。

item

枚举项。

enum.item() -> content

number
none int
位置参数
位置参数按顺序传入,不带名称。
可用 Set 规则
可以使用 Set 规则,为函数后续所有的使用设置默认参数。

项目的编号。

默认:none

body
content
必需参数位置参数
位置参数按顺序传入,不带名称。

项目的正文。