Files
doctoral-dissertation/hithesis.sty
2025-05-27 22:27:39 +08:00

325 lines
12 KiB
TeX
Raw 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.

%%
%% This is file `examples/hitbook/chinese/hithesis.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% hithesis.dtx (with options: `hithesis-style')
%%
%% This is a generated file.
%%
%% Copyright (C) 2017-2025 by Chu Yanshuo <yanshuoc@gmail.com>
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3a
%% of this license or (at your option) any later version.
%% The latest version of this license is in:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% and version 1.3a or later is part of all distributions of LaTeX
%% version 2004/10/01 or later.
%%
%% To produce the documentation run the original source files ending with `.dtx'
%% through LaTeX.
%%
\ProvidesPackage{hithesis}
[0000/00/00 v3.1e Harbin Institute of Technology Thesis Template]
\RequirePackage{xeCJKfntef}
\RequirePackage{siunitx}
\sisetup{group-minimum-digits=4, group-separator= \hspace{0.25em}}
\sisetup{detect-weight,detect-mode,detect-family}
\RequirePackage{bm}
\RequirePackage{mathrsfs}
\RequirePackage{xcolor}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\definecolor{colorzero}{rgb}{0, 0, 0}
\definecolor{colorone}{rgb}{1, 0, 0}
\definecolor{colortwo}{rgb}{0, 0, 1}
\definecolor{colorthree}{rgb}{0, 1, 0}
\RequirePackage{rotating}
\RequirePackage[algoruled,linesnumbered,algochapter]{algorithm2e}
\SetAlCapSty{}
\newcommand{\foocaption}[1]{ \def\@algocf@pre@plainruled{\hrule height1.5pt depth0pt\kern\interspacetitleruled #1 \kern\interspacealgoruled\hrule height1pt depth0pt\kern\interspacetitleruled} }
\def\@algocf@post@ruled{\kern\interspacealgoruled\hrule height1.5pt\relax}%
\newcommand{\algoenname}{Algo.} %算法英文标题
\newfloatlist[chapter]{algoen}{aen}{\listalgoenname}{\algoenname}
\newfixedcaption{\algoencaption}{algoen}
\renewcommand{\thealgoen}{\thechapter-\arabic{algocf}}
\renewcommand{\@cftmakeaentitle}{\chapter*{\listalgoenname\@mkboth{\listalgoenname}{\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}}
}
\RequirePackage{listings}
\lstset{
columns=flexible,
breaklines=true
}
\newacronym{etssbp}{TSSBP}{Tree-structured Stick-breaking process}
\newacronym{etse}{TSE}{Taylor Series Expansion}
\newacronym{esvm}{SVM}{Support Vector Machine}
\newacronym{eml}{ML}{Machine Learning}
\newacronym{eco}{CO}{Convex Optimization}
\newacronym{tssbp}{树结构折筷过程}{树结构折筷过程Tree-structured Stick-breaking process}
\def\gtssbp{\gls{tssbp}\sindex[china]{shu!树结构折筷过程}\sindex[english]{Tree-structured Stick-breaking process}}
\newacronym[shortplural=SCNAs,longplural={体细胞拷贝数变异Somatic copy number alternationSCNA}]{scna}{SCNA}{体细胞拷贝数变异Somatic copy number alternationSCNA}
\def\gscna{\gls{scna}\sindex[china]{ti!体细胞拷贝数变异}\sindex[english]{Somatic copy number alternation}\ignorespaces}
\def\gscnas{\glspl{scna}\sindex[china]{ti!体细胞拷贝数变异}\sindex[english]{Somatic copy number alternation}\ignorespaces}
\usepackage{tikz}
\tikzstyle{maternal}= [colorone]
\tikzstyle{paternal}= [colortwo]
\tikzstyle{variant}= [colorthree!80!colorzero]
\tikzstyle{reference}= [colorzero]
\tikzstyle{aallele}= [colorzero,rotate=90]
\tikzstyle{ballele}= [colorthree!80!colorzero,rotate=90]
\tikzstyle{refseg}= [colorzero,draw=colorzero, opacity=0.2]
\tikzstyle{mseg}= [colorone,draw=colorone, opacity=0.2]
\tikzstyle{pseg}= [colortwo,draw=colortwo, opacity=0.2]
\tikzstyle{vseg}= [colorthree!80!colorzero,draw=colorthree!80!colorzero, opacity=0.6]
\tikzstyle{bncell}= [draw=colorzero,opacity=0.2,line width=2pt, rounded corners=1pt]
\tikzstyle{btcell}= [draw=colorone,opacity=0.6, line width=2pt, rounded corners=1pt]
\tikzstyle{tncell}= [colorzero,opacity=0.9]
\tikzstyle{ttcell}= [colorone,opacity=0.6]
\tikzstyle{tscell}= [colorzero]
\tikzstyle{refcell}= [colorzero]
\tikzstyle{evolve}= [->,draw=colortwo,opacity=0.3,line width=1.5pt]
\tikzstyle{fakeevolve}= [->,draw=colorzero,opacity=0.3,line width=1.5pt]
\tikzstyle{refline}= [dashed,draw=colorzero,line width=1pt]
\tikzstyle{tnline}= [dashed,draw=colorzero,opacity=0.3,line width=1pt]
\newcommand{\gseg}[9]{%
\pgfmathsetmacro{\sstartx}{#1}
\pgfmathsetmacro{\slengx}{#2}
\pgfmathsetmacro{\sy}{#3}
\pgfmathsetmacro{\sdy}{#4}
\pgfmathsetmacro{\sdx}{#5}
\pgfmathsetmacro{\sdxh}{#7}
\pgfmathsetmacro{\sdxt}{#8}
\fill[#6](\sstartx,\sy)--(\sstartx-\sdx,\sy+\sdy)--
(\slengx+\sstartx+1.5-\sdx,\sy+\sdy)--(\slengx+\sstartx+1.5,\sy)--
(\slengx+\sstartx+1.5-\sdx,\sy-\sdy)--(\sstartx-\sdx,\sy-\sdy)--cycle;
\draw[#9] (\sstartx-\sdxh,\sy) -- (\sstartx, \sy);
\draw[#9] (\slengx+\sstartx+1.5, \sy) -- (\slengx+\sstartx+1.5+\sdxt,\sy);
}
\newcommand{\gsegr}[9]{%
\pgfmathsetmacro{\sstartx}{#1}
\pgfmathsetmacro{\slengx}{#2}
\pgfmathsetmacro{\sy}{#3}
\pgfmathsetmacro{\sdy}{#4}
\pgfmathsetmacro{\sdx}{#5}
\pgfmathsetmacro{\sdxh}{#7}
\pgfmathsetmacro{\sdxt}{#8}
\fill[#6](\sstartx-0.5,\sy)--(\sstartx+\sdx-0.5,\sy+\sdy)--
(\slengx+\sstartx+1.5+\sdx-0.5,\sy+\sdy)--(\slengx+\sstartx+1.5-0.5,\sy)--
(\slengx+\sstartx+1.5+\sdx-0.5,\sy-\sdy)--(\sstartx+\sdx-0.5,\sy-\sdy)--cycle;
\draw[#9] (\sstartx-\sdxh-0.5,\sy) -- (\sstartx-0.5, \sy);
\draw[#9] (\slengx+\sstartx+1.5-0.5, \sy) -- (\slengx+\sstartx+1.5+\sdxt-0.5,\sy);
}
\newcommand{\rcell}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node at (\x+10, \y) {Reference};
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[aallele]{C};
\draw (\x+3,\y) node[aallele]{T};
\draw (\x+4,\y) node[aallele]{C};
\gseg{\x}{4}{\y}{0.2}{0.5}{refseg}{1.5}{1}{reference};
}
\newcommand{\ncell}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node [maternal] at (\x+8, \y) {M};
%\node [paternal] at (\x+8, \y-0.5) {P};
\draw[bncell](\x-2,\y+0.5)--(\x+7,\y+0.5)--
(\x+7,\y-1)--(\x-2,\y-1)--cycle;
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[ballele]{G};
\draw (\x+3,\y) node[aallele]{T};
\draw (\x+4,\y) node[aallele]{C};
\gseg{\x}{4}{\y}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-0.5) node[ballele]{T};
\draw (\x+2,\y-0.5) node[aallele]{C};
\draw (\x+3,\y-0.5) node[aallele]{T};
\draw (\x+4,\y-0.5) node[ballele]{A};
\gseg{\x}{4}{\y-0.5}{0.2}{0.5}{pseg}{1.5}{1}{paternal};
}
\newcommand{\tcellone}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node [maternal] at (\x+8, \y) {M};
%\node [maternal] at (\x+8, \y-0.5) {M};
%\node [paternal] at (\x+8, \y-1) {P};
\draw[btcell](\x-2,\y+0.5)--(\x+7,\y+0.5)--
(\x+7,\y-1.5)--(\x-2,\y-1.5)--cycle;
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[ballele]{G};
\draw (\x+3,\y) node[aallele]{T};
\draw (\x+4,\y) node[aallele]{C};
\gseg{\x}{4}{\y}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-0.5) node[aallele]{A};
\draw (\x+2,\y-0.5) node[ballele]{G};
\draw (\x+3,\y-0.5) node[aallele]{T};
\draw (\x+4,\y-0.5) node[aallele]{C};
\gseg{\x}{4}{\y-0.5}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-1) node[ballele]{T};
\draw (\x+2,\y-1) node[aallele]{C};
\draw (\x+3,\y-1) node[aallele]{T};
\draw (\x+4,\y-1) node[ballele]{A};
\gseg{\x}{4}{\y-1}{0.2}{0.5}{pseg}{1.5}{1}{paternal};
}
\newcommand{\tcellthree}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node [maternal] at (\x+12, \y) {M};
%\node [paternal] at (\x+12, \y-0.5) {P};
\draw[btcell](\x-2,\y+0.5)--(\x+11,\y+0.5)--
(\x+11,\y-1)--(\x-2,\y-1)--cycle;
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[ballele]{G};
\gseg{\x}{2}{\y}{0.2}{0.5}{mseg}{1.5}{0}{maternal};
\gseg{\x+4}{0}{\y}{0.2}{0.5}{vseg}{0.5}{0.5}{variant};
\draw (\x+7,\y) node[aallele]{T};
\draw (\x+8,\y) node[aallele]{C};
\gseg{\x+6}{2}{\y}{0.2}{0.5}{mseg}{0}{1}{maternal};
\draw (\x+1,\y-0.5) node[ballele]{T};
\draw (\x+2,\y-0.5) node[aallele]{C};
\draw (\x+3,\y-0.5) node[aallele]{T};
\draw (\x+4,\y-0.5) node[ballele]{A};
\gseg{\x}{4}{\y-0.5}{0.2}{0.5}{pseg}{1.5}{1}{paternal};
}
\newcommand{\tcellfour}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node [maternal] at (\x+18, \y) {M};
%\node [paternal] at (\x+18, \y-0.5) {P};
\draw[btcell](\x-2,\y+0.5)--(\x+15,\y+0.5)--
(\x+15,\y-1)--(\x-2,\y-1)--cycle;
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[ballele]{G};
\gseg{\x}{2}{\y}{0.2}{0.5}{mseg}{1.5}{0}{maternal};
\gseg{\x+4}{0}{\y}{0.2}{0.5}{vseg}{0.5}{0.5}{variant};
\draw (\x+7,\y) node[aallele]{T};
\gseg{\x+6}{1}{\y}{0.2}{0.5}{mseg}{0}{0}{maternal};
\gseg{\x+9}{0}{\y}{0.2}{0.5}{vseg}{0.5}{0.5}{variant};
\draw (\x+12,\y) node[aallele]{C};
\gseg{\x+11}{1}{\y}{0.2}{0.5}{mseg}{0}{1}{maternal};
\draw (\x+1,\y-0.5) node[ballele]{T};
\draw (\x+2,\y-0.5) node[aallele]{C};
\draw (\x+3,\y-0.5) node[aallele]{T};
\draw (\x+4,\y-0.5) node[ballele]{A};
\gseg{\x}{4}{\y-0.5}{0.2}{0.5}{pseg}{1.5}{1}{paternal};
}
\newcommand{\tcelltwo}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node [maternal] at (\x+8, \y) {M};
%\node [maternal] at (\x+8, \y-0.5) {M};
%\node [paternal] at (\x+8, \y-1) {P};
\draw[btcell](\x-2,\y+0.5)--(\x+7,\y+0.5)--
(\x+7,\y-1.5)--(\x-2,\y-1.5)--cycle;
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[ballele]{G};
\draw (\x+3,\y) node[aallele]{T};
\draw (\x+4,\y) node[aallele]{C};
\gseg{\x}{4}{\y}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-0.5) node[aallele]{A};
\draw (\x+2,\y-0.5) node[ballele]{G};
\draw (\x+3,\y-0.5) node[aallele]{T};
\draw (\x+4,\y-0.5) node[ballele]{G};
\gseg{\x}{4}{\y-0.5}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-1) node[ballele]{T};
\draw (\x+2,\y-1) node[aallele]{C};
\draw (\x+3,\y-1) node[aallele]{T};
\draw (\x+4,\y-1) node[ballele]{A};
\gseg{\x}{4}{\y-1}{0.2}{0.5}{pseg}{1.5}{1}{paternal};
}
\newcommand{\tcellfive}[2]{%
\pgfmathsetmacro{\x}{#1}
\pgfmathsetmacro{\y}{#2}
%\node [maternal] at (\x+8, \y) {M};
%\node [maternal] at (\x+8, \y-0.5) {M};
%\node [paternal] at (\x+8, \y-1) {P};
\draw[btcell](\x-2,\y+0.5)--(\x+9.5,\y+0.5)--
(\x+9.5,\y-1.5)--(\x-2,\y-1.5)--cycle;
\draw (\x+1,\y) node[aallele]{A};
\draw (\x+2,\y) node[ballele]{G};
\draw (\x+3,\y) node[aallele]{T};
\draw (\x+4,\y) node[aallele]{C};
\gseg{\x}{4}{\y}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-0.5) node[aallele]{A};
\draw (\x+2,\y-0.5) node[ballele]{G};
\draw (\x+3,\y-0.5) node[aallele]{T};
\draw (\x+4,\y-0.5) node[aallele]{C};
\gseg{\x}{4}{\y-0.5}{0.2}{0.5}{mseg}{1.5}{1}{maternal};
\draw (\x+1,\y-1) node[ballele]{T};
\gseg{\x}{1}{\y-1}{0.2}{0.5}{pseg}{1.5}{0}{paternal};
\draw (\x+4.5,\y-1) node[ballele]{A};
\draw (\x+5.5,\y-1) node[aallele]{T};
\draw (\x+6.5,\y-1) node[aallele]{C};
\gsegr{\x+3.5}{3}{\y-1}{0.2}{0.5}{pseg}{0.5}{1.5}{paternal};
}
\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
%%
%% End of file `examples/hitbook/chinese/hithesis.sty'.