enum
元素
元素函数可以通过 set 和 show 规则进行样式自定义。
有序列表。
垂直显示项目序列并按顺序编号。
示例
自动编号:
+ 准备工作
+ 分析
+ 结论
手动编号:
2. 第一步是什么?
5. 我迷惑了。
+ 继续 ...
多行:
+ 此枚举项有多行,因为下一行缩进了。
函数调用。
#enum[First][Second]
您可以使用集合规则轻松切换所有枚举的不同编号样式。
#set enum(numbering: "a)")
+ 开始 ...
+ 不要忘记第二步
您还可以使用 enum.item
以编程方式自定义枚举中每个项目的编号:
#enum(
enum.item(1)[第一步],
enum.item(5)[第五步],
enum.item(10)[第十步]
)
语法
此功能还具有专用语法:
- 以加号开头的行会创建自动编号的枚举项。
- 以数字后跟点号的行会创建明确编号的枚举项。
枚举项可以包含多个段落和其他块级内容。所有缩进超过项目标记的内容都将成为该项目的一部分。
参数
参数是函数的输入,它们在函数名称后面的括号中传入。
tight
如果为 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.
numbering
如何为枚举编号。接受 numbering pattern or function。
如果编号模式包含多个计数符号,则它们适用于嵌套的枚举。
如果给定一个函数,如果 full
为 false
,则函数接收一个参数;如果 full
为 true
,则函数接收多个参数。
默认:"1."
查看示例
#set enum(numbering: "1.a)")
+ Different
+ Numbering
+ Nested
+ Items
+ Style
#set enum(numbering: n => super[#n])
+ Superscript
+ Numbering!
start
从哪个数字开始进行枚举。
默认:1
查看示例
#enum(
start: 3,
[Skipping],
[Ahead],
)
full
是否显示完整编号,包括所有父枚举的编号。
默认:false
查看示例
#set enum(numbering: "1.a)", full: true)
+ Cook
+ Heat water
+ Add integredients
+ Eat
indent
每个项目的缩进。
默认:0pt
body-indent
编号和每个项目主体之间的空格。
默认:0.5em
spacing
宽(非紧凑)枚举项目之间的间距。
如果设置为 auto
,则使用 块下方 的间距。
默认:auto
number-align
枚举号码应具有的对齐方式。
默认情况下,这设置为 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
children
编号列表的项目。
在使用枚举语法时,相邻的项目会自动收集到枚举中,即使通过像 for 循环这样的结构。
查看示例
#for phase in (
"Launch",
"Orbit",
"Descent",
) [+ #phase]
定义
函数和类型可以有与其关联的定义 (成员或方法)。可以使用 "." 操作符来访问调用它们。
item
枚举项。
number
项目的编号。
默认:none
body
项目的正文。