TypstUniverse
Create project in app

使用 Typst 复刻东南大学「本科毕业设计(论文)报告」模板和「研究生学位论文」模板。

请在 init-files 目录内查看 Demo PDF。

[!IMPORTANT]

此模板是民间模板,学校可能不会认可本模板。

此模板内可能仍然存在诸多格式问题。

如需使用此模板,请自行承担风险。

使用方法

本模板需要使用 Typst 0.11.0 编译。

此模板已上传 Typst Universe ,可以使用 typst init 功能初始化,也可以使用 Web App 编辑。Typst Universe 上的模板可能不是最新版本。如果需要使用最新版本的模板,从本 repo 中获取。

本地使用

请先安装位于 fonts 目录内的全部字体。然后,您可以使用以下两种方式使用本模板:

  • 下载/clone 本 repo 的全部文件,编辑 init-files 目录内的示例文件。
  • 使用 typst init @preview/cheda-seu-thesis:0.2.0 来获取此模板与初始化文件。

随后,您可以通过编辑示例文件来生成想要的论文。两种论文格式的说明都在对应的示例文档内。

如您使用 VSCode 作为编辑器,可以尝试使用 TinymistTypst Preview 插件。如有本地包云同步需求,可以使用 Typst Sync 插件。更多编辑技巧,可查阅 https://github.com/nju-lug/modern-nju-thesis#vs-code-本地编辑推荐

Web App

[!NOTE]

由于字体原因,不建议使用 Web App 编辑此模板。

请打开 https://typst.app/universe/package/cheda-seu-thesis 并点击 Create project in app ,或在 Web App 中选择 Start from a template,再选择 cheda-seu-thesis

然后,请将 https://github.com/csimide/SEU-Typst-Template/tree/master/fonts 内的 所有 字体上传到 Typst Web App 内该项目的根目录。注意,之后每次打开此项目,浏览器都会花费很长时间从 Typst Web App 的服务器下载这一批字体,体验较差。

最后,请按照自动打开的文件的提示操作。

模板内容

研究生学位论文模板

此 Typst 模板按照《东南大学研究生学位论文格式规定》制作,制作时参考了 SEUThesis 模板

当前支持进度:

  • 文档构件
    • [x] 封面
    • [x] 中英文扉页
    • [x] 中英文摘要
    • [x] 目录
    • [x] 术语表
    • [x] 正文
    • [x] 致谢
    • [x] 参考文献
    • [x] 附录
    • [ ] 索引
    • [ ] 作者简介
    • [ ] 后记
    • [ ] 封底
  • 功能
    • [ ] 盲审
    • [x] 页码编号:正文前使用罗马数字,正文及正文后使用阿拉伯数字
    • [x] 正文、附录图表编号格式:详见研院要求
    • [x] 数学公式放置位置:离页面左侧两个汉字距离
    • [x] 数学公式编号:公式块右下
    • [x] 插入空白页:新章节总在奇数页上
    • [x] 页眉:奇数页显示章节号和章节标题,偶数页显示固定内容
    • [x] 参考文献:支持双语显示

本科毕业设计(论文)报告模板

此 Typst 模板基于东南大学本科毕业设计(论文)报告模板(2024 年 1 月)仿制,原模板可以在教务处网站上下载(2019 年 9 月版 , 2024 年 1 月版)。

当前支持进度:

  • 文档构件
    • [x] 封面
    • [x] 中英文摘要
    • [x] 目录
    • [x] 正文
    • [x] 参考文献
    • [x] 附录
    • [x] 致谢
    • [ ] 封底
  • 功能
    • [ ] 盲审
    • [x] 页码编号:正文前使用罗马数字,正文及正文后使用阿拉伯数字
    • [x] 正文、附录图表编号格式:详见本科毕设要求
    • [x] 数学公式放置位置:离页面左侧两个汉字距离
    • [x] 数学公式编号:公式块右侧中心
    • [x] 页眉:显示固定内容
    • [x] 参考文献:支持双语显示
    • [ ] 表格显示“续表”

[!NOTE]

可以看看隔壁 https://github.com/TideDra/seu-thesis-typst/ 项目,也正在使用 Typst 实现毕业设计(论文)报告模板,还提供了毕设翻译模板。该项目的实现细节与本模板并不相同,您可以根据自己的喜好选择。

目前存在的问题

  • 中文首段有时会自动缩进,有时不会。如果没有自动缩进,需要使用 #h(2em) 手动缩进两个字符。
  • 参考文献格式不完全符合要求。请见下方参考文献小节。
  • 行距、边距等有待继续调整。

