Files
ouc_latex_template/科技报告/cls/boxes.cls
T

115 lines
2.9 KiB
OpenEdge ABL
Raw Normal View History

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% boxes
%% 信息框
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% 颜色一律引用 cls/color.cls 里的语义名(oucinfo / oucalert ...),
% 不在这里写具体色名,更不写 RGB 值。
%
%% 带标题的文本框
% 这个框走的是"极简"路线:框线和标题栏都是白色,靠黑字 + 细边分界。
% 属于结构而非强调,不参与配色体系。
\newtcolorbox{titledbox}[1]{%
tikznode boxed title,
enhanced,
arc=3pt,
interior style={white},
attach boxed title to top center = {yshift=-\tcboxedtitleheight/2},
fonttitle=\hm,
colbacktitle=white,coltitle=black,
boxed title style={size=normal,colframe=white,boxrule=0pt},
boxrule=.5pt,
left=5pt, right=5pt, top=5pt, bottom=0pt,
boxsep=5pt,
title={#1},
halign=left,
fontupper=\fzkai
}
%% Note —— 提示框,海大蓝
\newtcolorbox{notebox}{%
enhanced,
arc=2pt,
boxrule=.5pt,
left=5pt, right=5pt, top=0pt, bottom=0pt,
boxsep=5pt,
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 —— 重要框,海大红
\newtcolorbox{importantbox}{%
enhanced,
arc=2pt,
boxrule=.5pt,
left=5pt, right=5pt, top=0pt, bottom=0pt,
boxsep=5pt,
colframe=oucalert,
colback=oucalert!5!White,
colbacktitle=oucalert!5!White,
coltext=oucalert,
title={\textcolor{oucalert}{\faExclamationCircle\hspace{.5em}\bfseries{\hm{重要}}}},
halign=left,
fontupper=\fzkai
}
%% verbatim 环境无法直接在新环境中使用
%% 换用 \VerbatimEnvironment \begin{Verbatim}
\RequirePackage{fancyvrb}
%% 命令行(浅底黑字)——中性,不参与配色体系
\newenvironment{shellbox}
{%
\VerbatimEnvironment
\begin{tcolorbox}[
enhanced,
arc=2pt,
boxrule=.5pt,
left=5pt, right=5pt, top=0pt, bottom=0pt,
boxsep=5pt,
colframe=black,
colback=white,
coltext=black,
title={},
fontupper=\linespread{1.2}
]%
\begin{Verbatim}
}
{%
\end{Verbatim}
\end{tcolorbox}
}
%% 命令行(深底白字)——海大蓝底 + 白字
% 说明:这个框的用途是"一整条终端命令",需要与正文明确区分。
% 用海大蓝实底 + 白字:
% · 白字压在 #004098 上对比度约 10:1,远高于 WCAG AA 要求的 4.5:1
% · 与 notebox(5% 浅蓝底 + 蓝字)区分得开:一个是实底,一个是浅底
% 底色不要改浅:一旦降到 oucblue!60 以下,白字对比度会掉到 4 以下,读起来吃力。
\newenvironment{invertedshellbox}
{%
\VerbatimEnvironment
\begin{tcolorbox}[
enhanced,
arc=2pt,
boxrule=.5pt,
left=5pt, right=5pt, top=0pt, bottom=0pt,
boxsep=5pt,
colframe=oucblue,
colback=oucblue,
coltext=white,
title={},
fontupper=\linespread{1.2}
]%
\begin{Verbatim}
}
{%
\end{Verbatim}
\end{tcolorbox}
}