Obsidian 插件:Typst Renderer
插件名片
概述
使用 Typst 将 typst
代码块和数学块渲染为图像。
原文出处
下面自述文件的来源于 Readme
Readme(翻译)
下面是 typst 插件的自述翻译
Typst 渲染器
使用 Typst 和 WASM 的强大功能,将 typst
代码块和可选的数学块渲染为图像!这个项目仍在积极开发中,欢迎提出建议和报告错误!
需要注意的小细节
- 此插件使用 Typst 0.6.0 版本。
- Typst 目前不支持导出为 HTML,只支持 PDF 和 PNG 格式。因此,由于图像缩放的原因,渲染的视图可能会看起来有些糟糕。如果您知道如何解决这个问题,请帮忙。
- 文件路径应相对于存储库文件夹。
- 默认情况下不加载系统字体,因为这需要大约 20 秒的时间(在我的机器上)。在设置中有一个选项可以启用它们(需要重新加载插件)。
- 由于移动设备上不支持文件读取,因此无法在移动设备上导入。这是因为移动设备上不支持
SharedArrayBuffer
,但在桌面上出于某种原因是可用的。
使用包
该插件仅支持从 @preview
和 @local
命名空间读取包。请使用 Typst cli 下载您所需的包。这意味着插件可以访问您的保险库之外的文件,但仅用于读取,它不会修改或创建您的保险库之外的文件。
数学块的使用
该插件可以在数学块中渲染 typst
!默认情况下,此功能处于关闭状态,要启用它,请设置“覆盖数学块”设置或使用“切换数学块覆盖”命令。数学块类型在 Obsidian 和 Typst 之间保持一致,$...$
-> $...$
和 $$...$$
-> $ ... $
。
根据我的实验,Typst 对于普通的数学块没有问题,但对于任何 LaTeX 代码,Typst 都无法正常工作。
有关使用样式和导入数学块的方法,请参阅下一节。
前言
每次都需要以相同的方式对 typst
代码进行样式设置,但又不想每次都写出来?或者在使用数学块时需要导入一些内容?使用前言!
在编译之前,前言会被添加到您的 typst
代码之前。设置中有三种不同类型的前言:
shared
:添加到所有typst
代码之前。math
:仅在数学块中添加到typst
代码之前。code
:仅在代码块中添加到typst
代码之前。
已知问题
运行时错误:无法访问或递归使用对象
当 Typst 编译器由于任何原因而发生恐慌时,会出现这些错误,这意味着编译器在重新启动之前无法再次使用。控制台日志中应该有更多信息,请创建一个带有此错误的问题!
```typst
= 斐波那契数列
斐波那契数列通过递推关系定义:$F_n = F_(n-1) + F_(n-2)$。
它也可以用闭式形式表示:
$ F_n = floor(1 / sqrt(5) phi.alt^n), quad
phi.alt = (1 + sqrt(5)) / 2 $
#let count = 10
#let nums = range(1, count + 1)
#let fib(n) = (
if n <= 2 { 1 }
else { fib(n - 1) + fib(n - 2) }
)
数列的前 #count 个数是:
#align(center, table(
columns: count,
..nums.map(n => $F_#n$),
..nums.map(n => str(fib(n))),
))
```

安装
从设置中的社区插件选项卡中安装“Typst Renderer”
或者
将发布选项卡中的 main.js
、styles.css
和 manifest.json
复制到您的保险库中的 .obsidian/plugins/obsidian-typst
文件夹中进行安装。
TODO / 目标(无特定顺序)
- 改进字体加载
- 修复导入问题
- 修复 Github Actions
- 更好的错误处理
- [x]? 修复输出图像缩放
- 使用 HTML 输出
- 覆盖默认的方程式渲染
-
.typ
文件的自定义编辑器 - 移动设备文件阅读
- 自动化包下载
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。