diff --git a/source/njuthesis.dtx b/source/njuthesis.dtx
index 25d67d41520169922aa7e30908b8f35889e4d6e6..aa2ee016d1e02f66129aa3c777ef350cb072f9b5 100644
--- a/source/njuthesis.dtx
+++ b/source/njuthesis.dtx
@@ -74,8 +74,8 @@ To produce the documentation run the original source files ending with
 \generate{
   \usedir{tex/latex/njuthesis}
     \file{\jobname.cls}               {\from{\jobname.dtx}{class}}
-    \file{\jobname-undergraduate.def} {\from{\jobname.dtx}{definition-ug}}
-    \file{\jobname-graduate.def}      {\from{\jobname.dtx}{definition-g}}
+    \file{\jobname-undergraduate.def} {\from{\jobname.dtx}{def-u}}
+    \file{\jobname-graduate.def}      {\from{\jobname.dtx}{def-g}}
 %<*internal>
   \usedir{source/latex/njuthesis}
     \file{\jobname.ins}               {\from{\jobname.dtx}{install}}
@@ -121,10 +121,10 @@ To produce the documentation run the original source files ending with
 %<+!driver>\GetIdInfo $Id: njuthesis.dtx 0.21.0 2022-06-16 15:50:00 +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
 %<class>  {Thesis template for Nanjing University}
 %<class>\ProvidesExplClass{njuthesis}
-%<definition-ug>  {Undergraduate definition file for njuthesis}
-%<definition-ug>\ProvidesExplFile{njuthesis-undergraduate.def}
-%<definition-g>  {Graduate definition file for njuthesis}
-%<definition-g>\ProvidesExplFile{njuthesis-graduate.def}
+%<def-u>  {Undergraduate definition file for njuthesis}
+%<def-u>\ProvidesExplFile{njuthesis-undergraduate.def}
+%<def-g>  {Graduate definition file for njuthesis}
+%<def-g>\ProvidesExplFile{njuthesis-graduate.def}
 %<!driver>  {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
 %</!(driver|install)>
 %
@@ -2629,9 +2629,9 @@ To produce the documentation run the original source files ending with
     id, major, secretlv, supvcont, udc
   }
 \clist_const:Nn \c_@@_blind_info_en_clist
-  { author, dept, field, major, supv, supv_ii }
+  { author, dept, field, major, supv, supvii }
 \clist_const:Nn \c_@@_blind_infolist_clist
-  { reviewer, supv, supv_ii }
+  { reviewer, supv, supvii }
 %    \end{macrocode}
 % \end{variable}
 %
@@ -3071,7 +3071,7 @@ To produce the documentation run the original source files ending with
     \@@_ulined_center_box:nn { #3 }
       { \clist_item:cn { g_@@_info_ #1 _clist } { 1 } }
     \@@_hskip:
-    \@@_spread_box:nnV { #2 } { \kaishu } \c_@@_name_supv_ttl_tl
+    \@@_spread_box:nnV { #2 } { \kaishu } \c_@@_name_supvtitle_tl
     \@@_hskip:
     \@@_ulined_center_box:nn { #3 }
       { \clist_item:cn { g_@@_info_ #1 _clist } { 2 } }
@@ -3740,9 +3740,9 @@ To produce the documentation run the original source files ending with
 % 娉ㄦ剰锛屽敖绠″湪鎵嬪唽鐨勫疄鐜扮粏鑺傞儴鍒嗗皝闈€€佹憳瑕併€佸父閲忕瓑浣嶄簬闈犲悗閮ㄥ垎锛�
 % 鎷嗗垎鍚庡疄闄呬笂鏄湪姝ゅ杞藉叆杩愯鐨勶紝鍔″繀瑕佹敞鎰忛€昏緫椤哄簭銆�
 %
-% 涓嬫枃涓紝鏈鐢熸ā鏉块厤缃搴� \agrd{definition-ug}锛岀敤浜庣敓鎴�
+% 涓嬫枃涓紝鏈鐢熸ā鏉块厤缃搴� \agrd{def-u}锛岀敤浜庣敓鎴�
 % \file{njuthesis-undergraduate.def}锛涚爺绌剁敓妯℃澘閰嶇疆瀵瑰簲
-% \agrd{definition-g}锛岀敤浜庣敓鎴� \file{njuthesis-graduate.def}銆�
+% \agrd{def-g}锛岀敤浜庣敓鎴� \file{njuthesis-graduate.def}銆�
 %    \begin{macrocode}
 \int_compare:nTF { \g_@@_info_degree_int == 1 }
   { \file_input:n { njuthesis-undergraduate.def } }
@@ -3826,8 +3826,8 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{info/supervisor-ii,info/supervisor-ii*}
 % 绗簩瀵煎笀淇℃伅銆�
 %    \begin{macrocode}
-    supervisor-ii    .clist_set:N = \g_@@_info_supv_ii_clist,
-    supervisor-ii*      .tl_set:N = \g_@@_info_supv_ii_en_tl,
+    supervisor-ii    .clist_set:N = \g_@@_info_supvii_clist,
+    supervisor-ii*      .tl_set:N = \g_@@_info_supvii_en_tl,
 %    \end{macrocode}
 % \end{macro}
 %
@@ -3927,21 +3927,21 @@ To produce the documentation run the original source files ending with
 % 鎷煎悎鍙屽甯堢殑濮撳悕鍜岃亴绉般€�
 %    \begin{macrocode}
     \bool_set:Nn \l_@@_second_supv_bool
-      { ! \clist_if_empty_p:N \g_@@_info_supv_ii_clist }
+      { ! \clist_if_empty_p:N \g_@@_info_supvii_clist }
     \tl_set:Nx \g_@@_info_supvfull_tl
       {
         \clist_use:Nn \g_@@_info_supv_clist { \@@_hskip: }
         \bool_if:NT \l_@@_second_supv_bool
           {
             \@@_quad:
-            \clist_use:Nn \g_@@_info_supv_ii_clist { \@@_hskip: }
+            \clist_use:Nn \g_@@_info_supvii_clist { \@@_hskip: }
           }
       }
     \tl_set:Nx \g_@@_info_supvfull_en_tl
       {
         \g_@@_info_supv_en_tl
         \bool_if:NT \l_@@_second_supv_bool
-          { \@@_quad: \g_@@_info_supv_ii_en_tl }
+          { \@@_quad: \g_@@_info_supvii_en_tl }
       }
 %    \end{macrocode}
 % \begin{variable}{\g_@@_info_submitdate_tl}
@@ -5091,7 +5091,7 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{cover/ug/emblem-img}
 % 鏈鐢熷皝闈㈡牎寰藉浘鐗囧疄渚嬨€�
 %    \begin{macrocode}
-%<*definition-ug>
+%<*def-u>
 \@@_declare_element:nn { cover / ug / emblem-img }
   {
     content     = \@@_emblem:N \c_@@_emblemwidth_dim,
@@ -5157,11 +5157,11 @@ To produce the documentation run the original source files ending with
       \@@_cover_entry:nnn { author    } { #1 } { #2 }
       \@@_cover_entry_supv:nnn { supv } { #1 } { \l_@@_tmpb_dim }
       \bool_if:NT \l_@@_second_supv_bool
-        { \@@_cover_entry_supv:nnn { supv_ii } { #1 } { \l_@@_tmpb_dim } }
+        { \@@_cover_entry_supv:nnn { supvii } { #1 } { \l_@@_tmpb_dim } }
       \@@_cover_entry:nnn { submitdate } { #1 } { #2 }
     \end{minipage}
   }
-%</definition-ug>
+%</def-u>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5172,7 +5172,7 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{cover/g/emblem-img}
 % 鐮旂┒鐢熷皝闈㈡牎寰藉浘鐗囧疄渚嬨€�
 %    \begin{macrocode}
-%<*definition-g>
+%<*def-g>
 \@@_declare_element:nn { cover / g / emblem-img }
   {
     content     = \@@_emblem:N \c_@@_emblemwidthi_dim,
@@ -5473,7 +5473,7 @@ To produce the documentation run the original source files ending with
     \@@_uline_list:nnn { \c_@@_name_supvinfo_tl }
       {
         \clist_use:Nn \g_@@_info_supv_clist    { ~ }
-        \clist_use:Nn \g_@@_info_supv_ii_clist { ~ }
+        \clist_use:Nn \g_@@_info_supvii_clist { ~ }
         \@@_hskip: \g_@@_info_supvcont_tl
       }
       { 1 em plus 1 fill }
@@ -5610,7 +5610,7 @@ To produce the documentation run the original source files ending with
         \bool_if:NT \l_@@_second_supv_bool
           {
             \@@_quad:
-            \clist_item:Nn \g_@@_info_supv_ii_clist {1}
+            \clist_item:Nn \g_@@_info_supvii_clist {1}
           } \\
     \end{tblr}
   }
@@ -5637,7 +5637,7 @@ To produce the documentation run the original source files ending with
     \ensuremath { \mdwhtsquare } \c_@@_name_secretfree_tl \par
     \ensuremath { \mdwhtsquare } \c_@@_name_secretdate_tl
   }
-%</definition-g>
+%</def-g>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5653,21 +5653,21 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{cover-ug-default}
 % 榛樿鏈鐢熷皝闈㈠疄渚嬨€�
 %    \begin{macrocode}
-%<*definition-ug>
+%<*def-u>
 \@@_declare_page:nn { cover-ug-default }
   {
     element     = { emblem-img, name-img, title, info },
     prefix      = cover / ug /,
     bottom-skip = 0.5 cm plus 1.5 fill
   }
-%</definition-ug>
+%</def-u>
 %    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}{cover-g-front-default}
 % 榛樿鐮旂┒鐢熸櫘閫氬皝闈㈡闈㈠疄渚嬨€�
 %    \begin{macrocode}
-%<*definition-g>
+%<*def-g>
 \@@_declare_page:nn { cover-g-front-default }
   {
     element  = { emblem-img, name-img, type, degree, info, date },
@@ -5725,19 +5725,19 @@ To produce the documentation run the original source files ending with
     top-skip    = 1 cm,
     bottom-skip = 0.5 cm plus 1.5 fill
   }
-%</definition-g>
+%</def-g>
 %    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}{\@@_make_cover:}
 % 鐢熸垚鏈鐢熸垨鐮旂┒鐢熺殑鏅€氬皝闈€€�
 %    \begin{macrocode}
-%<*(definition-ug|definition-g)>
+%<*(def-u|def-g)>
 \cs_new_protected:Npn \@@_make_cover:
   {
-%<definition-ug>    \UseInstance { nju } { cover-ug-default }
-%<definition-g>    \clist_map_inline:nn { front, back, en }
-%<definition-g>      { \UseInstance { nju } { cover-g- ##1 -default } }
+%<def-u>    \UseInstance { nju } { cover-ug-default }
+%<def-g>    \clist_map_inline:nn { front, back, en }
+%<def-g>      { \UseInstance { nju } { cover-g- ##1 -default } }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -5745,8 +5745,8 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{\@@_make_cover_nl:}
 % 鐢熸垚鐮旂┒鐢熺殑鍥藉鍥句功棣嗗皝闈€€�
 %    \begin{macrocode}
-%<definition-g>\cs_new_protected:Npn \@@_make_cover_nl:
-%<definition-g>  { \UseInstance { nju } { cover-nl-default } }
+%<def-g>\cs_new_protected:Npn \@@_make_cover_nl:
+%<def-g>  { \UseInstance { nju } { cover-nl-default } }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5758,26 +5758,26 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_make_origdecl:
   {
-%<definition-ug>    \cleardoublepage
-%<definition-g>    \chapter* { \c_@@_name_origdecl_tl }
+%<def-u>    \cleardoublepage
+%<def-g>    \chapter* { \c_@@_name_origdecl_tl }
     \thispagestyle { empty }
-%<*definition-ug>
+%<*def-u>
     \begin{center}
       \njuemblem{2cm}{!}\\
       {\zihao{-1}\sffamily \c__nju_name_origdecl_tl }
     \end{center}
     \zihao{-3}
     \hspace{2em}
-%</definition-ug>
+%</def-u>
     \c_@@_text_origdecl_tl
     \vfil
     \begin{flushright}
-%<definition-ug>      \clist_map_inline:nn { origsign, id, origdate }
-%<definition-g>      \clist_map_inline:nn { origsign,     origdate }
+%<def-u>      \clist_map_inline:nn { origsign, id, origdate }
+%<def-g>      \clist_map_inline:nn { origsign,     origdate }
         { \@@_vskip: \@@_name:n { ##1 } 锛� \@@_uline:n { 7 em } }
     \end{flushright}
     \vfil
-%<definition-ug>    \normalfont \normalsize
+%<def-u>    \normalfont \normalsize
   }
 %    \end{macrocode}
 % \end{macro}
@@ -5788,10 +5788,10 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_make_authdecl:
   {
-%<definition-ug>    \prg_do_nothing:
-%<definition-g>    \UseInstance { nju } { authdecl-g-default }
+%<def-u>    \prg_do_nothing:
+%<def-g>    \UseInstance { nju } { authdecl-g-default }
   }
-%</(definition-ug|definition-g)>
+%</(def-u|def-g)>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5930,7 +5930,7 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{abstract/title}
 % 涓枃鎽樿鏍囬瀹炰緥銆�
 %    \begin{macrocode}
-%<*(definition-ug|definition-g)>
+%<*(def-u|def-g)>
 \@@_declare_element:nn { abstract / title }
   {
     content     = \@@_abs_title:V \c_@@_name_abstracttitle_tl,
@@ -5945,12 +5945,12 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \@@_declare_element:nn { abstract / info }
   {
-%<definition-ug>    content     = \@@_abs_info_ug:nn { } { 锛� },
-%<definition-g>    content     = \@@_abs_info_g:n       { 锛� },
-%<definition-ug>    format      = \zihao { -4 } \kaishu,
-%<definition-g>    format      = \zihao {  4 } \kaishu,
-%<definition-ug>    bottom-skip = 1 cm,
-%<definition-g>    bottom-skip = 2 cm,
+%<def-u>    content     = \@@_abs_info_ug:nn { } { 锛� },
+%<def-g>    content     = \@@_abs_info_g:n       { 锛� },
+%<def-u>    format      = \zihao { -4 } \kaishu,
+%<def-g>    format      = \zihao {  4 } \kaishu,
+%<def-u>    bottom-skip = 1 cm,
+%<def-g>    bottom-skip = 2 cm,
     align       = l
   }
 %    \end{macrocode}
@@ -5973,15 +5973,15 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \@@_declare_element:nn { abstract / en / info }
   {
-%<definition-ug>    content     = \@@_abs_info_ug:nn { _en } { :~ },
-%<definition-g>    content     = \@@_abs_info_en_g:n        { :~ },
-%<definition-ug>    format      = \zihao { -4 },
-%<definition-g>    format      = \zihao {  4 },
-%<definition-ug>    bottom-skip = 1 cm,
-%<definition-g>    bottom-skip = 2 cm,
+%<def-u>    content     = \@@_abs_info_ug:nn { _en } { :~ },
+%<def-g>    content     = \@@_abs_info_en_g:n        { :~ },
+%<def-u>    format      = \zihao { -4 },
+%<def-g>    format      = \zihao {  4 },
+%<def-u>    bottom-skip = 1 cm,
+%<def-g>    bottom-skip = 2 cm,
     align       = l
   }
-%</(definition-ug|definition-g)>
+%</(def-u|def-g)>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5997,7 +5997,7 @@ To produce the documentation run the original source files ending with
 % \end{arguments}
 % 鏈鐢熸憳瑕侀〉闈笉鍚笅鍒掔嚎锛屽洜鑰屼笉鐢ㄧ‘瀹氭枃鏈搴︼紝缁樺埗鍛戒护杈冧负绠€鍗曘€�
 %    \begin{macrocode}
-%<*definition-ug>
+%<*def-u>
 \cs_new_protected:Npn \@@_abs_info_ug:nn #1#2
   {
 %    \end{macrocode}
@@ -6014,7 +6014,7 @@ To produce the documentation run the original source files ending with
       }
     \@@_name:nn { abslabel #1 } { abstract #1 } #2
   }
-%</definition-ug>
+%</def-u>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6024,7 +6024,7 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{abstract/mark}
 % 鑻辨枃鎽樿鏍囬瀹炰緥銆�
 %    \begin{macrocode}
-%<*definition-g>
+%<*def-g>
 \@@_declare_element:nn { abstract / mark }
   {
     content     = \c_@@_name_abstract_b_tl,
@@ -6105,7 +6105,7 @@ To produce the documentation run the original source files ending with
           { ##1 _en } { ##1 _en } { #1 } \par
       }
   }
-%</definition-g>
+%</def-g>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6158,20 +6158,20 @@ To produce the documentation run the original source files ending with
 % \begin{macro}{\@@_make_abstract:,\@@_make_abstract_en:}
 % 缁樺埗鎽樿椤甸潰銆�
 %    \begin{macrocode}
-%<*(definition-ug|definition-g)>
+%<*(def-u|def-g)>
 \cs_new_protected:Npn \@@_make_abstract:
   {
     \UseInstance { nju } { abstract / title }
     \UseInstance { nju } { abstract / info  }
-%<definition-g>    \UseInstance { nju } { abstract / mark  }
+%<def-g>    \UseInstance { nju } { abstract / mark  }
   }
 \cs_new_protected:Npn \@@_make_abstract_en:
   {
     \UseInstance { nju } { abstract / en / title }
     \UseInstance { nju } { abstract / en / info  }
-%<definition-g>    \UseInstance { nju } { abstract / en / mark  }
+%<def-g>    \UseInstance { nju } { abstract / en / mark  }
   }
-%</(definition-ug|definition-g)>
+%</(def-u|def-g)>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6401,29 +6401,118 @@ To produce the documentation run the original source files ending with
 %
 % \subsubsection{鍚嶇О}
 % \label{subsubsec:constant-name}
-% ^^A TODO: 灏嗘墍鏈夊悕绉板悎骞跺悗浣跨敤 guard 杩涜鏈鐢�/鐮旂┒鐢熺殑鍖哄垎
-% ^^A TODO: supv -> supvi, supv_ii -> supvii
+%
+% \changes{v0.19}{2022/05/22}{鏇存鐮旂┒鐢熸櫘閫氬皝闈笓涓氬瓧鏍枫€倉
+% \changes{v0.19}{2022/05/22}{鏇存鍥藉鍥句功棣嗗皝闈㈠浣嶈鏂囧瓧鏍枫€倉
+% \changes{v1.0}{2022/06/19}{鍚堝苟鍚嶇О甯搁噺鐨勫畾涔変綅缃€倉
+% \changes{v1.0}{2022/06/19}{鏇村悕锛歴upv_ii -> supvii锛宻upv_ttl -> supvtitle銆倉
 %
 % 鐢变簬鍚屼竴鍚嶇О鍦ㄤ笉鍚屼綅缃叿鏈変笉鍚屽彉浣擄紝鏈ā鏉夸娇鐢ㄥ瓧姣嶅悗缂€鍚嶈繘琛屼簡鍖哄垎锛�
 % 骞跺湪鏄撴贩娣嗗娣诲姞浜嗘敞閲娿€�
 %
 % 閫氱敤榛樿鍚嶇О銆傛敞鎰忕┖鏍兼槸蹇界暐鎺夌殑銆�
 %    \begin{macrocode}
-%<*(definition-ug|definition-g)>
+%<*(def-u|def-g)>
 \clist_map_inline:nn
   {
-    { acknowledgement } { 鑷� \qquad{} 璋�                },
-    { tableofcontents } { 鐩� \qquad{} 褰�                },
-    { id              } { 瀛﹀彿                          },
-    { listoffigures   } { 鎻掑浘鐩綍                      },
-    { listoftables    } { 琛ㄦ牸鐩綍                      },
-    { notation        } { 绗﹀彿琛�                        },
-    { origdate        } { 鏃ユ湡                          },
-    { paperlist       } { 鍙戣〃鏂囩珷鐩綍                  },
-    { pdfcreator      } { LaTeX~ with~ njuthesis~ class },
-    { preface         } { 鍓� \qquad{} 瑷€                },
-    { supv_ii         } { 绗簩瀵煎笀                      },
-    { supv_ttl        } { 鑱岀О                          }
+    { acknowledgement } { 鑷� \qquad{} 璋�                     },
+%<def-g>    { apply           } {锛堢敵璇� \g_@@_info_degree_tl 瀛︿綅锛墋,
+%    \end{macrocode}
+% 鐢ㄤ簬鎽樿鐨勪綔鑰呭悕绉板瓧鏍�
+%    \begin{macrocode}
+%<def-u>    { author_a        } { 鏈鐢熷鍚�                         },
+%<def-g>    { author_a        }
+%<def-g>      { \tl_item:Nn \g_@@_info_degree_tl { 1 } 澹敓濮撳悕    },
+%<def-g>    { authsign        } { 浣滆€呯鍚嶏細\njuline{\hspace{6em}}   },
+%<def-g>    { chairman        } { 绛旇京濮斿憳浼氫富甯細                   },
+%<def-g>    { clc             } { 鍒嗙被鍙�                             },
+%<def-g>    { confer          } { 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈�                 },
+%<def-g>    { defenddate      } { 璁烘枃绛旇京鏃ユ湡                       },
+%<def-g>    { degree          } { 鐢宠瀛︿綅绾у埆                       },
+%    \end{macrocode}
+% 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑瀛︿綅鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { degree_a        } { 璁烘枃绾у埆                           },
+%    \end{macrocode}
+% 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑闄㈢郴鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { dept_a          } { 鎵€鍦ㄩ櫌绯�                           },
+%<def-g>    { email           } { 浣滆€� Email                         },
+%<def-g>    { field           } { 鐮旂┒鏂瑰悜                           },
+%<def-g>    { g               } { 鐮旂┒鐢�                             },
+%<def-u>    { grade           } { 骞寸骇                               },
+%<def-g>    { grade           } { 绾�                                 },
+    { id              } { 瀛﹀彿                               },
+%    \end{macrocode}
+% 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑瀛﹀彿鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { id_a            } { \c_@@_name_g_tl 瀛﹀彿             },
+    { listoffigures   } { 鎻掑浘鐩綍                           },
+    { listoftables    } { 琛ㄦ牸鐩綍                           },
+%    \end{macrocode}
+% 鐢ㄤ簬鎽樿鐨勪笓涓氬悕绉板瓧鏍�
+%    \begin{macrocode}
+%<def-g>    { major_a         } { 涓撲笟                               },
+%    \end{macrocode}
+% 鐢ㄤ簬鍥藉鍥句功棣嗗皝闈㈢殑涓撲笟鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { major_b         } { 涓撲笟鍚嶇О                           },
+    { notation        } { 绗﹀彿琛�                             },
+    { origdate        } { 鏃ユ湡                               },
+    { origdecl        } { \c_@@_name_nju_tl
+%<def-u>                    鏈姣曚笟璁烘枃锛堣璁★級 \\ 璇氫俊鎵胯涔�       },
+%<def-g>                          瀛︿綅璁烘枃鍘熷垱鎬у0鏄�                 },
+%<def-u>    { origsign        } { 浣滆€呯鍚�                           },
+%<def-g>    { origsign        } { 鐮旂┒鐢熺鍚�                         },
+    { paperlist       } { 鍙戣〃鏂囩珷鐩綍                       },
+    { pdfcreator      } { LaTeX~ with~ njuthesis~ class      },
+    { preface         } { 鍓� \qquad{} 瑷€                     },
+%<def-g>    { reviewer        } { 璇勯槄浜猴細                           },
+%<def-g>    { secretlv        } { 瀵嗙骇                               },
+%<def-g>    { secretstatus    } { 璁烘枃娑夊瘑鎯呭喌锛�                     },
+%<def-g>    { secretfree      } { 涓嶄繚瀵�                             },
+%<def-g>    { secretdate      }
+%<def-g>      { 淇濆瘑锛屼繚瀵嗘湡锛� \c_@@_name_blankdate_a_tl 鑷�
+%<def-g>                       \c_@@_name_blankdate_a_tl 锛�        },
+%<def-g>    { sign            } { 锛堢瀛楋級                           },
+%<def-u>    { submitdate      } { 鎻愪氦鏃ユ湡                           },
+%<def-g>    { submitdate      } { 璁烘枃鎻愪氦鏃ユ湡                       },
+%<def-g>    { subtitle        } { 锛堥鍚嶅拰鍓鍚嶏級                   },
+%<def-u>    { supv            } { 鎸囧鏁欏笀                           },
+%<def-g>    { supv            } { 瀵煎笀                               },
+%    \end{macrocode}
+% 鐢ㄤ簬鎽樿鐨勫甯堝悕绉板瓧鏍�
+%    \begin{macrocode}
+%<def-g>    { supv_a          } { 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級             },
+%    \end{macrocode}
+% 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑瀵煎笀鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { supv_b          } { 瀵煎笀濮撳悕                           },
+%<def-g>    { supvinfo        }
+%<def-g>      { 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃       },
+    { supvii         } { 绗簩瀵煎笀                           },
+    { supvtitle      } { 鑱岀О                               },
+    { tableofcontents } { 鐩� \qquad{} 褰�                     },
+%    \end{macrocode}
+% 鐢ㄤ簬鏅€氬皝闈㈢殑鏍囬鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { title        } { 璁烘枃棰樼洰                              },
+%    \end{macrocode}
+% 鐢ㄤ簬鎽樿鐨勬爣棰樺悕绉板瓧鏍�
+%    \begin{macrocode}
+%<def-g>    { title_a      } { 棰樼洰                                  },
+%    \end{macrocode}
+% 鐢ㄤ簬鍥藉鍥句功棣嗗皝闈㈢殑鏍囬鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { title_b      } { 瀛︿綅璁烘枃                              },
+%    \end{macrocode}
+% 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑鏍囬鍚嶇О瀛楁牱
+%    \begin{macrocode}
+%<def-g>    { title_c      } { 璁烘枃棰樺悕                              },
+%<def-u>    { type         } { 鏈鐢熸瘯涓氳鏂囷紙璁捐銆佷綔鍝侊級          },
+%<def-g>    { udc          } { U D C                                 },
+%<def-u>    { ug           } { 鏈                                  }
+%<def-g>    { year         } { 瀛︿綅骞村害                              }
   }
   { \@@_define_name:nn #1 }
 %    \end{macrocode}
@@ -6432,145 +6521,55 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \clist_map_inline:nn
   {
-    { abstract   } { 鎽樿       } { ABSTRACT            },
-    % 鐢ㄤ簬涔︾鐨勬憳瑕佸悕绉板瓧鏍�
-    { abstract_a } { 涓枃鎽樿   } { ABSTRACT            },
-    % 鐢ㄤ簬灏忔爣棰樼殑鎽樿鍚嶇О瀛楁牱
-    { abstract_b } { 鎽榎qquad{}瑕� } { ABSTRACT          },
-    { appendix   } { 闄勫綍       } { appendix            },
-    { blankdate  } { \qquad{}骞� \quad{}鏈� \quad{}鏃� } { },
-    { blankdate_a  } { \njuline{\qquad\qquad} 骞�
-            \njuline{\qquad} 鏈� \njuline{\qquad} 鏃� } { },
-    { comma      } { 锛�         } { : \c_space_tl       },
-    { dept       } { 闄㈢郴       } { DEPARTMENT          },
-    { figure     } { 鍥�         } { figure              },
-    { keywords   } { 鍏抽敭璇�     } { KEYWORDS            },
-    { lang       } { 涓枃       } { 鑻辨枃                },
-    { nju        } { 鍗椾含澶у   } { Nanjing~ University },
-    { table      } { 琛�         } { table               }
-  }
-  { \@@_define_name:nnn #1 }
+    { abstract      } { 鎽樿          } { ABSTRACT                },
 %    \end{macrocode}
-%
-% 鏈鐢熸ā鏉块粯璁ゅ悕绉般€�
+% 鐢ㄤ簬涔︾鐨勬憳瑕佸悕绉板瓧鏍�
 %    \begin{macrocode}
-%<*definition-ug>
-\clist_map_inline:nn
-  {
-    % 鐢ㄤ簬鎽樿鐨勪綔鑰呭悕绉板瓧鏍�
-    { author_a    } { 鏈鐢熷鍚�                     },
-    { grade       } { 骞寸骇                           },
-    { origdecl    } { \c_@@_name_nju_tl
-                  鏈姣曚笟璁烘枃锛堣璁★級 \\ 璇氫俊鎵胯涔� },
-    { origsign    } { 浣滆€呯鍚�                       },
-    { submitdate  } { 鎻愪氦鏃ユ湡                       },
-    { supv        } { 鎸囧鏁欏笀                       },
-    { type        } { 鏈鐢熸瘯涓氳鏂囷紙璁捐銆佷綔鍝侊級   },
-    { ug          } { 鏈                           }
-  }
-  { \@@_define_name:nn #1 }
-\clist_map_inline:nn
-  {
-    { abstracttitle }
-      {
-        \c_@@_name_nju_tl  \c_@@_name_type_tl
-        \c_@@_name_lang_tl \c_@@_name_abstract_tl
-      }
-      {
-        \c_@@_name_nju_tl     \c_@@_name_type_tl
-        \c_@@_name_lang_en_tl \c_@@_name_abstract_tl
-      },
-    { author    } { 瀛︾敓濮撳悕               } { UNDERGRADUATE  },
-    { major     } { 涓撲笟                   } { SPECIALIZATION },
-    { supvfull  } { 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級 } { MENTOR         },
-    { title     } { 棰樼洰                   } { \clist_item:Nn
-             \c_@@_name_type_en_clist { \g_@@_info_type_int } }
-  }
-  { \@@_define_name:nnn #1 }
-%</definition-ug>
+    { abstract_a    } { 涓枃鎽樿      } { ABSTRACT                },
 %    \end{macrocode}
-%
-% \changes{v0.19}{2022/05/22}{鏇存鐮旂┒鐢熸櫘閫氬皝闈笓涓氬瓧鏍枫€倉
-% \changes{v0.19}{2022/05/22}{鏇存鍥藉鍥句功棣嗗皝闈㈠浣嶈鏂囧瓧鏍枫€倉
-% 鐮旂┒鐢熸ā鏉块粯璁ゅ悕绉般€�
+% 鐢ㄤ簬灏忔爣棰樼殑鎽樿鍚嶇О瀛楁牱
 %    \begin{macrocode}
-%<*definition-g>
-\clist_map_inline:nn
-  {
-    { apply        } {锛堢敵璇� \g_@@_info_degree_tl 瀛︿綅锛墋,
-    { authdecl     } { 瀛︿綅璁烘枃鍑虹増鎺堟潈涔�               },
-    { author_a     }
-      { \tl_item:Nn \g_@@_info_degree_tl { 1 } 澹敓濮撳悕 },
-    { authsign     } { 浣滆€呯鍚嶏細\njuline{\hspace{6em}} },
-    % 鐢ㄤ簬鎽樿鐨勪綔鑰呭悕绉板瓧鏍�
-    { chairman     } { 绛旇京濮斿憳浼氫富甯細                 },
-    { clc          } { 鍒嗙被鍙�                           },
-    { confer       } { 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈�               },
-    { defenddate   } { 璁烘枃绛旇京鏃ユ湡                     },
-    { degree       } { 鐢宠瀛︿綅绾у埆                     },
-    % 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑瀛︿綅鍚嶇О瀛楁牱
-    { degree_a     } { 璁烘枃绾у埆                         },
-    % 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑闄㈢郴鍚嶇О瀛楁牱
-    { dept_a       } { 鎵€鍦ㄩ櫌绯�                         },
-    { email        } { 浣滆€� Email                       },
-    { field        } { 鐮旂┒鏂瑰悜                         },
-    { g            } { 鐮旂┒鐢�                           },
-    { grade        } { 绾�                               },
-    % 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑瀛﹀彿鍚嶇О瀛楁牱
-    { id_a         } { 鐮旂┒鐢熷鍙�                       },
-    % 鐢ㄤ簬鎽樿鐨勪笓涓氬悕绉板瓧鏍�
-    { major_a      } { 涓撲笟                             },
-    % 鐢ㄤ簬鍥藉鍥句功棣嗗皝闈㈢殑涓撲笟鍚嶇О瀛楁牱
-    { major_b      } { 涓撲笟鍚嶇О                         },
-    { origdecl     }
-      { \c_@@_name_nju_tl 瀛︿綅璁烘枃鍘熷垱鎬у0鏄�            },
-    { origsign     } { 鐮旂┒鐢熺鍚�                       },
-    { reviewer     } { 璇勯槄浜猴細                         },
-    { secretlv     } { 瀵嗙骇                             },
-    { secretstatus } { 璁烘枃娑夊瘑鎯呭喌锛�                   },
-    { secretfree   } { 涓嶄繚瀵�                           },
-    { secretdate   }
-      { 淇濆瘑锛屼繚瀵嗘湡锛� \c_@@_name_blankdate_a_tl 鑷�
-                       \c_@@_name_blankdate_a_tl 锛�     },
-    { sign         } { 锛堢瀛楋級                         },
-    { submitdate   } { 璁烘枃鎻愪氦鏃ユ湡                     },
-    { subtitle     } { 锛堥鍚嶅拰鍓鍚嶏級                 },
-    { supv         } { 瀵煎笀                             },
-    % 鐢ㄤ簬鎽樿鐨勫甯堝悕绉板瓧鏍�
-    { supv_a       } { 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級           },
-    % 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑瀵煎笀鍚嶇О瀛楁牱
-    { supv_b       } { 瀵煎笀濮撳悕                         },
-    { supvinfo     }
-      { 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃  },
-    % 鐢ㄤ簬鏅€氬皝闈㈢殑鏍囬鍚嶇О瀛楁牱
-    { title        } { 璁烘枃棰樼洰                         },
-    % 鐢ㄤ簬鎽樿鐨勬爣棰樺悕绉板瓧鏍�
-    { title_a      } { 棰樼洰                             },
-    % 鐢ㄤ簬鍥藉鍥句功棣嗗皝闈㈢殑鏍囬鍚嶇О瀛楁牱
-    { title_b      } { 瀛︿綅璁烘枃                         },
-    % 鐢ㄤ簬鍑虹増鎺堟潈涔︾殑鏍囬鍚嶇О瀛楁牱
-    { title_c      } { 璁烘枃棰樺悕                         },
-    { udc          } { U D C                            },
-    { year         } { 瀛︿綅骞村害                         }
-  }
-  { \@@_define_name:nn #1 }
-\clist_map_inline:nn
-  {
+    { abstract_b    } { 鎽榎qquad{}瑕�  } { ABSTRACT                },
     { abstracttitle }
-      { \c_@@_name_nju_tl \g_@@_info_type_tl 涓枃鎽樿棣栭〉鐢ㄧ焊 }
-      { \c_@@_name_nju_tl \g_@@_info_type_tl 鑻辨枃鎽樿棣栭〉鐢ㄧ焊 },
-    { author    } { 浣滆€呭鍚� } { POSTGRADUATE   },
-    { major     } { 涓撲笟鍚嶇О } { SPECIALIZATION },
-    { supvfull  } { 鎸囧鏁欏笀 } { MENTOR         }
+%<def-u>      {
+%<def-u>        \c_@@_name_nju_tl  \c_@@_name_type_tl
+%<def-u>        \c_@@_name_lang_tl \c_@@_name_abstract_tl
+%<def-u>      }
+%<def-u>      {
+%<def-u>        \c_@@_name_nju_tl     \c_@@_name_type_tl
+%<def-u>        \c_@@_name_lang_en_tl \c_@@_name_abstract_tl
+%<def-u>      },
+%<def-g>      { \c_@@_name_nju_tl \g_@@_info_type_tl 涓枃鎽樿棣栭〉鐢ㄧ焊 }
+%<def-g>      { \c_@@_name_nju_tl \g_@@_info_type_tl 鑻辨枃鎽樿棣栭〉鐢ㄧ焊 },
+    { appendix      } { 闄勫綍          } { appendix                },
+%<def-u>    { author        } { 瀛︾敓濮撳悕      } { UNDERGRADUATE           },
+%<def-g>    { author        } { 浣滆€呭鍚�      } { POSTGRADUATE            },
+    { blankdate     } { \qquad{}骞� \quad{}鏈� \quad{}鏃� } {        },
+    { blankdate_a   } { \njuline{\qquad\qquad} 骞�
+            \njuline{\qquad} 鏈� \njuline{\qquad} 鏃� } {           },
+    { comma         } { 锛�            } { : \c_space_tl           },
+    { dept          } { 闄㈢郴          } { DEPARTMENT              },
+    { figure        } { 鍥�            } { figure                  },
+    { keywords      } { 鍏抽敭璇�        } { KEYWORDS                },
+    { lang          } { 涓枃          } { 鑻辨枃                    },
+%<def-u>    { major         } { 涓撲笟          } { SPECIALIZATION          },
+%<def-g>    { major         } { 涓撲笟鍚嶇О      } { SPECIALIZATION          },
+    { nju           } { 鍗椾含澶у      } { Nanjing~ University     },
+%<def-u>    { supvfull      } { 鎸囧鏁欏笀锛堝鍚嶃€佽亴绉帮級 } { MENTOR         },
+%<def-g>    { supvfull      } { 鎸囧鏁欏笀      } { MENTOR                  },
+    { table         } { 琛�            } { table                   },
+%<def-u>    { title         } { 棰樼洰          } { \clist_item:Nn
+%<def-u>             \c_@@_name_type_en_clist { \g_@@_info_type_int } }
   }
   { \@@_define_name:nnn #1 }
 %    \end{macrocode}
 %
 % 瀵逛笓涓氱澹殑灏侀潰鏉$洰杩涜涓存椂淇敼銆�
 %    \begin{macrocode}
+%<*def-g>
 \int_compare:nT { \g_@@_info_degree_int == 3 }
   { \njusetname{major}{涓撲笟瀛︿綅绫诲埆(棰嗗煙)} }
-%</definition-g>
+%</def-g>
 %    \end{macrocode}
 %
 % \subsubsection{鏂囨湰}
@@ -6581,20 +6580,20 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \tl_const:Nn \c_@@_text_origdecl_tl
   {
-%<*definition-ug>
+%<*def-u>
     鏈汉閮戦噸鎵胯锛氭墍鍛堜氦鐨勬瘯涓氳鏂囷紙璁捐锛夛紙棰樼洰锛� \g_@@_info_title_tl 锛�
     鏄湪鎸囧鏁欏笀鐨勬寚瀵间笅涓ユ牸鎸夌収瀛︽牎鍜岄櫌绯绘湁鍏宠瀹氱敱鏈汉鐙珛瀹屾垚鐨勩€�
     鏈瘯涓氳鏂囷紙璁捐锛変腑寮曠敤浠栦汉瑙傜偣鍙婂弬鑰冭祫婧愮殑鍐呭鍧囧凡鏍囨敞寮曠敤锛�
     濡傚嚭鐜颁镜鐘粬浜虹煡璇嗕骇鏉冪殑琛屼负锛岀敱鏈汉鎵挎媴鐩稿簲娉曞緥璐d换銆�
     鏈汉鎵胯涓嶅瓨鍦ㄦ妱琚€佷吉閫犮€佺鏀广€佷唬鍐欍€佷拱鍗栨瘯涓氳鏂囷紙璁捐锛夌瓑杩濈邯琛屼负銆�
-%</definition-ug>
-%<*definition-g>
+%</def-u>
+%<*def-g>
     鏈汉閮戦噸澹版槑锛屾墍鎻愪氦鐨勫浣嶈鏂囨槸鏈汉鍦ㄥ甯堟寚瀵间笅鐙珛杩涜绉戝鐮旂┒宸ヤ綔鎵€
     鍙栧緱鐨勬垚鏋溿€傞櫎鏈鏂囦腑宸茬粡娉ㄦ槑寮曠敤鐨勫唴瀹瑰锛屾湰璁烘枃涓嶅寘鍚叾浠栦釜浜烘垨闆嗕綋
     宸茬粡鍙戣〃鎴栨挵鍐欒繃鐨勭爺绌舵垚鏋滐紝涔熶笉鍖呭惈涓鸿幏寰� \c_@@_name_nju_tl 鎴栧叾浠栨暀
     鑲叉満鏋勭殑瀛︿綅璇佷功鑰屼娇鐢ㄨ繃鐨勬潗鏂欍€傚鏈枃鐨勭爺绌跺仛鍑洪噸瑕佽础鐚殑涓汉鍜岄泦浣擄紝
     鍧囧凡鍦ㄨ鏂囩殑鑷磋阿閮ㄥ垎鏄庣‘鏍囨槑銆傛湰浜洪儜閲嶇敵鏄庢効鎵挎媴鏈0鏄庣殑娉曞緥璐d换銆�
-%</definition-g>
+%</def-g>
   }
 %    \end{macrocode}
 % \end{variable}
@@ -6602,7 +6601,7 @@ To produce the documentation run the original source files ending with
 % \begin{variable}{\c_@@_text_authdecl_tl}
 % 鐮旂┒鐢熺殑瀛︿綅璁烘枃鍑虹増鎺堟潈涔︺€�
 %    \begin{macrocode}
-%<*definition-g>
+%<*def-g>
 \tl_const:Nn \c_@@_text_authdecl_tl
   {
     鏈汉瀹屽叏鍚屾剰銆婁腑鍥戒紭绉€鍗氱澹浣嶈鏂囧叏鏂囨暟鎹簱鍑虹増绔犵▼銆�
@@ -6626,7 +6625,7 @@ To produce the documentation run the original source files ending with
     the~ graduate~ school~ of~ \c_@@_name_nju_en_tl \\
     in~ partial~ fulfilment~ of~ the~ requirements~ for~ the~ degree~ of
   }
-%</definition-g>
+%</def-g>
 %    \end{macrocode}
 % \end{variable}
 %
@@ -6656,15 +6655,15 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \clist_map_inline:nn
   {
-%<definition-ug>    { coverlabel    } { 68   pt },
-%<definition-g>    { coverlabel    } { 100  pt },
+%<def-u>    { coverlabel    } { 68   pt },
+%<def-g>    { coverlabel    } { 100  pt },
     { coverlineskip } { 40   pt },
     { coveruline    } { 270  pt },
-%<definition-ug>    { emblemwidth   } { 68   pt },
-%<definition-g>    { emblemwidthi  } { 46   pt },
-%<definition-g>    { emblemwidthii } { 61   pt },
-%<definition-ug>    { namewidth     } { 300  pt },
-%<definition-g>    { namewidth     } { 126  pt },
+%<def-u>    { emblemwidth   } { 68   pt },
+%<def-g>    { emblemwidthi  } { 46   pt },
+%<def-g>    { emblemwidthii } { 61   pt },
+%<def-u>    { namewidth     } { 300  pt },
+%<def-g>    { namewidth     } { 126  pt },
     { ulinewidthi   } { .4   pt },
     { ulinewidthii  } { .8   pt },
     { ulineshifti   } { -.5  ex },
@@ -6685,25 +6684,25 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \clist_map_inline:nn
   {
-%<definition-ug>    { pagestyle     } { plain                             },
-%<definition-g>    { pagestyle     } { headings                          },
+%<def-u>    { pagestyle     } { plain                             },
+%<def-g>    { pagestyle     } { headings                          },
     { abslabel      } { \bfseries                         },
     { abslabel_en   } {                                   },
     { emblemcolor   } { black                             },
     { namecolor     } { black                             },
     { section       } { \large \normalfont \sffamily      },
-    { chapter       } { \c_@@_fmt_section_tl \centering   },
-    { chapterintoc  } { \c_@@_fmt_section_tl              },
-    { subsection    } { \c_@@_fmt_section_tl              },
-    { subsubsection } { \c_@@_fmt_section_tl              },
-    { paragraph     } { \c_@@_fmt_section_tl              },
-    { subparagraph  } { \c_@@_fmt_section_tl              },
+    { chapter       } { \c_@@_fmt_section_tl \centering },
+    { chapterintoc  } { \c_@@_fmt_section_tl            },
+    { subsection    } { \c_@@_fmt_section_tl            },
+    { subsubsection } { \c_@@_fmt_section_tl            },
+    { paragraph     } { \c_@@_fmt_section_tl            },
+    { subparagraph  } { \c_@@_fmt_section_tl            },
     { toctitle      } { \centering \zihao { 3 } \bfseries },
     { header        } { \small \kaishu                    },
     { footer        } { \small \rmfamily                  }
   }
   { \@@_define_fmt:nn #1 }
-%</(definition-ug|definition-g)>
+%</(def-u|def-g)>
 %    \end{macrocode}
 %
 % \end{implementation}