init of repo

This commit is contained in:
2026-09-04 01:48:30 +08:00
parent d2776f71af
commit 8447db4693
4 changed files with 174 additions and 111 deletions
@@ -0,0 +1,150 @@
#import "NLI-doc-template.typ": cover, conf
// ============================================================
// Nitload 标准文件模板说明文档
// 本文件既是使用手册,也是可直接编译的完整示例。
// ============================================================
#cover(
title: "Nitload标准文件模板说明文档",
title-en: "Nitload Standard Document Template Manual",
number: "NLI-DOC-TEMPLATE-001",
author: "Nitload Industry",
classification: "NON[无秘]SEC",
date: "2026 年 9 月",
)
#show: conf.with(number-pages: true)
= 第一章 模板概述
NLI 文档模板用于生成具有统一 Nitload 视觉标识的 A4 标准文件。模板包含独立封面、中文和英文标题布局、文档识别信息、密级标记、签名位、正文排版以及带边框和自动行号的代码块。
当前目录中只需要两个核心文件:
- `NLI-doc-template.typ`:模板实现,通常不在业务文档中直接修改。
- `main.typ`:文档入口,负责填写封面字段并编写正文。
编译 `main.typ` 即可生成完整 PDF。空值字段会自动跳过,封面信息区和蓝色切角会依据实际内容高度重新排布。
== 1.1 最小使用方式
在新文档中导入模板,填写封面,然后启用正文配置:
```typst
#import "NLI-doc-template.typ": cover, conf
#cover(
title: "文档标题",
title-en: "Document Title",
number: "NLI-2026-001",
author: "作者姓名",
classification: "NON[无秘]SEC",
date: "2026 年 9 月",
)
#show: conf.with(number-pages: true)
= 第一章 正文
这里开始编写正文。
```
== 1.2 文件命名建议
建议保留模板文件名 `NLI-doc-template.typ`,业务文档可以按编号或主题命名,例如 `NLI-2026-001.typ`。若模板与正文位于不同目录,应相应调整 `#import` 的相对路径。
= 第二章 封面参数
`cover` 的稳定参数如下。除装饰控制参数外,所有信息字段均可留空。
#table(
columns: (1.35fr, 0.9fr, 3.4fr),
inset: (x: 7pt, y: 6pt),
stroke: 0.5pt + luma(78%),
align: (left, center, left),
[*参数*], [*必填*], [*说明*],
[`title`], [否], [中文主标题,按照封面网格自动换行。],
[`title-en`], [否], [英文主标题,使用封面西文字体自动换行。],
[`number`], [否], [文档编号,对应信息区中的“编号”。],
[`author`], [否], [作者名称;也可以传入作者数组。],
[`classification`], [否], [专用密级字段,使用CSEA标准密级表示方法。],
[`date`], [否], [成文日期或版本日期。],
[`info`], [否], [附加信息字典,用于项目、部门、审核人等非固定字段。],
[`fill`], [否], [封面背景色,默认白色。],
[`decorate`], [否], [是否显示 NITLOAD 图形装饰,默认为 `true`。],
)
`classification` 是与 `author`、`date` 同级的专用参数,不再需要写入 `info`。`info` 仅用于没有专用参数的扩展信息:
```typst
#cover(
title: "项目评审报告",
classification: "内部",
info: (
项目: "Flagship",
审核人: "示例姓名",
),
)
```
模板中仍保留 `subtitle` 和 `logo` 两个预留接口;当前版本没有为它们提供独立的稳定版式,不建议在正式文件中依赖。
= 第三章 正文排版
正文由 `conf` 统一配置,默认使用 A4 页面,上下边距 3.5 cm、左右边距 2 cm,并在页脚中央显示页码。中文正文使用宋体,英文正文使用 Times New Roman,段落采用两端对齐和两字符首行缩进。
如不需要页码,可以使用:
```typst
#show: conf.with(number-pages: false)
```
== 3.1 标题与段落
一级标题使用一个等号,二级标题使用两个等号。为了让文档目录和层级保持清晰,建议不要跳级使用标题。
```typst
= 第一章 一级标题
这里是正文段落。
== 1.1 二级标题
这里是小节内容。
```
== 3.2 代码排版
行内代码使用反引号,例如 `let x = 1`。块级代码会自动获得浅色背景、细边框和连续行号:
```rust
fn main() {
println!("Hello, Nitload!");
}
```
= 第四章 字体与分发
模板当前依赖 SimHei、SimSun、Source Code Pro 和 Times New Roman。跨设备使用前应确认这些字体已经安装;若计划在 Linux、CI 或公共环境编译,建议后续增加思源黑体、思源宋体等开源字体回退。
模板可以直接托管在 Git 仓库中。最简单的复用方式是将 `NLI-doc-template.typ` 与文档一同克隆,并通过相对路径导入。模板稳定后,也可以增加 `typst.toml`,将其安装为本地 Typst 包。
== 4.1 发布前检查
每次发布或修改模板后,建议完成以下检查:
#grid(
columns: (1fr, 1fr),
column-gutter: 1.2em,
row-gutter: 0.45em,
[• 长中文与长英文标题], [• 编号、作者、日期与密级],
[• 蓝色切角避让信息区], [• 签名线与 `signed` 标记],
[• 代码块、分页与页码], [• 目标系统字体可用性],
)
#block(above: 0.8em, below: 0pt)[
*4.2 版本记录* 本文档对应 NLI 文档模板初始说明版本。后续修改模板接口时,应同步更新本说明文档、示例代码和文档编号。
]
// Stale patch tail intentionally disabled.
// ]