\ProvidesPackage{hithesis}[2017/08/25 1.0.0 Harbin Institute of Technology Thesis Template Extension] % 此文件声明不在规范中要求的格式所使用的宏包。 % (所以,格式基本上是自由发挥的。) % 处理数学公式中的黑斜体的宏包 \RequirePackage{bm} % 不同于 \mathcal \mathfrak 之类的英文花体字体 \RequirePackage{mathrsfs} % 支持彩色 \RequirePackage{color} % 图形和表格的控制旋转 \RequirePackage{rotating} % 算法的宏包,注意宏包兼容性,先后顺序为float、hyperref、algorithm(2e),否则无法 % 生成算法列表。我工算法混乱问题详见hithesis文档。各个实验室设置具体方法详见 % hithesis文档或者示例中给出的地址。 \RequirePackage[boxed,linesnumbered,algochapter]{algorithm2e} \newcommand{\algoenname}{Algo.} %算法英文标题 \newfloatlist[chapter]{algoen}{aen}{\listalgoenname}{\algoenname} \newfixedcaption{\algoencaption}{algoen} \renewcommand{\thealgoen}{\thechapter-\arabic{algocf}} \renewcommand{\@cftmakeaentitle}{\chapter*{\listalgoenname\@mkboth{\bfseries\listalgoenname}{\bfseries\listalgoenname}} } \renewcommand{\algorithmcfname}{算法} \setlength\AlCapSkip{1.2ex} \SetAlgoSkip{1pt} \renewcommand{\algocf@captiontext}[2]{\wuhao#1\algocf@typo ~ \AlCapFnt{}#2} % text of caption \expandafter\ifx\csname algocf@within\endcsname\relax% if \algocf@within doesn't exist \renewcommand\thealgocf{\@arabic\c@algocf} % and the way it is printed \else% else \renewcommand\thealgocf{\csname the\algocf@within\endcsname-\@arabic\c@algocf} \fi \renewcommand{\algocf@makecaption}[2]{%中英文双标题一定多于一行,因此去掉单行时的判断,并将\parbox中标题设置为居中 \addtolength{\hsize}{\algomargin}% \sbox\@tempboxa{\algocf@captiontext{#1}{#2}}% \hskip .5\algomargin% \parbox[t]{\hsize}{\centering\algocf@captiontext{#1}{#2}}% \addtolength{\hsize}{-\algomargin}% } \newcommand{\AlgoBiCaption}[2]{%直接取出自定义的中英文标题条目加入到真正的\caption 中 \caption[#1]{\protect\setlength{\baselineskip}{1.5em}#1 \protect \\ Algo. \thealgocf~~ #2} % \algoencaption{#2} \addcontentsline{aen}{algoen}{\protect\numberline{\thealgoen}{#2}} } % 排版源码所使用的环境可以有两种。listings和minted \RequirePackage{listings} \lstset{ % basicstyle=\small\ttfamily, columns=flexible, breaklines=true } % 或者使用minted 包。如果使用该包,需要在编译时加-shell-escape选项,且需要安装 % pygmentatize 工具对代码进行高亮。 % \RequirePackage{minted} % % 术语宏包,用来处理首次全写,之后缩写的问题 \RequirePackage{glossaries} \makeglossaries % 添加术语举例 % \newacronym{dual}{DLP}{对偶规划(Dual linear programming, DLP)} % tikz做图宏宏包 \usepackage{tikz} % 此处可以定义一些tikz全局样式 % \tikzstyle{nodestyle}= [circle, fill=gray!60] % \tikzstyle{edgestyle}= [-latex] % 最后定义一些常见的数学公式样式。格式和内容分离,是LaTeX的巨大优势 % 例如如下定义: \newcommand{\theVector}[1]{\bm{#1}} \newcommand{\theMatrix}[1]{\mathbb{#1}} \newcommand{\theSet}[1]{\mathcal{#1}} \newcommand{\theDirected}[1]{{\overrightarrow{#1}}} \newcommand{\theUndirected}[1]{{\overline{#1}}} \newcommand{\theNetwork}[1]{\mathscr{#1}} \newcommand{\theNode}[1]{{\text{#1}}} \newcommand{\theDirectedEdge}[2]{{\overrightarrow{{#1}{#2}}}} \newcommand{\theUndirectedEdge}[2]{{\overline{{#1}{#2}}}} % 如果想要修改论文中所有的表示网络的数学符号的样式,不必在正文中处处修改,只需要 % 在这里修改就可以了。 % 定义命令 \def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}} \def\cmd@to@cs#1#2{\char\number`#2\relax} \DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} \endinput