Universe

Create project in app

An unofficial Typst template for undergraduate course lab reports at Wuhan University (WHU), School of Computer Science. It provides a cover page, declaration page, table of contents, styled code blocks (inline + block), appendix support, and a teacher comment section — ready to use out of the box.

基于 Typst 的武汉大学计算机学院本科生课程设计报告模板(非官方),提供封面页、原创性声明页、目录、代码块样式(行内 + 块级)、附录、教师评语等开箱即用的功能。

Usage

#import "@preview/unofficial-whu-lab-report:0.1.1": *

#show: whu-report.with(
  title: "操作系统课程设计",
  major: "Computer Science",
  course-name: "Operating System",
  instructor: "Professor Cai",
  student-id: "2024302114514",
  student-name: "QianQiuXingChen",
  semester: "2025-2026-3",
  deadline: "2026年7月18日",
  grade: true,
  date: "二○二六年七月",
  show-declaration: true,
  signature: image("signature.png"),
)

= 概述

content... / 内容...

Parameters / 模板参数

Cover & Meta / 封面与元信息

Parameter Type Default Description
school str "武汉大学计算机学院" College/department name / 学院名称
category str "本科生课程设计报告" Report category title / 报告类别
title str none Specific report title / 报告名称
major str none Major name / 专业名称
course-name str none Course name / 课程名称
instructor str none Instructor name / 指导教师
student-id str none Student ID / 学号
student-name str none Student name / 学生姓名
semester str none Academic semester / 学年学期
deadline str none Report deadline / 报告日期(详细)
grade bool false Show grade field on cover / 是否在封面显示成绩栏
date str none Report date (e.g. "二○二六年七月") / 报告日期

Declaration / 原创性声明

Parameter Type Default Description
show-declaration bool false Include declaration/originality page / 是否显示声明页
declaration-text content none Custom declaration text / 自定义声明文本
signature image none Signature image for declaration page / 声明页签名图片

Typography & Styling / 排版与样式

Parameter Type Default Description
font-size length 12pt Base text size / 正文字号
cn-serif str,array ("Times New Roman", "SimSun", "Latin Modern Roman", "Songti SC") Serif font for body text / 衬线字体(正文)
cn-sans str,array ("Times New Roman", "SimHei", "Latin Modern Sans", "Heiti SC") Sans-serif font for headings / 无衬线字体(标题)
mono-font str,array ("Jetbrains Mono", "Fira Code", "Consolas", "Ubuntu Mono", "Microsoft YaHei") Monospace font for code / 等宽字体
math-color color purple Math equation color / 公式颜色
code-theme str "../assets/code.tmTheme" Syntax highlighting theme path / 代码高亮主题路径

Table of Contents / 目录

Parameter Type Default Description
show-toc bool true Include table of contents / 是否显示目录
toc-title str,content "目 录" TOC title / 目录标题
toc-depth int 3 TOC depth / 目录深度

Standalone Functions / 独立函数

cover() — Cover Page / 封面页

Renders the cover page independently. Accepts the same parameters as the cover section of whu-report: school, category, title, major, course-name, instructor, student-id, student-name, semester, deadline, grade, date.

封面将会独立渲染,接受调用者传递的参数:标题、课程名称等。

#import "@preview/unofficial-whu-lab-report:0.1.1": cover

#cover(
  title: "操作系统课程设计",
  major: "Computer Science",
  course-name: "Operating System",
  instructor: "Professor Cai",
  student-id: "2024302114514",
  student-name: "QianQiuXingChen",
  semester: "2025-2026-3",
  date: "二○二六年七月",
)

declaration-page() — Declaration Page / 原创性声明页

Renders the declaration/originality page independently.

独立渲染原创性声明页,

Parameter Type Default Description
decl-body content none Custom declaration text / 自定义声明文本
signature image none Signature image / 签名图片
date str none Signature date / 签名日期
#import "@preview/unofficial-whu-lab-report:0.1.1": declaration-page

#declaration-page(
  signature: image("signature.png"),
  date: "2026年7月18日",
)

teacher-comment() — Teacher Comment / 教师评语评分

Renders a teacher comment & grading section at the end of the report.

渲染位于报告末尾的教师评语评分部分。

#import "@preview/unofficial-whu-lab-report:0.1.1": teacher-comment

#teacher-comment()

Appendix Style / 附录编号

Use appendix-style to switch to appendix numbering (A.1, A.2, …):

使用 appendix-style 来切换附录编号。

#pagebreak()
#show: appendix-style
= 附录
== 代码段

Code Block Styling / 代码块样式

Both inline code and block code are styled automatically when using whu-report:

  • Inline code: monospace font with a red-brown text color and light gray rounded background.
  • Block code: monospace font with a light card background, subtle border, and rounded corners. The language label is displayed above the block.

Set code-theme to a .tmTheme file path for syntax highlighting (defaults to ../assets/code.tmTheme).

使用 whu-report 时,行内代码和代码块会自动应用样式:

  • 行内代码:等宽字体,红棕色文字,浅灰色圆角背景。
  • 代码块:等宽字体,浅色卡片背景,细边框,圆角。语言标签显示在代码块上方。

通过设置 code-theme.tmTheme 文件路径来启用语法高亮(默认为 ../assets/code.tmTheme)。

Font Dependencies / 字体依赖

For the best rendering, install the following fonts:

为了最佳渲染效果,请安装以下字体:

Font Used For
SimSun (宋体) Body text, cover info / 正文、封面信息
SimHei (黑体) Cover title, headings / 封面标题、章节标题
Times New Roman Latin fallback in serif & sans / 拉丁字符回退
Jetbrains Mono Code blocks / 代码块
Fira Code Code fallback / 代码回退
Latin Modern Roman Serif fallback / 衬线回退
Latin Modern Sans Sans-serif fallback / 无衬线回退

macOS users can rely on the built-in Songti SC / Heiti SC as fallbacks. On other platforms, ensure SimSun and SimHei are installed.

macOS 用户可以依赖内置的 Songti SCHeiti SC 作为回退;其他平台的用户需保证 SimSunSimHei 均已安装。

License

MIT