ai_platform_report/linux_thesis.cls

215 lines
7.5 KiB
TeX
Raw Permalink 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.

\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{linux_thesis}[]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
\ProcessOptions
%Minimum xeCJK version:3.2.10, date:2014/03/01
\PassOptionsToPackage{CJKchecksingle}{xeCJK}
%采用5号字体
\LoadClass[c5size,a4paper,fancyhdr,fntef]{ctexbook}
%Chinese font size
\newcommand{\chuhao} {\fontsize{42pt} {\baselineskip}\selectfont}
\newcommand{\xiaochu} {\fontsize{36pt} {\baselineskip}\selectfont}
\newcommand{\xiaochuhao}{\fontsize{36pt} {\baselineskip}\selectfont}
\newcommand{\yihao} {\fontsize{28pt} {\baselineskip}\selectfont}
\newcommand{\erhao} {\fontsize{21pt} {\baselineskip}\selectfont}
\newcommand{\xiaoer} {\fontsize{18pt} {\baselineskip}\selectfont}
\newcommand{\xiaoerhao} {\fontsize{18pt} {\baselineskip}\selectfont}
\newcommand{\sanhao} {\fontsize{15.75pt}{\baselineskip}\selectfont}
\newcommand{\xiaosan} {\fontsize{15pt} {\baselineskip}\selectfont}
\newcommand{\xiaosanhao}{\fontsize{15pt} {\baselineskip}\selectfont}
\newcommand{\sihao} {\fontsize{14pt} {\baselineskip}\selectfont}
\newcommand{\xiaosi} {\fontsize{12pt} {\baselineskip}\selectfont}
\newcommand{\xiaosihao} {\fontsize{12pt} {\baselineskip}\selectfont}
\newcommand{\wuhao} {\fontsize{10.5pt} {\baselineskip}\selectfont}
\newcommand{\xiaowu} {\fontsize{9pt} {\baselineskip}\selectfont}
\newcommand{\xiaowuhao} {\fontsize{9pt} {\baselineskip}\selectfont}
\newcommand{\liuhao} {\fontsize{7.875pt}{\baselineskip}\selectfont}
\newcommand{\qihao} {\fontsize{5.25pt} {\baselineskip}\selectfont}
%===================================================================
%版面细节设置
%===================================================================
\RequirePackage{geometry} %控制版面大小
\geometry{left=25.4mm, right=25.4mm, top=25.4mm, bottom=25.4mm}
%调整段间距
%\setlength{\parskip}{1.5ex plus0.5ex minus 0.5ex}
\setlength{\parskip}{0ex}
%设置页眉页脚
\pagestyle{fancy}
\fancyhf{}
\fancyhead[EL,OR]{\thepage}
\fancyhead[OC]{\nouppercase{\fangsong\rightmark}}
\fancyhead[EC]{\nouppercase{\fangsong\leftmark}}
%===================================================================
%===================================================================
%定义章节标题格式(ps:参考ctex宏包使用)
%===================================================================
\RequirePackage{titletoc}
\RequirePackage{titlesec}
\CTEXsetup[number={\arabic{chapter}}]{chapter}
\titleformat{\chapter}[display]
{\bfseries\Large}
{\filleft \Huge{\thechapter}}
{4ex}
{\titlerule
\vspace{2ex}%
\filright}
[\vspace{2ex}%
\titlerule]
\CTEXsetup[name={\S\,,}]{section}
\CTEXsetup[name={\S\,,}]{subsection}%在序号前面添加 \S 符号
%\CTEXsetup[name={\S\,,}]{subsubsection}%在序号前面添加 \S 符号
\CTEXsetup[format={\large\bfseries\flushleft}]{section}
\CTEXsetup[format={\bfseries\flushleft}]{subsection}
%===================================================================
%===================================================================
%设置目录格式
%===================================================================
\CTEXoptions[contentsname={\hfill 目\rule{\ccwd}{0pt}录 \hfill}] % 设置目录格式
\titlecontents{chapter}[0em]
{\vspace{6bp}\sihao\bfseries}%14pt如果希望美观一些可以无视章节标题用宋体的规定自行添加\bfseries
{\thecontentslabel\hspace*{0.5em}}
{}
{\titlerule*[0.5pc]{$\cdot$}\contentspage}
\titlecontents{section}[1.1\ccwd]
{\vspace{1bp} \xiaosi}
{\thecontentslabel\hspace*{0.5em}}
{}
{\titlerule*[0.5pc]{$\cdot$}\contentspage}
\titlecontents{subsection}[2.5\ccwd]%原来是2.3
{\vspace{1bp} \wuhao}%规定三级标题是10.5pt
{\thecontentslabel\hspace*{0.5em}}
{}
{\titlerule*[0.5pc]{$\cdot$}\contentspage}
%================================================================
%设置图片、表格标题的格式
\RequirePackage[oneline]{caption2}
\renewcommand{\captionlabeldelim}{\rule{\ccwd}{0pt}} %设置标题的分隔符,默认为 :
\captionsetup{labelfont+={bf}} %作用和以下三句相同
%\DeclareCaptionFont{cs4size}{\xiaosi}
%\captionsetup{labelfont={cs4size,bf}}
%\captionsetup{textfont=cs4size}
\makeatletter
\renewcommand{\thefigure}{\thesection-\@arabic\c@figure}
\renewcommand{\thetable}{\thesection-\@arabic\c@table}
\makeatother
\RequirePackage{enumitem} %控制罗列环境需要的包
\setitemize{topsep=0pt} %设置 itemize 罗列环境顶端距离
\RequirePackage{mdwlist} %与正文等行距的罗列环境
%===================================================================
%长表格环境设置
%===================================================================
\RequirePackage{longtable} %长表格
%\setlength{\LTpre}{0pt} %设置 longtable 与上文的距离
%\setlength{\LTpost}{0pt} %设置 longtable 与下文的距离
\renewcommand{\arraystretch}{1.3} %设置 longtable 行距的基本拉伸值
\RequirePackage{booktabs} %制作表格粗框线
%===================================================================
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\RequirePackage{fancyvrb}
\fvset{listparameters=\setlength\topsep{0pt}}
%===================================================================
%设置一个源码输入环境
%===================================================================
\RequirePackage{fancybox}
\RequirePackage{framed}
\usepackage{color}
% Redefine these colors to your liking in the preamble.
\definecolor{TitleColor}{rgb}{0.126,0.263,0.361}
\definecolor{InnerLinkColor}{rgb}{0.208,0.374,0.486}
\definecolor{OuterLinkColor}{rgb}{0.216,0.439,0.388}
% Redefine these colors to something if you want to have colored
% background and border for code examples.
\definecolor{VerbatimColor}{rgb}{0.933,0.933,0.933}
\definecolor{VerbatimBorderColor}{rgb}{1,1,1}
% Redefine the Verbatim environment to allow border and background colors.
% The original environment is still used for verbatims within tables.
\let\OriginalVerbatim=\Verbatim
\let\endOriginalVerbatim=\endVerbatim
\makeatletter
% Play with vspace to be able to keep the indentation.
\newlength\distancetoright
\def\mycolorbox#1{%
\setlength\distancetoright{\linewidth}%
\advance\distancetoright -\@totalleftmargin %
\fcolorbox{VerbatimBorderColor}{VerbatimColor}{%
\begin{minipage}{\distancetoright}%
#1
\end{minipage}%
}%
}
\def\FrameCommand{\mycolorbox}
\makeatother
\renewcommand{\Verbatim}[1][1]{%
\vspace{-1ex} %引入设置,减小与上下文之间的空白
% list starts new par, but we don't want it to be set apart vertically
\bgroup\parskip=0pt%
%\smallskip%
% The list environement is needed to control perfectly the vertical
% space.
\list{}{%
\setlength\parskip{0pt}%
\setlength\itemsep{0ex}%
\setlength\topsep{0ex}%
\setlength\partopsep{0pt}%
\setlength\leftmargin{0pt}%
}%
\item\MakeFramed {\FrameRestore}%
\small%
\OriginalVerbatim[#1]%
}
\renewcommand{\endVerbatim}{%
\endOriginalVerbatim%
\endMakeFramed%
\endlist%
% close group to restore \parskip
\egroup%
}
%===================================================================
\RequirePackage{wrapfig}
\RequirePackage{makecell}
%表格中插入图片居中
\newcommand\mgape[1]{\gape{$\vcenter{\hbox{#1}}$}}
%表格中换行
%\tabincell{c}{haha// heihei//zeze}
%\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
%\makecell[c]{haha \\ hehe}
\renewcommand\cellalign{tc}
%加载各种预设值的封面
\RequirePackage{titlepage/ManyTitlePage}
\RequirePackage{metalogo}
\endinput