From ccad6f89e331946ee8ee60519b04dcfa8a8671f6 Mon Sep 17 00:00:00 2001
From: atxy <181850195@smail.nju.edu.cn>
Date: Thu, 16 Sep 2021 00:04:15 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BA=86=E5=AF=B9?=
 =?UTF-8?q?=E4=BA=8E=E6=A0=87=E9=A2=98=E5=88=86=E8=A1=8C=E7=9A=84=E8=87=AA?=
 =?UTF-8?q?=E5=8A=A8=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 njuthesis-sample.tex |   3 +-
 njuthesis.cls        | 128 ++++++++++++++++++---------------------
 njuthesis.dtx        | 138 +++++++++++++++++++------------------------
 3 files changed, 122 insertions(+), 147 deletions(-)

diff --git a/njuthesis-sample.tex b/njuthesis-sample.tex
index 9b0c3b1..9793913 100644
--- a/njuthesis-sample.tex
+++ b/njuthesis-sample.tex
@@ -18,7 +18,6 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[
-    titlelength=2,% 閫夋嫨鏍囬琛屾暟锛岃寖鍥存槸1~3
     % secondmentor=true,% 鏃犵浜屽甯堣娉ㄩ噴姝ら」
     nlcover=true,% 闇€瑕佸浗瀹跺浘涔﹂灏侀潰锛屽鏈鏃犳晥
     degree=ug,% ug: 鏈, mg: 瀛︾, mf: 涓撶, phd: 鍗氬+
@@ -37,7 +36,7 @@
         % 棰樼洰
         TitleA = 涓€绉嶄娇鐢ㄥ崡浜ぇ瀛hologo{LaTeX}妯$増,
         TitleB = 缂栧啓姣曚笟璁烘枃鐨勭粡楠屾€ф柟娉�,
-        % TitleC = , % 娌℃湁绗笁琛屽氨涓嶇敤濉繖涓摝
+        TitleC = , % 娌℃湁绗笁琛屽氨涓嶇敤濉繖涓摝
         Title* = {An Empirical Way of Composing Thesis with NJU \hologo{LaTeX} Template}, 
         % 濮撳悕瀛﹀彿
         Grade = 2018,
diff --git a/njuthesis.cls b/njuthesis.cls
index 2190e63..9b3f53f 100644
--- a/njuthesis.cls
+++ b/njuthesis.cls
@@ -38,8 +38,6 @@
 \RequirePackage{l3keys2e}
 \keys_define:nn { nju }
 {
-  titlelength       .int_set:N    =   \nju_titlelength,
-  titlelength       .initial:n    =   1,
   secondsupervisor      .bool_set:N   =   \nju_second_supervisor,
   secondsupervisor      .initial:n    =   false,
   nlcover           .bool_set:N   =   \nju_nl_cover,
@@ -657,7 +655,7 @@ refname={瀹氱悊,瀹氱悊},
 Refname={瀹氱悊,瀹氱悊},
 numberwithin=section,
 ]{theorem}
-\tl_const:Nn \l__nju_info_title_tl,
+\tl_const:Nn \l__nju_info_title_tl
 {
   \l__nju_info_title_a_tl
   \l__nju_info_title_b_tl
@@ -695,7 +693,7 @@ numberwithin=section,
   \bool_set_false:N \nju_nl_cover
 
   % 灏侀潰涓嬪垝绾�
-  \cs_new:Npn \nju_cover_underline_ug:nn #1 #2
+  \cs_new:Npn \nju_cover_uline_ug:nn #1 #2
   {
     \uline{\makebox[#1]{\rm\songti#2}}
   }
@@ -711,13 +709,13 @@ numberwithin=section,
   \tl_const:Nn \nju_degree_name {鐮擻hfill 绌禱hfill 鐢焅hfill }
 
   % 灏侀潰涓嬪垝绾�
-  \cs_new:Npn \nju_cover_underline_g:n #1
+  \cs_new:Npn \nju_cover_uline_g:n #1
   {
     \uline{\makebox[250pt]{\rm\kaishu#1}}
   }
 
   % 鍥藉鍥句功棣嗗皝闈笅鍒掔嚎
-  \cs_new:Npn \nju_cover_underline_nl:nn #1 #2
+  \cs_new:Npn \nju_cover_uline_nl:nn #1 #2
   {
     \uline{\makebox[#1]{#2}}
   }
@@ -750,89 +748,81 @@ numberwithin=section,
 {
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {闄hfill 绯粆
-    & \nju_cover_underline_ug:nn {250pt}{\l__nju_info_dept_tl}\\
+    & \nju_cover_uline_ug:nn {250pt}{\l__nju_info_dept_tl} \\
     \nju_coverbox_ug:n {涓揬hfill 涓殅
-    & \nju_cover_underline_ug:nn {250pt}{\l__nju_major_tl}\\
+    & \nju_cover_uline_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{\l__nju_info_title_a_tl,}} \\ }
-        { 2 } {
-          \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \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{\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,}} \\}
-      }
+    \nju_coverbox_ug:n {棰榎hfill 鐩畗
+    & \nju_cover_uline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl}} \\
+    % 鑷姩鍒ゆ柇鏍囬鎹㈣
+    \tl_if_empty:NTF \l__nju_info_title_b_tl {}
+    {
+      \tl_if_empty:NTF \l__nju_info_title_c_tl
+        { & \nju_cover_uline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl}} \\ }
+        {
+          & \nju_cover_uline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl}} \\
+          & \nju_cover_uline_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}{\l__nju_info_grade_tl}
+    & \nju_cover_uline_ug:nn {90pt}{\l__nju_info_grade_tl}
     & \nju_coverbox_ug:n {瀛hfill 鍙穧
-    & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_id_tl}\\
+    & \nju_cover_uline_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}{\l__nju_info_author_tl}
+    & \nju_cover_uline_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}{\l__nju_info_supv_a_tl}
+    & \nju_cover_uline_ug:nn {90pt}{\l__nju_info_supv_a_tl}
     & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-    & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_a_title_tl}\\
