-
-
Notifications
You must be signed in to change notification settings - Fork 109
/
yanputhesis.dtx
1898 lines (1833 loc) · 105 KB
/
yanputhesis.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
% !TeX program = XeLaTeX
% !TeX encoding = UTF-8
%
% Copyright (C) 2022 by Shangkun Shen
% -----------------------------------
%
% 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.
%
%<*internal>
\iffalse
%</internal>
%<*internal>
\fi
\def\nameofplainTeX{plain}
\ifx\fmtname\nameofplainTeX\else
\expandafter\begingroup
\fi
%</internal>
%<*install>
\input docstrip.tex
\keepsilent
\askforoverwritefalse
\preamble
Copyright (C) 2022 by Shangkun Shen
It may be distributed and/or modified under the conditions of the LaTeX
Project Public License, either version 1.3b of this license or (at your
option) any later version. The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3b or later is part of all distributions of LaTeX version
2005/12/01 or later.
\endpreamble
\postamble
This work consists of the file yanputhesis.dtx
and the derived files yanputhesis.ins,
yanputhesis.pdf,
yanputhesis.cls.
\endpostamble
\generate
{
\usedir{tex/latex/yanputhesis}
\file{yanputhesis.cls} {\from{\jobname.dtx}{class}}
%</install>
%<*internal>
\usedir{source/latex/yanputhesis}
\file{\jobname.ins} {\from{\jobname.dtx}{install}}
%</internal>
%<*install>
\usedir{doc/latex/yanputhesis}
\file{yanputhesis-sample.tex} {\from{\jobname.dtx}{sample}}
}
\Msg{*************************************************************}
\Msg{* *}
\Msg{* To finish the installation you have to move the following *}
\Msg{* files into a directory searched by TeX: *}
\Msg{* *}
\Msg{* \space\space yanputhesis.cls *}
\Msg{* *}
\Msg{* To produce the documentation run the files ending with *}
\Msg{* `.dtx' through XeLaTeX. *}
\Msg{* *}
\Msg{* Happy TeXing *}
\Msg{*************************************************************}
%</install>
%<install>\endbatchfile
%<*internal>
\ifx\fmtname\nameofplainTeX
\expandafter\endbatchfile
\else
\expandafter\endgroup
\fi
%</internal>
%<*driver>
\ProvidesFile{yanputhesis.dtx}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<class>\ProvidesClass{yanputhesis}
%<*class>
[2023/03/07 v1.8.5 Yet Another NPU Thesis Template]
%</class>
%
%<*driver>
\documentclass{ctxdoc}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\newcommand{\markdtxchanges}[3]{{\scriptsize{\qquad\%{#1}({#2}):{#3}}}\changes{#1}{#2}{#3}}
\begin{document}
\DocInput{yanputhesis.dtx}
\IndexLayout
\PrintChanges
\PrintIndex
\end{document}
%</driver>
% \fi
%
% \changes{v1.8.0}{2022/12/03}{ 大版本更新,匹配最新格式要求(2022 年版)}
% \changes{v1.7.0}{2022/10/31}{ 大版本更新,格式细节修正}
% \changes{v1.6.0}{2022/02/18}{ 大版本更新,格式说明整理至文档类文件中}
% \changes{v1.5.0}{2020/04/28}{ 大版本更新,匹配本科毕业论文与硕博学位论文}
% \changes{v1.4.0}{2018/03/15}{ 格式细节修正,新增示例文件}
% \changes{v1.3.0}{2017/05/16}{ 格式细节修正,适配 2017 年本科毕业设计论文}
% \changes{v1.2.0}{2017/05/06}{ 格式细节修正}
% \changes{v1.1.0}{2016/06/06}{ 格式细节修正,适配 2016 年本科毕业设计论文}
% \changes{v1.0.0}{2016/05/18}{ 初始版本,仅用于本科毕业论文}
%
% \GetFileInfo{yanputhesis.dtx}
%
% \DoNotIndex{\newcommand, \newenvironment, \renewcommand}
% \DoNotIndex{\\, \RequirePackage, \else, \fi, \begin, \end}
%
%^^A---------------------------------------------------------------------------%
% \title{The \textsf{yanputhesis} class\thanks{This document
% corresponds to \textsf{yanputhesis}~\fileversion, dated \filedate.}}
% \author{NWPU Metaphysics Office \\
% \texttt{\href{https://github.com/NWPUMetaphysicsOffice}{https://github.com/NWPUMetaphysicsOffice}}}
%
% \maketitle
% \tableofcontents
%^^A---------------------------------------------------------------------------%
% \begin{abstract}
% 这是在西北工业大学本科毕业设计、硕博研究生毕业论文格式的要求下的一份 LaTeX 文
% 档类模板。使用者无需额外修改格式控制细节,直接在所发布的样例基础上,修改章节标
% 题,撰写内容,即可完成毕业设计论文任务。
% \end{abstract}
%
%^^A---------------------------------------------------------------------------%
% \section{简介}
%
% 本模板主要参考开源库 polossk/LaTeX-Template-For-NPU-Thesis 和 NPUSCG/nputhesis,
% 并在此基础上之上修改而成,格式参照于 2022 年西北工业大学研究生院编写的西北工业
% 大学博士研究生学位论文编写规则(试用版)。
%
% 项目名称 yanputhesis 是 Yet Another NPU Thesis 的缩写,即另一个西北工业大学毕
% 业设计论文模板。
%
% 本模板的实现参考了目前仍在维护的模板,同时也有众多使用者给出了很多建议与帮助。
% 值此机会向他们表达感谢(按姓氏或 ID 排序):
% \begin{itemize}
% \item 西工大玄学办:Shangkun Shen (@polossk),Zhihe Wang (@cfrpg),Jiduo
% Zhang (@kidozh),Weijia Zhang (@njzwj);
% \item 西北工业大学数学与统计学院:Yiqiang Li (@lyq105),Ying Liu,Jiashu
% Lu,Zongze Yang (@lrtfm);
% \item GitHub 热心网友:Li Kunyao (@likunyao),@neilwth,@wayne17,Wei Wang
% (@WilmerWang)。
% \end{itemize}
%
% 欢迎大家使用本模板,如果有任何问题请通过提交
% \href{https://github.com/NWPUMetaphysicsOffice/Yet-Another-LaTeX-Template-for-NPU-Thesis/issues/new/choose}{issue}
% 的方式联系我们,我们乐意解决模板使用的问题。也欢迎各路大牛在使用过程中帮忙挑错
% 或者亲自下手修复 bug,我们会将您的修复及时合并,并署名感谢。
%
%^^A---------------------------------------------------------------------------%
% \section{使用说明}
%
% \begin{macrocode}
%<*sample>
%%=============================================================================%
%% 设置论文格式(学位、盲评、Adobe 字体)
%%-----------------------------------------------------------------------------%
%% 博士、正常版本、不使用 Adobe 字体
%% \documentclass[lang=chs, degree=phd, blindreview=false, adobe=false]{yanputhesis}
%% 博士、盲评版本、不使用 Adobe 字体
%% \documentclass[lang=chs, degree=phd, blindreview=true, adobe=false]{yanputhesis}
%% 博士、正常版本、强制使用 Windows 系统字体
\documentclass[lang=chs, degree=phd, blindreview=false, winfonts=true]{yanputhesis}
%% 硕士、正常版本、不使用 Adobe 字体
%% \documentclass[lang=chs, degree=master, blindreview=false, adobe=false]{yanputhesis}
%% 硕士、盲评版本、不使用 Adobe 字体
%% \documentclass[lang=chs, degree=master, blindreview=true, adobe=false]{yanputhesis}
%%=============================================================================%
%% 导言区:请自行添加额外宏包
%%-----------------------------------------------------------------------------%
\usepackage{blindtext} % 生成无意义文本
\usepackage{metalogo} % 软件标志
\usepackage[binary-units=true]{siunitx} % 物理量单位
\usepackage{amsmath} % 基础数学库
%%=============================================================================%
%% 参考文献(也可以是独立文件)
%%-----------------------------------------------------------------------------%
\begin{filecontents}{reference.bib}
@software{NWPUThesisLaTeXTemplate,
title = {Yet Another {{\LaTeX}} Template for NPU Thesis},
author = {Shangkun Shen and Zhihe Wang and Jiduo Zhang and Weijia Zhang},
month = {11},
year = {2019},
publisher = {Zenodo},
journal = {GitHub repository},
doi = {10.5281/zenodo.4159248},
url = {https://doi.org/10.5281/zenodo.4159248}
}
@book{knuth1986the,
title = {The {{\TeX}}book},
author = {Knuth, Donald E},
publisher = {Addison-Wesley},
year = {1986}
}
@book{lamport1989latex,
title = {{{\LaTeX}}: a document preparation system},
author = {Lamport, Leslie},
publisher = {Addison-Wesley Professional},
year = {1989}
}
@article{szegedy2015going,
title = {Going deeper with convolutions},
author = {Szegedy, Christian and Liu, Wei and Jia, Yangqing and
Sermanet, Pierre and Reed, Scott E and Anguelov, Dragomir and
Erhan, Dumitru and Vanhoucke, Vincent and Rabinovich, Andrew},
journal = {Computer Vision and Pattern Recognition},
pages = {1--9},
year = {2015}
}
@software{MathSymbolsinLaTeXbypolossk,
title = {Math Symbols in {{\LaTeX}}},
author = {Shangkun Shen},
year = {2017},
month = {10},
publisher = {Zenodo},
journal = {GitHub repository},
doi = {10.5281/zenodo.4120375},
url = {https://doi.org/10.5281/zenodo.4120375}
}
@article{chen2014maiyuan,
title = {脉源三支 强强融合——西北工业大学},
author = {{陈家忠}},
journal = {电子技术与软件工程},
number = {9},
pages = {15--16},
year = {2014}
}
@article{shen2021peridynamic,
title = {Peridynamic modeling with energy-based surface correction for
fracture simulation of random porous materials},
journal = {Theoretical and Applied Fracture Mechanics},
volume = {114},
pages = {102987},
year = {2021},
issn = {0167-8442},
author = {Shangkun Shen and Zihao Yang and Fei Han and Junzhi Cui and
Jieqiong Zhang},
publisher = {Elsevier}
}
@inproceedings{chen2018autonomous,
title = {Autonomous vehicle testing and validation platform: Integrated
simulation system with hardware in the loop},
author = {Chen, Yu and Chen, Shitao and Zhang, Tangyike and
Zhang, Songyi and Zheng, Nanning},
booktitle = {2018 IEEE Intelligent Vehicles Symposium (IV)},
pages = {949--956},
year = {2018},
organization = {IEEE}
}
\end{filecontents}
%%=============================================================================%
%% 基本信息录入
%%-----------------------------------------------------------------------------%
\title{基于 LaTeX 排版的 \\ 西北工业大学论文模板}{ % 中英文标题
Yet Another Thesis Template of \\ Northwestern Polytechnical University
} % 请自行断行
\author{\blindreview{张三丰}}{\blindreview{Sanfeng Zhang}} % 姓名(添加盲评标记)
\date{2022年6月}{Jun 2022} % 答辩日期
\school{数学与统计学院}{School of Mathematics and Statistics}% 学院
\major{数学}{Philosophy in Mathematics} % 专业 博士请添加 Ph
\advisor{\blindreview{李四海}}{\blindreview{Sihai Li}} % 导师(添加盲评标记)
\studentnumber{2016123456} % 学号
\funding{本研究得到玄学基金(编号23336666)资助。}{ % 基金资助
The present work is supported by Funding of Metaphysics %
(Project No:23336666).} %
%%=============================================================================%
%% 文档开始
%%-----------------------------------------------------------------------------%
\begin{document}
%%-----------------------------------------------------------------------------%
%% 总前言,包含封皮页、中英文标题、中英文摘要、目录
%%-----------------------------------------------------------------------------%
\frontmatter % 前言部分
\maketitle % 封皮页及标题页
%%-----------------------------------------------------------------------------%
\makeCommitteePage{ % 学位论文评阅人
\reviewers{\fullBlindReview{5}} % 和答辩委员会名单
\committee{2023 年 x 月 y 日}{
\defenseChair{赵钱孙}{教授}{西北工业大学}
\committeeMember{周吴郑}{教授}{西北工业大学}
\committeeMember{冯陈褚}{教授}{西北工业大学}
\committeeMember{蒋沈韩}{教授}{西北工业大学}
\committeeMember{朱秦尤}{教授}{西北工业大学}
\committeeMember{何吕施}{教授}{西北工业大学}
\committeeMember{孔曹严}{教授}{西北工业大学}
\defenseSecretary{金魏陶}{教授}{西北工业大学}
}
}
%%-----------------------------------------------------------------------------%
\begin{abstract} % 中文摘要开始
这是在西北工业大学本科毕业设计、硕博研究生毕业论文格式的要求下的一份 LaTeX
文档类模板。使用者无需额外修改格式控制细节,直接在所发布的样例基础上,修改章
节标题,撰写内容,即可完成毕业设计论文任务。 %
\begin{keywords} % 中文关键词开始
学位论文 \sep 模板 \sep \LaTeX %
\end{keywords} % 中文关键词结束
\end{abstract} % 中文摘要结束
%%-----------------------------------------------------------------------------%
\begin{engabstract} % 英文摘要开始
\noindent \blindtext %
\begin{engkeywords} % 英文关键词开始
thesis \ensep template \ensep \LaTeX %
\end{engkeywords} % 英文关键词结束
\end{engabstract} % 英文摘要结束
%%-----------------------------------------------------------------------------%
\tableofcontents % 目录
\listoffigures % 图目录(学校未做要求)
\listoftables % 表目录(学校未做要求)
\printnomenclature % 符号表(学校未做要求)
%%-----------------------------------------------------------------------------%
\mainmatter
\sDefault
\chapter{绪论}
\chaptermark{绪论}
\section{这是中标题}
emmmm
\subsection{这是小标题}
emmmmm
\subsubsection{这是小小标题}
搞这么多层大丈夫?
\section{公式}
简单行内公式 $a+b=233$,超高公式会被压缩 $\frac{1}{2}=0.5$ 或者使用
\lstinline`\displaystyle` 防止被压缩:$\displaystyle \frac{1}{2}=0.5$。
简单的不标号单行公式
$$a_0+a_1+a_2=\sqrt{233}$$
需要标号和起名的公式如\autoref{eq:eqtest} 所示。测试下 autoref \autoref{eq:eqtest}
\begin{equation}
\label{eq:eqtest}
a_0 + a_1 + a_2 = \sqrt{233}
\end{equation}
\section{特殊符号}
用\href{http://detexify.kirelabs.org/classify.html}{
http://detexify.kirelabs.org/classify.html}画出来。
\section{参考文献的引用}
\LaTeX{} 中要求参考文献使用 \lstinline`\cite` 进行参考引用,若论文要求中说明需在
文字的右上角注明引用,请使用命令 \lstinline`\cite` 进行参考引用。举个不恰当的例
子,比如本论文模板的原版“LaTeX-Template-For-NPU-Thesis”\cite{NWPUThesisLaTeXTemplate}
要求务必声明引用,同时预配置了插件“math-symbols”\cite{MathSymbolsinLaTeXbypolossk}。
对组件的引用是每一名科学工作者的基本素养(一本正经)。对于需要引用但是并不需要明
确指明引用位置的文献,请使用 \lstinline`\nocite` 命令。
在此同时感谢真正的 dalao 高德纳开发了全世界版本号最接近 $\pi$ 的软件
\LaTeX \cite{knuth1986the}\nocite{lamport1989latex}。
测试引用文献 \cite{szegedy2015going, shen2021peridynamic, chen2014maiyuan, chen2018autonomous}。
其中倒数第二篇为中文文献,最后一篇为会议文献。
\section{标点符号的选择}
根据《中华人民共和国国家标准 GB/T 15834-1995》及《出版工作中的语言文字规范》中提
及,“科学技术中文图书,如果涉及公式、算式较多,句号可以统一用英文句号‘.’,省略
号用英文三个点的省略号‘…’”。如果您是中文的科技论文写作者,建议您使用全角英文句
号“\lstinline`.`”间隔句子。如果是人文学科则可以不做处理。您也可以在一开始先使用
中文句号‘。’,最后批量替换即可。
\section{萌新如何编译}
\begin{enumerate}
\setlength{\itemsep}{0pt}
\item 安装正确版本的 TexLive 2021
\item 使用自带的 TeXworks 打开 \lstinline`yanputhesis-sample.tex`
\item 左上角下拉框选择工具
\item 依次使用 \lstinline`XeLaTeX-BibTeX-XeLaTeX-XeLaTeX` 编译
\end{enumerate}
\section{如何生成盲评版本}
\begin{enumerate}
\setlength{\itemsep}{0pt}
\item 在这份样例当中,已经将标题页可能用到的作者姓名、导师姓名添加了空白盲评
标记 \lstinline`\blindreview{text}`。如果需要生成盲评版本,则需要将文档类型
设置为 \lstinline`blindreview=true`,这样便可得到标题页不含作者与导师姓名的
版本。
\item 在致谢中,除了导师名字之外,其他老师、同学的名字也应当隐去。同样可以将
姓名添加空白盲评标记 \lstinline`\blindreview{text}` 来得到留空版本的结果。
\item 一般正文中不建议出现留空,因此推荐另外两种盲评标记,涂黑或者打星。使用
\lstinline`\blackbox{text}` 命令将姓名添加涂黑盲评标记,文本会替换为与文字相
同长度的黑色方块,制造涂黑效果。或者使用 \lstinline`\markname{text}` 命令将
姓名添加打星盲评标记,姓名将替换成 3 个星号“***”。
\item 下面给出示例(通过开启盲评选项查看效果):
\begin{enumerate}
\setlength{\itemsep}{0pt}
\item 不添加任何盲评标记:“感谢某某某教授的悉心指导。”
\item 使用了空白盲评标记:“感谢\blindreview{某某某}教授的悉心指导。”
\item 使用了涂黑盲评标记:“感谢\blackbox{某某某}教授的悉心指导。”
\item 使用了打星盲评标记:“感谢\markname{某某某}教授的悉心指导。”
\end{enumerate}
\end{enumerate}
\section{如何生成学位论文评阅人和答辩委员会名单}
\begin{enumerate}
\setlength{\itemsep}{0pt}
\item 在这份样例当中,已经预设置了盲评学位论文评阅人和答辩委员会名单,实现代码可
参考\autoref{code:makeBlindReviewerCommitteePage} 所示,明审版本可参考
\autoref{code:makeOpenReviewerCommitteePage} 所示。
\item 在学位论文评阅人名单中分为两种情况,即盲评与明审。请根据自身情况填写评
委信息。如果是盲评,使用命令 \lstinline`\fullBlindReview{num}` 来生成
盲评表格,其中参数 \lstinline`num` 表示盲评专家人数,一般是 3 或 5 人。
如果是明审,使用命令 \lstinline`\expert{name}{title}{university}`
登记评委信息,其中参数 \lstinline`name`、\lstinline`title`、
\lstinline`university` 分别为专家的姓名、职称、学校。
\item 答辩委员会需登记四个信息:答辩时间、答辩主席、答辩评委以及答辩秘书。其
中,答辩时间为 \lstinline`\committee` 命令后的第一个参数,其余分别使用
\lstinline`\defenseChair`、\lstinline`\committeeMember`、
\lstinline`\defenseSecretary` 命令登记专家个人信息,用法与
\lstinline`\expert` 命令一致。
\end{enumerate}
\begin{lstlisting}[language={TeX}, label={code:makeBlindReviewerCommitteePage},
caption={盲评样例 makeBlindReviewerCommitteePage.tex}]
\makeCommitteePage{
\reviewers{\fullBlindReview{5}}
\committee{2023 年 x 月 y 日}{
\defenseChair{赵钱孙}{教授}{西北工业大学}
\committeeMember{周吴郑}{教授}{西北工业大学}
\committeeMember{冯陈褚}{教授}{西北工业大学}
\committeeMember{蒋沈韩}{教授}{西北工业大学}
\committeeMember{朱秦尤}{教授}{西北工业大学}
\committeeMember{何吕施}{教授}{西北工业大学}
\committeeMember{孔曹严}{教授}{西北工业大学}
\defenseSecretary{金魏陶}{教授}{西北工业大学}
}
}
\end{lstlisting}
\begin{lstlisting}[language={TeX}, label={code:makeOpenReviewerCommitteePage},
caption={明审样例 makeOpenReviewerCommitteePage.tex}]
\makeCommitteePage{
\reviewers{
\expert{周吴郑}{教授}{西北工业大学}
\expert{冯陈褚}{教授}{西北工业大学}
\expert{蒋沈韩}{教授}{西北工业大学}
\expert{朱秦尤}{教授}{西北工业大学}
\expert{何吕施}{教授}{西北工业大学}
}
\committee{2023 年 x 月 y 日}{
\defenseChair{赵钱孙}{教授}{西北工业大学}
\committeeMember{周吴郑}{教授}{西北工业大学}
\committeeMember{冯陈褚}{教授}{西北工业大学}
\committeeMember{蒋沈韩}{教授}{西北工业大学}
\committeeMember{朱秦尤}{教授}{西北工业大学}
\committeeMember{何吕施}{教授}{西北工业大学}
\committeeMember{孔曹严}{教授}{西北工业大学}
\defenseSecretary{金魏陶}{教授}{西北工业大学}
}
}
\end{lstlisting}
\cleardoublepage
\chapter{插入图表以及如何引用}
\chaptermark{插入图表以及如何引用}
\section{表格}
使用 \href{http://www.tablesgenerator.com/}{http://www.tablesgenerator.com/} 生
成,可粘贴Excel。效果如表\ref{my-label}所示。注意表中的字号(五号)和表格宽度(
通栏)。外部请用 \lstinline`table` 环境,内部使用 \lstinline`tabularx` 即可。
\begin{table}[!h]
\centering
\caption{表格标题}
\label{my-label}
\begin{tabularx}{\textwidth}{CCCC}
\toprule
$A$ & $B$ & $A+B$ & $A\times B$ \\ \midrule
1 & 6 & 7 & 6 \\
2 & 7 & 9 & 14 \\
3 & 8 & 11 & 24 \\
4 & 9 & 13 & 36 \\
5 & 10 & 15 & 50 \\ \bottomrule
\end{tabularx}
\end{table}
\begin{table}[!h]
\centering
\caption{指定宽度与对齐方式}
\label{my-label-2}
\begin{tabularx}{\textwidth}{|P{2cm}|O{3cm}|Q{4cm}|C}
\toprule
\SI{2}{\centi\metre} & \SI{3}{\centi\metre} & \SI{4}{\centi\metre} & Other \\ \midrule
1 & 6 & 7 & 1 \\
2 & 7 & 9 & 2 \\
3 & 8 & 11 & 3 \\ \bottomrule
\end{tabularx}
\end{table}
\section{插图}
请直接使用 \lstinline`figure` 环境,内部使用 \lstinline`includegraphics` 即可。
如果需要多张子图排版,请在 \lstinline`figure` 环境内部使用 \lstinline`minipage`
预先设置总的浮动体宽度,然后再使用 \lstinline`subfigure` 环境进行排版。
测试下文章内的图片引用。如\autoref{fig:example} 和\autoref{fig:example2} 所示,
这是两幅插图。在这其中\autoref{subfig:example2-subfig1} 是第一幅子图,
\autoref{subfig:example2-subfig2} 是第二幅子图。
\begin{figure}[htb]
\centering
\includegraphics[scale=0.2]{poster.png}
\caption{
这里是个普通的标题
}
\label{fig:example}
\end{figure}
\begin{figure}[htb]
\centering
\begin{minipage}[t]{0.96\textwidth}
\centering
\begin{subfigure}[t]{0.47\textwidth}
\centering
\includegraphics[scale=0.1]{poster.png}
\caption{\label{subfig:example2-subfig1}}
\end{subfigure}
\begin{subfigure}[t]{0.47\textwidth}
\centering
\includegraphics[scale=0.1]{poster.png}
\caption{\label{subfig:example2-subfig2}}
\end{subfigure}
\end{minipage}
\caption{这里是另一个普通的标题}
\label{fig:example2}
\end{figure}
\section{插入源代码}
这里给出一个 Hello World 的样例,如\autoref{code:hello-world} 所示。
\begin{lstlisting}[language={C++}, label={code:hello-world},
caption={Hello World.cpp}]
#include <iostream>
using namespace std;
int main()
{
// output "Hello World!"
cout << "Hello World!" << endl;
return 0;
}
\end{lstlisting}
\section{引用以及其他编写建议}
\LaTeX 提供了 \lstinline`ref` 和 \lstinline`autoref` 两种引用方式,其中前者只显
示序号,后者可以显示提示语,如“\autoref{code:hello-world}”表示引用代码,
而“\autoref{subfig:example2-subfig2}”表示引用图片的子图.为了方便引用以及作者阅读,
本人强烈建议使用 \lstinline`autoref` 来统一处理引用问题,同时在每一个
\lstinline`autoref` 添加提示语,如 \lstinline`fig` 和 \lstinline`tab` 分别表示插
图和表格。
由于 \XeLaTeX 在处理中文时,会自动在中文之间添加空格,所以请放心地在编写文档时换
行,防止某一行过长导致阅读时的不便。另外中英文之间的空格(包括命令)并未做严格限
制。本文推荐除在不影响最终成文的结果这一前提下,为保持文档的美观与易读,请自行选
择合适的编写方式。
\cleardoublepage
%%=============================================================================%
%% 参考文献以及附录
%%-----------------------------------------------------------------------------%
%% \bibliographystyle{nputhesis} % GB/T 7714-2015 格式
\bibliographystyle{nputhesis-noslash} % 参考文献改进格式
\bibliography{reference} % 参考文献
\appendix
\chapter{一份说明 顺便测试英文标题 Title}
强烈不推荐英文标题!仅供测试,擅自使用后果自负。
\section{测试附录子标题}
这是一份附录,请放置一些独立的证明、源代码、或其他辅助资料。
\nomenclature{$r$}{圆(或球)的半径}
\nomenclature{$C$}{圆的周长}
\nomenclature{$S$}{圆的面积}
\begin{equation}
C = 2 \pi r
\end{equation}
\begin{equation}
S = \pi r^2
\end{equation}
\cleardoublepage
\chapter{另一份说明}
这是另一份附录,请放置一些独立的证明、源代码、或其他辅助资料。
\nomenclature{$S_{\text{sphere}}$}{球的表面积}
\nomenclature{$V_{\text{sphere}}$}{球的体积}
\begin{equation}
S_{\text{sphere}} = 4 \pi r^2
\end{equation}
\begin{equation}
V_{\text{sphere}} = \frac43 \pi r^3
\end{equation}
\cleardoublepage
%%=============================================================================%
%% 文档附页部分(致谢、参加科研情况、知识产权与原创性声明)
%%-----------------------------------------------------------------------------%
\backmatter % 文档附页部分
%%-----------------------------------------------------------------------------%
\begin{acknowledgements} % 致谢开始
感谢我的老师和我的朋友们……
\end{acknowledgements} % 致谢结束
%%-----------------------------------------------------------------------------%
\begin{accomplishments} % 参加科研情况开始
[1] ...
\end{accomplishments} % 参加科研情况结束
%%-----------------------------------------------------------------------------%
\makestatement % 知识产权与原创性声明
%%=============================================================================%
%% 文档结束
%%-----------------------------------------------------------------------------%
\end{document}
%%=============================================================================%
%</sample>
% \end{macrocode}
%
%^^A---------------------------------------------------------------------------%
% \section{安装说明}
%
% \begin{itemize}
% \item 本模板提供了 make 工具用于辅助生成 cls 文档类及样例。
% \item 命令行内输入 |make && make samplebib| 一次性生成所需文件。
% \item 命令行内输入 |make sample| 生成不带参考文献的样例。
% \item 命令行内输入 |make samplebib| 生成带有参考文献的样例。
% \end{itemize}
%
%^^A---------------------------------------------------------------------------%
% \section{代码实现}
%
%^^A---------------------------------------------------------------------------%
% \subsection{文档选项和基础文档类型控制}
%
% \begin{itemize}
% \item 本模板基于 book 类实现,通过选项来控制生成版本的类型。
% \item 本模板使用 |xkeyval| 辅助控制文档选项。新建布尔变量用于标记文档类型
% 为本科、硕士、或博士版本。针对不同的模板类型,将对应的标记置为真值 |true|,
% 其余为假值 |false|。
% \item 声明选项 lang,可选参数为 |chs|,|eng|,分别对应中英文论文模板。
% \item 声明选项 degree,可选参数为 |phd|,|master|,|bachelor|,分别对应博
% 士、硕士、和本科毕业设计论文。
% \item 声明选项 blindreview,用于生成盲评版本,并储存在对应的布尔变量上。
% \item 声明选项 adobe,用于指定模板使用 Adobe 中文字体生成(需自行准备宋体、
% 黑体、楷体、仿宋字体文件)。
% \item 声明选项 winfonts,用于强制指定模板使用 Windows 系统的自带字体生成
% (需自行准备宋体、黑体、楷体、仿宋字体文件)。
% \item 本模板默认选项为中文博士非盲评版本,且不使用 Adobe 中文字体。
% \item 本模板使用 |etoolbox| 辅助修饰附录环境。
% \item 本模板使用 |amssymb| 提供必要数学符号。
% \end{itemize}
%
% \begin{macrocode}
%<*class>
%%=============================================================================%
%% 文档选项和基础文档类型控制
%%-----------------------------------------------------------------------------%
\RequirePackage{xkeyval} % 参数控制相关
\newif\if@npu@lang@chs % 中文版本标记
\newif\if@npu@type@phd % 博士版本标记
\newif\if@npu@type@mst % 硕士版本标记
\newif\if@npu@type@bcl % 本科版本标记
\newif\if@npu@output@blindreview % 盲评版本标记
\newif\if@npu@font@adobe % Adobe 字体标记
% \end{macrocode}
% \markdtxchanges{v1.8.3}{2023/01/06}{添加 winfonts 强制使用 Windows 字体选项}
% \begin{macrocode}
\newif\if@npu@font@winfonts % 强制使用 Win 字体
\def\set@lang@chs{\@npu@lang@chstrue} % 设置中文版本
\def\set@lang@eng{\@npu@lang@chsfalse} % 设置英文版本
\def\set@type@phd{ \@npu@type@phdtrue\@npu@type@mstfalse\@npu@type@bclfalse}
\def\set@type@master{ \@npu@type@phdfalse\@npu@type@msttrue\@npu@type@bclfalse}
\def\set@type@bachelor{\@npu@type@phdfalse\@npu@type@mstfalse\@npu@type@bcltrue}
\DeclareOptionX{lang}[chs]{\csname set@lang@#1\endcsname}
\DeclareOptionX{degree}[phd]{\csname set@type@#1\endcsname}
\DeclareOptionX{blindreview}[true]{\csname @npu@output@blindreview#1\endcsname}
\DeclareOptionX{adobe}[true]{\csname @npu@font@adobe#1\endcsname}
\DeclareOptionX{winfonts}[true]{\csname @npu@font@winfonts#1\endcsname}
\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{book}} % 传递参数到 book 类
\ExecuteOptionsX{lang=chs} % 默认为中文版本
\ExecuteOptionsX{degree=phd} % 默认为博士版本
\ExecuteOptionsX{blindreview=false} % 默认不开启盲评模式
\ExecuteOptionsX{adobe=false} % 默认不用 Adobe 字体
\ExecuteOptionsX{winfonts=false} % 默认不开启强制选项
\ProcessOptionsX \relax %
\LoadClass[11pt, a4paper, openany, twoside]{book} % 默认双面印刷
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{添加补丁工具}
% \begin{macrocode}
\RequirePackage{etoolbox} % LaTeX 补丁工具
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{添加数学符号}
% \begin{macrocode}
\RequirePackage{amssymb} % AMS 数学符号
%%=============================================================================%
% \end{macrocode}
%
%^^A---------------------------------------------------------------------------%
% \markdtxchanges{v1.8.3}{2023/01/06}{完善盲评版本的文字替换功能}
% \subsection{盲评版本的文字替换功能}
%
% \begin{itemize}
% \item 使用 |\blindreview{text}| 命令将文本 |text| 添加空白盲评标记,当盲评
% 开关 |blindreview=true| 打开时,该文本会替换为相同宽度的空白。
% \item 使用 |\blackbox{text}| 命令将文本 |text| 添加涂黑盲评标记(一般用于
% 致谢中出现的姓名),当盲评开关 |blindreview=true| 打开时,该文本会替
% 换为与文字相同长度的黑色方块,制造涂黑效果。
% \item 使用 |\markname{text}| 命令将文本 |text| 添加打星盲评标记(一般用于
% 致谢中出现的姓名),当盲评开关 |blindreview=true| 打开时,该文本会替
% 换为 3 个星号,例如“感谢 *** 老师的帮助”。
% \end{itemize}
%
% \begin{macrocode}
%%=============================================================================%
%% 盲评版本的文字替换功能
%%-----------------------------------------------------------------------------%
\newcommand\@npu@replaceitwithblank[1]{{\setlength{% % 替换成相同宽度空白
\fboxsep}{0pt}\colorbox{white}{\phantom{#1}}}}
\newcommand\@npu@replaceitwithblack[1]{{\setlength{% % 替换成涂黑方块
\fboxsep}{0pt}\colorbox{black}{\phantom{#1}}}}
\newcommand\@npu@replaceitwithstars{ *** } % 替换成 3 个星号
\newcommand{\blindreview}[1]{\if@npu@output@blindreview% % 空白盲评标记
\@npu@replaceitwithblank{#1}\relax\else #1\fi} %
\newcommand{\blackbox}[1]{\if@npu@output@blindreview% % 涂黑盲评标记
\@npu@replaceitwithblack{#1}\relax\else #1\fi} %
\newcommand{\markname}[1]{\if@npu@output@blindreview% % 打星盲评标记
\@npu@replaceitwithstars\relax\else #1\fi} %
%%=============================================================================%
% \end{macrocode}
%
%^^A---------------------------------------------------------------------------%
% \subsection{格式控制及组件控制}
%
% \begin{itemize}
% \item 使用 |geometry| 来控制纸张尺寸以及页边距大小。
% \item 使用 |hyperref| 添加书签超链接,并设置通过 Acrobat 打开的默认选项。
% \item 使用 |type1cm| 控制字号与行距,统一前缀 s (size)。
% \item 使用 |ifplatform| 控制不同平台下的字体。
% \item 使用 |fontspec| 以及 |xeCJK| 控制中英文字体,统一前缀 f (font),
% 并且设置中文段落及换行风格。
% \item 使用 |indentfirst| 添加段首空格控制。
% \item 使用 |ulem| 添加下划线控制。
% \item 使用 |layouts| 添加页面具体尺寸信息。
% \item 使用 |titlesec| 和 |titletoc| 添加目录及标题控制。
% \item 使用 |fancyhdr| 和 |fancyref| 添加页眉及页脚控制。
% \item 使用 |natbib| 添加引用参考文献功能,并且设置中文上标引用格式。
% \item 使用 |enumerate| 和 |enumitem| 添加插入列表功能。
% \item 添加插入图表和整页 PDF 文件功能,并使用 |caption| 控制排版格式。
% \item 使用 |ntheorem| 添加插入定理环境功能。
% \item 使用 |listings| 添加插入源代码功能。
% \item 使用 |algorithm| 和 |fancyref| 添加算法流程或伪代码功能。
% \item 使用 |appendix| 添加插入附录功能。
% \item 使用 |nomencl| 和 |multicol| 添加分栏符号表功能。
% \end{itemize}
%
% \begin{macrocode}
%%=============================================================================%
%% 格式控制及组件控制
%%-----------------------------------------------------------------------------%
\RequirePackage{geometry} % 纸张尺寸及页边距
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{摘要关键词之间空一行}
% \begin{macrocode}
\geometry{a4paper, % A4 纸张
left=2.5cm, right=2.5cm, top=2.54cm, bottom=2.54cm, % 页边距
headheight=0.53cm, headsep=0.51cm, footskip=0.79cm} % 页眉页脚位置
%%-----------------------------------------------------------------------------%
\RequirePackage[ % 超链接设置
unicode=true, % 允许 Unicode
colorlinks=false, % 不改变文字颜色
pdfborder={0 0 0}]{hyperref} % 不显示边框
\hypersetup{ % Acrobat 默认设置
bookmarks=true, % 显示书签页
pdftoolbar=true, % 显示工具栏
pdfmenubar=true, % 显示菜单栏
pdffitwindow=true, % 缩放以适应窗口大小
pdfstartview={FitH}, % 适合窗口宽度
pdfnewwindow=true, % 以新窗口打开链接
} %
\RequirePackage{bookmark} %
%%-----------------------------------------------------------------------------%
\RequirePackage{type1cm} % 设置字号与行距
\newcommand{\sChuhao}{\fontsize{42pt}{63pt}\selectfont} % 初号,1.5 倍
\newcommand{\sYihao}{\fontsize{26pt}{36pt}\selectfont} % 一号,1.4 倍
\newcommand{\sErhao}{\fontsize{22pt}{28pt}\selectfont} % 二号,1.25 倍
\newcommand{\sXiaoer}{\fontsize{18pt}{18pt}\selectfont} % 小二,单倍
\newcommand{\sSanhao}{\fontsize{16pt}{24pt}\selectfont} % 三号,1.5 倍
\newcommand{\sXiaosan}{\fontsize{15pt}{22pt}\selectfont} % 小三,1.5 倍
\newcommand{\sSihao}{\fontsize{14pt}{21pt}\selectfont} % 四号,1.5 倍
\newcommand{\sHgXiaosi}{\fontsize{13pt}{19pt}\selectfont} % 半小四,1.5 倍
\newcommand{\sLgXiaosi}{\fontsize{12.5pt}{13pt}\selectfont} % 半小四,约 1 倍
\newcommand{\sXiaosi}{\fontsize{12pt}{14.4pt}\selectfont} % 小四,1.2 倍
\newcommand{\sLargeWuhao}{\fontsize{11pt}{11pt}\selectfont} % 大五,单倍
\newcommand{\sWuhao}{\fontsize{10.5pt}{10.5pt}\selectfont} % 五号,单倍
\newcommand{\sXiaowu}{\fontsize{9pt}{9pt}\selectfont} % 小五,单倍
\newcommand{\sDefault}{\fontsize{12pt}{20pt}\selectfont} % 小四,1.67 倍
%%-----------------------------------------------------------------------------%
\RequirePackage{ifplatform} % 跨平台字体控制依赖
% \end{macrocode}
% \markdtxchanges{v1.8.3}{2023/01/06}{默认字体为 Windows 系统自带版本}
% \begin{macrocode}
\newcommand\defaultSog{SimSun} % 宋体,用于正文
\newcommand\defaultHei{SimHei} % 黑体,用于标题
\newcommand\defaultKai{KaiTi} % 楷体,一般用于强调
\newcommand\defaultFag{FangSong} % 仿宋,一般用于强调
\if@npu@font@winfonts\relax % 检测 winfonts 选项
\else %
\if@npu@font@adobe % 检测 Adobe 选项
\renewcommand\defaultSog{Adobe Song Std} % 宋体,用于正文
\renewcommand\defaultHei{Adobe Heiti Std} % 黑体,用于标题
\renewcommand\defaultKai{Adobe Kaiti Std} % 楷体,一般用于强调
\renewcommand\defaultFag{Adobe Fangsong Std} % 仿宋,一般用于强调
\else % 使用系统自带字体
\ifwindows\relax\fi % Windows 使用默认字体
\iflinux\relax\fi % Linux 使用默认字体
\ifmacosx % macOS 环境
\renewcommand\defaultSog{STSongti-SC-Regular} % 宋体,用于正文
\renewcommand\defaultHei{STHeiti} % 黑体,用于标题
\renewcommand\defaultKai{STKaiti} % 楷体,一般用于强调
\renewcommand\defaultFag{STFangSong} % 仿宋,一般用于强调
\fi %
\fi %
\fi %
\newcommand\defaultEngFont{Times New Roman} % 英文文本默认字体
% \end{macrocode}
% \markdtxchanges{v1.8.4}{2023/03/02}{新增英文 Sans 字体}
% \begin{macrocode}
\newcommand\defaultEngSansFont{\defaultHei} % 英文 Sans 字体
\newcommand\codeFont{Consolas} % 等宽英文默认字体
%%-----------------------------------------------------------------------------%
\RequirePackage{fontspec} % 设置字体
\RequirePackage[SlantFont, BoldFont, CJKchecksingle]{xeCJK} % 设置中文字体
\defaultfontfeatures{Mapping=tex-text} % 启用 TeX Ligatures
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{将宋体的 bfseries 设置为伪粗体}
% \begin{macrocode}
\setCJKmainfont[ItalicFont=\defaultKai, AutoFakeBold]{\defaultSog}
\setCJKsansfont[ItalicFont=\defaultKai, AutoFakeBold]{\defaultSog}
\setCJKfamilyfont{song}{\defaultSog} % 设置 CJK 字体族
\setCJKfamilyfont{hei}{\defaultHei} %
\setCJKfamilyfont{kai}{\defaultKai} %
\setCJKfamilyfont{fang}{\defaultFag} %
\setCJKfamilyfont{eng}{\defaultEngFont} %
% \end{macrocode}
% \markdtxchanges{v1.8.4}{2023/03/02}{新增英文 Sans 字体}
% \begin{macrocode}
\setsansfont{\defaultEngSansFont} %
\setmonofont{\codeFont} %
\setmainfont{\defaultEngFont} %
\newcommand{\fSong}{\CJKfamily{song}} % 宋体: fSong
\newcommand{\fHei}{\CJKfamily{hei}} % 黑体: fHei
\newcommand{\fKai}{\CJKfamily{kai}} % 楷体: fKai
\newcommand{\fFang}{\CJKfamily{fang}} % 仿宋: fFang
\newcommand{\fEng}{\CJKfamily{eng}} % 英文: fEng
\XeTeXlinebreaklocale "zh" % 使用中文的换行风格
\XeTeXlinebreakskip = 0pt plus 1pt % 换行逻辑的弹性大小
%%-----------------------------------------------------------------------------%
\RequirePackage{indentfirst} % 段首空格设置
% \end{macrocode}
% \markdtxchanges{v1.8.4}{2023/02/14}{特化处理首行缩进}
% \begin{macrocode}
\setlength\parindent{24pt} % 段首空格长度
\setlength\parskip{0pt} % 段落间距
\renewcommand{\baselinestretch}{1.0} % 行距
%%-----------------------------------------------------------------------------%
\RequirePackage{ulem} % 下划线
\newcommand\dlmu@underline[2][5cm]{\hspace{1pt}\underline{ %
\hb@xt@ #1{\hss#2\hss}}\hspace{3pt}} %
\let\coverunderline\dlmu@underline %
%%-----------------------------------------------------------------------------%
\RequirePackage{layouts} % 页面具体尺寸信息
%%-----------------------------------------------------------------------------%
\RequirePackage[sf]{titlesec} % 章节标题格式
\RequirePackage{titletoc} % 目录格式
\setcounter{secnumdepth}{3} % 标题计数器深度
\setcounter{tocdepth}{2} % 目录中标题深度
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{标题字体格式修改}
% \markdtxchanges{v1.8.4}{2023/03/02}{补充修改标题编号字体为黑体}
% \begin{macrocode}
\titleformat{\chapter}[hang]{\normalfont\sSanhao\filcenter %
\sffamily\fHei}{\sffamily\fHei\sSanhao{\chaptertitlename}}{20pt}{\sSanhao}%
% \end{macrocode}
% \markdtxchanges{v1.8.5}{2023/03/06}{小标题取消首行缩进}
% \begin{macrocode}
\titleformat{\section}[hang]{\sffamily\fHei\sSihao}{% %
\sffamily\fHei\sSihao\thesection}{0.5em}{}{} %
\titleformat{\subsection}[hang]{\sffamily\fHei\sHgXiaosi}{% %
\sffamily\fHei\sHgXiaosi\thesubsection}{0.5em}{}{} %
\titleformat{\subsubsection}[hang]{\sffamily\fHei}{% % 小标题: (4) 标题
(\arabic{subsubsection})}{0.5em}{}{} %
% \end{macrocode}
% \markdtxchanges{v1.8.0}{2022/12/03}{增加大标题行间距}
% \begin{macrocode}
\titlespacing{\chapter}{0pt}{-2pt}{14pt} % 缩小标题之间缩进
\titlespacing{\section}{0pt}{7pt}{0em} %
\titlespacing{\subsection}{0pt}{6.5pt}{0em} %
\titlespacing{\subsubsection}{0pt}{0.25em}{0pt} %
% \end{macrocode}
% \markdtxchanges{v1.8.0}{2022/12/03}{增加 paragraph 标题控制}
% \begin{macrocode}
\titlespacing{\paragraph}{0pt}{0.25em}{0pt} %
\dottedcontents{section}[1.16cm]{}{1.8em}{5pt} % 定义目录中各级标题
\dottedcontents{subsection}[2.00cm]{}{2.7em}{5pt} % 之间的格式以及缩进
\dottedcontents{subsubsection}[2.86cm]{}{3.4em}{5pt} %
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{更新中英文章节标题}
% \begin{macrocode}
\newcommand{\nwpu@chs@chaptercname}[1]{第 #1 章} % 目录章节中文标题
\newcommand{\nwpu@eng@chaptercname}[1]{Chapter #1} % 目录章节英文标题
\if@npu@lang@chs % 中文本地化显示
\titlecontents{chapter}[0pt]{\fSong\sLgXiaosi\vspace{ %
0.5em}}{\contentsmargin{0pt}\fSong\makebox[0pt %
][l]{\nwpu@chs@chaptercname{\thecontentslabel}}\hspace{%
3.5em}}{\contentsmargin{0pt}\fSong}{\titlerule*[%
.5pc]{.}\contentspage}[\vspace{0em}] %
\else %
\newlength{\contents@titlewidth} %
\newlength{\contents@appendixwidth} %
\settowidth{\contents@titlewidth}{\sLgXiaosi Chapter 000}%
\settowidth{\contents@appendixwidth}{\sLgXiaosi Appendix M00}
\titlecontents{chapter}[0pt]{\fSong\sLgXiaosi\vspace{ %
0.5em}}{\contentsmargin{0pt}\fSong\makebox[0pt %
][l]{\nwpu@eng@chaptercname{\thecontentslabel}}\hspace{%
\contents@titlewidth}}{\contentsmargin{0pt}\fSong}{
\titlerule*[.5pc]{.}\contentspage}[\vspace{0em}] %
\fi %
%%-----------------------------------------------------------------------------%
\RequirePackage{fancyhdr} % 页眉设置
\RequirePackage{fancyref} %
\newcommand{\npu@headrule}{ %
\rlap{\rule[.7\baselineskip]{\headwidth}{3.4pt}} %
\vspace{-1.07\baselineskip} %
\rule[.5\baselineskip]{\headwidth}{0.6pt} %
\vspace{-.8\baselineskip} %
} %
\renewcommand{\headrule}{ %
\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi %
\npu@headrule %
} %
% \end{macrocode}
% \markdtxchanges{v1.8.1}{2022/12/06}{章节页眉设置}
% \begin{macrocode}
\if@npu@lang@chs % 中英文章节页眉设置
\renewcommand{\chaptermark}[1]{ %
\markboth{\nwpu@chs@chaptercname\thechapter~~ #1}{}}%
\else %
\renewcommand{\chaptermark}[1]{ %
\markboth{\nwpu@eng@chaptercname\thechapter~~ #1}{}}%
\fi %
\pagestyle{fancyplain} % 新增版式 fancyplain
\fancyhf{} % 清空原有页眉页脚
\fancyfoot[C, C]{\sWuhao{\thepage}} % 页脚中央显示页码
\fancyhead{} % 页眉清除原有设置
\fancyhead[COH]{\sXiaowu{\leftmark}} %
\if@npu@lang@chs % 中文论文环境
\fancyhead[CEH]{\sXiaowu{\nwpu@chs@header}} %
\else % 英文论文环境
\fancyhead[CEH]{\sXiaowu{\nwpu@eng@header}} %
\fi %
%%-----------------------------------------------------------------------------%
\RequirePackage[numbers, sort&compress]{natbib} % 参考文献
\let\oldcite\cite % 参考文献