From e1cfdc8a158db2dbe03860a6994dffb646657712 Mon Sep 17 00:00:00 2001
From: Yichen Zhao <njuzhaoyichen@gmail.com>
Date: Thu, 16 Sep 2021 22:38:17 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=A0=E9=99=A4=E4=BB=93=E5=BA=93cl?=
 =?UTF-8?q?s=E5=92=8Cen=20readme=E6=96=87=E4=BB=B6=EF=BC=8C=E6=94=B9?=
 =?UTF-8?q?=E4=B8=BAaction=E8=87=AA=E5=8A=A8=E7=BC=96=E8=AF=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .github/workflows/build.yml |    9 +-
 .gitignore                  |    6 +-
 README_EN.md                |   26 -
 njuthesis.cls               | 1172 -----------------------------------
 4 files changed, 10 insertions(+), 1203 deletions(-)
 delete mode 100644 README_EN.md
 delete mode 100644 njuthesis.cls

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fd87ded..a83e96a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -41,10 +41,15 @@ jobs:
     steps:
       - name: Set up Git repository
         uses: actions/checkout@v2
-          
+
+      - name: Github Action for LaTeX dtx to cls
+        uses: FengChendian/latex-dtx2cls-action@v4
+        with:
+          root_file: njuthesis.dtx
+
       - name: Zip Release Source
         run: |
-          zip -r njuthesis.zip . -x ".git/*" ".github/*" ".gitignore" "*.dtx"
+          zip -r njuthesis.zip . -x ".git/*" "*.ins" ".github/*" ".gitignore" "*.dtx"
           
       - name: Download artifact
         uses: actions/download-artifact@v2
diff --git a/.gitignore b/.gitignore
index ed306c0..40bc04b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,11 +13,11 @@
 .*.lb
 
 ## LaTeX class and package
-# *.cls
-# *.sty
+*.cls
+*.sty
 
 # English README
-# README_EN.md
+README_EN.md
 
 ## DocStrip installation file
 *.ins