+    & \nju_cover_uline_ug:nn {90pt}{\l__nju_info_supv_a_title_tl}\\
 
     % 绗簩瀵煎笀
     \bool_if:NT \nju_second_supervisor
     {
       \nju_coverbox_ug:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿
-      & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_b_tl}
+      & \nju_cover_uline_ug:nn {90pt}{\l__nju_info_supv_b_tl}
       & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-      & \nju_cover_underline_ug:nn {90pt}{\l__nju_info_supv_b_title_tl}\\
+      & \nju_cover_uline_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}{\l__nju_submit_date_tl}\\
+    & \nju_cover_uline_ug:nn {250pt}{\l__nju_submit_date_tl}\\
   \end{tabular}
 }
 \tl_new:N \nju_printcoverinfo_g
 \tl_set:Nn \nju_printcoverinfo_g
 {
   \begin{tabular}{p{6em}c}
-    % 鏍囬鎹㈣
-    \int_case:nn {\nju_titlelength}
-      {
-        { 1 } {
-          \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\l__nju_info_title_a_tl,} \\ }
-        { 2 } {
-          \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \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 {\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_uline_g:n {\l__nju_info_title_a_tl} \\
+    % 鑷姩鍒ゆ柇鏍囬鎹㈣
+    \tl_if_empty:NTF \l__nju_info_title_b_tl {}
+    {
+      \tl_if_empty:NTF \l__nju_info_title_c_tl
+        { & \nju_cover_uline_g:n {\l__nju_info_title_b_tl} \\ }
+        {
+          & \nju_cover_uline_g:n {\l__nju_info_title_b_tl} \\
+          & \nju_cover_uline_g:n {\l__nju_info_title_c_tl} \\
+        }
+    }
 
     \nju_coverbox_g:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿
-    & \nju_cover_underline_g:n {\l__nju_info_author_tl}\\
+    & \nju_cover_uline_g:n {\l__nju_info_author_tl}\\
     \nju_coverbox_g:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚
-    & \nju_cover_underline_g:n {\l__nju_major_tl}\\
+    & \nju_cover_uline_g:n {\l__nju_major_tl}\\
     \nju_coverbox_g:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓
-    & \nju_cover_underline_g:n {\l__nju_field_tl}\\
+    & \nju_cover_uline_g:n {\l__nju_field_tl}\\
     \nju_coverbox_g:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿
-    & \nju_cover_underline_g:n {\nju_supervisor_full}\\
+    & \nju_cover_uline_g:n {\nju_supervisor_full}\\
   \end{tabular}
 }
 \tl_new:N \nju_printcover_nl % 鍥藉鍥句功棣嗗皝闈�
@@ -850,13 +840,13 @@ numberwithin=section,
       \vskip -20mm \hskip -15mm
       \songti\zihao{-4}
       \makebox[40pt][l]{鍒嗙被鍙穧
-      \nju_cover_underline_nl:nn {150pt}{\l__nju_info_classif_tl}
+      \nju_cover_uline_nl:nn {150pt}{\l__nju_info_classif_tl}
       \hfill
       \makebox[40pt][l]{瀵嗙骇}
-      \nju_cover_underline_nl:nn {150pt}{\l__nju_info_seclv_tl}
+      \nju_cover_uline_nl:nn {150pt}{\l__nju_info_seclv_tl}
       \vskip 10pt \hskip -15mm
       \makebox[40pt][l]{UDC}
-      \nju_cover_underline_nl:nn {150pt}{\l__nju_info_udc_tl}
+      \nju_cover_uline_nl:nn {150pt}{\l__nju_info_udc_tl}
     }
 
     % 涓儴
@@ -867,9 +857,9 @@ numberwithin=section,
       {
         \kaishu\zihao{1}
         \vskip \stretch{1}
-        \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,}\\
+        \nju_cover_uline_nl:nn {14em}{\l__nju_info_title_a_tl}\\
+        \nju_cover_uline_nl:nn {14em}{\l__nju_info_title_b_tl}\\
+        \nju_cover_uline_nl:nn {14em}{\l__nju_info_title_c_tl}\\
       }
       \vskip \stretch{1}
       {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級}
@@ -884,25 +874,25 @@ numberwithin=section,
     {
       \kaishu\zihao{4}
       \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃%
-      \nju_cover_underline_nl:nn {94pt}{\l__nju_info_supv_a_tl}\par
-      \noindent\nju_cover_underline_nl:nn {\textwidth}{%
+      \nju_cover_uline_nl:nn {94pt}{\l__nju_info_supv_a_tl}\par
+      \noindent\nju_cover_uline_nl:nn {\textwidth}{%
       \l__nju_info_supv_cont_tl}\par
       \noindent 鐢宠瀛︿綅绾у埆%
-      \nju_cover_underline_nl:nn {9em}{\nju_degree_title}%
+      \nju_cover_uline_nl:nn {9em}{\nju_degree_title}%
       \noindent 涓撲笟鍚嶇О%
       \uline{\hfill\l__nju_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 璁烘枃鎻愪氦鏃ユ湡%
-      \nju_cover_underline_nl:nn {9em}{\l__nju_submit_date_tl}%
+      \nju_cover_uline_nl:nn {9em}{\l__nju_submit_date_tl}%
       璁烘枃绛旇京鏃ユ湡%
       \uline{\hfill\l__nju_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par
       \noindent\hfill 绛旇京濮斿憳浼氫富甯細%
-      \nju_cover_underline_nl:nn {9em}{\l__nju_info_chairman_tl}\par
+      \nju_cover_uline_nl:nn {9em}{\l__nju_info_chairman_tl}\par
       \noindent\hfill 璇勯槄浜猴細%
-      \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
+      \nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_a_tl}\par
+      \noindent\hfill\nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_b_tl}\par
+      \noindent\hfill\nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_c_tl}\par
+      \noindent\hfill\nju_cover_uline_nl:nn {9em}{\l__nju_info_reviewer_d_tl}\par
 
       \begin{center}
         \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃�
@@ -1052,7 +1042,7 @@ numberwithin=section,
     \end{center}
     {
       \bgroup
-      THESIS: ~~\l__nju_info_title_en_tl, \\
+      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 \\
@@ -1121,7 +1111,7 @@ numberwithin=section,
     {
       \bgroup
       \zihao{4}
-      THESIS: ~~\l__nju_info_title_en_tl, \\
+      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
diff --git a/njuthesis.dtx b/njuthesis.dtx
index a2b3b25..1f285b7 100644
--- a/njuthesis.dtx
+++ b/njuthesis.dtx
@@ -368,12 +368,6 @@ through XeTeX.
 %
 % 灏栨嫭鍙峰唴鍒楀嚭浜嗚嫢骞蹭釜鍏佽鐨勯€夐」锛屽叾涓姞绮楃殑涓洪粯璁ら€夐」
 %
-% \begin{function}[added=2021-09-07]{titlelength}
-%   \begin{syntax}
-%     titlelength = <(1)|2|3>
-%   \end{syntax}
-%
-% 涓轰簡浣胯緝闀跨殑璁烘枃棰樼洰涔熻兘缇庤鍦板憟鐜板湪灏侀潰椤典笂锛宯juthesis绫绘彁渚涗簡{TitleLength}杩欎竴閫夐」锛岀敤浜庢帶鍒跺皝闈㈡爣棰樼殑琛屾暟銆傛渶澶�3琛�
 % \end{function}
 %
 % \begin{function}[added=2021-09-07]{secondsupervisor}
@@ -592,8 +586,8 @@ through XeTeX.
 %    \begin{macrocode}
 \keys_define:nn { nju }
 {
-  titlelength       .int_set:N    =   \nju_titlelength,
-  titlelength       .initial:n    =   1,
+%  titlelength       .int_set:N    =   \nju_titlelength,
+%  titlelength       .initial:n    =   1,
 %    \end{macrocode}
 %
 % Put text here.
@@ -1536,7 +1530,7 @@ through XeTeX.
 % \subsection{灏侀潰缁樺埗}
 %    \begin{macrocode}
 % 鎷煎悎鏍囬
-\tl_const:Nn \l_@@_info_title_tl, 
+\tl_const:Nn \l_@@_info_title_tl 
 {
   \l_@@_info_title_a_tl
   \l_@@_info_title_b_tl
@@ -1584,7 +1578,7 @@ through XeTeX.
   \bool_set_false:N \nju_nl_cover
   
   % 灏侀潰涓嬪垝绾�
-  \cs_new:Npn \nju_cover_underline_ug:nn #1 #2 
+  \cs_new:Npn \nju_cover_uline_ug:nn #1 #2 
   {
     \uline{\makebox[#1]{\rm\songti#2}}
   }
@@ -1600,13 +1594,13 @@ through XeTeX.
   \tl_const:Nn \nju_degree_name {鐮擻hfill 绌禱hfill 鐢焅hfill }
 
   % 灏侀潰涓嬪垝绾�
-  \cs_new:Npn \nju_cover_underline_g:n #1 
+  \cs_new:Npn \nju_cover_uline_g:n #1 
   {
     \uline{\makebox[250pt]{\rm\kaishu#1}}
   }
 
   % 鍥藉鍥句功棣嗗皝闈笅鍒掔嚎
-  \cs_new:Npn \nju_cover_underline_nl:nn #1 #2 
+  \cs_new:Npn \nju_cover_uline_nl:nn #1 #2 
   {
     \uline{\makebox[#1]{#2}}
   }
@@ -1649,58 +1643,54 @@ through XeTeX.
 {
   \begin{tabular}{p{4.2em}c}
     \nju_coverbox_ug:n {闄hfill 绯粆
-    & \nju_cover_underline_ug:nn {250pt}{\l_@@_info_dept_tl}\\
+    & \nju_cover_uline_ug:nn {250pt}{\l__nju_info_dept_tl} \\
     \nju_coverbox_ug:n {涓揬hfill 涓殅
-    & \nju_cover_underline_ug:nn {250pt}{\l_@@_major_tl}\\
+    & \nju_cover_uline_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{\l_@@_info_title_a_tl,}} \\ }
-        { 2 } {
-          \nju_coverbox_ug:n {棰榎hfill 鐩畗
-          & \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{\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,}} \\}
-      }
+    \nju_coverbox_ug:n {棰榎hfill 鐩畗
+    & \nju_cover_uline_ug:nn {250pt}{\bf{\l__nju_info_title_a_tl}} \\
+    % 鑷姩鍒ゆ柇鏍囬鎹㈣
+    \tl_if_empty:NTF \l__nju_info_title_b_tl {}
+    {
+      \tl_if_empty:NTF \l__nju_info_title_c_tl
+        { & \nju_cover_uline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl}} \\ }
+        {
+          & \nju_cover_uline_ug:nn {250pt}{\bf{\l__nju_info_title_b_tl}} \\
+          & \nju_cover_uline_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}{\l_@@_info_grade_tl}
+    & \nju_cover_uline_ug:nn {90pt}{\l_@@_info_grade_tl}
     & \nju_coverbox_ug:n {瀛hfill 鍙穧
-    & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_id_tl}\\
+    & \nju_cover_uline_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}{\l_@@_info_author_tl}
+    & \nju_cover_uline_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}{\l_@@_info_supv_a_tl}
+    & \nju_cover_uline_ug:nn {90pt}{\l_@@_info_supv_a_tl}
     & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-    & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_a_title_tl}\\
+    & \nju_cover_uline_ug:nn {90pt}{\l_@@_info_supv_a_title_tl}\\
 
     % 绗簩瀵煎笀
     \bool_if:NT \nju_second_supervisor
     {
       \nju_coverbox_ug:n {绗琝hfill 浜孿hfill 瀵糪hfill 甯坿
-      & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_b_tl}
+      & \nju_cover_uline_ug:nn {90pt}{\l_@@_info_supv_b_tl}
       & \nju_coverbox_ug:n {鑱孿hfill 绉皚
-      & \nju_cover_underline_ug:nn {90pt}{\l_@@_info_supv_b_title_tl}\\
+      & \nju_cover_uline_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}{\l_@@_submit_date_tl}\\
+    & \nju_cover_uline_ug:nn {250pt}{\l_@@_submit_date_tl}\\
   \end{tabular}
 }
 %    \end{macrocode}
@@ -1711,32 +1701,28 @@ through XeTeX.
 \tl_new:N \nju_printcoverinfo_g
 \tl_set:Nn \nju_printcoverinfo_g 
 {
-  \begin{tabular}{p{6em}c}
-    % 鏍囬鎹㈣
-    \int_case:nn {\nju_titlelength}
-      {
-        { 1 } { 
-          \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \nju_cover_underline_g:n {\l_@@_info_title_a_tl,} \\ }
-        { 2 } {
-          \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
-          & \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 {\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,} \\}
-      }
+  \begin{tabular}{p{6em}c}    
+    \nju_coverbox_g:n {璁篭hfill 鏂嘰hfill 棰榎hfill 鐩畗
+    & \nju_cover_uline_g:n {\l_@@_info_title_a_tl} \\
+    % 鑷姩鍒ゆ柇鏍囬鎹㈣
+    \tl_if_empty:NTF \l__nju_info_title_b_tl {}
+    {
+      \tl_if_empty:NTF \l__nju_info_title_c_tl
+        { & \nju_cover_uline_g:n {\l_@@_info_title_b_tl} \\ }
+        {
+          & \nju_cover_uline_g:n {\l_@@_info_title_b_tl} \\
+          & \nju_cover_uline_g:n {\l_@@_info_title_c_tl} \\
+        }
+    }
 
     \nju_coverbox_g:n {浣淺hfill 鑰匼hfill 濮揬hfill 鍚峿
-    & \nju_cover_underline_g:n {\l_@@_info_author_tl}\\
+    & \nju_cover_uline_g:n {\l_@@_info_author_tl}\\
     \nju_coverbox_g:n {涓揬hfill 涓歕hfill 鍚峔hfill 绉皚
-    & \nju_cover_underline_g:n {\l_@@_major_tl}\\
+    & \nju_cover_uline_g:n {\l_@@_major_tl}\\
     \nju_coverbox_g:n {鐮擻hfill 绌禱hfill 鏂筡hfill 鍚憓
-    & \nju_cover_underline_g:n {\l_@@_field_tl}\\
+    & \nju_cover_uline_g:n {\l_@@_field_tl}\\
     \nju_coverbox_g:n {鎸嘰hfill 瀵糪hfill 鏁橽hfill 甯坿
-    & \nju_cover_underline_g:n {\nju_supervisor_full}\\
+    & \nju_cover_uline_g:n {\nju_supervisor_full}\\
   \end{tabular}
 }
 %    \end{macrocode}
@@ -1764,13 +1750,13 @@ through XeTeX.
       \vskip -20mm \hskip -15mm
       \songti\zihao{-4}
       \makebox[40pt][l]{鍒嗙被鍙穧
-      \nju_cover_underline_nl:nn {150pt}{\l_@@_info_classif_tl}
+      \nju_cover_uline_nl:nn {150pt}{\l_@@_info_classif_tl}
       \hfill
       \makebox[40pt][l]{瀵嗙骇}
-      \nju_cover_underline_nl:nn {150pt}{\l_@@_info_seclv_tl}
+      \nju_cover_uline_nl:nn {150pt}{\l_@@_info_seclv_tl}
       \vskip 10pt \hskip -15mm
       \makebox[40pt][l]{UDC}
-      \nju_cover_underline_nl:nn {150pt}{\l_@@_info_udc_tl}
+      \nju_cover_uline_nl:nn {150pt}{\l_@@_info_udc_tl}
     }
   
     % 涓儴
@@ -1781,9 +1767,9 @@ through XeTeX.
       {
         \kaishu\zihao{1}
         \vskip \stretch{1}
-        \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,}\\
+        \nju_cover_uline_nl:nn {14em}{\l_@@_info_title_a_tl}\\
+        \nju_cover_uline_nl:nn {14em}{\l_@@_info_title_b_tl}\\
+        \nju_cover_uline_nl:nn {14em}{\l_@@_info_title_c_tl}\\
       }
       \vskip \stretch{1}
       {\kaishu\zihao{4}锛堥鍚嶅拰鍓鍚嶏級}
@@ -1798,25 +1784,25 @@ through XeTeX.
     {
       \kaishu\zihao{4}
       \noindent 鎸囧鏁欏笀濮撳悕銆佽亴鍔°€佽亴绉般€佸浣嶃€佸崟浣嶅悕绉板強鍦板潃%
-      \nju_cover_underline_nl:nn {94pt}{\l_@@_info_supv_a_tl}\par
-      \noindent\nju_cover_underline_nl:nn {\textwidth}{%
+      \nju_cover_uline_nl:nn {94pt}{\l_@@_info_supv_a_tl}\par
+      \noindent\nju_cover_uline_nl:nn {\textwidth}{%
       \l_@@_info_supv_cont_tl}\par
       \noindent 鐢宠瀛︿綅绾у埆%
-      \nju_cover_underline_nl:nn {9em}{\nju_degree_title}%
+      \nju_cover_uline_nl:nn {9em}{\nju_degree_title}%
       \noindent 涓撲笟鍚嶇О%
       \uline{\hfill\l_@@_major_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 璁烘枃鎻愪氦鏃ユ湡%
-      \nju_cover_underline_nl:nn {9em}{\l_@@_submit_date_tl}%
+      \nju_cover_uline_nl:nn {9em}{\l_@@_submit_date_tl}%
       璁烘枃绛旇京鏃ユ湡%
       \uline{\hfill\l_@@_defend_date_tl\hfill}\par% 闇€瑕佽皟鏁翠笅鍒掔嚎闀垮害
       \noindent 瀛︿綅鎺堜簣鍗曚綅鍜屾棩鏈焅uline{\hfill}\par
       \noindent\hfill 绛旇京濮斿憳浼氫富甯細%
-      \nju_cover_underline_nl:nn {9em}{\l_@@_info_chairman_tl}\par
+      \nju_cover_uline_nl:nn {9em}{\l_@@_info_chairman_tl}\par
       \noindent\hfill 璇勯槄浜猴細%
-      \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
+      \nju_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_a_tl}\par
+      \noindent\hfill\nju_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_b_tl}\par
+      \noindent\hfill\nju_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_c_tl}\par
+      \noindent\hfill\nju_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_d_tl}\par
       
       \begin{center}
         \kaishu\zihao{3}\hspace{2em} 骞碶hspace{1em} 鏈圽hspace{1em} 鏃�
@@ -1987,7 +1973,7 @@ through XeTeX.
     \end{center}
     {
       \bgroup
-      THESIS: ~~\l_@@_info_title_en_tl, \\
+      THESIS: ~~\l_@@_info_title_en_tl \\
       DEPARTMENT: ~~\l_@@_info_dept_en_tl \\
       SPECIALIZATION: ~~\l_@@_major_en_tl \\
       UNDERGRADUATE:~~\l_@@_info_author_en_tl \\
@@ -2060,7 +2046,7 @@ through XeTeX.
     {
       \bgroup
       \zihao{4}
-      THESIS: ~~\l_@@_info_title_en_tl, \\
+      THESIS: ~~\l_@@_info_title_en_tl \\
       SPECIALIZATION: ~~\l_@@_major_en_tl \\
       POSTGRADUATE:~~\l_@@_info_author_en_tl \\
       MENTOR:~~\nju_supervisor_full_en\par
-- 
GitLab