自定义 Typst 格式

人工智能与机器学习

概述

人工智能(AI)和机器学习(ML)是当今科技领域最热门的话题之一。AI是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别和决策制定。ML是AI的一个子集,专注于开发能够从数据中学习的算法。

关键技术

深度学习

深度学习是ML的一个分支,使用多层神经网络来处理复杂的数据模式。它在图像和语音识别方面取得了显著的成果。

强化学习

强化学习是一种通过试错来学习的ML方法。它通常用于游戏和机器人控制等领域。

应用领域

医疗保健

AI和ML在医疗诊断、药物发现和个性化治疗方面有广泛应用。

金融

在金融领域,AI用于风险管理、欺诈检测和算法交易。

挑战

数据隐私

随着AI和ML的发展,数据隐私成为一个重要问题。如何在不侵犯个人隐私的情况下利用数据是一个挑战。

伦理问题

AI系统的决策过程可能不透明,这引发了关于伦理和责任的讨论。

未来展望

AI和ML的未来充满希望,但也伴随着挑战。随着技术的进步,我们期待看到更多创新的应用和解决方案。

概述

当你在 Quarto 中编写 Typst 文档时,你将使用基于 Typst 模板的 Quarto 格式。默认模板提供了一个基本的文章布局,但 Typst 提供了一种简单的方式来定义你自己的模板,以生成高度定制的文档。

Typst 模板可以打包为 Quarto 的自定义格式,以便于轻松使用和共享。在本页中,了解 Quarto 团队提供的一些自定义 Typst 格式,以及如何创建自己的格式。

自定义格式

你可以通过基于自定义 Typst 模板定义新格式,使用 Typst 创建高度定制的输出。Typst 团队已经创建了几个有用的模板,其中一些已经被改编为 Quarto 的自定义格式。这些格式包括:

格式 用法
海报 quarto use template quarto-ext/typst-templates/poster
IEEE quarto use template quarto-ext/typst-templates/ieee
AMS quarto use template quarto-ext/typst-templates/ams
信件 quarto use template quarto-ext/typst-templates/letter
小说 quarto use template quarto-ext/typst-templates/fiction
部门新闻 quarto use template quarto-ext/typst-templates/dept-news

这些格式的源代码可以在 https://github.com/quarto-ext/typst-templates 找到。

创建格式

要创建一个新的自定义 Typst 格式(或将现有的 Typst 模板打包用于 Quarto),请使用 quarto create 命令开始:

Terminal
$ quarto create extension format

然后,选择 typst 作为基础格式,并为扩展提供一个名称(例如 letter)。一个基于 Quarto 默认模板代码的示例 Typst 格式扩展将被创建。它将包含以下你可以编辑以实现自定义格式的文件:

文件 描述
_extension.yml 基本的扩展元数据(名称、作者、描述等)和格式定义。
README.md 关于如何安装和使用该格式的文档。
template.qmd 一个演示格式基础的入门文档。
typst-template.typ 核心 Typst 模板函数(创建 Typst 模板的文档可以在这里找到:https://typst.app/docs/tutorial/making-a-template/)。
typst-show.typ 调用模板函数的文件(将 Pandoc 元数据映射到函数参数)。

在创建自定义格式时,你可能会发现以下资源很有用:

高级定制

Note

本节涵盖了 Typst 格式输出的高级定制,除非你发现上面描述的自定义 Typst 格式定义方法过于有限,否则可以安全地忽略。

上面我们描述了一种基于指定两个模板部分typst-template.typtypst-show.typ)创建 Typst 格式的方法。这些部分自定义了默认 Typst Pandoc 模板的一些组件,但保留了一些核心结构,包括 Pandoc 为其 Typst 输出所需的定义以及参考文献和脚注的处理(这意味着你自己的自定义 Typst 格式不需要显式处理它们)。 如果你希望完全覆盖用于渲染Typst的Pandoc模板,请在你的自定义格式中使用template选项(而不是template-partials),并提供默认模板的替代实现。例如,你的_extensions.yml文件可能如下所示:

_extensions.yml
title: Typst 自定义格式
author: Jane Smith
version: "0.2.0"
quarto-required: ">=1.4.11"
contributes:
  formats:
    typst:
      template: template.typ
      template-partials:
        - typst-template.typ
        - typst-show.typ

使用默认模板的源代码作为你的template.typ的起点。请注意,你可以在自定义模板实现中调用Quarto提供的所有模板部分(例如biblio.typ()notes.typ())。

AMS格式提供了一个重新定义主模板的示例(在这种情况下,是为了防止Quarto自动处理参考文献,以优先使用Typst AMS模板的内置处理)。