Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions packages/preview/modern-zuel-beamer/0.1.0/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 hxy23

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
145 changes: 145 additions & 0 deletions packages/preview/modern-zuel-beamer/0.1.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# Modern ZUEL Beamer

中南财经政法大学风格的 **Typst 演示文稿模板**,面向毕业论文**开题答辩**。蓝 + 金端庄风,支持 beamer 式分步显示。

## 特性

- 🎓 五类页面:封面 / 目录(自动汇总章节)/ 章节分隔 / 内容 / 结束
- ⏯️ 分步显示:基于 [Polylux](https://polylux.dev) 0.4.0 引擎(`uncover` / `only` / `one-by-one` / `item-by-item`)
- 🧭 页眉圆点导航:每章一点,当前高亮,**点击跳转**到对应章节页
- 📖 讲义模式:`handout: true` 一键折叠所有分步,便于打印/导出讲义
- 🎨 蓝金端庄主题 + 6 种莫兰迪语义色块(定义 / 注意 / 示例 / 定理 / 重点 / 说明)
- 📐 设计 token 集中在 [`src/theme.typ`](src/theme.typ),改一处变全局
- 🖼️ 封面校园线描水印(`watermark: none` 可关闭)
- 📊 技术路线图用 [cetz](https://cetz-package.github.io) 原生绘制
- 📄 自动页脚:左作者 · 中标题 · 右页码

## 预览

| 封面(校徽 + 对齐信息表 + 水印) | 内容页(页眉圆点导航 + 语义色块) |
| :--: | :--: |
| ![封面](preview/cover.png) | ![内容页](preview/content.png) |
| **技术路线图(cetz 原生绘制)** | **进度安排表** |
| ![技术路线](preview/roadmap.png) | ![进度表](preview/timeline.png) |

组件示例(多栏布局 · 金句块 · 图片题注):

![组件](preview/component.png)

## 环境要求

| 依赖 | 版本 | 说明 |
| --- | --- | --- |
| Typst | 0.15.0 | 本机 `/usr/local/bin/typst` |
| 中文字体 | Noto Serif/Sans CJK SC | 系统已装 |
| Polylux | 0.4.0 | 首次编译联网自动拉取 |
| cetz | 0.4.0 | 仅技术路线图用,联网自动拉取 |

## 快速开始

```bash
# 在项目根目录编译示例(注意 --root 指向项目根,否则 ../lib.typ 会被判越界)
typst compile --root . example/example.typ out.pdf

# 实时预览
typst watch --root . example/example.typ out.pdf
```

## 目录结构

```
modern-zuel-beamer/
├── lib.typ # 入口:import 这一个即可

Check warning on line 52 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L52

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
├── typst.toml # 包元数据

Check warning on line 53 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L53

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
├── asset/ # logo / 背景图

Check warning on line 54 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L54

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
├── src/
│ ├── theme.typ # ★ 设计 token(颜色/字体/字号/间距)

Check warning on line 56 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L56

Syntax error in README. the character `★` is not valid in code If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
│ ├── setup.typ # 全局装配(页面/字体/文档信息)

Check warning on line 57 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L57

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
│ ├── slide.typ # 五类页面函数 + 标题栏 + 页眉圆点 + 页脚

Check warning on line 58 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L58

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
│ ├── overlay.typ # 接 Polylux 分步引擎 + 讲义模式

Check warning on line 59 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L59

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
│ ├── block.typ # 莫兰迪语义色块

Check warning on line 60 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L60

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
│ └── component.typ # 多栏 / 题注 / 金句 / 编号定理

Check warning on line 61 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L61

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
└── example/
├── example.typ # 完整可填充示例

Check warning on line 63 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L63

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
└── quick_check.typ # 各组件用法参考

Check warning on line 64 in packages/preview/modern-zuel-beamer/0.1.0/README.md

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/README.md#L64

Syntax error in README. expected expression If this code block is not supposed to be parsed as a Typst source, please explicitely specify another language.
```

## API 速查

```typst
#import "../lib.typ": *

// 1) 装配(相当于 documentclass)
#show: zuel-beamer.with(
title: "...", subtitle: "...",
author: "...", student-id: "...", supervisor: "...",
major: "...", school: "...", date: datetime.today(),
// logo: image("自定义.png", height: 2cm), // 可选
// watermark: none, // 关闭封面水印
// handout: true, // 讲义模式:去掉分步动画
)

#title-slide() // 封面
#outline-slide() // 目录(自动收集所有 section)

#section("研究背景与意义") // 章节分隔页(驱动目录与页脚)

#slide(title: "选题背景")[ // 内容页(= beamer 的 frame)
- 第一点
#uncover("2-")[- 第二步才出现]
#definition-block(title: "研究问题")[ ... ] // 语义色块
]

#end-slide(message: "敬请各位老师批评指正!")
```

**分步显示**(Polylux 0.4.0 无 `#pause`,用下列函数):

| 函数 | 效果 |
| --- | --- |
| `uncover(2)[...]` | 第 2 步起出现(占位保留)|
| `uncover("2-")[...]` | 第 2 步起一直显示 |
| `only(3)[...]` | 仅第 3 步出现(不占位)|
| `one-by-one[A][B][C]` | A、B、C 逐步出现 |
| `item-by-item[列表]` | 列表项逐条出现 |

**语义色块**:`note-block` / `definition-block` / `alert-block` / `example-block` / `theorem-block` / `highlight-block`,均支持 `title:` 参数。

**更多组件**(见 [`example/quick_check.typ`](example/quick_check.typ)):

| 组件 | 用法 | 说明 |
| --- | --- | --- |
| 多栏布局 | `#cols[左][右]`、`#cols(widths: (2fr, 1fr))[宽][窄]` | 文字+图、左右对照 |
| 图片题注 | `#fig(image("x.png", width: 70%), caption: [说明])` | 自动「图 N」,题注样式统一 |
| 金句/引用块 | `#quote-block(by: "来源")[内容]` | 左金条 + 斜体引文 |
| 编号定理 | `#theorem(title: "可选")[...]`、`#lemma[...]`、`#corollary[...]`、`#definition-thm[...]` | 各类独立自动编号 |

## 自定义外观

所有可调参数集中在 [`src/theme.typ`](src/theme.typ):`color`(配色)、`font`(字体)、`size`(字号)、`layout`(间距/线条)。改这里即可整体换装,无需动组件代码。

## 架构

```mermaid
flowchart TD
U["你的 .typ 文件"] -->|#import| LIB["lib.typ 入口"]
LIB --> SETUP["setup.typ 全局装配"]
LIB --> SLIDE["slide.typ 页面组件"]
LIB --> BLOCK["block.typ 莫兰迪块"]
LIB --> OV["overlay.typ 分步"]
LIB --> TH["theme.typ 设计 token"]
OV -->|依赖| POLY[("Polylux 0.4.0")]
SLIDE --> SETUP
SLIDE --> OV
SLIDE --> TH
SETUP --> TH
BLOCK --> TH
```

## 关于流程图

模板内的流程图(如技术路线图)用 **cetz** 原生绘制,矢量清晰、随主题变色、零外部构建步骤。本文档与设计沟通中的流程图用 **mermaid** 表达(如上方架构图);Typst 编译期不渲染 mermaid,故不在幻灯片内使用。

## 许可

MIT
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions packages/preview/modern-zuel-beamer/0.1.0/asset/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
213 changes: 213 additions & 0 deletions packages/preview/modern-zuel-beamer/0.1.0/example/example.typ
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
// ============================================================================

Check warning on line 1 in packages/preview/modern-zuel-beamer/0.1.0/example/example.typ

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/example/example.typ#L1

This file seems to be an example, and should probably be added to `exclude` in your `typst.toml`.
// 开题答辩 · 完整示例(照此填充即可)
// 编译: typst compile --root .. 开题答辩-示例.typ 开题答辩-示例.pdf
// 或在项目根目录: typst compile --root . example/开题答辩-示例.typ out.pdf
// ============================================================================

#import "../lib.typ": *

Check warning on line 7 in packages/preview/modern-zuel-beamer/0.1.0/example/example.typ

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/example/example.typ#L7

This import should use the package specification, not a relative path.
#import "@preview/cetz:0.4.0" as cetz

Check warning on line 8 in packages/preview/modern-zuel-beamer/0.1.0/example/example.typ

View check run for this annotation

Typst package check / @preview/modern-zuel-beamer:0.1.0

packages/preview/modern-zuel-beamer/0.1.0/example/example.typ#L8

This import seems to use an older version of the package.

// ---------------------------------------------------------------------------
// 文档信息(改这里)
// ---------------------------------------------------------------------------
#show: zuel-beamer.with(
title: "基于深度学习的企业财务风险预警研究",
subtitle: "硕士学位论文开题报告",
author: "张三",
student-id: "202400000001",
supervisor: "李四 教授",
major: "应用经济学",
school: "信息与安全工程学院",
date: datetime(year: 2026, month: 6, day: 27),
)

// ===========================================================================
// 封面 + 目录
// ===========================================================================
#title-slide()

#outline-slide()

// ===========================================================================
// 一、研究背景与意义
// ===========================================================================
#section("研究背景与意义")

#slide(title: "选题背景")[
近年来,企业财务风险事件频发,传统预警模型存在以下局限:

- 依赖人工设定的财务指标,*特征表达能力*有限
#uncover("2-")[- 难以刻画风险的*非线性、时序性*演化规律]
#uncover("3-")[- 对公告、舆情等*非结构化数据*利用不足]

#uncover("3-")[
#definition-block(title: "研究问题")[
如何融合多源异构数据,构建更准确、更可解释的企业财务风险预警模型?
]
]
]