参考文献

参考文献格式不完全符合要求。Typst 自带的 GB/T 7714-2015 numeric 格式与学校要求格式相比,有以下问题:

  1. 学校要求在作者数量较多时,英文使用 et al. 中文使用 来省略。但是,Typst 目前仅可以显示为单一语言。

    A: 该问题系 Typst 的 CSL 解析器不支持 CSL-M 导致的。

    详细原因

    因为上述原因,目前很难使用 Typst 原生方法实现根据语言自动选用 et al.

    OrangeX4 和我写了一个基于查找替换的 bilingual-bibliography 功能,试图在 Typst 支持 CSL-M 前实现中文西文使用不同的关键词。

    本模板的 Demo 文档内已使用 bilingual-bibliography 引用,请查看 Demo 文档以了解用法。注意,该功能仍在测试,很可能有 Bug,详见 https://github.com/csimide/SEU-Typst-Template/issues/1

    请在 https://github.com/nju-lug/modern-nju-thesis/issues/3 查看更多有关双语参考文献实现的讨论。

    本模板曾经尝试使用 https://github.com/csimide/cslper 作为双语参考文献的实现方法。

  2. 学校给出的范例中,除了纯电子资源,即使引用文献来自线上渠道,也均不加 OL、访问日期、DOI 与 链接。但是,Typst 内置的 GB/T 7714-2015 numeric 格式会为所有 bib 内定义了链接/DOI 的文献添加 OL 标记和链接/DOI 。

    A: 该问题系学校的标准与 GB/T 7714-2015 不完全一致导致的。

    请使用 style: "./seu-thesis/gb-t-7714-2015-numeric-seu.csl" ,会自动依据文献类型选择是否显示 OL 标记和链接/DOI。

    该 csl 修改自 https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/blob/main/003gb-t-7714-2015-numeric-bilingual-no-url-doi.csl

    原文件基于 CC-BY-SA 3.0 协议共享。

  3. 作者大小写(或者其他细节)与学校范例不一致。

    A: 学校用的是 GB/T 7714-2015 的方言,曾经有学长把它叫做 GB/T 7714-SEU ,目前没找到完美匹配学校要求的 CSL(不同学院的要求也不太一样),后续会写一个符合要求的 CSL 文件。

  4. 正文中连续引用,上标合并错误(例如,引用 1 2 3 4 应当显示为 [1-4] ,但是显示为 [1,4] )。

    临时方案是把 csl 文件里 after-collapse-delimiter="," 改成 after-collapse-delimiter="-"

    详细原因请见 https://github.com/typst/hayagriva/issues/154

开发与协议

如果您在使用过程中遇到任何问题,请提交 issue。本项目欢迎您的 PR。如果有其他模板需求也可以在 issue 中提出。

除下述特殊说明的文件外,此项目使用 MIT License 。

  • init-files/demo_image/ 路径下的文件来自东南大学教务处本科毕设模板。
  • seu-thesis/assets/ 路径下的文件是由东南大学教务处模板经二次加工得到,或从东南大学视觉设计中取得。
  • fonts 路径下的文件是此模板用到的字体。
  • 东南大学本科毕业设计(论文)参考模板 (2024年1月修订).docx 是教务处提供的毕设论文模板。

二次开发

本模板欢迎二次开发。在二次开发前,建议了解本模板的主要特性与关联的文件:

  • 有较为麻烦的图表、公式编号(图表编号格式不相同,甚至附录与正文中图表编号格式也不相同;图的名称在图下方,表的名称在表上方;公式不是居中对齐,公式编号位置不是右侧上下居中)。

    • seu-thesis/utils/figure-and-ref.typ 定义了显示图表格式、图表文内引用格式和公式引用格式的函数。
    • 上述文件依赖于 part-state (定义在 seu-thesis/utils/states.typ 内)用于判断所处的位置。
    • 部分计数器置零的工作是在 heading 中完成的,即 seu-thesis/utils/show-heading.typ
    • 如有条件或没有如此麻烦的需求,建议使用 i-figure 包。
  • (仅研究生学位论文)奇数页偶数页页眉不同,且有页眉中显示章节名称的需求。

    • 该功能位于 seu-thesis/parts/main-body-degree-fn.typ ,并且强依赖在 headingseu-thesis/utils/show-heading.typ)中完成的工作。
    • 该功能以来 seu-thesis/utils/states.typ 内定义的多个 state
  • 支持双语显示参考文献(自动使用 et al.

[!NOTE]

本模板内造的轮子比较多,而且我的代码质量一般,请酌情取用。