diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..fb10719 --- /dev/null +++ b/.vscode/settings.json @@ -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 + } + } +} \ No newline at end of file diff --git a/Define-of-template/NLI-doc-template-manual.typ b/Define-of-template/NLI-doc-template-manual.typ index 1f0b82c..1e69c5b 100644 --- a/Define-of-template/NLI-doc-template-manual.typ +++ b/Define-of-template/NLI-doc-template-manual.typ @@ -1,4 +1,4 @@ -#import "NLI-doc-template.typ": cover, conf +#import "../NLI-doc-template.typ": cover, conf // ============================================================ // Nitload 标准文件模板说明文档 diff --git a/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview-1.png b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview-1.png new file mode 100644 index 0000000..8520594 Binary files /dev/null and b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview-1.png differ diff --git a/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview-2.png b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview-2.png new file mode 100644 index 0000000..556d9b1 Binary files /dev/null and b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview-2.png differ diff --git a/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview.pdf b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview.pdf new file mode 100644 index 0000000..87b3e5f Binary files /dev/null and b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b-preview.pdf differ diff --git a/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b.typ b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b.typ index fd20188..27fad3c 100644 --- a/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b.typ +++ b/NITLOAD-STANDARD-NITRAC/NITRAC-doc-1b.typ @@ -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 月",