【Typst源文件】Typst 标题层级与样式定制
1. 标题层级等号的使用Typst 使用等号来定义标题等号的数量决定标题层级。理论上没有层级限制可以根据文档结构无限嵌套。 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 七级标题 八级标题使用示例 Introduction Background Previous Work Specific Studies Methodology Data Collection Analysis Conclusion2. 标题的默认样式Typst 为不同层级的标题设置了默认的样式差异标题层级默认字体大小默认字重默认样式(一级)最大bold通常为章节标题(二级)较大bold通常为节标题(三级)中等bold通常为小节标题更深层级逐渐减小bold或regular样式差异逐渐减小默认情况下Typst 会为各级标题设置不同的字号逐级递减上下边距margin可选编号格式需手动开启3. 标题样式定制完整方法3.1 全局标题样式设置使用#set heading()为所有标题设置统一样式#set heading( font: Times New Roman, size: 14pt, weight: bold, margin: (top: 12pt, bottom: 6pt), numbering: 1.1 // 开启编号 )3.2 按层级定制样式使用#show heading.where(level: n)为特定层级的标题单独设置样式// 一级标题居中大字号 #show heading.where(level: 1): set text(size: 20pt, fill: blue) #show heading.where(level: 1): set align(center) // 二级标题带下划线 #show heading.where(level: 2): set text(size: 16pt, weight: bold) #show heading.where(level: 2): it [ #text(underline: true, it.body) ] // 三级标题斜体 #show heading.where(level: 3): set text(style: italic, size: 13pt) // 四级及更深标题保持常规 #show heading.where(level: 4, 5, 6): set text(size: 11pt, weight: regular)3.3 自定义编号基础编号#set heading(numbering: 1.1)罗马数字编号#set heading(numbering: I.A.1)自定义编号函数#set heading(numbering: (..nums) { if nums.pos().len() 1 { return Chapter nums.pos().first() } else { return nums.pos().join(.) } })3.4 完整的标题样式配置示例以下是一个完整的标题样式配置适用于学术论文// 全局标题设置 #set heading( font: Times New Roman, numbering: 1.1 ) // 一级标题样式 #show heading.where(level: 1): it { set text(size: 18pt, weight: bold, fill: rgb(#2c3e50)) set align(center) set par(justify: false) v(12pt) it v(8pt) line(length: 100%, stroke: 1pt) v(12pt) } // 二级标题样式 #show heading.where(level: 2): set text( size: 14pt, weight: bold, fill: rgb(#34495e) ) #show heading.where(level: 2): set margin(top: 12pt, bottom: 6pt) // 三级标题样式 #show heading.where(level: 3): set text( size: 12pt, weight: bold, fill: rgb(#7f8c8d) ) #show heading.where(level: 3): set margin(top: 8pt, bottom: 4pt) // 四级及以下标题样式 #show heading.where(level: 4, 5, 6): set text( size: 11pt, weight: regular, style: italic ) #show heading.where(level: 4, 5, 6): set margin(top: 6pt, bottom: 2pt) // 开始文档 Introduction Background Previous Studies Specific Research Methodology Conclusion3.5 高级样式定制使用 show-set 规则// 为所有标题添加前缀和后缀 #show heading: it [ #if it.level 1 [ \ ] #it #if it.level 1 [ \ ] ] // 为标题添加自定义边框 #show heading.where(level: 1): it { box( inset: (left: 10pt), stroke: (left: 2pt blue), it ) } // 条件样式根据编号深度调整样式 #show heading: it { let depth counter(heading).get().len() if depth 2 { set text(size: 12pt) } else { set text(size: 10pt) } it }4. 标题与目录设置标题样式后可以自动生成目录#outline( title: [目录], indent: 1em, depth: 3 // 只显示到三级标题 )总结Typst 的标题系统具有以下特点无限层级理论上可以无限嵌套无数量限制灵活定制支持按层级单独设置样式统一语法使用#show heading.where(level: n)精确控制自动编号支持各种编号格式和自定义编号函数易于维护样式集中设置全局生效
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2472455.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!