恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Typst 样式改不动?set 规则与 show 规则谁说了算,一次排查讲清

  • 首页
  • 资讯中心
  • /
  • Typst 样式改不动?set 规则与 show 规则谁说了算,一次排查讲清

相关资讯

AI监管收紧下的开发者应对策略:API稳定性、安全评估与合规实践 2026/8/30 20:47:15
3分钟跑通PowerShell终端超链接:输出直接能点的链接 2026/8/30 20:42:15
AGI资本开支的工程解读:多模态模型、算力评估与资源调度实践 2026/8/30 20:42:15

最新资讯

2015阿里实习生笔试复盘:算法、操作系统与网络考点解析
Delphi 12.3 安装 KonopkaControls 8.0 控件包:从环境配置到项目部署全指南
React面试核心知识点全解析:从虚拟DOM到Hooks原理与性能优化
Delphi第三方控件安装与版本兼容性实战:以KonopkaControls为例
液体火箭发动机工厂动画全解析:从制造流程到3D可视化制作管线
智能体预算耗尽前的牺牲困境:如何在有限成本下高效运行

今日推荐

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Typst 样式改不动?set 规则与 show 规则谁说了算,一次排查讲清

发布时间:2026/8/30 20:47:15
Typst 样式改不动?set 规则与 show 规则谁说了算,一次排查讲清 Typst 样式改不动set 规则与 show 规则谁说了算一次排查讲清【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst在 Typst 里调样式新手最常翻车的就一个场景明明改了 set 规则输出却纹丝不动。别急着怀疑字体缓存多半是 set 规则和 show 规则在你文档里打架了。下面拿一份小文档做个排查。复现一个改不动的翻车现场先把标题编号改成带括号的格式#set heading(numbering: (1.))编译标题前乖乖出现(1.)。然后有人觉得不够酷追加了一行 show 规则给标题两侧加装饰条#show heading: it [— #it.body —]再编译编号凭空消失了。回到上一行把numbering改成1编号依然不出现无论怎么调都没用。这不是 bug。set 规则只能改元素已经提供出来的属性而 show 规则接管的是元素整个渲染过程——上面这条 show 规则把标题的输出整体重写成装饰条 标题正文编号根本不在它的新输出里。两条规则都写对了但后者直接把前者的地盘覆盖了。记住这个现场接下来拆三种做法。同一份文档的三种改法方案 A只用 set 规则。改字体、改大小、改对齐、改编号都属于拧参数set 全部搞定#set text(font: New Computer Modern, size: 11pt) #set heading(numbering: 1.) #set par(justify: true)但 set 的边界也很硬它只接受该元素函数声明过的可选参数。想让标题变成居中、斜体、后面自动跟一个章节号这种复合排版参数里没有对应的旋钮set 就无能为力了。方案 B只用 show 规则。右侧写一个函数把元素当作输入、自己产出完整结果排版思路随便换#show heading: it block(width: 100%)[ #set align(center) #smallcaps(it.body) · counter(heading).display() ]输出完全自定义但有一个隐患函数内部写的set align已经固化在这条规则里文档后面再想追加别的 show 规则盖不掉这种内部设置。样式就焊死了。方案 Cset 打底、show-set 接管。这是官方文档推荐的写法官方文档docs/content/reference/language/styling.typ#set heading(numbering: (I)) #show heading: set align(center) #show heading: it block[ #emph(it.body) #counter(heading).display() ]把居中这种可叠加的属性拆成独立的 show-set 规则文档后文还能继续用新的 show-set 覆盖它结构性的重写只留在最后一条里。这样样式一层一层可组合改起来不伤筋动骨。局部改样式不污染全局以及谁说了算先说作用域。set 和 show 都只活到当前块的末尾写在顶层就管到文件结束写进内容块里就只管块内。想只给一个列表换项目符号包一层就行#this list is affected: #[ #set list(marker: [--]) - Dash ] this one is not: - Bullet作用域之外一切照旧。再说优先级这是排查改不动的核心对同一个属性后写的 set 规则覆盖先写的就近生效show 规则一旦对某元素生效它的输出直接取代默认渲染优先级高于一切 set 配置多条 show 规则都命中同一元素时离元素最近的那条说了算离得近的能盖住远的。所以排查时先问三个问题这个元素有没有被 show 规则接管接管的话是哪条离它最近我写的 set 是不是被外层块的规则盖掉了三问下来九成改不动都能对号入座。另外别忘了where选择器show heading.where(level: 1)只动一级标题二级及以下毫发无伤比全局规则安全得多。套进会议模板set 打全局show 管特例把上面的分工放进一个真实的会议论文模板里思路就很顺#set page(paper: us-letter, columns: 2, margin: 2cm) #set text(font: Libertinus Serif, size: 11pt) #set par(justify: true) #show heading.where(level: 1): it block[ #smallcaps(it.body) ]页面、字体、对齐这些全局参数交给 set 一把梭一级标题要小型大写字母这种 set 参数里给不出的排版特例交给一条带where的 show 规则。两者各司其职模板后面加章节、换内容都不用回头动样式代码。踩坑速查set 改了没反应先搜文档里有没有 show 规则接管了这个元素show 里嵌套了 set后面盖不掉拆出来写成独立的 show-set 规则只想动局部用块包一层或者where收窄选择范围两条 show 都命中离元素近的那条赢改顺序比加大字号管用。一句话收工set 拧参数show 换输出拧不动再动手。属性能解决就别动渲染动渲染就留好组合的余地样式代码才不会越堆越难改。【免费下载链接】typstA markup-based typesetting system that is powerful and easy to learn.项目地址: https://gitcode.com/GitHub_Trending/ty/typst创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号