improve NITRAC doc conver
This commit is contained in:
Vendored
+8
@@ -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.
@@ -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 月",
|
||||
|
||||
Reference in New Issue
Block a user