#slide(title: "研究意义")[
#one-by-one[
+ *理论意义*:拓展财务风险预警的方法论边界,丰富深度学习在财务领域的应用。
][
+ *现实意义*:为监管部门防范系统性风险、投资者识别风险标的提供决策支持。
]
]

// ===========================================================================
// 二、国内外研究现状
// ===========================================================================
#section("国内外研究现状")

#slide(title: "国外研究现状")[
- *统计模型阶段*:Altman(1968)Z-Score、Ohlson(1980)Logit 模型。
- *机器学习阶段*:SVM、随机森林等提升了非线性刻画能力。
- *深度学习阶段*:LSTM / Transformer 开始用于财务时序与文本风险识别。
]

#slide(title: "国内研究现状")[
- 早期以*财务比率 + 判别分析*为主,样本多集中于 ST 公司。
- 近年引入*文本挖掘*(年报 MD&A、问询函)刻画风险信号。
- 多源数据融合与*模型可解释性*仍是薄弱环节。
]

#slide(title: "研究述评")[
现有研究在多源融合与可解释性上存在明显缺口:

#highlight-block(title: "研究空白")[
缺乏一个能*同时*融合结构化财务数据与非结构化文本、并兼顾*时序建模*与
*可解释性*的统一预警框架——这正是本研究切入点。
]
]

