-
Notifications
You must be signed in to change notification settings - Fork 3
/
seuthesis-2022.dtx
1610 lines (1590 loc) · 62.5 KB
/
seuthesis-2022.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) 2022 Haoqing Xu
% School of Artificial Intelligence, Southeast University.
% --------------------------------------------------------------------------
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any later
% version. This version of this license is in
% http://www.latex-project.org/lppl/lppl-1-3c.txt
% and 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.
%
% This work has the LPPL maintenance status `maintained'.
% The Current Maintainer of this work is Haoqing Xu.
%
% Home Page of the Project: https://github.com/SuikaXhq/seu-bachelor-thesis-2022
%
% \fi
% \iffalse
%<*driver>
\ProvidesFile{seuthesis-2022.dtx}
%</driver>
%<cls>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<cls>\ProvidesClass{seuthesis-2022}
%<cfg>\ProvidesFile{seuthesis-2022.cfg}
%<doc>\ProvidesPackage{seuthesisdoc}
%<*cls|cfg|doc>
[2024/03/08 1.1.0 LaTeX Template for SEU Bachelor Thesis Class 2022]
%</cls|cfg|doc>
%<*driver>
\documentclass[10pt,a4paper,oneside]{ltxdoc}
\usepackage{seuthesisdoc}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
\DocInput{seuthesis-2022.dtx}
\end{document}
%</driver>
% \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 \~}
%
% \DoNotIndex{\begin,\end,\input,\include,\includegraphics}
% \DoNotIndex{\newif,\fi,\else,\ifnumcomp,\ifcsempty,\ifstrequal,\@ifnextchar}
% \DoNotIndex{\newcommand,\renewcommand}
% \DoNotIndex{\def,\do,\nextitem,\docsvlist}
% \DoNotIndex{\newenvironment,\renewenvironment}
% \DoNotIndex{\ ,\_,\par,\\,\relax}
% \DoNotIndex{\DeclareOption,\PassOptionsToClass,\CurrentOption,\ProcessOptions}
% \DoNotIndex{\LoadClass,\RequirePackage,\RequireXeTeX}
% \DoNotIndex{\zihao,\heiti,\songti,\kaiti,\fangsong,\bfseries,\textbf}
% \DoNotIndex{\normalfont,\small}
% \DoNotIndex{\parindent,\ccwd,\setlength}
% \DoNotIndex{\vspace,\centering}
% \DoNotIndex{\setcounter}
% \DoNotIndex{\arabic,\Alph,\alph,\roman,\Roman}
% \DoNotIndex{\tikzset,\tikz,\node,\draw,\scalebox,\raisebox,\makebox}
% \DoNotIndex{\protect}
% \DoNotIndex{\vspace,\hspace,\hangafter,\centering,\noindent,\fill}
% \DoNotIndex{\chapter,\section,\subsection}
% \DoNotIndex{\ClassError}
%
% \changes{1.0.0}{2022/4/22}{实现模版并撰写了文档。}
% \changes{1.0.1}{2022/4/23}{为使用手册添加关于表的章节。}
%
% \StopEventually{}
%
% \GetFileInfo{seuthesisdoc.sty}
% \title{\bfseries \seuthesis\\东南大学本科毕业设计(论文)\XeLaTeX{}模版\\(2022--2024届/2024年1月版规范)\\使用手册}
% \author{SuikaXhq\\\texttt{haoqing\[email protected]}}
% \date{\fileversion\ (\filedate)}
% \maketitle
% \thispagestyle{empty}
% \begin{abstract}
% \seuthesis{}提供了一个东南大学本科毕业设计(论文)的\XeLaTeX{}模版文档类,参考规范为教务处2024年1月版规范。本使用手册旨在介绍本文档类的使用方式以及注意事项,用户可以阅读本手册的第1至9节了解本文档类的主要使用方法和帮助。
%
% 如果对本文档类的实现细节感兴趣,可以参考第 \ref{sec:implement} 节。文末所附的代码索引可以帮助用户快速找到特定命令和环境的解释与定义在本文档中所在的位置。如有问题可以在项目中提出Issue。
% \end{abstract}
% \tableofcontents
% \clearpage
% \section{简介}
% 文档类\seuthesis{}实现了基于东南大学本科毕业设计(论文)2024年1月版规范的\XeLaTeX{}模版。本文档将尽可能介绍\seuthesis{}的使用方式,在末尾处附有代码文档和命令索引可供参考,具体论文范例可以参考 |sample_thesis.tex|。
%
% 本文档类的编写过程中参考了以下项目与文档,在此对这些作者表示感谢:
% \begin{itemize}
% \item 胡海星. 南京大学学位论文\XeLaTeX{}模版. \url{https://github.com/Haixing-Hu/nju-thesis}
% \item 在\LaTeX{}中进行文学编程. \url{https://liam.page/2015/01/23/literate-programming-in-latex/}
% \item \CTeX{}宏包. \url{https://github.com/CTeX-org/ctex-kit}
% \item \texttt{doc}宏包. \url{https://ctan.org/pkg/doc}
% \item Scott Pakin. An introduction to writing .ins and .dtx files. \url{https://www.tug.org/TUGboat/tb29-2/tb92pakin.pdf}
% \item StackExchange TeX版内的各问题及回答者. \url{https://tex.stackexchange.com/}
% \end{itemize}
% 同时在此对帮助本人对本文档类进行测试的同学和朋友表示感谢。
%
% \section{本文档类使用的宏包}
% 本文档类的底层实现为 |ctexrep|,并调用了以下宏包:
% \begin{table}[H]
% \centering
% \ttfamily
% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}*{6}{l}}
% \toprule
% ifxetex & geometry & setspace & fancyhdr & array & [perpage]footmisc \\
% tikz & graphicx & caption & subcaption & float & [titles]tocloft \\
% longtable & booktabs & multirow & amsmath & amsthm & [hyphens]{url} \\
% amssymb & hyperref & natbib & hypernat & amsfonts & [sort\&compress]gbt7714 \\
% tocbibind & ifthen & calc & etoolbox & xeCJKfntef & [ruled,linesnumbered]algorithm2e \\
% enumitem & pdfpages & doc & & & \\
% \bottomrule
% \end{tabular*}
% \end{table}
%
% \section{使用文档类}
% \subsection{项目内容}
% 本文档类的维护项目为 \url{https://github.com/SuikaXhq/seu-bachelor-thesis-2022},用户可以在其中下载 |main| 分支的项目源码或Release版本。
%
% 项目内含有下列主要文件与目录:
% \begin{longtable}{lp{8cm}}
% \toprule
% 文件/目录名 & 功能 \\
% \midrule
% |resources/| & 文档类资源文件夹。\\
% |resources/seu-text-logo.png| & 东南大学文字Logo,用于生成封面页。\\
% |gbt7714.sty| & GBT7714-2015版参考文献规范宏包,用户可以在 \url{https://github.com/zepinglee/gbt7714-bibtex-style} 中自行下载最新版本。\\
% |gbt7714-numerical.bst| & GBT7714-2015规范中的数字编号式样式,来自 |gbt7714| 宏包。\\
% |seuthesis-2022.cls| & 文档类主文件,由源文件生成得到。为了用户使用方便,此处一并包含在项目中。\\
% |seuthesis-2022.cfg| & 文档类配置文件,由源文件生成得到。主要包含预定义字段等变量。\\
% \midrule
% |seuthesis-2022.dtx| & 文档类项目源文件。\\
% |seuthesis-2022.ins| & 文档类安装文件。\\
% |seuthesis-2022.pdf| & 本说明文档。\\
% \midrule
% |fig/| & 样例论文图片文件夹。\\
% |fig/*.png| & 样例论文中使用的图片。\\
% |sample_thesis.tex| & 样例论文源代码,仅作参考。\\
% |reference.bib| & 样例论文的参考文献文件。\\
% \bottomrule
% \end{longtable}
%
% \subsection{生成与安装}
% 通常而言,用户使用预生成的文档类文件即可。如果用户对 |dtx| 文件及\textsf{DocStrip}感兴趣,可以遵循下列步骤生成文档类文件。
% \begin{enumerate}
% \item 在命令行中切换到项目根目录。
% \item 运行 |xelatex seuthesis-2022.ins|。
% \item 运行 |xelatex seuthesis-2022.dtx|。
% \item 运行 |makeindex -s gind.ist -o seuthesis-2022.ind seuthesis-2022.idx|。
% \item 运行 |makeindex -s gglo.ist -o seuthesis-2022.gls seuthesis-2022.glo|。
% \item 运行 |xelatex seuthesis-2022.dtx| 两次。
% \end{enumerate}
%
% 由于本文档类是专为毕业设计排版使用,一般不需要将其安装至\TeX{}目录中,如有需要可以自行将上述生成的文件移至 |tex/latex/seuthesis-2022/| 下并更新索引。
%
% \subsection{快速使用}
% 文档类的核心文件包括
% \begin{itemize}
% \item |seuthesis-2022.cls|
% \item |seuthesis-2022.cfg|
% \item |gbt7714.sty|
% \item |gbt7714-numerical.bst|
% \item |resources| 文件夹
% \item |resources/seu-text-logo.png|
% \end{itemize}
% 用户在编写 |tex| 文件前需要确认这些文件均与 |tex| 文件放置于同一目录。
%
% 对于Windows用户,在 |tex| 文件中指定\seuthesis{}文档类即可:
% \begin{example}
% \documentclass{seuthesis-2022}
% \end{example}
%
% 对于Mac用户,需要指定 |mac| 选项以匹配Mac系统字体名称:
% \begin{example}
% \documentclass[mac]{seuthesis-2022}
% \end{example}
%
% 如果要在Overleaf上使用本文档类,需要上传 |seuthesis-2022.cls|、|seuthesis-2022.cfg|、|gbt7714.sty|、|gbt7714-numerical.bst| 和 |resources| 文件夹及内部的 |seu-text-logo.png|,并且指定 |fandol| 选项以匹配字体。
% \begin{example}
% \documentclass[fandol]{seuthesis-2022}
% \end{example}
%
% 编写好 |tex| 文件后,使用\XeLaTeX{}编译文件。
%
% \subsection{样例论文}
% 文档类项目中提供了一个样例论文 |sample_thesis.tex|,包含原Word模版内的大部分内容,用户可以参考其中的命令调用方式。编译该论文需要确认 |reference.bib| 和 |fig| 文件夹及其内部的图片文件均放置于根目录,并且\seuthesis{}文档类的核心文件也在同一目录。编译前,确认启用了对应于系统的文档类选项(如Mac系统上编译需启用 |mac| 选项),之后运行
% \begin{itemize}
% \item Windows下:
%
% \hspace{2em}|./sample_thesis.bat|
%
% \item Mac下:
%
% \hspace{2em}|./sample_thesis.sh|
% \end{itemize}
%
% \section{文档选项}
% 本文档类提供了一些选项用于进行简单的自定义设置。文档选项可以通过调用文档类时在方括号内添加来启用,多个选项间用逗号隔开。如启用 |mac| 选项和 |globalcaption| 选项:
% \begin{example}
% \documentclass[mac,globalcaption]{seuthesis-2022}
% \end{example}
% 如果启用了一个本节并没有提到的选项,它会被传递至底层 |ctexrep| 文档类进行处理。
%
% \subsection{字体选项}
% 本文档类主要涉及四种常用中文字体(宋体、黑体、仿宋、楷体)以及三种西文字体(衬线、无衬线、等宽)。默认情况下,衬线字体为Times New Roman或者Times,无衬线字体为\textsf{Arial},等宽字体为\texttt{Courier New}或\texttt{Courier}。中文字体则会根据不同选项调整具体字体名称。
%
% |win| 选项是默认启用选项,并不需要特地启用。它的作用是修改文档类中的字体名以匹配Windows系统字体名。在文档选项中启用该项不会发生实质的变化,仅作为声明使用。
%
% |mac| 选项会匹配Mac系统字体名。由于Mac系统并不自带仿宋及楷体字体,该选项并不会设置相关的字体族,若想要使用这两种字体,需要额外指定后续的一种字体选项。
%
% |STfonts|、|FZfonts| 和 |fandol| 选项分别启用华文字体、方正字体和Fandol字体,系统内需要安装所启用选项对应的四种字体,否则有可能引起编译时间过长问题。
%
% \subsection{编号选项}
% 默认情况下,图、表以及公式按章编号,即会显示为“图1-1”、“公式(2.4)”等。编号选项可以将它们的编号改为全局编号,即“图5”、“表3”等。
%
% |globalfigure| 选项启用图的全局编号模式。
%
% |globaltable| 选项启用表的全局编号模式。
%
% |globaleq| 选项启用公式的全局编号模式。
%
% |globalcaption| 选项可以同时启用 |globalfigure|、|globaltable| 和 |globaleq|。
%
% \section{文档命令与环境}
% 为了完整呈现论文,需要用户在 |tex| 文件中加入部分必要的命令代码,一个典型的论文结构示例为
% \begin{example}
% \documentclass{seuthesis-2022}
%
% \title{}{}
% \studentnum{}
% \author{}
% \department{}
% \major{}
% \supervisor{}
% \period{}
%
% \begin{document}
% \maketitle
% \makedeclaration
%
% \frontmatter
% \begin{abstract}
% \keywords{}
% \end{abstract}
% \begin{abstract}[en]
% \keywords{}
% \end{abstract}
%
% \tableofcontents
%
% \mainmatter
% \chapter{}
%
% \bibliographystyle{gbt7714-numerical}
% \bibliography{}
%
% \appendix
% \chapter{}
%
% \begin{acknowledgement}
% \end{acknowledgement}
% \end{document}
% \end{example}
% 本节之后的部分将会详细介绍涉及到的命令和用法。
%
% \subsection{封面页}
% 首先,用户需要填写封面页信息,包含论文题目、学号、姓名、学院、专业、指导教师、起止时间。需要注意的是下列命令只能调用一次,否则会发生编译错误。
%
% \DescribeMacro{\title}
% \cs{title}命令可用于设定论文题目,语法为
% \begin{center}
% \cs{title}\marg{题目第一行}\marg{题目第二行}
% \end{center}
% 其中第二行可以为空,但必须留下花括号,如
% \begin{example}
% \title{基于潜艇狼群的破交战术}{}
% \end{example}
% 第二行为空时,封面页的题目处不会显示第二条横线。
%
% \DescribeMacro{\studentnum}
% \cs{studentnum}命令可用于设定学号,语法为
% \begin{center}
% \cs{studentnum}\marg{学号}
% \end{center}
% \begin{example}
% \studentnum{12345678}
% \end{example}
%
% \DescribeMacro{\author}
% \cs{author}命令用于设定作者姓名,语法为
% \begin{center}
% \cs{author}\marg{姓名}
% \end{center}
% \begin{example}
% \author{时雨}
% \end{example}
%
% \DescribeMacro{\major}
% \cs{major}命令用于设定专业,语法为
% \begin{center}
% \cs{major}\marg{专业}
% \end{center}
% \begin{example}
% \major{理论海军学}
% \end{example}
%
% \DescribeMacro{\department}
% \cs{department}命令用于设定学院,语法为
% \begin{center}
% \cs{department}\marg{学院}
% \end{center}
% \begin{example}
% \department{海军学院}
% \end{example}
%
% \DescribeMacro{\supervisor}
% \cs{supervisor}命令用于设定指导教师,语法为
% \begin{center}
% \cs{supervisor}\marg{指导教师}
% \end{center}
% \begin{example}
% \supervisor{弗莱彻}
% \end{example}
%
% \DescribeMacro{\period}
% \cs{period}命令用于设定起止时间,语法为
% \begin{center}
% \cs{period}\marg{日期}
% \end{center}
% \begin{example}
% \period{2077.2.30--2077.9.31}
% \end{example}
%
% 以上命令需放置在导言区,在 |document| 环境中构建封面页时会利用到上述设定的信息。
%
% \subsection{论文结构指令}
% 本节将介绍各必要的结构指令及其作用。
%
% \DescribeMacro{\maketitle}
% \cs{maketitle}命令用于生成封面页,没有参数。用户可以将其放在 |document| 环境的第一行。
%
% \DescribeMacro{\makedeclaration}
% \cs{makedeclaration}命令用于生成声明页,该页没有需要填写的内容,因此用户只需将其放在 \cs{maketitle}后即可。
%
% 按照毕业设计模版的要求,本文档类将论文文档分为三个主要部分:前页、正文和附录。用户需要在文档中使用下述的命令指定这三个部分的开始位置,帮助文档类定位章节。
%
% \DescribeMacro{\frontmatter}
% \cs{frontmatter}命令用于指定前页部分的开始位置,没有参数。前页部分包括摘要和目录,特点是无页眉、页码使用大写罗马数字编号,并且章标题无编号。因此,用户需要在摘要前加入这条命令。创建摘要的指令见\ref{sec:control-abstract}节。
%
% \DescribeMacro{\tableofcontents}
% \cs{tableofcontents}命令用于生成目录,没有参数。
%
% \DescribeMacro{\mainmatter}
% \cs{mainmatter}命令用于指定正文部分的开始位置,没有参数。正文部分包括论文的主要带编号章节,例如绪论、方法、总结与展望等。用户需要在目录指令 \cs{tableofcontents}后加入本命令。
%
% \DescribeMacro{\bibliography}
% \cs{bibliography}命令用于指定参考文献的来源文件,语法为
% \begin{center}
% \cs{bibliography}\marg{文件名}
% \end{center}
% 参考文献使用GBT7714-2015规范,因此在调用该命令前需要指定使用的参考文献样式(已包含在项目文件中,用户也可以自行下载最新的样式文件),如
% \begin{example}
% \bibliographystyle{gbt7714-numerical}
% \bibliography{reference.bib}
% \end{example}
% 在上面的例子中,\XeLaTeX{}会找到当前目录下的 |gbt7714-numerical.bst| 文件作为样式文件,并将当前目录下的 |reference.bib| 作为参考文献项文件。
%
% \DescribeMacro{\appendix}
% \cs{appendix}命令用于指定附录的开始位置,没有参数。若论文中没有附录,可以不使用。一般添加在参考文献指令的后面。
%
% \DescribeEnv{acknowledgement}
% |acknowledgement| 环境用于致谢页。该环境实际上是创建一个新的无编号的章,标题为“致谢”,其内容会作为该章的正文输出。该环境可以放置于文档的最后。
%
% \subsection{摘要}\label{sec:control-abstract}
% \DescribeEnv{abstract}
% |abstract| 环境生成摘要,语法为
% \begin{center}
% \cs{begin}\{abstract\}\oarg{zh,en}
%
% \cs{end}\{abstract\}
% \end{center}
% 摘要环境的选项可以为 |zh| 或 |en|,分别对应中文摘要和英文摘要,默认为 |zh|。
%
% \DescribeMacro{\keywords}
% 在摘要环境中,可以使用 \cs{keywords}来指定关键词,语法为
% \begin{center}
% \cs{keywords}\marg{Word 1,Word 2,...}
% \end{center}
% 各关键词之间用半角逗号隔开,逗号后不加空格,如
% \begin{example}
% \begin{abstract}[en]
% Example for English abstract.
% \keywords{Keyword 1,Keyword 2,Keyword 3}
% \end{abstract}
% \end{example}
%
% \section{图表使用帮助}
% \subsection{取消浮动}\label{sec:float-help-cancel-float}
% 有时为了内容的连续性,需要取消 |figure| 和 |table| 等环境的浮动效果,本文档使用了 |float| 宏包,其提供了 |[H]| 选项用于取消浮动,如
% \begin{example}
% \begin{figure}[H]
% \centering
% \includegraphics{fig.pdf}
% \caption{Test Figure.}
% \label{fig:test}
% \end{figure}
% \end{example}
% 这样生成的图片就一定会出现在前文的下方,不会发生浮动。
%
% \subsection{表格字号}
% 由于\LaTeX{}对表格的实现方式问题,本文档类没有设置表格的默认字号(实际上为小四号字)。根据毕业设计(论文)规范,表格内文字需要使用五号字,用户可以在 |tabular| 环境前手动指定字号(插入一个 \cs{small}或者 |\zihao{5}|),如
% \begin{example}
% \begin{table}
% \centering
% \caption{Test Table}
% \label{tab:test}
% \zihao{5} % 手动指定字号
% \begin{tabular}{cc}
% \toprule
% Test & test \\
% \midrule
% Test line 2 & test \\
% \bottomrule
% \end{tabular}
% \end{table}
% \end{example}
% 下面两个表格展示了设置字号与不设置的区别。
%
% \begin{minipage}{0.45\textwidth}
% \begin{table}[H]
% \centering
% \caption{不手动指定字号的表格,标题为五号字}
% \label{tab:test1}
% \begin{tabular}{cc}
% \toprule
% 列标题 & 列标题2 \\
% \midrule
% 表格内正文 & 为小四号字 \\
% \bottomrule
% \end{tabular}
% \end{table}
% \end{minipage}%
% \begin{minipage}{0.45\textwidth}
% \begin{table}[H]
% \centering
% \caption{手动指定五号字的表格,标题为五号字}
% \label{tab:test1}
% \small
% \begin{tabular}{cc}
% \toprule
% 列标题 & 列标题2 \\
% \midrule
% 表格内正文 & 为五号字 \\
% \bottomrule
% \end{tabular}
% \end{table}
% \end{minipage}
%
% \subsection{表格行距}
% \changes{1.0.5}{2022/5/20}{加入关于表格行距的说明。}
% 在浮动体里(若使用取消浮动选项 |[H]| 则不会出现这一问题),行距由于不明原因会被重置为1,因此若使用 |table|、|figure| 等环境时,内部文字行距会比正文窄。一个解决办法是在环境中再次指定一次行距:
% \begin{example}
% \begin{table}[ht]
% \setstretch{1.698} % Word内1.5倍行距对应LaTeX行距为1.698
% \zihao{5} % 修改字号
% \centering
% \caption{修改行距后的表格}
% \begin{tabular}{c}
% \toprule
% 表头文字示例 \\
% \midrule
% 表内文字第一行 \\
% 表内文字第二行 \\
% 表内文字第三行 \\
% \bottomrule
% \end{tabular}
% \end{table}
% \end{example}
% \begin{minipage}{0.45\textwidth}
% \begin{table}[H]
% \setstretch{1}
% \centering
% \small
% \caption{未修改行距的表格}
% \begin{tabular}{c}
% \toprule
% 表头文字示例 \\
% \midrule
% 表内文字第一行 \\
% 表内文字第二行 \\
% 表内文字第三行 \\
% \bottomrule
% \end{tabular}
% \end{table}
% \end{minipage}%
% \begin{minipage}{0.45\textwidth}
% \begin{table}[H]
% \setstretch{1.698}
% \centering
% \small
% \caption{修改行距后的表格}
% \begin{tabular}{c}
% \toprule
% 表头文字示例 \\
% \midrule
% 表内文字第一行 \\
% 表内文字第二行 \\
% 表内文字第三行 \\
% \bottomrule
% \end{tabular}
% \end{table}
% \end{minipage}
%
% 此外,正如前文提到的,使用第 \ref{sec:float-help-cancel-float} 节中的 |[H]| 选项也可以得到正确的行距,同时使用 \cs{setstretch}和 |[H]| 也不会出现问题。
%
% \subsection{插入分图}
% 本文档类使用了 |subcaption| 宏包,因此插入分图时需遵循 |subcaption| 宏包的语法,如
% \begin{example}
% \begin{figure}
% \centering
% \subcaptionbox{分图a\label{fig:1a}}
% {\includegraphics[width=0.3\linewidth]{fig1.pdf}}
% \subcaptionbox{分图b\label{fig:1b}}
% {\includegraphics[width=0.3\linewidth]{fig2.pdf}}
% \caption{测试分图插入}
% \label{fig:1}
% \end{figure}
% \end{example}
% 效果如下。
% \begin{figure}[H]
% \centering
% \subcaptionbox{分图a\label{fig:1a}}
% {\begin{tikzpicture}\node[examplebox]{Subfigure (a)};\end{tikzpicture}}
% \subcaptionbox{分图b\label{fig:1b}}
% {\begin{tikzpicture}\node[examplebox]{Subfigure (b)};\end{tikzpicture}}
% \caption{测试分图插入}
% \label{fig:1}
% \end{figure}
% 需要注意的是,由于\LaTeX{}实现 |caption| 的方法细节问题,分图标题和总标题之间的间距在视觉上会偏大(实际值为标题与图之间间距的两倍),这一问题暂时无法从设置上解决,如果你觉得不够好看,可以在总标题的 \cs{caption}前插入一个 |\vspace*{-7pt}| 命令减小间距。
%
% \section{数学环境帮助}
% \changes{1.0.4}{2022/5/15}{增加数学环境帮助小节。}
% \subsection{定理环境}
% 本文档类已经引入了 |amsthm| 宏包,使用定理只需在导言区定义需要的环境,语法为
% \begin{center}
% \cs{newtheorem}\marg{环境名}\marg{环境标题}\oarg{chapter,section,...}
% \end{center}
% 最后的选项可以设置该环境的编号方式,不指定则为全局编号。下面展示了一个简单的例子:
% \begin{example}
% \newtheorem{theorem}{定理}
% \newtheorem{lemma}{引理}
% \newtheorem{proposition}{命题}[chapter]
% \end{example}
% 之后即可如下使用定理环境:
% \begin{example}
% \begin{theorem}
% 测试定理
% \end{theorem}
% \begin{proposition}
% 测试命题
% \end{proposition}
% \end{example}
% \begin{theorem}
% 测试定理
% \end{theorem}
% \begin{proposition}
% 测试命题
% \end{proposition}
%
% \subsection{算法伪代码}
% 本文档类引入了 |algorithm2e| 宏包,使用方法可参考说明文档(\url{https://mirrors.hit.edu.cn/CTAN/macros/latex/contrib/algorithm2e/doc/algorithm2e.pdf})或网上的相关介绍文章。下面给出了一个简单的例子:
% \begin{example}
% \begin{algorithm}[H]
% \caption{如何使用seuthesis-2022文档类}
% \KwData{本使用手册}
% \KwResult{如何使用seuthesis-2022文档类撰写毕业论文}
%
% 初始化\;
% \While{未读完整篇使用手册}{
% 读当前小节\;
% \eIf{读懂了}{
% 移至下一小节\;
% 当前小节变为此小节\;
% }{
% 返回当前小节的开头\;
% }
% }
% \end{algorithm}
% \end{example}
% \begin{algorithm}[H]
% \caption{如何使用seuthesis-2022文档类}
% \KwData{本使用手册}
% \KwResult{如何使用seuthesis-2022文档类撰写毕业论文}
%
% 初始化\;
% \While{未读完使用手册}{
% 读当前小节\;
% \eIf{读懂了}{
% 移至下一小节\;
% 当前小节变为此小节\;
% }{
% 返回当前小节的开头\;
% }
% }
% \end{algorithm}
% 请注意算法环境也是浮动体,如果不需要浮动请指定 |[H]| 选项。
%
% \section{引用与参考文献}
% \subsection{交叉引用}
% \LaTeX{}中的交叉引用通常使用 \cs{label}来定义标签,使用 \cs{ref}来引用标签。这样做没有问题,此处将讨论一些细节。在引用公式时,使用 \cs{eqref}可以自动加上两侧的半角括号,如果你需要全角括号,则只能使用 \cs{ref}并在两侧手动加上括号。此外,|xeCJK| 无法自动处理引用产生的西文字母,如果你需要“图”和图编号之间的间距,要手动在“图”、\cs{ref}以及后续文字之间添加空格(\cs{ref}和后面的标点符号之间不需要添加),如
% \begin{example}
% 引用图1时使用图\ref{fig:1}的引用方式不会加上空格。
% 引用图1(a)时图 \ref{fig:1a} 的引用方式会加上空格。
% \end{example}
% 效果为:
% \begin{itemize}
% \item 引用图1时使用图\ref{fig:1}的引用方式不会加上空格。
% \item 引用图1(a)时图 \ref{fig:1a} 的引用方式会加上空格。
% \end{itemize}
% 表、公式等引用中的空格处理同理。
%
% \subsection{参考文献}
% 本文档类使用的参考文献样式宏包为 |gbt7714|,其实现基于GBT7714-2015标准。具体的参考文献项填写方式请参考 |gbt7714| 的文档 \url{https://mirrors.hit.edu.cn/CTAN/biblio/bibtex/contrib/gbt7714/gbt7714.pdf}。
%
% \section{其他使用帮助}
% \subsection{字体设置}
% \changes{1.0.2}{2022/5/6}{修正关于自定义字体的例子。}
% 如果你希望使用自定义的字体,请参考 |xeCJK| 的文档 \url{http://mirrors.ibiblio.org/CTAN/macros/xetex/latex/xecjk/xeCJK.pdf} 进行自定义更改。通常的使用情况是你的文档中包含一些文档类默认字体不支持的生僻字(常出现在使用fandol字体时),这时需要下载支持这些字的字体(如方正字体)放置在项目的根目录下,然后在导言区加入:
% \begin{example}
% \setCJKfamilyfont{zhsong}{FZSSK.TTF}
% \setCJKfamilyfont{zhhei}{FZHTK.TTF}
% \setCJKfamilyfont{zhfs}{FZFSK.TTF}
% \setCJKfamilyfont{zhkai}{FZKTK.TTF}
% \setCJKmainfont{FZSSK.TTF}
% \setCJKsansfont{FZHTK.TTF}
% \setCJKmonofont{FZFSK.TTF}
% \end{example}
% 上例会使用根目录下的 |FZSSK.TTF|、|FZHTK.TTF|、|FZFSK.TTF| 和 |FZKTK.TTF| 作为宋体、黑体、仿宋与楷体的字体,并且设置对应的文档主要、无衬线以及等宽字体。
%
% \subsection{自定义设置}
% |seuthesis-2022.cfg| 内包含了绝大部分文档类中用到的常量,如有需要可以自行修改。请不要随意修改其中的变量,有可能会导致编译错误。
%
% \subsection{导入PDF}
% \changes{1.0.3}{2022/5/13}{加入导入PDF的帮助章节。}
% 有时封面页内的填写项可能过长,默认的横线无法容纳,或是需要导入一些已有的PDF页面等情况下,可以使用 \cs{includepdf}命令导入这些页面。具体用法为:
% \begin{example}
% \includepdf[pages={1,2,5-8}]{abcd.pdf}
% \end{example}
% 上面的例子会把根目录下 |abcd.pdf| 的第1、2、5--8页导入到当前位置。
%
%
% \section{实现细节}\label{sec:implement}
% \subsection{字段定义}
% 定义模版内常用字段,包括章节标题、固定项名称等。该部分保存于文档配置文件(*.cfg)。变量命名规则为seut@功能@类型@名称,功能包含预设字段(field)、变量(var)等,类型包括字符串(str)、数值(num)、布尔(bool)等,名称可能包含所属页面等辅助信息。
%
% 定义常用变量。
% \begin{macrocode}
%<*cfg>
\newcommand*{\seut@space}[1]{\hspace{#1\ccwd}}
% \end{macrocode}
% 定义封面页字段。
% \changes{1.1.0}{2024/3/8}{针对2024.1版规范修改封面页常量字段。}
% \begin{macrocode}
\newcommand*{\seut@const@str@titlepage@logotitle}%
{本科毕业设计(论文)报告}
\newcommand*{\seut@const@path@titlepage@logo}{resources/seu-text-logo.png}
\newcommand*{\seut@field@str@titlepage@title} {题\seut@space{0.5}目:}
\newcommand*{\seut@field@str@titlepage@studentnum} {学\seut@space{2}号:}
\newcommand*{\seut@field@str@titlepage@author} {姓\seut@space{2}名:}
\newcommand*{\seut@field@str@titlepage@department} {学\seut@space{2}院:}
\newcommand*{\seut@field@str@titlepage@major} {专\seut@space{2}业:}
\newcommand*{\seut@field@str@titlepage@supervisor} {指导教师:}
\newcommand*{\seut@field@str@titlepage@period} {起止日期:}
\newif\ifseut@title@long\seut@title@longtrue
\newcommand*{\seut@var@str@titlepage@title}{}
\newcommand*{\seut@var@str@titlepage@title@up}{}
\newcommand*{\seut@var@str@titlepage@title@down}{}
\newcommand*{\seut@var@str@titlepage@studentnum}{}
\newcommand*{\seut@var@str@titlepage@author}{}
\newcommand*{\seut@var@str@titlepage@department}{}
\newcommand*{\seut@var@str@titlepage@major}{}
\newcommand*{\seut@var@str@titlepage@supervisor}{}
\newcommand*{\seut@var@str@titlepage@period}{}
% \end{macrocode}
% 定义声明页字段。
% \begin{macrocode}
\newcommand*{\seut@const@str@declare@origin@title}{东南大学毕业(设计)论文独创性声明}
\newcommand*{\seut@const@str@declare@origin@content}{%
本人声明所呈交的毕业(设计)论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,%
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获%
得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均%
已在论文中作了明确的说明并表示了谢意。%
}
\newcommand*{\seut@const@str@declare@authorsign}{论文作者签名:}
\newcommand*{\seut@const@str@declare@date}{日期:}
\newcommand*{\seut@const@str@declare@supervisorsign}{导师签名:}
\newcommand*{\seut@const@str@declare@usage@title}{东南大学毕业(设计)论文使用授权声明}
\newcommand*{\seut@const@str@declare@usage@content}{%
东南大学有权保留本人所送交毕业(设计)论文的复印件和电子文档,可以采用影印、缩印或其他复制手段%
保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和%
借阅,可以公布(包括刊登)论文的全部或部分内容。论文的公布(包括刊登)授权东南大学教务处办理。%
}
% \end{macrocode}
% 定义章标题等字符串常量。
% \begin{macrocode}
\newcommand*{\seut@const@str@headertext}{东南大学本科毕业设计(论文)}
\newcommand*{\seut@const@str@abstractname@zh}{摘\seut@space{2}要}
\newcommand*{\seut@const@str@abstractname@en}{ABSTRACT}
\newcommand*{\seut@const@str@keywords@zh}{关键词:}
\newcommand*{\seut@const@str@keywords@en}{KEY WORDS:\ }
\newcommand*{\seut@const@str@abstractsep@zh}{,}
\newcommand*{\seut@const@str@abstractsep@en}{,\ }
\newcommand*{\seut@var@str@abstractname}{}
\newcommand*{\seut@var@str@keywords}{}
\newcommand*{\seut@var@str@abstractsep}{}
\newcommand*{\seut@const@str@contentsname}{目\seut@space{2}录}
\newcommand*{\seut@const@str@appendixname}{附录}
\newcommand*{\seut@const@str@bibname}{参考文献}
\newcommand*{\seut@const@str@acknowledgename}{致\seut@space{2}谢}
% \end{macrocode}
% 定义字体名称,包括宋体、黑体、仿宋、楷体四种中文字体以及衬线、无衬线、等宽三种英文字体。
%
% 定义方正字体名。
% \begin{macrocode}
\newcommand*{\seut@const@str@font@songti@FZ} {FZShuSong-Z01}
\newcommand*{\seut@const@str@font@heiti@FZ} {FZHei-B01}
\newcommand*{\seut@const@str@font@fangsong@FZ} {FZFangSong-Z02}
\newcommand*{\seut@const@str@font@kaiti@FZ} {FZKai-Z03}
% \end{macrocode}
% 定义Fandol字体名。
% \begin{macrocode}
\newcommand*{\seut@const@str@font@songti@fandol} {FandolSong}
\newcommand*{\seut@const@str@font@heiti@fandol} {FandolHei}
\newcommand*{\seut@const@str@font@fangsong@fandol} {FandolFang}
\newcommand*{\seut@const@str@font@kaiti@fandol} {FandolKai}
% \end{macrocode}
% 定义华文字体名。
% \begin{macrocode}
\newcommand*{\seut@const@str@font@songti@ST} {STSong}
\newcommand*{\seut@const@str@font@heiti@ST} {STHeiti}
\newcommand*{\seut@const@str@font@fangsong@ST} {STFangsong}
\newcommand*{\seut@const@str@font@kaiti@ST} {STKaiti}
% \end{macrocode}
% 定义Windows字体名。
% \begin{macrocode}
\newcommand*{\seut@const@str@font@songti@win} {SimSun}
\newcommand*{\seut@const@str@font@heiti@win} {SimHei}
\newcommand*{\seut@const@str@font@fangsong@win} {FangSong}
\newcommand*{\seut@const@str@font@kaiti@win} {KaiTi}
\newcommand*{\seut@const@str@font@serif@win} {Times New Roman}
\newcommand*{\seut@const@str@font@sans@win} {Arial}
\newcommand*{\seut@const@str@font@mono@win} {Courier New}
% \end{macrocode}
% 定义Mac字体名。
% \begin{macrocode}
\newcommand*{\seut@const@str@font@songti@mac} {Songti SC}
\newcommand*{\seut@const@str@font@heiti@mac} {Heiti SC}
\newcommand*{\seut@const@str@font@serif@mac} {Times}
\newcommand*{\seut@const@str@font@sans@mac} {Arial}
\newcommand*{\seut@const@str@font@mono@mac} {Courier}
% \end{macrocode}
% 定义字体选项布尔值,默认为Windows字体。
% \begin{macrocode}
\newif\ifseut@font@win\seut@font@wintrue
\newif\ifseut@font@mac\seut@font@macfalse
\newif\ifseut@font@FZ\seut@font@FZfalse
\newif\ifseut@font@ST\seut@font@STfalse
\newif\ifseut@font@fandol\seut@font@fandolfalse
% \end{macrocode}
% 定义行间距常量,数值的确定参见\ref{sec:implement-paragraph}节。
% \begin{macrocode}
\newcommand*{\seut@const@num@linespread@main}{1.698}
\newcommand*{\seut@const@num@linespread@delaration}{1.41}
\newcommand*{\seut@const@num@linespread@toc}{1.528}
\newcommand*{\seut@const@num@linespread@bib}{1.94}
\newlength{\seut@const@length@skipbetweenword}
\setlength{\seut@const@length@skipbetweenword}{12.45pt}
% \end{macrocode}
% 定义关于图、表、公式编号相关变量。
% \begin{macrocode}
\newif\ifseut@caption@figure@global\seut@caption@figure@globalfalse
\newif\ifseut@caption@table@global\seut@caption@table@globalfalse
\newif\ifseut@caption@equation@global\seut@caption@equation@globalfalse
% \end{macrocode}
%</cfg>
% \subsection{启动前检查}
% 检查\XeLaTeX{}引擎。
% \begin{macrocode}
%<*cls>
\RequirePackage{ifxetex}
\RequireXeTeX
% \end{macrocode}
% \subsection{文档类选项处理}
% 导入配置文件。
% \begin{macrocode}
\input{seuthesis-2022.cfg}
% \end{macrocode}
% 处理字体设置。
% \begin{macrocode}
\DeclareOption{win}{%
\seut@font@wintrue
\seut@font@macfalse
}
\DeclareOption{mac}{%
\seut@font@winfalse
\seut@font@mactrue
}
\DeclareOption{STfonts}{%
\seut@font@STtrue
\seut@font@FZfalse
\seut@font@fandolfalse
}
\DeclareOption{FZfonts}{%
\seut@font@STfalse
\seut@font@FZtrue
\seut@font@fandolfalse
}
\DeclareOption{fandol}{%
\seut@font@STfalse
\seut@font@FZfalse
\seut@font@fandoltrue
}
% \end{macrocode}
% 处理图、表、公式编号选项。
% \changes{1.0.6}{2023/2/17}{将equation全局编号也并入此处。}
% \begin{macrocode}
\DeclareOption{globalcaption}{%
\seut@caption@figure@globaltrue
\seut@caption@table@globaltrue
\seut@caption@equation@globaltrue
}
\DeclareOption{globaleq}{%
\seut@caption@equation@globaltrue
}
\DeclareOption{globalfigure}{%
\seut@caption@figure@globaltrue
}
\DeclareOption{globaltable}{%
\seut@caption@table@globaltrue
}
% \end{macrocode}
% 传递剩余选项给底层文档类。
% \begin{macrocode}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexrep}}
% \end{macrocode}
% 结束选项处理。
% \begin{macrocode}
\ProcessOptions\relax
% \end{macrocode}
% \subsection{宏包}
% 调用底层文档类,此处指定默认字号为小四号。
% \begin{macrocode}
\LoadClass[UTF8,zihao=-4]{ctexrep}[2020/05/05]
% \end{macrocode}
% 导入页面设置宏包。
% \begin{macrocode}
\RequirePackage{geometry}
\RequirePackage{setspace}
\RequirePackage{fancyhdr}
\RequirePackage[titles]{tocloft}
\RequirePackage[perpage]{footmisc}
% \end{macrocode}
% 导入段落设置相关宏包。
% \changes{1.0.3}{2022/5/13}{引入enumitem宏包。}
% \begin{macrocode}
\RequirePackage{enumitem}
% \end{macrocode}
% 导入图片、表格设置宏包。
% \begin{macrocode}
\RequirePackage{tikz}
\RequirePackage{graphicx}
\RequirePackage{caption}
\RequirePackage{subcaption}
\RequirePackage{float}
\RequirePackage{array}
\RequirePackage{longtable}
\RequirePackage{booktabs}
\RequirePackage{multirow}
% \end{macrocode}
% 导入数学环境宏包。
% \changes{1.0.4}{2022/5/15}{新增宏包algorithm2e。}
% \begin{macrocode}
\RequirePackage{amsmath}
\RequirePackage{amsthm}
\RequirePackage{amsfonts}
\RequirePackage{amssymb}
\RequirePackage[ruled,linesnumbered]{algorithm2e}
% \end{macrocode}
% 导入引用和参考文献设置宏包并添加hyperref设置。
% \changes{1.1.0}{2024/3/8}{修正超链接字体颜色。}
% \begin{macrocode}
\RequirePackage[hyphens]{url}
\RequirePackage{hyperref}
\hypersetup{
hyperfootnotes=true,
hyperindex=true,
pageanchor=true,
CJKbookmarks=true,
bookmarksnumbered=true,
bookmarksopen=true,
bookmarksopenlevel=0,
breaklinks=true,
colorlinks=false,
linkcolor=black,
plainpages=false,
pdfpagelabels=true,
pdfborder=0 0 0,
}
\urlstyle{same}
\RequirePackage[sort&compress]{gbt7714}
\RequirePackage{natbib}
\RequirePackage{hypernat}
\RequirePackage{tocbibind}
% \end{macrocode}
% 导入一些杂项宏包。
% \changes{1.0.3}{2022/5/13}{引入pdfpages宏包。}
% \begin{macrocode}
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{etoolbox}
\RequirePackage{xeCJKfntef}
\RequirePackage{doc}
\RequirePackage{pdfpages}
% \end{macrocode}
% \subsection{页面布局设置}
% 页边距(2厘米)及装订线(左侧0.5厘米)设置。Word版模版中,上下边距实际上由页眉页脚定义,因此此处无需定义上下页边距。
% \begin{macrocode}
\geometry{
a4paper,
left=2.5cm,
right=2cm,
includehead=true,
includefoot=true,
% \end{macrocode}
% 页眉页脚边距设置,其行距为22磅,页眉顶端距离1.5厘米,页脚底端距离1.75厘米。
% \begin{macrocode}
headheight=22pt,
headsep=0.5\seut@const@length@skipbetweenword,
footskip=22pt,
top=1.5cm,
bottom=1.75cm,
}
% \end{macrocode}
% \subsection{字体设置}
% 选择合适的中文字体名称变量。
% \begin{macrocode}
\ifseut@font@win
\newcommand*{\seut@var@str@font@serif} {\seut@const@str@font@serif@win}
\newcommand*{\seut@var@str@font@sans} {\seut@const@str@font@sans@win}
\newcommand*{\seut@var@str@font@mono} {\seut@const@str@font@mono@win}
\newcommand*{\seut@var@str@font@songti} {\seut@const@str@font@songti@win}
\newcommand*{\seut@var@str@font@heiti} {\seut@const@str@font@heiti@win}
\newcommand*{\seut@var@str@font@fangsong} {\seut@const@str@font@fangsong@win}
\newcommand*{\seut@var@str@font@kaiti} {\seut@const@str@font@kaiti@win}
\fi
\ifseut@font@mac
\newcommand*{\seut@var@str@font@serif} {\seut@const@str@font@serif@mac}
\newcommand*{\seut@var@str@font@sans} {\seut@const@str@font@sans@mac}
\newcommand*{\seut@var@str@font@mono} {\seut@const@str@font@mono@mac}
\newcommand*{\seut@var@str@font@songti} {\seut@const@str@font@songti@mac}
\newcommand*{\seut@var@str@font@heiti} {\seut@const@str@font@heiti@mac}
\fi
\ifseut@font@FZ
\renewcommand*{\seut@var@str@font@songti} {\seut@const@str@font@songti@FZ}
\renewcommand*{\seut@var@str@font@heiti} {\seut@const@str@font@heiti@FZ}
\renewcommand*{\seut@var@str@font@fangsong} {\seut@const@str@font@fangsong@FZ}
\renewcommand*{\seut@var@str@font@kaiti} {\seut@const@str@font@kaiti@FZ}
\fi
\ifseut@font@ST
\renewcommand*{\seut@var@str@font@songti} {\seut@const@str@font@songti@ST}
\renewcommand*{\seut@var@str@font@heiti} {\seut@const@str@font@heiti@ST}
\renewcommand*{\seut@var@str@font@fangsong} {\seut@const@str@font@fangsong@ST}
\renewcommand*{\seut@var@str@font@kaiti} {\seut@const@str@font@kaiti@ST}
\fi
\ifseut@font@fandol
\renewcommand*{\seut@var@str@font@songti} {\seut@const@str@font@songti@fandol}
\renewcommand*{\seut@var@str@font@heiti} {\seut@const@str@font@heiti@fandol}