diff --git a/科技报告/cls/boxes.cls b/科技报告/cls/boxes.cls index 9d2465d..9dc73dd 100644 --- a/科技报告/cls/boxes.cls +++ b/科技报告/cls/boxes.cls @@ -2,8 +2,14 @@ %% boxes %% 信息框 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 颜色一律引用 cls/color.cls 里的语义名(oucinfo / oucalert ...), +% 不在这里写具体色名,更不写 RGB 值。 +% %% 带标题的文本框 +% 这个框走的是"极简"路线:框线和标题栏都是白色,靠黑字 + 细边分界。 +% 属于结构而非强调,不参与配色体系。 \newtcolorbox{titledbox}[1]{% tikznode boxed title, enhanced, @@ -21,34 +27,34 @@ fontupper=\fzkai } -%% Note +%% Note —— 提示框,海大蓝 \newtcolorbox{notebox}{% enhanced, arc=2pt, boxrule=.5pt, left=5pt, right=5pt, top=0pt, bottom=0pt, boxsep=5pt, - colframe=NavyBlue, - colback=NavyBlue!5!White, - colbacktitle=NavyBlue!5!White, - coltext=NavyBlue, - title={\textcolor{NavyBlue}{\faStickyNoteO\hspace{.5em}\bfseries{\hm{笔记}}}}, + colframe=oucinfo, + colback=oucinfo!5!White, + colbacktitle=oucinfo!5!White, + coltext=oucinfo, + title={\textcolor{oucinfo}{\faStickyNoteO\hspace{.5em}\bfseries{\hm{笔记}}}}, halign=left, fontupper=\fzkai } -%% Important +%% Important —— 重要框,海大红 \newtcolorbox{importantbox}{% enhanced, arc=2pt, boxrule=.5pt, left=5pt, right=5pt, top=0pt, bottom=0pt, boxsep=5pt, - colframe=Orange, - colback=Orange!5!White, - colbacktitle=Orange!5!White, - coltext=Orange, - title={\textcolor{Orange}{\faExclamationCircle\hspace{.5em}\bfseries{\hm{重要}}}}, + colframe=oucalert, + colback=oucalert!5!White, + colbacktitle=oucalert!5!White, + coltext=oucalert, + title={\textcolor{oucalert}{\faExclamationCircle\hspace{.5em}\bfseries{\hm{重要}}}}, halign=left, fontupper=\fzkai } @@ -57,7 +63,7 @@ %% 换用 \VerbatimEnvironment \begin{Verbatim} \RequirePackage{fancyvrb} -%% 命令行 +%% 命令行(浅底黑字)——中性,不参与配色体系 \newenvironment{shellbox} {% \VerbatimEnvironment @@ -80,7 +86,9 @@ \end{tcolorbox} } -%% 命令行 +%% 命令行(深底白字)——中性反白,不参与配色体系 +% 说明:反白块的用途是"终端里的黑底",语义上就该是黑的; +% 换成海大蓝会变成强调块,反而抢正文的注意力,所以保留黑。 \newenvironment{invertedshellbox} {% \VerbatimEnvironment diff --git a/科技报告/cls/code.cls b/科技报告/cls/code.cls index 578b895..056a41e 100644 --- a/科技报告/cls/code.cls +++ b/科技报告/cls/code.cls @@ -4,11 +4,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{listings,verbatim} -\definecolor{codecolorkeywords}{rgb}{0,0,1} -\definecolor{codecolorcomments}{rgb}{0,0.5,0} -\definecolor{codecolorxmlcomments}{rgb}{0.5,0.5,0.5} -\definecolor{codecolorstrings}{rgb}{0.64,0.08,0.08} -\definecolor{codecolortypes}{rgb}{0.17,0.57,0.68} +% 代码配色不在这里定义,统一来自 cls/color.cls: +% codecolorkeywords = 海大蓝 codecolorcomments = 苍松绿 +% codecolorstrings = 海大红 codecolortypes = 海大天蓝 +% codecolorframe = 专银 codecolorbg = 极浅中性底 \lstdefinelanguage{JavaScript}{ keywords={do, if, in, for, let, new, try, var, case, else, enum, eval, null, this, true, void, with, await, break, catch, class, const, false, super, throw, while, yield, delete, export, import, public, return, static, switch, typeof, default, extends, finally, package, private, continue, debugger, function, arguments, interface, protected, implements, instanceof}, @@ -44,16 +43,16 @@ framesep=5pt, framerule=.5pt, framexleftmargin=10pt, - rulecolor=\color{black}, + rulecolor=\color{codecolorframe}, abovecaptionskip=0pt, belowcaptionskip=5pt, aboveskip=5pt, - backgroundcolor=\color{black!5!white}, + backgroundcolor=\color{codecolorbg}, % Code design keywordstyle=\color{codecolorkeywords}, commentstyle=\color{codecolorcomments}, stringstyle=\color{codecolorstrings}, - numberstyle=\small\color{gray}, + numberstyle=\small\color{oucmuted}, breakatwhitespace=false, breaklines=true, captionpos=t, @@ -74,9 +73,9 @@ } \lstset{style=mystyle} -%% 命令行 +%% 命令行(bash 示例):浅海大蓝底 + 粗左侧海大蓝竖线 \lstdefinestyle{bashstyle}{ - backgroundcolor=\color{NavyBlue!10!white}, + backgroundcolor=\color{oucblue!10!white}, basicstyle=\linespread{1.2}\ttfamily, keepspaces=true, numbers=none, @@ -87,7 +86,7 @@ framexleftmargin=3pt, framextopmargin=-5pt, xleftmargin=10pt, - rulecolor=\color{NavyBlue}, + rulecolor=\color{oucblue}, % Code tabsize=4, showspaces=false, @@ -96,9 +95,11 @@ breaklines=true, } -%% 命令行输出 +%% 命令行输出:中性极浅底 + 专银左侧竖线 +% 说明:输出是"机器吐出来的东西",语义上不该比命令更醒目, +% 所以颜色比 bashstyle 退一档,用专银而不是海大蓝。 \lstdefinestyle{bashoutputstyle}{ - backgroundcolor=\color{black!10!white}, + backgroundcolor=\color{codecolorbg}, basicstyle=\linespread{1.2}\ttfamily, keepspaces=true, numbers=none, @@ -109,7 +110,7 @@ framexleftmargin=3pt, framextopmargin=-5pt, xleftmargin=10pt, - rulecolor=\color{black!70!white}, + rulecolor=\color{codecolorframe}, % Code tabsize=4, showspaces=false, @@ -124,6 +125,6 @@ %%\colorbox{black!20}{ %% \parbox{\textwidth}{#1#2\ttfamily#3} %%} - \parbox{\textwidth}{\textcolor{violet}\faCode~\textcolor{violet}{#1#2}\hspace{.5em}\fzkai#3} + \parbox{\textwidth}{\textcolor{ouccaption}\faCode~\textcolor{ouccaption}{#1#2}\hspace{.5em}\fzkai#3} } \captionsetup[lstlisting]{format=codecaptionformat} \ No newline at end of file diff --git a/科技报告/cls/color.cls b/科技报告/cls/color.cls new file mode 100644 index 0000000..ab1065f --- /dev/null +++ b/科技报告/cls/color.cls @@ -0,0 +1,74 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% color +%% 海大标准色(与幻灯片模板完全一致) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 【本文件是本模板唯一的配色入口】 +% +% 规矩:除本文件外,任何地方都不要出现 \definecolor 或直接的 RGB / html +% 色值。需要颜色就引用这里的名字,需要档位(浅一点/深一点)就用 +% xcolor 的混合语法,例如 oucblue!30!white。 +% 这样将来调整配色只改一处,全文同步。 +% +% 色值来源与同步要求: +% 10 个基色与 ../幻灯片/theme/beamercolorthemeOUCSlide.sty 逐值相同。 +% 改色时两个模板必须同步改,否则两个模板的"海大红"会不一样。 +% 其中前 7 个是官方 2021 版形象识别系统(VI)公布的标准色, +% 后 3 个(苍松绿 / 暮山紫 / 琥珀橙)是幻灯片模板补充的第三色。 +% +% 语法提示: +% 浅化 oucblue!30!white (30% 海大蓝 + 70% 白) +% 加深 oucblue!80!black +% 半透明 oucblue!30 (tcolorbox 的 opacity 另有参数) +% +\RequirePackage[dvipsnames]{xcolor} + +%====================================================================== +% 一、官方标准色(基色) +%====================================================================== +\definecolor{oucblue}{RGB}{0, 64, 152} % 海大蓝 主色:标题、强调、外框 +\definecolor{ouclightblue}{RGB}{0, 160, 233} % 海大天蓝 次色:与海大蓝搭配 +\definecolor{oucred}{RGB}{200, 21, 40} % 海大红 警示、强调 +\definecolor{ouccherry}{RGB}{249, 210, 212} % 樱缤粉 浅底、点缀 +\definecolor{oucbrown}{RGB}{121, 79, 47} % 文脉棕 沉稳,少用 +\definecolor{oucgolden}{RGB}{204, 173, 105} % 专金 正式、有分量 +\definecolor{oucsilver}{RGB}{207, 208, 208} % 专银 浅灰,分隔线、外框 + +%====================================================================== +% 二、幻灯片补充色(非官方 VI,但两个模板共用同一套) +%====================================================================== +\definecolor{oucpine}{RGB}{30, 86, 64} % 苍松绿 冷色系深绿 +\definecolor{oucdusk}{RGB}{92, 58, 118} % 暮山紫 第三色 +\definecolor{oucamber}{RGB}{196, 82, 16} % 琥珀橙 暖色强调 + +%====================================================================== +% 三、语义别名(正文与各 cls 文件里请按语义引用,不要写色名) +%====================================================================== +% 好处:将来"笔记框"想从海大蓝换成苍松绿,只改下面一行, +% 不用去翻 boxes.cls。 +\colorlet{oucprimary}{oucblue} % 主色 +\colorlet{oucaccent}{oucred} % 强调色 +\colorlet{oucinfo}{oucblue} % 提示(笔记框) +\colorlet{oucalert}{oucred} % 警示(重要框) +\colorlet{ouccaption}{oucblue} % 图表标题 +\colorlet{oucrule}{oucsilver} % 分隔线、表格线 +\colorlet{ouclink}{black} % 正文超链接:学术惯例用黑,想改海大红就把这行换成 oucred +\colorlet{oucmuted}{oucsilver} % 弱化文字(行号、辅助说明) + +%====================================================================== +% 四、代码 / 等宽环境配色 +%====================================================================== +% 说明:代码高亮的语义色(关键字 / 注释 / 字符串)必须彼此区分得开, +% 强行全部套同一个海大色会看不清。所以做法是——从标准色里派生, +% 而不是另造一套色: +% 关键字 → 海大蓝 注释 → 苍松绿 +% 字符串 → 海大红 类型 → 海大天蓝 +% 边框 → 专银 底色 → 极浅中性 +% 这样代码块整体仍在海大色系内,同时保持可读性。 +\colorlet{codecolorkeywords}{oucblue} +\colorlet{codecolorcomments}{oucpine} +\colorlet{codecolorstrings}{oucred} +\colorlet{codecolortypes}{ouclightblue} +\colorlet{codecolorxmlcomments}{oucsilver} +\colorlet{codecolorframe}{oucsilver} +\definecolor{codecolorbg}{RGB}{247, 248, 250} % 极浅中性底(唯一非海大色,仅作纸白微差) \ No newline at end of file diff --git a/科技报告/cls/headandfoot.cls b/科技报告/cls/headandfoot.cls index 6c42d03..3903831 100644 --- a/科技报告/cls/headandfoot.cls +++ b/科技报告/cls/headandfoot.cls @@ -2,28 +2,18 @@ %% head and foot %% 页眉页脚 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \RequirePackage{fancyhdr} -% \RequirePackage{zhnumber} - -% \pagestyle{fancy} -% \fancyhf{} -% \renewcommand\headrulewidth{.5pt} -% \renewcommand\footrulewidth{0pt} -% %\futurelet\TMPheadrule\def\headrule{{\color{violet}\TMPheadrule}} - -% \renewcommand{\sectionmark}[1]{\markright{#1}} - -% \fancyhead[C]{\fzkai{\rightmark}} -% %\fancyhead[R]{\thepage} - -% \fancyfoot[L]{\fzkai{\author}} -% \fancyfoot[R]{\thepage} +% +% 页眉线当前保持中性黑(0.5pt 细线),不用彩色: +% 彩色页眉线会跟正文的海大蓝标题抢视觉层级。 +% 若确实想上色,把下面 headrule 那行的注释打开, +% 颜色用 cls/color.cls 里的 oucrule(专银)或 oucprimary(海大蓝)。 +% \pagestyle{fancy} \fancyhf{} \renewcommand\headrulewidth{.5pt} \renewcommand\footrulewidth{0pt} -%\futurelet\TMPheadrule\def\headrule{{\color{violet}\TMPheadrule}} +%\futurelet\TMPheadrule\def\headrule{{\color{oucrule}\TMPheadrule}} %\renewcommand{\sectionmark}[1]{\markright{#1}} \fancyhead[C]{\fzkai{\themaintitle}} %\fancyhead[C]{\@title} diff --git a/科技报告/cls/hyperref.cls b/科技报告/cls/hyperref.cls index cd588ba..8e3d672 100644 --- a/科技报告/cls/hyperref.cls +++ b/科技报告/cls/hyperref.cls @@ -2,11 +2,15 @@ %% hyperref settings %% 超链接设定 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - +% +% 颜色用 cls/color.cls 里的 ouclink(当前 = 黑)。 +% 学术文档的正文超链接按惯例保持黑色,避免满页彩字干扰阅读; +% 想改成海大红,只改 color.cls 里 ouclink 那一行即可,不必动这里。 +% \hypersetup{ bookmarksnumbered, colorlinks, - linkcolor={black}, - citecolor={black}, - urlcolor={black} + linkcolor={ouclink}, + citecolor={ouclink}, + urlcolor={ouclink} } \ No newline at end of file diff --git a/科技报告/input/setting.tex b/科技报告/input/setting.tex index 6f65f52..d5cd7d9 100644 --- a/科技报告/input/setting.tex +++ b/科技报告/input/setting.tex @@ -13,6 +13,14 @@ % \usepackage[firstpage]{draftwatermark} % 只有第一页加水印 \SetWatermarkText{\theaffiliation\thedept} % 设置水印文字内容 % \SetWatermarkText{\includegraphics{fig/ZJDX-WaterMark.eps}} % 设置水印LOGO -\SetWatermarkLightness{0.95} % 设置水印透明度 0-1 + +% 水印颜色:用海大蓝的极浅档(4% 海大蓝 + 96% 白)。 +% 原来是纯灰(Lightness 0.95),换成带蓝的浅色后,整页会隐约透出本校色, +% 比中性灰更有整体感,同时淡到完全不干扰阅读。 +% 想更淡 → oucblue!3!white 想略明显 → oucblue!8!white +% 注意:这里必须是【颜色名】而非灰度值;draftwatermark 的 +% \SetWatermarkLightness 会强制切到 gray 模型,一旦调用就把这个颜色覆盖掉, +% 所以下面那行 Lightness 只能保留一个,二者不要同时用。 +\SetWatermarkColor{oucblue!4!white} % 水印颜色(海大蓝极浅) \SetWatermarkScale{0.2} % 设置水印大小 0-1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ No newline at end of file diff --git a/科技报告/report.cls b/科技报告/report.cls index a740fc9..c94fbd5 100644 --- a/科技报告/report.cls +++ b/科技报告/report.cls @@ -33,6 +33,7 @@ %引入模块 \input{cls/global.cls}%全局设定 +\input{cls/color.cls}%海大标准色(必须在 boxes/code 之前,那两个要用这里定义的颜色) \input{cls/hyperref.cls}%超链接 \input{cls/figs.cls}%图片 \input{cls/geometry.cls}%页面布局 diff --git a/科技报告/report.pdf b/科技报告/report.pdf index 5798a01..e5a6b0f 100644 Binary files a/科技报告/report.pdf and b/科技报告/report.pdf differ