// ===========================================================================
// 三、研究内容与目标
// ===========================================================================
#section("研究内容与目标")

#slide(title: "研究内容")[
#item-by-item[
+ 多源财务风险数据集的构建与预处理方法;
+ 结构化指标与文本特征的*融合表示*学习;
+ 基于深度时序模型的*风险预警*方法;
+ 模型*可解释性*分析与实证检验。
]
]

#slide(title: "研究目标")[
- 构建一套*多源异构*财务风险预警数据集;
- 提出融合时序与文本的*预警模型*,AUC 较基线提升 ≥ 5%;
- 给出风险驱动因子的*可解释*归因,形成政策建议。
]

// ===========================================================================
// 四、研究方法与技术路线
// ===========================================================================
#section("研究方法与技术路线")

#slide(title: "研究方法")[
#example-block(title: "方法组合")[
实证研究法 + 机器学习建模 + 对比实验。以*公开上市公司数据*为样本,
采用*留出法 + 时间序列交叉验证*评估,主指标 AUC / KS / F1。
]
]

// —— 技术路线图:用 cetz 原生绘制(约束 #6) ——
// 节点文案改 stages 即可;颜色取自模板主题 color.*
#let tech-roadmap = cetz.canvas(length: 1cm, {
import cetz.draw: *
let bw = 7.4 // 框宽
let bh = 1.25 // 框高
let gap = 0.5 // 框间距
let stages = (
"① 多源数据采集与预处理",
"② 财务 · 文本 · 舆情 特征融合",
"③ 深度时序风险预警模型构建",
"④ 实证分析 · 对比 · 调优",
"⑤ 风险预警应用与政策建议",
)
for (i, s) in stages.enumerate() {
let top = -i * (bh + gap)
let bottom = top - bh
rect(
(-bw / 2, bottom), (bw / 2, top),
fill: color.primary.lighten(86%),
stroke: 1pt + color.primary,
radius: 0.12,
)
content((0, top - bh / 2), text(fill: color.primary-dark, weight: "bold", size: 15pt, s))
if i > 0 {
let prev-bottom = -(i - 1) * (bh + gap) - bh
line(
(0, prev-bottom), (0, top),
mark: (end: ">", fill: color.gold),
stroke: 1.4pt + color.gold,
)
}
}
})

