summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/thuthesis
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-05 23:08:16 +0000
committerKarl Berry <karl@freefriends.org>2020-01-05 23:08:16 +0000
commitb90e1c4c691829f12ea51000c619eb3b8f3f424f (patch)
treec762ab94fb0a16a253db09a057516d45e77e9aef /Master/texmf-dist/tex/latex/thuthesis
parent9ab5b9f807ebbc30a5afe8b97e8caee7f57e809b (diff)
thuthesis (6jan20)
git-svn-id: svn://tug.org/texlive/trunk@53329 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/thuthesis')
-rw-r--r--Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls1518
-rw-r--r--Master/texmf-dist/tex/latex/thuthesis/thuthesis.sty50
2 files changed, 946 insertions, 622 deletions
diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
index 7602ea229ec..eb6dea75330 100644
--- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
+++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2005-2019 by Ruini Xue <xueruini@gmail.com>
+%% Copyright (C) 2005-2020 by Ruini Xue <xueruini@gmail.com>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,46 +21,131 @@
%% To produce the documentation run the original source files ending with `.dtx'
%% through LaTeX.
%%
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{thuthesis}
-[2019/04/27 5.5.2 Tsinghua University Thesis Template]
+[2020/01/06 6.0.0 Tsinghua University Thesis Template]
\RequirePackage{ifxetex}
-\ifxetex\else
- \ClassError{thuthesis}{You should use XeLaTeX}{}
- \end{document}
-\fi
+\RequireXeTeX
\hyphenation{Thu-Thesis}
\def\thuthesis{ThuThesis}
-\def\version{5.5.2}
+\def\version{6.0.0}
+\RequirePackage{kvdefinekeys}
+\RequirePackage{kvsetkeys}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
family=thu,
prefix=thu@,
setkeys=\kvsetkeys}
-\DeclareStringOption[doctor]{degree}[doctor]
-\DeclareStringOption[chinese]{language}[chinese]
-\DeclareBoolOption{secret}
-\DeclareBoolOption{tocarialchapter}
-\DeclareBoolOption{tocarialchapterentry}
-\DeclareBoolOption{tocarialchapterpage}
+\newcommand\thu@error[1]{%
+ \ClassError{thuthesis}{#1}{}%
+}
+\newcommand\thusetup{%
+ \kvsetkeys{thu}%
+}
+\newcommand\thu@define@key[1]{%
+ \kvsetkeys{thu@key}{#1}%
+}
+\kv@set@family@handler{thu@key}{%
+ \@namedef{thu@#1@@name}{#1}%
+ \def\thu@@default{}%
+ \def\thu@@choices{}%
+ \kv@define@key{thu@value}{name}{%
+ \@namedef{thu@#1@@name}{##1}%
+ }%
+ \kv@define@key{thu@value}{code}{%
+ \@namedef{thu@#1@@code}{##1}%
+ }%
+ \@namedef{thu@#1@@check}{}%
+ \@namedef{thu@#1@@code}{}%
+ \@namedef{thu@#1@@hook}{%
+ \expandafter\ifx\csname\@currname.\@currext-h@@k\endcsname\relax
+ \@nameuse{thu@#1@@code}%
+ \else
+ \AtEndOfClass{%
+ \@nameuse{thu@#1@@code}%
+ }%
+ \fi
+ }%
+ \kv@define@key{thu@value}{choices}{%
+ \def\thu@@choices{##1}%
+ \@namedef{thu@#1@@reset}{}%
+ \@namedef{thu@#1@@check}{%
+ \@ifundefined{%
+ ifthu@\@nameuse{thu@#1@@name}@\@nameuse{thu@\@nameuse{thu@#1@@name}}%
+ }{%
+ \thu@error{Invalid value "#1 = \@nameuse{thu@\@nameuse{thu@#1@@name}}"}%
+ }%
+ \@nameuse{thu@#1@@reset}%
+ \@nameuse{thu@\@nameuse{thu@#1@@name}@\@nameuse{thu@\@nameuse{thu@#1@@name}}true}%
+ }%
+ }%
+ \kv@define@key{thu@value}{default}{%
+ \def\thu@@default{##1}%
+ }%
+ \kvsetkeys{thu@value}{#2}%
+ \@namedef{thu@\@nameuse{thu@#1@@name}}{}%
+ \kv@set@family@handler{thu@choice}{%
+ \ifx\thu@@default\@empty
+ \def\thu@@default{##1}%
+ \fi
+ \expandafter\newif\csname ifthu@\@nameuse{thu@#1@@name}@##1\endcsname
+ \expandafter\g@addto@macro\csname thu@#1@@reset\endcsname{%
+ \@nameuse{thu@\@nameuse{thu@#1@@name}@##1false}%
+ }%
+ }%
+ \kvsetkeys@expandafter{thu@choice}{\thu@@choices}%
+ \expandafter\let\csname thu@\@nameuse{thu@#1@@name}\endcsname\thu@@default
+ \expandafter\ifx\csname thu@\@nameuse{thu@#1@@name}\endcsname\@empty\else
+ \@nameuse{thu@#1@@check}%
+ \@nameuse{thu@#1@@hook}%
+ \fi
+ \kv@define@key{thu}{#1}{%
+ \@namedef{thu@\@nameuse{thu@#1@@name}}{##1}%
+ \@nameuse{thu@#1@@check}%
+ \@nameuse{thu@#1@@hook}%
+ }%
+}
+\newcommand\thu@addto[2]{%
+ \expandafter\g@addto@macro\csname thu@#1@@code\endcsname{#2}%
+}
+\newif\ifthu@degree@graduate
+\newcommand\thu@set@graduate{%
+ \thu@degree@graduatefalse
+ \ifthu@degree@doctor
+ \thu@degree@graduatetrue
+ \fi
+ \ifthu@degree@master
+ \thu@degree@graduatetrue
+ \fi
+}
+\thu@define@key{
+ degree = {
+ choices = {
+ bachelor,
+ master,
+ doctor,
+ postdoc,
+ },
+ default = doctor,
+ code = {\thu@set@graduate},
+ },
+ degree-type = {
+ choices = {
+ academic,
+ professional,
+ },
+ name = degree@type,
+ },
+ language = {
+ choices = {
+ chinese,
+ english,
+ },
+ },
+}
\DeclareBoolOption[true]{raggedbottom}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}}
\ProcessKeyvalOptions*
-\newcommand\thu@validate@key[1]{%
- \@ifundefined{thu@\csname thu@#1\endcsname true}{%
- \ClassError{thuthesis}{Invalid value '\csname thu@#1\endcsname'}{}%
- }{%
- \csname thu@\csname thu@#1\endcsname true\endcsname
- }%
-}
-\newif\ifthu@bachelor
-\newif\ifthu@master
-\newif\ifthu@doctor
-\newif\ifthu@postdoctor
-\thu@validate@key{degree}
-\newif\ifthu@chinese
-\newif\ifthu@english
-\thu@validate@key{language}
\PassOptionsToPackage{quiet}{xeCJK}
\LoadClass[a4paper,openany,UTF8,zihao=-4,scheme=plain]{ctexbook}
\RequirePackage{etoolbox}
@@ -80,57 +165,42 @@
\RequirePackage[perpage,hang]{footmisc}
\fi
\RequirePackage{CJKfntef}
-\RequirePackage[amsmath,thmmarks,hyperref]{ntheorem}
\RequirePackage{array}
-\RequirePackage{longtable}
\RequirePackage{booktabs}
\RequirePackage[sort&compress]{natbib}
-\RequirePackage{hyperref}
-\hypersetup{
- linktoc = all,
- bookmarksnumbered = true,
- bookmarksopen = true,
- bookmarksopenlevel = 1,
- breaklinks = true,
- plainpages = false,
- hidelinks,
-}
-\pdfstringdefDisableCommands{
- \let\\\@empty
- \let\hspace\@gobble
-}
+\RequirePackage{bibunits}
+\RequirePackage{url}
\urlstyle{same}
-\def\UrlBreaks{%
- \do\/%
- \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l%
- \do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z%
- \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L%
- \do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z%
- \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9\do=\do/\do.\do:%
- \do\*\do\-\do\~\do\'\do\"\do\-}
+\g@addto@macro\UrlBreaks{%
+ \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9%
+ \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M
+ \do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z
+ \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m
+ \do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z
+}
\Urlmuskip=0mu plus 0.1mu
\RequirePackage{geometry}
\geometry{
a4paper, % 210 * 297mm
- hcentering,
- ignoreall,
- nomarginpar}
-\ifthu@bachelor
+ nomarginpar,
+}
+\ifthu@degree@bachelor
\geometry{
- left=32mm,
- headheight=5mm,
- headsep=5mm,
- textheight=227mm,
- bottom=32mm,
- footskip=12mm}
+ top = 3.8cm,
+ bottom = 3.2cm,
+ left = 3.2cm,
+ right = 3cm,
+ headheight = 0.5cm,
+ headsep = 1.8cm,
+ footskip = 1.45cm,
+ }
\else
\geometry{
- left=30mm,
- headheight=5mm,
- headsep=5mm,
- textheight=237mm,
- bottom=29mm,
- footskip=6mm}
+ margin = 3cm,
+ headheight = 0.5cm,
+ headsep = 0.3cm,
+ footskip = 0.8cm,
+ }
\fi
\RequirePackage{fancyhdr}
\RequirePackage{notoccite}
@@ -141,13 +211,19 @@
\renewcommand\frontmatter{%
\if@openright\cleardoublepage\else\clearpage\fi
\@mainmatterfalse
- \pagenumbering{Alph}
- \pagestyle{thu@empty}}
+ \ifthu@degree@bachelor
+ \pagestyle{thu@plain}
+ \else
+ \pagestyle{thu@headings}
+ \fi
+ \pagenumbering{Roman}%
+ \let\@tabular\thu@tabular
+}
\renewcommand\mainmatter{%
\if@openright\cleardoublepage\else\clearpage\fi
\@mainmattertrue
\pagenumbering{arabic}
- \ifthu@bachelor\pagestyle{thu@plain}\else\pagestyle{thu@headings}\fi}
+ \ifthu@degree@bachelor\pagestyle{thu@plain}\else\pagestyle{thu@headings}\fi}
\renewcommand\backmatter{%
\if@openright\cleardoublepage\else\clearpage\fi
\@mainmattertrue}
@@ -271,13 +347,13 @@
}%
}
\newcommand\thu@setdefaultlanguage{%
- \ifthu@chinese
+ \ifthu@language@chinese
\thu@setchinese
\else
\thu@setenglish
\fi
}
-\ifthu@chinese
+\ifthu@language@chinese
\ctexset{
chapter/name = {第,章},
appendixname = 附录,
@@ -307,10 +383,10 @@
\newcommand\thu@proof@name{证明}
\newcommand\thu@theorem@separator{:}
\newcommand\thu@ack@name{致\hspace{\ccwd}谢}
- \ifthu@bachelor
+ \ifthu@degree@bachelor
\newcommand\thu@resume@title{在学期间参加课题的研究成果}
\else
- \ifthu@postdoctor
+ \ifthu@degree@postdoc
\newcommand\thu@resume@title{个人简历、发表的学术论文与科研成果}
\else
\newcommand\thu@resume@title{个人简历、在学期间发表的学术论文与研究成果}
@@ -334,19 +410,11 @@
\newcommand\thu@conjecture@name{Conjecture}
\newcommand\thu@proof@name{proof}
\newcommand\thu@theorem@separator{: }
- \newcommand\thu@ack@name{Acknowledgments}
- \ifthu@bachelor
+ \newcommand\thu@ack@name{Acknowledgements}
+ \ifthu@degree@bachelor
\newcommand\thu@resume@title{Research Achievements}
\else
- \ifthu@postdoctor
- \newcommand\thu@resume@title{%
- Resume, Publications and Research Achievements%
- }
- \else
- \newcommand\thu@resume@title{%
- Resume, Publications and Research Achievements%
- }
- \fi
+ \newcommand\thu@resume@title{Resume, Publications and Research Achievements}
\fi
\fi
\fancypagestyle{thu@empty}{%
@@ -400,7 +468,7 @@
\def\thu@@makefnmark{\hbox{{\normalfont\@thefnmark}}}
\pretocmd{\@makefntext}{\let\@makefnmark\thu@@makefnmark}{}{}
\apptocmd{\@makefntext}{\let\@makefnmark\thu@makefnmark}{}{}
-\ifthu@chinese
+\ifthu@language@chinese
\def\mathellipsis{\cdots}
\fi
\protected\def\le{\leqslant}
@@ -431,7 +499,7 @@
\def\make@df@tag{\@ifstar\thu@make@df@tag@@\make@df@tag@@@}
\def\thu@make@df@tag@@#1{\gdef\df@tag{\thu@maketag{#1}\def\@currentlabel{#1}}}
\iffalse
-\ifthu@bachelor
+\ifthu@degree@bachelor
\def\thu@maketag#1{\maketag@@@{%
(\ignorespaces\text{\equationname\hskip0.5em}#1\unskip\@@italiccorr)}}
\def\tagform@#1{\maketag@@@{%
@@ -441,25 +509,6 @@
\def\thu@maketag#1{\maketag@@@{(\ignorespaces #1\unskip\@@italiccorr)}}
\def\tagform@#1{\maketag@@@{(\ignorespaces #1\unskip\@@italiccorr)\equcaption{#1}}}
\renewcommand{\eqref}[1]{\textup{(\ref{#1})}}
-\theorembodyfont{\normalfont}
-\theoremheaderfont{\normalfont\sffamily}
-\theoremsymbol{\ensuremath{\square}}
-\newtheorem*{proof}{\thu@proof@name}
-\theoremstyle{plain}
-\theoremsymbol{}
-\theoremseparator{\thu@theorem@separator}
-\newtheorem{assumption}{\thu@assumption@name}[chapter]
-\newtheorem{definition}{\thu@definition@name}[chapter]
-\newtheorem{proposition}{\thu@proposition@name}[chapter]
-\newtheorem{lemma}{\thu@lemma@name}[chapter]
-\newtheorem{theorem}{\thu@theorem@name}[chapter]
-\newtheorem{axiom}{\thu@axiom@name}[chapter]
-\newtheorem{corollary}{\thu@corollary@name}[chapter]
-\newtheorem{exercise}{\thu@exercise@name}[chapter]
-\newtheorem{example}{\thu@example@name}[chapter]
-\newtheorem{remark}{\thu@remark@name}[chapter]
-\newtheorem{problem}{\thu@problem@name}[chapter]
-\newtheorem{conjecture}{\thu@conjecture@name}[chapter]
\setlength{\floatsep}{12bp \@plus 2bp \@minus 4bp}
\setlength{\textfloatsep}{12bp}
\setlength{\intextsep}{12bp}
@@ -470,7 +519,7 @@
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.65}
\renewcommand{\floatpagefraction}{0.60}
-\ifthu@bachelor
+\ifthu@degree@bachelor
\g@addto@macro\appendix{\renewcommand*{\thefigure}{\thechapter-\arabic{figure}}}
\g@addto@macro\appendix{\renewcommand*{\thetable}{\thechapter-\arabic{table}}}
\fi
@@ -488,35 +537,21 @@
\captionsetup[sub]{font=thu}
\renewcommand{\thesubfigure}{(\alph{subfigure})}
\renewcommand{\thesubtable}{(\alph{subtable})}
-\let\thu@LT@array\LT@array
-\def\LT@array{\dawu[1.5]\thu@LT@array} % set default font size
\def\hlinewd#1{%
\noalign{\ifnum0=`}\fi\hrule \@height #1 \futurelet
\reserved@a\@xhline}
-\ifthu@bachelor
+\ifthu@degree@bachelor
\newcommand{\cabstractname}{中文摘要}
\newcommand{\eabstractname}{ABSTRACT}
\else
\newcommand{\cabstractname}{摘\hspace{\ccwd}要}
\newcommand{\eabstractname}{Abstract}
\fi
-\let\CJK@todaysave=\today
-\def\CJK@todaysmall@short{\the\year 年 \the\month 月}
-\def\CJK@todaysmall{\the\year 年 \the\month 月 \the\day 日}
-\def\CJK@todaybig@short{\zhdigits{\the\year}年\zhnumber{\the\month}月}
-\def\CJK@todaybig{\zhdigits{\the\year}年\zhnumber{\the\month}月\zhnumber{\the\day}日}
-\def\CJK@today{\CJK@todaysmall}
-\renewcommand\today{\CJK@today}
-\newcommand\CJKtoday[1][1]{%
- \ifcase#1\def\CJK@today{\CJK@todaysave}
- \or\def\CJK@today{\CJK@todaysmall}
- \or\def\CJK@today{\CJK@todaybig}
- \fi}
\AtBeginDocument{%
\pagestyle{thu@empty}
\renewcommand{\chaptermark}[1]{\@mkboth{\CTEXthechapter\hskip\ccwd#1}{}}}
\newcommand\thu@chapter@titleformat[1]{%
- \ifthu@bachelor #1\else%
+ \ifthu@degree@bachelor #1\else%
\ifthenelse%
{\equal{#1}{\eabstractname}}%
{\bfseries #1}%
@@ -525,11 +560,11 @@
\ctexset{%
chapter={
afterindent=true,
- pagestyle={\ifthu@bachelor thu@plain\else thu@headings\fi},
- beforeskip={\ifthu@bachelor 15bp\else 9bp\fi},
+ pagestyle={\ifthu@degree@bachelor thu@plain\else thu@headings\fi},
+ beforeskip={\ifthu@degree@bachelor 15bp\else 9bp\fi},
aftername=\hskip\ccwd,
- afterskip={\ifthu@bachelor 20bp\else 24bp\fi},
- format={\centering\sffamily\ifthu@bachelor\xiaosan[1.333]\else\sanhao[1]\fi},
+ afterskip={\ifthu@degree@bachelor 20bp\else 24bp\fi},
+ format={\centering\sffamily\ifthu@degree@bachelor\xiaosan[1.333]\else\sanhao[1]\fi},
nameformat=\relax,
numberformat=\relax,
titleformat=\thu@chapter@titleformat,
@@ -538,44 +573,43 @@
},
section={
afterindent=true,
- beforeskip={\ifthu@bachelor 25bp\else 24bp\fi\@plus 1ex \@minus .2ex},
- afterskip={\ifthu@bachelor 12bp\else 6bp\fi \@plus .2ex},
- format={\sffamily\ifthu@bachelor\sihao[1.286]\else\sihao[1.429]\fi},
+ beforeskip={\ifthu@degree@bachelor 25bp\else 24bp\fi\@plus 1ex \@minus .2ex},
+ afterskip={\ifthu@degree@bachelor 12bp\else 6bp\fi \@plus .2ex},
+ format={\sffamily\ifthu@degree@bachelor\sihao[1.286]\else\sihao[1.429]\fi},
},
subsection={
afterindent=true,
- beforeskip={\ifthu@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex},
+ beforeskip={\ifthu@degree@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex},
afterskip={6bp \@plus .2ex},
- format={\sffamily\ifthu@bachelor\xiaosi[1.25]\else\banxiaosi[1.538]\fi},
- numberformat={\sffamily\ifthu@bachelor\banxiaosi[1.154]\else\banxiaosi[1.538]\fi},
+ format={\sffamily\ifthu@degree@bachelor\xiaosi[1.25]\else\banxiaosi[1.538]\fi},
+ numberformat={\sffamily\ifthu@degree@bachelor\banxiaosi[1.154]\else\banxiaosi[1.538]\fi},
},
subsubsection={
afterindent=true,
- beforeskip={\ifthu@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex},
+ beforeskip={\ifthu@degree@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex},
afterskip={6bp \@plus .2ex},
- format={\sffamily\ifthu@bachelor\xiaosi[1.25]\else\xiaosi[1.667]\fi},
+ format={\sffamily\ifthu@degree@bachelor\xiaosi[1.25]\else\xiaosi[1.667]\fi},
},
paragraph/afterindent=true,
subparagraph/afterindent=true}
-\newcounter{thu@bookmark}
+\newcommand\thu@pdfbookmark[2]{}
\NewDocumentCommand\thu@chapter{s o m o}{
\IfBooleanF{#1}{%
\ClassError{thuthesis}{You have to use the star form: \string\thu@chapter*}{}
}%
- \if@openright\cleardoublepage\else\clearpage\fi\phantomsection%
+ \if@openright\cleardoublepage\else\clearpage\fi%
\IfValueTF{#2}{%
\ifthenelse{\equal{#2}{}}{%
- \addtocounter{thu@bookmark}\@ne
- \pdfbookmark[0]{#3}{thuchapter.\thethu@bookmark}
+ \thu@pdfbookmark{0}{#3}%
}{%
\addcontentsline{toc}{chapter}{#3}
}
}{%
\addcontentsline{toc}{chapter}{#3}
}%
- \ifthu@bachelor \ctexset{chapter/beforeskip=25bp} \fi
+ \ifthu@degree@bachelor \ctexset{chapter/beforeskip=25bp} \fi
\chapter*{#3}%
- \ifthu@bachelor \ctexset{chapter/beforeskip=15bp} \fi
+ \ifthu@degree@bachelor \ctexset{chapter/beforeskip=15bp} \fi
\IfValueTF{#4}{%
\ifthenelse{\equal{#4}{}}
{\@mkboth{}{}}
@@ -588,19 +622,14 @@
\setcounter{tocdepth}{2}
\renewcommand\tableofcontents{%
\thu@chapter*[]{\contentsname}
- \ifthu@bachelor\xiaosi[1.667]\else\xiaosi[1.65]\fi\@starttoc{toc}\normalsize}
+ \ifthu@degree@bachelor\xiaosi[1.667]\else\xiaosi[1.65]\fi\@starttoc{toc}\normalsize}
\def\@pnumwidth{2em}
\def\@tocrmarg{\@pnumwidth}
\def\@dotsep{1}
-\ifthu@tocarialchapter
- \thu@tocarialchapterentrytrue\thu@tocarialchapterpagetrue
-\fi
-\def\thu@toc@chapter@entry@font{\ifthu@tocarialchapterentry\sffamily\fi}
-\def\thu@toc@chapter@page@font{\ifthu@tocarialchapterpage\sffamily\fi}
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
- \ifthu@bachelor\vskip 6bp\else\vskip 4bp\fi \@plus\p@
+ \ifthu@degree@bachelor\vskip 6bp\else\vskip 4bp\fi \@plus\p@
\setlength\@tempdima{4em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
@@ -608,9 +637,18 @@
\leavevmode
\advance\leftskip\@tempdima
\hskip -\leftskip
- {\thu@toc@chapter@entry@font #1}%
+ \begingroup
+ \ifthu@degree@graduate
+ \sffamily
+ \else
+ \ifthu@degree@bachelor
+ \heiti
+ \fi
+ \fi
+ #1%
+ \endgroup
\leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill%
- \nobreak{\thu@toc@chapter@page@font #2}\par
+ \nobreak #2\par
\penalty\@highpenalty
\endgroup
\fi}
@@ -618,377 +656,599 @@
\renewcommand*\l@section{%
\@dottedtocline{1}{\ccwd}{2.1em}}
\renewcommand*\l@subsection{%
- \@dottedtocline{2}{\ifthu@bachelor 1.5\ccwd\else 2\ccwd\fi}{3em}}
+ \@dottedtocline{2}{\ifthu@degree@bachelor 1.5\ccwd\else 2\ccwd\fi}{3em}}
\renewcommand*\l@subsubsection{%
- \@dottedtocline{3}{\ifthu@bachelor 2.4em\else 3.5em\fi}{3.8em}}
-\def\thu@def@term#1{%
- \define@key{thu}{#1}{\csname #1\endcsname{##1}}
- \expandafter\gdef\csname #1\endcsname##1{%
- \expandafter\gdef\csname thu@#1\endcsname{##1}}
- \csname #1\endcsname{}}
-\thu@def@term{secretlevel}
-\thu@def@term{secretyear}
-\thu@def@term{ctitle}
-\thu@def@term{etitle}
-\thu@def@term{cauthor}
-\thu@def@term{csupervisor}
-\thu@def@term{cassosupervisor}
-\thu@def@term{ccosupervisor}
-\thu@def@term{eauthor}
-\thu@def@term{esupervisor}
-\thu@def@term{eassosupervisor}
-\thu@def@term{ecosupervisor}
-\thu@def@term{cdegree}
-\thu@def@term{edegree}
-\thu@def@term{cdepartment}
-\thu@def@term{edepartment}
-\thu@def@term{cmajor}
-\thu@def@term{emajor}
-\thu@def@term{cdate}
-\thu@def@term{edate}
-\thu@def@term{id}
-\thu@def@term{udc}
-\thu@def@term{catalognumber}
-\thu@def@term{cfirstdiscipline}
-\thu@def@term{cseconddiscipline}
-\thu@def@term{postdoctordate}
-\thu@def@term{postdocstartdate}
-\thu@def@term{postdocenddate}
-\newcommand{\thu@@cabstract}[1]{\long\gdef\thu@cabstract{#1}}
-\newenvironment{cabstract}{\Collect@Body\thu@@cabstract}{}
-\newcommand{\thu@@eabstract}[1]{\long\gdef\thu@eabstract{#1}}
-\newenvironment{eabstract}{\Collect@Body\thu@@eabstract}{}
-\def\thu@parse@keywords#1{
- \define@key{thu}{#1}{\csname #1\endcsname{##1}}
- \expandafter\gdef\csname thu@#1\endcsname{}
- \expandafter\gdef\csname #1\endcsname##1{
- \@for\reserved@a:=##1\do{
- \expandafter\ifx\csname thu@#1\endcsname\@empty\else
- \expandafter\g@addto@macro\csname thu@#1\endcsname{%
- \ignorespaces\csname thu@#1@separator\endcsname}
- \fi
- \expandafter\expandafter\expandafter\g@addto@macro%
- \expandafter\csname thu@#1\expandafter\endcsname\expandafter{\reserved@a}}}}
-\thu@parse@keywords{ckeywords}
-\thu@parse@keywords{ekeywords}
-\def\thusetup{\kvsetkeys{thu}}
-\def\thu@ckeywords@separator{;}
-\def\thu@ekeywords@separator{;}
-\def\thu@title@sep{:}
-\ifthu@postdoctor
- \def\thu@secretlevel{密级}
-\else
- \def\thu@secretlevel{秘密}
-\fi
-\def\thu@secretyear{\the\year}
-\def\thu@schoolname{清华大学}
-\def\thu@bachelor@subtitle{综合论文训练}
-\def\thu@bachelor@title@pre{题目}
-\def\thu@postdoctor@date@title{研究起止日期}
-\ifthu@postdoctor
- \def\thu@author@title{博士后姓名}
-\else
- \ifthu@bachelor
- \def\thu@author@title{姓名}
- \else
- \def\thu@author@title{研究生}
+ \@dottedtocline{3}{\ifthu@degree@bachelor 2.4em\else 3.5em\fi}{3.8em}}
+\thu@define@key{
+ secret-level = {
+ name = secret@level,
+ },
+ secret-year = {
+ name = secret@year,
+ },
+ title = {
+ default = {标题},
+ },
+ title* = {
+ default = {Title},
+ name = title@en,
+ },
+ author = {
+ default = {姓名},
+ },
+ author* = {
+ default = {Name of author},
+ name = author@en,
+ },
+ supervisor = {
+ default = {导师姓名},
+ },
+ supervisor* = {
+ default = {Name of supervisor},
+ name = supervisor@en,
+ },
+ associate-supervisor = {
+ name = associate@supervisor,
+ },
+ associate-supervisor* = {
+ name = associate@supervisor@en,
+ },
+ joint-supervisor = {
+ name = joint@supervisor,
+ },
+ joint-supervisor* = {
+ name = joint@supervisor@en,
+ },
+ degree-name = {
+ default = {工学博士},
+ name = degree@name,
+ },
+ degree-name* = {
+ default = {Doctor of Philosophy},
+ name = degree@name@en,
+ },
+ department = {
+ default = {计算机科学与技术系},
+ },
+ discipline = {
+ % default = {计算机科学与技术},
+ },
+ discipline* = {
+ % default = {Computer Science and Technology},
+ name = discipline@en,
+ },
+ date = {
+ default = {\the\year-\two@digits{\month}-\two@digits{\day}},
+ },
+ clc,
+ udc,
+ id,
+ discipline-level-1 = {
+ default = {一级学科名称},
+ name = discipline@level@i,
+ },
+ discipline-level-2 = {
+ default = {二级学科名称},
+ name = discipline@level@ii,
+ },
+ start-date = {
+ name = start@date,
+ default = {\the\year-\two@digits{\month}-\two@digits{\day}},
+ },
+ end-date = {
+ name = end@date,
+ default = {\the\year-\two@digits{\month}-\two@digits{\day}},
+ },
+}
+\newcommand\thu@format@date[2]{%
+ \edef\thu@@date{#2}%
+ \def\thu@@process@date##1-##2-##3\@nil{%
+ #1{##1}{##2}{##3}%
+ }%
+ \expandafter\thu@@process@date\thu@@date\@nil
+}
+\newcommand\thu@date@zh@digit[3]{#1 年 \number#2 月 \number#3 日}
+\newcommand\thu@date@zh@digit@short[3]{#1 年 \number#2 月}
+\newcommand\thu@date@zh@short[3]{\zhdigits{#1}年\zhnumber{#2}月}
+\newcommand\thu@date@month[1]{%
+ \ifcase\number#1\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December%
\fi
-\fi
-\def\thu@postdoctor@first@discipline@title{流动站(一级学科)名称}
-\def\thu@postdoctor@second@discipline@title{专\hspace{1em}业(二级学科)名称}
-\def\thu@secret@content{%
- \unskip\ifthu@master$\bigstar$ \fi%
- \ifthu@doctor$\bigstar$ \fi%
- \thu@secretyear 年}
-\def\thu@apply{(申请清华大学\thu@cdegree 学位论文)}
-\ifthu@bachelor
- \def\thu@department@title{系别}
- \def\thu@major@title{专业}
-\else
- \def\thu@department@title{培养单位}
- \def\thu@major@title{学科}
-\fi
-\ifthu@postdoctor
- \def\thu@supervisor@title{合作导师}
-\else
- \def\thu@supervisor@title{指导教师}
-\fi
-\ifthu@bachelor
- \def\thu@assosuper@title{辅导教师}
-\else
- \def\thu@assosuper@title{副指导教师}
-\fi
-\def\thu@cosuper@title{%
- \ifthu@doctor 联合导师\else \ifthu@master 联合指导教师\fi\fi}
-\cdate{\ifthu@bachelor\CJK@todaysmall\else\ifthu@postdoctor\CJK@todaysmall@short\else\CJK@todaybig@short\fi\fi}
-\edate{\ifcase \month \or January\or February\or March\or April\or May%
- \or June\or July \or August\or September\or October\or November
- \or December\fi\unskip,\ \ \the\year}
-\newcommand{\thu@authtitle}{关于学位论文使用授权的说明}
-\newcommand{\thu@authorization}{%
-\ifthu@bachelor
-本人完全了解清华大学有关保留、使用学位论文的规定,即:学校有权保留学位
-论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部或部分内
-容,可以采用影印、缩印或其他复制手段保存该论文。
-\else
-本人完全了解清华大学有关保留、使用学位论文的规定,即:
-
-清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:(1)已获学位的研究生
-必须按学校规定提交学位论文,学校可以采用影印、缩印或其他复制手段保存研究生上交的
-学位论文;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料
-室等场所供校内师生阅读,或在校园网上供校内师生浏览部分内容\ifthu@master 。\else ;
-(3)根据《中华人民共和国学位条例暂行实施办法》,向国家图书馆报送可以公开的学位
-论文。\fi
-
-本人保证遵守上述规定。
-\fi}
-\newcommand{\thu@authorizationaddon}{%
- \ifthu@bachelor(涉密的学位论文在解密后应遵守此规定)\else (保密的论文在解密后应遵守此规定)\fi}
-\newcommand{\thu@authorsig}{\ifthu@bachelor 签\hskip1em名:\else 作者签名:\fi}
-\newcommand{\thu@teachersig}{导师签名:}
-\newcommand{\thu@frontdate}{%
- 日\ifthu@bachelor\hspace{1em}\else\hspace{2em}\fi 期:}
-\newcommand{\thu@ckeywords@title}{关键词:}
+}
+\newcommand\thu@date@en@short[3]{\thu@date@month{#2}, #1}
\newcommand\thu@underline[2][6em]{\hskip1pt\underline{\hb@xt@ #1{\hss#2\hss}}\hskip3pt}
\newcommand\thu@CJKunderline[2][6em]{\CJKunderline*{\hb@xt@ #1{\hss#2\hss}}}
-\newlength{\thu@title@width}
-\newcommand{\thu@put@title}[2][\thu@title@width]{%
- \begin{CJKfilltwosides}[b]{#1}#2\end{CJKfilltwosides}}
-\def\thu@first@titlepage{%
- \ifthu@postdoctor\thu@first@titlepage@postdoctor\else\thu@first@titlepage@other\fi}
-\newcommand\thu@first@titlepage@postdoctor{%
+\newcommand\thu@fixed@box[2]{%
+ \begingroup
+ \def\CJKglue{\hskip 0pt plus 2filll minus 1filll}%
+ \makebox[#1][l]{#2}%
+ \endgroup
+}
+\newbox\thu@stretch@box
+\newcommand\thu@stretch[2]{%
+ \sbox\thu@stretch@box{#2}%
+ \ifdim \wd\thu@stretch@box < #1\relax
+ \begingroup
+ \def\CJKglue{\hskip 0pt plus 2filll}%
+ \makebox[#1][l]{#2}%
+ \endgroup
+ \else
+ \box\thu@stretch@box
+ \fi
+}
+\newbox\thu@pad@box
+\newcommand\thu@pad[2]{%
+ \sbox\thu@pad@box{#2}%
+ \ifdim \wd\thu@pad@box < #1\relax
+ \makebox[#1][l]{\box\thu@pad@box}%
+ \else
+ \box\thu@pad@box
+ \fi
+}
+\newcounter{thu@csl@count}
+\newcommand\thu@name@title@process[1]{%
+ \ifcase\c@thu@csl@count % == 0
+ \gdef\thu@@name{#1}%
+ \or % == 1
+ \gdef\thu@@title{#1}%
+ \fi
+ \stepcounter{thu@csl@count}%
+}
+\newcommand\thu@name@title@format[2]{%
+ \thu@pad{3cm}{\thu@stretch{4em}{#1}}%
+ \thu@stretch{3em}{#2}%
+}
+\newcommand\thu@name@title[1]{%
+ \setcounter{thu@csl@count}{0}%
+ \gdef\thu@@name{}%
+ \gdef\thu@@title{}%
+ \expandafter\comma@parse\expandafter{#1}{\thu@name@title@process}%
+ \thu@name@title@format{\thu@@name}{\thu@@title}%
+}
+\renewcommand\maketitle{%
+ \cleardoublepage
+ \pagestyle{thu@empty}%
+ \pagenumbering{Alph}%
+ \thu@pdfbookmark{-1}{\thu@title}%
+ \thu@titlepage
+ \ifthu@degree@graduate
+ \cleardoublepage
+ \thu@titlepage@en
+ \fi
+ \clearpage
+}
+\newcommand\thu@titlepage{%
+ \ifthu@degree@graduate
+ \ifthu@degree@type@academic
+ \thu@titlepage@graduate@academic
+ \else
+ \ifx\thu@discipline\@empty
+ \thu@titlepage@graduate@professional
+ \else
+ \thu@titlepage@graduate@academic
+ \fi
+ \fi
+ \else
+ \ifthu@degree@bachelor
+ \thu@titlepage@bachelor
+ \else
+ \ifthu@degree@postdoc
+ \thu@cover@postdoc
+ \cleardoublepage
+ \thu@titlepage@postdoc
+ \fi
+ \fi
+ \fi
+}
+\newcommand\thu@titlepage@graduate@academic{%
+ \newgeometry{
+ top = 2cm,
+ bottom = 6cm,
+ hmargin = 3.5cm,
+ }%
+ \null\vskip 0.2cm%
+ \begingroup
+ \centering
+ \parbox[t][2cm][t]{\textwidth}{%
+ \hskip -0.69cm%
+ \thu@titlepage@secret
+ }\par
+ \vskip 1.5cm%
+ {\thu@titlepage@title}%
+ \vskip 0.85cm%
+ \thu@titlepage@degree
+ \vfill
+ \parbox[t][7.25cm][t]{\textwidth}{\centering\thu@titlepage@info}\par
+ \parbox[t][1.03cm][t]{\textwidth}{\centering\thu@titlepage@date}\par
+ \endgroup
+ \clearpage
+ \restoregeometry
+}
+\newcommand\thu@titlepage@graduate@professional{%
+ \newgeometry{
+ top = 2cm,
+ bottom = 6cm,
+ hmargin = 3.5cm,
+ }%
+ \null\vskip 0.45cm%
+ \begingroup
+ \centering
+ \parbox[t][1.52cm][t]{\textwidth}{%
+ \hskip -0.69cm%
+ \thu@titlepage@secret
+ }\par
+ \vskip 1.5cm%
+ {\sffamily\yihao[1.575]\thu@title\par}%
+ \vskip 0.9cm%
+ \thu@titlepage@degree
+ \vfill
+ \parbox[t][5.28cm][t]{\textwidth}{\centering\thu@titlepage@info}\par
+ \parbox[t][1.25cm][t]{\textwidth}{\centering\thu@titlepage@date}\par
+ \endgroup
+ \clearpage
+ \restoregeometry
+}
+\newcommand\thu@titlepage@secret{%
+ \sffamily\CJKfamily+{}\sanhao
+ \ifx\thu@secret@level\@empty
+ \phantom{秘密}%
+ \else
+ \thu@secret@level★\makebox[3em][c]{\thu@secret@year}年%
+ \fi\par
+}
+\newcommand\thu@titlepage@title{%
+ \sffamily\yihao[1.8]\thu@title\par
+}
+\newcommand\thu@titlepage@degree{%
+ \begingroup
+ \def\CJKglue{\hskip 1bp}%
+ \CJKfamily+{}\xiaoer
+ (申请清华大学\thu@degree@name\ifthu@degree@type@professional 专业\fi 学位论文)\par
+ \endgroup
+}
+\newcommand\thu@titlepage@info{%
+ \ifthu@degree@doctor
+ \thu@titlepage@info@doctor
+ \else
+ \thu@titlepage@info@master
+ \fi
+}
+\newcommand\thu@cover@info@tabular[4]{%
+ \def\thu@cover@item##1##2##3{%
+ \ifx##3\@empty\else
+ \thu@pad{#2}{\thu@fixed@box{#1}{##1}}%
+ \thu@pad{#3}{:}%
+ ##2{##3}\\
+ \fi
+ }%
+ \begin{tabular}{l}%
+ #4%
+ \end{tabular}
+}
+\newcommand\thu@titlepage@info@doctor{%
+ \fangsong\sanhao[1.95]%
+ \thu@cover@info@tabular{2.8cm}{2.8cm}{0.82cm}{%
+ \thu@cover@item{培养单位}{}{\thu@department}%
+ \ifthu@degree@type@academic
+ \thu@cover@item{学科}{}{\thu@discipline}%
+ \thu@cover@item{研究生}{\thu@name@title}{\thu@author}%
+ \else
+ \thu@cover@item{申请人}{\thu@name@title}{\thu@author}%
+ \fi
+ \thu@cover@item{指导教师}{\thu@name@title}{\thu@supervisor}%
+ \thu@cover@item{副指导教师}{\thu@name@title}{\thu@associate@supervisor}%
+ \thu@cover@item{联合导师}{\thu@name@title}{\thu@joint@supervisor}%
+ }\par
+}
+\newcommand\thu@titlepage@info@master{%
+ \fangsong\sanhao[1.95]%
+ \thu@cover@info@tabular{5.5em}{3.6cm}{0.82cm}{%
+ \thu@cover@item{培养单位}{}{\thu@department}%
+ \ifthu@degree@type@academic
+ \thu@cover@item{学科}{}{\thu@discipline}%
+ \thu@cover@item{研究生}{\thu@name@title}{\thu@author}%
+ \else
+ \thu@cover@item{工程领域}{}{\thu@discipline}%
+ \thu@cover@item{申请人}{\thu@name@title}{\thu@author}%
+ \fi
+ \thu@cover@item{指导教师}{\thu@name@title}{\thu@supervisor}%
+ \thu@cover@item{副指导教师}{\thu@name@title}{\thu@associate@supervisor}%
+ \thu@cover@item{联合指导教师}{\thu@name@title}{\thu@joint@supervisor}%
+ }\par
+}
+\newcommand\thu@titlepage@date{%
+ \begingroup
+ \def\CJKglue{\hskip 1bp}%
+ \sanhao\thu@format@date{\thu@date@zh@short}{\thu@date}\par
+ \endgroup
+}
+\newcommand{\thu@titlepage@en}{%
+ \newgeometry{
+ top = 5.5cm,
+ bottom = 5cm,
+ hmargin = 3.6cm,
+ }%
+ \ifthu@degree@type@academic
+ \thu@titlepage@en@graduate@academic
+ \else
+ \thu@titlepage@en@graduate@professional
+ \fi
+ \clearpage
+ \restoregeometry
+}
+\newcommand\thu@titlepage@en@graduate@academic{%
+ \begingroup
+ \centering
+ \null\vskip -0.7cm%
+ \thu@titlepage@en@title
+ \vfill
+ \sanhao[1.725]%
+ \thu@titlepage@en@degree
+ \vskip 0.13cm%
+ in\par
+ \vskip 0.1cm%
+ {\bfseries\sffamily\thu@discipline@en\par}
+ \vskip 0.7cm%
+ {\sffamily by\par}
+ \vskip 0.24cm%
+ {\sffamily\bfseries\thu@author@en\par}%
+ \vskip 0.14cm%
+ \parbox[t][3.07cm][t]{\textwidth}{%
+ \centering\xiaosan[2.1]%
+ \thu@titlepage@en@supervisor
+ }\par
+ \thu@titlepage@en@date
+ \vskip 0.65cm%
+ \endgroup
+}
+\newcommand\thu@titlepage@en@graduate@professional{%
+ \begingroup
+ \centering
+ \null\vskip -0.7cm%
+ \thu@titlepage@en@title
+ \vfill
+ \sanhao[1.725]%
+ \thu@titlepage@en@degree
+ \vskip 1.1cm%
+ {\sffamily by\par}
+ \vskip 0.24cm%
+ {\sffamily\bfseries\thu@author@en\par}%
+ \ifx\thu@discipline@en\empty
+ \vskip 1.95cm%
+ \else
+ \vskip -0.1cm%
+ {\sffamily\bfseries(\thu@discipline@en)\par}%
+ \vskip 1.1cm%
+ \fi
+ \parbox[t][3.37cm][t]{\textwidth}{%
+ \centering\xiaosan[1.82]%
+ \thu@titlepage@en@supervisor
+ }\par
+ \thu@titlepage@en@date
+ \vskip 0.3cm%
+ \endgroup
+}
+\newcommand\thu@titlepage@en@title{%
+ \begingroup
+ \sffamily\bfseries\fontsize{20bp}{31bp}\selectfont
+ \thu@title@en\par
+ \endgroup
+}
+\newcommand\thu@thesis@name@en{%
+ \ifthu@degree@master
+ Thesis%
+ \else
+ Dissertation%
+ \fi
+}
+\newcommand\thu@titlepage@en@degree{%
+ \thu@thesis@name@en{} Submitted to\par
+ {\bfseries Tsinghua University\par}%
+ in partial fulfillment of the requirement\par
+ for the
+ \ifthu@degree@type@professional
+ professional
+ \fi
+ degree of\par
+ {\sffamily\bfseries\thu@degree@name@en\par}%
+}
+\newcommand\thu@titlepage@en@supervisor{%
+ \begin{tabular}{r@{\makebox[0.71cm][l]{:}}l}%
+ \thu@thesis@name@en{} Supervisor & \thu@supervisor@en \\
+ \ifx\thu@associate@supervisor@en\@empty\else
+ Associate Supervisor & \thu@associate@supervisor@en \\
+ \fi
+ \ifx\thu@joint@supervisor@en\@empty\else
+ Cooperate Supervisor & \thu@joint@supervisor@en \\
+ \fi
+ \end{tabular}%
+}
+\newcommand\thu@titlepage@en@date{%
+ \begingroup
+ \sffamily\bfseries\sanhao
+ \thu@format@date{\thu@date@en@short}{\thu@date}\par
+ \endgroup
+}
+\newcommand\thu@titlepage@bachelor{%
+ \newgeometry{
+ vmargin = 2.54cm,
+ hmargin = 3.17cm,
+ }%
+ \null\vskip 0.44cm%
+ \begingroup
+ \centering
+ \parbox[t][2cm][t]{\textwidth}{%
+ \hfill
+ \sffamily\CJKfamily+{}\xiaosi
+ \ifx\thu@secret@level\@empty
+ \phantom{秘密}%
+ \else
+ \thu@secret@level\makebox[3em][c]{\thu@secret@year}年%
+ \fi\par
+ }\par
+ \begingroup
+ \ifcsname lishu\endcsname
+ \lishu\yihao\ziju{0.5}清华大学%
+ \else
+ \includegraphics{tsinghua.pdf}%
+ \fi
+ \par
+ \endgroup
+ \vskip 0.94cm%
+ {\sffamily\bfseries\xiaochu\ziju{0.5}综合论文训练\par}%
+ \vskip 2.3cm%
+ \parbox[t][2.4cm][t]{\textwidth}{%
+ \heiti\xiaoer[1.56]%
+ \parindent=2em%
+ \hangindent=5em%
+ \makebox[3em][l]{题目:}%
+ \yihao[1.56]%
+ \CJKunderline[skip=false, thickness=0.05em, depth=0.12em]{\thu@title}\par
+ }\par
+ \vskip 2.5cm%
+ \parbox[t][6.0cm][t]{\textwidth}{%
+ \fangsong\sanhao[2.3]%
+ \leftskip=2.5cm%
+ \parindent=\z@
+ \def\thu@cover@item##1##2##3{%
+ \ifx##3\@empty\else
+ \thu@fixed@box{4em}{##1}:##2{##3}\\
+ \fi
+ }%
+ \def\thu@name@title@format##1##2{%
+ \thu@stretch{3em}{##1}\quad ##2%
+ }
+ \thu@cover@item{系别}{}{\thu@department}%
+ \thu@cover@item{专业}{}{\thu@discipline}%
+ \thu@cover@item{姓名}{\thu@name@title}{\thu@author}%
+ \thu@cover@item{指导教师}{\thu@name@title}{\thu@supervisor}%
+ \thu@cover@item{辅导教师}{\thu@name@title}{\thu@associate@supervisor}%
+ }\par
+ {\xiaosi\thu@format@date{\thu@date@zh@digit}{\thu@date}\par}%
+ \endgroup
+ \clearpage
+ \restoregeometry
+}
+\newcommand\thu@cover@postdoc{%
\begin{center}%
- \setlength{\thu@title@width}{3.5em}%
\renewcommand\ULthickness{0.7pt}%
\vspace*{0.35cm}%
{\sihao[2.6]%
- \thu@put@title{分类号}\thu@underline[3.7cm]{\thu@catalognumber}\hfill
- 密级\thu@underline[3.7cm]{\ifthu@secret\thu@secret@content\fi}\par
- \thu@put@title{U D C}\thu@underline[3.7cm]{\thu@udc}\hfill
+ \thu@stretch{3.1em}{分类号}\thu@underline[3.7cm]{\thu@clc}\hfill
+ 密级\thu@underline[3.7cm]{\thu@secret@level}\par
+ \thu@stretch{3.1em}{U D C}\thu@underline[3.7cm]{\thu@udc}\hfill
编号\thu@underline[3.7cm]{\thu@id}\par
}%
\vskip 3.15cm%
{\sffamily\bfseries\xiaoer[2.6]%
- {\ziju{1.5}\thu@schoolname\par}%
+ {\ziju{1.5}清华大学\par}%
{\ziju{0.5}博士后研究工作报告\par}%
}%
\vskip 0.2cm%
\parbox[t][4.0cm][c]{\textwidth}{%
- \centering\sihao[3.46]\CJKunderline*[depth=1em]{\thu@ctitle}\par
+ \centering\sihao[3.46]\CJKunderline*[depth=1em]{\thu@title}\par
}\par
\vskip 0.4cm%
- {\xiaosi\thu@cauthor\par}%
+ {\xiaosi\thu@author\par}%
\vskip 1.4cm%
{\xiaosi[1.58]\xeCJKsetup{underline/depth=0.9em}%
- 工作完成日期\quad\thu@CJKunderline[5.9cm]{\thu@postdoctordate}\par
+ 工作完成日期\quad
+ \thu@CJKunderline[5.9cm]{%
+ \thu@format@date{\thu@date@zh@digit@short}{\thu@start@date}—%
+ \thu@format@date{\thu@date@zh@digit@short}{\thu@end@date}
+ }\par
\vskip 0.55cm%
- 报告提交日期\quad\thu@CJKunderline[5.9cm]{\thu@cdate}\par
+ 报告提交日期\quad
+ \thu@CJKunderline[5.9cm]{\thu@format@date{\thu@date@zh@digit@short}{\thu@date}}\par
}%
\vskip 0.45cm%
- {\xiaosi[2]{\ziju{1}\thu@schoolname}\quad (北京)\par}%
+ {\xiaosi[2]{\ziju{1}清华大学}\quad (北京)\par}%
\vskip 0.25cm%
- {\xiaosi[2]\thu@cdate\par}%
+ {\xiaosi[2]\thu@format@date{\thu@date@zh@digit@short}{\thu@date}\par}%
\end{center}%
- \cleardoublepage
+}
+\newcommand\thu@titlepage@postdoc{%
\begin{center}%
\vspace*{1.5cm}%
\parbox[t][3cm][c]{\textwidth}{%
- \centering\sanhao[1.95]\thu@ctitle\par
+ \centering\sanhao[1.95]\thu@title\par
}\par
\vskip 0.15cm%
\parbox[t][3cm][c]{\textwidth}{%
- \centering\sihao[1.36]\thu@etitle\par
+ \centering\sihao[1.36]\thu@title@en\par
}\par
\vskip 0.4cm%
{\xiaosi[2.6]%
- \setlength{\thu@title@width}{11em}%
\begin{tabular}{l@{\quad}l}%
- \thu@put@title{博士后姓名} & \thu@cauthor \\
- \thu@put@title{流动站(一级学科)名称} & \thu@cfirstdiscipline \\
- \thu@put@title{专\quad{}业(二级学科)名称} & \thu@cseconddiscipline \\
+ \thu@stretch{11em}{博士后姓名} & \thu@author \\
+ \thu@stretch{11em}{流动站(一级学科)名称} & \thu@discipline@level@i \\
+ \thu@stretch{11em}{专\quad{}业(二级学科)名称} & \thu@discipline@level@ii \\
\end{tabular}\par
}%
\vskip 2.7cm%
{\xiaosi[2.6]%
- 研究工作起始时间\quad\thu@postdocstartdate\par
+ 研究工作起始时间\quad\thu@format@date{\thu@date@zh@digit}{\thu@start@date}\par
\vskip 0.1cm%
- 研究工作期满时间\quad\thu@postdocenddate\par
+ 研究工作期满时间\quad\thu@format@date{\thu@date@zh@digit}{\thu@end@date}\par
}%
\vskip 2.1cm%
- {\xiaosi[2.6]\thu@schoolname{}人事部(北京)\par}%
+ {\xiaosi[2.6]清华大学人事部(北京)\par}%
\vskip 0.6cm%
- {\wuhao\thu@cdate\par}%
+ {\wuhao\thu@format@date{\thu@date@zh@digit@short}{\thu@date}\par}%
\end{center}%
}
-\newcommand{\thu@first@titlepage@other}{
- \begin{center}
- \vspace*{-1.6cm}
- \parbox[b][2.4cm][t]{\textwidth}{%
- \ifthu@secret{\heiti\sanhao\thu@secretlevel\thu@secret@content}\else\rule{1cm}{0cm}\fi}
- \ifthu@bachelor
- \vskip0.65cm
- {\ifcsname lishu\endcsname\yihao\lishu\ziju{0.5}\thu@schoolname\else\includegraphics{tsinghua.pdf}\fi}
- \par\vskip1.5cm
- {\xiaochu\heiti\ziju{0.5}\textbf\thu@bachelor@subtitle}
- \vskip2.2cm\hskip0.8cm
- \noindent\heiti\xiaoer\thu@bachelor@title@pre\thu@title@sep
- \parbox[t]{12cm}{%
- \ignorespaces\yihao[1.51]%
- \renewcommand{\CJKunderlinebasesep}{0.25cm}%
- \renewcommand{\ULthickness}{1.3pt}%
- \xeCJKsetup{underline/format=\color{black}}%
- \CJKunderline*{\thu@ctitle}}%
- \vskip1.3cm
- \else
- \vskip0.8cm
- \parbox[t][9cm][t]{\paperwidth-8cm}{
- \renewcommand{\baselinestretch}{1.3}
- \begin{center}
- \yihao[1.2]{\sffamily\thu@ctitle}\par%
- \par\vskip 18bp%
- \xiaoer[1]\textrm{\thu@apply}%
- \end{center}}
- \fi
- \ifthu@bachelor
- \vskip0.75cm
- \ifx\thu@cassosupervisor\@empty%
- \def\thu@tempa{7.15cm}
- \else%
- \def\thu@tempa{8.15cm}
+\newcommand{\thu@authorization}{%
+\ifthu@degree@bachelor
+本人完全了解清华大学有关保留、使用学位论文的规定,即:学校有权保留学位
+论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部或部分内
+容,可以采用影印、缩印或其他复制手段保存该论文。
+\else
+本人完全了解清华大学有关保留、使用学位论文的规定,即:
+
+清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:(1)已获学位的研究生
+必须按学校规定提交学位论文,学校可以采用影印、缩印或其他复制手段保存研究生上交的
+学位论文;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料
+室等场所供校内师生阅读,或在校园网上供校内师生浏览部分内容\ifthu@degree@master 。\else ;
+(3)根据《中华人民共和国学位条例暂行实施办法》,向国家图书馆报送可以公开的学位
+论文。\fi
+
+本人保证遵守上述规定。
+\fi}
+\newcommand{\thu@authorizationaddon}{%
+ \ifthu@degree@bachelor(涉密的学位论文在解密后应遵守此规定)\else (保密的论文在解密后应遵守此规定)\fi}
+\newcommand{\thu@authorsig}{\ifthu@degree@bachelor 签\hskip1em名:\else 作者签名:\fi}
+\newcommand{\thu@teachersig}{导师签名:}
+\newcommand{\thu@frontdate}{%
+ 日\ifthu@degree@bachelor\hspace{1em}\else\hspace{2em}\fi 期:}
+\newcommand\copyrightpage[1][]{%
+ \ifthu@degree@postdoc\relax\else
+ \ifthu@degree@bachelor\clearpage\else\cleardoublepage\fi%
+ \def\thu@@tmp{#1}
+ \ifx\thu@@tmp\@empty
+ \ifthu@degree@bachelor\thu@authorization@mk\else%
+ \begin{list}{}{%
+ \topsep\z@%
+ \listparindent\parindent%
+ \parsep\parskip%
+ \setlength{\leftmargin}{0.9mm}%
+ \setlength{\rightmargin}{0.9mm}}%
+ \item[]\thu@authorization@mk%
+ \end{list}%
\fi%
- \parbox[t][\thu@tempa][t]{\textwidth}{%
- {\fangsong\sanhao[1.95]%
- \hspace*{1.9cm}
- \setlength{\thu@title@width}{4em}
- \setlength{\extrarowheight}{6pt}
- \begin{tabular}{p{\thu@title@width}@{}l@{\extracolsep{8pt}}l}
- \thu@put@title{\thu@department@title} & \thu@title@sep
- & \thu@cdepartment\\
- \thu@put@title{\thu@major@title} & \thu@title@sep
- & \thu@cmajor\\
- \thu@put@title{\thu@author@title} & \thu@title@sep
- & \thu@cauthor \\
- \thu@put@title{\thu@supervisor@title} & \thu@title@sep
- & \thu@csupervisor\\
- \ifx\thu@cassosupervisor\@empty\else%
- \thu@put@title{\thu@assosuper@title} & \thu@title@sep
- & \thu@cassosupervisor\\
- \fi
- \end{tabular}
- }}
\else
- \vskip 5bp
- \parbox[t][7.8cm][t]{\textwidth}{{\sanhao[1.5]
- \begin{center}\fangsong
- \setlength{\thu@title@width}{5em}
- \setlength{\extrarowheight}{4pt}
- \begin{tabular}{p{\thu@title@width}@{}c@{\extracolsep{8pt}}l}
- \thu@put@title{\thu@department@title} & \thu@title@sep
- & {\ziju{0.1875}\thu@cdepartment}\\
- \thu@put@title{\thu@major@title} & \thu@title@sep
- & {\ziju{0.1875}\thu@cmajor}\\
- \thu@put@title{\thu@author@title} & \thu@title@sep
- & {\ziju{0.6875}\thu@cauthor}\\
- \thu@put@title{\thu@supervisor@title} & \thu@title@sep
- & {\ziju{0.6875}\thu@csupervisor}\\
- \ifx\thu@cassosupervisor\@empty\else
- \thu@put@title{\thu@assosuper@title} & \thu@title@sep
- & {\ziju{0.6875}\thu@cassosupervisor}\\
- \fi
- \ifx\thu@ccosupervisor\@empty\else
- \ifthu@master
- \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep
- & {\ziju{0.6875}\thu@ccosupervisor}\\
- \fi
- \ifthu@doctor
- \thu@put@title{\thu@cosuper@title} & \thu@title@sep
- & {\ziju{0.6875}\thu@ccosupervisor}\\
- \fi
- \fi
- \end{tabular}
- \end{center}}}
- \fi
- \begin{center}
- {\ifthu@bachelor\vskip-1.0cm\xiaosi\else%
- \vskip-0.5cm\sanhao\fi%
- \songti\thu@cdate}
- \end{center}
- \end{center}} % end of titlepage
-\def\thu@master@art{Master of Arts}
-\def\thu@master@sci{Master of Science}
-\def\thu@doctor@phi{Doctor of Philosophy}
-\newcommand{\thu@engcover}{%
- \newif\ifthu@professional\thu@professionalfalse
- \ifthu@master
- \ifthenelse{\equal{\thu@edegree}{\thu@master@art}}
- {\relax}
- {\ifthenelse{\equal{\thu@edegree}{\thu@master@sci}}
- {\relax}
- {\thu@professionaltrue}}
- \fi
- \ifthu@doctor
- \ifthenelse{\equal{\thu@edegree}{\thu@doctor@phi}}
- {\relax}
- {\thu@professionaltrue}
+ \includepdf{#1}%
+ \fi
\fi
- \begin{center}
- \vspace*{-5pt}
- \parbox[t][5.2cm][t]{\paperwidth-7.2cm}{
- \renewcommand{\baselinestretch}{1.5}
- \begin{center}
- \erhao[1.1]\bfseries\sffamily\thu@etitle%
- \end{center}}
- \parbox[t][][t]{\paperwidth-7.2cm}{
- \renewcommand{\baselinestretch}{1.3}
- \begin{center}
- \sanhao%
- \ifthu@master Thesis \else Dissertation \fi
- Submitted to\\
- {\bfseries Tsinghua University}\\
- in partial fulfillment of the requirement\\
- for the \ifthu@professional professional \fi
- degree of\\
- {\bfseries\sffamily\thu@edegree}%
- \ifthu@professional\relax\else
- \\in\\[3bp]
- {\bfseries\sffamily\thu@emajor}%
- \fi
- \end{center}}
- \parbox[t][][b]{\paperwidth-7.2cm}{
- \renewcommand{\baselinestretch}{1.3}
- \begin{center}
- \sanhao\sffamily by\\[3bp]
- \bfseries\thu@eauthor%
- \ifthu@professional
- \ifx\thu@emajor\empty\relax\else
- \\(~\thu@emajor~)%
- \fi\fi
- \end{center}}
- \par\vspace{0.9cm}
- \parbox[t][2.1cm][t]{\paperwidth-7.2cm}{
- \renewcommand{\baselinestretch}{1.2}
- \xiaosan\centering
- \begin{tabular}{rl}
- \ifthu@master Thesis \else Dissertation \fi
- Supervisor : & \thu@esupervisor\\
- \ifx\thu@eassosupervisor\@empty
- \else Associate Supervisor : & \thu@eassosupervisor\\\fi
- \ifx\thu@ecosupervisor\@empty
- \else Cooperate Supervisor : & \thu@ecosupervisor\\\fi
- \end{tabular}}
- \parbox[t][2cm][b]{\paperwidth-7.2cm}{
- \begin{center}
- \sanhao\bfseries\sffamily\thu@edate
- \end{center}}
- \end{center}}
+}
\newcommand{\thu@authorization@mk}{%
- \ifthu@bachelor\vspace*{0.2cm}\else\vspace*{0.42cm}\fi % shit code!
- \begin{center}\erhao\heiti\thu@authtitle\end{center}
- \ifthu@bachelor\vskip5pt\else\vskip40pt\sihao[2.03]\fi\par
+ \ifthu@degree@bachelor\vspace*{0.2cm}\else\vspace*{0.42cm}\fi % shit code!
+ \begin{center}\erhao\heiti 关于学位论文使用授权的说明\end{center}
+ \ifthu@degree@bachelor\vskip5pt\else\vskip40pt\sihao[2.03]\fi\par
\thu@authorization\par
\textbf{\thu@authorizationaddon}\par
- \ifthu@bachelor\vskip0.7cm\else\vskip1.0cm\fi
- \ifthu@bachelor
+ \ifthu@degree@bachelor\vskip0.7cm\else\vskip1.0cm\fi
+ \ifthu@degree@bachelor
\indent\mbox{\thu@authorsig\thu@underline\relax%
\thu@teachersig\thu@underline\relax\thu@frontdate\thu@underline\relax}
\else
@@ -1000,83 +1260,52 @@
\thu@frontdate\thu@underline[7em]\relax\hspace*{1cm}
\endgroup
\fi}
-\def\makecover{%
- \thu@setup@pdfinfo\thu@makecover}
-\def\thu@setup@pdfinfo{%
- \ifthu@chinese
- \hypersetup{
- pdftitle = \thu@ctitle,
- pdfauthor = \thu@cauthor,
- pdfsubject = \thu@cdegree,
- pdfkeywords = \thu@ckeywords,
- }%
- \else
- \hypersetup{
- pdftitle = \thu@etitle,
- pdfauthor = \thu@eauthor,
- pdfsubject = \thu@edegree,
- pdfkeywords = \thu@ekeywords,
- }%
- \fi
- \hypersetup{
- pdfcreator={\thuthesis-v\version}}}
-\NewDocumentCommand{\thu@makecover}{o}{
- \phantomsection
- \pdfbookmark[-1]{\thu@ctitle}{ctitle}
- \normalsize%
- \begin{titlepage}
- \thu@first@titlepage
- \ifthu@bachelor\relax\else
- \ifthu@postdoctor\relax\else
- \cleardoublepage\thu@engcover
- \fi\fi
- \ifthu@postdoctor\relax\else%
- \ifthu@bachelor\clearpage\else\cleardoublepage\fi%
- \IfNoValueTF{#1}{%
- \ifthu@bachelor\thu@authorization@mk\else%
- \begin{list}{}{%
- \topsep\z@%
- \listparindent\parindent%
- \parsep\parskip%
- \setlength{\leftmargin}{0.9mm}%
- \setlength{\rightmargin}{0.9mm}}%
- \item[]\thu@authorization@mk%
- \end{list}%
- \fi%
- }{%
- \includepdf{#1}%
- }%
+\thu@define@key{
+ keywords,
+ keywords* = {
+ name = keywords@en,
+ },
+}
+\newcommand\thu@clist@use[2]{%
+ \def\thu@@tmp{}%
+ \kv@set@family@handler{thu@clist}{%
+ \ifx\thu@@tmp\@empty
+ \def\thu@@tmp{#2}%
+ \else
+ #2%
\fi
- \end{titlepage}
- \normalsize
- \thu@makeabstract
- \let\@tabular\thu@tabular}
+ ##1%
+ }%
+ \kvsetkeys@expandafter{thu@clist}{#1}%
+}
\newbox\thu@kw
\newcommand\thu@put@keywords[2]{%
\begingroup
\setbox\thu@kw=\hbox{#1}
- \ifthu@bachelor\indent\else\noindent\hangindent\wd\thu@kw\hangafter1\fi%
+ \ifthu@degree@bachelor\indent\else\noindent\hangindent\wd\thu@kw\hangafter1\fi%
\box\thu@kw#2\par
\endgroup}
-\newcommand{\thu@makeabstract}{%
- \ifthu@bachelor\clearpage\else\cleardoublepage\fi
+\newenvironment{abstract}{%
+ \ifthu@degree@bachelor\clearpage\else\cleardoublepage\fi
\thu@setchinese
\thu@chapter*[]{\cabstractname} % no tocline
- \ifthu@bachelor
- \pagestyle{thu@plain}
- \else
- \pagestyle{thu@headings}
- \fi
- \pagenumbering{Roman}
- \thu@cabstract
- \ifthu@doctor\vfill\else\vskip12bp\fi
- \thu@put@keywords{\textbf\thu@ckeywords@title}{\thu@ckeywords}
+}{%
+ \ifthu@degree@doctor\vfill\else\vskip12bp\fi
+ \thu@put@keywords{\textbf{关键词:}}{%
+ \thu@clist@use{\thu@keywords}{;}%
+ }%
+ \thu@setdefaultlanguage
+}
+\newenvironment{abstract*}{%
\thu@setenglish
\thu@chapter*[]{\eabstractname} % no tocline
- \thu@eabstract
- \ifthu@doctor\vfill\else\vskip12bp\fi
+}{%
+ \ifthu@degree@doctor\vfill\else\vskip12bp\fi
\thu@put@keywords{%
- \textbf{\ifthu@bachelor Keywords:\else Key Words:\fi\enskip}}{\thu@ekeywords}%
+ \textbf{\ifthu@degree@bachelor Keywords:\else Key Words:\fi\enskip}%
+ }{%
+ \thu@clist@use{\thu@keywords@en}{; }%
+ }%
\thu@setdefaultlanguage
}
\newenvironment{denotation}[1][2.5cm]{%
@@ -1103,25 +1332,24 @@
其他个人和集体,均已在文中以明确方式标明。}
\newcommand{\thu@signature}{签\hspace{1em}名:}
\newcommand{\thu@backdate}{日\hspace{1em}期:}
-\NewDocumentEnvironment{acknowledgement}{o}{%
- \thu@chapter*{\thu@ack@name}
- }
- {
- \ifthu@postdoctor\relax\else%
- \IfNoValueTF{#1}{%
- \thu@chapter*{\thu@declarename}
- \par{\xiaosi\parindent2em\thu@declaretext}\vskip2cm
- {\xiaosi\hfill\thu@signature\thu@underline[2.5cm]\relax%
- \thu@backdate\thu@underline[2.5cm]\relax}%
- }{%
- \includepdf[pagecommand={\thispagestyle{thu@empty}%
- \phantomsection\addcontentsline{toc}{chapter}{\thu@declarename}%
- }]{#1}%
- }%
- \fi
- }
-\let\ack\acknowledgement
-\let\endack\endacknowledgement
+\newenvironment{acknowledgements}{%
+ \thu@chapter*{\thu@ack@name}%
+}{}
+\newcommand\statement[1][]{%
+ \def\thu@@tmp{#1}%
+ \ifx\thu@@tmp\@empty
+ \thu@chapter*{\thu@declarename}%
+ \par{\xiaosi\parindent2em\thu@declaretext}\vskip2cm%
+ {\xiaosi\hfill\thu@signature\thu@underline[2.5cm]\relax
+ \thu@backdate\thu@underline[2.5cm]\relax}%
+ \else
+ \includepdf[pagecommand={\thispagestyle{thu@empty}%
+ \addcontentsline{toc}{chapter}{\thu@declarename}%
+ }]{#1}%
+ \fi
+}
+\let\acknowledgement\acknowledgements
+\let\endacknowledgement\endacknowledgements
\def\thu@starttoc#1{% #1: float type, prepend type name in \listof*** entry.
\let\oldnumberline\numberline
\def\numberline##1{\oldnumberline{\csname #1name\endcsname\hskip.4em ##1}}
@@ -1132,7 +1360,7 @@
{\thu@chapter*[]{\csname list#1name\endcsname}\thu@starttoc{#1}}
{\thu@chapter*{\csname list#1name\endcsname}\thu@starttoc{#1}}}
\renewcommand\listoffigures{\thu@listof{figure}}
-\renewcommand*\l@figure{\ifthu@bachelor\relax\else\addvspace{6bp}\fi\@dottedtocline{1}{0em}{4em}}
+\renewcommand*\l@figure{\ifthu@degree@bachelor\relax\else\addvspace{6bp}\fi\@dottedtocline{1}{0em}{4em}}
\renewcommand\listoftables{\thu@listof{table}}
\let\l@table\l@figure
\def\ext@equation{loe}
@@ -1141,12 +1369,11 @@
{\protect\numberline{#1}}}
\newcommand\listofequations{\thu@listof{equation}}
\let\l@equation\l@figure
-\newcommand\bibstyle@inline{\bibpunct{[}{]}{,}{n}{,}{,}}
\DeclareRobustCommand\inlinecite{\@inlinecite}
\def\@inlinecite#1{\begingroup\let\@cite\NAT@citenum\citep{#1}\endgroup}
\let\onlinecite\inlinecite
\renewcommand\bibsection{\thu@chapter*{\bibname}}
-\renewcommand\bibfont{\ifthu@bachelor\wuhao[1.619]\else\wuhao[1.5]\fi}
+\renewcommand\bibfont{\ifthu@degree@bachelor\wuhao[1.619]\else\wuhao[1.5]\fi}
\setlength\bibhang{2\ccwd}
\addtolength{\bibsep}{-0.7em}
\setlength{\labelsep}{0.4em}
@@ -1155,6 +1382,17 @@
\bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}}
\expandafter\newcommand\csname bibstyle@thuthesis-author-year\endcsname{%
\bibpunct{(}{)}{;}{a}{,}{,}}
+\expandafter\newcommand\csname bibstyle@thuthesis-bachelor\endcsname{%
+ \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}}
+\@namedef{bibstyle@thuthesis-inline}{\bibpunct{[}{]}{,}{n}{,}{,}}
+\thu@define@key{
+ cite-style = {
+ name = cite@style,
+ code = {
+ \@nameuse{bibstyle@thuthesis-\thu@cite@style}
+ },
+ }
+}
\patchcmd\NAT@citexnum{%
\@ifnum{\NAT@ctype=\z@}{%
\if*#2*\else\NAT@cmt#2\fi
@@ -1189,19 +1427,59 @@
}{%
\def@NAT@last@yr{-\NAT@penalty}%
}{}{}
-\let\thu@appendix\appendix
-\renewenvironment{appendix}{%
+\thu@define@key{
+ toc-depth = {
+ name = toc@depth,
+ code = {\addtocontents{toc}{\protect\setcounter{tocdepth}{\thu@toc@depth}}},
+ },
+}
+\g@addto@macro\appendix{\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}}
+\newenvironment{survey}{%
+ \chapter{外文资料的调研阅读报告}%
+ \thu@setenglish
\let\title\thu@appendix@title
- \thu@appendix}{%
- \let\title\@gobble}
-\let\title\@gobble
-\newcommand{\thu@appendix@title}[1]{%
- \begin{center}
- \xiaosi[1.667] #1
- \end{center}}
-\newlist{translationbib}{enumerate}{1}
-\setlist[translationbib]{label=[\arabic*],align=left,nosep,itemsep=6bp,
- leftmargin=10mm,labelsep=!,before=\vspace{0.5\baselineskip}\wuhao[1.3]}
+ \let\maketitle\thu@appendix@maketitle
+ \renewcommand\bibname{参考文献}%
+ \let\bibsection\thu@appendix@bibsection
+ \renewcommand\@bibunitname{main-survey}%
+ \let\bibliographystyle\defaultbibliographystyle
+ \let\bibliography\thu@appendix@bibliography
+ \begin{bibunit}%
+}{%
+ \end{bibunit}%
+}
+\newenvironment{translation}{%
+ \chapter{外文资料的书面翻译}%
+ \thu@setenglish
+ \let\title\thu@appendix@title
+ \let\maketitle\thu@appendix@maketitle
+ \renewcommand\bibname{书面翻译对应的原文索引}%
+ \let\bibsection\thu@appendix@bibsection
+ \renewcommand\@bibunitname{main-translation}%
+ \let\bibliographystyle\defaultbibliographystyle
+ \let\bibliography\thu@appendix@bibliography
+ \begin{bibunit}%
+}{%
+ \end{bibunit}%
+}
+\DeclareRobustCommand\thu@appendix@title[1]{\gdef\thu@appendix@@title{#1}}
+\newcommand\thu@appendix@maketitle{%
+ \par
+ \begin{center}%
+ \xiaosi[1.667]\thu@appendix@@title
+ \end{center}%
+ \par
+}
+\newcommand\thu@appendix@bibsection{%
+ \par
+ \vskip 20bp%
+ \begingroup
+ \centering
+ \xiaosi[1.667]\bibname\par
+ \endgroup
+ \vskip 6bp%
+}%
+\newcommand\thu@appendix@bibliography[1]{\putbib[#1]}
\newenvironment{resume}[1][\thu@resume@title]{%
\thu@chapter*{#1}}{}
\newcommand{\resumeitem}[1]{%
@@ -1216,12 +1494,108 @@
leftmargin=10mm,labelsep=!,before=\xiaosi[1.26]}
\def\publicationskip{\bigskip\bigskip}
\newcommand\thu@atendpackage{\csname ctex_at_end_package:nn\endcsname}
+\thu@atendpackage{hyperref}{
+ \hypersetup{
+ linktoc = all,
+ bookmarksnumbered = true,
+ bookmarksopen = true,
+ bookmarksopenlevel = 1,
+ unicode = true,
+ psdextra = true,
+ breaklinks = true,
+ plainpages = false,
+ hidelinks,
+ }%
+ \newcounter{thu@bookmark}
+ \renewcommand\thu@pdfbookmark[2]{%
+ \phantomsection
+ \stepcounter{thu@bookmark}%
+ \pdfbookmark[#1]{#2}{thuchapter.\thethu@bookmark}%
+ }
+ \pdfstringdefDisableCommands{
+ \let\\\@empty
+ \let\hspace\@gobble
+ }%
+ \@ifpackagelater{hyperref}{2019/04/27}{}{%
+ \g@addto@macro\psdmapshortnames{\let\mu\textmu}
+ }%
+ \AtBeginDocument{%
+ \ifthu@language@chinese
+ \hypersetup{
+ pdftitle = \thu@title,
+ pdfauthor = \thu@author,
+ pdfsubject = \thu@degree@name,
+ pdfkeywords = \thu@keywords,
+ }%
+ \else
+ \hypersetup{
+ pdftitle = \thu@title@en,
+ pdfauthor = \thu@author@en,
+ pdfsubject = \thu@degree@name@en,
+ pdfkeywords = \thu@keywords@en,
+ }%
+ \fi
+ \hypersetup{
+ pdfcreator={\thuthesis-v\version}}
+ }%
+}
\thu@atendpackage{nomencl}{
\let\nomname\thu@denotation@name
\def\thenomenclature{\begin{denotation}[\nom@tempdim]}
\def\endthenomenclature{\end{denotation}}
}
-\NewDocumentCommand{\shuji}{O{\thu@ctitle} O{\thu@cauthor}}{%
+\AtBeginDocument{%
+ \let\thu@LT@array\LT@array
+ \def\LT@array{\dawu[1.5]\thu@LT@array} % set default font size
+}
+\thu@atendpackage{siunitx}{%
+ \sisetup{
+ group-minimum-digits = 4,
+ separate-uncertainty = true,
+ inter-unit-product = \ensuremath{{}\cdot{}},
+ }
+ \newcommand\thu@set@siunitx@language{%
+ \ifthu@language@chinese
+ \sisetup{
+ list-final-separator = { 和 },
+ list-pair-separator = { 和 },
+ range-phrase = {~},
+ }%
+ \else
+ \ifthu@language@english
+ \sisetup{
+ list-final-separator = { and },
+ list-pair-separator = { and },
+ range-phrase = { to },
+ }%
+ \fi
+ \fi
+ }
+ \thu@set@siunitx@language
+ \thu@addto{language}{\thu@set@siunitx@language}
+}
+\thu@atendpackage{ntheorem}{%
+ \theorembodyfont{\normalfont}%
+ \theoremheaderfont{\normalfont\sffamily}%
+ \theoremsymbol{\ensuremath{\square}}%
+ \newtheorem*{proof}{\thu@proof@name}%
+ \theoremstyle{plain}%
+ \theoremsymbol{}%
+ \theoremseparator{\thu@theorem@separator}%
+ \newtheorem{assumption}{\thu@assumption@name}[chapter]%
+ \newtheorem{definition}{\thu@definition@name}[chapter]%
+ \newtheorem{proposition}{\thu@proposition@name}[chapter]%
+ \newtheorem{lemma}{\thu@lemma@name}[chapter]%
+ \newtheorem{theorem}{\thu@theorem@name}[chapter]%
+ \newtheorem{axiom}{\thu@axiom@name}[chapter]%
+ \newtheorem{corollary}{\thu@corollary@name}[chapter]%
+ \newtheorem{exercise}{\thu@exercise@name}[chapter]%
+ \newtheorem{example}{\thu@example@name}[chapter]%
+ \newtheorem{remark}{\thu@remark@name}[chapter]%
+ \newtheorem{problem}{\thu@problem@name}[chapter]%
+ \newtheorem{conjecture}{\thu@conjecture@name}[chapter]%
+}
+\NewDocumentCommand{\spine}{O{\thu@title} O{\thu@author}}{%
\newpage\thispagestyle{empty}%
\fangsong\addCJKfontfeatures*{RawFeature={vertical:}}
\xiaosan\ziju{0.4}%
diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.sty b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.sty
deleted file mode 100644
index 87585f53963..00000000000
--- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-\ProvidesPackage{thuthesis}[2007/11/30 4.1 put any packages you would like to use here]
-
-% 处理数学公式中的黑斜体的宏包
-% \RequirePackage{bm}
-
-% 不同于 \mathcal \mathfrak 之类的英文花体字体
-% \RequirePackage{mathrsfs}
-
-% 表格中支持跨行
-\RequirePackage{multirow}
-
-% 固定宽度的表格
-\RequirePackage{tabularx}
-
-% 表格中的反斜线
-\RequirePackage{diagbox}
-
-% 确定浮动对象的位置,可以使用 H,强制将浮动对象放到这里(可能效果很差)
-\RequirePackage{float}
-
-% 浮动图形控制宏包。
-% 允许上一个 section 的浮动图形出现在下一个 section 的开始部分
-% 该宏包提供处理浮动对象的 \FloatBarrier 命令,使所有未处
-% 理的浮动图形立即被处理。这三个宏包仅供参考,未必使用:
-% \RequirePackage[below]{placeins}
-% \RequirePackage{floatflt} % 图文混排用宏包
-% \RequirePackage{rotating} % 图形和表格的控制旋转
-
-% 给自定义的宏后面自动加空白
-% \RequirePackage{xspace}
-
-% 借用 ltxdoc 里面的几个命令。
-\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}}
-
-\newcommand*{\meta}[1]{{%
- \ensuremath{\langle}\rmfamily\itshape#1\/\ensuremath{\rangle}}}
-\providecommand\marg[1]{%
- {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
-\providecommand\oarg[1]{%
- {\ttfamily[}\meta{#1}{\ttfamily]}}
-\providecommand\parg[1]{%
- {\ttfamily(}\meta{#1}{\ttfamily)}}
-\providecommand\pkg[1]{{\sffamily#1}}
-
-% 定义自己常用的东西
-\newcommand{\china}{中华人民共和国}
-
-\endinput