这是上海交通大学学位论文的 Typst 模板,它能够简洁、快速、持续生成 PDF 格式的毕业论文,现已支持本科、硕士和博士的毕业论文撰写,均参考官方提供的 Word 模板进行开发。
如果在使用过程中遇到任何问题,欢迎在 Issues 中反馈。
-
在 VS Code 中安装 Tinymist Typst 插件,负责语法高亮, 错误检查和 PDF 预览。
-
按下
Ctrl + Shift + P(Windows) /Command + Shift + P(MacOS) 打开命令界面,输入Typst: Show available Typst templates (gallery) for picking up a template打开 Tinymist 提供的 Template Gallery,然后从里面找到modern-sjtu-thesis,点击❤按钮进行收藏,以及点击+号,就可以创建对应的论文模板了。 -
最后用 VS Code 打开生成的目录,打开
thesis.typ文件,按下Ctrl + K V(Windows) /Command + K V(MacOS) 或者是点击右上角的按钮进行实时编辑和预览。
优点:使用最简单,目录结构清晰;缺点:官方模板库无法及时维护,出现 Bug 或者想要自定义样式,无法自行修改。
-
在 VS Code 中安装 Tinymist Typst 插件,负责语法高亮, 错误检查和 PDF 预览。
-
运行命令
git clone https://github.com/sjtug/modern-sjtu-thesis,克隆本仓库到本地。 -
最后用 VS Code 打开目录,打开
template/thesis.typ文件,按下Ctrl + K V(Windows) /Command + K V(MacOS) 或者是点击右上角的按钮进行实时编辑和预览。
优点:模板更新最及时,在了解 Typst 语法的情况下可以自行对模板进行修改;对 git 操作不太熟悉的用户门槛较高。
Typst 提供了官方的 Web App,支持像 Overleaf 一样在线编辑。
实际上,我们只需要在 Web App 中的 Start from template 里选择 modern-sjtu-thesis,即可在线创建模板并使用。
你需要手动下载 fonts.zip 然后手动上传 fonts 文件夹到项目中,否则会导致字体显示错误!
推荐这篇「面向 Word 用户的快速入门向导」,虽然标题写的是面向 Word 用户,但适合所有对于排版或者样式定制有一定的需求的人快速上手 Typst,并且开始使用 Typst 的排版功能。
- 全局配置
- 类似 LaTeX 中的
documentclass的全局信息配置 - 盲审模式:将个人信息替换成小黑条,并且隐藏致谢页面,论文提交阶段使用
- 双面模式:加入空白页,便于打印和增加论文页数
- 打印模式:调整页边距,便于打印
- 类似 LaTeX 中的
- 模板
- 模板
- 中文封面
- 英文封面
- 声明页
- 中文摘要
- 英文摘要
- 目录页
- 插图目录
- 表格目录
- 算法目录
- 符号对照表
- 附录
- 参考文献
- 致谢
- 成果
- 英文大摘要(本科)
- 模板
- 环境
- 插图环境
imagex- 子图
subimagex - 双语图题
- 子图
- 表格环境
tablex- 续表
- 脚注
- 算法环境
algox:跨页自动续 - 定理环境:使用
theorion包
- 插图环境
- 其他功能
- 正文字数统计
- 避免孤行标题 (experimental)
- 自定义参考文献格式
- 多行公式编号
如果对 Typst 论文撰写感兴趣的话,可以从开题报告和中期报告模板开始尝试。
如果想要类似于 SJTUBeamer 的幻灯片模板,可以使用我开发的
如果想要在平时的数学作业中使用 Typst,但对于 Typst 相关的数学语法不太熟悉,可以参考我维护的
可以。
如果你不关注模板的具体实现原理,你可以用 Markdown Like 的语法进行编写,只需要按照模板的结构编写即可。
同样可以。
如果仅仅是当成是入门一款类似于 Markdown 的语言,相信使用该模板的体验会比使用 Word 编写更好。
因为 Typst 语法足够简洁、编译速度足够快、并且 拥有光标点击处双向跳转功能。
语法简洁的好处是,即使把所有内容都写在同一个文件,你也可以很简单地分辨出各个部分的内容。
编译速度足够快的好处是,你不再需要像 LaTeX 一样,将内容分散在几个文件,并通过注释的方式提高编译速度。
光标点击处双向跳转功能,使得你可以直接拖动预览窗口到你想要的位置,然后用鼠标点击即可到达对应源码所在位置。
还有一个好处是,单个源文件便于同步和分享。
你会发现 Typst 有许多关于字体的警告,这是因为 modern-sjtu-thesis 为了保证在各个系统的可用性,加入了各个系统的字体集,你可以无视警告,或者克隆本仓库后在 utils/style.typ 中删除系统中不存在的字体。
一般而言,仅仅进行简单的编写,不关注布局的话,你可以打开模板就开始写了。
如果你想进一步学习 Typst 的语法,例如如何排篇布局,如何设置页脚页眉等,一般只需要几个小时就能学会。
如果你还想学习 Typst 的「参考」部分,进而能够编写自己的模板,一般而言需要几天的时间阅读文档,以及他人编写的模板代码。
如果你有 Python 或 JavaScript 等脚本语言的编写经验,了解过函数式编程、宏、样式、组件化开发等概念,入门速度会快很多。
可以查看 Typst Universe。
个人推荐的包:
- 基础绘图:cetz
- 绘制带有节点和箭头的图表,如流程图等:fletcher
- 绘制数据图:lilaq
- 定理环境:theorion
- 伪代码:lovelace
- 带行号的代码显示包:codly
- 简洁的 Numbering 包:numbly
- 幻灯片和演示文档:touying
- 相对定位布局包:pinit
- 数学单位包:unify
- 数字格式化包:zero
在模板文件中我也展示了一些第三方包的用法。
-
感谢 @OrangeX4 开发的 modern-nju-thesis 模板,本模板大体结构都是参考其开发的。
-
感谢 Typst 中文社区导航 FAQ,帮忙解决了各种疑难杂症。
This project is licensed under the MIT License.
It also includes third-party components licensed under other open source licenses, including the Apache License 2.0 and MIT License.
The school emblem image (assets/sjtu-logo.pdf) is copyrighted by Shanghai Jiao Tong University and may be used solely for academic purposes by current students and faculty.
See the third_party/ directory for details on third-party components and their licenses.