improve NITRAC doc conver

This commit is contained in:
Youmu Liu
2026-09-04 10:22:35 +08:00
parent 8447db4693
commit b0c6f3d0dc
6 changed files with 66 additions and 25 deletions
+8
View File
@@ -0,0 +1,8 @@
{
"chat.tools.terminal.autoApprove": {
"/^typst compile --root \"\\.\" \"NITLOAD-STANDARD-NITRAC\\\\NITRAC-doc-1b\\.typ\" \"NITLOAD-STANDARD-NITRAC\\\\NITRAC-doc-1b-preview\\.pdf\"$/": {
"approve": true,
"matchCommandLine": true
}
}
}
@@ -1,4 +1,4 @@
#import "NLI-doc-template.typ": cover, conf
#import "../NLI-doc-template.typ": cover, conf
// ============================================================
// Nitload 标准文件模板说明文档
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.
+57 -24
View File
@@ -2,35 +2,68 @@
#let mark-unit = 1.2cm
#let mark-blue = rgb("#4FC3F7")
#let mark-letter(column, row, letter) = place(
top + left,
dx: (3.6 + column * 2.5) * mark-unit,
dy: row * mark-unit,
box(
width: 2.5 * mark-unit,
height: 3 * mark-unit,
inset: 0pt,
align(center + horizon, text(
font: "Source Code Pro",
size: 72pt,
weight: "medium",
fill: mark-blue,
)[#letter]),
),
)
#let mark-font = "SimHei"
#let nitrac-mark = {
mark-letter(0, 0, "T")
mark-letter(1, 1, "R")
mark-letter(2, 2, "A")
mark-letter(3, 3, "C")
// 大号 ITRAC:横向填满标识右侧至页面右缘,纵向精确拉伸至 6 格高。
// 顶部对齐,第 7 行(三角形收尾行)保持留白。
#let nitrac-mark = context {
let mark-x = 3.3 * mark-unit
let mark-width = 21cm - mark-x - 0.3 * mark-unit
let mark-height = 6 * mark-unit
let i-left-indent = 0.1 * mark-unit
let i-right-indent = 0.15 * mark-unit
let i-width = 1.2 * mark-unit - i-left-indent - i-right-indent
let trac-width = mark-width - 1.2 * mark-unit
let trac-offset = 1.2 * mark-unit
let probe-size = 100pt
let i = text(font: mark-font, weight: "bold", size: probe-size, fill: mark-blue)[I]
let trac = text(font: mark-font, weight: "bold", size: probe-size, fill: mark-blue)[TRAC]
let i-size = probe-size * (i-width / measure(i).width)
let trac-size = probe-size * (trac-width / measure(trac).width)
let i-mark = text(
font: mark-font,
weight: "bold",
size: i-size,
fill: mark-blue,
stroke: (paint: mark-blue, thickness: 1pt),
)[I]
let trac-mark = text(
font: mark-font,
weight: "bold",
size: trac-size,
fill: mark-blue,
)[TRAC]
let i-stretch-y = mark-height / measure(i-mark).height * 100%
let trac-stretch-y = mark-height / measure(trac-mark).height * 100%
place(
top + left,
dx: mark-x,
dy: 0pt,
box(
width: mark-width,
height: mark-height,
inset: 0pt,
scale(x: 100%, y: 100%, reflow: false, {
place(top + left, dx: i-left-indent, dy: 0pt, box(
width: i-width,
height: mark-height,
align(center + horizon, scale(x: 280%, y: i-stretch-y, reflow: false, i-mark)),
))
place(top + left, dx: trac-offset, dy: 0pt, box(
width: trac-width,
height: mark-height,
align(center + horizon, scale(x: 100%, y: trac-stretch-y, reflow: false, trac-mark)),
))
}),
),
)
}
#cover(
title: "荷城创新实时与控制系统",
title-en: "Nitload Realtime and Control",
title: "确定性自动化实时与集成",
title-en: "Deterministic Automation - Realtime and Integration",
logo: nitrac-mark,
number: "NITRAC-DOC-1B",
number: "NITRAC-DOC-1",
author: "Nitload Industry",
classification: "MID[中秘]SEC",
date: "2026 年 9 月",