附件

证明、规范和较长的推导更适合排版,而不是用 Markdown 书写。Luna Flow 将它们作为 Typst 文档保存在 doc/attachments/ 中,在构建站点时编译为 PDF,并在页面内通过按需打开的阅读器显示。

文件放在哪里

doc/attachments/ 中的所有内容由所有语言共享。

文件发布为
<name>.typ<name>.pdf
<name>/main.typ<name>.pdf,用于拆分为多个文件的文档
<name>.<locale>.typ 或 <name>/main.<locale>.typ该语言环境对应的 <name>.pdf 版本
其他任何文件文件本身

提交 Typst 源文件,而不是 PDF。持续集成会在每次构建时编译所有文档,因此发布的 PDF 始终与其源文件一致。非 Typst 文件(例如插图或由其他工具生成的 PDF)会原样发布。

Typst 文档以 doc/attachments/ 作为项目根目录进行编译,因此可以从中导入共享模板。构建环境提供 Typst 默认字体和 Noto CJK 字体。

命名

使用小写名称,单词之间用下划线分隔。图片遵循 Blender 手册的约定:名称以使用该图片的页面路径开头,路径各部分之间用 _ 连接,各部分内部用 - 连接,例如 core/api.md 中的插图命名为 core_api_hom-composition.svg。采用这种命名的扁平目录,一眼就能看出每个文件属于哪个页面。

嵌入文档

链接到 Typst 源文件。当链接是所在段落的唯一内容时,页面会显示一个可原地展开的阅读器:

[Formal specification of the QED kernel](../attachments/qed_formal_spec.typ)

添加 #page=12 可在指定页打开文档。句子中的链接仍是普通链接,会直接打开 PDF。

阅读器以链接文字作为标题,按需渲染页面,并提供缩放、在新标签页中打开和下载功能。在 GitHub 上,同一链接会打开 Typst 源文件,因此页面在那里同样可用。

当文档有多个语言版本时,所有语言都链接到同一名称,站点会选择与页面语言环境对应的版本,若不存在则回退到不带语言后缀的版本。

图片

使用 Markdown 图片语法嵌入图片,并附上描述:

![Composition of two ring homomorphisms](../attachments/core_api_hom-composition.svg)

图表优先使用 SVG,截图优先使用 PNG。为每张图片提供替代文本;它会随页面一起翻译。