-
Notifications
You must be signed in to change notification settings - Fork 2
/
cquthesis.dtx
2521 lines (2507 loc) · 93.6 KB
/
cquthesis.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 meta-comment
%
% Copyright (C) 2016 by Zhennan Li <i@nanmu.me>
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% 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.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{cquthesis.dtx}[2020/06/23 v1.50 Chongqing University Thesis Template]
\documentclass{ltxdoc}
\usepackage{dtx-style}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{1893}
%
% \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 \~}
%
% \DoNotIndex{\newenvironment,\@bsphack,\@empty,\@esphack,\sfcode}
% \DoNotIndex{\addtocounter,\label,\let,\linewidth,\newcounter}
% \DoNotIndex{\noindent,\normalfont,\par,\parskip,\phantomsection}
% \DoNotIndex{\providecommand,\ProvidesPackage,\refstepcounter}
% \DoNotIndex{\RequirePackage,\setcounter,\setlength,\string,\strut}
% \DoNotIndex{\textbackslash,\texttt,\ttfamily,\usepackage}
% \DoNotIndex{\begin,\end,\begingroup,\endgroup,\par,\\}
% \DoNotIndex{\if,\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi}
% \DoNotIndex{\let,\def,\xdef,\edef,\newcommand,\renewcommand}
% \DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect}
% \DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize}
% \DoNotIndex{\small,\footnotesize,\scriptsize,\tiny}
% \DoNotIndex{\normalfont,\bfseries,\slshape,\sffamily,\interlinepenalty}
% \DoNotIndex{\textbf,\textit,\textsf,\textsc}
% \DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad}
% \DoNotIndex{\centering,\raggedright,\ref}
% \DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize}
% \DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne}
% \DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass}
% \DoNotIndex{\AtBeginDocument,\AtEndDocument}
%
% \GetFileInfo{\jobname.dtx}
%
% \changes{v0.0.1}{2016/04/03}{模板开始编写。}
% \changes{v0.6.9}{2016/05/09}{主体功能完工,迁移模板到生产环境中继续开发。}
% \changes{v0.7.5}{2016/05/10}{生产环境建立,模板完成测试。}
% \changes{v0.8.1}{2016/05/12}{重绘了论文封面,增加了专业硕士选项。}
% \changes{v0.8.5}{2016/05/13}{完成了示例文件。}
% \changes{v0.8.7}{2016/05/14}{上线前最后一批修正。}
% \changes{v0.8.9}{2016/05/15}{模板登陆Github,开始参与2016年重庆大学毕业设计工作。}
% \changes{v0.9.4}{2016/05/19}{用户文档撰写完成,CQUThesis提交至CTAN审核。}
% \changes{v0.9.7}{2016/06/09}{参与了2016年重庆大学毕业设计工作后,模板根据实际测试情况作了一番改进,Beta测试落下帷幕。}
% \changes{v0.9.7}{2016/06/09}{拆分了\file{cquthesis.sty}宏包,将其大部分内容并入\file{cquthesis.cls}和\file{cquthesis.cfg}。}
% \changes{v1.00}{2016/06/17}{最后一些小修补,今年的毕设工作完全结束了。目前本科方面的格式审查没有问题,研究生和博士生哪边还没有数据。}
% \changes{v1.00}{2016/06/17}{版本号格式从vX.Y.Z改为vX.YZ,更简洁一些。}
% \changes{v1.10}{2016/06/21}{增加了CQUThesis的开发工具Makefile和makewin.bat,现在它对\LaTeX 中高阶用户和开发者更加友好,文档也相应更新了。}
% \changes{v1.14}{2016/08/18}{改进了\file{makewin.bat},默认的thesis选项加入了自动判定,如果dtx没有解包,程序会自动解包。这也就是说,新手可以在几乎所有情况下放心地通过双击makewin.bat来完成编译了。}
% \changes{v1.20}{2017/05/30}{新增选项blankleft,可选目录和章节右开时空白的左页是否让页眉页脚空白。}
% \changes{v1.20}{2017/05/30}{调整了几个可选项的默认值,现在,openright默认开启。}
% \changes{v1.20}{2017/05/30}{新功能:盲审模式,由开关blindtrail和\cs{secretize}宏以及\env{secretizeEnv}环境构成。}
% \changes{v1.20}{2017/05/30}{再次改进了\file{makewin.bat},现在,Windows用户以管理员身份运行\file{makewin.bat}时不再会遭遇路径错误了。此外,\file{makewin.bat}有中英文两个版本了。}
% \changes{v1.30}{2018/02/23}{从\href{https://github.com/zepinglee/gbt7714-bibtex-style}{上游供应商zepinglee/gbt7714-bibtex-style}更新了\file{cqunumerical.bst}。}
% \changes{v1.40}{2019/10/12}{修复了\href{https://github.com/nanmu42/CQUThesis/issues/44}{Issue 44}。}
%
%
% \def\indexname{代码索引}
% \def\glossaryname{更新记录}
% \IndexPrologue{\section{\indexname}}
% \GlossaryPrologue{\section{\glossaryname}}
%
% \title{\bfseries\color{blue!50!black}\cquthesis:重庆大学毕业论文\LaTeX 模板}
% \author{{\fangsong 李振楠\footnote{\href{https://nanmu.me/zh-cn/about/}{中文页面},\href{https://nanmu.me/en/about}{About in English}}}\\[5pt]\texttt{i@nanmu.me}}
% \date{\fileversion\ (\filedate)}
% \maketitle\thispagestyle{empty}
% \vspace{\stretch{1}}
% \begin{center}
% \includegraphics[height=7cm]{figures/CQUbadge}
% \end{center}
% \vspace{\stretch{2}}
% \begin{abstract}\noindent
% \cquthesis\footnote{\url{https://github.com/nanmu42/CQUThesis}}是重庆大学毕业论文的\LaTeX{}模板,支持学士(文学、理工)、硕士(学术、专业)、博士论文的排版。
% \end{abstract}
% \vspace{\stretch{1}}
% \def\abstractname{用户协议}
% \begin{abstract}\noindent
% \begin{enumerate}
% \item 本模板按照LaTeX Project Public License发布,协议版本号为1.3或以后的任何版本(随你意);
% \item 截止本文档编译时,重庆大学教务处和研究生院只提供了\href{https://github.com/nanmu42/CQUThesis/tree/master/toolkit}{毕业论文写作指南},没有提供官方模板,也没有授权或认证任何第三方模板为官方模板\footnote{\href{http://jq.qq.com/?_wv=1027&k=2HvYu95}{重庆大学\TeX 用户组}做过推动学校\href{https://github.com/CQUtug/TeXProposal}{认证\cquthesis}的努力。}。本模板是按照写作指南的参考实现,模板作者自当尽力,但不保证审查老师不提意见。在开始使用前,您同意,任何由于本模板而引起的论文格式审查问题与本模板作者无关。
% \end{enumerate}
% \vskip2cm
% \end{abstract}
%
%
% \clearpage
% \pagestyle{fancy}
% \begin{multicols}{2}[
% \setlength{\columnseprule}{.4pt}
% \setlength{\columnsep}{18pt}]
% \tableofcontents
% \end{multicols}
% \clearpage
%
% \section{欢迎!}
%\cquthesis{}是重庆大学毕业论文的\LaTeX{}模板,支持学士、硕士、博士论文的排版。合理使用本模板可以大大减轻重庆大学毕业生在毕业论文撰写过程中的排版工作量。
%
%\cquthesis{}根据重庆大学《重庆大学本科设计(论文)撰写规范化要求(2007年修订版)》和《重庆大学博士、硕士论文撰写格式标准(2007年修订版)》编写,力求合规,简洁,易于实现,用户友好。
%
% 本模板的特色:
%\begin{itemize}
% \item 支持重庆大学本科(文学、理工)、硕士(学术、专业)、博士的毕业论文格式;
% \item 内置封面、目录、索引、授权书等论文部件,可按需自动生成;
% \item 自动侦测文档页数,生成相应的单面打印/双面打印PDF文件;
% \item 预置一批优化过的宏包和小功能,包含中英双语题注及配套图录、表录,国际标准单位、化学式支持、三线表等,可按需开启;
% \item 支持基于cwl文件的代码补全,makefile功能能够在Linux, Mac, Windows三平台通用。
% \end{itemize}
%
% 本文档将尽量完整的介绍模板的使用方法,如有不清楚之处可以参考示例文档或者根据第~\ref{sec:howtoask}节说明提问,有兴趣者都可以参与完善此手册,也非常欢迎对代码的贡献。
%
% \note{模板的作用在于减少论文写作过程中格式调整的时间,前提是遵守模板的用法,否则即便用了\cquthesis 也难以保证输出的论文符合学校规范。}
%
% \section{安装}
% \label{sec:installation}
%
% \subsection{系统要求}
% \label{sec:sysrequire}
% 本模板用到的宏包比较多,这些包在常见的\TeX{}发行版中都有,按照您操作系统的不同,您可以选择不同的\TeX{}发行版:
% \begin{itemize}
% \item Windows用户,推荐使用Mik \TeX ,这是一个专为Windows环境设计的\TeX 发行版,下载体积小,而且可以自主解决宏包依赖问题;
% \item Linux和Mac用户,推荐使用\TeX Live,这是一套大而全的\TeX{}发行版,考虑到使用这两个系统的用户动手能力相对较强,\TeX Live没法自己解决依赖这个问题应该不是很让人头疼\footnote{使用宏包管理器或者从CTAN获取依赖宏包。}。
% \end{itemize}
%
% 本模板在Windows和Mac环境下的\TeX Live发行版中都进行了编译测试。
%
% \note{在条件允许的情况下,强烈推荐您使用\XeTeX 引擎进行编译工作。}
%
% \subsection{获取\cquthesis}
% 您可通过三个主要途径获取\cquthesis :
%
% \begin{itemize}
% \item 造访\cquthesis 的 \href{https://github.com/nanmu42/CQUThesis}{Github主页}下载最新的开发版本,这是更新最快,功能最全的版本(含工具箱Toolkit);
% \item 访问本模板\href{https://www.ctan.org/pkg/cquthesis}{CTAN官方镜像}下载发行版,这个版本定期从预发行版本同步(不含工具箱Toolkit\footnote{这是出于许可证方面的考虑。});
% \item 使用Mik \TeX 或\TeX Live的宏包管理功能直接获得本模板,这个方式不含模板示例文件。
% \end{itemize}
%
% 除此之外,\cquthesis{}不拥有也不维护任何其他镜像。
%
%
% \subsection{模板的组成部分}
% 下表列出了 \cquthesis{} 的主要文件及其功能介绍:
%
% \begin{longtable}{l|p{8cm}}
% \toprule
% {\heiti 文件(夹)} & {\heiti 功能描述}\\\midrule
% \endfirsthead
% \midrule
% {\heiti 文件(夹)} & {\heiti 功能描述}\\\midrule
% \endhead
% \endfoot
% \endlastfoot
% cquthesis.ins & \textsc{DocStrip} 驱动文件(用于安装或更新) \\
% cquthesis.dtx & \textsc{DocStrip} 源文件(用于安装或更新)\\
% makefile & GNU make配置文件(Mac和Linux)\\
% makewin.bat & Windows版make \\\midrule
% cquthesis.cls & \LaTeX 模板文件\\
% cquthesis.cfg & 模板配置文件\\
% cqunumerical.bst & 参考文献样式文件\\
% cquthesis.cwl & 代码着色和自动补全配置文件\\\midrule
% main.tex & 示例文档主文件\\
% contents/ & 示例文档章节具体内容\\
% figures/ & 示例文档图片路径\\
% ref/ & 示例文档参考文献目录\\
% toolkit/ & 额外的写作工具箱\\
% cquthesis.sty & 为示例文档加载其它宏包\\\midrule
% README-English & 英文安装提示,推荐中高阶用户阅读\\
% README.md & Readme\\
% \textbf{cquthesis.pdf} & 用户手册(本文档)\\\bottomrule
% \end{longtable}
%
% \note{\file{cquthesis.cls}和\file{cquthesis.cfg}以及\file{cqunumerical.bst}可以由\file{cquthesis.ins}和\file{cquthesis.dtx}生成,从\cquthesis { }v1.10之后,\file{cquthesis.cls}和\file{cquthesis.cfg}不再做预先提取,这个工作交给用户,整个过程很简单,请见\ref{sec:install}节。}
%
% \subsection{安装}
% \label{sec:install}
% 得益于GNU make和makewin.bat,\cquthesis 的安装十分便利。
% 下载\cquthesis{}的\file*{.zip}压缩包后请将整个文件夹解压出来,进入文件夹后:
% \begin{itemize}
% \item Windows用户可以直接双击运行\file{makewin.bat};
%
% \item Linux和Mac用户请在Bash窗口中进行如下操作:
%
% \begin{shell}
% cd cquthesis
% make thesis
% \end{shell}
%\end{itemize}
%
% 即可完成\cquthesis 的安装和示例文档的编译。
%
% \subsection{升级}
% \cquthesis 的升级很方便,下载最新的开发版,将zip文件中的\file{cquthesis.dtx} 和\file{cquthesis.ins} 覆盖掉工作文件夹中的相应文件后:
% \begin{itemize}
% \item Windows用户请在文件夹空白处{\heiti 按住Shift键再点击书鼠标右键},选择“在此处打开命令窗口”,运行下列命令:
%
% \begin{shell}
% makewin extract
% \end{shell}
%
% \item Linux和Mac用户请在Bash窗口中进行如下操作:
%
% \begin{shell}
% cd cquthesis
% make cls
% \end{shell}
%\end{itemize}
%
% 即可完成\cquthesis 的升级。
%
% \subsection{编译用户手册}
% 如果您需要编译用户手册,请定位到解压后的文件夹:
% \begin{itemize}
% \item Windows用户请在文件夹空白处{\heiti 按住Shift键再点击书鼠标右键},选择“在此处打开命令窗口”,运行下列命令:
%
% \begin{shell}
% makewin doc
% \end{shell}
%
% \item Linux和Mac用户请在Bash窗口中进行如下操作:
%
% \begin{shell}
% cd cquthesis
% make doc
% \end{shell}
%\end{itemize}
%
% \note{关于make命令和makewin命令的更多用法,请使用help命令进行查询,Windows用户请在命令行中运行makewin help,Linux和Mac用户请打开\file{Makefile}文件查看。}
% \section{使用说明}
% \label{sec:usage}
% 本手册假定用户已经能处理一般的 \LaTeX{} 文档,并对\BibTeX{} 有一定了解。如果从来没有接触过 \TeX 和 \LaTeX,建议先学习相关的基础知识。磨刀不误砍柴工!
%
% 对\LaTeX 还不熟悉的同学,推荐参考\href{http://bbs.ctex.org/forum.php?mod=viewthread&tid=68619}{《\LaTeX{}学习笔记》}。
%
%
% \subsection{代码自动补全}
% \cquthesis 为支持代码自动补全的\LaTeX 编辑器提供了代码补全配置文件\file{cquthesis.cwl}。如果您的编辑器有代码补全功能(如\TeX Studio),那么您可以将\file{cquthesis.cwl}放置在编辑器可以识别的位置,即可享受代码着色和代码自动补全带来的便利。
%
% 支持代码补全功能的编辑器有很多种,这里无法一一枚举,关于\file{cquthesis.cwl}的放置位置,请使用搜索引擎查找答案。推荐的关键词:“您的编辑器名称”+ cwl + location。
%
% 对于Windows平台的\TeX Studio用户,您可使用【Win+R】快捷键打开“运行”,在其中输入:
%
% \begin{shell}
% %APPDATA%\texstudio\completion\user
% \end{shell}
%
% 然后在打开的文件夹中放入\file{cquthesis.cwl},重启\TeX Studio即可。Linux和Mac的\TeX Studio用户可参照这个思路进行操作。
%
% \subsection{示例文件}
% \cquthesis 是一个功能高度专门化的文档类,没有示例文档的用户会发现很难下手。推荐新用户从模板自带的示例文档入手,里面包括了论文写作用到的所有命令及其使用方法,只需要用自己的内容进行相应替换就可以。对于不清楚的命令可以查阅本手册。下面的例子描述了模板中章节的组织形式,来自于示例文档,具体内容可以参考模板附带的 \file{main.tex} 和 \file{contents/}。
%
% 您可以在您熟悉的IDE(写作环境)中对\file{main.tex}进行编译,推荐使用\XeTeX 进行编译,一般来说,\LaTeX 的编译原则就是多次运行编译命令,直到不再出现警告。这里提供命令行编译方法供您参考:
%
% \begin{shell}
% # 示意:定位到文件夹
% cd cquthesis
% # 1.发现文件中的引用关系,文件后缀\textsf{.tex}可省略
% xelatex main
% # 2.编译参考文件源文件,生成\textsf{.bbl}文件
% bibtex main
% # 3.解决文件中的交叉引用
% xelatex main
% # 4.生成完整的pdf文件
% xelatex main
% # 5.更新目录
% xelatex main
% \end{shell}
%
% \note{实际情况中,您只需使用make或者makewin就可以自动完成以上所有工作\footnote{make和makewin调用latexmk来完成编译工作,比示意的编译命令更加灵活,能够自主确定必要的编译次数,可以明显缩短编译时间。}。}
%
% 下面是示例文件中主文件\file{main.tex}的内容:
%
% \lstinputlisting[style=lstStyleLaTeX]{main.tex}
%
% \subsection{论文选项}
% \DescribeOption{type=}
% 选择论文类型,必须项,当前支持:\option{bachelor},\option{master},\option{doctor}。如:
% \begin{latex}
% % 博士论文
% \documentclass[type=doctor,]{cquthesis}
%
% % 硕士论文
% \documentclass[type=master,]{cquthesis}
% \end{latex}
%
% \DescribeOption{liberalformat}
% 本科生可选,开启后将使用文学类标题格式,使用中文数字对各级标题进行计数,本选项默认关闭。
%
% \note{以下所有可选项在不使用时自动取默认值。}
%
% \DescribeOption{proffesionalmaster=}
% 研究生可选,值为\textsf{true}时按专业硕士要求排版(影响封面),值为\textsf{false}时按学术硕士要求排版,默认值为\textsf{false},例如:
% \begin{latex}
% % 学术硕士论文
% \documentclass[type=master,proffesionalmaster=false,]{cquthesis}
% % 上面相当于:
% \documentclass[type=master,]{cquthesis}
%
% % 专业硕士论文
% \documentclass[type=master,proffesionalmaster=true,]{cquthesis}
% \end{latex}
% \DescribeOption{printmode=}
% 可选项,确定单双页打印模式,有三个值可用,默认采用自动判定(auto):
% \begin{description}
% \item[\option{auto}] 模板会按照学校要求和论文类型自动判定打印模式;
% \item[\option{oneside}] 强制以单页模式打印,适合最后提交电子版时;
% \item[\option{twoside}] 强制以双页模式打印。
% \end{description}
%
% \DescribeOption{bilinguallist=}
% 从版本v1.12开始,\cquthesis 开始支持图、表、公式的中英双语题注。除此之外,就像您期待的那样,表录、图录、公式目录页有了自己的英文版本,它们全部按双语题注的内容自动生成。这是一个可选项,有三个值可用:
% \begin{description}
% \item[\option{off}] 缺省默认,模板不会生成表录、图录、公式目录的英文版本;
% \item[\option{combined}] 模板会生成表录、图录、公式目录的英文版本,它们会在中文版本中逐条嵌入;
% \item[\option{apart}] 模板会生成表录、图录、公式目录的英文版本,它们独立于中文版本,与其一同输出。
% \end{description}
%
% 有关双语题注的用法和英文版本表录等文档部件的位置调整方式,请参阅第\ref{sec:bicaptions}节。
%
% \note{以上三个选项仅与表录、图录、公式目录相关,不会影响双语题注的功能。}
%
% \DescribeOption{openany}
% \DescribeOption{openright}
% 正规出版物的章节出现在奇数页,也就是右手边的页面,这就是 \option{openright},在这种情况下,如果前一章的最后一页也是奇数,那么模板会自动生成一个空白页以保证新章节右开。这个选项适合页数较多的论文,您可根据实际情况和个人喜好选择是否开启。默认值\option{openright},本选项在单页打印时自动失效。
%
% \DescribeOption{blankleft}
% 开启此项,并且在 \option{openright}开启的情况下,模板生成的空白页纯粹空白,不含页眉页脚,本选项默认关闭。
%
% \DescribeOption{seriftoc}
% 开启此项,目录中的不同级别会采用不同的字号和字体,这是按照学校word样例的实现。但是,蹊跷的是,样例里的这些做法在官方文件里却没有体现,而且一二级标题字号差别太大,个人观点有碍美观,所以这里列为可选项,适用于三级标题很多的情况。本选项默认关闭。
%
% \DescribeOption{continuoustoc}
% 使用后论文的目录和索引不会自动开启新页,转而以连续的形式编排,这个选项适合索引内容较少但又想使用索引的用户。在开启后,您可能需要在\file{main.tex}中使用\cs{clearpage}来对索引部分进行手动分页。本选项默认关闭。
%
% \DescribeOption{abstractopenright}
% 开启此项,双页打印模式时中英文摘要右开,这算是开发中的一个彩蛋。本选项默认关闭。
%
% \DescribeOption{blindtrail}
% 盲审模式开关,盲审模式由宏\cs{secretize}和环境\env{secretizeEnv}构成,在盲审模式开启时:
% \begin{itemize}
% \item 宏\cs{secretize}内的内容会被三个星号***替代;
% \item 环境\env{secretizeEnv}的内容会输出为一片空白。
% \end{itemize}
% \cquthesis 默认为封面作者及导师姓名配置宏\cs{secretize},为致谢的内容部分配置环境\env{secretize},如果您有更多需求,可以自行配置。
%
% \DescribeOption{draft}
% 草稿模式,推荐在写作时开启。这个模式下,\LaTeX 不会加载图片,不会渲染文档内超链接,部分宏包会跳过一些工作以降低编译难度,结合\cs{includeonly}命令可以大大提高预览速度,例如:
%
% \begin{latex}
% % 这是代码片段
% \includeonly{contents/experiment,contents/analysis,}
% \include{contents/intrduction}
% \include{contents/experiment}
% \include{contents/analysis}
% \include{contents/conclusion}
% \end{latex}
%
% 此时\LaTeX 只会渲染\file*{contents/experiment}和\file*{contents/analysis},从而加速预览。
% \subsection{中文字体}
% \label{sec:chinese-fonts}
%
% \subsubsection{字体配置}
% \label{sec:font-config}
% 正确配置中文字体是使用模板的第一步。模板调用 \CTeX 宏包,提供如下字体使用方式:
% \begin{itemize}
% \item 基于传统 \pkg{CJK} 包,使用 \LaTeX、Pdf\LaTeX\ 编译。
% \item 基于 \pkg{xeCJK} 包,使用 \XeLaTeX\ 编译。(推荐方法)
% \end{itemize}
%
% 模板默认使用 \CTeX 的字体配置。关于中文字体安装、配置的所有问题不在本模板讨论范围。
%
% \subsubsection{字体命令}
% \label{sec:fontcmds}
% \myentry{字体}
% \DescribeMacro{\songti}
% \DescribeMacro{\fangsong}
% \DescribeMacro{\heiti}
% \DescribeMacro{\kaishu}
% 用来切换宋体、仿宋、黑体、楷体四种基本字体。
%
% \begin{latex}
% {\songti 爆竹声中一岁除,春风送暖入屠苏。}
% {\fangsong 家家乞巧望秋月,穿尽红丝几万条。}
% {\heiti 黄沙百战穿金甲,不破楼兰终不还。}
% {\kaishu 君不见走马川行雪海边,平沙莽莽黄入天。}
% \end{latex}
%
% 效果如下:
%
% {\songti 爆竹声中一岁除,春风送暖入屠苏。}\space
% {\fangsong 家家乞巧望秋月,穿尽红丝几万条。}
%
% {\heiti 黄沙百战穿金甲,不破楼兰终不还。}\space
% {\kaishu 君不见走马川行雪海边,平沙莽莽黄入天。}
%
% \DescribeMacro{\zihao}
% \cquthesis 使用\CTeX 的原生字体命令,使用中文字号:
% \begin{latex}
% \zihao{-4} % 后文使用小四号
% {\zihao{2} 使用二号字的段落} % 大括号外又回到小四号
% \end{latex}
%
% \subsection{封面信息和摘要}
% \label{sec:titlepage}
% \subsubsection{设置方法}
% 封面信息提供两种配置方法:一是通过统一设置命令\cs{cqusetup} 通过\emph{key=value}形式完成;二是每个信息利用命令独立设置,其中命令的名字跟 \emph{key} 相同。两种方式可以交叉使用,并按顺序执行(即对同一项,后来的设置会覆盖前面的)。以 \texttt{c} 开头的命令跟中文相关,\texttt{e} 开头则为对应的英文。
%
% \DescribeMacro{\cqusetup}
% \cs{cqusetup} 用法与常见 \emph{key=value}命令相同,如下:
% \begin{latex}
% \cqusetup{
% key1 = value1,
% key2 = {a value, with comma},
% }
% % 可以多次调用
% \cqusetup{
% key3 = value3,
% key1 = anothervalue, % 覆盖 value1
% }
% \end{latex}
%
% \note{\cs{cqusetup} 使用 \pkg{kvoptions} 机制,所以配置项之间不能有空行,否则会报错。}
%
% 大多数命令的使用方法都是: \cs{command}\marg{arg},例外者将具体指出。这些命令都在示例文档的 \file{contents/cover.tex} 中。
%
% \subsubsection{文章标题}
% \DescribeMacro{\ctitle}
% \DescribeMacro{\etitle}
% 设置论文的中文标题和英文标题,标题中可以使用两个右斜杠进行手动换行。
% \begin{latex}
% \ctitle{论文标题//这是标题的第二行//第三行//最好别有第四行}
% \etitle{Title in English// the 2nd line}
% % 以上命令和以下命令等价:
% \cqusetup{
% ctitle={论文中文题目},
% etitle={Thesis English Title},
% }
% \end{latex}
%
% \note{下文描述的所有命令都有和自己等价的\cs{cqusetup}形式,请留意。}
%
% \subsubsection{个人信息}
%
% \DescribeMacro{\cauthor}
% \DescribeMacro{\eauthor}
% 作者信息,其中英文信息使用拼音书写。
%
% \DescribeMacro{\csupervisor}
% \DescribeMacro{\esupervisor}
% 导师的中英文信息,填写范例:
% \begin{latex}
% \cqusetup{
% csupervisor = {匡振义~~教授}, % 使用连字符来进行不会断行的空格
% esupervisor = {Prof. Zhenyi Kuang},
% }%
% \end{latex}
%
% \DescribeMacro{\cpsupervisor}
% \DescribeMacro{\epsupervisor}
% 仅专硕填写,兼职导师姓名和拼音。
%
% \note{在\file{cover.tex}中自己用不上的字段可以坐视不理、注释、删除(随你意)。模板在v 0.9.7 版本后更新了运作机制,\textbf{不再需要}主动注释掉不需要的字段以获得正确的封面排版。}
%
% \DescribeMacro{\cassistsupervisor}
% \DescribeMacro{\cextrasupervisor}
% \DescribeMacro{\eassistsupervisor}
% 本科毕业设计中,有的同学会有助理指导老师或者在校外进行毕业设计(常见于保研的同学),这时需要在论文封面上标注自己的“助理指导教师”或“校外指导教师”。在使用时需要注意:1.这三个字段中,不使用的项目要求留空为正反大括号;2.“助理指导教师”和“校外指导教师”的英文都填写在\cs{eassistsupervisor}中,如果两类指导老师同时存在(这个情况太少了),可以使用正反大括号括起,括号内以逗号分隔。
%
% \note{这是v 1.14 版本中的新增功能。}
%
% \DescribeMacro{\cmajor}
% \DescribeMacro{\emajor}
% 填写自己的专业名称,专硕不用这个字段。在专业名称太长的时候封面可能会不够美观,这时可以使用\cs{zihao}来调整这一个字段的字号大小。详情请见\file{cover.tex}。
%
% \subsubsection{成文日期}
%
% \DescribeMacro{\mycdate}
% \DescribeMacro{\myedate}
% 自行指定封面的中英文成文日期。
%
% 默认情况下,封面底部的中英文成文日期自动生成,如果您需要自行指定成文日期,请取消\file{cover.tex}中\cs{mycdate}和\cs{myedate}的注释,按参考格式填入日期。
%
% \subsubsection{关键词和摘要}
% \myentry{关键词}
% \DescribeMacro{\ckeywords}
% \DescribeMacro{\ekeywords}
% 关键词用英文逗号分割写入相应的命令中,模板会解析各关键词并生成符合不同论文格式。
% 要求的关键词格式。
%
% \begin{latex}
% \cqusetup{
% ckeywords={关键词 1, 关键词 2},
% ekeywords={keyword 1, keyword 2}
% }
% % 等价:
% \ckeywords{关键词 1, 关键词 2}
% \ekeywords{keyword 1, keyword 2}
% \end{latex}
%
% \myentry{摘要}
% \DescribeEnv{cabstract}
% \DescribeEnv{eabstract}
% 摘要只能使用环境命令来设置,不支持\cs{cqusetup}。
%
% \begin{latex}
% \begin{cabstract}
% 摘要请写在这里…
% \end{cabstract}
%
% \begin{eabstract}
% Here comes the abstract in English...
% \end{eabstract}
% \end{latex}
%
% \subsection{前置部分}
%
% 以下内容对应\file{main.tex}中的内容。
% \subsubsection{封面}
% \DescribeMacro{\makecover}
% 生成封面,包含中英文封面。
%
% \myentry{开启前置部分}
% \DescribeMacro{\frontmatter}
% 前置部分标识符,其后的命令将被模板认作属于前置部分。前置部分包含封面后到绪论前的内容。
%
% \DescribeMacro{\makeabstract}
% 生成中英文摘要。
%
% \subsubsection{目录和索引表}
% 目录、插图、表格和公式等索引命令分别如下,将其插入到期望的位置即可:
%
% \DescribeMacro{\tableofcontents}
% \DescribeMacro{\listoffigures}
% \DescribeMacro{\listoftables}
% \DescribeMacro{\listofequations}
% \begin{longtable}{ll}
% \toprule
% {\heiti 用途} & {\heiti 命令} \\
% \midrule
% 目录 & \cs{tableofcontents} \\
% 插图索引 & \cs{listoffigures} \\
% 表格索引 & \cs{listoftables} \\
% 公式索引 & \cs{listofequations} \\
% \bottomrule
% \end{longtable}
%
% \LaTeX{} 默认支持插图和表格索引,是通过 \cs{caption} 命令完成的,因此它们必须出现在浮动环境中,否则不被计数。
%
% \subsubsection{符号对照表}
% \DescribeEnv{denotation}
% 主要符号表环境,跟 \env{description} 类似,使用方法参见示例文件。带两个个可选参数,用来指定列表左侧缩进和列表左右距离。(全去掉时默认:20mm,30mm)
% \begin{latex}
% \begin{denotation}
% \item[E] 能量
% \item[m] 质量
% \item[c] 光速
% \end{denotation}
% \end{latex}
%
% 如果默认符号列的宽度不满意,可以通过参数来调整:
% \begin{latex}
% \begin{denotation}[10mm][40mm] % 左侧缩进10mm,左右距离40mm
% \item[E] 能量
% \item[m] 质量
% \item[c] 光速
% \end{denotation}
% \end{latex}
%
% \subsection{主体部分}
%
% \myentry{开启主体部分}
% \DescribeMacro{\mainmatter}
% 主体部分标识符,其后的命令将被模板认作属于主体部分。主体部分包含从绪论到结论的所有内容。
%
% \DescribeMacro{\include}
% 使用该命令从\file{contents/}中导入子文件,配合\cs{includeonly}\marg{子文件名}命令可加速预览。
%
% \subsection{后置部分}
%
% \myentry{开启后置部分}
% \DescribeMacro{\backmatter}
% 后置部分标识符,其后的命令将被模板认作属于后置部分。后置部分包含从致谢开始的所有内容。
%
% \myentry{致谢}
% 致谢部分使用普通的\cs{chapter}命令创建即可。
%
% \DescribeMacro{\bibliographystyle}
% \DescribeMacro{\bibliography}
% 定义参考文献样式,指定参考文献源。
%
% 其中参考文献的\textsf{.bib文件}推荐使用\textsf{Jabref}来进行处理。
%
% \note{如果您的文献资料来源于Web of Science一类的数据库导出,那么您很可能需要使用\textsf{Jabref}一类的文献bib数据管理工具对数据进行清理,以去除每个字段外围的双层花括号(目前已知DOI字段的双层括号会使得参考文献列表出现格式问题)。清理过程是自动而无害的。}
%
%
% \DescribeMacro{\cquauthpage}
% 生成原创说明和授权书,这个命令可以带一个\oarg{PDF文件地址}作为参数。这样,在您和您的导师签名之后,您可以单独扫描一下签过名的原创说明和授权书,以\cs{cquauthpage}\oarg{pdf文件地址}的形式将扫描页放入论文的PDF文件中的对应位置。
%
% \subsection{宏包和特色功能}
% \subsubsection{双语题注}
% \label{sec:bicaptions}
% \DescribeMacro{\bicaption}
% 在学校的相关格式文件中,硕士生和博士生的表格和插图的题注需要中英对照,使用\cs{bicaption}\marg{中文题注}\marg{英文题注}命令代替\cs{caption}即可解决这个问题,示例如下:
%
% \begin{latex}
% \begin{figure}[tbh]
% \centering
% \includegraphics[width=0.7\linewidth]{figures/TEST}
% \bicaption{这是一张测试用图片}{This figure is for test only}
% \label{fig:cqubadge}
% \end{figure}
% \end{latex}
%
% 在题注很长的时候,为了防止题注对应的表录(或图录)的条目太长,可使用\cs{bicaption}\oarg{短中文}\marg{中文题注}\oarg{短英文}\marg{英文题注}来解决这个问题:
% \begin{latex}
% \begin{tabularx}{cc}
% \bicaption[这是表录中的段条目]{这是一个很长很长很长的中文题注,你可以写很多行}%
% [This is a really short one.]{Linebreak is for demostration only. It's okay to go without it.}
% \label{fig:cqubadge}
% 我 & 在\\
% 测 & 试\\
% \end{tabularx}
% \end{latex}
% \DescribeMacro{\eqlist}
% 重要算式列表\cs{eqlist}和\cs{listeq}命令从v1.12版本后也支持中英双语,用法是\cs{eqlist}\marg{中文}\oarg{英文},请注意括号。
%
% 上面的这些用法都在\cquthesis 的示例文件中有所体现,供您参考。
%
% \note{英文版本的重要算式列表需要在\option{bilinguallist=}\option{combined}或者\option{apart}时才会生效。另外,当且仅当在\option{bilinguallist=}\option{apart}时,\file{main.tex}中的\cs{listoffiguresEN},\cs{listoftablesEN}和\cs{listofequationsEN}才会发挥作用,此时您可以通过调整这些命令的位置来调整图录、表录、方程式列表各自之间以及中英文版本之间的顺序。}
% \subsubsection{数学环境}
% \label{sec:math}
% \cquthesis{} 定义了常用的数学环境:
%
% \begin{center}
% \begin{tabular}{*{7}{l}}\toprule
% axiom & theorem & definition & proposition & lemma & conjecture &\\
% 公理 & 定理 & 定义 & 命题 & 引理 & 猜想 &\\\midrule
% proof & corollary & example & exercise & assumption & remark & problem \\
% 证明 & 推论 & 例子& 练习 & 假设 & 注释 & 问题\\\bottomrule
% \end{tabular}
% \end{center}
%
% 比如:
% \begin{latex}
% \begin{definition}
% 道千乘之国,敬事而信,节用而爱人,使民以时。
% \end{definition}
% \end{latex}
% 产生(自动编号):
% \medskip
%
% \noindent\framebox[\linewidth][l]{{\heiti 定义~1.1~~~} % {道千乘之国,敬事而信,节用而爱人,使民以时。}}
%
% \smallskip
% 列举出来的数学环境毕竟是有限的,如果想用\emph{胡说}这样的数学环境,那么可以定义:
% \begin{latex}
% \newtheorem{nonsense}{胡说}[chapter]
% \end{latex}
%
% 然后这样使用:
% \begin{latex}
% \begin{nonsense}
% 契丹武士要来中原夺武林秘笈。—— 慕容博
% \end{nonsense}
% \end{latex}
% 产生(自动编号):
%
% \medskip
% \noindent\framebox[\linewidth][l]{{\heiti 胡说~1.1~~~} % {契丹武士要来中原夺武林秘笈。—— 慕容博}}
%
% \subsubsection{引用方式}
%
% \DescribeMacro{\inlinecite}
% \DescribeMacro{\onlinecite}
% 参考文献引用有两种模式:(1)上标模式。比如``同样的工作有多$^{[1,2]}$\ldots''。(2)正文模式。比如``文[3]中详细说明了\ldots''。其中上标模式使用远比正文模式频繁,所以为了符合使用习惯,上标模式仍然用常规的\cs{cite}\marg{key},而\cs{inlinecite}\marg{key} 则用来生成正文模式。
%
% 出于易用性考虑,\cs{onlinecite}被安排为\cs{inlinecite}的别名,两者的作用完全一致,可相互替换。
%
% \subsubsection{自动编号}
%
% \DescribeMacro{\xuhao}
% \DescribeMacro{\xuhaotype}
% \DescribeMacro{\resetxuhao}
% \DescribeMacro{\xuhaoseparator}
% \DescribeMacro{\rownum}
% \DescribeMacro{\rownumtype}
% \DescribeMacro{\resetrownum}
% \DescribeMacro{\rownumseparator}
% \cs{xuhao}命令用来解决表格序号列手动编号的烦恼,这个命令也可以用在行内列表等场景,其中:
%\begin{itemize}
% \item \cs{xuhao}\oarg{1}用于将计数器设置为1,并输出1;
% \item \cs{xuhao}不带参数时每次使用将计数器加1,并输出这个值;
% \item \cs{xuhaotype}\oarg{1-6}可设置\cs{xuhao}的输出类型,1--6分别为阿拉伯数字、大写字母、小写字母、大写罗马数字、小写罗马数字、带圈数字(这一项仅支持1--10的数)
% \item \cs{resetxuhao}用于重置计数器为1,但不作输出;
% \item \cs{xuhaoseparator}用于定义每个序号之后的分割符,默认为空,您可以使用\cs{renewcommand}来更新其定义。
%\end{itemize}
%
% \begin{latex}
% \xuhaotype[3]
% \renewcommand{\xuhaoseparator}{.}
% \xuhao[1] \xuhao \xuhao \xuhao[1] \xuhao \xuhao \xuhao \xuhao
% % 输出为:a. b. c. a. b. c. d. e.
% \end{latex}
%
% \note{考虑到不同用户的语言习惯,\cs{rownum}, \cs{rownumtype}, \cs{resetrownum}分别是\cs{xuhao}, \cs{xuhaotype}, \cs{resetxuhao}的别名,可以相互替换。}
%
% 向前兼容:老旧命令\cs{setxuhao}和\cs{xuhaotype}的作用相同。
%
% \subsubsection{表格命令}
% 在表格中,\cs{bigcell}内的内容可以自主换行;\cs{headcell}括起的内容会在单元格中居中和加黑;\cs{colsep}用来设定列间距,默认值为12pt,这个命令在表格开始绘制之前有效。
%
% 使用范例请参阅示例文档的附录部分。
%
% 本模板已经自动载入了许多表格相关的宏包:
% \begin{itemize}
% \item 如果您是熟练的\LaTeX 用户,\pkg{array}, \pkg{tabularx}, \pkg{booktabs}, \pkg{longtable}, \pkg{multirow}和\pkg{diagbox}会是您得力的助手,其中,\pkg{tabularx}和\pkg{longtable}的字号已经预先适配为五号字;
% \item \cquthesis 还预先载入了\pkg{tabu}宏包,如果您熟悉这个宏包,或者愿意负担一些学习成本,那么\pkg{tabu}宏包的强大功能会让您满意。
% \end{itemize}
%
% \subsection{其他说明}
% 本文档的最后一节有宏索引,对中阶及以上用户或许会有帮助。
%
% \subsection{提问和新功能需求}\label{sec:howtoask}
% 遇到难以解决的问题了?欢迎您向我反馈,您可以:
% \begin{itemize}
% \item 在Github上\href{https://github.com/nanmu42/cquthesis/issues}{提交Issue};
% \item 加入\href{http://jq.qq.com/?_wv=1027&k=2HvYu95}{重庆大学\TeX 用户组}进行讨论\footnote{即使您不是重庆大学的学子,只要您对\TeX 足够热爱并且为人友善,我们也会热诚地欢迎您。}。
%\end{itemize}
%
% 大家的反馈为模板提高带来机会。
% \section{致谢}
% 这个模板是站在巨人肩膀上的成果,感谢\LaTeXe{}计划,感谢CTeX开发组提供的中文解决方案,感谢薛瑞尼副教授(Github: xueruini/ThuThesis),感谢WeiJianWen同学(Github: weijianwen/SJTUThesis),感谢中国科学技术大学TeX用户组(Github: ustctug/gbt-7714-2015)。向你们致以真诚的问候和感激!
%
% 世界因你们更美好。
%
% \StopEventually{\PrintChanges\PrintIndex}
% \clearpage
% \section{实现细节}
% 下面这些内容面向\LaTeX 宏包开发者或者对\cquthesis 开发感兴趣的用户,如果您有任何意见或建议或想法,都欢迎到Github\href{https://github.com/nanmu42/cquthesis/issues}{提交Issue}。您对模板开发或者本文档的撰写的任何贡献都会受到诚挚欢迎!
% \subsection{模板信息}
% \begin{macrocode}
%<cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<cls>\ProvidesClass{cquthesis}
%<cfg>\ProvidesFile{cquthesis.cfg}
%<cls|cfg>[2019/10/12 v1.40 Chongqing University Thesis Template]
% \end{macrocode}
% 定义一些开发常量:
% \begin{macrocode}
%<*cls>
\hyphenation{Cqu-Thesis}
\newcommand{\cquthesis}{\textsc{CquThesis}}
\def\version{1.30}
%</cls>
% \end{macrocode}
% \file{cquthesis.cfg}中,涉及文档部件的部分常量:
% \changes{v0.9.0}{2016/05/16}{把目录加入到了PDF书签中。}
% \begin{macrocode}
%<*cfg>
\def\cqueqshortname {式}
\def\cqu@denotation@name {主要符号对照表}
\def\shorttablename {表}
\def\shorttablenameEN {Table}
\def\shortfigurename {图}
\def\shortfigurenameEN {Fig.}
\def\listofequationsname {重要算式索引}
\def\listofequationsnameEN {\textbf{List of Equations}}
\def\listoffiguresnameEN {\textbf{List of Figures}}
\def\listoftablesnameEN {\textbf{List of Tables}}
\def\cqu@bib@name {参考文献}
\def\cqu@tocnameinbkmark {目{ }录}
\newcommand{\parenthesesthis}[1]{(#1)}
%</cfg>
% \end{macrocode}
% \subsection{选项的定义和处理}
% 使用Key=Value方式进行选项设置,定义前缀和族。
% \begin{macrocode}
%<*cls>
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
family=cqu,
prefix=cqu@,
setkeys=\kvsetkeys}
% \end{macrocode}
% 定义用户类型
% \begin{macrocode}
\newif\ifcqu@bachelor
\newif\ifcqu@master
\newif\ifcqu@doctor
\cqu@bachelorfalse\cqu@masterfalse\cqu@doctorfalse
\define@key{cqu}{type}{%
\expandafter\csname cqu@#1true\endcsname}
% \end{macrocode}
% 定义是否使用本科文学类论文标题格式
% \begin{macrocode}
\DeclareBoolOption{liberalformat}
% \end{macrocode}
% 专业硕士标记
% \begin{macrocode}
\DeclareBoolOption[true]{academic}
\DeclareComplementaryOption{proffesionalmaster}{academic}
% \end{macrocode}
% 每个章首页是否右开
% \begin{macrocode}
\DeclareBoolOption[false]{openany}
\DeclareComplementaryOption{openright}{openany}
% \end{macrocode}
% 右开时空白的左页是否让页眉页脚空白
% \begin{macrocode}
\DeclareBoolOption[false]{blankleft}
% \end{macrocode}
% 双页模式下英文摘要页右开
% \begin{macrocode}
\DeclareBoolOption[false]{abstractopenright}
% \end{macrocode}
% 盲审模式开关
% \begin{macrocode}
\DeclareBoolOption[false]{blindtrail}
% \end{macrocode}
% 论文是单面打印还是双面打印(默认:自动,手动模式一般不用)
% \begin{macrocode}
\newif\if@onesideprint
\newif\if@twosideprint
\newif\if@autoprint
\@onesideprintfalse\@twosideprintfalse\@autoprintfalse
\define@key{cqu}{printmode}{%
\expandafter\csname @#1printtrue\endcsname}
% \end{macrocode}
% 论文是否保密(默认:关),尚未支持,在计划中
% \begin{macrocode}
\DeclareBoolOption[false]{secret}
% \end{macrocode}
% 目录中的不同级别采用不同的字号和字体,适用于三级标题很多的情况
% \begin{macrocode}
\DeclareBoolOption[false]{seriftoc}
% \end{macrocode}
% 目录和索引不会自动新开一页,适用于索引内容较少时
% \begin{macrocode}
\DeclareBoolOption{continuoustoc}
% \end{macrocode}
% 双语图录、表录、公式列表开关
% \begin{macrocode}
\newif\if@bioff
\newif\if@bicombined
\newif\if@biapart
\@biofffalse\@bicombinedfalse\@biapartfalse
\define@key{cqu}{bilinguallist}{%
\@biofffalse\@bicombinedfalse\@biapartfalse
\expandafter\csname @bi#1true\endcsname}
% \end{macrocode}
% 传递选项给CTeXBook
% \begin{macrocode}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}}
% \end{macrocode}
% 打开默认选项,处理选项
% \begin{macrocode}
\kvsetkeys{cqu}{}
\ProcessKeyvalOptions*
\PassOptionsToPackage{no-math}{fontspec}
% \end{macrocode}
% 为CTeXBook定义选项,使用CTeX原生的的Openright和Openany解决方案:
% \begin{macrocode}
\ifcqu@openany
\LoadClass[openany,a4paper,oneside,UTF8,zihao=-4,scheme=plain,linespread=1.39,space=auto]{ctexbook}
\else
\LoadClass[openright,a4paper,oneside,UTF8,zihao=-4,scheme=plain,linespread=1.39,space=auto]{ctexbook}
\fi
% \end{macrocode}
% 用户必须提供用户类型:
% \begin{macrocode}
\ifcqu@bachelor\relax\else
\ifcqu@master\relax\else
\ifcqu@doctor\relax\else
\ClassError{cquthesis}%
{Specified thesis type is obligatory: \MessageBreak
type=[bachelor|master|doctor]}{}
\fi
\fi
\fi
% \end{macrocode}
% 如果没有指定合适的打印方式则缺省使用自动模式
% \begin{macrocode}
\if@autoprint\relax\else
\if@onesideprint\relax\else
\if@twosideprint\relax\else
\ClassWarning{cquthesis}%
{Unexpected or missing print mode, processing with AUTO: \MessageBreak
printmode=[oneside|twoside|auto]}{}
\@autoprinttrue
\fi
\fi
\fi
% \end{macrocode}
% 如果没有正确指定图录表录的双语模式,取默认值off:
% \begin{macrocode}
\if@bioff\relax\else
\if@bicombined\relax\else
\if@biapart\relax\else
\kvsetkeys{cqu}{bilinguallist=off,}
\ClassWarning{cquthesis}%
{Unexpected or missing bilingual list mode, processing with OFF: \MessageBreak
bilinguallist=[off|combined|apart]}{}
\fi
\fi
\fi
% \end{macrocode}
% \subsection{载入宏包}
%
% 使用成熟的宏包而不是自己造轮子几乎总是一个不错的选择,\LaTeX 的强大之处就在这诸多宏包。
%
% 这几个宏包用于提升\LaTeXe 的命令定义和命令处理性能
% \begin{macrocode}
\RequirePackage{etoolbox}
\RequirePackage{xparse}
\RequirePackage{environ}
\RequirePackage{calc}
\RequirePackage{ifxetex}
% \end{macrocode}
%
% 数学是\LaTeX 关心的大问题,这里先引入\pkg{amsmath}宏包,避免一些载入顺序引发的问题:
% \begin{macrocode}
\RequirePackage{fontspec}
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{amsfonts}
% \end{macrocode}
%
% 一些字体相关的宏包:
% \begin{macrocode}
\RequirePackage[defaultsups]{newtxtext}
\RequirePackage{pifont}
\RequirePackage{xeCJKfntef}
% \end{macrocode}
%
% 解决各种文档部件需求,如表格、题注、插图等
% \changes{v0.9.41}{2016/05/25}{修正了\pkg{tgcursor}使\cs{textbf}失效的Bug,现在起使用\pkg{courier}代替。}
% \changes{v1.12}{2016/07/06}{得益于\pkg{caption}和\pkg{bicaption}和\pkg{newfloat}三个宏包,\cquthesis 支持双语题注了。}
% \begin{macrocode}
\RequirePackage{newfloat}
\RequirePackage{caption}
\RequirePackage[labelformat=simple]{subcaption}
\RequirePackage{bicaption}
\RequirePackage{array}
\RequirePackage{tabularx}
\RequirePackage{booktabs}
\RequirePackage{longtable}
\RequirePackage{multirow}
\RequirePackage{diagbox}
\RequirePackage{tabu}
\RequirePackage{courier}
\RequirePackage{graphicx}
\RequirePackage{pdfpages}
\RequirePackage[shortlabels,inline]{enumitem}
\RequirePackage[amsmath,thmmarks,hyperref]{ntheorem}
% \end{macrocode}
%
% 解决页面类问题和脚注,其中\pkg{varwidth}用来代替老版本中的\pkg{pbox}。\pkg{xcolor}用来提供色彩支持,\pkg{metalogo}用来提供\cs{XeTeX}等命令支持。
% \begin{macrocode}
\RequirePackage{changepage}
\RequirePackage{afterpage}
\RequirePackage[bottom,perpage,hang,symbol*]{footmisc}
\raggedbottom
\RequirePackage{varwidth}
\RequirePackage{xcolor}
\RequirePackage{metalogo}