diff --git a/README_EN.md b/README_EN.md
deleted file mode 100644
index 58972ca..0000000
--- a/README_EN.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# NJU Thesis
-
-## Overview
-
-This is A LaTex Template for Nanjing University Thesis. This template supports bachelor, master, and doctoral thesis. The Template needs `xelatex` or `lualatex`.
-
-## License
-
------
-    This work may be distributed and/or modified under the conditions of
-    the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
-    either version 1.3c of this license or (at your option) any later
-    version.
------
-
-## Contributing
-
-If you find a problem with the template, please submit an issue or PR in Github
-
-## Wiki
-
-Please see [Chinese wiki](https://github.com/nju-lug/NJUThesis/wiki)銆�
-
------
-
-Copyright 漏 NJU-LUG
diff --git a/njuthesis.cls b/njuthesis.cls
deleted file mode 100644
index 1201ac9..0000000
--- a/njuthesis.cls
+++ /dev/null
@@ -1,1172 +0,0 @@
-%%
-%% This is file `njuthesis.cls',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% njuthesis.dtx  (with options: `class')
-%% 
-%% Copyright (C) 2021 by Nanjing University Linux User Group <nju.lug@yaoge123.cn>
-%% 
-%% 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.
-%% 
-%% To produce the documentation run the original source files ending with `.dtx'
-%% through XeTeX.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\RequirePackage{expl3}
- \GetIdInfo  $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800  NJU LUG <nju.lug@yaoge123.cn> $
-  {Thesis template for Nanjing University}
-\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
-\LoadClass[
-  a4paper,
-  twoside,
-  UTF8,
-  scheme=chinese,
-  linespread=1.625,
-  fontset=none,
-  zihao=-4
-  ]{ctexbook}[2018/04/01]
-\RequirePackage{l3keys2e}
-\tl_new:N \l__nju_info_degree_tl
-\tl_new:N \l__nju_info_type_tl
-\keys_define:nn { nju }
-{
-  nlcover           .bool_set:N   =   \nju_nl_cover,
-  nlcover           .initial:n    =   false,
-}
-\keys_define:nn { nju }
-{
-  degree            .choices:nn   =
-  { ug, mg, mg, phd }
-  { \tl_set_eq:NN \l__nju_info_degree_tl \l_keys_choice_tl },
-  type              .choices:nn   =
-  { thesis, design }
-  { \tl_set_eq:NN \l__nju_info_type_tl   \l_keys_choice_tl },
-}
-\keys_define:nn { nju }
-{
-  info.meta:nn = { nju / info } { #1 }
-}
-\keys_define:nn { nju / info }
-{
-  TitleA            .tl_set:N     =   \l__nju_info_title_a_tl,
-  TitleB            .tl_set:N     =   \l__nju_info_title_b_tl,
-  TitleC            .tl_set:N     =   \l__nju_info_title_c_tl,
-  Title*            .tl_set:N     =   \l__nju_info_title_en_tl,
-}
-\keys_define:nn { nju / info }
-{
-  Grade             .tl_set:N     =   \l__nju_info_grade_tl,
-  StudentID         .tl_set:N     =   \l__nju_info_id_tl,
-  StudentName       .tl_set:N     =   \l__nju_info_author_tl,
-  StudentName*      .tl_set:N     =   \l__nju_info_author_en_tl,
-}
-\keys_define:nn { nju / info }
-{
-  Department        .tl_set:N     =   \l__nju_info_dept_tl,
-  Department*       .tl_set:N     =   \l__nju_info_dept_en_tl,
-  Major             .tl_set:N     =   \l__nju_major_tl,
-  Major*            .tl_set:N     =   \l__nju_major_en_tl,
-  Field             .tl_set:N     =   \l__nju_field_tl,
-  Field*            .tl_set:N     =   \l__nju_field_en_tl,
-}
-\keys_define:nn { nju / info }
-{
-  SupervisorA       .tl_set:N     =   \l__nju_info_supv_a_tl,
-  SupervisorA*      .tl_set:N     =   \l__nju_info_supv_a_en_tl,
-  SupervisorATitle  .tl_set:N     =   \l__nju_info_supv_a_title_tl,
-  SupervisorATitle* .tl_set:N     =   \l__nju_info_supv_a_title_en_tl,
-}
-\keys_define:nn { nju / info }
-{
-  SupervisorB       .tl_set:N     =   \l__nju_info_supv_b_tl,
-  SupervisorB*      .tl_set:N     =   \l__nju_info_supv_b_en_tl,
-  SupervisorBTitle  .tl_set:N     =   \l__nju_info_supv_b_title_tl,
-  SupervisorBTitle* .tl_set:N     =   \l__nju_info_supv_b_title_en_tl,
-}
-\keys_define:nn { nju / info }
-{
-  SubmitDate        .tl_set:N     =   \l__nju_submit_date_tl,
-}
-\keys_define:nn { nju / info }
-{
-  DefendDate        .tl_set:N     =   \l__nju_defend_date_tl,
-  ReviewerChairman  .tl_set:N     =   \l__nju_info_chairman_tl,
-  ReviewerA         .tl_set:N     =   \l__nju_info_reviewer_a_tl,
-  ReviewerB         .tl_set:N     =   \l__nju_info_reviewer_b_tl,
-  ReviewerC         .tl_set:N     =   \l__nju_info_reviewer_c_tl,
-  ReviewerD         .tl_set:N     =   \l__nju_info_reviewer_d_tl,
-}
-\keys_define:nn { nju / info }
-{
-  Classification    .tl_set:N     =   \l__nju_info_classif_tl,
-  SecurityLevel     .tl_set:N     =   \l__nju_info_seclv_tl,
-  UDC               .tl_set:N     =   \l__nju_info_udc_tl,
-  SupervisorContact .tl_set:N     =   \l__nju_info_supv_cont_tl,
-}
-\NewDocumentCommand \njusetup { m }
-{ \keys_set:nn { nju } { #1 } }
-\RequirePackage[
-    top=2.5cm,
-    bottom=2.5cm,
-    left=3.2cm,
-    right=3.2cm
-]{geometry}
-\RequirePackage{xparse}
-\RequirePackage{titletoc} % 淇敼鐩綍鍐呮爣棰樻牸寮�
-\RequirePackage[hyphens]{url} % generate better linebreaks in the url
-\RequirePackage{dashundergaps}
-\RequirePackage{setspace}
-\RequirePackage{lastpage}
-\RequirePackage{emptypage} % 娓呴櫎绌虹櫧椤电殑椤电爜
-\RequirePackage{listings} % 浠g爜鐜
-\RequirePackage{enumitem} % 鐢ㄤ簬淇敼鍒楄〃鐜
-\RequirePackage{caption}
-\RequirePackage{floatrow} % 鐢ㄤ簬鍥捐〃绛夐〉闈㈠厓绱犵殑瀹氫綅
-\RequirePackage{booktabs} % 鐢ㄤ簬缁樺埗涓夌嚎琛�
-\RequirePackage{multirow} % Cells occupying multiple rows in tables
-\RequirePackage{multicol} % Multiple columns in dictionary
-\RequirePackage{siunitx} % 鐢ㄤ簬涔﹀啓鍗曚綅绗﹀彿
-\RequirePackage[version=4]{mhchem} % 鐢ㄤ簬缁樺埗鍒嗗瓙寮�
-\RequirePackage{hologo}
-
-\sys_if_engine_xetex:T
-{
-    \RequirePackage{microtype}
-
-    % 鍔犱腑鏂囦笅鍒掔嚎锛屼笉鑳界敤浜巐ualatex
-    \RequirePackage{xeCJKfntef}
-    \cs_new:Npn \nju_underline:n #1 {\CJKunderline{#1}}
-}
-\sys_if_engine_luatex:T{
-    % 鍔犱腑鏂囦笅鍒掔嚎
-    \RequirePackage{lua-ul}
-    \cs_new:Npn \nju_underline:n #1 {\underLine{#1}}
-
-    % emoji鏀寔
-    % \RequirePackage{emoji}
-    % \setemojifont{Segoe~UI~Emoji} % windows
-    % \setemojifont{Apple~Color~Emoji} % macos
-    % \setemojifont{Noto~Color~Emoji}
-    % For windows.
-    % Shipped with the best `grinning-face-with-sweat' support.
-}
-\RequirePackage{blindtext}
-\RequirePackage{zhlipsum}
-\RequirePackage{amsmath} % Must be loaded before unicode-math
-\RequirePackage{amsthm} % Mathematical environments
-\RequirePackage{mathtools} % Mathematical tools to use with amsmath
-\RequirePackage{thmtools} % Theorem styles
-\RequirePackage[
-    warnings-off={% 娑堥櫎涓巑athtools鍚堢敤浜х敓鐨勮鍛�
-        mathtools-colon,
-        mathtools-overbracket}
-        ]{unicode-math} % Math fonts in xetex or luatex
-\RequirePackage{graphicx}
-\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
-\graphicspath{{figure/}} % 鍥剧墖璺緞
-\RequirePackage{wrapfig} % Wrap text around figures
-\RequirePackage[hidelinks,bookmarksnumbered=true]{hyperref}
-\RequirePackage[capitalise,nameinlink,noabbrev]{cleveref}
-\RequirePackage{fontspec}
-\tl_new:N \g__nju_latin_fontset_tl
-\tl_new:N \g__nju_cjk_fontset_tl
-\keys_define:nn { nju }
-{
-  customlatinfont   .choices:nn   =
-  { gyre, macos, windows, null }
-  { \tl_set_eq:NN \g__nju_latin_fontset_tl \l_keys_choice_tl },
-  customchinesefont .choices:nn   =
-  { fandol, founder, macos, noto, windows, null }
-  { \tl_set_eq:NN \g__nju_cjk_fontset_tl   \l_keys_choice_tl },
-}
-\ProcessKeysOptions { nju }
-\bool_new:N \g__nju_load_system_fontset_tl
-\tl_if_empty:NTF \g__nju_latin_fontset_tl
-  { \bool_gset_true:N \g__nju_load_system_fontset_tl }
-{
-  \tl_if_empty:NT \g__nju_cjk_fontset_tl
-    { \bool_gset_true:N \g__nju_load_system_fontset_tl }
-}
-\bool_if:NT \g__nju_load_system_fontset_tl
-{
-  % 妫€娴嬫槸鍚︽槸 Windows
-  \sys_if_platform_windows:TF
-  {
-    \tl_set:Nn \g__nju_latin_fontset_tl { windows }
-    \tl_set:Nn \g__nju_cjk_fontset_tl   { windows }
-  }
-  {
-    % 妫€娴嬫槸鍚︽槸 macOS
-    \ctex_if_platform_macos:TF
-    {
-      \tl_set:Nn \g__nju_latin_fontset_tl { macos }
-      \tl_set:Nn \g__nju_cjk_fontset_tl   { macos }
-    }
-    % 鍏朵綑绯荤粺涓€寰嬩娇鐢ㄨ嚜鐢卞瓧浣�
-    {
-      \tl_set:Nn \g__nju_latin_fontset_tl { gyre }
-      \tl_set:Nn \g__nju_cjk_fontset_tl { fandol }
-    }
-  }
-}
-\cs_new_protected:Npn \__nju_load_latin_font_windows:
-{
-  \setmainfont{Times~New~Roman}
-  \setsansfont{Arial}
-  \setmonofont{Courier~New}[Scale=MatchLowercase]
-}
-\cs_new_protected:Npn \__nju_load_latin_font_macos:
-{
-\setmainfont{Times~New~Roman}
-\setsansfont{Arial}
-\setmonofont{Menlo}[Scale=MatchLowercase]
-}
-\cs_new_protected:Npn \__nju_load_latin_font_gyre:
-{
-\setmainfont{texgyretermes}[
-  Extension=.otf,
-  UprightFont=*-regular,
-  BoldFont=*-bold,
-  ItalicFont=*-italic,
-  BoldItalicFont=*-bolditalic]
-\setsansfont{texgyreheros}[
-  Extension=.otf,
-  UprightFont=*-regular,
-  BoldFont=*-bold,
-  ItalicFont=*-italic,
-  BoldItalicFont=*-bolditalic]
-\setmonofont{texgyrecursor}[
-  Extension=.otf,
-  UprightFont=*-regular,
-  BoldFont=*-bold,
-  ItalicFont=*-italic,
-  BoldItalicFont=*-bolditalic,
-  Scale=MatchLowercase,
-  Ligatures=CommonOff]
-}
-\cs_new_protected:Npn \__nju_load_cjk_font_windows:
-{
-  \setCJKmainfont{SimSun}[
-    AutoFakeBold=2.17,
-    ItalicFont=KaiTi]
-  \setCJKsansfont{SimHei}
-  \setCJKmonofont{FangSong}
-  \setCJKfamilyfont{zhsong}{SimSun}[AutoFakeBold=2.17]
-  \setCJKfamilyfont{zhhei}{SimHei}
-  \setCJKfamilyfont{zhfs}{FangSong}
-  \setCJKfamilyfont{zhkai}{KaiTi}[AutoFakeBold=2.17]
-  \setCJKfamilyfont{zhnewhei}{Microsoft~YaHei}[
-    BoldFont=Microsoft~YaHei~Bold]
-}
-\cs_new_protected:Npn \__nju_load_cjk_font_macos:
-{
-\msg_redirect_name:nnn {fontspec} {no-script} {info}
-\setCJKmainfont{Songti~SC~Light}[
-  BoldFont=Songti~SC~Bold,
-  ItalicFont=Kaiti~SC,
-  BoldItalicFont=Kaiti~SC~Bold]
-\setCJKsansfont{Heiti~SC~Light}[BoldFont=Heiti~SC~Medium]
-\setCJKmonofont{STFangsong}
-\setCJKfamilyfont{zhsong}{Songti~SC~Light}[BoldFont=Songti~SC~Bold]
-\setCJKfamilyfont{zhhei}{Heiti~SC~Light}[BoldFont=Heiti~SC~Medium]
-\setCJKfamilyfont{zhfs}{STFangsong}
-\setCJKfamilyfont{zhkai}{Kaiti~SC}
-  [
-    BoldFont=Kaiti~SC~Bold,
-    % 鍙傝€僀TeX鎵嬪唽绗�9鑺� LuaLATEX 涓嬬殑涓枃鏀寔鏂瑰紡
-    % AlternateFont =
-    %   {
-    %   {鉄╟haracter range1鉄﹠ {鉄╝lternate font name1鉄﹠
-    %   {鉄╝lternate font features2鉄﹠ ,
-    %   ......
-    %   }
-  ]
-\setCJKfamilyfont{zhnewhei}{PingFang~SC}
-}
-\cs_new_protected:Npn \__nju_load_cjk_font_fandol:
-{
-\msg_redirect_name:nnn {fontspec} {no-script} {info}
-\setCJKmainfont{FandolSong-Regular}[
-  Extension=.otf,
-  BoldFont=FandolSong-Bold,
-  ItalicFont=FandolKai-Regular]
-\setCJKsansfont{FandolHei-Regular}[
-  Extension=.otf,
-  BoldFont=FandolHei-Bold]
-\setCJKmonofont{FandolFang-Regular}[Extension=.otf]
-\setCJKfamilyfont{zhsong}{FandolSong-Regular}[
-  Extension=.otf,
-  BoldFont=FandolSong-Bold]
-\setCJKfamilyfont{zhhei}{FandolHei-Regular}[
-  Extension=.otf,
-  BoldFont=FandolHei-Bold]
-\setCJKfamilyfont{zhfs}{FandolFang-Regular}[Extension=.otf]
-\setCJKfamilyfont{zhkai}{FandolKai-Regular}[
-  Extension=.otf,
-  AutoFakeBold=2.17]
-}
-\cs_new_protected:Npn \__nju_load_cjk_font_founder:
-{
-\setCJKmainfont{FZSSK}[% 鏂规涔﹀畫
-  Extension=.ttf,
-  BoldFont=FZXBSK,% 鏂规灏忔爣瀹�
-  ItalicFont=FZKTK]% 鏂规妤蜂綋
-\setCJKsansfont{FZXH1K}[% 鏂规缁嗛粦涓€
-  Extension=.ttf,
-  BoldFont=FZHTK]% FZHTK 鏂规榛戜綋
-\setCJKmonofont{FZFSK}[Extension=.ttf]% 鏂规浠垮畫
-\setCJKfamilyfont{zhsong}
-  {FZSSK}[
-    Extension=.ttf,
-    BoldFont=FZXBSK]
-\setCJKfamilyfont{zhhei}
-  {FZHTK}[
-    Extension=.ttf,
-    AutoFakeBold=2.17]
-\setCJKfamilyfont{zhfs}
-  {FZFSK}[Extension=.ttf]
-\setCJKfamilyfont{zhkai}
-  {FZKTK}[Extension=.ttf]
-\setCJKfamilyfont{zhnewhei}
-  {FZYouHK_508R}[% 鏂规鎮犻粦508R
-    Extension=.ttf,
-    BoldFont=FZYouHK_511M]% 鏂规鎮犻粦511M
-}
-\cs_new_protected:Npn \__nju_load_cjk_font_noto:
-{
-\setCJKmainfont[
-  UprightFont=NotoSerifCJKsc-Regular,
-  BoldFont=NotoSerifCJKsc-Bold,
-  ItalicFont=NotoSerifCJKsc-Regular,
-  BoldItalicFont=NotoSerifCJKsc-Bold,
-  ItalicFeatures=FakeSlant,
-  BoldItalicFeatures=FakeSlant]{Noto~Serif~CJK~SC}
-
-\setCJKsansfont[
-  UprightFont=NotoSansCJKsc-Regular,
-  BoldFont=NotoSansCJKsc-Bold,
-  ItalicFont=NotoSansCJKsc-Regular,
-  BoldItalicFont=NotoSansCJKsc-Bold,
-  ItalicFeatures=FakeSlant,
-  BoldItalicFeatures=FakeSlant]{Noto~Sans~CJK~SC}
-
-\setCJKmonofont[
-  UprightFont=NotoSansMonoCJKsc-Regular,
-  BoldFont=NotoSansMonoCJKsc-Bold,
-  ItalicFont=NotoSansMonoCJKsc-Regular,
-  BoldItalicFont=NotoSansMonoCJKsc-Bold,
-  ItalicFeatures=FakeSlant,
-  BoldItalicFeatures=FakeSlant]{Noto~Sans~Mono~SC}
-
-\setCJKfamilyfont{zhsong}{Noto~Serif~CJK~SC}
-\setCJKfamilyfont{zhhei}{Noto~Sans~CJK~SC}
-\setCJKfamilyfont{zhfs}{鏂规浠垮畫绠€浣搣[AutoFakeBold=2.17]
-\setCJKfamilyfont{zhkai}{鏂规妤蜂綋绠€浣搣[AutoFakeBold=2.17]
-}
-\cs_new_protected:Npn \__nju_load_font:
-{
-  \use:c { __nju_load_latin_font_ \g__nju_latin_fontset_tl : }
-  \use:c { __nju_load_cjk_font_   \g__nju_cjk_fontset_tl   : }
-
-  \NewDocumentCommand\songti{}{\CJKfamily{zhsong}}
-  \NewDocumentCommand\heiti{}{\CJKfamily{zhhei}}
-  \NewDocumentCommand\fangsong{}{\CJKfamily{zhfs}}
-  \NewDocumentCommand\kaishu{}{\CJKfamily{zhkai}}
-}
-\__nju_load_font:
-\setmathfont{XITSMath-Regular}[
-  BoldFont = XITSMath-Bold,
-  Extension = .otf]
-\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼
-\fancypagestyle{njuplain}{%
-   \fancyhead{}
-   \fancyfoot[C]{\zihao{5}\thepage} % 椤佃剼灞呬腑 浜斿彿鏂扮綏椹綋鏁板瓧
-}
-\fancypagestyle{njuheadings}{%
-   \fancyhead{}
-   \fancyfoot[C]{\zihao{5}\thepage}
-}
-\str_if_eq:NNTF {\l__nju_info_degree_tl} { ug }
-{
-  % the header line
-  \tl_set:Nn \headrulewidth {0pt}
-  % the footer line
-  \tl_set:Nn \footrulewidth {0pt}
-
-  \AtBeginDocument{\pagestyle{njuplain}} % 鏈鏃犻〉鐪夐〉鑴�
-}
-{
-  % the header line
-  \tl_set:Nn \headrulewidth {1pt}
-  % the footer line
-  \tl_set:Nn \footrulewidth {0pt}
-
-  % \AtBeginDocument{\pagestyle{njuplain}} % 鏃犻〉鐪夐〉鑴�
-  \AtBeginDocument{\pagestyle{headings}} % 鐮旂┒鐢熸湁椤电湁椤佃剼
-}
-\ctexset{
-    contentsname = 鐩綍,
-    listfigurename = 鎻掑浘娓呭崟,
-    listtablename = 琛ㄦ牸娓呭崟,
-    chapter/format = \zihao{4}\heiti\centering,
-    chapter/beforeskip = 10pt,
-    chapter/afterskip = 60pt,
-    section/format = \zihao{4}\heiti\raggedright,
-    subsection/format = \zihao{4}\heiti\raggedright,
-    subsubsection/format = \zihao{4}\heiti\raggedright
-}
-
-\titlecontents{chapter}% 鏍囬绾у埆
-                [5em]% 鏍囬宸﹂棿璺�
-                {\heiti\zihao{4}\vspace{10pt}}% 鏍囬鏍煎紡
-                {\contentslabel{4em}}% 鏍囬鏍囧織
-                {\hspace*{-4em}}% 鏃犲簭鍙锋爣棰�
-                {~\titlerule*[0.6pc]{$.$}~\contentspage}% 鎸囧紩绾夸笌椤电爜
-
-                \titlecontents{section}
-                [5em]
-                {\zihao{-4}\vspace{0pt}}
-                {\contentslabel{2.5em}}
-                {\hspace*{-4em}}
-                {~\titlerule*[0.6pc]{$.$}~\contentspage}
-
-\titlecontents{subsection}
-                [8em]
-                {\zihao{-4}\vspace{0pt}}
-                {\contentslabel{3em}}
-                {\hspace*{-4em}}
-                {~\titlerule*[0.6pc]{$.$}~\contentspage}
-\cs_set:Npn \CTEX@addtocline #1#2
-{
-  \addcontentsline { toc } {#1}
-  { \use:c { CTEX@#1@tocline } {#1} {#2} }
-}
-\cs_new:Npn \nju_tocpagestyle:nnn #1 #2 #3
-{
-  \newpage
-  \hspace{0pt}
-  \vskip 10pt
-  \begin{center}
-    \mbox{\songti\bf\zihao{3}{#1}} % 鐩綍椤甸潰鏍囬
-    \phantomsection
-    \addcontentsline{toc}{chapter}{#2} % 鎻掑叆鐩綍
-  \end{center}
-  \vskip 40pt
-  \@starttoc{#3}%
-  \cleardoublepage
-}
-\tl_set:Nn \tableofcontents
-{
-  \nju_tocpagestyle:nnn {鐩甛hspace{2em}褰晑{\contentsname}{toc}
-}
-\tl_set:Nn \listoffigures
-{
-  \nju_tocpagestyle:nnn {\listfigurename}{\listfigurename}{lof}
-}
-\tl_set:Nn \listoftables
-{
-  \nju_tocpagestyle:nnn {\listtablename}{\listtablename}{lot}
-}
-\NewDocumentEnvironment{preface}{}
-{%
-  \chapter*{鍓嶈█}
-  \addcontentsline{toc}{chapter}{鍓嶈█}
-}{}
-\NewDocumentEnvironment{acknowledgement}{}
-{%
-  \chapter*{鑷磋阿}
-  \addcontentsline{toc}{chapter}{鑷磋阿}
-}{}
-\RequirePackage[
-    style=gb7714-2015,
-    %style=numeric-comp,
-    %citestyle=authortitle-icomp,
-    % citestyle=numeric-comp,
-    %bibstyle=authoryear,
-    % bibstyle=numeric,
-    sorting=none,
-    %sorting=nyt,
-    %sortcites=true,
-    %autocite=footnote,
-    backend=biber, % Compile the bibliography with biber
-    hyperref=true,
-    backref=false,
-    citecounter=true,
-    pagetracker=true,
-    citetracker=true,
-    ibidtracker=context,
-    autopunct=true,
-    autocite=plain,
-    % gbpub=false,         % Uncomment if you do NOT want '[S.l. : s.n.]'
-                           % in reference entries, GitHub Issue (#47)
-    % gbnamefmt=lowercase, % Uncomment if you do NOT want uppercase author
-                           % names in reference entries, GitHub Issue (#23)
-]{biblatex}
-\AtEveryBibitem{
-\clearfield{abstract}
-\clearfield{issn}
-\clearfield{isbn}
-\clearfield{archivePrefix}
-\clearfield{arxivId}
-\clearfield{pmid}
-\clearfield{eprint}
-\ifentrytype{online}{}{\ifentrytype{misc}{}{\clearfield{url}}}
-}
-\crefdefaultlabelformat{#2#1#3\,} % 榛樿鍦ㄥ悕绉板悗闈㈡坊鍔犵┖鏍�
-
-\crefname{figure}{鍥緘{鍥緘
-\crefname{table}{琛▆{琛▆
-\crefformat{equation}{鍏紡~#2#1#3~} % 鍒犻櫎鍏紡缂栧彿鐨勬嫭鍙�
-
-\crefformat{chapter}{绗�#2#1#3绔爙
-\crefformat{section}{绗瑍#2#1#3~鑺倉
-\crefformat{subsection}{绗瑍#2#1#3~灏忚妭}
-\crefformat{subsubsection}{绗瑍#2#1#3~灏忚妭}
-\crefname{appendix}{闄勫綍}{闄勫綍}
-
-\floatsetup[lstlisting]{ % Captions for lstlistings
-capposition=above,%
-margins=centering,%
-floatwidth=\textwidth%
-}
-\floatsetup[figure]{ % Captions for figures
-capposition=bottom,%
-margins=centering,%
-floatwidth=\textwidth%
-}
-\floatsetup[table]{ % Captions for tables
-capposition=above,%
-margins=centering,%
-floatwidth=\textwidth%
-}
-\lstset{
-basicstyle=\ttfamily\linespread{1}\small\selectfont,
-    keywordstyle=\bfseries,% use bold style for keywords
-    commentstyle=\rmfamily\itshape,% use italic style for comments
-    stringstyle=\ttfamily,% 瀛楃涓查鏍�
-    flexiblecolumns,% ?
-    numbers=left,% left-aligned numbering
-    showspaces=false,% hide markers for spaces
-    showstringspaces=false,
-    captionpos=t,% place the caption at the top
-breaklines=true,
-xleftmargin=2em,xrightmargin=2em,% set the width of the code environment
-}
-\lstdefinestyle{LaTeX}{
-  language=TeX,
-  morekeywords={
-    begin, caption, label, mathrm, frac,
-    toprule, midrule, bottomrule, includegraphics}
-}
-\DeclareCaptionFont{songticap}{\zihao{5}\bf\songti}
-\captionsetup{
-    font=small,%
-    labelfont=songticap,
-textfont=songticap,
-strut=no,%
-hypcap=true, % Links point to the top of the figure
-aboveskip=6pt, % Increase the space between the figure and the caption
-belowskip=6pt, % Increase the space between the caption and the table
-}
-\renewcommand{\labelitemi}{\tiny$\blacktriangleright$}
-\renewcommand{\labelitemii}{\textbullet}
-
-\setlist[itemize]{noitemsep}
-\setlist[enumerate]{noitemsep}
-\setlist[description]{noitemsep}
-\declaretheoremstyle[
-     %spaceabove=.5\thm@preskip,
-     %spacebelow=.5\thm@postskip,
-     headfont=\bf\songti,%\scshape,
-     notefont=\songti,% notebraces={ (}{)},
-     bodyfont=\songti,
-     %headformat={\NAME\space\NUMBER\space\NOTE},
-     headpunct={},
-     %postheadspace={.5em plus .1em minus .1em},
-     %prefoothook={\hfill\qedsymbol}
-    ]{njuthm}
-
-\theoremstyle{njuthm}
-\let\oldproofname=\proofname
-\renewcommand*{\proofname}{\rm\bf\songti{\oldproofname}} % 淇敼璇佹槑鐜鏍囬
-\declaretheorem[
-name=绠楁硶,
-style=njuthm,
-refname={绠楁硶,绠楁硶},
-Refname={绠楁硶,绠楁硶},
-]{algorithm}
-\declaretheorem[
-name=鍋囪,
-style=njuthm,
-refname={鍋囪,鍋囪},
-Refname={鍋囪,鍋囪},
-]{assumption}
-\declaretheorem[
-name=鍏悊,
-style=njuthm,
-refname={鍏悊,鍏悊},
-Refname={鍏悊,鍏悊},
-]{axiom}
-\declaretheorem[
-name=缁撹,
-style=njuthm,
-refname={缁撹,缁撹},
-Refname={缁撹,缁撹},
-]{conclusion}
-\declaretheorem[
-name=鏉′欢,
-style=njuthm,
-refname={鏉′欢,鏉′欢},
-Refname={鏉′欢,鏉′欢},
-]{condition}
-\declaretheorem[
-name=鎺ㄨ,
-style=njuthm,
-refname={鎺ㄨ,鎺ㄨ},
-Refname={鎺ㄨ,鎺ㄨ},
-]{corollary}
-\declaretheorem[
-name=瀹氫箟,
-style=njuthm,
-refname={瀹氫箟,瀹氫箟},
-Refname={瀹氫箟,瀹氫箟},
-]{definition}
-\declaretheorem[
-     name=渚�,
-     style=njuthm,
-     refname={渚�,渚媫,
-     Refname={渚�,渚媫,
-     % numberwithin=section,
-]{example}
-\declaretheorem[
-name=寮曠悊,
-style=njuthm,
-refname={寮曠悊,寮曠悊},
-Refname={寮曠悊,寮曠悊},
-]{lemma}
-\declaretheorem[
-name=鎬ц川,
-style=njuthm,
-refname={鎬ц川,鎬ц川},
-Refname={鎬ц川,鎬ц川},
-]{property}
-\declaretheorem[
-name=鍛介,
-style=njuthm,
-refname={鍛介,鍛介},
-Refname={鍛介,鍛介},
-]{proposition}
-\declaretheorem[
-name=娉ㄨВ,
-style=njuthm,
-refname={娉ㄨВ,娉ㄨВ},
-Refname={娉ㄨВ,娉ㄨВ},
-]{remark}
-\declaretheorem[
-name=瀹氱悊,
-style=njuthm,
-refname={瀹氱悊,瀹氱悊},
-Refname={瀹氱悊,瀹氱悊},
-numberwithin=section,
-]{theorem}
-\tl_const:Nn \l__nju_info_title_tl
-{
-  \l__nju_info_title_a_tl
-  \l__nju_info_title_b_tl
-  \l__nju_info_title_c_tl
-}
-\tl_if_empty:NTF \l__nju_info_supv_b_tl
-{
-  \tl_const:Nn \l__nju_info_supv_full_tl
-  {
-     \l__nju_info_supv_a_tl\hspace{.5em}
-     \l__nju_info_supv_a_title_tl
-  }
-  \tl_const:Nn \l__nju_info_supv_full_tl_en
-  {
-    \l__nju_info_supv_a_en_tl\hspace{.5em}
-    \l__nju_info_supv_a_title_en_tl
-  }
-}
-{
-  \tl_const:Nn \l__nju_info_supv_full_tl
-  {
-    \l__nju_info_supv_a_tl\hspace{.5em}
-    \l__nju_info_supv_a_title_tl\hspace{1em}
-    \l__nju_info_supv_b_tl\hspace{.5em}
-    \l__nju_info_supv_b_title_tl
-  }
-  \tl_const:Nn \l__nju_info_supv_full_tl_en
-  {
-    \l__nju_info_supv_a_en_tl\hspace{.5em}
-    \l__nju_info_supv_a_title_en_tl\hspace{1em}
-    \l__nju_info_supv_b_en_tl\hspace{.5em}
-    \l__nju_info_supv_b_title_en_tl
-  }
-}
-\str_if_eq:NNTF {\l__nju_info_degree_tl} { ug }
-{
-  % 鏈
-  \tl_const:Nn \l__nju_name_diploma_tl { 鏈琝hfill 绉慭hfill }
-  \tl_const:Nn \c__nju_name_title_tl { 棰榎hfill 鐩� }
-
-  \tl_const:Nn \c__nju_cover_uline_len_a_tl { 250pt }
-  \tl_const:Nn \c__nju_cover_uline_len_b_tl { 90pt }
-  \tl_const:Nn \c__nju_cover_uline_font_tl { \songti }
-  \tl_const:Nn \c__nju_cover_uline_style_tl { \bf }
-  \tl_const:Nn \c__nju_cover_uline_bskip_tl {}
-
-  \tl_const:Nn \c__nju_cover_box_len_tl { 4.2em }
-
-  % 鏈寮哄埗涓嶆墦鍗板浗瀹跺浘涔﹂灏侀潰
-  \bool_set_false:N \nju_nl_cover
-}
-{
-  % 鏈浠ュ閮芥槸鐮旂┒鐢�
-  \tl_const:Nn \l__nju_name_diploma_tl { 鐮擻hfill 绌禱hfill 鐢焅hfill }
-  \tl_const:Nn \c__nju_name_title_tl { 璁篭hfill 鏂嘰hfill 棰榎hfill 鐩� }
-
-  \tl_const:Nn \c__nju_cover_uline_len_a_tl { 250pt }
-  \tl_const:Nn \c__nju_cover_uline_len_b_tl { 14em }
-  \tl_const:Nn \c__nju_cover_uline_font_tl { \kaishu }
-  \tl_const:Nn \c__nju_cover_uline_style_tl {}
-  \tl_const:Nn \c__nju_cover_uline_bskip_tl { \hspace{1em} }
-
-  \tl_const:Nn \c__nju_cover_box_len_tl { 6em }
-
-  % 鐮旂┒鐢熷浣嶅垎绫�
-  \str_case_e:nn { \l__nju_info_degree_tl }
-  {
-    { mg } { \tl_const:Nn \c__nju_name_degree_tl { 纭曞+ } }
-    { mf } { \tl_const:Nn \c__nju_name_degree_tl { 纭曞+涓撲笟 } }
-    { phd } { \tl_const:Nn \c__nju_name_degree_tl { 鍗氬+ } }
-  }
-}
-\cs_new:Npn \__nju_cover_uline_a:n #1
-{
-  \uline{\makebox[\c__nju_cover_uline_len_a_tl]
-    {\rm\c__nju_cover_uline_font_tl #1 }}
-}
-\cs_new:Npn \__nju_cover_uline_b:n #1
-{
-  \uline{\makebox[\c__nju_cover_uline_len_b_tl]
-    {\rm\c__nju_cover_uline_font_tl #1 }}
-}
-\cs_new:Npn \__nju_cover_uline_nl:nn #1 #2
-{
-  \uline{\makebox[#1]
-    {\rm\c__nju_cover_uline_font_tl #2 }}
-}
-\cs_new:Npn \__nju_cover_box:n #1
-{
-  \makebox[\c__nju_cover_box_len_tl][s]{
-    #1\c__nju_cover_uline_bskip_tl}
-}
-\str_if_eq:NNTF { \l__nju_info_type_tl } { thesis }
-{
-  \tl_const:Nn \l__nju_info_type_tl_name
-    { \l__nju_name_diploma_tl 姣昞hfill 涓歕hfill 璁篭hfill 鏂� }
-}
-{
-  \tl_const:Nn \l__nju_info_type_tl_name
-    { \l__nju_name_diploma_tl 姣昞hfill 涓歕hfill 璁綷hfill 璁� }
-}
-\cs_new_protected:Npn \__nju_cover_title_breakline:
-{
-  \__nju_cover_box:n {\c__nju_name_title_tl}
-  & \__nju_cover_uline_a:n
-  { \c__nju_cover_uline_style_tl \l__nju_info_title_a_tl } \\
-  % 濡傛灉鏌愯鏍囬绌哄垯涓嶈緭鍑烘帴涓嬫潵鐨勮嫢骞茶
-  \tl_if_empty:NF \l__nju_info_title_b_tl
-  {
-    \tl_if_empty:NTF \l__nju_info_title_c_tl
-      {
-        & \__nju_cover_uline_a:n
-        {\c__nju_cover_uline_style_tl \l__nju_info_title_b_tl } \\
-      }
-      {
-        & \__nju_cover_uline_a:n
-        { \c__nju_cover_uline_style_tl \l__nju_info_title_b_tl } \\
-        & \__nju_cover_uline_a:n
-        { \c__nju_cover_uline_style_tl \l__nju_info_title_c_tl } \\
-      }
-  }
-}
-\cs_new_protected:Npn \__nju_print_covertab:
-{%
-  \str_if_eq:NNTF { \l__nju_info_degree_tl } { ug }
-  {
-    \begin{tabular}{p{4.2em}c}
-      \__nju_cover_box:n {闄hfill 绯粆
-      & \__nju_cover_uline_a:n  {\l__nju_info_dept_tl} \\
-      \__nju_cover_box:n {涓揬hfill 涓殅
-      & \__nju_cover_uline_a:n  {\l__nju_major_tl} \\
-      \__nju_cover_title_breakline:
-    \end{tabular}\\
-
-    \begin{tabular}{p{4.2em}cp{4.2em}c}
-      \__nju_cover_box:n {骞碶hfill 绾
-      & \__nju_cover_uline_b:n {\l__nju_info_grade_tl}
-      & \__nju_cover_box:n {瀛hfill 鍙穧
-      & \__nju_cover_uline_b:n {\l__nju_info_id_tl}\\
-    \end{tabular}\\
-
-    \begin{tabular}{p{4.2em}c}
-      \__nju_cover_box:n {瀛hfill 鐢焅hfill 濮揬hfill 鍚峿
-      & \__nju_cover_uline_a:n  {\l__nju_info_author_tl}
-    \end{tabular}\\
-    \begin{tabular}{p{4.2em}cp{4.2em}c}
-      \__nju_cover_box:n {瀵糪hfill 甯坿
-      & \__nju_cover_uline_b:n {\l__nju_info_supv_a_tl}
-      & \__nju_cover_box:n {鑱孿hfill 绉皚
-      & \__nju_cover_uline_b:n {\l__nju_info_supv_a_title_tl}\\
-
-      % 绗簩瀵煎笀
-      \tl_if_empty:NF \l__nju_info_supv_b_tl
-      {
-        \__nju_cover_box:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿
-        & \__nju_cover_uline_b:n {\l__nju_info_supv_b_tl}
-        & \__nju_cover_box:n {鑱孿hfill 绉皚
-        & \__nju_cover_uline_b:n {\l__nju_info_supv_b_title_tl}\\
-      }
-    \end{tabular}\\
-
-    \begin{tabular}{p{4.2em}c}
-      \__nju_cover_box:n {鎻怽hfill 浜hfill 鏃hfill 鏈焳
-      & \__nju_cover_uline_a:n  {\l__nju_submit_date_tl}\\
-    \end{tabular}
-  }
-  {
-    \begin{tabular}{p{6em}c}
-      \__nju_cover_title_breakline:
-      \__nju_cover_box:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿
-      & \__nju_cover_uline_a:n  {\l__nju_info_author_tl}\\
-      \__nju_cover_box:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚
-      & \__nju_cover_uline_a:n  {\l__nju_major_tl}\\
-      \__nju_cover_box:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓
-      & \__nju_cover_uline_a:n  {\l__nju_field_tl}\\
-      \__nju_cover_box:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿
-      & \__nju_cover_uline_a:n  {\l__nju_info_supv_full_tl}\\
-    \end{tabular}
-  }
-}
-\tl_new:N \nju_printcover_nl % 鍥藉鍥句功棣嗗皝闈�
-\tl_new:N \nju_printcover_ug % 鏈灏侀潰
-\tl_new:N \nju_printcover_g % 鐮旂┒鐢熷皝闈�
-\bool_if:NT \nju_nl_cover
-{
-  \tl_set:Nn \nju_printcover_nl
-  {
-    \thispagestyle{empty}
-    \pdfbookmark[0]{鍥藉鍥句功棣嗗皝闈{nl}
-    {
-      % 椤剁
-      \hspace{0mm}
-      \vskip -20mm \hskip -15mm
-      \songti\zihao{-4}
-      \makebox[40pt][l]{鍒嗙被鍙穧
-      \__nju_cover_uline_b:n {\l__nju_info_classif_tl}
-      \hfill
-      \makebox[40pt][l]{瀵嗙骇}
-      \__nju_cover_uline_b:n {\l__nju_info_seclv_tl}
-      \vskip 10pt \hskip -15mm
-      \makebox[40pt][l]{UDC}
-      \__nju_cover_uline_b:n {\l__nju_info_udc_tl}
-    }
-
-    % 涓儴
-    \vskip\stretch{2}
-    \begin{center}
-      \def\ULthickness{1pt}
-      {\kaishu\zihao{-0} 瀛hspace{0.5em}浣峔hspace{0.5em}璁篭hspace{0.5em}鏂噠
-      {
-        \kaishu\zihao{1}
-        \vskip \stretch{1}
-        \__nju_cover_uline_b:n {\l__nju_info_title_a_tl}\\
-        \__nju_cover_uline_b:n {\l__nju_info_title_b_tl}\\
-        \__nju_cover_uline_b:n {\l__nju_info_title_c_tl}\\
-      }
-      \vskip \stretch{1}
-      {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級}
-      \vskip \stretch{1} \vskip 5mm
-      {\kaishu\zihao{1}\uline{\makebox{\l__nju_info_author_tl}}}
-      \vskip \stretch{1}
-      {\kaishu\zihao{4}锛堜綔鑰呭鍚嶏級}
-    \end{center}
-
-    % 搴曢儴
-    \vskip\stretch{1}
-    {
-      \kaishu\zihao{4}
-      \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃%
-      \__nju_cover_uline_nl:nn {94pt}{\l__nju_info_supv_a_tl}\par
-      \noindent\__nju_cover_uline_nl:nn {\textwidth}{%
-      \l__nju_info_supv_cont_tl}\par
-      \noindent 鐢宠瀛︿綅绾у埆%
-      \__nju_cover_uline_nl:nn {9em}{\c__nju_name_degree_tl}%
-      \noindent 涓撲笟鍚嶇О%
-      \uline{\hfill\l__nju_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
-      \noindent 璁烘枃鎻愪氦鏃ユ湡%
-      \__nju_cover_uline_nl:nn {9em}{\l__nju_submit_date_tl}%
-      璁烘枃绛旇京鏃ユ湡%
-      \uline{\hfill\l__nju_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
-      \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par
-      \noindent\hfill 绛旇京濮斿憳浼氫富甯細%
-      \__nju_cover_uline_nl:nn {9em}{\l__nju_info_chairman_tl}\par
-      \noindent\hfill 璇勯槄浜猴細%
-      \__nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_a_tl}\par
-      \noindent\hfill\__nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_b_tl}\par
-      \noindent\hfill\__nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_c_tl}\par
-      \noindent\hfill\__nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_d_tl}\par
-
-      \begin{center}
-        \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃�
-      \end{center}
-      \vskip -10mm
-      }
-    \cleardoublepage
-  }
-}
-\tl_set:Nn \nju_printcover_ug
-{
-  \thispagestyle{empty}
-  \pagenumbering{Roman}
-  % Start
-  \pdfbookmark{灏侀潰}{灏侀潰} % 灏嗗皝闈㈡彃鍏df涔︾
-  \begin{spacing}{1.25}
-  \vskip 0mm
-  \hspace{-10mm}
-  \includegraphics[height=3cm]{njulogo}\smallskip
-  \begin{center}
-    \includegraphics[height=3.35cm]{njuname}
-    \vskip 10mm
-    {\zihao{1}\makebox[9em][s]{\bf{\songti\l__nju_info_type_tl_name}}}
-    \vfill
-    \vskip\stretch{0}
-    {\bgroup
-    \kaishu\zihao{3}
-    \def\tabcolsep{1pt}
-    \def\arraystretch{1.5}
-    % 缁樺埗淇℃伅妗�
-    \__nju_print_covertab:
-    \egroup}
-    \vfill
-  \end{center}
-  \end{spacing}
-  \cleardoublepage
-  % \vfill
-  % \newpage
-}
-\tl_set:Nn \nju_printcover_g
-{
-  \thispagestyle{empty}
-  \pagenumbering{Roman}
-  % Start
-  \pdfbookmark{灏侀潰}{灏侀潰} % 灏嗗皝闈㈡彃鍏df涔︾
-  \begin{spacing}{1.25}
-  \begin{center}
-    \hspace{0pt} \vskip 5mm
-    \includegraphics[height=1.9cm]{njulogo}
-    \vskip 10mm
-    \includegraphics[height=2cm]{njuname-large}
-    \vskip 15mm
-    {\zihao{1}\makebox[10em][s]{\bf{\kaishu\l__nju_info_type_tl_name}}}
-    \vskip 5mm
-    {\zihao{1}\bf{\kaishu{锛堢敵璇穃c__nju_name_degree_tl 瀛︿綅锛墋}}
-    \par\vfill
-    \vskip\stretch{0}
-    {\bgroup
-    \bf\kaishu\zihao{3}
-    \def\tabcolsep{1pt}
-    \def\arraystretch{1.5}
-    \vskip 10mm
-    % 缁樺埗淇℃伅妗�
-    \__nju_print_covertab:
-    \egroup}
-    \vfill
-    \vskip 10mm
-    \bf\kaishu\zihao{4}\l__nju_submit_date_tl
-    \vskip 15mm
-  \end{center}
-  \end{spacing}
-
-  \newpage % 灏侀潰鑳岄潰
-  \thispagestyle{empty}
-  \begin{spacing}{1.625}
-    % TODO: 绛夊緟璋冩暣鏍煎紡
-    \hspace{0pt} \vfill
-    {\bgroup
-    \kaishu\zihao{3}
-    \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\l__nju_info_id_tl}
-    \par
-    \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕l__nju_defend_date_tl
-    \par
-    \makebox[6em][s]{\bf\kaishu 鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿锛歕hspace{50mm}锛堢瀛楋級
-    \par
-    \egroup}
-    \vskip 15mm
-  \end{spacing}
-  \cleardoublepage
-}
-\tl_set:Nn \maketitle
-{%
-  \str_if_eq:NNTF { \l__nju_info_degree_tl } { ug }
-  {
-    \nju_printcover_nl % 鍥藉鍥句功棣嗗皝闈�
-    \nju_printcover_ug % 鏈灏侀潰
-  }
-  {
-    \nju_printcover_nl % 鍥藉鍥句功棣嗗皝闈�
-    \nju_printcover_g % 鐮旂┒鐢熷皝闈�
-  }
-}
-\str_if_eq:NNTF {\l__nju_info_degree_tl} { ug }
-{
-  % 鏈鎽樿鐜
-  \NewDocumentEnvironment{abstract} {}
-  {%
-    % \pagestyle{plain}
-    % \pagenumbering{Roman}
-    % \phantomsection\addcontentsline{toc}{chapter}{涓枃鎽樿} % 灏嗘憳瑕佹彃鍏ョ洰褰曞拰pdf涔︾
-    \pdfbookmark[0]{涓枃鎽樿}{涓枃鎽樿} % 灏嗘憳瑕佹彃鍏df涔︾锛屼笌涓婁竴琛屼笉鍙叡瀛�
-    \begin{center}
-      \kaishu\zihao{-2}{\textbf{\uuline{
-        鍗椾含澶у鏈鐢熸瘯涓氳鏂囷紙璁捐銆佷綔鍝侊級涓枃鎽樿}}}
-    \end{center}
-    {\bgroup
-      \kaishu\zihao{-4}
-      \tl_set:Nn \tabcolsep {0pt}
-      \tl_set:Nn \arraystretch {0.8}
-      \noindent
-      棰樼洰锛� \l__nju_info_title_tl \\
-      闄㈢郴锛� \l__nju_info_dept_tl \\
-      涓撲笟锛� \l__nju_major_tl \\
-      鏈鐢熷鍚嶏細 \l__nju_info_author_tl \\
-      鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕l__nju_info_supv_full_tl \\
-      鎽樿锛�
-      \egroup
-    }
-    \kaishu\zihao{-4}\par%
-  }{%
-  \newpage
-  }
-
-  % 涓枃鍏抽敭璇�
-  \NewDocumentCommand \keywords {m} {%
-    \par\vspace{2ex}\noindent%
-    {\kaishu\zihao{-4}\makebox[4em][s]{鍏抽敭璇峽锛殅}}~{#1}%
-  }
-
-  % 鑻辨枃鎽樿
-  \NewDocumentEnvironment{englishabstract} {}
-  {%
-    \pagestyle{plain}
-    % \phantomsection\addcontentsline{toc}{chapter}{鑻辨枃鎽樿} % 灏嗘憳瑕佹彃鍏ョ洰褰曞拰pdf涔︾
-    \pdfbookmark[0]{鑻辨枃鎽樿}{鑻辨枃鎽樿} % 灏嗘憳瑕佹彃鍏df涔︾锛屼笌涓婁竴琛屼笉鍙叡瀛�
-    \begin{center}
-        \kaishu\zihao{-2}{\textbf{\uuline{
-          鍗椾含澶у鏈鐢熸瘯涓氳鏂囷紙璁捐銆佷綔鍝侊級鑻辨枃鎽樿}}}
-    \end{center}
-    {
-      \bgroup
-      THESIS: ~~\l__nju_info_title_en_tl \\
-      DEPARTMENT: ~~\l__nju_info_dept_en_tl \\
-      SPECIALIZATION: ~~\l__nju_major_en_tl \\
-      UNDERGRADUATE:~~\l__nju_info_author_en_tl \\
-      MENTOR:~~\l__nju_info_supv_full_tl_en \\
-      ABSTRACT:
-      \egroup
-    }
-    \zihao{-4}\par%
-  }{%
-  \cleardoublepage
-  \newpage
-  }
-
-  % 鑻辨枃鍏抽敭璇�
-  \NewDocumentCommand \englishkeywords {m} {%
-    \par\vspace{2ex}\noindent%
-    {KEYWORDS{:}}~~{#1}%
-  }
-}
-{
-  % 鐮旂┒鐢熸憳瑕佺幆澧�
-  \NewDocumentEnvironment{abstract} {}
-  {%
-    \pagestyle{plain}
-    \pagenumbering{Roman}
-    % \phantomsection\addcontentsline{toc}{chapter}{涓枃鎽樿} % 灏嗘憳瑕佹彃鍏ョ洰褰曞拰pdf涔︾
-    \pdfbookmark[0]{涓枃鎽樿}{涓枃鎽樿} % 灏嗘憳瑕佹彃鍏df涔︾锛屼笌涓婁竴琛屼笉鍙叡瀛�
-    \begin{center}
-      \kaishu\zihao{-2}{\textbf{\uuline{
-        鍗椾含澶у鐮旂┒鐢熸瘯涓氳鏂囦腑鏂囨憳瑕侀椤电敤绾竲}}
-    \end{center}
-
-    \bgroup
-    \kaishu\zihao{4}
-    \tl_set:Nn \tabcolsep {0pt}
-    \tl_set:Nn \arraystretch {0.8}
-    \noindent
-    姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\l__nju_info_title_tl\hfill}\\
-    \uline{\makebox[9em]{\l__nju_major_tl}}涓撲笟
-    \uline{\makebox[4em]{\l__nju_info_grade_tl}}绾�
-    \str_if_eq:NNTF {\l__nju_info_degree_tl} { phd } {鍗殅{纭晑
-    澹敓濮撳悕锛歕uline{\hfill\l__nju_info_author_tl\hfill} \\
-    鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\l__nju_info_supv_full_tl\hfill}\par
-    \egroup
-
-    \kaishu\zihao{4}\par%
-  }{%
-  \newpage
-  }
-
-  % 涓枃鍏抽敭璇�
-  \NewDocumentCommand \keywords {m} {%
-    \par\vspace{2ex}\noindent%
-    {\kaishu\zihao{4}\makebox[4em][s]{鍏抽敭璇峽锛殅}}~{#1}%
-  }
-
-  % 鑻辨枃鎽樿
-  \NewDocumentEnvironment{englishabstract} {}
-  {%
-    \pagestyle{plain}
-    % \phantomsection\addcontentsline{toc}{chapter}{鑻辨枃鎽樿} % 灏嗘憳瑕佹彃鍏ョ洰褰曞拰pdf涔︾
-    \pdfbookmark[0]{鑻辨枃鎽樿}{鑻辨枃鎽樿} % 灏嗘憳瑕佹彃鍏df涔︾锛屼笌涓婁竴琛屼笉鍙叡瀛�
-    \begin{center}
-        \kaishu\zihao{-2}{\textbf{\uuline{
-          鍗椾含澶у鐮旂┒鐢熸瘯涓氳鏂囪嫳鏂囨憳瑕侀椤电敤绾竲}}
-    \end{center}
-    {
-      \bgroup
-      \zihao{4}
-      THESIS: ~~\l__nju_info_title_en_tl \\
-      SPECIALIZATION: ~~\l__nju_major_en_tl \\
-      POSTGRADUATE:~~\l__nju_info_author_en_tl \\
-      MENTOR:~~\l__nju_info_supv_full_tl_en\par
-      \egroup
-    }
-    \zihao{4}\par%
-  }{%
-  \cleardoublepage
-  \newpage
-  }
-
-  % 鑻辨枃鍏抽敭璇�
-  \NewDocumentCommand \englishkeywords {m} {%
-    \par\vspace{2ex}\noindent%
-    {KEYWORDS{:}}~~{#1}%
-  }
-}
-\endinput
-%%
-%% End of file `njuthesis.cls'.
-- 
GitLab