#slide(title: "技术路线")[
#align(center, tech-roadmap)
]

// ===========================================================================
// 五、研究计划与进度安排
// ===========================================================================
#section("研究计划与进度安排")

#slide(title: "进度安排")[
#set text(size: size.small)
#table(
columns: (auto, 1fr, 1.4fr),
inset: (x: 0.8em, y: 0.6em),
align: (center + horizon, center + horizon, left + horizon),
stroke: 0.5pt + color.gray-light,
table.header(
..("阶段", "时间", "主要任务").map(h => table.cell(
fill: color.primary,
text(fill: white, weight: "bold", h),
)),
),
[第一阶段], [2026.07 – 2026.09], [文献调研、数据采集与清洗],
[第二阶段], [2026.10 – 2026.12], [特征融合与模型构建],
[第三阶段], [2027.01 – 2027.03], [实证分析、对比实验与调优],
[第四阶段], [2027.04 – 2027.05], [撰写论文、修改完善与答辩],
)
]

// ===========================================================================
// 六、预期成果与创新点
// ===========================================================================
#section("预期成果与创新点")

#slide(title: "预期成果")[
- 完成硕士学位论文一篇;
- 形成可复现的*多源财务风险预警*数据集与代码;
- 拟投稿*核心期刊*论文 1 篇。
]

#slide(title: "创新点")[
#alert-block(title: "创新点一")[结构化指标与非结构化文本的*统一融合表示*。]
#alert-block(title: "创新点二")[引入*可解释*机制,输出风险驱动因子归因。]
]

// ===========================================================================
// 七、参考文献
// ===========================================================================
#section("参考文献")

#slide(title: "主要参考文献")[
#set text(size: size.small)
#set enum(numbering: "[1]")
+ Altman E I. Financial ratios, discriminant analysis and the prediction of corporate bankruptcy. _Journal of Finance_, 1968.
+ Ohlson J A. Financial ratios and the probabilistic prediction of bankruptcy. _Journal of Accounting Research_, 1980.
+ Vaswani A, et al. Attention is all you need. _NeurIPS_, 2017.
+ 张某某, 李某某. 基于深度学习的上市公司财务风险预警研究. 《会计研究》, 2023.
]

// ===========================================================================
// 致谢
// ===========================================================================
#end-slide()
Loading
Loading