% \subsection{bitbeamer.cls 文档类} % % \subsubsection{l3keys 接口键值对定义} % % 定义 |bitbeamer| 文档类的接口键值对。 % \begin{macrocode} % Declare variables used by keys \tl_new:N \l_bit_framelogo_tl % Declare keys \keys_define:nn { bitbeamer } { titlegraphic .tl_set:N = \l_bit_titlegraphic_tl, framelogo .tl_set:N = \l_bit_framelogo_tl, } % \end{macrocode} % % 在宏加载时,处理 |bitbeamer| 中的值。使得 |bitbeamer| % 宏包的模板选项可以在宏加载时生效。 % \begin{macrocode} \ProcessKeysOptions { bitbeamer } % \end{macrocode} % % Pass every option not explicitly defined to `ctexbeamer`. % \begin{macrocode} \DeclareOption*{ \PassOptionsToClass{\CurrentOption}{ctexbeamer} } % \end{macrocode} % % Executes the code for each option. % Load. % \begin{macrocode} \ProcessOptions\relax \LoadClass{ctexbeamer} % \end{macrocode} % % \subsubsection{定义模板类样式} % % 加载所需的宏包。 % \begin{macrocode} \RequirePackage{xeCJKfntef} \RequirePackage{tikz} % \end{macrocode} % % 设置主题与主题色。 % \begin{macrocode} \usetheme{Madrid} \definecolor{bitred}{HTML}{A13E0B} \definecolor{bitgreen}{HTML}{0A8F30} \definecolor{bitdarkgreen}{HTML}{005B30} \colorlet{beamer@blendedblue}{bitdarkgreen} % \end{macrocode} % % % \begin{macro}{\@@_CJKhl:nn} % 高亮中文字符。 % \begin{macrocode} \cs_new:Npn \@@_CJKhl:nn #1 #2 { \CJKsout*[thickness=2.5ex, format=\color{#1}]{#2} } % \end{macrocode} % \end{macro} % % Set header if logo path is provided. % \begin{macrocode} \tl_if_empty:NF \l_bit_titlegraphic_tl { % BIT Logo \titlegraphic{ \includegraphics[width=2cm]{\l_bit_titlegraphic_tl} } } % \end{macrocode} % % Set title logo if logo path is provided. % \begin{macrocode} \tl_if_empty:NF \l_bit_framelogo_tl { \addtobeamertemplate{frametitle}{}{% \begin{tikzpicture}[remember~picture,overlay] \node[anchor=north~east,yshift=2pt] at (current~page.north~east) {\includegraphics[height=0.8cm]{\tl_use:N \l_bit_framelogo_tl}}; \end{tikzpicture} } } % \end{macrocode} % % \subsubsection{定义用户接口} % % \begin{macrocode} \cs_new_eq:NN \CJKhl \@@_CJKhl:nn % \end{macrocode}