-
Notifications
You must be signed in to change notification settings - Fork 87
/
ucasthesis.dtx
2858 lines (2794 loc) · 94.1 KB
/
ucasthesis.dtx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% \iffalse
% Local Variables:
% mode: doctex
% TeX-master: t
% End:
% \fi
%
% \iffalse meta-comment
%
% Copyright (C) 2005-2013 by Ruini Xue <xueruini@gmail.com>
% Copyright (C) 2013-2018 derived by Chaolu <wuchaolu@gmail.com>
% This file is part of the UCASThesis package project, which is
% originally derived from ThuThesis under LPPL.
%
% 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.
%
% $Id$
%
% \fi
%
% \CheckSum{0}
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
% Digits \0\1\2\3\4\5\6\7\8\9
% Exclamation \! Double quote \" Hash (number) \#
% Dollar \$ Percent \% Ampersand \&
% Acute accent \' Left paren \( Right paren \)
% Asterisk \* Plus \+ Comma \,
% Minus \- Point \. Solidus \/
% Colon \: Semicolon \; Less than \<
% Equals \= Greater than \> Question mark \?
% Commercial at \@ Left bracket \[ Backslash \\
% Right bracket \] Circumflex \^ Underscore \_
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
% \iffalse
%<*driver>
\ProvidesFile{ucasthesis.dtx}[2014/10/01 1.0 dev University of Chinese Academy of Sciences Thesis Template]
\documentclass[10pt]{ltxdoc}
\usepackage{dtx-style}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%\OnlyDescription
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
% \GetFileInfo{\jobname.dtx}
% \MakeShortVerb{\|}
%
% \def\ucasthesis{\textsc{ucas}\-\textsc{Thesis}}
% \def\pkg#1{\texttt{#1}}
%
%
% \DoNotIndex{\begin,\end,\begingroup,\endgroup}
% \DoNotIndex{\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi}
% \DoNotIndex{\let,\def,\xdef,\newcommand,\renewcommand}
% \DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect}
% \DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize}
% \DoNotIndex{\small,\footnotesize,\scriptsize,\tiny}
% \DoNotIndex{\normalfont,\bfseries,\slshape,\interlinepenalty}
% \DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad}
% \DoNotIndex{\centering,\raggedright}
% \DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize}
% \DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne}
% \DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass}
% \DoNotIndex{\AtBeginDocument,\AtEndDocument}
%
% \IndexPrologue{\section*{索引}%
% \addcontentsline{toc}{section}{索~~~~引}}
% \GlossaryPrologue{\section*{修改记录}%
% \addcontentsline{toc}{section}{修改记录}}
%
% \renewcommand{\abstractname}{摘~~要}
% \renewcommand{\contentsname}{目~~录}
%
% \makeatletter
% \let\@fnsymbol\@arabic
% \makeatother
%
% \title{\ucasthesis:中国科学院大学学位论文模板\thanks{University of Chinese Academy of Sciences \LaTeX{} Thesis Template.}}
% \author{{\fangsong 作者:朝鲁\thanks{wuchaolu@gmail.com}}\\[5pt]{\fangsong 中国科学院计算技术研究所}\\[5pt] \texttt{wuchaolu@gmail.com}\\{\fangsong 原作者:薛瑞尼\thanks{LittleLeo@newsmth}}\\[5pt]{\fangsong 清华大学计算机系高性能所}\\[5pt] \texttt{xueruini@gmail.com}}
% \date{v\fileversion\ (\filedate)}
% \maketitle\thispagestyle{empty}
% \changes{v1.0 }{2014/09/20}{Rebase from ThuThesis v4.8。为防止后续开发工作混淆,在UCASThesis中清空了过往的changes
% ,如有需要查阅先前changelog的开发者,请参照ThuThesis的github log。本版本重新适应了中国科学院大学学位论文需求,并重新
% 定义版本号为v1.0。论文模板的一些针对清华大学学位论文文档格式的细致说明问题,由于我本人时间精力有限,目前并未进行较大
% 改动,请各位见谅。}
% \changes{v1.1 }{2016/01/05}{向上兼容支持Tex2015, CTEX2.0+,同时开始使用固定字体配置。}
% \changes{v1.2 }{2018/03/05}{替换了BST文件为胡海星的版本,支持了online以及多种文献格式。同时更新了相关版权信息。}
% \changes{v2.0 }{2018/03/17}{更新模板为国科大统一标准。}
%
% \begin{abstract}\noindent
% 此宏包旨在建立一个简单易用的中国科学院大学学位论文模板,包括硕士
% 论文、博士论文。
% \end{abstract}
%
% \vskip2cm
% \def\abstractname{免责声明}
% \begin{abstract}
% \noindent
% \begin{enumerate}
% \item 本模板是以薛瑞尼维护的清华大学学位论文模板(ThuThesis)为基础制作的衍生版,
% 本模板发布遵守 \LaTeX{} Project Public License,使用前请认真阅读协议内容。
% \item 本模板依据《中国科学院大学研究生学位论文撰写规定》、《国科大版论文模板》,
% 并参考中科院计算所提供的Word版学位论文示例的具体格式制作而成,
% 旨在供中国科学院大学毕业生撰写学位论文使用。
% \item 本模板仅为作者个人对官方文件的参考实现,不保证中国科学院大学或各个研究所负责格式
% 审查的老师不提意见。任何由于使用本模板而引起的论文格式审查问题均与本模板作者无关。
% \item 任何个人或组织以本模板为基础进行修改、扩展而生成的新的专用模板,请严格遵
% 守 \LaTeX{} Project Public License 协议。由于违反协议而引起的任何纠纷争端均与
% 本模板作者无关。
% \end{enumerate}
% \end{abstract}
%
%
% \clearpage
% \begin{multicols}{2}[
% \section*{\contentsname}
% \setlength{\columnseprule}{.4pt}
% \setlength{\columnsep}{18pt}]
% \tableofcontents
% \end{multicols}
%
% \clearpage
% \pagenumbering{arabic}
% \pagestyle{headings}
% \section{模板介绍}
% \ucasthesis\ (\textbf{UCAS} \textbf{Thesis}) 是为了帮助中国科学院大学毕业
% 生撰写学位论文而编写的 \LaTeX{} 论文模板。
%
% 本文档将尽量完整的介绍模板的使用方法,如有不清楚之处可以参考示例文档或者给邮件
% 列表(见后)写信,欢迎感兴趣的同学出力完善此使用手册。由于个人水平有限,虽然现
% 在的这个版本基本上满足了学校的要求,但难免还存在不足之处,欢迎大家积极反馈。
%
% {\color{blue}\fangsong 模板的作用在于减轻论文写作过程中格式调整的时间,其前提就是遵
% 守模板的用法,否则即使使用了 \ucasthesis{} 也难以保证输出的论文符合学校规范。}
%
%
% \section{安装}
% \label{sec:installation}
%
% \subsection{ThuThesis下载}
% ThuThesis 相关链接:
% \begin{itemize}
% \item 主页:
% \href{https://github.com/xueruini/thuthesis}{Github}\footnote{已经从
% \url{http://thuthesis.sourceforge.net}迁移至此。}
% \item 下载:\href{http://code.google.com/p/thuthesis/}{Google Code}
% \item 同时本模板也提交至
% \href{http://www.ctan.org/macros/latex/contrib/thuthesis}{CTAN}
% \end{itemize}
% 除此之外,不再维护任何镜像。
%
% ThuThesis 的开发版本同样可以在 Github 上获得:
% \begin{shell}
% $ git clone git://github.com/xueruini/thuthesis.git
% \end{shell}
%
% \subsection{UCASThesis下载}
% UCASThesis 相关链接:
% \href{https://github.com/xiaoyao9933/ucasthesis}{Github}
% UCASThesis 的开发版本同样可以在 Github 上获得:
% \begin{shell}
% $ git clone git://github.com/xiaoyao9933/ucasthesis.git
% \end{shell}
% \subsection{模板的组成部分}
% 下表列出了 \ucasthesis{} 的主要文件及其功能介绍:
%
% \begin{center}
% \begin{longtable}{l|p{10cm}}
% \hline
% {\heiti 文件(夹)} & {\heiti 功能描述}\\\hline\hline
% \endfirsthead
% \hline
% {\heiti 文件(夹)} & {\heiti 功能描述}\\\hline\hline
% \endhead
% \endfoot
% \endlastfoot
% ucasthesis.ins & 模板驱动文件 \\
% ucasthesis.dtx & 模板文档代码的混合文件\\
% ucasthesis.cls & 模板类文件\\
% ucasthesis.cfg & 模板配置文件\\
% ucasbib.bst & 参考文献样式文件\\\hline
% main.tex & 示例文档主文件\\
% spine.tex & 书脊示例文档\\
% ref/ & 示例文档参考文献目录\\
% data/ & 示例文档章节具体内容\\
% figures/ & 示例文档图片路径\\
% ucastils.sty & 为示例文档加载其它宏包\\\hline
% Makefile & self-explanation \\
% Readme & self-explanation\\
% \textbf{ucasthesis.pdf} & 用户手册(本文档)\\\hline
% \end{longtable}
% \end{center}
%
% 需要说明几点:
% \begin{itemize}
% \item \emph{ucasthesis.cls} 和 \emph{ucasthesis.cfg} 可以
% 由 \emph{ucasthesis.ins} 和 \emph{ucasthesis.dtx} 生成,但为了降低新
% 手用户的使用难度,故将 cls和 cfg 一起发布。
% \item 使用前认真阅读文档:\emph{ucasthesis.pdf}.
% \end{itemize}
%
% \subsection{准备工作}
% \label{sec:prepare}
% 本模板需要基于texlive 2014以上版本编译通过。\\
% 本模板用到以下宏包:
%
% \begin{center}
% \begin{minipage}{1.0\linewidth}\centering
% \begin{tabular}{*{6}{l}}\hline
% ifxetex & xunicode & CJK\footnote{版本要求:$\geq$ v4.8.1} & xeCJK & \pkg{CJKpunct} & \pkg{ctex} \\
% array & booktabs & longtable & amsmath & amssymb & ntheorem \\
% indentfirst & paralist & txfonts & natbib & hyperref \\
% graphicx & \pkg{subcaption} &
% \pkg{caption}\footnote{版本要求:$\geq$2006/03/21 v3.0j} &
% \pkg{ucasbib.bst} & &\\\hline
% \end{tabular}
% \end{minipage}
% \end{center}
%
% 这些包在常见的 \TeX{} 系统中都有,如果没有请到 \url{www.ctan.org} 下载。推
% 荐 \TeX\ Live。
%
%
% \subsection{开始安装}
% \label{sec:install}
%
% \subsubsection{生成模板}
% \label{sec:generate-cls}
% {\heiti 说明:默认的发行包中已经包含了所有文件,可以直接使用。如果对如何由 dtx 生
% 成模板文件以及模板文档不感兴趣,请跳过本小节。}
%
% 模板解压缩后生成文件夹 ucasthesis-VERSION\footnote{VERSION 为版本号。},其中包括:
% 模板源文件(ucasthesis.ins 和 ucasthesis.dtx),参考文献样式 ucasbib.bst,示例文档
% (main.tex,spine.tex,ucastils.sty\footnote{我把可能用到但不一定用到的包以及一
% 些命令定义都放在这里面,以免 ucasthesis.cls 过分臃
% 肿。},data/ 和 figures/ 和 ref/)。在使用之前需要先生成模板文件和配置文件
% (具体命令细节请参考 |Readme| 和 |Makefile|):
%
% \begin{shell}
% $ cd ucasthesis-VERSION
% # 生成 ucasthesis.cls 和 ucasthesis.cfg
% $ latex ucasthesis.ins
%
% # 下面的命令用来生成用户手册,可以不执行
% $ latex ucasthesis.dtx
% $ makeindex -s gind.ist -o ucasthesis.ind ucasthesis.idx
% $ makeindex -s gglo.ist -o ucasthesis.gls ucasthesis.glo
% $ latex ucasthesis.dtx
% $ latex ucasthesis.dtx % 生成说明文档 ucasthesis.dvi
% \end{shell}
%
%
% \subsubsection{dvi$\rightarrow$ps$\rightarrow$pdf}
% \label{sec:dvipspdf}
% 很多用户对 \LaTeX{} 命令执行的次数不太清楚,一个基本的原则是多次运行 \LaTeX{}
% 命令直至不再出现警告。下面给出生成示例文档的详细过程(\# 开头的行为注释),首先
% 来看经典的 \texttt{dvi$\rightarrow$ps$\rightarrow$pdf} 方式:
% \begin{shell}
% # 1. 发现里面的引用关系,文件后缀 .tex 可以省略
% $ latex main
%
% # 2. 编译参考文件源文件,生成 bbl 文件
% $ bibtex main
%
% # 3. 下面解决引用
% $ latex main
% # 如果是 GBK 编码,此处运行:
% # $ gbk2uni main # 防止书签乱码
% $ latex main # 此时生成完整的 dvi 文件
%
% # 4. 生成 ps
% $ dvips main.dvi
%
% # 5. 生成 pdf
% $ ps2pdf main.ps
% \end{shell}
%
% 模板已经把纸型信息写入目标文件,这样执行 \texttt{dvips} 时就可以避免由于遗忘
% \texttt{-ta4} 参数而导致输出不合格的文件(因为 \texttt{dvips} 默认使用
% letter 纸型)。
%
% \subsubsection{dvipdfm(x)}
% \label{sec:dvipdfmx}
% 如果使用 dvipdfm(x),那么在生成完整的 dvi 文件之后(参见上面的例子),可以直接得到 pdf:
% \begin{shell}%
% $ dvipdfm main.dvi
% # 或者
% $ dvipdfmx main.dvi
% \end{shell}
%
% \subsubsection{pdflatex}
% \label{sec:pdflatex}
% 如果使用 PDF\LaTeX,按照第~\ref{sec:dvipspdf} 节的顺序执行到第 3 步即可,不再经
% 过中间转换。
%
% 需要注意的是 PDF\LaTeX\ 不能处理常见的 EPS 图形,需要先用 epstopdf 将其转化
% 成 PDF。不过 PDF\LaTeX\ 增加了对 png,jpg 等标量图形的支持,比较方便。
%
% \subsubsection{xelatex}
% \label{sec:xelatex}
% XeTeX 最大的优势就是不再需要繁琐的字体配置。\ucasthesis{} 通过 \pkg{xeCJK} 来控
% 制中文字体和标点压缩。模板里默认用的是中易的四款免费字体(宋,黑,楷,仿宋),
% 用户可以根据自己的实际情况方便的替换。
%
% Xe\LaTeX\ 的使用步骤同 PDF\LaTeX。
%
%
% \subsubsection{自动化过程}
% \label{sec:automation}
% 上面的例子只是给出一般情况下的使用方法,可以发现虽然命令很简单,但是每次都输入
% 的话还是非常罗嗦的,所以 \ucasthesis{} 还提供了一些自动处理的文件。
%
% 我们提供了一个简单的 \texttt{Makefile}:
% \begin{shell}
% $ make clean
% $ make cls # 生成 ucasthesis.cls 和 ucasthesis.cfg
% $ make doc # 生成说明文档 ucasthesis.pdf
% $ make thesis # 生成示例文档 main.pdf
% $ make spine # 生成书脊 spine.pdf
% \end{shell}
%
% \texttt{Makefile} 默认采用 Xe\LaTeX\ 编译,可以根据自己的
% 需要修改 \texttt{config.mk} 中的参数设置。
%
%
% \subsection{升级}
% \label{sec:updgrade}
% \ucasthesis{} 升级非常简单,下载最新的版本,
% 将 ucasthesis.ins,ucasthesis.dtx 和ucasbib.bst 拷贝至工作目录覆盖相应的文件,然后
% 运行:
% \begin{shell}
% $ latex ucasthesis.ins
% \end{shell}
%
% 生成新的类文件和配置文件即可。当然也可以直接拷贝 ucasthesis.cls, ucasthesis.cfg
% 和 ucasbib.bst,免去上面命令的执行。只要明白它的工作原理,这个不难操作。
%
%
% \section{使用说明}
% \label{sec:usage}
% 本手册假定用户已经能处理一般的 \LaTeX{} 文档,并对 \BibTeX{} 有一定了解。如果你
% 从来没有接触过 \TeX 和 \LaTeX,建议先学习相关的基础知识。磨刀不误砍柴工!
%
% \subsection{关于提问}
% \label{sec:howtoask}
% \begin{itemize}\addtolength{\itemsep}{-5pt}
% \item \url{http://groups.google.com/group/thuthesis}
% 或直接给\href{mailto:thuthesis@googlegroups.com}{邮件列表}写信。
% \item Google Groups mirror: \url{http://thuthesis.1048723.n5.nabble.com/}
% \item \href{http://www.newsmth.net/bbsdoc.php?board=TeX}{\TeX@newsmth}
% \end{itemize}
%
% \subsection{\ucasthesis{} 使用向导}
% \label{sec:userguide}
% 推荐新用户先看网上的《\ucasthesis{} 使用向导》幻灯片\footnote{有点老了,不过还是
% 很有帮助的。},那份讲稿比这份文档简练易懂。
%
% \subsection{\ucasthesis{} 示例文件}
% \label{sec:userguide1}
% 模板核心文件只有三个:ucasthesis.cls,ucasthesis.cfg 和 ucasbib.bst,但是如果没有
% 示例文档用户会发现很难下手。所以推荐新用户从模板自带的示例文档入手,里面包括了
% 论文写作用到的所有命令及其使用方法,只需要用自己的内容进行相应替换就可以。对于
% 不清楚的命令可以查阅本手册。下面的例子描述了模板中章节的组织形式,来自于示例文
% 档,具体内容可以参考模板附带的 main.tex 和 data/。
%
% \begin{example}
%
% \documentclass[master,adobefonts]{ucasthesis}
% %\documentclass[doctor]{ucasthesis}
% %\documentclass[%
% % master|doctor, % 必选选项
% % secret, % 可选选项
% % colorlink, % 可选项
% % ]{ucasthesis}
%
% % 所有其它可能用到的包都统一放到这里了,可以根据自己的实际添加或者删除。
% \usepackage{ucastils}
%
% % 可以在这里修改配置文件中的定义,导言区可以使用中文。
% % \def\myname{薛瑞尼}
%
% \begin{document}
%
% % 指定图片的搜索目录
% \graphicspath{{figures/}}
%
%
% %%% 封面部分
% \frontmatter
% \input{data/cover}
% \makecover
%
% % 目录
% \tableofcontents
%
% % 符号对照表
% \input{data/denotation}
%
%
% %%% 正文部分
% \mainmatter
% \include{data/chap01}
% \include{data/chap02}
%
%
% %%% 其它部分
% \backmatter
% % 插图索引
% \listoffigures
% % 表格索引
% \listoftables
% % 公式索引
% \listofequations
%
%
% % 参考文献
% \bibliographystyle{ucasbib}
% \bibliography{ref/refs}
%
%
% % 致谢
% \include{data/ack}
%
% % 附录
% \begin{appendix}
% \input{data/appendix01}
% \end{appendix}
%
% % 个人简历
% \include{data/resume}
%
% \end{document}
% \end{example}
%
% \subsection{选项}
% \label{sec:option}
% 本模板提供了一些选项以方便使用:
% \begin{description}
% \item[master]
% 如果写硕士论文将此选项打开。
% \begin{example}
% \documentclass[master]{ucasthesis}
% \end{example}
%
% \item[doctor]
% 如果写博士论文将此选项打开。
% \begin{example}
% \documentclass[doctor]{ucasthesis}
% \end{example}
%
% \item[postdoctor]
% 如果写博士博士后出站报告将此选项打开。
% \begin{example}
% \documentclass[postdoctor]{ucasthesis}
% \end{example}
%
% \item[secret]
% 涉秘论文开关。配合另外两个命令 |\secretlevel| 和 |\secretyear| 分别用来指定保
% 密级别和时间。二者默认分别为\textbf{秘密}和当前年份。可以通过:
% \cs{secretlevel}|{|绝密|}| 和 \cs{secretyear}|{|10|}| 年独立修改。
% \begin{example}
% \documentclass[master, secret]{ucasthesis}
% \end{example}
%
%
% \item[openany]
% 正规出版物的章节出现在奇数页,也就是右手边的页面,这就是 \texttt{openright},
% 也是 \ucasthesis 的默认选项。在这种情况下,如果前一章的最后一页也是奇数,那么
% 模板会自动生成一个纯粹的空白页,很多人不是很习惯这种方式,而且学校的格式似乎
% 更倾向于页面连续,那就是通常所说的 \texttt{openany}。{\fangsong 目前所有论文都是
% openany。}这两个选项不用专门设置,\ucasthesis{} 会根据当前论文类型自动选
% 择。
%
%
% \item[arial]
% 使用真正的 arial 字体。此选项会装载 arial 字体宏包,如果此宏包不存在,就装
% 载Helvet。arialtoc 和 arialtitle 不受 arial 的影响。因为一般的 \TeX{} 发行都
% 没有 arial 字体,所以默认采用 Helvet,因为二者效果非常相似。如果你执着的要
% 用arial 字体,请参看:\href{http://www.mail-archive.com/ctan-ann@dante.de/msg00627.html}{Arial
% 字体}。
%
% \item[arialtoc]
% 目录项(章目录项除外)中的英文是否用 arial 字体。本选项和下一个 \textsl{arialtitle} 都不用用户
% 操心,模板都自动设置好了。
%
% \item[arialtitle]
% 章节标题中英文是否用 arial 字体(默认打开)。
% \end{description}
%
% \subsection{字体配置}
% \label{sec:font-config}
% 正确配置中文字体是使用模板的第一步。模板调用 ctex 宏包,提供如下字体使用方式:
% \begin{itemize}
% \item 基于传统 CJK 包,使用 latex、pdflatex 编译;
% \item 基于 xeCJK 包,使用 xelatex 编译。
% \end{itemize}
%
% 第一种方式的字体配置比较繁琐,建议使用 donated 制作的中文字体包(自
% 包含安装方法),请用户自行下载安装,此处不再赘述。本模板推荐使用第二
% 种方法,只要把所需字体放入系统字体文件夹(也可以指定自定义文件夹)即
% 可。
% 另外 Linux 系统缺少上述字体,这些用户可利用 fontname.def
% 文件配置所需字体。使用中易四种字体的配置如下:
% \begin{example}
% \ProvidesFile{fontname.def}
% \setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]{SimSun}
% \setCJKsansfont{SimHei}
% \setCJKmonofont{FangSong}
% \setCJKfamilyfont{zhsong}{SimSun}
% \setCJKfamilyfont{zhhei}{SimHei}
% \setCJKfamilyfont{zhkai}{KaiTi}
% \setCJKfamilyfont{zhfs}{FangSong}
% \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
% \newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体
% \newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书
% \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
% \end{example}
%
% 对 Windows XP 来说如下,KaiTi 需要替换为 KaiTi\_GB2312,
% FangSong 需要替换为 FangSong\_GB2312。
%
% 宏包中包含了 ``zhfonts.py'' 脚本,为 Linux 用户提供一种交互式的方式
% 从系统中文字体中选择合适的六种字体,最终生成对应的 ``fontname.def''
% 文件。要使用它,只需在命令行输入该脚本的完整路径即可。
%
% 最后,用户可以通过命令
% \begin{shell}
% $ fs-list :lang=zh > zhfonts.txt
% \end{shell}
% 得到系统中现有的中文字体列表,并相应替换上述配置。
%
% \subsection{命令}
% \label{sec:command}
% 模板中的命令分为两类:一是格式控制,二是内容替换。格式控制如字体、字号、字距和
% 行距。内容替换如姓名、院系、专业、致谢等等。其中内容替换命令居多,而且主要集中
% 在封面上。首先来看格式控制命令。
%
% \subsubsection{基本控制命令}
% \label{sec:basiccom}
%
% \myentry{字体}
% \DescribeMacro{\songti}
% \DescribeMacro{\fangsong}
% \DescribeMacro{\heiti}
% \DescribeMacro{\kaishu}
% 等分别用来切换宋体、仿宋、黑体、楷体字体。
%
% \begin{example}
% {\songti 乾:元,亨,利贞}
% {\fangsong 初九,潜龙勿用}
% {\heiti 九二,见龙在田,利见大人}
% {\kaishu 九三,君子终日乾乾,夕惕若,厉,无咎}
% {\heiti 九五,飞龙在天,利见大人}
% {\songti 上九,亢龙有悔}
% \end{example}
%
% \myentry{字号}
% \DescribeMacro{\chuhao}
% 等命令定义一组字体大小,分别为:
%
% \begin{center}
% \begin{tabular}{lllll}
% \hline
% |\chuhao|&|\xiaochu|&|\yihao|&|\xiaoyi| &\\
% |\erhao|&|\xiaoer|&|\sanhao|&|\xiaosan|&\\
% |\sihao|& |\banxiaosi|&|\xiaosi|&|\dawu|&|\wuhao|\\
% |\xiaowu|&|\liuhao|&|\xiaoliu|&|\qihao|& |\bahao|\\\hline
% \end{tabular}
% \end{center}
%
% 使用方法为:\cs{command}\oarg{num},其中 |command| 为字号命令,|num| 为行距。比
% 如 |\xiaosi[1.5]| 表示选择小四字体,行距 1.5 倍。写作指南要求表格中的字体
% 是 \cs{dawu},模板已经设置好了。
%
% \begin{example}
% {\erhao 二号 \sanhao 三号 \sihao 四号 \qihao 七号}
% \end{example}
%
% \myentry{密级}
% \DescribeMacro{\secretlevel}
% \DescribeMacro{\secretyear}
% 定义秘密级别和年限:
% \begin{example}
% \secretyear{5}
% \secretlevel{内部}
% \end{example}
%
% \myentry{引用方式}
% \DescribeMacro{\onlinecite}
% 学校要求的参考文献引用有两种模式:(1)上标模式。比如``同样的工作有很
% 多$^{[1,2]}$\ldots''。(2)正文模式。比如``文[3] 中详细说明了\ldots''。其中上标
% 模式使用远比正文模式频繁,所以为了符合使用习惯,上标模式仍然用常规
% 的 |\cite{key}|,而 |\onlinecite{key}| 则用来生成正文模式。
%
% 关于参考文献模板推荐使用 \BibTeX{},关于中文参考文献需要额外增加一个 Entry: lang,将其设置为 \texttt{zh}
% 用来指示此参考文献为中文,以便 ucasbib.bst 处理。如:
% \begin{example}
% @INPROCEEDINGS{cnproceed,
% author = {王重阳 and 黄药师 and 欧阳峰 and 洪七公 and 段皇帝},
% title = {武林高手从入门到精通},
% booktitle = {第~$N$~次华山论剑},
% year = 2006,
% address = {西安, 中国},
% month = sep,
% lang = "zh",
% }
%
% @ARTICLE{cnarticle,
% AUTHOR = "贾宝玉 and 林黛玉 and 薛宝钗 and 贾探春",
% TITLE = "论刘姥姥食量大如牛之现实意义",
% JOURNAL = "红楼梦杂谈",
% PAGES = "260--266",
% VOLUME = "224",
% YEAR = "1800",
% LANG = "zh",
% }
% \end{example}
%
% \myentry{书脊}
% \DescribeMacro{\spine}
% 生成装订的书脊,为竖排格式,默认参数为论文中文题目。如果中文题目中没有英文字母,
% 那么直接调用此命令即可。否则,就要像例子里面那样做一些微调(参看模板自带
% 的 spine.tex)。下面是一个列子:
% \begin{example}
% \documentclass[master]{ucasthesis}
% \begin{document}
% \ctitle{论文中文题目}
% \cauthor{中文姓名}
% % |\spine| 命令需要上面两个变量
% \spine
%
% % 如果你的中文标题中有英文,那可以指定:
% \spine[中国科学院大学~\hspace{0.2em}\raisebox{2pt}{\LaTeX}%
% \hspace{-0.25em} 论文模板 \hspace{0.1em}\raisebox{2pt}%
% {v\version}\hspace{-0.25em}样例]
% \end{document}
% \end{example}
%
%
% \subsubsection{封面命令}
% \label{sec:titlepage}
% 下面是内容替换命令,其中以 |c| 开头的命令跟中文相关,|e| 开头则为对应的英文。
% 这部分的命令数目比较多,但实际上都相当简单,套用即可。
%
% 大多数命令的使用方法都是: \cs{command}\marg{arg},例外者将具体指出。这些命令都
% 在示例文档的 data/cover.tex 中。
%
% \myentry{论文标题}
% \DescribeMacro{\ctitle}
% \DescribeMacro{\etitle}
% \begin{example}
% \ctitle{论文中文题目}
% \etitle{Thesis English Title}
% \end{example}
%
% \myentry{作者姓名}
% \DescribeMacro{\cauthor}
% \DescribeMacro{\eauthor}
% \begin{example}
% \cauthor{中文姓名}
% \eauthor{Your name in PinYin}
% \end{example}
%
% \myentry{申请学位名称}
% \DescribeMacro{\cdegree}
% \DescribeMacro{\edegree}
% \begin{example}
% \cdegree{您要申请什么学位}
% \edegree{degree in English}
% \end{example}
%
% \myentry{院系名称}
% \DescribeMacro{\cdepartment}
% \DescribeMacro{\edepartment}
%
% \cs{cdepartment} 可以加一个可选参数,如:\cs{cdepartmentl}\oarg{精简}\marg{详
% 细},因为需要填写的空间有限,最好
% 给出一个详细和精简院系名称,如\textbf{计算机科学与技术}和\textbf{计算机}。
% \begin{example}
% \cdepartment[系名简称]{系名全称}
% \edepartment{Department}
% \end{example}
%
% \myentry{专业名称}
% \DescribeMacro{\cmajor}
% \DescribeMacro{\emajor}
% \begin{example}
% \cmajor{专业名称}
% \emajor{Major in English}
% \end{example}
%
% \DescribeMacro{\cfirstdiscipline}
% \DescribeMacro{\cseconddiscipline}
% \begin{example}
% \cfirstdiscipline{博士后一级学科}
% \cseconddiscipline{博士后二级学科}
% \end{example}
%
% \myentry{导师姓名}
% \DescribeMacro{\csupervisor}
% \DescribeMacro{\esupervisor}
% \begin{example}
% \csupervisor{导师~教授}
% \esupervisor{Supervisor}
% \end{example}
%
% \myentry{副导师姓名}
% \DescribeMacro{\cassosupervisor}
% \DescribeMacro{\eassosupervisor}
% \begin{example}
% \cassosupervisor{副导师~副教授}
% \eassosupervisor{Small Boss}
% \end{example}
%
% \myentry{联合导师}
% \DescribeMacro{\ccosupervisor}
% \DescribeMacro{\ecosupervisor}
% 硕士生联合指导教师,博士生联合导师。
% \begin{example}
% \ccosupervisor{联合导师~教授}
% \ecosupervisor{Tiny Boss}
% \end{example}
%
% \myentry{论文成文日期}
% \DescribeMacro{\cdate}
% \DescribeMacro{\edate}
% \DescribeMacro{\postdoctordate}
% 默认为当前时间,也可以自己指定。
% \begin{example}
% \cdate{中文日期}
% \edate{English Date}
% \postdoctordate{2009年7月——2011年7月} % 博士后研究起止日期
% \end{example}
%
% \myentry{博士后封面其它参数}
% \DescribeMacro{\catalognumber}
% \DescribeMacro{\udc}
% \DescribeMacro{\id}
% \begin{example}
% \catalognumber{分类号}
% \udc{udc}
% \id{编号}
% \end{example}
%
% \myentry{摘要}
% \DescribeEnv{cabstract}
% \DescribeEnv{eabstract}
% \begin{example}
% \begin{cabstract}
% 摘要请写在这里...
% \end{cabstract}
% \begin{eabstract}
% here comes English abstract...
% \end{eabstract}
% \end{example}
%
% \myentry{关键词}
% \DescribeMacro{\ckeywords}
% \DescribeMacro{\ekeywords}
% 关键词用英文逗号分割写入相应的命令中,模板会解析各关键词并生成符合不同论文格式
% 要求的关键词格式。
% \begin{example}
% \ckeywords{关键词 1, 关键词 2}
% \ekeywords{keyword 1, key word 2}
% \end{example}
%
% \subsubsection{其它部分}
% \label{sec:otherparts}
% 论文其它主要部分命令:
%
% \myentry{符号对照表}
% \DescribeEnv{denotation}
% 主要符号表环境。简单定义的一个 list,跟 description 非常类似,使用方法参见示例
% 文件。带一个可选参数,用来指定符号列的宽度(默认为 2.5cm)。
% \begin{example}
% \begin{denotation}
% \item[E] 能量
% \item[m] 质量
% \item[c] 光速
% \end{denotation}
% \end{example}
%
% 如果你觉得符号列的宽度不满意,那可以这样来调整:
% \begin{example}
% \begin{denotation}[1.5cm] % 设置为 1.5cm
% \item[E] 能量
% \item[m] 质量
% \item[c] 光速
% \end{denotation}
% \end{example}
%
% \myentry{索引}
% 插图、表格和公式三个索引命令分别如下,将其插入到期望的位置即可(带星号的命令表
% 示对应的索引表不会出现在目录中):
%
% \begin{center}
% \begin{tabular}{ll}
% \hline
% {\heiti 命令} & {\heiti 说明} \\\hline
% \cs{listoffigures} & 插图索引\\
% \cs{listoffigures*} & \\\hline
% \cs{listoftables} & 表格索引\\
% \cs{listoftables*} & \\\hline
% \cs{listofequations} & 公式索引\\
% \cs{listofequations*} & \\\hline
% \end{tabular}
% \end{center}
%
% \LaTeX{} 默认支持插图和表格索引,是通过 \cs{caption} 命令完成的,因此它们必须出
% 现在浮动环境中,否则不被计数。
%
% 有的同学不想让某个表格或者图片出现在索引里面,那么请使用命令 \cs{caption*},这
% 个命令不会给表格编号,也就是出来的只有标题文字而没有``表~xx'',``图~xx'',否则
% 索引里面序号不连续就显得不伦不类,这也是 \LaTeX{} 里星号命令默认的规则。
%
% 有这种需求的多是英文资料翻译部分,如果你觉得附录中英文原文中的表格和
% 图片显示成``表''和``图''很不协调的话,一个很好的办法还是用 \cs{caption*},参数
% 随便自己写,具体用法请参看示例文档。
%
% 如果你的确想让它编号,但又不想让它出现在索引中的话,那就自己改一改模板的代码吧,
% 我目前不打算给模板增加这种另类命令。
%
% 公式索引为本模板扩展,模板扩展了 \pkg{amsmath} 几个内部命令,使得公式编号样式和
% 自动索引功能非常方便。一般来说,你用到的所有数学环境编号都没问题了,这个可以参
% 看示例文档。如果你有个非常特殊的数学环境需要加入公式索引,那么请使
% 用 \cs{equcaption}\marg{编号}。此命令表示 equation caption,带一个参数,即显示
% 在索引中的编号。因为公式与图表不同,我们很少给一个公式附加一个标题,之所以起这
% 么个名字是因为图表就是通过 \cs{caption} 加入索引的,\cs{equcaption} 完全就是为
% 了生成公式列表,不产生什么标题。
%
% 使用方法如下。假如有一个非 equation 数学环境 mymath,只要在其中写一
% 句 \cs{equcaption} 就可以将它加入公式列表。
% \begin{example}
% \begin{mymath}
% \label{eq:emc2}\equcaption{\ref{eq:emc2}}
% E=mc^2
% \end{mymath}
% \end{example}
%
% 当然 mymath 正文中公式的编号需要你自己来做。
%
% 同图表一样,附录中的公式有时候也不希望它跟全文统一编号,而且不希望它出现在公式
% 索引中,目前的解决办法就是利用 \cs{tag*}\marg{公式编号} 来解决。用法很简单,此
% 处不再罗嗦,实例请参看示例文档附录 A 的前两个公式。
%
% \myentry{简历}
% \DescribeEnv{resume}\DescribeMacro{\resumeitem}
% 开启个人简历章节,包括发表文章列表等。其实就是一个 chapter。里面的每个子项目请用命令 |\resumeitem{sub title}|。
%
% 这里就不再列举例子了,请参看示例文档的 data/resume.tex。
%
% \myentry{附录}
% \DescribeEnv{appendix}
% 所有的附录都插到这里来。因为附录会更改默认的 chapter 属性,而后面的{\heiti 个人简
% 历}又需要恢复,所以实现为环境可以保证全局的属性不受影响。
% \begin{example}
% \begin{appendix}
% \input{data/appendix01}
% \input{data/appendix02}
% \end{appendix}
% \end{example}
%
% \myentry{致谢声明}
% \DescribeEnv{ack}
% 把致谢做成一个环境更好一些,直接往里面写感谢的话就可以啦!下面是数学系一位同
% 学致谢里的话,拿过来做个广告,多希望每个人都能写这么一句啊!
% \begin{example}
% \begin{ack}
% ……
% 还要特别感谢清华大学计算机系薛瑞尼同学在论文格式等方面给我的很多帮助!
% 顺便感谢下中科院计算所朝鲁同学对论文格式的修改!
% \end{ack}
% \end{example}
%
% \myentry{列表环境}
% \DescribeEnv{itemize}
% \DescribeEnv{enumerate}
% \DescribeEnv{description}
% 为了适合中文习惯,模板将这三个常用的列表环境用 \pkg{paralist} 对应的压缩环境替
% 换。一方面满足了多余空间的清楚,另一方面可以自己指定标签的样式和符号。细节请参
% 看 \pkg{paralist} 文档,此处不再赘述。
%
%
% \subsection{数学环境}
% \label{sec:math}
% \ucasthesis{} 定义了常用的数学环境:
%
% \begin{center}
% \begin{tabular}{*{7}{l}}\hline
% axiom & theorem & definition & proposition & lemma & conjecture &\\
% 公理 & 定理 & 定义 & 命题 & 引理 & 猜想 &\\\hline
% proof & corollary & example & exercise & assumption & remark & problem \\
% 证明 & 推论 & 例子& 练习 & 假设 & 注释 & 问题\\\hline
% \end{tabular}
% \end{center}
%
% 比如:
% \begin{example}
% \begin{definition}
% 道千乘之国,敬事而信,节用而爱人,使民以时。
% \end{definition}
% \end{example}
% 产生(自动编号):\\[5pt]
% \fbox{{\heiti 定义~1.1~~~} {道千乘之国,敬事而信,节用而爱人,使民以时。}}
%
% 列举出来的数学环境毕竟是有限的,如果想用{\heiti 胡说}这样的数学环境,那么很容易定义:
% \begin{example}
% \newtheorem{nonsense}{胡说}[chapter]
% \end{example}
%
% 然后这样使用:
% \begin{example}
% \begin{nonsense}
% 契丹武士要来中原夺武林秘笈。—— 慕容博
% \end{nonsense}
% \end{example}
% 产生(自动编号):\\[5pt]
% \fbox{{\heiti 胡说~1.1~~~} {契丹武士要来中原夺武林秘笈。\kern0.3ex\rule[0.8ex]{2em}{0.1ex}\kern0.3ex 慕容博}}
%
% \subsection{自定义以及其它}
% \label{sec:othercmd}
% 模板的配置文件 ucasthesis.cfg 中定义了很多固定词汇,一般无须修改。如果有特殊需求,
% 推荐在导言区使用 \cs{renewcommand}。当然,导言区里可以直接使用中文。
%
%
% \section{ThuThesis致谢}
% \label{sec:thanks}
% 感谢这些年来一直陪伴 ThuThesis 成长的新老同学,大家的需求是模板前
% 进的动力,大家的反馈是模板提高的机会。
%
% 此版本加入了博士后出站报告的支持,本意为制作一个支持清华所有学位报告
% 的模板,孰料学校于近期对硕士、博士论文规范又有调整,未能及时更新,见
% 谅!
%
% 本人已于近期离开清华,虽不忍模板存此瑕疵,然精力有限,必不能如往日及
% 时升级,还望新的同学能参与或者接手,继续为大家服务。
%
% \section{UCASThesis致谢}
% 感谢ThuThesis模板的作者,为国内学位论文模板提供了良好的实现基础。
%
% 感谢huzhenzhen编写的biblatex-gb7714-2015,方便的解决了本模板文献格式问题。
%
% 同时基于 ThuThesis 修改的版本 UCASThesis 离不开首批试用该模板的林健博士,
% 唐帝鑫, 杨阳师兄提出的宝贵修改意见。在此,我要特别感谢林健博士为此模板
% 精心的校对、修正所付出的辛勤汗水。没有林健博士对我的督促、帮助,
% 不会有该模板的诞生。
% 希望国科大的同学们继续完善该模板,欢迎fork, 但我更希望各分支版本能够
% 发起pull request造福更多同学。 同时也希望各位同学在使用本模板时,能够对模板进行致谢。
%
% \StopEventually{\PrintChanges\PrintIndex}
% \clearpage
%
% \section{实现细节}
%
% \subsection{基本信息}
% \begin{macrocode}
%<cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<cls>\ProvidesClass{ucasthesis}
%<cfg>\ProvidesFile{ucasthesis.cfg}
%<cls|cfg>[2012/07/28 4.8dev University of Chinese Academy of Sciences Thesis Template]
% \end{macrocode}
%
% \subsection{定义选项}
% \label{sec:defoption}
% TODO: 所有的选项用 \pkg{xkeyval} 来重构,现在的太罗唆了。
%
% 定义论文类型以及是否涉密
% \begin{macrocode}
%<*cls>
\hyphenation{ucas-Thesis}
\def\ucasthesis{\textsc{ucasthesis}}
\def\version{4.8dev}
\newif\ifucas@master\ucas@masterfalse
\newif\ifucas@doctor\ucas@doctorfalse
\newif\ifucas@secret\ucas@secretfalse
\DeclareOption{master}{\ucas@mastertrue}
\DeclareOption{doctor}{\ucas@doctortrue}
\DeclareOption{secret}{\ucas@secrettrue}
% \end{macrocode}
%
%
% 如果需要使用 arial 字体,请打开 [arial] 选项