科技报告配色统一为幻灯片同一套海大标准色 #5
改前用的是 xcolor 通用色,跟海大无关:notebox 用 NavyBlue、importantbox
用 Orange、代码关键字纯蓝 rgb(0,0,1)、注释纯绿、代码标题 violet、水印纯灰。
同一个学校两个模板的「蓝」和「红」不是一回事。
新增 cls/color.cls 作为唯一配色入口:
- 10 个基色与 幻灯片/theme/beamercolorthemeOUCSlide.sty 逐值相同
(前 7 个是官方 2021 版 VI 标准色,后 3 个是幻灯片补充的第三色)
- 8 个语义词别名(oucprimary / oucaccent / oucinfo / oucalert /
ouccaption / oucrule / ouclink / oucmuted),按语义引用而非色名,
将来调色只改一行
- 代码配色从标准色派生:关键字→海大蓝、注释→苍松绿、
字符串→海大红、类型→海大天蓝、边框→专银
各文件改为引用语义色,不再硬写 RGB:
- boxes.cls:notebox NavyBlue→oucinfo,importantbox Orange→oucalert
- code.cls:删掉本地 5 个 definecolor;bashstyle NavyBlue→oucblue;
bashoutputstyle black!10→codecolorbg + 专银线;行号 gray→oucmuted;
代码标题 violet→ouccaption
- hyperref.cls:硬写 black→ouclink
- setting.tex:水印纯灰→海大蓝 4%(原 Lightness 会强制切 gray 模型覆盖颜色,已去掉)
- report.cls:加 \input{cls/color.cls},必须有在 boxes/code 之前
有意保持中性的两处(已在注释里说明理由):
- shellbox / invertedshellbox:终端反白块语义就该是黑底,
换成蓝会变成「强调块」抢正文注意力
- 页眉线:彩色页眉线会跟正文海大蓝标题抢视觉层级,仍 0.5pt 黑
验证:错误 0,10 页,Overfull 0,Underfull 保持既有 2 条;
PDF 逐 span 提取文字色只剩 #004098 / #C81528 / #000000,
矢量填充与描边全部落在标准色内,无 NavyBlue / Orange / violet 残留。
This commit is contained in:
+22
-14
@@ -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
|
||||
|
||||
+16
-15
@@ -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}
|
||||
@@ -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} % 极浅中性底(唯一非海大色,仅作纸白微差)
|
||||
@@ -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}
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
Reference in New Issue
Block a user