summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hitszthesis/hitszthesis.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/hitszthesis/hitszthesis.cls')
-rw-r--r--macros/latex/contrib/hitszthesis/hitszthesis.cls822
1 files changed, 822 insertions, 0 deletions
diff --git a/macros/latex/contrib/hitszthesis/hitszthesis.cls b/macros/latex/contrib/hitszthesis/hitszthesis.cls
new file mode 100644
index 0000000000..d6d1815d32
--- /dev/null
+++ b/macros/latex/contrib/hitszthesis/hitszthesis.cls
@@ -0,0 +1,822 @@
+%%==============================================
+%% start of file `HITSZThesis.cls'.
+%% Copyright 2019-2020 YangLaTeX (yanglatex2e@gmail.com)
+%%
+%% This work is available at GitHub:
+%% https://github.com/YangLaTeX/YangThesis
+%%
+%% This material is subject to the LATEX Project Public License 1.3c
+%% (https://ctan.org/license/lppl1.3) or any later version
+%%==============================================
+
+% 开始写类文件
+% 设置需要的LaTeX版本
+\NeedsTeXFormat{LaTeX2e}
+
+% 定义提供的类文件名称以及说明文字
+\ProvidesClass{hitszthesis}[2020/02/15 v1.2 HITSZThesis document class]
+
+% 键值对设置
+\RequirePackage{kvoptions}
+
+% 对宏包、环境、命令进行操作
+\RequirePackage{etoolbox}
+
+% 设置关键词
+\SetupKeyvalOptions{family=Yang, prefix=Yang@, setkeys=\kvsetkeys}
+
+% 定义设置关键词命令
+\newcommand{\ykv}[1]{\kvsetkeys{Yang}{#1}}
+
+% 表格信息对齐
+\DeclareStringOption[infocenter]{infoalign}
+\DeclareVoidOption{infocenter}{\ykv{infoalign = infocenter}}
+\DeclareVoidOption{infoleft}{\ykv{infoalign = infoleft}}
+
+% 封面标题行数
+\DeclareStringOption[onerow]{covertitle}
+\DeclareVoidOption{onerow}{\ykv{covertitle = onerow}}
+\DeclareVoidOption{tworow}{\ykv{covertitle = tworow}}
+
+% 默认选项
+\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}}
+
+% 禁用键值对操作
+\ProcessKeyvalOptions*\relax
+
+% 加载book类,A4大小,正文12磅,单面打印
+\LoadClass[12pt,a4paper,openany,oneside]{book}
+
+% 使用xelatex编译mtpro2宏包必须加载此宏包
+\RequirePackage{etex}
+
+% 加载支持中文的ctex宏包
+\RequirePackage[UTF8,space=auto,scheme=plain]{ctex}
+
+% 正文和数学字体设置
+\RequirePackage{amsmath}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{newtxtext}
+\RequirePackage[mtphrb,mtpcal,zswash,subscriptcorrection,uprightGreek,nofontinfo]{mtpro2}
+\renewcommand{\rmdefault}{ptm}
+\RequirePackage[scaled=0.92]{helvet}
+\RequirePackage{type1cm}
+\RequirePackage{lipsum}
+
+% 使字体设置生效,排除其他干扰
+\RequirePackage{mathdesign}
+
+% 设置中文加粗字体
+\setCJKfamilyfont{kai}[AutoFakeBold]{simkai.ttf}
+\newcommand*{\kai}{\CJKfamily{kai}}
+\setCJKfamilyfont{song}[AutoFakeBold]{SimSun}
+\newcommand*{\song}{\CJKfamily{song}}
+
+% 行间距,设为1.3,due to 12pt与小四号字的大小微差
+\linespread{1.3}
+
+%%===============常用宏包=========================
+% 在一页上可以使用单栏和多栏样式
+\RequirePackage{multicol}
+% 自定义颜色
+\RequirePackage{xcolor}
+% 排版代码
+\RequirePackage{fancyvrb}
+% 自定义目录格式
+\RequirePackage{titletoc}
+% 设置颜色
+\RequirePackage{xcolor}
+% 插入图片
+\RequirePackage{graphicx}
+% 表格
+\RequirePackage{array}
+% 长表格
+\RequirePackage{longtable}
+% booktabs 提供了\toprule 等命令.
+\RequirePackage{booktabs}
+% multirow 支持在表格中跨行
+\RequirePackage{multirow}
+% 调整间隔, 让表格更好看些
+\RequirePackage{bigstrut}
+% 在跨行表格中输入定界符
+\RequirePackage{bigdelim}
+% 保护脆落命令
+\RequirePackage{cprotect}
+% 定制列表环境
+\RequirePackage{enumitem}
+% 设置代码环境
+\RequirePackage{listings}
+% 超链接格式设置
+\RequirePackage{hyperref}
+% 首行缩进
+\RequirePackage{indentfirst}
+\setlength\parindent{2em}
+% 设置浮动体的标题
+\RequirePackage{caption}
+% 浮动环境
+\RequirePackage{float}
+% 下划线
+\RequirePackage{ulem}
+% 尺寸计算
+\RequirePackage{calc}
+% tikz绘图
+\RequirePackage{tikz}
+% 公式字母加粗
+\RequirePackage{bm}
+% 子公式编号
+\RequirePackage{cases}
+% 单位
+\RequirePackage{siunitx}
+% 排版代码
+\RequirePackage{listings}
+\renewcommand{\ttdefault}{cmtt}
+% 定义<ystyle>样式
+\lstdefinestyle{ystyle}{
+ basicstyle=%
+ \ttfamily
+ \lst@ifdisplaystyle\small\fi
+}
+% 使用<ystyle>样式
+\lstset{basicstyle = \ttfamily, style = ystyle, breaklines = true}
+% 定义代码颜色
+\definecolor{lightgrey}{rgb}{0.9,0.9,0.9}
+\definecolor{frenchplum}{RGB}{190,20,83}
+\definecolor{winered}{rgb}{0.5,0,0}
+% 设置LaTeX代码排版样式
+\lstset{language = [LaTeX]TeX,
+ texcsstyle = *\color{winered},
+ numbers = none,
+ mathescape,
+ breaklines = true,
+ keywordstyle = \color{winered},
+ commentstyle = \color{gray},
+ emph = {Yangpaper,fontenc,fontspec,xeCJK,FiraMono,xunicode,newtxmath, figure,fig,image,img,table,itemize,enumerate,newtxtext,newtxtt,ctex, microtype,description,times,newtx,booktabs,tabular,PDFLaTeX, XeLaTeX,type1cm,BibTeX,device,color,mode,lang,amsthm,tcolorbox, titlestyle,cite,marginnote,ctex,listings,base,subnumcases},
+ emphstyle = {\color{frenchplum}},
+ morekeywords = {DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule, institute,version,includegraphics,setmainfont,setsansfont,setmonofont, setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref, tabref,email,maketitle,keywords,definecolor,extrainfo,logo,cover,subtitle, appendix,chapter,hypersetup,mainmatter,frontmatter,tableofcontents, Yangpar,heiti,kaishu,lstset,pagecolor,zhnumber,marginpar,part, equote,marginnote},
+ frame = single,
+ tabsize = 2,
+ rulecolor = \color{black},
+ framerule = 0.2pt,
+ columns = flexible,
+ % backgroundcolor = \color{lightgrey}
+}
+%%==============================================
+
+% 定义输入常量<tokens>
+% 论文标题
+\newcommand\Yang@tokens@thesistitle{}
+% 关键词,中文
+\newcommand\Yang@tokens@keywords{}
+% 关键词,英文
+\newcommand\Yang@tokens@keywordsen{}
+% 论文类别
+\newcommand*\Yang@tokens@papercategory{}
+% 学校名称
+\newcommand*\Yang@tokens@schoolname{}
+% 院系
+\newcommand*\Yang@tokens@departname{}
+% 班级
+\newcommand*\Yang@tokens@classnumber{}
+% 日期
+\newcommand*\Yang@tokens@dateinput{}
+% 姓名
+\newcommand*\Yang@tokens@authorname{}
+% 学号
+\newcommand*\Yang@tokens@studentID{}
+% 专业
+\newcommand*\Yang@tokens@majorin{}
+% 指导教师
+\newcommand*\Yang@tokens@instructor{}
+% 第一行标题
+\newcommand*\Yang@tokens@titleone{}
+% 第二行标题
+\newcommand*\Yang@tokens@titletwo{}
+
+% 定义与常量有关的新命令
+% 输入论文标题
+\newcommand*\thesistitle[1]{%
+ \renewcommand{\Yang@tokens@thesistitle}{#1}}
+% 输入论文类别
+\newcommand*\papercategory[1]{%
+ \renewcommand{\Yang@tokens@papercategory}{#1}}
+% 输入校名
+\newcommand*\schoolname[1]{%
+ \renewcommand{\Yang@tokens@schoolname}{#1}}
+% 输入院系名称
+\newcommand*\departname[1]{%
+ \renewcommand{\Yang@tokens@departname}{#1}}
+% 输入班级
+\newcommand*\classnumber[1]{%
+ \renewcommand{\Yang@tokens@classnumber}{#1}}
+% 输入日期
+\newcommand*\dateinput[1]{%
+ \renewcommand{\Yang@tokens@dateinput}{#1}}
+% 输入姓名
+\newcommand*\authorname[1]{%
+ \renewcommand{\Yang@tokens@authorname}{#1}}
+% 输入学号
+\newcommand*\studentID[1]{%
+ \renewcommand{\Yang@tokens@studentID}{#1}}
+% 输入专业
+\newcommand*\majorin[1]{%
+ \renewcommand{\Yang@tokens@majorin}{#1}}
+% 输入指导教师
+\newcommand*\instructor[1]{%
+ \renewcommand{\Yang@tokens@instructor}{#1}}
+% 输入第一行标题
+\newcommand*\titleone[1]{%
+ \renewcommand{\Yang@tokens@titleone}{#1}}
+% 输入第二行标题
+\newcommand*\titletwo[1]{%
+ \renewcommand{\Yang@tokens@titletwo}{#1}}
+
+% 定义常量的值
+% 中文标题名称设置
+
+\renewcommand\listfigurename{插图目录}
+\renewcommand\listtablename{附表目录}
+\renewcommand\abstractname{摘\quad 要}
+\newcommand{\keywordsname}{关键词}
+\newcommand{\keywordsenname}{Keywords}
+%%中文结构名字
+\renewcommand{\contentsname}{目\quad 录}
+\renewcommand{\figurename}{图}
+\renewcommand{\tablename}{表}
+\renewcommand{\partname}{部分}
+\renewcommand{\listfigurename}{插图目录}
+\renewcommand{\listtablename}{表格目录}
+\renewcommand{\bibname}{参考文献}
+\renewcommand{\appendixname}{附录}
+\renewcommand{\indexname}{索\quad 引}
+
+\newcommand{\notename}{笔记}
+\renewcommand*{\proofname}{证明}
+\newcommand{\problemname}{例题}
+\newcommand{\definitionname}{定义}
+\newcommand{\theoremname}{定理}
+\newcommand{\axiomname}{公理}
+\newcommand{\postulatename}{公设}
+\newcommand{\lemmaname}{引理}
+\newcommand{\propositionname}{命题}
+\newcommand{\corollaryname}{推论}
+\newcommand{\examplename}{例}
+\newcommand{\exercisename}{练习}
+\newcommand{\remarkname}{注}
+\newcommand{\assumptionname}{假设}
+\newcommand{\conclusionname}{结论}
+\newcommand{\solutionname}{解}
+\newcommand{\propertyname}{性质}
+
+% 中英字号转换
+\def\Yang@def@fontsize#1#2{%
+ \expandafter\newcommand\csname #1\endcsname[1][1.3]{%
+ \fontsize{#2}{##1\dimexpr #2}\selectfont}}
+
+% 定义字号
+\Yang@def@fontsize{chuhao}{42bp}
+\Yang@def@fontsize{xiaochu}{36bp}
+\Yang@def@fontsize{yihao}{26bp}
+\Yang@def@fontsize{xiaoyi}{24bp}
+\Yang@def@fontsize{erhao}{22bp}
+\Yang@def@fontsize{xiaoer}{18bp}
+\Yang@def@fontsize{sanhao}{16bp}
+\Yang@def@fontsize{xiaosan}{15bp}
+\Yang@def@fontsize{sihao}{14bp}
+\Yang@def@fontsize{banxiaosi}{13bp}
+\Yang@def@fontsize{xiaosi}{12bp}
+\Yang@def@fontsize{dawu}{11bp}
+\Yang@def@fontsize{wuhao}{10.5bp}
+\Yang@def@fontsize{xiaowu}{9bp}
+\Yang@def@fontsize{liuhao}{7.5bp}
+\Yang@def@fontsize{xiaoliu}{6.5bp}
+\Yang@def@fontsize{qihao}{5.5bp}
+\Yang@def@fontsize{bahao}{5bp}
+
+% 图片搜索目录
+\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}{./front/}}
+
+% 页面设置
+\RequirePackage{geometry}
+\geometry{
+ a4paper,
+ left=30mm,
+ right=30mm,
+ top=41mm,
+ bottom=30mm,
+ headheight = 2.17cm,
+ headsep = 1mm,
+ footskip = 0cm,
+}
+
+% 超链接设置
+\RequirePackage{hyperref}
+\hypersetup{
+ breaklinks,
+ unicode,
+ linktoc=all,
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ pdfsubject=\@author \@title Book,
+ pdftitle = {哈尔滨工业大学(深圳)本科毕业设计(论文)},
+ pdfauthor = {\@author},
+ pdfkeywords={YangBook},
+ pdfcreator={XeLaTeX with YangThesis class},
+ colorlinks,
+ linkcolor=black,
+ citecolor=black,
+ plainpages=false,
+ pdfstartview=FitH,
+ pdfborder={0 0 0},
+}
+
+% 章节设置
+\RequirePackage[pagestyles]{titlesec}
+\RequirePackage{apptools}
+\RequirePackage[toc,page]{appendix}
+
+% 更改章节编号样式
+\setcounter{secnumdepth}{3}
+\renewcommand{\chaptername}{第 \thechapter\;章}
+
+% 设置章节标题样式
+\titleformat{\chapter}[hang]{\centering\heiti}
+{\filcenter\xiaoer\enspace\heiti{\IfAppendix{\appendixname}{\chaptername}\enspace}}{1pt}{\xiaoer}
+
+% 设置节标题样式
+\titleformat{\section}[hang]{\heiti}
+{\xiaosan\heiti{\thesection}\enspace}{1pt}{\xiaosan\heiti\filright}
+
+% 设置条标题样式
+\titleformat{\subsection}[hang]{\heiti}
+{\sihao\heiti\thesubsection\enspace}{1pt}{\sihao\heiti\filright}
+
+% 设置四级标题样式
+\titleformat{\subsubsection}[hang]{\heiti}
+{\xiaosi\heiti\thesubsubsection\enspace}{1pt}{\xiaosi\heiti\filright}
+
+% 设置标题与上下文间距
+% \titlespacing*{<command>}{<left>}{<before-sep>}{<after-sep>}[<right-sep>]
+\titlespacing{\chapter}{0pt}{0bp}{14.4bp}
+\titlespacing{\section}{0pt}{7.5bp}{7.5bp}
+\titlespacing{\subsection}{0pt}{7bp}{7bp}
+\titlespacing{\subsubsection}{0pt}{6bp}{6bp}
+
+% 图表标题设置,字号为small,分割符为空格
+\RequirePackage[font=small,labelsep=quad]{caption}
+
+% 标题与图表的间距为3pt
+\captionsetup[table]{skip=3pt}
+\captionsetup[figure]{skip=10pt}
+
+% 图表的引用格式
+\newcommand\figref[1]{图\ref{#1}}
+\newcommand\tabref[1]{表\ref{#1}}
+\newcommand\equref[1]{式(\ref{#1})}
+
+% 设置列表环境各项间无自动间距
+\setlist{nolistsep}
+
+% 定义各类定理样式
+\RequirePackage{amsthm}
+\let\proof\relax
+\let\endproof\relax
+
+% 定义新定义样式
+\newtheoremstyle{ydefstyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
+
+% 定义新定理样式
+\newtheoremstyle{ythmstyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
+
+% 定义新命题样式
+\newtheoremstyle{yprostyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}}
+
+% 应用定义样式
+\theoremstyle{ydefstyle}
+\newtheorem{ydefinition}{\definitionname }[chapter]
+
+% 应用定理样式
+\theoremstyle{ythmstyle}
+\newtheorem{ytheorem}{\theoremname }[chapter]
+\newtheorem{ylemma}{\lemmaname }[chapter]
+\newtheorem{ycorollary}{\corollaryname }[chapter]
+\newtheorem{ypostulate}{\postulatename }[chapter]
+\newtheorem{yaxiom}{\axiomname }[chapter]
+
+% 应用命题样式
+\theoremstyle{yprostyle}
+\newtheorem{yproposition}{\propositionname }[chapter]
+
+% 定义新定理环境
+\newenvironment{theorem}[2]
+ {\ifstrempty{#1}{\ytheorem}{\ytheorem[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endytheorem}
+
+% 定义新定义环境
+\newenvironment{definition}[2]
+ {\ifstrempty{#1}{\ydefinition}{\ydefinition[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endydefinition}
+
+% 定义新引理环境
+\newenvironment{lemma}[2]
+ {\ifstrempty{#1}{\ylemma}{\ylemma[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endylemma}
+
+% 定义新推论环境
+\newenvironment{corollary}[2]
+ {\ifstrempty{#1}{\ycorollary}{\ycorollary[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endycorollary}
+
+% 定义新公设环境
+\newenvironment{postulate}[2]
+ {\ifstrempty{#1}{\ypostulate}{\ypostulate[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endypostulate}
+
+% 定义新公理环境
+\newenvironment{axiom}[2]
+ {\ifstrempty{#1}{\yaxiom}{\yaxiom[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endyaxiom}
+
+% 定义新命题环境
+\newenvironment{proposition}[2]
+ {\ifstrempty{#1}{\yproposition}{\yproposition[#1]}\ifstrempty{#2}{}{\label{#2}}}
+ {\endyproposition}
+
+% 定义新注解环境
+\newenvironment{note}{
+ \par\noindent\textbf{\notename\,}
+ \itshape}{\par}
+
+% 定义新证明环境
+\newenvironment{proof}{
+ \par\noindent\textbf{\proofname\;}
+}{\hfill$\Box$\quad\par}
+
+% 定义新解答环境
+\newenvironment{solution}{\medskip\par\noindent\textbf{\solutionname} \itshape}{\par}
+
+% 定义新注释环境
+\newenvironment{remark}{\noindent\textbf{\remarkname}}{\par}
+
+% 定义新假设环境
+\newenvironment{assumption}{\par\noindent\textbf{\assumptionname}}{\par}
+
+% 定义新结论环境
+\newenvironment{conclusion}{\par\noindent\textbf{\conclusionname}}{\par}
+
+% 定义新性质环境
+\newenvironment{property}{\par\noindent\textbf{\propertyname}}{\par}
+
+
+% 重定义<\maketitle>命令
+\renewcommand{\maketitle}{\par
+ \begingroup
+ \newgeometry{left=20mm,right=20mm,top=30mm,bottom=35mm}
+ \newpage
+ % 禁止图片位于页面最上方
+ \global\@topnum\z@
+ \@maketitle % 下面再设置封面具体内容
+ \endgroup
+ % 先取消原来封面样式的所有设置,以便后面重写此命令
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+}
+
+% 定义封面具体内容
+\newdimen\infowidth
+\infowidth = 6.5cm
+\def\@maketitle{%
+ \newpage
+ % 开始写封面
+ \thispagestyle{empty}
+ \vspace*{2cm}
+ %%------------------------
+ \begin{center}
+ \ifdefstring{\Yang@covertitle}{tworow}{
+ \parbox[t][1.4cm][t]{\textwidth}{
+ \begin{center}\erhao[0]\bfseries\Yang@tokens@titleone\end{center}
+ }\par
+ \parbox[t][2.5cm][t]{\textwidth}{
+ \begin{center}\erhao[0]\bfseries\Yang@tokens@titletwo\end{center}
+ }\par
+ }{\relax}
+ \ifdefstring{\Yang@covertitle}{onerow}{
+ \parbox[t][3.4cm][t]{\textwidth}{
+ \begin{center}\erhao[0]\bfseries\Yang@tokens@thesistitle\end{center}
+ }
+ }{\relax}
+ \parbox[t][8.7cm][t]{\textwidth}{
+ \begin{center}\xiaoer[0]\song\textbf{\ziju{0.2}\Yang@tokens@authorname}\end{center}
+ }
+ \begin{center}
+ \bfseries
+ \begin{tabular}{rl}
+{\xiaosi 学\hphantom{教师}院:} & \xiaosi\Yang@tokens@departname\\[14pt]
+{\xiaosi 学\hphantom{教师}号:} & \xiaosi\Yang@tokens@studentID
+ \end{tabular}
+ \hspace{0.5cm}
+ \begin{tabular}{rl}
+{\xiaosi 专\hphantom{教师}业:} & \xiaosi\Yang@tokens@majorin\\[14pt]
+{\xiaosi 指导教师:} & \xiaosi\Yang@tokens@instructor
+ \end{tabular}
+ \end{center}
+ % 日期
+ \vspace{2.6cm}
+ {\xiaosi[0]\song\textbf{2020年7月}}
+ \end{center}
+ %%----------------------------
+%% 第二页
+\clearpage
+\thispagestyle{empty}
+ \vspace*{0.8cm}
+ \centering\includegraphics[width=8cm]{HITSZname}
+ \vspace{1.3cm}
+ \begin{center}
+ \centering\includegraphics[width=10.5cm]{thesistitle}
+ \vfill
+ \parbox[t][14.2cm][b]{\textwidth}
+ {\heiti\xiaosan
+ \begin{center} \renewcommand{\arraystretch}{2.6} \bfseries
+ % 居中对齐
+ \ifdefstring{\Yang@infoalign}{infocenter}{
+ \begin{tabular}{l@{\ \ }c}
+
+ {\xiaoer 题\hphantom{\ 导\ \ \ }目} & \underline{\makebox[\infowidth]{\xiaoer \Yang@tokens@titleone}}\\
+ & \underline{\makebox[\infowidth]{\xiaoer \Yang@tokens@titletwo}}\\
+ & \\
+ {\xiaosan 专\hphantom{\ 导\ 教\ }业} & \underline{\makebox[\infowidth]{\xiaosan\Yang@tokens@majorin}}\\
+ {\xiaosan 学\hphantom{\ 导\ 教\ }号} & \underline{\makebox[\infowidth]{\xiaosan\Yang@tokens@studentID}}\\
+ {\xiaosan 学\hphantom{\ 导\ 教\ }生} & \underline{\makebox[\infowidth]{\xiaosan\Yang@tokens@authorname}}\\
+ {\xiaosan 指\ 导\ 教\ 师} & \underline{\makebox[\infowidth]{\xiaosan\Yang@tokens@instructor}}\\
+ {\xiaosan 答\ 辩\ 日\ 期} & \underline{\makebox[\infowidth]{\xiaosan\Yang@tokens@dateinput}}
+ \end{tabular} \renewcommand{\arraystretch}{1}
+ }{\relax}
+ % 左对齐
+ \ifdefstring{\Yang@infoalign}{infoleft}{
+ \begin{tabular}{l@{\ \ }c}
+
+ {\xiaoer 题\hphantom{\ 导\ \ \ }目} & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaoer \Yang@tokens@titleone}}\\
+ & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaoer \Yang@tokens@titletwo}}\\
+ & \\
+ {\xiaosan 专\hphantom{\ 导\ 教\ }业} & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaosan\Yang@tokens@majorin}}\\
+ {\xiaosan 学\hphantom{\ 导\ 教\ }号} & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaosan\Yang@tokens@studentID}}\\
+ {\xiaosan 学\hphantom{\ 导\ 教\ }生} & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaosan\Yang@tokens@authorname}}\\
+ {\xiaosan 指\ 导\ 教\ 师} & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaosan\Yang@tokens@instructor}}\\
+ {\xiaosan 答\ 辩\ 日\ 期} & \underline{\makebox[\infowidth][l]{\hspace*{1em}\xiaosan\Yang@tokens@dateinput}}
+ \end{tabular} \renewcommand{\arraystretch}{1}
+ }{\relax}
+ \end{center}
+ }
+ \end{center}
+ \restoregeometry
+ \clearpage
+}
+
+%% 中文摘要环境
+\newenvironment{abstract}{\chapter*{\abstractname}
+\addcontentsline{toc}{chapter}{\abstractname}
+}{\if@twocolumn\else\null\fi}
+
+% 中文关键词环境
+\newcommand\keywords[1]{%
+ \renewcommand{\Yang@tokens@keywords}{#1}
+ {\vskip18pt
+ \hspace{-30bp}\begin{tabular}{lp{132mm}}
+ {\zihao{-4}\heiti\keywordsname:}&
+ {\xiaosi\Yang@tokens@keywords}
+ \end{tabular}}
+ }
+
+% 英文摘要环境
+\newenvironment{abstracten}{\chapter*{\bfseries Abstract}
+\addcontentsline{toc}{chapter}{ABSTRACT}
+}{\if@twocolumn\else\null\fi}
+
+% 英文关键词环境
+\newcommand\keywordsen[1]{%
+ \renewcommand{\Yang@tokens@keywordsen}{#1}
+ {\vskip 18pt
+ \hspace{-30bp}\begin{tabular}{lp{127mm}}
+ {\zihao{-4}\bf\keywordsenname:}&
+ {\xiaosi\Yang@tokens@keywordsen}
+ \end{tabular}}
+ }
+
+% 定义原创性声明命令
+\newcommand{\declaration}{\par
+ \begingroup
+ \@declaration
+ \endgroup
+}
+
+% 定义原创性声明具体内容
+\def\@declaration{
+\chapter*{\sanhao 哈尔滨工业大学(深圳)本科毕业设计(论文)原创性声明}
+\addcontentsline{toc}{chapter}{原创性声明}\par
+本人郑重声明:在哈尔滨工业大学(深圳)攻读学士学位期间,所提交的毕业设计(论文)《\Yang@tokens@thesistitle》,是本人在导师指导下独立进行研究工作所取得的成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明,其它未注明部分不包含他人已发表或撰写过的研究成果,不存在购买、由他人代写、剽窃和伪造数据等作假行为。
+\par
+本人愿为此声明承担法律责任。\par
+\vspace{30pt}
+\hspace{6em}作者签名:\hspace{8em}日期:\hspace{3em}年\hspace{1.5em}月\hspace{1.5em}日
+}
+
+% 定义附录,编号格式为大写字母
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\appendixname\@Alph\c@section}}
+
+% 重定义参考文献环境
+\renewenvironment{thebibliography}[1]
+ {\chapter*{\bibname}%
+ \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+% 定义页眉页脚
+\RequirePackage{fancyhdr}
+\RequirePackage{lastpage}
+\pagestyle{fancy}
+% 页眉
+\lhead{}
+\chead{\wuhao 哈尔滨工业大学(深圳)本科毕业设计(论文)}
+\rhead{}
+% 页脚
+\lfoot{}
+\cfoot{\wuhao -\thepage-}
+\rfoot{}
+
+% 定义页眉双横线样式
+% 注意下面代码中的<%>不能删
+\newcommand{\makeheadrule}{%
+\makebox[0pt][l]{\rule[1mm]{\headwidth}{0.4mm}}%
+\rule[0.35\baselineskip]{\headwidth}{0.8mm}}
+
+% 定义页眉横线为双横线
+\renewcommand{\headrule}{%
+{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi%
+\makeheadrule}}
+
+% 设置目录格式,目录只有三级
+% 1级目录格式
+\titlecontents{chapter}[0pt]{\vspace{1mm}\heiti}
+{第\thecontentslabel 章\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage}
+% 2级目录格式
+\titlecontents{section}[25pt]{\songti}
+{\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage}
+% 3级目录格式
+\titlecontents{subsection}[47pt]{\songti}
+{\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage}
+
+% 修改表格字号,注意tabular要放在table环境里
+\BeforeBeginEnvironment{tabular}{\wuhao}
+% 修改表格与后文间距,缩短1cm
+\AfterEndEnvironment{table}{\vspace{-1cm}}
+
+% 新计数器,编排表格编号用
+\newcounter{rowno}
+
+% 使公式图表的编号随章节编号更新
+%\numberwithin{equation}{chapter}
+%\numberwithin{figure}{chapter}
+%\numberwithin{table}{chapter}
+
+% 设置图表公式编号格式为1-1
+\renewcommand{\thefigure}{\arabic{chapter}-\arabic{figure}}
+\renewcommand{\thetable}{\arabic{chapter}-\arabic{table}}
+\renewcommand{\theequation}{\arabic{chapter}-\arabic{equation}}
+
+% 使用tikz配置流程图基本图形
+\usetikzlibrary{shapes.geometric, arrows}
+% 开始
+\tikzstyle{startstop} = [rectangle, rounded corners, minimum width = 2cm, minimum height=1cm,text centered, draw = black]
+% 输入输出
+\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=2cm, minimum height=1cm, text centered, draw=black]
+% 过程
+\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black]
+% 判断
+\tikzstyle{decision} = [diamond, aspect = 3, text centered, draw=black]
+% 箭头形式
+\tikzstyle{arrow} = [->,>=stealth]
+
+% 参考文献标号为上标
+\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}
+
+% 设置脚注编号格式
+\renewcommand{\thefootnote}{\fnsymbol{footnote}}
+
+% 解决book类文档章首页和目录页没有页眉页脚的问题
+\makeatletter
+\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{fancy} % original style: plain
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+\makeatother
+
+%%=====新数学命令================================
+\newcommand\dif{\text{d}}
+\newcommand\no{\noindent}
+\newcommand\dis{\displaystyle}
+\newcommand\ls{\leqslant}
+\newcommand\gs{\geqslant}
+
+\newcommand\limit{\dis\lim\limits}
+\newcommand\limn{\dis\lim\limits_{n\to\infty}}
+\newcommand\limxz{\dis\lim\limits_{x\to0}}
+\newcommand\limxi{\dis\lim\limits_{x\to\infty}}
+\newcommand\limxpi{\dis\lim\limits_{x\to+\infty}}
+\newcommand\limxni{\dis\lim\limits_{x\to-\infty}}
+\newcommand\limtpi{\dis\lim\limits_{t\to+\infty}}
+\newcommand\limtni{\dis\lim\limits_{t\to-\infty}}
+
+\newcommand\sumn{\dis\sum\limits_{n=1}^{\infty}}
+\newcommand\sumnz{\dis\sum\limits_{n=0}^{\infty}}
+
+\newcommand\sumi{\dis\sum\limits_{i=1}^{\infty}}
+\newcommand\sumiz{\dis\sum\limits_{i=0}^{\infty}}
+\newcommand\sumin{\dis\sum\limits_{i=1}^{n}}
+\newcommand\sumizn{\dis\sum\limits_{i=0}^{n}}
+
+\newcommand\sumk{\dis\sum\limits_{k=1}^{\infty}}
+\newcommand\sumkz{\dis\sum\limits_{k=0}^{\infty}}
+\newcommand\sumkn{\dis\sum\limits_{k=0}^n}
+\newcommand\sumkfn{\dis\sum\limits_{k=1}^n}
+
+\newcommand\pzx{\dis\frac{\partial z}{\partial x}}
+\newcommand\pzy{\dis\frac{\partial z}{\partial y}}
+
+\newcommand\pfx{\dis\frac{\partial f}{\partial x}}
+\newcommand\pfy{\dis\frac{\partial f}{\partial y}}
+
+\newcommand\pzxx{\dis\frac{\partial^2 z}{\partial x^2}}
+\newcommand\pzxy{\dis\frac{\partial^2 z}{\partial x\partial y}}
+\newcommand\pzyx{\dis\frac{\partial^2 z}{\partial y\partial x}}
+\newcommand\pzyy{\dis\frac{\partial^2 z}{\partial y^2}}
+
+\newcommand\pfxx{\dis\frac{\partial^2 f}{\partial x^2}}
+\newcommand\pfxy{\dis\frac{\partial^2 f}{\partial x\partial y}}
+\newcommand\pfyx{\dis\frac{\partial^2 f}{\partial y\partial x}}
+\newcommand\pfyy{\dis\frac{\partial^2 f}{\partial y^2}}
+
+\newcommand\intzi{\dis\int_{0}^{+\infty}}
+\newcommand\intd{\dis\int}
+\newcommand\intab{\dis\int_a^b}
+
+\newcommand{\degree}{^\circ}
+
+\newcommand\ma{\mathcal{A}}
+\newcommand\mb{\mathcal{B}}
+\newcommand\mc{\mathcal{C}}
+\newcommand\me{\mathcal{E}}
+\newcommand\mg{\mathcal{g}}
+
+\newcommand\mcc{\mathbb{C}}
+\newcommand\mrr{\mathbb{R}}
+\newcommand\mzz{\mathbb{Z}}
+
+\newcommand\mx{\bf{x}}
+\newcommand\mX{\bf{X}}
+\newcommand\my{\bf{y}}
+\newcommand\mY{\bf{Y}}
+%%=============================================
+
+%%=====定义新数学符号===============================
+\DeclareMathOperator{\sgn}{sgn}
+\DeclareMathOperator{\arccot}{arccot}
+\DeclareMathOperator{\arccosh}{arccosh}
+\DeclareMathOperator{\arcsinh}{arcsinh}
+\DeclareMathOperator{\arctanh}{arctanh}
+\DeclareMathOperator{\arccoth}{arccoth}
+\DeclareMathOperator{\grad}{\bf{grad}}
+\DeclareMathOperator{\argmax}{argmax}
+\DeclareMathOperator{\argmin}{argmin}
+\DeclareMathOperator{\diag}{diag}
+\DeclareMathOperator{\csign}{csign}
+%===============================================
+
+%%===============================================
+%% End of file `HITSZThesis.cls'
+%%=============================================== \ No newline at end of file