diff --git a/.vscode/settings.json b/.vscode/settings.json
index 6cacd4b3771426f0d0a3bfc488ff4e8778f05d46..f7792c8817d2bf30ce902173a833a2b14ffe866f 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,4 +1,5 @@
 {
+    "latex-workshop.latex.autoBuild.run": "never", // 绂佹鑷姩缂栬瘧
     "latex-workshop.latex.tools": [
         {
             "name": "xelatex",
diff --git a/njuthesis-sample.tex b/njuthesis-sample.tex
index e67350e24e4347452ddb61eeeff8c68975776ad5..9b0c3b19dd7098fb36fcbd91afc159953f7f0819 100644
--- a/njuthesis-sample.tex
+++ b/njuthesis-sample.tex
@@ -31,35 +31,36 @@
 % 璁剧疆涓汉淇℃伅
 \njusetup {
     % 鏈鐢熸棤闇€濉啓鐨勯」鐩凡琚壒鍒爣娉�
+    % 娉ㄦ剰鑻辨枃棰樼洰蹇呴』浣跨敤澶ф嫭鍙凤紝鎴栬€呭皢绌烘牸鏇挎崲涓烘尝娴嚎
     % 娉ㄦ剰涓嶈鏈夌┖琛岋紝鍚﹀垯鍙兘鎶ラ敊
     info = {
         % 棰樼洰
         TitleA = 涓€绉嶄娇鐢ㄥ崡浜ぇ瀛hologo{LaTeX}妯$増,
         TitleB = 缂栧啓姣曚笟璁烘枃鐨勭粡楠屾€ф柟娉�,
         % TitleC = , % 娌℃湁绗笁琛屽氨涓嶇敤濉繖涓摝
-        TitleEN = An~Empirical~Way~of~Composing~Thesis~with~NJU~\hologo{LaTeX}~Template, % 娉ㄦ剰绌烘牸蹇呴』鏇挎崲涓烘尝娴嚎
+        Title* = {An Empirical Way of Composing Thesis with NJU \hologo{LaTeX} Template}, 
         % 濮撳悕瀛﹀彿
         Grade = 2018,
         StudentID = 189114514, % dz18114514,
         StudentName = 鍛ㄧ厹鍗�,
-        StudentNameEN = Zhou~Yuhua,
+        StudentName* = Zhou~Yuhua,
         % 闄㈢郴涓撲笟
         Department = 鎷夊お璧瀛︿笌鎶€鏈闄�,
-        DepartmentEN = School~of~\hologo{LaTeX},
+        Department* = School~of~\hologo{LaTeX},
         Major = 鎷夊お璧瑷€瀛�,
-        MajorEN = \hologo{LaTeX}~Linguistics,
+        Major* = \hologo{LaTeX}~Linguistics,
         Field = 鎷夊お璧瑷€鍦ㄧ幇褰撲唬鐨勪娇鐢�, % 鐮旂┒鐢熼」
-        FieldEN = Contemporary~Usage~of~the~\hologo{LaTeX}~Language, % 鐮旂┒鐢熼」
+        Field* = Contemporary~Usage~of~the~\hologo{LaTeX}~Language, % 鐮旂┒鐢熼」
         % 瀵煎笀
-        MentorA = 鏉庢垚娈�,
-        MentorAEN= Li~Chengdian,
-        MentorATitle = 鏁欐巿,
-        MentorATitleEN = Professor,
+        SupervisorA = 鏉庢垚娈�,
+        SupervisorA*= Li~Chengdian,
+        SupervisorATitle = 鏁欐巿,
+        SupervisorATitle* = Professor,
         % 绗簩瀵煎笀锛屽鏃犲垯蹇界暐
-        MentorB = 瀛欒但寮�,
-        MentorBEN = Sun~Hemi,
-        MentorBTitle = 鍓暀鎺�,
-        MentorBTitleEN = Associate professor,
+        SupervisorB = 瀛欒但寮�,
+        SupervisorB* = Sun~Hemi,
+        SupervisorBTitle = 鍓暀鎺�,
+        SupervisorBTitle* = Associate professor,
         % 鎻愪氦鏃ユ湡
         SubmitDate = 2021骞�8鏈�10鏃�,
         % 绛旇京锛屽潎涓虹爺绌剁敓椤�
@@ -73,7 +74,7 @@
         Classification = 0175.2,
         SecurityLevel = 闄愬埗,
         UDC = 004.72,
-        MentorInfo = 鎷夊お璧瀛︿笌鎶€鏈闄鏋濇睙甯傜粨涓樿矾~19~鍙穨114514,
+        SupervisorContact = {鎷夊お璧瀛︿笌鎶€鏈闄� 鏋濇睙甯傜粨涓樿矾 19 鍙� 114514},
     }
 }
 
diff --git a/njuthesis.cls b/njuthesis.cls
index b78692870a645a8fe8dcfd173e091033dc5563ee..2190e63dbbf20f58eb2568ee86b6af203345bc26 100644
--- a/njuthesis.cls
+++ b/njuthesis.cls
@@ -6,7 +6,7 @@
 %%
 %% njuthesis.dtx  (with options: `class')
 %% 
-%% Copyright (C) 2021 by Nanjing University Linux User Group <my@yaoge123.com>
+%% 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
@@ -23,7 +23,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
- \GetIdInfo  $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800  NJU LUG <my@yaoge123.com> $
+ \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[
@@ -40,8 +40,8 @@
 {
   titlelength       .int_set:N    =   \nju_titlelength,
   titlelength       .initial:n    =   1,
-  secondmentor      .bool_set:N   =   \nju_second_mentor,
-  secondmentor      .initial:n    =   false,
+  secondsupervisor      .bool_set:N   =   \nju_second_supervisor,
+  secondsupervisor      .initial:n    =   false,
   nlcover           .bool_set:N   =   \nju_nl_cover,
   nlcover           .initial:n    =   false,
   degree            .tl_set:N     =   \nju_degree,
@@ -59,42 +59,42 @@
 \keys_define:nn { nju / info }
 {
   % 棰樼洰
-  TitleA            .tl_set:N     =   \nju_title_a,
-  TitleB            .tl_set:N     =   \nju_title_b,
-  TitleC            .tl_set:N     =   \nju_title_c,
-  TitleEN           .tl_set:N     =   \nju_title_en,
+  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,
   % 骞寸骇瀛﹀彿濮撳悕
-  Grade             .tl_set:N     =   \nju_grade,
-  StudentID         .tl_set:N     =   \nju_student_id,
-  StudentName       .tl_set:N     =   \nju_student_name,
-  StudentNameEN     .tl_set:N     =   \nju_student_name_en,
+  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,
   % 闄㈢郴涓撲笟鏂瑰悜
-  Department        .tl_set:N     =   \nju_department,
-  DepartmentEN      .tl_set:N     =   \nju_department_en,
-  Major             .tl_set:N     =   \nju_major,
-  MajorEN           .tl_set:N     =   \nju_major_en,
-  Field             .tl_set:N     =   \nju_field,
-  FieldEN           .tl_set:N     =   \nju_field_en,
-  MentorA           .tl_set:N     =   \nju_mentor_a,
-  MentorAEN         .tl_set:N     =   \nju_mentor_a_en,
-  MentorATitle      .tl_set:N     =   \nju_mentor_a_title,
-  MentorATitleEN    .tl_set:N     =   \nju_mentor_a_title_en,
-  MentorB           .tl_set:N     =   \nju_mentor_b,
-  MentorBEN         .tl_set:N     =   \nju_mentor_b_en,
-  MentorBTitle      .tl_set:N     =   \nju_mentor_b_title,
-  MentorBTitleEN    .tl_set:N     =   \nju_mentor_b_title_en,
-  SubmitDate        .tl_set:N     =   \nju_submit_date,
-  DefendDate        .tl_set:N     =   \nju_defend_date,
-  ReviewerChairman  .tl_set:N     =   \nju_reviewer_chairman,
-  ReviewerA         .tl_set:N     =   \nju_reviewer_a,
-  ReviewerB         .tl_set:N     =   \nju_reviewer_b,
-  ReviewerC         .tl_set:N     =   \nju_reviewer_c,
-  ReviewerD         .tl_set:N     =   \nju_reviewer_d,
+  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,
+  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,
+  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,
+  SubmitDate        .tl_set:N     =   \l__nju_submit_date_tl,
+  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,
   % 鍥藉鍥句功棣嗗皝闈㈢浉鍏�
-  Classification    .tl_set:N     =   \nju_classification,
-  SecurityLevel     .tl_set:N     =   \nju_securitylevel,
-  UDC               .tl_set:N     =   \nju_udc,
-  MentorInfo        .tl_set:N     =   \nju_mentor_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 } }
@@ -108,7 +108,6 @@
 ]{geometry}
 \RequirePackage{xparse}
 \RequirePackage{titletoc} % 淇敼鐩綍鍐呮爣棰樻牸寮�
-\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼
 \RequirePackage[hyphens]{url} % generate better linebreaks in the url
 \RequirePackage{dashundergaps}
 \RequirePackage{setspace}
@@ -368,6 +367,7 @@
 \NewDocumentCommand\heiti{}{\CJKfamily{zhhei}}
 \NewDocumentCommand\fangsong{}{\CJKfamily{zhfs}}
 \NewDocumentCommand\kaishu{}{\CJKfamily{zhkai}}
+\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼
 \fancypagestyle{njuplain}{%
    \fancyhead{}
    \fancyfoot[C]{\zihao{5}\thepage} % 椤佃剼灞呬腑 浜斿彿鏂扮綏椹綋鏁板瓧
@@ -657,28 +657,33 @@ refname={瀹氱悊,瀹氱悊},
 Refname={瀹氱悊,瀹氱悊},
 numberwithin=section,
 ]{theorem}
-\tl_const:Nn \nju_title {\nju_title_a \nju_title_b \nju_title_c}
-\bool_if:NTF \nju_second_mentor
+\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
+}
+\bool_if:NTF \nju_second_supervisor
 {
-  \tl_const:Nn \nju_mentor_full
+  \tl_const:Nn \nju_supervisor_full
   {
-    \nju_mentor_a\ \nju_mentor_a_title
-    \ \ \nju_mentor_b\ \nju_mentor_b_title
+    \l__nju_info_supv_a_tl\ \l__nju_info_supv_a_title_tl
+    \ \ \l__nju_info_supv_b_tl\ \l__nju_info_supv_b_title_tl
   }
-  \tl_const:Nn \nju_mentor_full_en
+  \tl_const:Nn \nju_supervisor_full_en
   {
-    \nju_mentor_a_en\ \nju_mentor_a_title_en
-    \ \ \nju_mentor_b_en\ \nju_mentor_b_title_en
+    \l__nju_info_supv_a_en_tl\ \l__nju_info_supv_a_title_en_tl
+    \ \ \l__nju_info_supv_b_en_tl\ \l__nju_info_supv_b_title_en_tl
   }
 }
 {
-  \tl_const:Nn \nju_mentor_full
+  \tl_const:Nn \nju_supervisor_full
   {
-    \nju_mentor_a\ \nju_mentor_a_title
+    \l__nju_info_supv_a_tl\ \l__nju_info_supv_a_title_tl
   }
-  \tl_const:Nn \nju_mentor_full_en
+  \tl_const:Nn \nju_supervisor_full_en
   {
-    \nju_mentor_a_en\ \nju_mentor_a_title_en
+    \l__nju_info_supv_a_en_tl\ \l__nju_info_supv_a_title_en_tl
   }
 }
 \str_if_eq:NNTF {\nju_degree} { ug }
@@ -745,58 +750,58 @@ numberwithin=section,
 {
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {闄hfill 绯粆
-    & \nju_cover_underline_ug:nn {250pt}{\nju_department}\\
+    & \nju_cover_underline_ug:nn {250pt}{\l__nju_info_dept_tl}\\
     \nju_coverbox_ug:n {涓揬hfill 涓殅
-    & \nju_cover_underline_ug:nn {250pt}{\nju_major}\\
+    & \nju_cover_underline_ug:nn {250pt}{\l__nju_major_tl}\\
 
     % 鏍囬鎹㈣
     \int_case:nn { \nju_titlelength }
       {
         { 1 } {
           \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ }
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl,}} \\ }
         { 2 } {
           \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\ }
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl,}} \\
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl,}} \\ }
         { 3 } {
           \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_c}} \\}
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl,}} \\
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl,}} \\
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l__nju_info_title_c_tl,}} \\}
       }
   \end{tabular}\\
 
   \begin{tabular}{p{4.2em}cp{4.2em}c}
     \nju_coverbox_ug:n {骞碶hfill 绾
-    & \nju_cover_underline_ug:nn {90pt}{\nju_grade}
+    & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_grade_tl}
     & \nju_coverbox_ug:n {瀛hfill 鍙穧
-    & \nju_cover_underline_ug:nn {90pt}{\nju_student_id}\\
+    & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_id_tl}\\
   \end{tabular}\\
 
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {瀛hfill 鐢焅hfill 濮揬hfill 鍚峿
-    & \nju_cover_underline_ug:nn {250pt}{\nju_student_name}
+    & \nju_cover_underline_ug:nn {250pt}{\l__nju_info_author_tl}
   \end{tabular}\\
   \begin{tabular}{p{4.2em}cp{4.2em}c}
     \nju_coverbox_ug:n {瀵糪hfill 甯坿
-    & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a}
+    & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_a_tl}
     & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-    & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a_title}\\
+    & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_a_title_tl}\\
 
     % 绗簩瀵煎笀
-    \bool_if:NT \nju_second_mentor
+    \bool_if:NT \nju_second_supervisor
     {
       \nju_coverbox_ug:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿
-      & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b}
+      & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_b_tl}
       & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-      & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b_title}\\
+      & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_b_title_tl}\\
     }
   \end{tabular}\\
 
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {鎻怽hfill 浜hfill 鏃hfill 鏈焳
-    & \nju_cover_underline_ug:nn {250pt}{\nju_submit_date}\\
+    & \nju_cover_underline_ug:nn {250pt}{\l__nju_submit_date_tl}\\
   \end{tabular}
 }
 \tl_new:N \nju_printcoverinfo_g
@@ -808,26 +813,26 @@ numberwithin=section,
       {
         { 1 } {
           \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\nju_title_a} \\ }
+          & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\ }
         { 2 } {
           \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\nju_title_a} \\
-          & \nju_cover_underline_g:n {\nju_title_b} \\ }
+          & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\
+          & \nju_cover_underline_g:n {\l__nju_info_title_b_tl,} \\ }
         { 3 } {
           \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\nju_title_a} \\
-          & \nju_cover_underline_g:n {\nju_title_b} \\
-          & \nju_cover_underline_g:n {\nju_title_c} \\}
+          & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\
+          & \nju_cover_underline_g:n {\l__nju_info_title_b_tl,} \\
+          & \nju_cover_underline_g:n {\l__nju_info_title_c_tl,} \\}
       }
 
     \nju_coverbox_g:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿
-    & \nju_cover_underline_g:n {\nju_student_name}\\
+    & \nju_cover_underline_g:n {\l__nju_info_author_tl}\\
     \nju_coverbox_g:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚
-    & \nju_cover_underline_g:n {\nju_major}\\
+    & \nju_cover_underline_g:n {\l__nju_major_tl}\\
     \nju_coverbox_g:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓
-    & \nju_cover_underline_g:n {\nju_field}\\
+    & \nju_cover_underline_g:n {\l__nju_field_tl}\\
     \nju_coverbox_g:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿
-    & \nju_cover_underline_g:n {\nju_mentor_full}\\
+    & \nju_cover_underline_g:n {\nju_supervisor_full}\\
   \end{tabular}
 }
 \tl_new:N \nju_printcover_nl % 鍥藉鍥句功棣嗗皝闈�
@@ -845,13 +850,13 @@ numberwithin=section,
       \vskip -20mm \hskip -15mm
       \songti\zihao{-4}
       \makebox[40pt][l]{鍒嗙被鍙穧
-      \nju_cover_underline_nl:nn {150pt}{\nju_classification}
+      \nju_cover_underline_nl:nn {150pt}{\l__nju_info_classif_tl}
       \hfill
       \makebox[40pt][l]{瀵嗙骇}
-      \nju_cover_underline_nl:nn {150pt}{\nju_securitylevel}
+      \nju_cover_underline_nl:nn {150pt}{\l__nju_info_seclv_tl}
       \vskip 10pt \hskip -15mm
       \makebox[40pt][l]{UDC}
-      \nju_cover_underline_nl:nn {150pt}{\nju_udc}
+      \nju_cover_underline_nl:nn {150pt}{\l__nju_info_udc_tl}
     }
 
     % 涓儴
@@ -862,14 +867,14 @@ numberwithin=section,
       {
         \kaishu\zihao{1}
         \vskip \stretch{1}
-        \nju_cover_underline_nl:nn {14em}{\nju_title_a}\\
-        \nju_cover_underline_nl:nn {14em}{\nju_title_b}\\
-        \nju_cover_underline_nl:nn {14em}{\nju_title_c}\\
+        \nju_cover_underline_nl:nn {14em}{\l__nju_info_title_a_tl,}\\
+        \nju_cover_underline_nl:nn {14em}{\l__nju_info_title_b_tl,}\\
+        \nju_cover_underline_nl:nn {14em}{\l__nju_info_title_c_tl,}\\
       }
       \vskip \stretch{1}
       {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級}
       \vskip \stretch{1} \vskip 5mm
-      {\kaishu\zihao{1}\uline{\makebox{\nju_student_name}}}
+      {\kaishu\zihao{1}\uline{\makebox{\l__nju_info_author_tl}}}
       \vskip \stretch{1}
       {\kaishu\zihao{4}锛堜綔鑰呭鍚嶏級}
     \end{center}
@@ -879,25 +884,25 @@ numberwithin=section,
     {
       \kaishu\zihao{4}
       \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃%
-      \nju_cover_underline_nl:nn {94pt}{\nju_mentor_a}\par
+      \nju_cover_underline_nl:nn {94pt}{\l__nju_info_supv_a_tl}\par
       \noindent\nju_cover_underline_nl:nn {\textwidth}{%
-      \nju_mentor_info}\par
+      \l__nju_info_supv_cont_tl}\par
       \noindent 鐢宠瀛︿綅绾у埆%
       \nju_cover_underline_nl:nn {9em}{\nju_degree_title}%
       \noindent 涓撲笟鍚嶇О%
-      \uline{\hfill\nju_major\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
+      \uline{\hfill\l__nju_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 璁烘枃鎻愪氦鏃ユ湡%
-      \nju_cover_underline_nl:nn {9em}{\nju_submit_date}%
+      \nju_cover_underline_nl:nn {9em}{\l__nju_submit_date_tl}%
       璁烘枃绛旇京鏃ユ湡%
-      \uline{\hfill\nju_defend_date\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
+      \uline{\hfill\l__nju_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par
       \noindent\hfill 绛旇京濮斿憳浼氫富甯細%
-      \nju_cover_underline_nl:nn {9em}{\nju_reviewer_chairman}\par
+      \nju_cover_underline_nl:nn {9em}{\l__nju_info_chairman_tl}\par
       \noindent\hfill 璇勯槄浜猴細%
-      \nju_cover_underline_nl:nn {9em}{\nju_reviewer_a}\par
-      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_b}\par
-      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_c}\par
-      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_d}\par
+      \nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_a_tl}\par
+      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_b_tl}\par
+      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_c_tl}\par
+      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l__nju_info_reviewer_d_tl}\par
 
       \begin{center}
         \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃�
@@ -963,7 +968,7 @@ numberwithin=section,
     \egroup}
     \vfill
     \vskip 10mm
-    \bf\kaishu\zihao{4}\nju_submit_date
+    \bf\kaishu\zihao{4}\l__nju_submit_date_tl
     \vskip 15mm
   \end{center}
   \end{spacing}
@@ -975,9 +980,9 @@ numberwithin=section,
     \hspace{0pt} \vfill
     {\bgroup
     \kaishu\zihao{3}
-    \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\nju_student_id}
+    \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\l__nju_info_id_tl}
     \par
-    \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕nju_defend_date
+    \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕l__nju_defend_date_tl
     \par
     \makebox[6em][s]{\bf\kaishu 鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿锛歕hspace{50mm}锛堢瀛楋級
     \par
@@ -1016,11 +1021,11 @@ numberwithin=section,
       \tl_set:Nn \tabcolsep {0pt}
       \tl_set:Nn \arraystretch {0.8}
       \noindent
-      棰樼洰锛� \nju_title \\
-      闄㈢郴锛� \nju_department \\
-      涓撲笟锛� \nju_major \\
-      鏈鐢熷鍚嶏細 \nju_student_name \\
-      鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_mentor_full \\
+      棰樼洰锛� \l__nju_info_title_tl \\
+      闄㈢郴锛� \l__nju_info_dept_tl \\
+      涓撲笟锛� \l__nju_major_tl \\
+      鏈鐢熷鍚嶏細 \l__nju_info_author_tl \\
+      鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_supervisor_full \\
       鎽樿锛�
       \egroup
     }
@@ -1047,11 +1052,11 @@ numberwithin=section,
     \end{center}
     {
       \bgroup
-      THESIS: ~~\nju_title_en \\
-      DEPARTMENT: ~~\nju_department_en \\
-      SPECIALIZATION: ~~\nju_major_en \\
-      UNDERGRADUATE:~~\nju_student_name_en \\
-      MENTOR:~~\nju_mentor_full_en \\
+      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:~~\nju_supervisor_full_en \\
       ABSTRACT:
       \egroup
     }
@@ -1085,11 +1090,11 @@ numberwithin=section,
     \tl_set:Nn \tabcolsep {0pt}
     \tl_set:Nn \arraystretch {0.8}
     \noindent
-    姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\nju_title\hfill}\\
-    \uline{\makebox[9em]{\nju_major}}涓撲笟\uline{\makebox[4em]{\nju_grade}}绾�
+    姣曚笟璁烘枃棰樼洰锛歕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 {\nju_degree} { phd } {鍗殅{纭晑
-    澹敓濮撳悕锛歕uline{\hfill\nju_student_name\hfill} \\
-    鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_mentor_full\hfill}\par
+    澹敓濮撳悕锛歕uline{\hfill\l__nju_info_author_tl\hfill} \\
+    鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_supervisor_full\hfill}\par
     \egroup
 
     \kaishu\zihao{4}\par%
@@ -1116,10 +1121,10 @@ numberwithin=section,
     {
       \bgroup
       \zihao{4}
-      THESIS: ~~\nju_title_en \\
-      SPECIALIZATION: ~~\nju_major_en \\
-      POSTGRADUATE:~~\nju_student_name_en \\
-      MENTOR:~~\nju_mentor_full_en\par
+      THESIS: ~~\l__nju_info_title_en_tl, \\
+      SPECIALIZATION: ~~\l__nju_major_en_tl \\
+      POSTGRADUATE:~~\l__nju_info_author_en_tl \\
+      MENTOR:~~\nju_supervisor_full_en\par
       \egroup
     }
     \zihao{4}\par%
diff --git a/njuthesis.dtx b/njuthesis.dtx
index 1b15202d3bdc837e52cb0e509e615b984217e57f..a2b3b250b8b1fd23e0c0d4071a029a06ec4ac213 100644
--- a/njuthesis.dtx
+++ b/njuthesis.dtx
@@ -2,7 +2,7 @@
 % !TeX program  = XeLaTeX
 % !TeX encoding = UTF-8
 %
-% Copyright (C) 2021 by Nanjing University Linux User Group <my@yaoge123.com>
+% Copyright (C) 2021 by Nanjing University Linux User Group <nju.lug@yaoge123.cn>
 % 
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -146,7 +146,7 @@ Copyright 漏 NJU-LUG
 
 \preamble
 
-Copyright (C) 2021 by Nanjing University Linux User Group <my@yaoge123.com>
+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
@@ -207,23 +207,28 @@ through XeTeX.
 %
 %<class>\NeedsTeXFormat{LaTeX2e}
 %<class>\RequirePackage{expl3}
-%<!(readme-zh|readme-en)> \GetIdInfo  $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800  NJU LUG <my@yaoge123.com> $
+%<!(readme-zh|readme-en)> \GetIdInfo  $Id: njuthesis.dtx 0.9.0 2021-09-15 12:00:00 +0800  NJU LUG <nju.lug@yaoge123.cn> $
 %<class>  {Thesis template for Nanjing University}
 %<class>\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
 %
 %<*driver>
 \ProvidesFile{njuthesis.dtx}
 \documentclass{ctxdoc}
+\usepackage{listings,xcolor}
+\definecolor{njuviolet}{cmyk}{0.5,1,0,0.4}
+\definecolor{njumagenta}{cmyk}{0.05,1,0.55,0}
+\definecolor{njublue}{cmyk}{0.8,0.5,0,0}
+\definecolor{njuyellow}{cmyk}{0,0.3,1,0}
 \begin{document}
   \DocInput{njuthesis.dtx}
 \end{document}
 %</driver>
 % \fi
 %
-% \title{The \textsc{NJuThesis} class\\ 鍗椾含澶у瀛︿綅璁烘枃妯℃澘}
+% \title{\color{njuviolet}The \textsc{NJuThesis} class\\ 鍗椾含澶у瀛︿綅璁烘枃妯℃澘}
 % 
 % \author{^^A
-% Nanjing University Linux User Group\thanks{E-mail: \href{mailto:my@yaoge123.com}{my@yaoge123.com}}}
+% Nanjing University Linux User Group\thanks{E-mail: \href{mailto:nju.lug@yaoge123.cn}{nju.lug@yaoge123.cn}}}
 %
 % \date{v0.9.0 \\ Released 2021-09-15}
 %
@@ -255,12 +260,15 @@ through XeTeX.
 %
 % Put text here.
 %
-% \section{閰嶇疆鐜}
+% \section{瀹夎}
 % \label{sec:setup}
 %
+% 鏈妭涓昏浠嬬粛鏈畯鍖呯殑鑾峰彇銆佸畨瑁呬互鍙婄紪璇戞柟寮�
+%
 % 涓嬭〃鏄洰鍓嶇粡杩囨祴璇曠殑鐜銆傚鏋滄湁鍏朵粬鍙敤涓嶅彲鐢ㄧ殑鐜锛屾杩庤ˉ鍏呫€�
 %
 % \begin{table}[ht]
+%     \centering
 %     \caption{缁忚繃娴嬭瘯鐨勭幆澧儅
 %     % \label{tab:1}
 %     \begin{tabular}{ccc}
@@ -298,15 +306,35 @@ through XeTeX.
 % 鑻ヤ娇鐢� LaTeX Workshop 鎻掍欢锛屾湰椤圭洰鍦▅.vscode/|涓彁渚涗竴浠界畝鏄撻厤缃紝鍙互鐪佺暐鍒濆閰嶇疆姝ラ鐩存帴浣跨敤銆�
 %
 % \subsubsection{缂栬瘧椤哄簭}
+% 鍋囪鍗冲皢浣跨敤鐨勬枃浠跺悕涓篭file{mynjuthesis.tex}
 % 搴旈噰鐢ㄤ互涓嬪懡浠ら『搴忚繘琛岀紪璇戯紝浠ョ敓鎴愭纭殑鐩綍銆佺紪鍙峰拰鍙傝€冩枃鐚潯鐩€�
-% \begin{enumerate}
-%     \item |xelatex| / |lualatex|
-%     \item |biber|
-%     \item |xelatex| / |lualatex|
-%     \item |xelatex| / |lualatex|
-% \end{enumerate}
-%
-% 缂栬瘧浜х墿\footnote{浣滀负鍖栧瀛︾敓锛屼亢璁や负鐢ㄢ€滀骇鐗┾€濅唬鏇库€滅紪璇戠敓鎴愮殑鏂囦欢鈥濇槸涓€涓€氫織鏄撴噦鐨勮娉晑涓簗njuthesis.pdf|锛屼綅浜庝富鐩綍涓嬨€傛澶栬繕浼氱敓鎴愪竴绯诲垪涓棿鏂囦欢锛屽彲浠ラ€夋嫨浣跨敤|latexmk -c|杩涜娓呯悊銆�
+% \begin{lstlisting}
+%   xelatex mynjuthesis
+%   biber mynjuthesis
+%   xelatex mynjuthesis
+%   xelatex mynjuthesis
+% \end{lstlisting}
+% 浣跨敤 \pkg{latexmk}
+% \begin{lstlisting}
+%   latexmk -xelatex mynjuthesis
+% \end{lstlisting}
+%
+% \begin{lstlisting}
+%   lualatex mynjuthesis
+%   biber mynjuthesis
+%   lualatex mynjuthesis
+%   lualatex mynjuthesis
+% \end{lstlisting}
+% 浣跨敤 \pkg{latexmk}
+% \begin{lstlisting}
+%   latexmk -lualatex mynjuthesis
+% \end{lstlisting}
+%
+% 缂栬瘧浜х墿涓篭file{njuthesis.pdf}锛屼綅浜庝富鐩綍涓嬨€傛澶栬繕浼氱敓鎴愪竴绯诲垪涓棿鏂囦欢锛屽彲浠ラ€夋嫨浣跨敤浠ヤ笅鍛戒护杩涜娓呯悊銆�
+%
+% \begin{lstlisting}
+%   latexmk -c
+% \end{lstlisting}
 %
 % \subsection{鍦ㄧ嚎缂栬瘧}
 %
@@ -338,22 +366,22 @@ through XeTeX.
 %
 % \subsection{鑷畾涔夐€夐」}
 %
-% 鍔犵矖鐨勪负榛樿閫夐」
+% 灏栨嫭鍙峰唴鍒楀嚭浜嗚嫢骞蹭釜鍏佽鐨勯€夐」锛屽叾涓姞绮楃殑涓洪粯璁ら€夐」
 %
 % \begin{function}[added=2021-09-07]{titlelength}
 %   \begin{syntax}
 %     titlelength = <(1)|2|3>
 %   \end{syntax}
 %
-% 涓轰簡浣胯緝闀跨殑璁烘枃棰樼洰涔熻兘缇庤鍦板憟鐜板湪灏侀潰椤典笂锛宯juthesis绫绘彁渚涗簡\texttt{TitleLength}杩欎竴閫夐」锛岀敤浜庢帶鍒跺皝闈㈡爣棰樼殑琛屾暟銆傚彲閫夊€间负1銆�2銆�3锛岀己鐪佸€间负1銆�
+% 涓轰簡浣胯緝闀跨殑璁烘枃棰樼洰涔熻兘缇庤鍦板憟鐜板湪灏侀潰椤典笂锛宯juthesis绫绘彁渚涗簡{TitleLength}杩欎竴閫夐」锛岀敤浜庢帶鍒跺皝闈㈡爣棰樼殑琛屾暟銆傛渶澶�3琛�
 % \end{function}
 %
-% \begin{function}[added=2021-09-07]{secondmentor}
+% \begin{function}[added=2021-09-07]{secondsupervisor}
 %   \begin{syntax}
-%     secondmentor = <\TFF>
+%     secondsupervisor = <\TFF>
 %   \end{syntax}
 %
-% 鐢ㄤ簬鍦ㄥ皝闈㈠拰鎽樿娣诲姞绗簩瀵煎笀锛岀己鐪佸€间负false銆�
+% 鐢ㄤ簬鍦ㄥ皝闈㈠拰鎽樿娣诲姞绗簩瀵煎笀銆傜敱浜庣洰鍓嶆潵璇存嫢鏈変袱浣嶆寚瀵艰€佸笀骞朵笉鏄竴绉嶆櫘閬嶇姸鍐碉紝鍥犳姝ら」榛樿涓篭opt{false}銆�
 % \opt{true}锛孿opt{false}锛堥粯璁わ級銆�
 % \end{function}
 %
@@ -362,8 +390,7 @@ through XeTeX.
 %     nlcover = <\TTF>
 %   \end{syntax}
 %
-% 鐢ㄤ簬娣诲姞鍥藉鍥句功棣嗗皝闈紝缂虹渷鍊间负true銆�
-% \opt{true}锛孿opt{false}锛堥粯璁わ級銆�
+% 閫氳繃姝ら」鍙€夋嫨鏄惁娣诲姞鍥藉鍥句功棣嗗皝闈紝鏈€夐」浠呭浜庣爺绌剁敓鏈夋晥
 % \end{function}
 %
 % 
@@ -374,7 +401,7 @@ through XeTeX.
 %   \end{syntax}
 %
 % 閫夋嫨瀛︿綅锛屽彲閫夛細
-% \opt{ug}锛堥粯璁ゆ湰绉戯級锛孿opt{mg}锛孿opt{mf}锛孿opt{phd}銆�
+% \opt{ug}锛堥粯璁ゆ湰绉戯級锛孿opt{mg}鍗冲鏈澹紝\opt{mf}锛孿opt{phd}銆�
 % \end{function}
 %   
 %
@@ -420,11 +447,11 @@ through XeTeX.
 % 鎵嬪姩鎸囧畾涓枃瀛椾綋锛屽彲閫夛細
 % \opt{windows}锛堥粯璁わ級锛� \opt{macos}锛� \opt{fandol}锛� \opt{founder}锛孿opt{noto}锛孿opt{null}銆�
 %
-% FZSSK 鏂规涔﹀畫锛堢畝绻佹墿灞曪級 http://www.foundertype.com/index.php/FontInfo/index/id/151 鍏嶈垂鍟嗙敤
+% FZSSK 鏂规涔﹀畫锛堢畝绻佹墿灞曪級  \href{http://www.foundertype.com/index.php/FontInfo/index/id/151 鍏嶈垂鍟嗙敤}{涓嬭浇閾炬帴}
 %
-% FZXBSK 鏂规灏忔爣瀹嬶紙绠€绻佹墿灞曪級 http://www.foundertype.com/index.php/FontInfo/index/id/164 璁捐甯堥潪鍟嗗厤璐�
+% FZXBSK 鏂规灏忔爣瀹嬶紙绠€绻佹墿灞曪級 \href{http://www.foundertype.com/index.php/FontInfo/index/id/164 璁捐甯堥潪鍟嗗厤璐箎{涓嬭浇閾炬帴}
 %
-% FZKTK 鏂规妤蜂綋锛堢畝绻佹墿灞曪級 http://www.foundertype.com/index.php/FontInfo/index/id/137 鍏嶈垂鍟嗙敤
+% FZKTK 鏂规妤蜂綋锛堢畝绻佹墿灞曪級 \href{http://www.foundertype.com/index.php/FontInfo/index/id/137 鍏嶈垂鍟嗙敤}{涓嬭浇閾炬帴}
 % 
 % 鍚勪釜绯荤粺鐨勯粯璁ゅ瓧浣撹鍙傝€冦€傚彲浠ョ湅鍒帮紝涓嶅悓绯荤粺涓婁娇鐢ㄧ殑瀛椾綋鏈夋墍宸埆锛屽疄闄呰緭鍑虹粨鏋滃彲鑳藉瓨鍦ㄧ粏寰笉鍚�, 浣跨敤鏃惰娉ㄦ剰銆備緥濡傦紝鍦↙inux骞冲彴鎴栬€呬娇鐢ㄤ簡Ubuntu鍚庣鐨勫崡澶hologo{TeX}涓婏紝瀹嬩綋鍔犵矖鏁堟灉鏇存槑鏄撅紱鍙︿竴鏂归潰锛屽湪Windows骞冲彴杩涜缂栬瘧鐨勬晥鏋滄洿鎺ヨ繎Word鍔犵矖\footnote{鍥犱负SimSun娌℃湁鍘熺敓绮椾綋锛岄€氳繃AutoFakeBold=2.17杩涜妯′豢}锛岀鍚堣瑙変範鎯€�
 % 
@@ -435,16 +462,20 @@ through XeTeX.
 %
 % \subsection{杈撳叆涓汉淇℃伅}
 %
-% \texttt{njusetup}瀹氫箟浜嗙敤浜庢枃妗e皝闈㈢殑璇稿灞炴€у弬鏁帮紝
+% \begin{function}{\njusetup}
+% 
+%  瀹氫箟浜嗙敤浜庢枃妗e皝闈㈢殑璇稿灞炴€у弬鏁帮紝
 % 鍐欎綔鏃朵慨鏀圭浉搴斿瓧绗︿覆鍗冲彲銆傛敞鎰忎笉瑕佹湁绌鸿锛屽惁鍒欏彲鑳芥姤閿�
 %
+% \end{function}
+%
 %
 % \subsubsection{璁烘枃鏍囬}
 % \begin{description}
 %     \item[\texttt{TitleA}] 鍗曡鏍囬锛屾垨澶氳鏍囬鐨勭涓€琛屻€傚叧浜庢槸鍚﹀簲璇ユ姌琛岋紝鍗曡鑳藉绾崇殑鏈€闀挎爣棰樹负\emph{15涓腑鏂囧瓧绗锛岃鑷閫夋嫨鍚堥€傜殑鎴柇澶勩€�
 %     \item[\texttt{TitleB}] 澶氳鏍囬鐨勭浜岃
 %     \item[\texttt{TitleC}] 澶氳鏍囬鐨勭涓夎
-%     \item[\texttt{TitleEN}] 鑻辨枃鏍囬锛屾敞鎰忕┖鏍艰鐢ㄦ尝娴嚎锛圽textasciitilde锛夋浛浠�
+%     \item[\texttt{Title*}] 鑻辨枃鏍囬锛屾敞鎰忕┖鏍艰鐢ㄦ尝娴嚎锛圽textasciitilde锛夋浛浠�
 % \end{description}
 %
 % \subsubsection{涓汉骞寸骇銆佸鍙枫€佸鍚峿
@@ -452,7 +483,7 @@ through XeTeX.
 %     \item[\texttt{Grade}] 骞寸骇
 %     \item[\texttt{StudentID}] 鏈鐢熶负9浣嶆暟瀛楀鍙凤紝鐮旂┒鐢熶负涓や綅鑻辨枃瀛楁瘝鏍囪瘑鍔�8浣嶆暟瀛楀鍙凤紝涓や綅瀛楁瘝鑷姩澶у啓
 %     \item[\texttt{StudentName}] 濮撳悕
-%     \item[\texttt{StudentNameEN}] 濮撳悕鎷奸煶 
+%     \item[\texttt{StudentName*}] 濮撳悕鎷奸煶 
 % \end{description}
 %
 % \subsubsection{灏辫闄㈢郴涓撲笟}
@@ -460,20 +491,20 @@ through XeTeX.
 % 鏈鐢熸棤闇€濉啓鐮旂┒鏂瑰悜銆�
 % \begin{description}
 %     \item[\texttt{Department}] 瀛﹂櫌鍚嶇О
-%     \item[\texttt{DepartmentEN}] 瀛﹂櫌鑻辨枃鍚嶇О
+%     \item[\texttt{Department*}] 瀛﹂櫌鑻辨枃鍚嶇О
 %     \item[\texttt{Major}] 涓撲笟鍚嶇О
-%     \item[\texttt{MajorEN}] 涓撲笟鑻辨枃鍚嶇О
+%     \item[\texttt{Major*}] 涓撲笟鑻辨枃鍚嶇О
 %     \item[\texttt{Field}] 鐮旂┒鏂瑰悜
-%     \item[\texttt{FieldEN}] 鐮旂┒鏂瑰悜鑻辨枃鍚嶇О
+%     \item[\texttt{Field*}] 鐮旂┒鏂瑰悜鑻辨枃鍚嶇О
 % \end{description}
 %
 % \subsubsection{瀵煎笀淇℃伅}
 % 娉ㄦ剰鏍囨敞A鐨勪负绗竴瀵煎笀
 % \begin{description}
-%     \item[\texttt{Mentor<A/B>}] 瀵煎笀濮撳悕
-%     \item[\texttt{Mentor<A/B>EN}] 瀵煎笀濮撳悕鐨勮嫳鏂囨嫾闊�  
-%     \item[\texttt{Mentor<A/B>Title}] 瀵煎笀鑱岀О
-%     \item[\texttt{Mentor<A/B>TitleEN}] 瀵煎笀鑱岀О鑻辨枃
+%     \item[\texttt{Supervisor<A/B>}] 瀵煎笀濮撳悕
+%     \item[\texttt{Supervisor<A/B>*}] 瀵煎笀濮撳悕鐨勮嫳鏂囨嫾闊�  
+%     \item[\texttt{Supervisor<A/B>Title}] 瀵煎笀鑱岀О
+%     \item[\texttt{Supervisor<A/B>Title*}] 瀵煎笀鑱岀О鑻辨枃
 % \end{description}
 %
 % \subsubsection{鎻愪氦鏃ユ湡}
@@ -500,7 +531,7 @@ through XeTeX.
 %     \item[\texttt{Classification}] 鍒嗙被鍙�
 %     \item[\texttt{SecurityLevel}] 闄愬埗  
 %     \item[\texttt{UDC}] UDC
-%     \item[\texttt{MentorInfo}] 鎸囧鏁欏笀鑱屽姟銆佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃
+%     \item[\texttt{SupervisorContact}] 鎸囧鏁欏笀鑱屽姟銆佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃
 % \end{description}
 %
 % \subsection{鎽樿椤祡
@@ -536,9 +567,11 @@ through XeTeX.
 % \begin{implementation}
 %
 % \section{浠g爜瀹炵幇}
+% @@鍦╨3docstrip涓〃绀哄悕绌洪棿锛屽湪鐢熸垚cls鏃朵細琚浉搴斿瓧娈垫浛鎹紝璀鍦╪juthesis涓瑻@=nju
 %
 % laTex榛樿1.2琛岃窛锛寃ord榛樿琛岃窛鏄�1.3锛岃姹�1.5鍊峸ord琛岃窛锛屾晠1.5/1.2*1.3 = 1.625
 %    \begin{macrocode}
+%<@@=nju>
 %<*class>
 \LoadClass[
   a4paper,
@@ -565,8 +598,8 @@ through XeTeX.
 %
 % Put text here.
 %    \begin{macrocode}
-  secondmentor      .bool_set:N   =   \nju_second_mentor,
-  secondmentor      .initial:n    =   false,
+  secondsupervisor      .bool_set:N   =   \nju_second_supervisor,
+  secondsupervisor      .initial:n    =   false,
 %    \end{macrocode}
 %
 % Put text here.
@@ -618,74 +651,74 @@ through XeTeX.
 % Put text here.
 %    \begin{macrocode}
   % 棰樼洰
-  TitleA            .tl_set:N     =   \nju_title_a,
-  TitleB            .tl_set:N     =   \nju_title_b,
-  TitleC            .tl_set:N     =   \nju_title_c,
-  TitleEN           .tl_set:N     =   \nju_title_en,
+  TitleA            .tl_set:N     =   \l_@@_info_title_a_tl,
+  TitleB            .tl_set:N     =   \l_@@_info_title_b_tl,
+  TitleC            .tl_set:N     =   \l_@@_info_title_c_tl,
+  Title*            .tl_set:N     =   \l_@@_info_title_en_tl,
 %    \end{macrocode}
 %
 % Put text here.
 %    \begin{macrocode}
   % 骞寸骇瀛﹀彿濮撳悕
-  Grade             .tl_set:N     =   \nju_grade,
-  StudentID         .tl_set:N     =   \nju_student_id,
-  StudentName       .tl_set:N     =   \nju_student_name,
-  StudentNameEN     .tl_set:N     =   \nju_student_name_en,
+  Grade             .tl_set:N     =   \l_@@_info_grade_tl,
+  StudentID         .tl_set:N     =   \l_@@_info_id_tl,
+  StudentName       .tl_set:N     =   \l_@@_info_author_tl,
+  StudentName*      .tl_set:N     =   \l_@@_info_author_en_tl,
 %    \end{macrocode}
 %
 % Put text here.
 %    \begin{macrocode}
   % 闄㈢郴涓撲笟鏂瑰悜
-  Department        .tl_set:N     =   \nju_department,
-  DepartmentEN      .tl_set:N     =   \nju_department_en,
-  Major             .tl_set:N     =   \nju_major,
-  MajorEN           .tl_set:N     =   \nju_major_en,
-  Field             .tl_set:N     =   \nju_field,
-  FieldEN           .tl_set:N     =   \nju_field_en,
+  Department        .tl_set:N     =   \l_@@_info_dept_tl,
+  Department*       .tl_set:N     =   \l_@@_info_dept_en_tl,
+  Major             .tl_set:N     =   \l_@@_major_tl,
+  Major*            .tl_set:N     =   \l_@@_major_en_tl,
+  Field             .tl_set:N     =   \l_@@_field_tl,
+  Field*            .tl_set:N     =   \l_@@_field_en_tl,
 %    \end{macrocode}
 %  
 % 瀵煎笀
 % Put text here.
 %    \begin{macrocode}
-  MentorA           .tl_set:N     =   \nju_mentor_a,
-  MentorAEN         .tl_set:N     =   \nju_mentor_a_en,
-  MentorATitle      .tl_set:N     =   \nju_mentor_a_title,
-  MentorATitleEN    .tl_set:N     =   \nju_mentor_a_title_en,
+  SupervisorA       .tl_set:N     =   \l_@@_info_supv_a_tl,
+  SupervisorA*      .tl_set:N     =   \l_@@_info_supv_a_en_tl,
+  SupervisorATitle  .tl_set:N     =   \l_@@_info_supv_a_title_tl,
+  SupervisorATitle* .tl_set:N     =   \l_@@_info_supv_a_title_en_tl,
 %    \end{macrocode}
 %
 % 绗簩瀵煎笀
 % Put text here.
 %    \begin{macrocode}
-  MentorB           .tl_set:N     =   \nju_mentor_b,
-  MentorBEN         .tl_set:N     =   \nju_mentor_b_en,
-  MentorBTitle      .tl_set:N     =   \nju_mentor_b_title,
-  MentorBTitleEN    .tl_set:N     =   \nju_mentor_b_title_en,
+  SupervisorB       .tl_set:N     =   \l_@@_info_supv_b_tl,
+  SupervisorB*      .tl_set:N     =   \l_@@_info_supv_b_en_tl,
+  SupervisorBTitle  .tl_set:N     =   \l_@@_info_supv_b_title_tl,
+  SupervisorBTitle* .tl_set:N     =   \l_@@_info_supv_b_title_en_tl,
 %    \end{macrocode}
 %
 % Put text here.
 % 鎻愪氦鏃ユ湡
 %    \begin{macrocode}
-  SubmitDate        .tl_set:N     =   \nju_submit_date,
+  SubmitDate        .tl_set:N     =   \l_@@_submit_date_tl,
 %    \end{macrocode}
 %
 % Put text here.
 % 绛旇京
 %    \begin{macrocode}
-  DefendDate        .tl_set:N     =   \nju_defend_date,
-  ReviewerChairman  .tl_set:N     =   \nju_reviewer_chairman,
-  ReviewerA         .tl_set:N     =   \nju_reviewer_a,
-  ReviewerB         .tl_set:N     =   \nju_reviewer_b,
-  ReviewerC         .tl_set:N     =   \nju_reviewer_c,
-  ReviewerD         .tl_set:N     =   \nju_reviewer_d,
+  DefendDate        .tl_set:N     =   \l_@@_defend_date_tl,
+  ReviewerChairman  .tl_set:N     =   \l_@@_info_chairman_tl,
+  ReviewerA         .tl_set:N     =   \l_@@_info_reviewer_a_tl,
+  ReviewerB         .tl_set:N     =   \l_@@_info_reviewer_b_tl,
+  ReviewerC         .tl_set:N     =   \l_@@_info_reviewer_c_tl,
+  ReviewerD         .tl_set:N     =   \l_@@_info_reviewer_d_tl,
 %    \end{macrocode}
 %
 % Put text here.
 %    \begin{macrocode}
   % 鍥藉鍥句功棣嗗皝闈㈢浉鍏�
-  Classification    .tl_set:N     =   \nju_classification,
-  SecurityLevel     .tl_set:N     =   \nju_securitylevel,
-  UDC               .tl_set:N     =   \nju_udc,
-  MentorInfo        .tl_set:N     =   \nju_mentor_info,
+  Classification    .tl_set:N     =   \l_@@_info_classif_tl,
+  SecurityLevel     .tl_set:N     =   \l_@@_info_seclv_tl,
+  UDC               .tl_set:N     =   \l_@@_info_udc_tl,
+  SupervisorContact .tl_set:N     =   \l_@@_info_supv_cont_tl,
 }
 %    \end{macrocode}
 %
@@ -717,7 +750,6 @@ through XeTeX.
 % \RequirePackage{titlesec} % 淇敼绔犺妭鏍囬鍔熻兘鐢盋TeX鎻愪緵
 \RequirePackage{titletoc} % 淇敼鐩綍鍐呮爣棰樻牸寮�
 % \RequirePackage{appendix} % 瀹氫箟闄勫綍鏍峰紡
-\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼
 \RequirePackage[hyphens]{url} % generate better linebreaks in the url
 % \RequirePackage[normalem]{ulem} % 缁樺埗涓嬪垝绾�
 % \RequirePackage{soul} % 鐢ㄤ笉璧锋潵
@@ -1082,6 +1114,7 @@ through XeTeX.
 %
 % Put text here.
 %    \begin{macrocode}
+\RequirePackage{fancyhdr} % 璋冩暣椤电湁椤佃剼
 % 鏈鐢熼〉鐪夐〉鑴� 
 \fancypagestyle{njuplain}{%
    \fancyhead{}               
@@ -1503,33 +1536,38 @@ through XeTeX.
 % \subsection{灏侀潰缁樺埗}
 %    \begin{macrocode}
 % 鎷煎悎鏍囬
-\tl_const:Nn \nju_title {\nju_title_a \nju_title_b \nju_title_c}
+\tl_const:Nn \l_@@_info_title_tl, 
+{
+  \l_@@_info_title_a_tl
+  \l_@@_info_title_b_tl
+  \l_@@_info_title_c_tl
+}
 %    \end{macrocode}
 %
 % Put text here.
 %    \begin{macrocode}
 % 鎷煎悎瀵煎笀
-\bool_if:NTF \nju_second_mentor
+\bool_if:NTF \nju_second_supervisor
 { 
-  \tl_const:Nn \nju_mentor_full
+  \tl_const:Nn \nju_supervisor_full
   {
-    \nju_mentor_a\ \nju_mentor_a_title
-    \ \ \nju_mentor_b\ \nju_mentor_b_title
+    \l_@@_info_supv_a_tl\ \l_@@_info_supv_a_title_tl
+    \ \ \l_@@_info_supv_b_tl\ \l_@@_info_supv_b_title_tl
   }
-  \tl_const:Nn \nju_mentor_full_en
+  \tl_const:Nn \nju_supervisor_full_en
   {
-    \nju_mentor_a_en\ \nju_mentor_a_title_en
-    \ \ \nju_mentor_b_en\ \nju_mentor_b_title_en
+    \l_@@_info_supv_a_en_tl\ \l_@@_info_supv_a_title_en_tl
+    \ \ \l_@@_info_supv_b_en_tl\ \l_@@_info_supv_b_title_en_tl
   }
 }
 {
-  \tl_const:Nn \nju_mentor_full
+  \tl_const:Nn \nju_supervisor_full
   {
-    \nju_mentor_a\ \nju_mentor_a_title
+    \l_@@_info_supv_a_tl\ \l_@@_info_supv_a_title_tl
   }
-  \tl_const:Nn \nju_mentor_full_en
+  \tl_const:Nn \nju_supervisor_full_en
   {
-    \nju_mentor_a_en\ \nju_mentor_a_title_en
+    \l_@@_info_supv_a_en_tl\ \l_@@_info_supv_a_title_en_tl
   }
 }
 %    \end{macrocode}
@@ -1611,58 +1649,58 @@ through XeTeX.
 {
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {闄hfill 绯粆
-    & \nju_cover_underline_ug:nn {250pt}{\nju_department}\\
+    & \nju_cover_underline_ug:nn {250pt}{\l_@@_info_dept_tl}\\
     \nju_coverbox_ug:n {涓揬hfill 涓殅
-    & \nju_cover_underline_ug:nn {250pt}{\nju_major}\\
+    & \nju_cover_underline_ug:nn {250pt}{\l_@@_major_tl}\\
 
     % 鏍囬鎹㈣
     \int_case:nn { \nju_titlelength }
       {
         { 1 } { 
           \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\ }
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_a_tl,}} \\ }
         { 2 } {
           \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\ }
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_a_tl,}} \\
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_b_tl,}} \\ }
         { 3 } { 
           \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_a}} \\
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_b}} \\
-          & \nju_cover_underline_ug:nn {250pt}{\bf{\nju_title_c}} \\}
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_a_tl,}} \\
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_b_tl,}} \\
+          & \nju_cover_underline_ug:nn {250pt}{\bf{\l_@@_info_title_c_tl,}} \\}
       }
   \end{tabular}\\
 
   \begin{tabular}{p{4.2em}cp{4.2em}c}
     \nju_coverbox_ug:n {骞碶hfill 绾
-    & \nju_cover_underline_ug:nn {90pt}{\nju_grade}
+    & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_grade_tl}
     & \nju_coverbox_ug:n {瀛hfill 鍙穧
-    & \nju_cover_underline_ug:nn {90pt}{\nju_student_id}\\
+    & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_id_tl}\\
   \end{tabular}\\
   
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {瀛hfill 鐢焅hfill 濮揬hfill 鍚峿
-    & \nju_cover_underline_ug:nn {250pt}{\nju_student_name}
+    & \nju_cover_underline_ug:nn {250pt}{\l_@@_info_author_tl}
   \end{tabular}\\
   \begin{tabular}{p{4.2em}cp{4.2em}c}
     \nju_coverbox_ug:n {瀵糪hfill 甯坿
-    & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a}
+    & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_a_tl}
     & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-    & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_a_title}\\
+    & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_a_title_tl}\\
 
     % 绗簩瀵煎笀
-    \bool_if:NT \nju_second_mentor
+    \bool_if:NT \nju_second_supervisor
     {
       \nju_coverbox_ug:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿
-      & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b}
+      & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_b_tl}
       & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-      & \nju_cover_underline_ug:nn {90pt}{\nju_mentor_b_title}\\
+      & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_b_title_tl}\\
     }
   \end{tabular}\\
 
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {鎻怽hfill 浜hfill 鏃hfill 鏈焳
-    & \nju_cover_underline_ug:nn {250pt}{\nju_submit_date}\\
+    & \nju_cover_underline_ug:nn {250pt}{\l_@@_submit_date_tl}\\
   \end{tabular}
 }
 %    \end{macrocode}
@@ -1679,26 +1717,26 @@ through XeTeX.
       {
         { 1 } { 
           \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\nju_title_a} \\ }
+          & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\ }
         { 2 } {
           \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\nju_title_a} \\
-          & \nju_cover_underline_g:n {\nju_title_b} \\ }
+          & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\
+          & \nju_cover_underline_g:n {\l_@@_info_title_b_tl,} \\ }
         { 3 } { 
           \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\nju_title_a} \\
-          & \nju_cover_underline_g:n {\nju_title_b} \\
-          & \nju_cover_underline_g:n {\nju_title_c} \\}
+          & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\
+          & \nju_cover_underline_g:n {\l_@@_info_title_b_tl,} \\
+          & \nju_cover_underline_g:n {\l_@@_info_title_c_tl,} \\}
       }
 
     \nju_coverbox_g:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿
-    & \nju_cover_underline_g:n {\nju_student_name}\\
+    & \nju_cover_underline_g:n {\l_@@_info_author_tl}\\
     \nju_coverbox_g:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚
-    & \nju_cover_underline_g:n {\nju_major}\\
+    & \nju_cover_underline_g:n {\l_@@_major_tl}\\
     \nju_coverbox_g:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓
-    & \nju_cover_underline_g:n {\nju_field}\\
+    & \nju_cover_underline_g:n {\l_@@_field_tl}\\
     \nju_coverbox_g:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿
-    & \nju_cover_underline_g:n {\nju_mentor_full}\\
+    & \nju_cover_underline_g:n {\nju_supervisor_full}\\
   \end{tabular}
 }
 %    \end{macrocode}
@@ -1726,13 +1764,13 @@ through XeTeX.
       \vskip -20mm \hskip -15mm
       \songti\zihao{-4}
       \makebox[40pt][l]{鍒嗙被鍙穧
-      \nju_cover_underline_nl:nn {150pt}{\nju_classification}
+      \nju_cover_underline_nl:nn {150pt}{\l_@@_info_classif_tl}
       \hfill
       \makebox[40pt][l]{瀵嗙骇}
-      \nju_cover_underline_nl:nn {150pt}{\nju_securitylevel}
+      \nju_cover_underline_nl:nn {150pt}{\l_@@_info_seclv_tl}
       \vskip 10pt \hskip -15mm
       \makebox[40pt][l]{UDC}
-      \nju_cover_underline_nl:nn {150pt}{\nju_udc}
+      \nju_cover_underline_nl:nn {150pt}{\l_@@_info_udc_tl}
     }
   
     % 涓儴
@@ -1743,14 +1781,14 @@ through XeTeX.
       {
         \kaishu\zihao{1}
         \vskip \stretch{1}
-        \nju_cover_underline_nl:nn {14em}{\nju_title_a}\\
-        \nju_cover_underline_nl:nn {14em}{\nju_title_b}\\
-        \nju_cover_underline_nl:nn {14em}{\nju_title_c}\\
+        \nju_cover_underline_nl:nn {14em}{\l_@@_info_title_a_tl,}\\
+        \nju_cover_underline_nl:nn {14em}{\l_@@_info_title_b_tl,}\\
+        \nju_cover_underline_nl:nn {14em}{\l_@@_info_title_c_tl,}\\
       }
       \vskip \stretch{1}
       {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級}
       \vskip \stretch{1} \vskip 5mm
-      {\kaishu\zihao{1}\uline{\makebox{\nju_student_name}}}
+      {\kaishu\zihao{1}\uline{\makebox{\l_@@_info_author_tl}}}
       \vskip \stretch{1}
       {\kaishu\zihao{4}锛堜綔鑰呭鍚嶏級}
     \end{center}
@@ -1760,25 +1798,25 @@ through XeTeX.
     {
       \kaishu\zihao{4}
       \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃%
-      \nju_cover_underline_nl:nn {94pt}{\nju_mentor_a}\par
+      \nju_cover_underline_nl:nn {94pt}{\l_@@_info_supv_a_tl}\par
       \noindent\nju_cover_underline_nl:nn {\textwidth}{%
-      \nju_mentor_info}\par
+      \l_@@_info_supv_cont_tl}\par
       \noindent 鐢宠瀛︿綅绾у埆%
       \nju_cover_underline_nl:nn {9em}{\nju_degree_title}%
       \noindent 涓撲笟鍚嶇О%
-      \uline{\hfill\nju_major\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
+      \uline{\hfill\l_@@_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 璁烘枃鎻愪氦鏃ユ湡%
-      \nju_cover_underline_nl:nn {9em}{\nju_submit_date}%
+      \nju_cover_underline_nl:nn {9em}{\l_@@_submit_date_tl}%
       璁烘枃绛旇京鏃ユ湡%
-      \uline{\hfill\nju_defend_date\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
+      \uline{\hfill\l_@@_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par
       \noindent\hfill 绛旇京濮斿憳浼氫富甯細%
-      \nju_cover_underline_nl:nn {9em}{\nju_reviewer_chairman}\par
+      \nju_cover_underline_nl:nn {9em}{\l_@@_info_chairman_tl}\par
       \noindent\hfill 璇勯槄浜猴細%
-      \nju_cover_underline_nl:nn {9em}{\nju_reviewer_a}\par
-      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_b}\par
-      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_c}\par
-      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\nju_reviewer_d}\par
+      \nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_a_tl}\par
+      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_b_tl}\par
+      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_c_tl}\par
+      \noindent\hfill\nju_cover_underline_nl:nn {9em}{\l_@@_info_reviewer_d_tl}\par
       
       \begin{center}
         \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃�
@@ -1854,7 +1892,7 @@ through XeTeX.
     \egroup}
     \vfill
     \vskip 10mm
-    \bf\kaishu\zihao{4}\nju_submit_date
+    \bf\kaishu\zihao{4}\l_@@_submit_date_tl
     \vskip 15mm
   \end{center}
   \end{spacing}
@@ -1866,9 +1904,9 @@ through XeTeX.
     \hspace{0pt} \vfill
     {\bgroup
     \kaishu\zihao{3}
-    \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\nju_student_id}
+    \makebox[6em][s]{\bf\kaishu 瀛hfill 鍙穧锛歕MakeUppercase{\l_@@_info_id_tl}
     \par
-    \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕nju_defend_date
+    \makebox[6em][s]{\bf\kaishu 璁烘枃绛旇京鏃ユ湡}锛歕l_@@_defend_date_tl
     \par
     \makebox[6em][s]{\bf\kaishu 鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿锛歕hspace{50mm}锛堢瀛楋級
     \par
@@ -1918,11 +1956,11 @@ through XeTeX.
       \tl_set:Nn \tabcolsep {0pt}
       \tl_set:Nn \arraystretch {0.8}
       \noindent
-      棰樼洰锛� \nju_title \\
-      闄㈢郴锛� \nju_department \\
-      涓撲笟锛� \nju_major \\
-      鏈鐢熷鍚嶏細 \nju_student_name \\
-      鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_mentor_full \\
+      棰樼洰锛� \l_@@_info_title_tl \\
+      闄㈢郴锛� \l_@@_info_dept_tl \\
+      涓撲笟锛� \l_@@_major_tl \\
+      鏈鐢熷鍚嶏細 \l_@@_info_author_tl \\
+      鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕nju_supervisor_full \\
       鎽樿锛�
       \egroup
     }
@@ -1949,11 +1987,11 @@ through XeTeX.
     \end{center}
     {
       \bgroup
-      THESIS: ~~\nju_title_en \\
-      DEPARTMENT: ~~\nju_department_en \\
-      SPECIALIZATION: ~~\nju_major_en \\
-      UNDERGRADUATE:~~\nju_student_name_en \\
-      MENTOR:~~\nju_mentor_full_en \\
+      THESIS: ~~\l_@@_info_title_en_tl, \\
+      DEPARTMENT: ~~\l_@@_info_dept_en_tl \\
+      SPECIALIZATION: ~~\l_@@_major_en_tl \\
+      UNDERGRADUATE:~~\l_@@_info_author_en_tl \\
+      MENTOR:~~\nju_supervisor_full_en \\
       ABSTRACT:
       \egroup
     }
@@ -1991,11 +2029,11 @@ through XeTeX.
     \tl_set:Nn \tabcolsep {0pt}
     \tl_set:Nn \arraystretch {0.8}
     \noindent
-    姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\nju_title\hfill}\\    
-    \uline{\makebox[9em]{\nju_major}}涓撲笟\uline{\makebox[4em]{\nju_grade}}绾�
+    姣曚笟璁烘枃棰樼洰锛歕hspace{0.5em}\nju_underline:n {\l_@@_info_title_tl\hfill}\\    
+    \uline{\makebox[9em]{\l_@@_major_tl}}涓撲笟\uline{\makebox[4em]{\l_@@_info_grade_tl}}绾�
     \str_if_eq:NNTF {\nju_degree} { phd } {鍗殅{纭晑
-    澹敓濮撳悕锛歕uline{\hfill\nju_student_name\hfill} \\
-    鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_mentor_full\hfill}\par
+    澹敓濮撳悕锛歕uline{\hfill\l_@@_info_author_tl\hfill} \\
+    鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級锛歕uline{\hfill\nju_supervisor_full\hfill}\par
     \egroup
   
     \kaishu\zihao{4}\par%
@@ -2022,10 +2060,10 @@ through XeTeX.
     {
       \bgroup
       \zihao{4}
-      THESIS: ~~\nju_title_en \\
-      SPECIALIZATION: ~~\nju_major_en \\
-      POSTGRADUATE:~~\nju_student_name_en \\
-      MENTOR:~~\nju_mentor_full_en\par
+      THESIS: ~~\l_@@_info_title_en_tl, \\
+      SPECIALIZATION: ~~\l_@@_major_en_tl \\
+      POSTGRADUATE:~~\l_@@_info_author_en_tl \\
+      MENTOR:~~\nju_supervisor_full_en\par
       \egroup
     }
     \zihao{4}\par%