grelin_templates/tech-report/data/theme.typ
MORRO b8b2f5fe14 Polish tech-report template layout, typography, and usage guide.
Refine TOC and cover styling, add numbered headings and gray body text, unify #f6f7f8 surfaces, and replace sample content with a Markdown usage manual.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 14:27:33 +08:00

161 lines
5.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#import "../../brand/colors.typ": *
#import "tailwind.typ": *
// 技术报告 · 主色 #3052c8
#let color-primary = rgb("#3052c8")
#let color-accent = color-primary
#let color-accent-surface = color-primary.lighten(88%)
#let color-heading = color-ink
#let color-body-text = color-body
#let color-caption = rgb(110, 110, 110)
#let color-quote = rgb(90, 90, 90)
#let quote-bar-stroke = 2.5pt
#let quote-bar-color = rgb("#f6f7f8")
#let table-stroke-color = color-muted.lighten(50%)
#let color-code-inline = color-ink
#let color-page = white
#let color-block-bg = rgb("#f6f7f8")
#let code-token-keyword = color-ink
#let code-token-comment = rgb(130, 130, 130)
#let code-token-string = rgb(40, 40, 40)
#let code-token-number = rgb(70, 70, 70)
#let code-token-function = color-ink
#let code-token-operator = rgb(100, 100, 100)
// 字体:微软雅黑
#let report-font = ("Microsoft YaHei", "Microsoft YaHei UI")
#let heading-font = report-font
#let body-font = report-font
#let mono-font = report-font
// 正文text-base · leading-normal
#let size-body = text-base
#let leading-ratio = leading-normal
#let leading-body = size-body * leading-ratio - size-body
#let size-h1 = text-2xl
#let size-caption = text-sm
#let space-micro = tw(1)
#let space-block = tw(4)
#let space-section = tw(6)
#let space-chapter = tw(12)
#let image-max-width = 100%
#let code-block-fill = color-block-bg
#let code-block-radius = tw(1.5)
#let code-inline-radius = tw(0.75)
#let code-inline-fill = color-block-bg
// --- 页面边距 ---
#let page-margin-a4 = 2.5cm
#let page-margin-x = page-margin-a4
#let page-margin-y = page-margin-a4
#let body-margin-x = 2cm
#let body-margin-y = 2cm
// --- 封面页边距(色块左贴边 · 上下等距)---
#let cover-margin-y = tw(8)
#let cover-margin-right = tw(8)
#let cover-content-inset = tw(11)
#let cover-footer-inset = cover-content-inset
#let cover-band-height = tw(24)
#let cover-header-est = cover-band-height
#let cover-footer-est = cover-band-height
#let cover-footer-line-gap-tight = tw(0.5)
#let cover-footer-line-gap = tw(0.75)
#let cover-footer-column-gap = tw(16)
#let cover-panel-right-gap = tw(24)
#let page-margin-cover = (
top: cover-margin-y,
bottom: cover-margin-y,
left: 0pt,
right: cover-margin-right,
)
// --- 封面Proposal 色块布局 · 蓝色系)---
#let cover-bg = white
#let cover-text = color-ink
#let cover-text-muted = color-muted
#let cover-logo-size = tw(10)
#let cover-brand-size = text-base
#let cover-tagline-size = text-sm
#let cover-body-height = 25.7cm
#let cover-panel-gap-y = tw(6)
#let cover-header-gap = cover-panel-gap-y + cover-footer-est - cover-header-est
#let cover-below-gap = cover-panel-gap-y
#let cover-panel-fill = color-primary
#let cover-panel-height = cover-body-height - cover-header-est - cover-footer-est - cover-header-gap - cover-below-gap
#let cover-panel-inset-y = tw(18)
#let cover-panel-inset-bottom-y = tw(16)
#let cover-panel-text-gap = tw(4)
#let cover-panel-title-outer-gap = tw(5)
#let cover-panel-title-pull = -tw(8)
#let cover-quote-column-width = tw(40)
#let cover-panel-footer-rule-stroke = 2pt
#let cover-panel-meta-divider-width = 2pt
#let cover-panel-kicker = text-sm
#let cover-panel-kicker-color = white.transparentize(18%)
#let cover-panel-title-color = white
#let cover-panel-subtitle-color = white.transparentize(12%)
#let cover-panel-divider-color = white
#let cover-panel-accent-stroke = 3.5pt
#let cover-panel-line-color = white.transparentize(45%)
#let cover-panel-footer-line-color = white.transparentize(15%)
#let cover-panel-rule-width = tw(22)
#let cover-panel-meta-column-gap = tw(8)
#let cover-panel-author-size = text-base
#let cover-panel-role-size = text-sm
#let cover-panel-meta-size = text-sm
#let cover-panel-meta-label = text-xs
#let cover-panel-meta-color = white.transparentize(12%)
#let cover-quote-size = 16 * tw-rem
#let cover-quote-color = white.transparentize(8%)
#let cover-quote-clearance = cover-quote-column-width
#let cover-quote-offset-y = tw(0)
#let cover-panel-role-gap-before-line = tw(4)
#let cover-panel-meta-gap-after-line = tw(3)
#let cover-panel-footer-line-length = 78%
#let cover-footer-divider-height = tw(7.5)
#let cover-footer-label = text-sm
#let cover-footer-body = text-sm
#let cover-footer-note = text-xs
#let cover-footer-heading = color-ink
#let cover-footer-text = color-body
#let cover-footer-rule = color-muted.transparentize(55%)
#let size-cover-title = text-6xl
#let size-cover-title-line2 = text-7xl
#let size-cover-subtitle = text-lg
// --- 目录页 ---
#let toc-head-gap = tw(18)
#let toc-content-indent = tw(12)
#let summary-top-offset = tw(10)
#let summary-body-gap = tw(8)
#let toc-head-zh = text-5xl
#let toc-l2-color = color-muted.lighten(28%)
#let toc-head-color = color-primary
#let toc-classification-label = "C3 Confidential"
#let toc-classification-size = text-xs
#let toc-classification-color = toc-l2-color
#let toc-classification-dx = -page-margin-x + tw(3)
#let toc-classification-dy = page-margin-y - tw(7)
#let toc-l1-number-width = tw(14)
#let toc-l1-number-title-gap = tw(11)
#let toc-l1-number-size = text-5xl
#let toc-l1-number-color = color-primary
#let toc-l1-size = text-lg
#let toc-l2-size = text-sm
#let toc-page-size = text-sm
#let toc-l1-color = color-primary
#let toc-l1-leader-color = color-primary.lighten(22%)
#let toc-l2-leader-color = toc-l2-color.transparentize(35%)
#let toc-leader-dot-size = text-xs
#let toc-leader-gap = tw(0.5)
#let toc-l1-gap-above = tw(6)
#let toc-l1-gap-below = tw(2.5)
#let toc-l2-gap-above = tw(2.5)
#let toc-l2-gap-below = tw(2)