Typst
约 1875 个字 16 行代码 预计阅读时间 6 分钟
简单标记
=
用来添加一级标题
==
表示二级标题
===
表示三级标题
====
表示四级标题,总之=
的多少决定了标题的嵌套级别
_
用来添加斜体
添加新段落,在两端文本之间添加一个空行
有序列表使用+
表示,Typt会自动添加序号.无序列表使用-
表示
如果要嵌套列表,就用tab键缩进.
图片与链接
Typst支持PNG,JPEF,GIF,SVG,JPG格式的图像
Typst 只为最常见的内容保留标记符号。 其他所有内容都将通过函数来插入
插入图像的时候,使用Typst的image函数
Typst | |
---|---|
默认情况下,图像现在在页面左侧对齐,默认宽度为页面宽度
要在标记模式中调用函数,首先要使用
#
字符,之后紧跟函数的名称.
image函数接受一个参数:图像文件的路径.
更改宽度
插入width
参数,单位为px.#image("图片路径",width=500)
,也可以使用百分比#image("图片路径",width="50%")
,还可以设定绝对值如cm
增加说明
让我们使用 figure 函数来解决这个问题.该函数将图表的内容作为位置参数,将可选的说明(caption)作为命名参数.
Typst | |
---|---|
- 注意之间使用逗号
- figure函数的参数列表中,Typst已经处于代码状态,这意味着可以在image函数调用的前面删除
#
号,#
号只有在标记模式时才用得到(用来消除函数调用中的文本歧义,类似latex里面的\
转义字符) - caption参数用
:[]
连接,里面随便写写就好了,最后还要用,
结尾
引用图表
首先要在图表上贴上标签,标签用来唯一识别文档中的元素,只需要在尖括号上将标签名称括起来,并在图表后面插入即可.在文本中用@
来插入图表
例如
Typst | |
---|---|
在文本中插入
Typst | |
---|---|
在方括号中的是内容块,里面可以包含文本,也可以包含其他类型的标记和函数调用等等.
添加参考文献
您可以使用 bibliography
函数向文档添加参考文献.此函数需要参考文献文件的路径
首先需要完成文献调查并形成.bib
文件,然后我们可以直接使用该文件
Typst | |
---|---|
数学
用$
括号包住数学符号,让Typst知道这是数学表达式,并且每一个变量之间都要用空格分开
Typst | |
---|---|
公式默认是内联排版的,也就是和周围的文本在同一行,如果想要放在新行上,需要在开头和结尾插入一个空格
Typst | |
---|---|
如果你想要一个由多个字母组成的变量,你可以用引号括起来
基本公式
-
要向符号或变量添加下标,输入
_
字符,然后输入下标.同样,为上标使用^
字符.如果下标或上标由多个内容部分组成,则必须将它们括在圆括号中 -
分式使用
/
字符,注意使用括号表示优先级 -
并非所有数学结构都有特殊的语法.作为替代,我们会使用函数 使用vec函数表示向量,函数调用不需要使用
#
号,因为这已经在数学模式下了$v=vec(x_1,x_2,x_3)$
表示向量v
由三个分量x1,x2,x3
组成. - 某些函数仅在数学模式下可用
- 许多符号(如箭头)有很多变体,可以通过在符号名称后附加点和修饰符名称来选择这些变体(这种记号在标记模式下也可以使用,但符号名称前面必须带有
#sym
)
格式
SET规则
Set规则可以概念化为,为将来该函数的所有使用的某些参数设置默认值
因为将内容块传递给Typst函数非常常见,因此具有特殊的语法:无需将内容块放在参数列表中,而是可以直接将其卸载方括号中,并且放在普通参数之后从而节省标点符号
这其实是一个语法糖,任何fn(...)[XXX][YYY][ZZZ]
,都会被自动转成fn(..., [XXX], [YYY], [ZZZ])
,这可以对任何一个函数使用,包括自定义的函数,只要在转换后的结果符合函数入参要求就可以
Typst有一个更优雅的解决方案.使用 Set 规则,您可以将样式属性应用于某类内容块的所有实例
Typst | |
---|---|
这将使得所有段落都居中排列.
- text:用于设置文本的字体、大小、颜色和其他属性
- page:用于设置页面大小、边距、页眉、启用栏和页脚
- par:用于对齐段落、设置行距等
- heading:用于设置标题的外观与启用编号
- document:用于设置 PDF 输出中包含的元数据,例如标题和作者
类似于css.
page
的set规则只就收两个参数,页面大小和页面边距.
其中页面大小为字符串,接受许多标准页面大小(包括常见的A4,A3,A2等),也可以制定自定义页面大小.
边距是一个字典,字典是键值对的几何,可以是x
和y
轴上的距离,也可以是top
, bottom
, left
, right
四个方向上的距离.
text
的set规则可以设置字体,Typst App 带有许多字体,可以在文档自主尝试.在输入 text 函数的 font 参数时,可以在自动补全面板中发现所有可用的字体.
设置了行间距(又名行距):它被指定为length
值,我们使用em
单位来指定相对于字体大小的行距:1em
相当于当前字体大小(默认为 11pt)
自动补全
可以输入#或者CTRL+S
来打开自动补全面板
自定义编号
我们现在要对标题进行编号.我们可以通过设置heading
函数的numbering
参数来做到这一点.
Typst | |
---|---|
这将使得所有标题都以数字1.开始用阿拉伯数字对标题进行编号.
lorem
函数可以身材站位文本,使用一个数字作为参数,生成许多lorem lpsum文本.
Typst 每次在你写 = Conclusi
on 时都会在内部调用 headin
g 函数.实际上,函数调用 #heading[Conclusion]
等效于上面的标题标记.其他标记元素的工作方式类似,它们仅仅是相应的函数调用的语法糖
SHOW规则
SHOW规则可以重新定义Typst某些元素的方式,可以制定Typst应该一不同的方式显示哪些元素和外观
show规则可以应用于文本实例,函数,甚至整个文档
我们的 Show
规则在名称前面添加 Logo
图像,并将结果放入 box
中,以防止 Logo
和名称之间出现换行符.图像也放在一个 box
中,这样它就不会出现在自己的段落中
这样,当我们在文档中使用 #ArtosFlow
时,它将显示一个带有标题和图像的盒子,标题是 name
变量的值.
对第一个 box
函数和 image
函数的调用不需要前导 #
,因为没有直接嵌入到bidden中.此时处于代码模式而不是标记模式,不需要前导#
.
高级样式
3