
Typst 多页文档导出 PNG 或 SVG 时输出文件名 {p}/{0p}/{t} 页面模板怎么选【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst用 Typst 的命令行把一个多页文档导出为 PNG 或 SVG 时每一页都会写成一个独立文件。如果输出名只写了一个普通文件名多页文档就无法把各页区分开。此时输出名必须写成一个模板字符串在其中选择{p}、{0p}、{t}这些占位符。这篇文章基于 Typst 的 PNG 导出文档 和 SVG 导出文档说明三个占位符各自的替换结果、针对文件名排序和第 X 页共 N 页这类命名需求如何选型以及如何验证导出结果。先确认触发条件什么时候必须写模板按文档说明两种格式在多页文档上的行为一致PNG 是一次只包含一页的位图文件SVG 不能包含多页。导出多页文档时Typst 会分别输出多个图片文件。触发方式给compile或watch子命令传--format png/--format svg或者让输出文件名以.png/.svg结尾Typst 会按扩展名推断格式。文档超过一页时输出文件名必须是一个模板字符串至少包含{p}、{0p}、{t}之一。另外两者的一个差别影响参数选择PNG 绑定具体分辨率由 PPI 决定SVG 是矢量格式和 PDF 一样不绑定分辨率在任何设备上查看都不会损失质量。所以只有 PNG 导出才有--ppi选项SVG 导出文档中只列出页面选择选项。三个占位符的替换结果占位符替换结果文档描述{p}页码replaced by the page number{0p}补零页码replaced by the zero-padded page numberso that all numbers have the same length{t}总页数replaced by the total number of pages0.12.0 的更新日志 还提到{0p}与{n}等价zero-padded current page, same as current{n}所以模板里用{n}会得到同样的补零页码。按文件名需求选择占位符结合上面三个替换结果可以按文件名需求直接对应只需要页码区分各页用{p}例如page-{p}.png。希望按文件名排序时页码顺序与文档顺序一致用{0p}。文档对它的描述是所有数字长度相同补零后第 2 页和第 12 页的文件名宽度一致不会出现位数差异导致的排序问题。例如page-{0p}.png。希望文件名里带上总页数在页码占位符基础上叠加{t}例如page-{0p}-of-{t}.png由文档列出的占位符组合成的示例占位符含义见上表。一个需要注意的边界官方文档把{t}也列在至少包含之一的清单里但 CLI 实现中判断输出能否承载多页图片时只识别{p}、{0p}、{n}这三个页码模板见 compile.rs 的 output_template 模块只含{t}的模板在多页文档上会触发导出失败。因此实际选择时模板中至少要包含{p}或{0p}之一{t}作为附加信息使用。导出命令下面是一条按文中说明可直接执行的主路径命令main.typ替换为你的输入文件输出模板按上节所选形式替换typst compile main.typ page-{0p}.png需要显式指定格式时不依赖扩展名推断加--formattypst compile --format png main.typ page-{0p}.png typst compile --format svg main.typ page-{0p}.svg两个格式都支持的页面选择参数是--pages接受逗号分隔的页码或连字符区间区间可以是半开区间文档给出的示例是2,3,7-9,11-。当--pages只选出一页时输出就是一个普通文件名不需要模板。PNG 导出额外支持--ppi指定每英寸像素数默认144。文档给出的 PPI 选择参考桌面打印常用 300 或 600细节密集的印刷品可达 1200 PPI只在远处观看的文档如海报可选小于 300 的值在手机屏幕查看时常见的 PPI 是 400–500。watch子命令接受同样的--format、--pages、--ppi选项适合在文档持续修改时反复导出。验证导出结果成功条件文档说导出多页文档时 Typst 会创建多个图片文件即导出完成后在输出路径对应位置逐页出现带页码的图片文件数量与导出的页数一致。失败现象多页文档用了不含页码模板的输出名时Typst 不会生成文件而是报错。CLI 源码中的错误文本是cannot export multiple images without a page number template ({p}, {0p}) in the output path见 compile.rs此时按上面的选择方法在输出名中补上{p}或{0p}即可。限制与可选项PNG 只含像素栅格SVG 内嵌的是字形轮廓两者的文字都无法通过复制粘贴或屏幕阅读器自动提取。文档的结论是如果文字需要可访问应改导 PDF 或 HTML。两种格式默认输出不透明的白色背景。需要透明背景时在 Typst 源码中写#set page(fill: none)。完成以上步骤后验证落点就是输出目录里逐页生成的图片文件以及文件名中页码、总页数的替换是否符合所选模板。【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考