Typst 多页文档导出 PNG 或 SVG 时,输出文件名 {p}/{0p}/{t} 页面模板怎么选

发布时间:2026/9/9 19:00:12

Typst 多页文档导出 PNG 或 SVG 时,输出文件名 {p}/{0p}/{t} 页面模板怎么选 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),仅供参考
延伸阅读

更多相关文章

2026/9/9 18:55:11

MQTT连接腾讯云实战:从传感器上云到设备控制全流程

简介:面向 STM32 与 ESP8266 物联网开发者,提供一套 MQTT 协议连接腾讯云物联网平台的完整示例,可解决嵌入式设备接入云端时的协议对接、参数配置、Wi-Fi 透传和底层驱动等问题。压缩包共 119 个文件,大小约 2.96MB,以…

2026/9/9 18:55:11

Vite 如何用 build.input 配置多页面应用构建?

Vite 如何用 build.input 配置多页面应用构建&#xff1f; 【免费下载链接】vite Next generation frontend tooling. Its fast! 项目地址: https://gitcode.com/GitHub_Trending/vi/vite 在 Vite 项目中&#xff0c;vite build 默认只以 <root>/index.html 作为构…

2026/9/9 18:55:11

AI生成测试用例质量影响因素:从提示词到模型参数的全解析

我先说明一下&#xff1a;你给的项目正文、关键词、摘要描述都是空的&#xff0c;所以这次只能基于项目标题和热搜词来做合理演绎。整篇文章围绕“AI生成测试用例的质量影响因素”展开&#xff0c;结合我在测试领域的实操经验来写。 1. 先搞清楚一个前提&#xff1a;AI生成的…

2026/9/9 22:00:32

MySQL 8.0安装后必做的安全加固与运维配置实战

写这个系列已经到第23篇了&#xff0c;MySQL相关的内容这是第二篇。上一篇把安装过程基本讲完了&#xff0c;这篇准备说点安装完成之后立刻要面对的事&#xff1a;初始化安全加固、账号权限怎么分配、配置文件哪些参数值得动、日常备份怎么做、遇到连接不上或者说Socket报错怎么…

2026/9/9 22:00:32

如何用 Puppeteer 自动上传本地文件到 input[type=file] 元素

如何用 Puppeteer 自动上传本地文件到 input[typefile] 元素 【免费下载链接】puppeteer JavaScript API for Chrome and Firefox 项目地址: https://gitcode.com/GitHub_Trending/puppeteer1/puppeteer Puppeteer 官方文档明确说明&#xff1a;文件上传需要定位到页面的…

2026/9/9 22:00:31

STM32F0x标准库使用指南:从解压到GPIO点灯跑通

简介&#xff1a;STM32F0x.zip 是一套面向 STM32F0 系列微控制器&#xff08;ARM Cortex-M0&#xff09;的嵌入式开发资料包&#xff0c;适合正在学习或实际开发 STM32F0 的软硬件工程师。压缩包内除 IAR 工程文件与链接/调试配置外&#xff0c;还包含 stm32f0xx_tim.c、stm32f…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊&#xff01;#雷神 #复联”这类调侃式短标题&#xff0c;第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里&#xff0c;但细想一下就能发现&#xff0c;它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊&#xff0c;可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”&#xff0c;你会发现&#xff0c;这场比较本质上是两个不同 IP 策略的长期结果对比&#xff1a;超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介&#xff1a;本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案&#xff0c;聚焦调制信号自动检测与识别这一典型无线通信任务&#xff0c;解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件&#xff08;10.73MB&#xff09;&…

2026/9/9 0:00:48

MHS模型硬件标准:让大模型像调用软件一样控制物理设备

让Claude真正看着显微镜说“这个细胞形态不太对”&#xff0c;或者让大模型自己调一版机械臂的运动轨迹&#xff0c;这事儿听上去已经很接近科幻片了。但你真上手试一次就会发现&#xff0c;模型不缺智商&#xff0c;缺的是一个能插进显微镜、机械臂、激光控制器里的“通用插座…

2026/9/9 0:00:48

AI五大核心方向详解:从机器学习到大模型,零基础转行选哪条?

会有人告诉我&#xff0c;他想转行学AI&#xff0c;但打开招聘网站一看直接傻眼&#xff1a;机器学习、深度学习、自然语言处理、计算机视觉、大模型应用……满屏都是这些词&#xff0c;好像每个都会一点&#xff0c;又好像每个都离自己很远。还有人上来就问“学Python还是学Ja…

2026/9/9 0:00:49

从50行最小循环到生产级AI引擎:工程化改造全解析

直接说干货。这一章我写的不是那种"hello world跑通某个模型"的教程&#xff0c;而是把AI引擎当做一个真正要上线、要被人调用、要扛流量的系统来聊。从最初只有50行的最小循环&#xff0c;到能够承载生产流量的AI引擎&#xff0c;中间差的不是代码量&#xff0c;而是…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码