diff --git a/source/njuthesis.dtx b/source/njuthesis.dtx
index 6e3b6faf8831612243475c8129036ae140e8e1f2..9c2c84d07e23371a28d6ee6070a1d1bc5f3f98fa 100644
--- a/source/njuthesis.dtx
+++ b/source/njuthesis.dtx
@@ -1458,25 +1458,43 @@ To produce the documentation run the original source files ending with
 % 濡傛灉鏄洸瀹★紝濉叆鈥滅洸瀹♀€濅簩瀛楀嵆鍙€�
 % \end{function}
 %
-% \begin{function}[updated=2021-10-01]{info/clc,info/secret-level,
-%   info/udc,info/supervisor-contact}
+% \begin{function}[updated=2021-10-01]{info/clc,info/udc}
 %   \begin{syntax}
 %     \OPT{clc} = \Arg{涓浗鍥句功鍒嗙被鍙穧
 %     \OPT{udc} = \Arg{鍥介檯鍥句功鍒嗙被鍙穧
 %     \OPT{secret-level} = <涓嶆秹瀵唡绉樺瘑|鏈哄瘑|缁濆瘑>
 %     \OPT{supervisor-contact} = \Arg{瀵煎笀鑱旂郴鏂瑰紡}
 %   \end{syntax}
-% 鍥藉鍥句功棣嗗皝闈㈢浉鍏筹紝鍖呮嫭\href{http://www.ztflh.com/}{涓浗鍥句功鍒嗙被鍙穧銆�
-% \href{http://www.udcsummary.info/php/index.php?lang=chi&pr=Y}{鍥介檯鍥句功鍒嗙被鍙穧銆�
-% 瀵嗙骇鍜屽甯堣仈绯绘柟寮忋€�
+% 鐮旂┒鐢熷浣嶈鏂囧皝闈笂鐨刓href{http://www.ztflh.com/}{涓浗鍥句功鍒嗙被鍙穧鍜孿ignorespaces
+% \href{http://www.udcsummary.info/php/index.php?lang=chi&pr=Y}{鍥介檯鍥句功鍒嗙被鍙穧銆�
 % \end{function}
 %
-% \begin{function}[added=2023-04-24]{info/degree,info/degree*}
+% \begin{function}[updated=2021-10-01]{info/secret-level}
+%   \begin{syntax}
+%     \OPT{secret-level} = <涓嶆秹瀵唡绉樺瘑|鏈哄瘑|缁濆瘑>
+%   \end{syntax}
+% 鐮旂┒鐢熷浣嶈鏂囧皝闈笂鐨勫瘑绾с€�
+% \end{function}
+%
+% \begin{function}[updated=2021-10-01]{info/supervisor-contact}
+%   \begin{syntax}
+%     \OPT{supervisor-contact} = \Arg{瀵煎笀鑱旂郴鏂瑰紡}
+%   \end{syntax}
+% 鍥藉鍥句功棣嗗皝闈笂鐨勫甯堣仈绯绘柟寮忋€�
+% \end{function}
+%
+% \begin{function}[added=2023-04-29]{info/school-code}
+%   \begin{syntax}
+%     \OPT{school-code} = \Arg{10284}
+%   \end{syntax}
+% 鐮旂┒鐢熷浣嶈鏂囧皝闈笂鐨勫鏍′唬鐮併€俓CJKsout{浣犱笉浼氱湡鐨勬兂鏀硅繖涓惂锛焳
+% \end{function}
+%
+% \begin{function}[added=2023-04-24]{info/degree*}
 %   \begin{syntax}
-%     \OPT{degree}  = \Arg{涓枃瀛︿綅鍚峿
 %     \OPT{degree*} = \Arg{鑻辨枃瀛︿綅鍚峿
 %   \end{syntax}
-% 鐮旂┒鐢熶腑鑻辨枃灏侀潰涓婄殑瀛︿綅鍚嶇О銆傞粯璁や細鐢辨ā鏉块€氳繃 \opt{degree} 鍜� \opt{type}
+% 鐮旂┒鐢熻嫳鏂囧皝闈笂鐨勫浣嶅悕绉般€傞粯璁や細鐢辨ā鏉块€氳繃 \opt{degree} 鍜� \opt{type}
 % 鏂囨。绫婚€夐」鐢熸垚锛屼篃鍙互鐢辨湰閫夐」鑷畾涔夊悕绉般€�
 % \end{function}
 %
@@ -3173,33 +3191,32 @@ To produce the documentation run the original source files ending with
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_box_multiline:NNNN}
-% 澶氳鍥哄畾闀垮害鐨勪笅鍒掔嚎鍐呭锛岀敤浜庡浗瀹跺浘涔﹂灏侀潰銆�
+% \begin{macro}{\@@_box_multiline:NNNn,\@@_box_multiline:NNn}
+% 澶氳鍥哄畾闀垮害鐨勪笅鍒掔嚎鍐呭銆�
 % \begin{arguments}
-%   \item 鐢ㄤ簬寰幆鐨� |int| 鍨嬪彉閲�
 %   \item 鐢ㄤ簬瀛樺偍鏉$洰鏁伴噺鐨� |int| 鍨嬪彉閲�
 %   \item 鍐呭锛寍clist| 鍨嬪彉閲�
 %   \item 瀹藉害锛寍dim| 鍨嬪彉閲�
+%   \item 鏉$洰鏁伴噺
 % \end{arguments}
 % 榛樿缁樺埗 4 鏉′笅鍒掔嚎銆傚湪璇勯槄鑰呬汉鏁拌秴杩� 4 浜烘椂娣诲姞棰濆鐨勬潯鐩€�
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_box_multiline:NNNN #1#2#3#4
+\cs_new_protected:Npn \@@_box_multiline:NNNn #1#2#3#4
   {
-    \int_set:Nn #1 { 1 }
-    \int_set:Nn #2 { \int_max:nn { \clist_count:N #3 } { 4 } }
-    \int_do_until:nn { #1 > #2 }
+    \int_set:Nn #1 { \int_max:nn { \clist_count:N #2 } { #4 } }
+    \int_step_inline:nn { #1 }
       {
-        \clist_pop:NN #3 \l_@@_tmpa_tl
+        \clist_pop:NN #2 \l_@@_tmpa_tl
 %    \end{macrocode}
 % \changes{v1.1}{2022/11/29}{淇绌鸿繑鍥炲€煎湪鍥藉鍥句功棣嗗皝闈㈠紩鍙戠殑姝诲惊鐜€倉
 % 闃叉绌虹殑杩斿洖鍊煎紩鍙戞寰幆銆�
 %    \begin{macrocode}
         \quark_if_no_value:NT \l__nju_tmpa_tl
           { \tl_set_eq:NN \l_@@_tmpa_tl \c_empty_tl }
-        \@@_box_ulined:NN #4 \l_@@_tmpa_tl \tex_par:D
-        \int_incr:N #1
+        \@@_box_ulined:NN #3 \l_@@_tmpa_tl \tex_par:D
       }
   }
+\cs_new:Npn \@@_box_multiline:NNn { \@@_box_multiline:NNNn \l_@@_tmpa_int }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -4660,27 +4677,26 @@ To produce the documentation run the original source files ending with
 % \end{macro}
 %
 % \begin{macro}{info/email}
-% \changes{v0.14}{2022/01/12}{鏂板鐢甸偖鍦板潃淇℃伅椤广€倉
+% \changes{v0.14}{2022/01/12}{鏂板鐢甸偖鍦板潃璁剧疆椤广€倉
 % 鐢ㄤ簬瀛︿綅璁烘枃鍑虹増鎺堟潈涔︾殑鐢靛瓙閭欢鍦板潃銆�
 %    \begin{macrocode}
     email               .tl_set:N = \g_@@_info_email_tl             ,
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{info/defend-date}
-% \changes{v0.14}{2022/01/14}{绮剧畝绛旇京鏃ユ湡閫夐」銆倉
+% \begin{macro}{info/school-code}
+% \changes{v1.2}{2022/04/29}{鏂板瀛︽牎浠g爜璁剧疆椤广€倉
 % 绛旇京鏃ユ湡銆�
 %    \begin{macrocode}
-    school-code         .tl_set:N = \g_@@_info_code_tl    ,
-    school-code        .initial:n = { 10284 }                 ,
+    school-code         .tl_set:N = \g_@@_info_code_tl              ,
+    school-code        .initial:n = { 10284 }                       ,
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{info/degree,info/degree*}
+% \begin{macro}{info/degree*}
 % \changes{v1.2}{2023/04/24}{鏂板瀛︿綅鍚嶇О璁剧疆椤广€倉
 % 瑕嗙洊棰勫畾涔夌殑瀛︿綅瀛楁銆�
 %    \begin{macrocode}
-    degree              .tl_set:N = \g_@@_info_degree_tl            ,
     degree*             .tl_set:N = \g_@@_info_degree_en_tl
   }
 %    \end{macrocode}
@@ -4781,16 +4797,6 @@ To produce the documentation run the original source files ending with
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{variable}{\g_@@_info_degree_tl}
-% 瀛︿綅绫诲瀷瀛楁牱銆�
-%    \begin{macrocode}
-\tl_new:N     \g_@@_info_degree_tl
-\tl_set_eq:NN \g_@@_info_degree_tl \g_@@_info_type_tl
-\bool_if:NF \g_@@_opt_academic_bool
-  { \tl_put_right:Nn \g_@@_info_degree_tl { 涓撲笟 } }
-%    \end{macrocode}
-% \end{variable}
-%
 % \begin{variable}{\g_@@_info_degree_en_tl}
 % 鑻辨枃鐨勫浣嶅瓧鏍枫€�
 %    \begin{macrocode}
@@ -6736,31 +6742,71 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \@@_declare_element:nn { g / cover-back / info }
   {
-    content =
-      \@@_g_cover_back:NN
-        \c_@@_clabelwd_dim
-        \c_@@_fmt_coverlabel_tl,
+    content     = \@@_g_cover_back:,
+    bottom-skip = 8.1 cm
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{g/cover-back/sign}
+% 鐮旂┒鐢熷皝闈㈣儗闈俊鎭疄渚嬨€�
+%    \begin{macrocode}
+\@@_declare_element:nn { g / cover-back / sign }
+  {
+    content = \@@_g_cover_sign:,
     align   = l
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_cover_back_g:NN}
-% 鐮旂┒鐢熷皝闈㈣儗闈俊鎭€傛牸寮忓瓨鍦ㄥ彉鍖栵紝娌℃湁浣跨敤寰幆鏉ョ畝鍖栥€�
+% \begin{macro}{\@@_cover_back_g:NNN,\@@_cover_back_g:}
+% 鐮旂┒鐢熷皝闈㈣儗闈俊鎭€�
+% \begin{arguments}
+%   \item 鍚嶇О鐩掑瓙瀹藉害锛寍dim| 鍨嬪彉閲�
+%   \item 鍐呭鐩掑瓙瀹藉害锛寍dim| 鍨嬪彉閲�
+%   \item 鏍囩鏍煎紡
+% \end{arguments}
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_g_cover_back:NNN #1#2#3
+  {
+    \@@_cover_entry:NNNNn \c_empty_tl #1 #2 #3 { chairman }
+    \tex_par:D
+    \@@_box_spread_name:NNn #1 #3 { reviewer }
+    \parbox [ t ] { #2 }
+      {
+        \@@_box_multiline:NNn \g_@@_info_reviewer_clist #2 { 5 }
+        \dim_gset_eq:NN \l_@@_tmpa_dim \tex_prevdepth:D
+      }
+    \tex_par:D
+    \dim_set_eq:NN \tex_prevdepth:D \l_@@_tmpa_dim
+    \@@_box_spread_name:NNn #1 #3 { defend date }
+    \@@_box_center:Nn #2 { \@@_info:n { defend date } }
+  }
+\cs_new:Npn \@@_g_cover_back:
+  {
+    \@@_g_cover_back:NNN \c_@@_clabelwdi_dim
+      \c_@@_crulewdi_dim \c_@@_fmt_coverlabel_tl
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_cover_sign_g:NNN,\@@_cover_sign_g:}
+% 鐮旂┒鐢熷皝闈㈣儗闈俊鎭€�
 % \begin{arguments}
 %   \item 鍚嶇О鐩掑瓙瀹藉害锛寍dim| 鍨嬪彉閲�
 %   \item 鏍囩鏍煎紡
+%   \item 鍒嗛殧绗�
 % \end{arguments}
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_g_cover_back:NN #1#2
+\cs_new_protected:Npn \@@_g_cover_sign:NNN #1#2#3
+  {
+    \@@_box_spread_name:NNn #1 #2 { sign a } #3 \tex_par:D
+    \@@_box_spread_name:NNn #1 #2 { sign b } #3
+  }
+\cs_new:Npn \@@_g_cover_sign:
   {
-    \@@_box_spread_name:NNn #1 #2 { id }
-      \c_@@_name_colon_tl \g_@@_info_id_tl \tex_par:D
-    \@@_box_spread_name:NNn #1 #2 { defenddate }
-      \c_@@_name_colon_tl \g_@@_info_defenddate_tl \tex_par:D
-    \@@_box_spread_name:NNn #1 #2 { supvfull }
-      \c_@@_name_colon_tl \skip_horizontal:n { 8 em }
-      { #2 \c_@@_name_sign_tl }
+    \@@_g_cover_sign:NNN \c_@@_clabelwdii_dim
+      \c_@@_fmt_coverlabel_tl \c_@@_name_colon_tl
   }
 %    \end{macrocode}
 % \end{macro}
@@ -6987,11 +7033,10 @@ To produce the documentation run the original source files ending with
 \cs_new_protected:Npn \@@_cover_bottom_nl:
   {
     \dim_set:Nn \l_@@_tmpa_dim { 9 em }
-    \c_@@_name_chairman_tl \@@_hskip:
+    \@@_name:n { chairman } \@@_name:n { colon } \@@_hskip:
     \@@_box_ulined_info:Nn \l_@@_tmpa_dim { chairman } \tex_par:D
-    \c_@@_name_reviewer_tl \@@_hskip:
-    \@@_box_multiline:NNNN \l_@@_tmpa_int \l_@@_tmpb_int
-      \g_@@_info_reviewer_clist \l_@@_tmpa_dim
+    \@@_name:n { reviewer } \@@_name:n { colon } \@@_hskip:
+    \@@_box_multiline:NNn \g_@@_info_reviewer_clist \l_@@_tmpa_dim { 4 }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -7401,10 +7446,10 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 \@@_declare_page:nn { cover-g-back }
   {
-    element  = { info },
+    element  = { info, sign },
     prefix   = g / cover-back /,
     format   = \zihao { 3 } \kaishu,
-    top-skip = 500 pt
+    top-skip = 5.3 cm
   }
 %    \end{macrocode}
 % \end{macro}
@@ -8205,7 +8250,6 @@ To produce the documentation run the original source files ending with
   {
     { acknowledgement   } { 鑷� \qquad{} 璋�                     },
     { acknowledgement a } { 鑷磋阿锛堢洸瀹¢樁娈碉紝鏆傛椂闅愬幓锛�         },
-%<def-g>    { apply             } {锛堢敵璇� \g_@@_info_degree_tl 瀛︿綅锛墋,
 %<def-g>    { auth decl         } { 瀛︿綅璁烘枃鍑虹増鎺堟潈涔�                 },
 %<def-p>    { auth decl         } { 鐮旂┒鎶ュ憡浣跨敤鎺堟潈涔�                 },
 %<def-p>    { author            } { 浣滆€�                               },
@@ -8217,7 +8261,7 @@ To produce the documentation run the original source files ending with
 %<def-g>    { auth sign         } { 浣滆€呯鍚嶏細\njuline{\hspace{6em}}   },
 %<def-p>    { auth sign         } { 鏈汉绛惧悕                           },
 %<def-p>    { auth sign       a } { 瀵煎笀绛惧悕                           },
-%<def-g>    { chairman          } { 绛旇京濮斿憳浼氫富甯細                   },
+%<def-g>    { chairman          } { 绛旇京濮斿憳浼氫富甯�                     },
 %<def-g>    { clc               } { 鍒嗙被鍙�                             },
 %<def-g>    { code              } { 瀛︽牎浠g爜                           },
 %<def-g>    { confer            } { 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈�                 },
@@ -8266,7 +8310,7 @@ To produce the documentation run the original source files ending with
     { pdf creator       } { LaTeX~ with~ njuthesis~ class      },
     { preface           } { 鍓� \qquad{} 瑷€                     },
 %<def-p>    { report            } { 鍗氬+鍚庣爺绌跺伐浣滄姤鍛�                 },
-%<def-g>    { reviewer          } { 璇勯槄浜猴細                           },
+%<def-g>    { reviewer          } { 璇勯槄浜�                             },
 %<def-g>    { secret lv         } { 瀵嗙骇                               },
 %<def-g>    { secret status     } { 璁烘枃娑夊瘑鎯呭喌锛�                     },
 %<def-g>    { secret free       } { 涓嶄繚瀵�                             },
@@ -8274,6 +8318,8 @@ To produce the documentation run the original source files ending with
 %<def-g>      { 淇濆瘑锛屼繚瀵嗘湡锛� \c_@@_name_blankdatea_tl 鑷�
 %<def-g>                       \c_@@_name_blankdatea_tl 锛�           },
 %<def-g>    { sign              } { 锛堢瀛楋級                           },
+%<def-g>    { sign            a } { 鐮旂┒鐢熺鍚�                         },
+%<def-g>    { sign            b } { 瀵煎笀绛惧悕                           },
 %<def-u>    { submit date       } { 鎻愪氦鏃ユ湡                           },
 %<def-g>    { submit date       } { 璁烘枃鎻愪氦鏃ユ湡                       },
 %<def-p>    { submit date       } { 瀹屾垚鏃ユ湡                           },
@@ -8457,12 +8503,15 @@ To produce the documentation run the original source files ending with
 %    \begin{macrocode}
 %<def-u>    { c label wd     } { 68   pt },
 %<def-g>    { c label wd     } { 2.97 cm },
+%<def-g>    { c label wd i   } { 3.90 cm },
+%<def-g>    { c label wd ii  } { 2.62 cm },
 %<def-p>    { c label wd     } { 50   pt },
 %    \end{macrocode}
 % 灏侀潰淇℃伅鏍忔í绾跨殑瀹藉害銆�
 %    \begin{macrocode}
 %<def-u>    { c rule  wd     } { 270  pt },
-%<def-g>    { c rule  wd     } { 240  pt },
+%<def-g>    { c rule  wd     } { 6.7  cm },
+%<def-g>    { c rule  wd i   } { 6.2  cm },
 %<def-g>    { c type  wd     } { 239  pt },
 %    \end{macrocode}
 % 鏍″窘鍥剧墖鐨勫搴︺€