texlive[63391] Master/texmf-dist: nwafuthesis (24may22)

commits+karl at tug.org commits+karl at tug.org
Tue May 24 22:23:46 CEST 2022


Revision: 63391
          http://tug.org/svn/texlive?view=revision&revision=63391
Author:   karl
Date:     2022-05-24 22:23:46 +0200 (Tue, 24 May 2022)
Log Message:
-----------
nwafuthesis (24may22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls
    trunk/Master/texmf-dist/doc/latex/nwafuthesis/nwafuthesis.pdf
    trunk/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx
    trunk/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls

Modified: trunk/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls	2022-05-24 20:23:29 UTC (rev 63390)
+++ trunk/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls	2022-05-24 20:23:46 UTC (rev 63391)
@@ -31,7 +31,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo $Id: nwafuthesis.dtx 1.11 2022-04-03 Nan Geng <nangeng at nwafu.edu.cn> $
+\GetIdInfo $Id: nwafuthesis.dtx 1.12 2022-05-24 Nan Geng <nangeng at nwafu.edu.cn> $
   {Documentation class for nwafuthesis}
 \ProvidesExplClass{nwafudoc}
   {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}

Modified: trunk/Master/texmf-dist/doc/latex/nwafuthesis/nwafuthesis.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx	2022-05-24 20:23:29 UTC (rev 63390)
+++ trunk/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx	2022-05-24 20:23:46 UTC (rev 63391)
@@ -110,7 +110,7 @@
 %<class|doc>\NeedsTeXFormat{LaTeX2e}
 %<class|doc>\RequirePackage{expl3}
 %<*!(driver|install)>
-%<!readme>\GetIdInfo $Id: nwafuthesis.dtx 1.11 2022-04-03 Nan Geng <nangeng at nwafu.edu.cn> $
+%<!readme>\GetIdInfo $Id: nwafuthesis.dtx 1.12 2022-05-24 Nan Geng <nangeng at nwafu.edu.cn> $
 %<class>  {Thesis template for Northwest A\&F University}
 %<class>\ProvidesExplClass{\ExplFileName}
 %<definition>  {Definition file for nwafuthesis}
@@ -143,7 +143,7 @@
   \textbf{\nwafuthesis: 西北农林科技大学学位论文
           \xpinyin[font=\sffamily,format=\color{MaterialIndigo800}]{模}{mu2}板}}}
 \author{耿楠}
-\date{\today\quad v1.11%
+\date{\today\quad v1.12%
   \thanks{\url{https://gitee.com/nwafu_nan/nwafuthesis-l3}.}}
 
 \begin{document}
@@ -803,9 +803,16 @@
 %   \begin{nwafusyntax}[emph={[1]withchapter}]
 %     withchapter = (*<\TTF>*)
 %   \end{nwafusyntax}
-%   选择论文章标题格式为章格式(如:第1章 绪论)还是报告格式(如:1 绪论)。
+%   选择论文章标题格式为章格式(如:第1章 绪论)还是报告格式(如:1 绪论),默认为章格式。
 % \end{function}
 %
+% \begin{function}[added=2022-05-24]{style/chapnum}
+%   \begin{nwafusyntax}[emph={[1]chapnum}]
+%     chapnum = (*<zh|(en)>*)
+%   \end{nwafusyntax}
+%   选择章编号格式,zh表示中文数字,en表示阿拉伯数字,默认为阿拉伯数字。
+% \end{function}
+%
 % \subsubsection{信息录入} \label{subsubsec:信息录入}
 %
 % \begin{function}[added=2021-05-12]{info}
@@ -1793,6 +1800,17 @@
 %    \end{macrocode}
 % \end{variable}
 %
+% \changes{v1.12}{2022/05/24}{添加本科生中文章编号处理。}
+%
+% \begin{variable}{\g_@@_chapnum_int}
+% 章编号编号类型(默认为阿拉伯数字)。
+% 该选项是针对部分学院需要中文数字进行章编号(类似``第一章 绪论'')的需求
+% 仅为撰写本科毕业论文(设计)而设置的。
+%    \begin{macrocode}
+\int_new:N \g_@@_chapnum_int
+%    \end{macrocode}
+% \end{variable}
+%
 % \subsubsection{内部函数}
 %
 % \begin{macro}{\file_input:V,
@@ -1860,8 +1878,10 @@
 % \begin{macro}{\@@_fake_bold:nn,\fakebold}
 % 利用PDF literal实现的伪粗命令。
 % 参考\url{https://zhuanlan.zhihu.com/p/60262200}实现。
-% \#1 加粗系数
-% \#2 加粗内容
+% \begin{arguments}
+%   \item 加粗系数
+%   \item 需要加粗的文字
+% \end{arguments}
 %    \begin{macrocode}
 \cs_new:Npn \@@_fake_bold:nn #1#2
   {
@@ -2132,12 +2152,15 @@
   {
     { ideo_comma       } { "3001 },
     { ideo_full_stop   } { "3002 },
+    { fwid_tilde       } { "FF5E },
     { fwid_comma       } { "FF0C },
     { fwid_full_stop   } { "FF0E },
     { fwid_colon       } { "FF1A },
     { fwid_semicolon   } { "FF1B },
     { fwid_left_paren  } { "FF08 },
-    { fwid_right_paren } { "FF09 }
+    { fwid_right_paren } { "FF09 },
+    { fwid_left_title  } { "300A },
+    { fwid_right_title } { "300B }
   }
   { \@@_define_punct:nn #1 }
 %    \end{macrocode}
@@ -2153,11 +2176,14 @@
 %       中文顿号     & Ideographic comma           & \symbol{"3001} & U+3001 \\
 %       中文句号     & Ideographic full stop       & \symbol{"3002} & U+3002 \\
 %       中文逗号     & Fullwidth comma             & \symbol{"FF0C} & U+FF0C \\
+%       中文波浪号   & Fullwidth tilde             & \symbol{"FF5E} & U+FF5E \\
 %       全角西文句点 & Fullwidth full stop         & \symbol{"FF0E} & U+FF0E \\
 %       中文冒号     & Fullwidth colon             & \symbol{"FF1A} & U+FF1A \\
 %       中文分号     & Fullwidth semicolon         & \symbol{"FF1B} & U+FF1B \\
 %       中文左圆括号 & Fullwidth left parenthesis  & \symbol{"FF08} & U+FF08 \\
 %       中文右圆括号 & Fullwidth right parenthesis & \symbol{"FF09} & U+FF09 \\
+%       中文左书名号 & Fullwidth left book title   & \symbol{"300A} & U+300A \\
+%       中文右书名号 & Fullwidth right book title  & \symbol{"300B} & U+300B \\
 %     \bottomrule
 %   \end{tabular}
 % \end{table}
@@ -2189,15 +2215,19 @@
 %    \begin{macrocode}
         \tl_const:Nn \c_@@_orig_decl_text_tl
           {
-            本人声明:所呈交的学位论文是我个人在导师指导下独立进行的研究工作及取
-            得的研究结果;论文中的研究数据及结果的获得完全符合学校《关于规范西北
-            农林科技大学研究生学术道德的暂行规定》,如果违反此规定,一切后果与法
-            律责任均由本人承担。\par
+            本人声明{\c_@@_fwid_colon_tl}所呈交的学位论文是我个人在导师指导下%
+            独立进行的研究工作及取得的研究结果{\c_@@_fwid_semicolon_tl}论文中%
+            的研究数据及结果的获得完全符合学校{\c_@@_fwid_left_title_tl}%
+            关于规范西北农林科技大学研究生学术道德的暂行规定{\c_@@_fwid_right_title_tl}%
+            {\c_@@_fwid_comma_tl}如果违反此规定{\c_@@_fwid_comma_tl}一切后果与%
+            法律责任均由本人承担{\c_@@_ideo_full_stop_tl}\par%
 
-            尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经
-            发表或撰写过的研究结果,也不包含其他人和自己本人已获得西北农林科技大
-            学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同事对本
-            研究所做的任何贡献均已在论文的致谢中作了明确的说明并表示了谢意。
+            尽我所知{\c_@@_fwid_comma_tl}除了文中特别加以标注和致谢的地方外%
+            {\c_@@_fwid_comma_tl}论文中不包含其他人已经发表或撰写过的研究结果%
+            {\c_@@_fwid_comma_tl}也不包含其他人和自己本人已获得西北农林科技大学%
+            或其它教育机构的学位或证书而使用过的材料{\c_@@_ideo_full_stop_tl}与%
+            我一同工作的同事对本研究所做的任何贡献均已在论文的致谢中作了明确的说%
+            明并表示了谢意{\c_@@_ideo_full_stop_tl}%
           }
       }
       {
@@ -2206,16 +2236,18 @@
 %    \begin{macrocode}
         \tl_const:Nn \c_@@_orig_decl_text_tl
           {
-            本人声明:所呈交的毕业
+            本人声明{\c_@@_fwid_colon_tl}所呈交的毕业%
             \clist_item:Nn \c__@@_bachelor_type_clist
-              { \l__@@_info_bachelor_type_int }
-            是我个人在导师指导下
-            独立进行的研究工作及取得的研究结果。尽我所知,除了文中特别加
-            以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究结果,
-            也不包含其他人和自己本人已获得\c_@@_name_simp_tl{}或其它教育
-            机构的学位或证书而使用过的材料。与我一同工作的同事对本研究所做
-            的任何贡献均已在论文的致谢中作了明确的说明并表示了谢意。
-            如违反此声明,一切后果与法律责任均由本人承担。
+              { \l__@@_info_bachelor_type_int }%
+            是我个人在导师指导下独立进行的研究工作及取得的研究结果{\c_@@_ideo_full_stop_tl}%
+            尽我所知{\c_@@_fwid_comma_tl}除了文中特别加以标注和致谢的地%
+            方外{\c_@@_fwid_comma_tl}论文中不包含其他人已经发表或撰写过%
+            的研究结果{\c_@@_fwid_comma_tl}也不包含其他人和自己本人已获%
+            得\c_@@_name_simp_tl{}或其它教育机构的学位或证书而使用过的材%
+            料{\c_@@_ideo_full_stop_tl}与我一同工作的同事对本研究所做的%
+            任何贡献均已在论文的致谢中作了明确的说明并表示了谢意{\c_@@_ideo_full_stop_tl}%
+            如违反此声明{\c_@@_fwid_comma_tl}一切后果与法律责任均由本人%
+            承担{\c_@@_ideo_full_stop_tl}%
           }
       }
   }
@@ -2228,12 +2260,15 @@
 %    \begin{macrocode}
 \tl_const:Nn \c_@@_super_decl_text_tl
   {
-    本人承诺:我的研究生{\@@_text_uline:V \l_@@_info_author_tl}所呈交的
-    学位论文是在我指导下独立开展研究工作及取得的研究结果,属于我现
-    岗职务工作的结果,并严格按照学校《关于规范西北农林科技大学研究生学术
-    道德的暂行规定》而获得的研究结果。如果违反学校《关于规范西北农林科
-    技大学研究生学术道德的暂行规定》,我愿接受按学校有关规定的处罚处理并
-    承担相应导师连带责任。
+    本人承诺{\c_@@_fwid_colon_tl}我的研究生{\@@_text_uline:V \l_@@_info_author_tl}%
+    所呈交的学位论文是在我指导下独立开展研究工作及取得的研究结果%
+    {\c_@@_fwid_comma_tl}属于我现岗职务工作的结果{\c_@@_fwid_comma_tl}%
+    并严格按照学校{\c_@@_fwid_left_title_tl}关于规范西北农林科技大学研%
+    究生学术道德的暂行规定{\c_@@_fwid_right_title_tl}而%
+    获得的研究结果{\c_@@_ideo_full_stop_tl}如果违反学校{\c_@@_fwid_left_title_tl}%
+    关于规范西北农林科技大学研究生学术道德的暂行规定{\c_@@_fwid_right_title_tl}%
+    {\c_@@_fwid_comma_tl}我愿接受按学校%
+    有关规定的处罚处理并承担相应导师连带责任{\c_@@_ideo_full_stop_tl}%
   }
 %    \end{macrocode}
 % \end{variable}
@@ -2250,23 +2285,34 @@
 %    \begin{macrocode}
         \tl_const:Nn \c_@@_auth_decl_text_tl
           {
-            本学位论文的知识产权归属西北农林科技大学。本人同意西北农林科技大学
-            保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和
-            借阅;同意西北农林科技大学将本学位论文的全部或部分内容授权汇编录入
-            中国博士/硕士学位论文全文数据库》和《中国学位论文全文数据库》进行
-            出版,并享受相关权益。\par
+            本学位论文的知识产权归属西北农林科技大学{\c_@@_ideo_full_stop_tl}%
+            本人同意西北农林科技大学保存或向国家有关部门或机构送交论文的纸%
+            质版和电子版{\c_@@_fwid_comma_tl}允许论文被查阅和借阅{\c_@@_fwid_semicolon_tl}%
+            同意西北农林科技大学将本学位论文的全部或部分内容授权汇编录入%
+            {\c_@@_fwid_left_title_tl}中国博士/硕士学位论文全文数据库%
+            {\c_@@_fwid_right_title_tl}和{\c_@@_fwid_left_title_tl}中国学位%
+            论文全文数据库{\c_@@_fwid_right_title_tl}进行出版%
+            {\c_@@_fwid_comma_tl}并享受相关权益{\c_@@_ideo_full_stop_tl}\par
 
-            本人保证,在毕业离开(或者工作调离)西北农林科技大学后,发表或者使用本
-            学位论文及其相关的工作成果时,将以西北农林科技大学为第一署名单位,否
-            则,愿意按《中华人民共和国著作权法》等有关规定接受处理并承担法律责任。\par
+            本人保证{\c_@@_fwid_comma_tl}在毕业离开(或者工作调离)西北农林科技%
+            大学后{\c_@@_fwid_comma_tl}发表或者使用本学位论文及其相关的工作成%
+            果时{\c_@@_fwid_comma_tl}将以西北农林科技大学为第一署名单位%
+            {\c_@@_fwid_comma_tl}否则{\c_@@_fwid_comma_tl}愿意按
+            {\c_@@_fwid_left_title_tl}中华人民共和国著作权法{\c_@@_fwid_right_title_tl}%
+            等有关规定接受处理并承担法律责任{\c_@@_ideo_full_stop_tl}\par%
 
-            任何收存和保管本论文各种版本的其他单位和个人(包括研究生本人)未经本
-            论文作者的导师同意,不得有对本论文进行复制、修改、发行、出租、改编等
-            侵犯著作权的行为,否则,按违背《中华人民共和国著作权法》等有关规定处
-            理并追究法律责任。\par
+            任何收存和保管本论文各种版本的其他单位和个人(包括研究生本人)未经本%
+            论文作者的导师同意{\c_@@_fwid_comma_tl}不得有对本论文进行复制%
+            {\c_@@_ideo_comma_tl}修改{\c_@@_ideo_comma_tl}发行{\c_@@_ideo_comma_tl}%
+            出租{\c_@@_ideo_comma_tl}改编等侵犯著作权的行为{\c_@@_fwid_comma_tl}%
+            否则{\c_@@_fwid_comma_tl}按违背{\c_@@_fwid_left_title_tl}中华人民共和国%
+            著作权法{\c_@@_fwid_right_title_tl}等有关规定处%
+            理并追究法律责任{\c_@@_ideo_full_stop_tl}\par%
 
-            {\sffamily (保密的学位论文在保密期限内,不得以任何方式发表、借阅、复印、
-                缩印或扫描复制手段保存、汇编论文)}
+            {\sffamily (保密的学位论文在保密期限内{\c_@@_fwid_comma_tl}不得以任何%
+               方式发表{\c_@@_ideo_comma_tl}借阅{\c_@@_ideo_comma_tl}复印%
+               {\c_@@_ideo_comma_tl}缩印或扫描复制手段保存{\c_@@_ideo_comma_tl}汇编论文)%
+            }
           }
       }
       {
@@ -2275,24 +2321,29 @@
 %    \begin{macrocode}
         \tl_const:Nn \c_@@_auth_decl_text_tl
           {
-            本毕业
-            \clist_item:Nn \c__@@_bachelor_type_clist
-              { \l__@@_info_bachelor_type_int }
-            的知识产权归属\c_@@_name_simp_tl{}。
-            本人同意\c_@@_name_simp_tl{}保存或向国家有关部门或机构
-            送交论文的纸质版和电子版,允许论文被查阅和借阅。\par
+            本毕业\clist_item:Nn \c__@@_bachelor_type_clist
+                                 { \l__@@_info_bachelor_type_int }%
+            的知识产权归属\c_@@_name_simp_tl{}{\c_@@_ideo_full_stop_tl}本%
+            人同意\c_@@_name_simp_tl{}保存或向国家有关部门或机构送交论文的%
+            纸质版和电子版{\c_@@_fwid_comma_tl}允许论文被查阅和借阅%
+            {\c_@@_ideo_full_stop_tl}\par
 
-            本人保证,在毕业离开\c_@@_name_simp_tl{}后,发表或者使用本毕业
-            \clist_item:Nn \c__@@_bachelor_type_clist
-              { \l__@@_info_bachelor_type_int }
-            及其相关的工作成果时,将以\c_@@_name_simp_tl{}
-            为第一署名单位,否则,愿意按《中华人民共和国著作权法》等
-            有关规定接受处理并承担法律责任。\par
+            本人保证{\c_@@_fwid_comma_tl}在毕业离开\c_@@_name_simp_tl{}后%
+            {\c_@@_fwid_comma_tl}发表或者使用本毕业%
+            \clist_item:Nn \c__@@_bachelor_type_clist { \l__@@_info_bachelor_type_int }%
+            及其相关的工作成果时{\c_@@_fwid_comma_tl}将以\c_@@_name_simp_tl{}%
+            为第一署名单位{\c_@@_fwid_comma_tl}否则{\c_@@_fwid_comma_tl}%
+            愿意按{\c_@@_fwid_left_title_tl}中华人民共和国著作权法%
+            {\c_@@_fwid_right_title_tl}等有关规定接受处理并承担法律责任%
+            {\c_@@_ideo_full_stop_tl}\par%
 
-            任何收存和保管本论文各种版本的其他单位和个人(包括作者本人)未经
-            本论文作者的导师同意,不得有对本论文进行复制、修改、发行、出租、
-            改编等侵犯著作权的行为,否则,按违背《中华人民共和国著作权法》
-            等有关规定处理并追究法律责任。
+            任何收存和保管本论文各种版本的其他单位和个人(包括作者本人)未经%
+            本论文作者的导师同意{\c_@@_fwid_comma_tl}不得有对本论文进行复制%
+            {\c_@@_ideo_comma_tl}修改{\c_@@_ideo_comma_tl}发行{\c_@@_ideo_comma_tl}%
+            出租{\c_@@_ideo_comma_tl}改编等侵犯著作权的行为{\c_@@_fwid_comma_tl}%
+            否则{\c_@@_fwid_comma_tl}按违背{\c_@@_fwid_left_title_tl}中华人民%
+            共和国著作权法{\c_@@_fwid_right_title_tl}%
+            等有关规定处理并追究法律责任{\c_@@_ideo_full_stop_tl}%
           }
       }
   }
@@ -2456,7 +2507,7 @@
             { cosupervisor      } { 联合指导教师   } { Co-Supervisor        },
             { date              } { 论文提交时间   } { Date~ of~ Submission },
             { abstract          } { 摘 \quad 要    } { ABSTRACT             },
-            { keywords          } { 关键字         } { KEYWORDS             },
+            { keywords          } { 关键词         } { KEY~WORDS             },
             { clc               } { 分类号         } { CLC~ number:         },
             { notation          } { 主要符号对照表 } { List~ of~ Symbols    }
           }
@@ -2470,7 +2521,7 @@
         \clist_map_inline:nn
           {
             { abstract } { 摘要        } { Abstract          },
-            { keywords } { 关键字      } { Keywords          },
+            { keywords } { 关键词      } { Keywords          },
             { clc      } { 分类号      } { CLC~ number       },
           }
           { \@@_define_name:nnn ##1 }
@@ -2675,18 +2726,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{withchapter}
-% 设置本科论文章标题是否为章格式。
-%    \begin{macrocode}
-\keys_define:nn { nwafu / style }
-  {
-    withchapter .bool_set:N = \l_@@_withchap_bool,
-    withchapter .default:n  = true,
-    withchapter .initial:n  = true,
-  }
-%    \end{macrocode}
-% \end{macro}
-%
 % \begin{macro}{
 %   \@@_setmainfont:nn,
 %   \@@_setsansfont:nn,
@@ -3439,8 +3478,8 @@
 %    \end{macrocode}
 %
 % \begin{variable}{\l_@@_header_center_mark_tl}
-% 保存中间页眉的文字。正文中设置为空,目录、摘要、符号表、
-% 参考文献、附录、致谢、个人简历等设置为相应标题。
+% 用于保存中间页眉文字的变量。正文中将其设置为空,目录、摘要、符号表、
+% 参考文献、附录、致谢、个人简历等设置为相应标题文字。
 %    \begin{macrocode}
 \tl_new:N \l_@@_header_center_mark_tl
 %    \end{macrocode}
@@ -3462,7 +3501,7 @@
     \bool_if:NT \g_@@_twoside_bool
       {
         \int_if_odd:nF \c at page
-          { \hbox:n { } \thispagestyle { empty } \newpage }
+          { \hbox:n { } \thispagestyle{ empty } \newpage }
       }
     \tl_gset:Nn \l_@@_header_center_mark_tl { }
   }
@@ -3479,8 +3518,8 @@
 % \changes{v1.11}{2022/04/02}{删除本科生目录页眉,并修正单面模式目录页眉。}
 %
 % \begin{macro}{\frontmatter,\mainmatter}
-% 重定义 \tn{frontmatter}和\tn{frontmatter},
-% 以根据学校要求定制摘要、目录、主要符号对照表等前置部分的页眉页脚。
+% 重定义 \tn{frontmatter}和\tn{mainmatter},
+% 根据学校要求定制摘要、目录、主要符号对照表等前置及下文部分的页眉页脚。
 %    \begin{macrocode}
 \cs_gset_eq:NN \nwafuhead\fancyhead
 \cs_gset_eq:NN \nwafufoot\fancyfoot
@@ -3512,16 +3551,17 @@
 %    \end{macrocode}
 % 研究生偶数页页眉
 %    \begin{macrocode}
-            \nwafuhead[EC]{\small \nouppercase{
-                \c_@@_name_simp_tl
-                \clist_item:Nn \c_@@_thesis_type_clist
-                  { \g_@@_thesis_type_int } }
+            \nwafuhead[EC]{
+                \small \nouppercase{
+                  \c_@@_name_simp_tl
+                  \clist_item:Nn \c_@@_thesis_type_clist { \g_@@_thesis_type_int }
+                }
               }
           }{
 %    \end{macrocode}
 % 本科生目录无页眉
 %    \begin{macrocode}
-            \renewcommand{\headrulewidth}{0.0pt}
+            \RenewDocumentCommand \headrulewidth { } { 0 pt }
           }
       }{
 %    \end{macrocode}
@@ -3534,7 +3574,7 @@
                 \small \nouppercase { \l_@@_header_center_mark_tl }
               }
           }{
-            \renewcommand{\headrulewidth}{0.0pt}
+            \RenewDocumentCommand \headrulewidth { } { 0 pt }
           }
       }
     \nwafufoot[C]{\small\thepage}
@@ -3576,7 +3616,7 @@
 %    \end{macrocode}
 % 本科生偶数页页眉
 %    \begin{macrocode}
-            \renewcommand{\headrulewidth}{0.4pt}
+            \RenewDocumentCommand \headrulewidth { } { 0.4 pt }
             \nwafuhead[EC]{\small \nouppercase{ \l__@@_info_title_tl } }
           }
       }{
@@ -3583,7 +3623,7 @@
 %    \end{macrocode}
 % 单面模式
 %    \begin{macrocode}
-        \renewcommand{\headrulewidth}{0.4pt}
+        \RenewDocumentCommand \headrulewidth { } { 0.4 pt }
         \nwafuhead [ C ]
           {
             \int_if_odd:nTF \c at page
@@ -3823,6 +3863,25 @@
 %
 % \subsection{章节标题设置}
 %
+% \begin{macro}{withchapter}
+% 设置本科论文章标题是否为章格式。
+%    \begin{macrocode}
+\keys_define:nn { nwafu / style }
+  {
+    withchapter .bool_set:N = \l_@@_withchap_bool,
+    withchapter .default:n  = true,
+    withchapter .initial:n  = true,
+
+    chapnum .choice:,
+    chapnum .value_required:n = true,
+    chapnum .choices:nn =
+      { zh, en }
+      { \int_set_eq:NN \g_@@_chapnum_int \l_keys_choice_int },
+    chapnum .initial:n = en,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \changes{v1.11}{2022/04/02}{修订本科生subsubsection编号两端括号为中文全角括号。}
 %
 % |\keys_set:nn{ctex}| 实际相当于调用 \cs{ctexset}。
@@ -3846,15 +3905,15 @@
               {
                 pagestyle   = fancy,
                 aftername   = \hspace*{1.0\ccwd},
-                format      = \zihao{3} \normalfont \nwafu at hei \bfseries \centering,
+                format      = \zihao{3} \normalfont \nwafu at hei \centering,
                 beforeskip  = 1.47\baselineskip,
                 afterskip   = 1.24\baselineskip,
-                number      = \@@_arabic:n { chapter },
+                number      = \chinese{ chapter },
                 fixskip     = true
               },
             section =
               {
-                format      = \zihao{-3} \normalfont \nwafu at hei \bfseries \raggedright,
+                format      = \zihao{-3} \normalfont \nwafu at hei \raggedright,
                 beforeskip  = 1.09\baselineskip,
                 afterskip   = 0.80\baselineskip,
                 fixskip     = true
@@ -3861,13 +3920,13 @@
               },
             subsection =
               {
-                format      = \zihao{4} \normalfont \nwafu at hei \bfseries \raggedright,
+                format      = \zihao{4} \normalfont \nwafu at hei \raggedright,
                 beforeskip  = 0.80\baselineskip,
                 fixskip     = true
               },
             subsubsection =
               {
-                format      = \zihao{-4} \normalfont \nwafu at hei \bfseries \raggedright,
+                format      = \zihao{-4} \normalfont \nwafu at hei \raggedright,
                 beforeskip  = 0.40\baselineskip,
                 afterskip   = 0.40\baselineskip,
                 fixskip     = true
@@ -3885,7 +3944,14 @@
                 pagestyle   = fancy,
                 name = { \bool_if:NT \l_@@_withchap_bool {第},
                          \bool_if:NT \l_@@_withchap_bool {章} },
-                number      = \@@_arabic:n { chapter },
+                number = {%
+                           \int_compare:nNnTF { \g_@@_chapnum_int } = { 1 }
+                              {
+                                \chinese{ chapter }
+                              }{
+                                \@@_arabic:n { chapter }
+                              }
+                         },
                 aftername   = \hspace*{\ccwd},
                 format      = \zihao{3} \normalfont \nwafu at hei \centering,
                 beforeskip  = 0.25\baselineskip,
@@ -3913,7 +3979,7 @@
               },
             subsubsection =
               {
-                name        = {(,)},
+                name        = {{\c_@@_fwid_left_paren_tl},{\c_@@_fwid_right_paren_tl}},
                 aftername   = \hspace*{0.0pt},
                 number      = \@@_arabic:n { subsubsection },
                 format      = \zihao{-4} \normalfont,
@@ -4442,15 +4508,24 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \subsection{图表绘制;浮动体}
+% \begin{macro}{\theequation}
+% 重定义公式编号。
+%    \begin{macrocode}
+\cs_set:Npn \theequation
+  { \thechapter - \@@_arabic:n { equation } }
+%    \end{macrocode}
+% \end{macro}
 %
+% \changes{v1.12}{2022/05/24}{修订图表题注西文为加粗。}
 %
+% \subsection{图表及其浮动体}
+%
 % 分别设置浮动体 \env{figure} 和 \env{table} 的标题样式。
 %    \begin{macrocode}
 \DeclareCaptionLabelSeparator{ccwd}{\hspace{0.5\ccwd}}
 \DeclareCaptionLabelFormat{parens}{\bothIfFirst{#1}{~}(#2)}
-\DeclareCaptionFont{nwafu at table@font}{\nwafu at hei\small}
-\DeclareCaptionFont{nwafu at figure@font}{\nwafu at hei\small}
+\DeclareCaptionFont{nwafu at table@font}{\nwafu at hei\bfseries\small}
+\DeclareCaptionFont{nwafu at figure@font}{\nwafu at hei\bfseries\small}
 \DeclareCaptionFont{nwafu at subtable@font}{\small}
 \DeclareCaptionFont{nwafu at subfigure@font}{\small}
 %    \end{macrocode}
@@ -4462,7 +4537,7 @@
     font            = {stretch = 1},
     labelsep        = ccwd,
     singlelinecheck = true,
-    skip=4bp,
+    skip            = 4bp,
   }
 %    \end{macrocode}
 % 图表题注字体设置。
@@ -4512,7 +4587,7 @@
 % 在tabular、tabularx、longtable环境开始处添加代码,
 % 设置表格行距和字号。
 %    \begin{macrocode}
-\@@_at_begin_environment:nn { tabular,tabularx,longtable,tblr }
+\@@_at_begin_environment:nn { tabular,longtable }
   {
     \exp_args:Nx \linespread { 1.05 }
     \small\selectfont\ignorespaces
@@ -4859,7 +4934,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \subsubsection{定义内部函数}
+% \subsubsection{内部函数}
 %
 % \begin{macro}{\@@_spread_box:nn,\@@_spread_box:Vn,\@@_spread_box:nV}
 % 分散对齐的水平盒子。
@@ -5240,7 +5315,7 @@
                     { \c_@@_name_author_tl        },
                     { \c_@@_name_supervisor_tl    },
                     { \c_@@_name_cosupervisor_tl  },
-                    { \c_@@_name_date_tl,         }
+                    { \c_@@_name_date_tl          }
                   }
                 \@@_get_max_text_width:NN \l_@@_tmpa_dim \l_@@_tmpa_clist
 %    \end{macrocode}
@@ -5858,623 +5933,872 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \changes{v1.12}{2022/04/12}{重新抽象封面\pkg{xtemplate}模板。}
+%
 % \subsubsection{封面模板}
 %
-% 声明封面对象。不需要带参数(\emph{完全复制fduthesis.dtx未做任何修改})。
+% 改自\url{https://github.com/stone-zeng/fduthesis/pull/236}
+%
+% 本模板使用 \pkg{xtemplate} 提供的面向对象方法绘制封面。
+%
+% 以下分别从页面元素(element)和页面整体(page)的层次进行了抽象。
+% 当把页面部件作为一个对象时,则页面部件只具备有限数量的属性:
+% 内容、格式、边距、对齐方式等。而具体页面是这些对象的实例的集合,
+% 附加边距、行距等属性。通过 \pkg{xtemplate} 提供的功能,可以
+% 根据这些属性创建模板(template),进而能大量构建具有\emph{相似行为}
+% 的实例(instance)。
+%
+% 声明对象类型,此类对象均不需要带参数。
 %    \begin{macrocode}
-%<@@=nwafu_cover>
-\DeclareObjectType { nwafu / cover } { \c_zero_int }
+\DeclareObjectType { nwafu } { \c_zero_int }
 %    \end{macrocode}
 %
-% \begin{macro}{\DeclareCoverTemplate,\nwafu_cover_declare_template:nn}
-% 声明封面模板。
-% \begin{arguments}
-%   \item 模板名称
-%   \item 封面部件列表,以逗号分隔
-% \end{arguments}
+% 定义元素模板。
 %    \begin{macrocode}
-\NewDocumentCommand \DeclareCoverTemplate { m m }
-  { \nwafu_cover_declare_template:nn {#1} {#2} }
-\cs_new_protected:Npn \nwafu_cover_declare_template:nn #1#2
+%<@@=nwafu_elem>
+%    \end{macrocode}
+%
+% 声明页面元素模板接口。
+%
+% 元素是一个页面的基本组成单位,包括文字段落、插图等等。
+% 一个抽象的元素应当具备以下属性:
+% \begin{description}
+%   \item[\opt{content}] 内容,即剥离了样式的元素本身
+%   \item[\opt{format}] 格式,例如字号、字体
+%   \item[\opt{bottom-skip}] 底边距,即与下一个元素的垂直距离
+%   \item[\opt{align}] 对齐方式,包括左对齐、右对齐、居中、正常段落
+% \end{description}
+%    \begin{macrocode}
+\DeclareTemplateInterface { nwafu } { element } { \c_zero_int }
   {
-    \tl_set:Nn \l_@@_template_tl {#1}
+    content     : tokenlist = \c_empty_tl,
+    format      : tokenlist = \c_empty_tl,
+    bottom-skip : skip      = \c_zero_skip,
+    align       : choice { left, right, center, normal } = normal
+  }
 %    \end{macrocode}
-% 构建模板接口。
+%
+% 声明页面元素模板代码。^^A 涉及的变量将被自动创建。
 %    \begin{macrocode}
-    \@@_declare_template_interface:nx {#1}
+\DeclareTemplateCode { nwafu } { element } { \c_zero_int }
+  {
+    content     = \l_@@_content_tl,
+    format      = \l_@@_format_tl,
+    bottom-skip = \l_@@_bottom_skip,
+    align =
       {
-        format      : tokenlist,
-        top-skip    : skip,
-        bottom-skip : skip,
-        \clist_map_function:nN {#2} \@@_key_type:n
+        left =
+          { \tl_set_eq:NN \l_@@_begin_align_tl \flushleft
+            \tl_set_eq:NN \l_@@_end_align_tl   \endflushleft  },
+        right =
+          { \tl_set_eq:NN \l_@@_begin_align_tl \flushright
+            \tl_set_eq:NN \l_@@_end_align_tl   \endflushright },
+        center =
+          { \tl_set_eq:NN \l_@@_begin_align_tl \center
+            \tl_set_eq:NN \l_@@_end_align_tl   \endcenter     },
+        normal =
+          { \tl_clear:N   \l_@@_begin_align_tl
+            \tl_clear:N   \l_@@_end_align_tl                  }
       }
+  }
+  {
+    \AssignTemplateKeys
+    \group_begin:
+      \l_@@_begin_align_tl
+      \l_@@_format_tl
+      \l_@@_content_tl \par
+      \l_@@_end_align_tl
+    \group_end:
+    \__nwafu_vspace:N \l_@@_bottom_skip
+  }
 %    \end{macrocode}
-% 声明所用变量。
+%
+% 定义页面模板。
 %    \begin{macrocode}
-    \tl_new:c   { l_@@ / #1 / format_tl   }
-    \skip_new:c { l_@@ / #1 / top_skip    }
-    \skip_new:c { l_@@ / #1 / bottom_skip }
-    \clist_map_inline:nn {#2}
-      {
-        \tl_new:c   { l_@@ / #1 / ##1 / content_tl  }
-        \tl_new:c   { l_@@ / #1 / ##1 / format_tl   }
-        \skip_new:c { l_@@ / #1 / ##1 / bottom_skip }
-      }
+%<@@=nwafu_page>
 %    \end{macrocode}
-% 声明模板代码。^^A 以下名字空间为 `nwafu_cover' 而非 `nwafu'
+%
+% 声明页面模板接口。
+%
+% 页面是元素的集合。一个抽象的页面应当具备以下属性:
+% \begin{description}
+%   \item[\opt{content}] 内容,包含页面元素模板实例名称的列表
+%   \item[\opt{prefix}] 元素模板实例名称前缀(表示封一、封二等)
+%   \item[\opt{format}] 格式,例如行距
+%   \item[\opt{top-skip}] 上间距,即与页面顶部的距离
+%   \item[\opt{bottom-skip}] 下间距,即与页面底部的距离
+% \end{description}
 %    \begin{macrocode}
-    \@@_declare_template_code:nxn {#1}
-      {
-        format      = \exp_not:c { l_@@ / #1 / format_tl   },
-        top-skip    = \use:c     { l_@@ / #1 / top_skip    },
-        bottom-skip = \use:c     { l_@@ / #1 / bottom_skip },
-        \clist_map_function:nN {#2} \@@_key_binding:n
-      }
-      {
-        \AssignTemplateKeys
-        \tl_use:c       { l_@@ / #1 / format_tl }
-        \__nwafu_vspace:c { l_@@ / #1 / top_skip  }
-        \clist_map_inline:nn {#2}
-          {
-            \use:c { @@ / #1 / ####1 / align:n }
-              {
-                \tl_use:c { l_@@ / #1 / ####1 / format_tl  }
-                \tl_use:c { l_@@ / #1 / ####1 / content_tl }
-                \par
-              }
-            \__nwafu_vspace:c { l_@@ / #1 / ####1 / bottom_skip }
-          }
-        \__nwafu_vspace:c { l_@@ / #1 / bottom_skip }
-      }
+\DeclareTemplateInterface { nwafu } { page } { \c_zero_int }
+  {
+    content     : commalist = \c_empty_clist,
+    prefix      : tokenlist = \c_empty_tl,
+    format      : tokenlist = \c_empty_tl,
+    top-skip    : skip      = \c_zero_skip,
+    bottom-skip : skip      = \c_zero_skip
   }
 %    \end{macrocode}
+%
+% 声明页面模板代码。
+%    \begin{macrocode}
+\DeclareTemplateCode { nwafu } { page } { \c_zero_int }
+  {
+    content     = \l_@@_content_clist,
+    prefix      = \l_@@_prefix_tl,
+    format      = \l_@@_format_tl,
+    top-skip    = \l_@@_top_skip,
+    bottom-skip = \l_@@_bottom_skip
+  }
+  {
+    \AssignTemplateKeys
+    \__nwafu_vspace:N \l_@@_top_skip
+    \group_begin:
+      \l_@@_format_tl
+      \clist_map_inline:Nn \l_@@_content_clist
+        { \UseInstance { nwafu } { \l_@@_prefix_tl ##1 } }
+    \group_end:
+    \__nwafu_vspace:N \l_@@_bottom_skip
+  }
+%
+%<@@=nwafu>
+%    \end{macrocode}
+%
+% \begin{macro}{\@@_declare_element:nn,\@@_declare_page:nn}
+% 封装 \pkg{xtemplate} 提供的函数,简化创建实例的过程。
+% \begin{arguments}
+%   \item 实例名称
+%   \item 参数列表
+% \end{arguments}
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_declare_element:nn #1#2
+  { \DeclareInstance { nwafu } {#1} { element } {#2} }
+\cs_generate_variant:Nn \@@_declare_element:nn { nx }
+\cs_new_protected:Npn \@@_declare_page:nn    #1#2
+  { \DeclareInstance { nwafu } {#1} { page    } {#2} }
+\cs_generate_variant:Nn \@@_declare_page:nn { nx }
+%    \end{macrocode}
 % \end{macro}
 %
-% \begin{variable}{\l_@@_template_tl}
-% 保存模板名称。
+% \subsubsection{定义封面页面元素}
+%
+% \begin{macro}{cover/i/id}
+% 封一学校代码和学号。仅本科生需要
 %    \begin{macrocode}
-\tl_new:N \l_@@_template_tl
+\@@_declare_element:nn { cover / i / id }
+  {
+    content     = \@@_cover_id:,
+    format      = \bfseries\zihao { -5 },
+    bottom-skip = 0 pt plus 0.3 fill,
+    align       = right,
+  }
 %    \end{macrocode}
-% \end{variable}
+% \end{macro}
 %
-% \begin{macro}{\@@_declare_template_interface:nn,
-%   \@@_declare_template_code:nnn,
-%   \@@_declare_template_interface:nx,
-%   \@@_declare_template_code:nxn}
-% 为了展开的方便,这里需要封装 \pkg{xtemplate} 的一些函数。
+% \begin{macro}{cover/i/logo}
+% 封一学校视觉识别图片(Logo)。
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_declare_template_interface:nn #1#2
-  { \DeclareTemplateInterface { nwafu / cover } {#1} { \c_zero_int } {#2} }
-\cs_new_protected:Npn \@@_declare_template_code:nnn #1#2#3
-  { \DeclareTemplateCode { nwafu / cover } {#1} { \c_zero_int } {#2} {#3} }
-\cs_generate_variant:Nn \@@_declare_template_interface:nn { nx  }
-\cs_generate_variant:Nn \@@_declare_template_code:nnn     { nxn }
+\@@_declare_element:nn { cover / i / logo }
+  {
+    content     = \@@_cover_logo:,
+    bottom-skip = \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
+                    {
 %    \end{macrocode}
+% 研究生
+%    \begin{macrocode}
+                      -45 pt plus 0.3 fill
+                    }{
+%    \end{macrocode}
+% 本科生
+%    \begin{macrocode}
+                      -30 pt plus 0.3 fill
+                    },
+    align       = center,
+  }
+%    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_key_type:n}
+% \begin{macro}{cover/i/type}
+% 封一论文类型。
 %    \begin{macrocode}
-\cs_new:Npn \@@_key_type:n #1
+\@@_declare_element:nn { cover / i / type }
   {
-    #1 / content     : tokenlist,
-    #1 / format      : tokenlist,
-    #1 / bottom-skip : skip,
-    #1 / align       : choice { left, right, center, normal } = normal,
+    content     = \@@_cover_type:,
+    format      = \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
+                    {
+%    \end{macrocode}
+% 研究生
+%    \begin{macrocode}
+                      \sffamily \zihao { 0 }
+                    }{
+%    \end{macrocode}
+% 本科生
+%    \begin{macrocode}
+                      \nwafu at kai\zihao{ 1 }
+                    },
+    bottom-skip = -20 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_key_binding:n}
+% \begin{macro}{cover/i/title}
+% 封一论文题目。
 %    \begin{macrocode}
-\cs_new:Npn \@@_key_binding:n #1
+\@@_declare_element:nn { cover / i / title }
   {
-    #1 / content     =
-      \exp_not:c
-        { l_@@ / \l_@@_template_tl / #1 / content_tl  },
-    #1 / format      =
-      \exp_not:c
-        { l_@@ / \l_@@_template_tl / #1 / format_tl   },
-    #1 / bottom-skip =
-      \exp_not:c
-        { l_@@ / \l_@@_template_tl / #1 / bottom_skip },
-    #1 / align       =
-      {
-        left   =
-          \exp_not:N \cs_set_protected:cpn
-            { @@ / \l_@@_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            {
-              \exp_not:n
-                {
-                  \group_begin:
-                    \flushleft ##1 \endflushleft
-                  \group_end:
-                }
-            },
-        right  =
-          \exp_not:N \cs_set_protected:cpn
-            { @@ / \l_@@_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            {
-              \exp_not:n
-                {
-                  \group_begin:
-                    \flushright ##1 \endflushright
-                  \group_end:
-                }
-            },
-        center =
-          \exp_not:N \cs_set_protected:cpn
-            { @@ / \l_@@_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            {
-              \exp_not:n
-                {
-                  \group_begin:
-                    \center ##1 \endcenter
-                  \group_end:
-                }
-            },
-        normal =
-          \exp_not:N \cs_set_protected:cpn
-            { @@ / \l_@@_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            { \exp_not:n { \group_begin: ##1 \group_end: } }
-      },
+    content     = \@@_fixed_width_center_box:nn { 0.9 \textwidth }
+                                           { \l_@@_info_title_tl },
+    format      = \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
+                    {
+%    \end{macrocode}
+% 研究生
+%    \begin{macrocode}
+                      \sffamily \zihao { 2 }
+                    }{
+%    \end{macrocode}
+% 本科生
+%    \begin{macrocode}
+                      \nwafu at hei\zihao{ 2 }
+                    },
+    bottom-skip = 80 pt plus 0.3 fill,
+    align       = center,
   }
-%<@@=nwafu>
 %    \end{macrocode}
 % \end{macro}
 %
-% \subsubsection{绘制封面}
+% \begin{macro}{cover/i/info}
+% 封一论文专业、单位、作者、导师等信息栏。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / i / info }
+  {
+    content     = \@@_cover_info:,
+    format      = \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
+                    {
+%    \end{macrocode}
+% 研究生
+%    \begin{macrocode}
+                      \@@_line_spread:n {1.05}\nwafu at hei \zihao { -3 }
+                    }{
+%    \end{macrocode}
+% 本科生
+%    \begin{macrocode}
+                      \rmfamily \zihao { 3 }
+                    },
+    align       = center,
+  }
+%    \end{macrocode}
+% \end{macro}
 %
-% \begin{macro}{\makecoveri,\makecoverii,\makecoveriii,
-%     \makecoveriv,\makecoverv,\makecovervi,\makecovervii}
-% 封面一$\sim$七,其中一$\sim$六为研究生使用,一和七为本科生使用。
+% \begin{macro}{cover/ii/type}
+% 封二论文类型(仅研究生用)。
 %    \begin{macrocode}
-% 封面一,研究生、本科生中文封面
-\NewDocumentCommand \makecoveri { }
+\@@_declare_element:nn { cover / ii / type }
   {
-    \thispagestyle { empty }
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \UseInstance { nwafu / cover } { cover-i-default }
-    \restoregeometry
+    content     = \int_case:nn { \g_@@_thesis_type_int }
+                    {
+                      {1}{
+%    \end{macrocode}
+% 博士研究生
+%    \begin{macrocode}
+                        \@@_fixed_width_center_box:nn { 0.7\textwidth } {
+                          Thesis~Submitted~to~\c_@@_name_en_tl\\
+                          in~Partial~Fulfillment~of~the~Requirements\\
+                          for~Degree~of\\
+                          Doctor~of~Philosophy
+                        }
+                      }
+                      {2}{
+%    \end{macrocode}
+% 硕士研究生
+%    \begin{macrocode}
+                        \@@_fixed_width_center_box:nn { 0.7\textwidth } {
+                          Thesis~Submitted~to~\c_@@_name_en_tl\\
+                          in~Partial~Fulfillment~of~the~Requirements\\
+                          for~Degree~of\\
+                          Master~of
+                          \int_case:nn {\l_@@_info_degree_type_int}
+                            {
+                              {1}{
+                                \@@_text_uline:V \l_@@_info_mastertype_en_tl
+                              }
+                              {2}{
+                                \@@_text_uline:V \l_@@_info_professionaltype_en_tl
+                              }
+                            }
+                        }
+                      }
+                    },
+    format      = \@@_line_spread:n {1.22} \zihao { -3 },
+    bottom-skip = 42 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
-% 封面二,研究生英文封面
+% \end{macro}
+%
+% \begin{macro}{cover/ii/title}
+% 封二论文英文(仅研究生用)。
 %    \begin{macrocode}
-\NewDocumentCommand \makecoverii { }
+\@@_declare_element:nn { cover / ii / title }
   {
-    \thispagestyle { empty }
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \UseInstance { nwafu / cover } { cover-ii-default }
-    \restoregeometry
+    content     = \l_@@_info_title_en_tl,
+    format      = \@@_line_spread:n {0.90} \zihao { 1 } \bfseries,
+    bottom-skip = 35 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
-% 封面三,研究生封面内页(ID、答辩委员会等)
+% \end{macro}
+%
+% \begin{macro}{cover/ii/info}
+% 封二论文专业、作者、导师等英文信息栏(仅研究生用)。
 %    \begin{macrocode}
-\NewDocumentCommand \makecoveriii { }
+\@@_declare_element:nn { cover / ii / info }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-iii-default }
-    \restoregeometry
+    content     = \@@_cover_info_en:,
+    format      = \@@_line_spread:n {1.12} \zihao { -3 },
+    bottom-skip = 72 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
-% 封面四,研究生项目资助页
+% \end{macro}
+%
+% \begin{macro}{cover/ii/department}
+% 封二论文单位英文(仅研究生用)。
 %    \begin{macrocode}
-\NewDocumentCommand \makecoveriv { }
+\@@_declare_element:nn { cover / ii / department }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-iv-default }
-    \restoregeometry
+    content     = \l_@@_info_department_en_tl,
+    format      = \zihao { -3 },
+    bottom-skip = -32 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
-% 封面五,研究生独创性声明与导师承诺
+% \end{macro}
+%
+% \begin{macro}{cover/ii/nwafu}
+% 封二学校名称英文(仅研究生用)。
 %    \begin{macrocode}
-\NewDocumentCommand \makecoverv { }
+\@@_declare_element:nn { cover / ii / nwafu }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-v-default }
-    \restoregeometry
+    content     = \c_@@_name_en_tl,
+    format      = \zihao { -3 },
+    align       = center,
   }
 %    \end{macrocode}
-% 封面六,研究生论文使用授权说明
+% \end{macro}
+%
+% \begin{macro}{cover/iii/id}
+% 封三题名页ID(仅研究生用)。
 %    \begin{macrocode}
-\NewDocumentCommand \makecovervi { }
+\@@_declare_element:nn { cover / iii / id }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-vi-default }
-    \restoregeometry
+    content     = \@@_cover_id:,
+    format      = \@@_line_spread:n {1.12}\zihao { -4 },
+    bottom-skip = 35 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
-% 封面七,本科生独创性声明及论文使用授权说明
+% \end{macro}
+%
+% \begin{macro}{cover/iii/type}
+% 封三题名页论文类型(仅研究生用)。
 %    \begin{macrocode}
-\NewDocumentCommand \makecovervii { }
+\@@_declare_element:nn { cover / iii / type }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-vii-default }
-    \restoregeometry
+    content     = \c_@@_name_simp_tl
+                  \clist_item:Nn \c_@@_thesis_type_clist { \g_@@_thesis_type_int },
+    format      = \zihao { -2 }\bfseries,
+    bottom-skip = 0 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% 声明各封面模板组成部分。
+% \begin{macro}{cover/iii/title}
+% 封三题名页论文题目(仅研究生用)。
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_declare_cover_i_template:
+\@@_declare_element:nn { cover / iii / title }
   {
-    \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
-      {
+    content     = \l_@@_info_title_tl,
+    format      = \zihao { 2 }\sffamily,
+    bottom-skip = 65 pt plus 0.3 fill,
+    align       = center,
+  }
 %    \end{macrocode}
-% 研究生封面一
+% \end{macro}
+%
+% \begin{macro}{cover/iii/instructors}
+% 封三题名页作者、导师(仅研究生用)。
 %    \begin{macrocode}
-        \DeclareCoverTemplate { cover-i   }
-          { logo, type, title, info }
-      }{
+\@@_declare_element:nn { cover / iii / instructors }
+  {
+    content     = \@@_cover_instructors:,
+    format      = \@@_line_spread:n {0.88}\zihao { 3 }\bfseries,
+    bottom-skip = 75 pt plus 0.3 fill,
+    align       = center,
+  }
 %    \end{macrocode}
-% 本科生封面一
+% \end{macro}
+%
+% \begin{macro}{cover/iii/ctitle}
+% 封三题名页答辩委员会标题(仅研究生用)。
 %    \begin{macrocode}
-        \DeclareCoverTemplate { cover-i   }
-          { id, logo, type, title, info }
-      }
+\@@_declare_element:nn { cover / iii / ctitle }
+  {
+    content     = 答辩委员会\c_@@_fwid_colon_tl,
+    format      = \zihao { -3 }\bfseries,
+    bottom-skip = -20 pt plus 0.3 fill,
+    align       = left,
   }
-\@@_declare_cover_i_template:
 %    \end{macrocode}
-% 研究生封面二
+% \end{macro}
+%
+% \begin{macro}{cover/iii/committees}
+% 封三题名页答辩委员会成员(仅研究生用)。
 %    \begin{macrocode}
-\DeclareCoverTemplate { cover-ii  } {
-  type, title, info, department, nwafu
+\@@_declare_element:nn { cover / iii / committees }
+  {
+    content     = \@@_cover_defensecommittees:,
+    format      = \@@_line_spread:n {1.12}\zihao { -3 },
+    bottom-skip = 60 pt plus 0.3 fill,
+    align       = center,
   }
 %    \end{macrocode}
-% 研究生封面三
+% \end{macro}
+%
+% \begin{macro}{cover/iii/date}
+% 封三题名页答辩日期(仅研究生用)。
 %    \begin{macrocode}
-\DeclareCoverTemplate { cover-iii } { id, name, title, instructors,
-    ctitle, committees, dtitle, date
+\@@_declare_element:nn { cover / iii / date }
+  {
+    content     = {\bfseries{}答辩日期}\c_@@_fwid_colon_tl\l_@@_info_defensedate_tl,
+    format      = \zihao { -3 },
+    bottom-skip = 0 pt plus 0.3 fill,
+    align       = left,
   }
 %    \end{macrocode}
-% 研究生封面四
+% \end{macro}
+%
+% \begin{macro}{cover/iv/foundation}
+% 封四资助页(仅研究生用)。
 %    \begin{macrocode}
-\DeclareCoverTemplate { cover-iv  } { name-list }
+\@@_declare_element:nn { cover / iv / foundation }
+  {
+    content     = \@@_cover_foundation:,
+    format      = \sffamily\zihao{3},
+    align       = center,
+  }
 %    \end{macrocode}
-% 研究生封面五
+% \end{macro}
+%
+% \begin{macro}{cover/v/originality-decl-name}
+% 封五独创声明标题(仅研究生用)。
 %    \begin{macrocode}
-\DeclareCoverTemplate { cover-v }
+\@@_declare_element:nn { cover / v / originality-decl-name }
   {
-    originality-decl-name,
-    originality-decl-text,
-    originality-decl-sig,
-    supervisor-decl-name,
-    supervisor-decl-text,
-    supervisor-decl-sig
+    content     = \c_@@_name_orig_decl_tl,
+    format      = \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
   }
 %    \end{macrocode}
-% 研究生封面六
+% \end{macro}
+%
+% \begin{macro}{cover/v/originality-decl-text}
+% 封五独创声明内容(仅研究生用)。
 %    \begin{macrocode}
-\DeclareCoverTemplate { cover-vi }
+\@@_declare_element:nn { cover / v / originality-decl-text }
   {
-    authorization-decl-name,
-    authorization-decl-text,
-    authorization-decl-sig,
-    supervisor-decl-sig
+    content     = \c_@@_orig_decl_text_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.4 cm,
   }
 %    \end{macrocode}
-% 封面七,仅用于本科生独创性声明和授权说明
+% \end{macro}
+%
+% \begin{macro}{cover/v/originality-decl-sig}
+% 封五独创声明签字(仅研究生用)。
 %    \begin{macrocode}
-\DeclareCoverTemplate { cover-vii }
+\@@_declare_element:nn { cover / v / originality-decl-sig }
   {
-    originality-decl-name,
-    originality-decl-text,
-    originality-decl-sig,
-    authorization-decl-name,
-    authorization-decl-text,
-    authorization-decl-sig,
-    supervisor-decl-sig
+    content     = \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.4 cm,
+    align       = left,
   }
 %    \end{macrocode}
+% \end{macro}
 %
-% 定义封面的具体配置参数。
-% 封面一
+% \begin{macro}{cover/v/supervisor-decl-name}
+% 封五导师承诺标题(仅研究生用)。
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_define_cover_i_entities:
+\@@_declare_element:nn { cover / v / supervisor-decl-name }
   {
-    \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
-      {
+    content     = \c_@@_name_super_decl_tl,
+    format      = \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
 %    \end{macrocode}
-% 研究生
+% \end{macro}
+%
+% \begin{macro}{cover/v/supervisor-decl-text}
+% 封五导师承诺内容(仅研究生用)。
 %    \begin{macrocode}
-        \DeclareInstance { nwafu / cover } { cover-i-default } { cover-i }
-          {
-            bottom-skip            = 0 pt plus 1.5 fill,
-            logo     / content     = \@@_cover_logo:,
-            logo     / bottom-skip = -45 pt plus 0.3 fill,
-            logo     / align       = center,
-            type     / content     = \@@_cover_type:,
-            type     / format      = \sffamily \zihao {  0 },% \bfseries,
-            type     / bottom-skip = -20 pt plus 0.3 fill,
-            type     / align       = center,
-            title    / content     =
-              \@@_fixed_width_center_box:nn
-                { 0.9 \textwidth } { \l_@@_info_title_tl },
-            title    / format      = \nwafu at hei \bfseries \zihao { 2 },
-            title    / bottom-skip = 80 pt plus 0.3 fill,
-            title    / align       = center,
-            info     / content     = \@@_cover_info:,
-            info     / format      = \@@_line_spread:n {1.05}\nwafu at hei \zihao { -3 },
-            info     / align       = center,
-          }
-      }{
+\@@_declare_element:nn { cover / v / supervisor-decl-text }
+  {
+    content     = \c_@@_super_decl_text_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.4 cm,
+  }
 %    \end{macrocode}
-% 本科生
+% \end{macro}
+%
+% \begin{macro}{cover/v/supervisor-decl-sig}
+% 封五导师承诺签字(仅研究生用)。
 %    \begin{macrocode}
-        \DeclareInstance { nwafu / cover } { cover-i-default } { cover-i }
-          {
-            bottom-skip            = 0 pt plus 0.5 fill,
-            id       / content     = \@@_cover_id:,
-            id       / format      = \bfseries\zihao { 4 },
-            id       / bottom-skip = 0 pt plus 0.3 fill,
-            id       / align       = right,
-            logo     / content     = \@@_cover_logo:,
-            logo     / bottom-skip = -30 pt,% plus 0.3 fill,
-            logo     / align       = center,
-            type     / content     = \@@_cover_type:,
-            type     / format      = \nwafu at kai\zihao { 1 },
-            type     / bottom-skip = -20 pt plus 0.3 fill,
-            type     / align       = center,
-            title    / content     = \@@_fixed_width_center_box:nn
-                                       { 0.9 \textwidth } { \l_@@_info_title_tl },
-            title    / format      = \nwafu at hei \zihao { 2 },
-            title    / bottom-skip = 80 pt plus 0.3 fill,
-            title    / align       = center,
-            info     / content     = \@@_cover_info:,
-            info     / format      = \rmfamily\zihao { 3 },
-            info     / align       = center,
-          }
-      }
+\@@_declare_element:nn { cover / v / supervisor-decl-sig }
+  {
+    content     = \@@_cover_signature:N \c_@@_super_decl_sign_tl,
+    format      = \zihao { -4 },
+    align       = left,
   }
-\@@_define_cover_i_entities:
 %    \end{macrocode}
-% 封面二
+% \end{macro}
+%
+% \begin{macro}{cover/vi/authorization-decl-name}
+% 封六使用授权标题(仅研究生用)。
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_define_cover_ii_entities:
+\@@_declare_element:nn { cover / vi / authorization-decl-name }
   {
-    \int_case:nn {\g_@@_thesis_type_int}
-      {
-        {1}{
+    content     = \c_@@_name_auth_decl_tl,
+    format      = \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
 %    \end{macrocode}
-% 博士研究生
+% \end{macro}
+%
+% \begin{macro}{cover/vi/authorization-decl-text}
+% 封六使用授权内容(仅研究生用)。
 %    \begin{macrocode}
-             \DeclareInstance { nwafu / cover } { cover-ii-default } { cover-ii }
-               {
-                 bottom-skip            = 0 pt plus 0.5 fill,
-                 type     / content =
-                   \@@_fixed_width_center_box:nn { 0.7\textwidth } {
-                      Thesis~Submitted~to~\c_@@_name_en_tl\\
-                      in~Partial~Fulfillment~of~the~Requirements\\
-                      for~Degree~of\\
-                      Doctor~of~Philosophy
+\@@_declare_element:nn { cover / vi / authorization-decl-text }
+  {
+    content     = \c_@@_auth_decl_text_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.8 cm,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vi/authorization-decl-sig}
+% 封六使用授权签字(仅研究生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vi / authorization-decl-sig }
+  {
+    content     = \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
+    align       = left,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vi/supervisor-decl-sig}
+% 封六使用授权签字(仅研究生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vi / supervisor-decl-sig }
+  {
+    content     = \@@_cover_signature:N \c_@@_super_decl_sign_tl,
+    align       = left,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/originality-decl-name}
+% 封七独创声明标题(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / originality-decl-name }
+  {
+    content     = \c_@@_name_orig_decl_tl,
+    format      = \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/originality-decl-text}
+% 封七独创声明内容(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / originality-decl-text }
+  {
+    content     = \c_@@_orig_decl_text_tl,
+    format      = \indent \zihao { -4 } \nwafu at kai,
+    bottom-skip = 0.4 cm,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/originality-decl-sig}
+% 封七独创声明学生签字(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / originality-decl-sig }
+  {
+    content     = \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    bottom-skip = 0.4 cm,
+    align       = left,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/authorization-decl-name}
+% 封七使用授权标题(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / authorization-decl-name }
+  {
+    content     = \c_@@_name_auth_decl_tl,
+    format      = \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/authorization-decl-text}
+% 封七使用授权内容(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / authorization-decl-text }
+  {
+    content     = \c_@@_auth_decl_text_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    bottom-skip = 0.4 cm,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/authorization-decl-sig}
+% 封七使用授权学生签字(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / authorization-decl-sig }
+  {
+    content     = \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    bottom-skip = -0.5 cm,
+    align       = left,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover/vii/supervisor-decl-sig}
+% 封七使用授权教师签字(仅本科生用)。
+%    \begin{macrocode}
+\@@_declare_element:nn { cover / vii / supervisor-decl-sig }
+  {
+    content     = \@@_cover_signature:N \c_@@_super_decl_sign_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    align       = left,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{定义封面页面参数}
+%
+% \begin{macro}{cover-i-default}
+% 封一。
+%    \begin{macrocode}
+\@@_declare_page:nx { cover-i-default }
+  {
+    content     = \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
+                    {
+%    \end{macrocode}
+% 研究生封面一
+%    \begin{macrocode}
+                      { logo, type, title, info }
+                    }{
+%    \end{macrocode}
+% 本科生封面一
+%    \begin{macrocode}
+                      { id, logo, type, title, info }
+                    },
+    prefix      = cover / i /,
+    bottom-skip = 0 pt plus 1.5 fill
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover-ii-default}
+% 封二(仅研究生用)。
+%    \begin{macrocode}
+\@@_declare_page:nn { cover-ii-default }
+  {
+    content     = { type, title, info, department, nwafu },
+    prefix      = cover / ii /,
+    bottom-skip = 0 pt plus 1.5 fill
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover-iii-default}
+% 封三(仅研究生用)。
+%    \begin{macrocode}
+\@@_declare_page:nn { cover-iii-default }
+  {
+    content     = { id, type, title, instructors, ctitle, committees, date },
+    prefix      = cover / iii /,
+    top-skip    = -55 pt plus 0.1 fill,
+    bottom-skip = 0 pt plus 0.5 fill
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover-iv-default}
+% 封四(仅研究生用)。
+%    \begin{macrocode}
+\@@_declare_page:nn { cover-iv-default }
+  {
+    content     = { foundation },
+    prefix      = cover / iv /,
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cover-v-default}
+% 封五(仅研究生用)。
+%    \begin{macrocode}
+\@@_declare_page:nn { cover-v-default }
+  {
+    content     = { originality-decl-name,
+                    originality-decl-text,
+                    originality-decl-sig,
+                    supervisor-decl-name,
+                    supervisor-decl-text,
+                    supervisor-decl-sig
                   },
-                 type     / format  = \@@_line_spread:n {1.22} \zihao { -3 },
-                 type     / bottom-skip = 42 pt,% plus 0.3 fill,
-                 type     / align   = center,
-                 title     / content = \l_@@_info_title_en_tl,
-                 title     / format  = \@@_line_spread:n {0.90}
-                                       \zihao { 1 } \bfseries,
-                 title     / bottom-skip = 35 pt,% plus 0.3 fill,
-                 title     / align   = center,
-                 info     / content     = \@@_cover_info_en:,
-                 info     / format      = \@@_line_spread:n {1.12} \zihao { -3 },
-                 info    / bottom-skip = 72 pt,% plus 0.3 fill,
-                 info     / align       = center,
-                 department     / content     = \l_@@_info_department_en_tl,
-                 department     / format      = \zihao { -3 },
-                 department     / bottom-skip = -32 pt,% plus 0.3 fill,
-                 department     / align       = center,
-                 nwafu     / content     = \c_@@_name_en_tl,
-                 nwafu     / format      = \zihao { -3 },
-                 nwafu     / align       = center,
-               }
-        }
-        {2}{
+    prefix      = cover / v /,
+    format      = \@@_line_spread:n { 1.25 },
+    top-skip    = 0 pt plus 0.2 fill,
+    bottom-skip = 0 pt plus 2.5 fill
+  }
 %    \end{macrocode}
-% 硕士研究生
+% \end{macro}
+%
+% \begin{macro}{cover-vi-default}
+% 封六(仅研究生用)。
 %    \begin{macrocode}
-             \DeclareInstance { nwafu / cover } { cover-ii-default } { cover-ii }
-               {
-                 bottom-skip            = 0 pt plus 0.5 fill,
-                 type     / content =
-                   \@@_fixed_width_center_box:nn { 0.7\textwidth } {
-                      Thesis~Submitted~to~\c_@@_name_en_tl\\
-                      in~Partial~Fulfillment~of~the~Requirements\\
-                      for~Degree~of\\
-                      Master~of
-                     \int_case:nn {\l_@@_info_degree_type_int}
-                      {
-                        {1}{
-                          \@@_text_uline:V \l_@@_info_mastertype_en_tl
-                        }
-                        {2}{
-                          \@@_text_uline:V \l_@@_info_professionaltype_en_tl
-                        }
-                      }
-                   },
-                 type     / format  = \@@_line_spread:n {1.22} \zihao { -3 },
-                 type     / bottom-skip = 42 pt,% plus 0.3 fill,
-                 type     / align   = center,
-                 title     / content = \l_@@_info_title_en_tl,
-                 title     / format  = \@@_line_spread:n {0.90} \zihao { 1 } \bfseries,
-                 title     / bottom-skip = 35 pt,% plus 0.3 fill,
-                 title     / align   = center,
-                 info     / content     = \@@_cover_info_en:,
-                 info     / format      = \@@_line_spread:n {1.12} \zihao { -3 },
-                 info    / bottom-skip = 72 pt,% plus 0.3 fill,
-                 info     / align       = center,
-                 department     / content     = \l_@@_info_department_en_tl,
-                 department     / format      = \zihao { -3 },
-                 department     / bottom-skip = -32 pt,% plus 0.3 fill,
-                 department     / align       = center,
-                 nwafu     / content     = \c_@@_name_en_tl,
-                 nwafu     / format      = \zihao { -3 },
-                 nwafu     / align       = center,
-               }
-        }
-      }
+\@@_declare_page:nn { cover-vi-default }
+  {
+    content     = { authorization-decl-name,
+                    authorization-decl-text,
+                    authorization-decl-sig,
+                    supervisor-decl-sig
+                  },
+    prefix      = cover / vi /,
+    format      = \@@_line_spread:n { 1.25 },
+    top-skip    = 0 pt plus 0.2 fill,
+    bottom-skip = 0 pt plus 2.5 fill
   }
-\@@_define_cover_ii_entities:
 %    \end{macrocode}
-% 封面三
+% \end{macro}
+%
+% \begin{macro}{cover-vii-default}
+% 封七(仅本科生用)。
 %    \begin{macrocode}
-\DeclareInstance { nwafu / cover } { cover-iii-default } { cover-iii }
+\@@_declare_page:nn { cover-vii-default }
   {
-    top-skip            = -55 pt plus 0.1 fill,
-    bottom-skip            = 0 pt plus 0.5 fill,
-    id     / content = \@@_cover_id:,
-    id     / format  =  \@@_line_spread:n {1.12}\zihao { -4 },
-    id     / bottom-skip = 35 pt plus 0.3 fill,
-    id     / align   = center,
-    name     / content = \c_@@_name_simp_tl
-                         \clist_item:Nn \c_@@_thesis_type_clist { \g_@@_thesis_type_int },
-    name     / format  = \zihao { -2 }\bfseries,
-    name     / bottom-skip = 0 pt plus 0.3 fill,
-    name     / align   = center,
-    title     / content = \l_@@_info_title_tl,
-    title     / format  = \zihao { 2 } \sffamily,
-    title     / bottom-skip = 65 pt plus 0.3 fill,
-    title     / align   = center,
-    instructors     / content     = \@@_cover_instructors:,
-    instructors     / format      = \@@_line_spread:n {0.88}\zihao { 3 }\bfseries,
-    instructors     / bottom-skip = 75 pt plus 0.3 fill,
-    instructors     / align       = center,
-    ctitle     / content = 答辩委员会\c_@@_fwid_colon_tl,
-    ctitle     / format  = \zihao { -3 }\bfseries,
-    ctitle     / bottom-skip = -20 pt plus 0.3 fill,
-    ctitle     / align   = left,
-    committees     / content     = \@@_cover_defensecommittees:,
-    committees     / format      = \@@_line_spread:n {1.12}\zihao { -3 },
-    committees     / bottom-skip = 60 pt plus 0.3 fill,
-    committees     / align       = center,
-    date     / content     = {\bfseries{}答辩日期}\c_@@_fwid_colon_tl\l_@@_info_defensedate_tl,
-    date     / format      = \zihao { -3 },
-    date     / bottom-skip = 0 pt plus 0.3 fill,
-    date     / align       = left,
+    content     = { originality-decl-name,
+                    originality-decl-text,
+                    originality-decl-sig,
+                    authorization-decl-name,
+                    authorization-decl-text,
+                    authorization-decl-sig,
+                    supervisor-decl-sig
+                  },
+    prefix      = cover / vii /,
+    format      = \@@_line_spread:n { 1.25 },
+    top-skip    = 0 pt plus 0.2 fill,
+    bottom-skip = 0 pt plus 2.5 fill
   }
 %    \end{macrocode}
-% 封面四
+% \end{macro}
+%
+% \subsubsection{排版封面}
+%
+% \begin{macro}{\makecoveri,\makecoverii,\makecoveriii,
+%     \makecoveriv,\makecoverv,\makecovervi,\makecovervii}
+% 封面一$\sim$七,其中一$\sim$六为研究生使用,一和七为本科生使用。
 %    \begin{macrocode}
-\DeclareInstance { nwafu / cover } { cover-iv-default } { cover-iv }
+% 封面一,研究生、本科生中文封面
+\NewDocumentCommand \makecoveri { }
   {
-    name-list / content = \@@_cover_foundation:,
-    name-list / format = \sffamily\zihao{3},
-    name-list / align = center,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-i-default }
+    \restoregeometry
   }
 %    \end{macrocode}
-% 封面五
+% 封面二,研究生英文封面
 %    \begin{macrocode}
-\DeclareInstance { nwafu / cover } { cover-v-default } { cover-v }
+\NewDocumentCommand \makecoverii { }
   {
-    format                                =
-      \@@_line_spread:n { 1.25 },
-    top-skip                              = 0 pt plus 0.2 fill,
-    bottom-skip                           = 0 pt plus 2.5 fill,
-    originality-decl-name   / content     = \c_@@_name_orig_decl_tl,
-    originality-decl-text   / content     = \c_@@_orig_decl_text_tl,
-    originality-decl-sig    / content     =
-      \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
-    supervisor-decl-name / content     = \c_@@_name_super_decl_tl,
-    supervisor-decl-text / content     = \c_@@_super_decl_text_tl,
-    supervisor-decl-sig  / content     =
-      \@@_cover_signature:N \c_@@_super_decl_sign_tl,
-    originality-decl-name   / format      =
-      \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    supervisor-decl-name / format      =
-      \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    originality-decl-text   / format      = \zihao { -4 },
-    supervisor-decl-text / format      = \zihao { -4 },
-    originality-decl-name   / bottom-skip = 0.25 cm,
-    originality-decl-text   / bottom-skip = 0.4 cm,
-    originality-decl-sig    / bottom-skip = 0.4 cm,
-    supervisor-decl-name / bottom-skip = 0.25 cm,
-    supervisor-decl-text / bottom-skip = 0.4 cm,
-    originality-decl-name   / align       = center,
-    originality-decl-sig    / align       = left,
-    supervisor-decl-name / align       = center,
-    supervisor-decl-sig  / align       = left,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-ii-default }
+    \restoregeometry
   }
 %    \end{macrocode}
-% 封面六
+% 封面三,研究生封面内页(ID、答辩委员会等)
 %    \begin{macrocode}
-\DeclareInstance { nwafu / cover } { cover-vi-default } { cover-vi }
+\NewDocumentCommand \makecoveriii { }
   {
-    format                                =
-      \@@_line_spread:n { 1.25 },
-    top-skip                              = 0 pt plus 0.2 fill,
-    bottom-skip                           = 0 pt plus 2.5 fill,
-    authorization-decl-name   / content     = \c_@@_name_auth_decl_tl,
-    authorization-decl-text   / content     = \c_@@_auth_decl_text_tl,
-    authorization-decl-sig    / content     =
-      \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
-    supervisor-decl-sig  / content     =
-      \@@_cover_signature:N \c_@@_super_decl_sign_tl,
-    authorization-decl-name   / format      =
-      \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    authorization-decl-text   / format      = \zihao { -4 },
-    authorization-decl-name   / bottom-skip = 0.25 cm,
-    authorization-decl-text   / bottom-skip = 0.8 cm,
-    authorization-decl-sig    / bottom-skip = -0.50 cm,
-    authorization-decl-name   / align       = center,
-    authorization-decl-sig    / align       = left,
-    supervisor-decl-sig  / align       = left,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-iii-default }
+    \restoregeometry
   }
 %    \end{macrocode}
-% 封面七
+% 封面四,研究生项目资助页
 %    \begin{macrocode}
-\DeclareInstance { nwafu / cover } { cover-vii-default } { cover-vii }
+\NewDocumentCommand \makecoveriv { }
   {
-    format                                =
-      \@@_line_spread:n { 1.25 },
-    top-skip                              = 0 pt plus 0.2 fill,
-    bottom-skip                           = 0 pt plus 2.5 fill,
-    originality-decl-name   / content     = \c_@@_name_orig_decl_tl,
-    originality-decl-text   / content     = \c_@@_orig_decl_text_tl,
-    originality-decl-sig    / content     =
-      \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
-    authorization-decl-name / content     = \c_@@_name_auth_decl_tl,
-    authorization-decl-text / content     = \c_@@_auth_decl_text_tl,
-    authorization-decl-sig  / content     =
-      \@@_cover_signature:N \c_@@_orig_decl_sign_tl,
-    supervisor-decl-sig  / content     =
-      \@@_cover_signature:N \c_@@_super_decl_sign_tl,
-    originality-decl-name   / format      =
-      \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    authorization-decl-name / format      =
-      \@@_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    originality-decl-text   / format      = \zihao { -4 } \nwafu at kai,
-    authorization-decl-text / format      = \zihao { -4 } \nwafu at kai,
-    originality-decl-sig   / format      = \zihao { -4 } \nwafu at kai,
-    authorization-decl-sig / format      = \zihao { -4 } \nwafu at kai,
-    supervisor-decl-sig / format      = \zihao { -4 } \nwafu at kai,
-    originality-decl-name   / bottom-skip = 0.25 cm,
-    originality-decl-text   / bottom-skip = 0.4 cm,
-    originality-decl-sig    / bottom-skip = 0.4 cm,
-    authorization-decl-name / bottom-skip = 0.25 cm,
-    authorization-decl-text / bottom-skip = 0.4 cm,
-    authorization-decl-sig    / bottom-skip = -0.5 cm,
-    originality-decl-name   / align       = center,
-    originality-decl-sig    / align       = left,
-    authorization-decl-name / align       = center,
-    authorization-decl-sig  / align       = left,
-    supervisor-decl-sig  / align       = left,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-iv-default }
+    \restoregeometry
   }
 %    \end{macrocode}
+% 封面五,研究生独创性声明与导师承诺
+%    \begin{macrocode}
+\NewDocumentCommand \makecoverv { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-v-default }
+    \restoregeometry
+  }
+%    \end{macrocode}
+% 封面六,研究生论文使用授权说明
+%    \begin{macrocode}
+\NewDocumentCommand \makecovervi { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-vi-default }
+    \restoregeometry
+  }
+%    \end{macrocode}
+% 封面七,本科生独创性声明及论文使用授权说明
+%    \begin{macrocode}
+\NewDocumentCommand \makecovervii { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-vii-default }
+    \restoregeometry
+  }
+%    \end{macrocode}
+% \end{macro}
 %
+% \subsubsection{自动生成封面}
+%
 % \begin{macro}{style/auto-make-cover}
 % \begin{variable}{\l_@@_auto_make_cover_bool}
 % 是否自动生成封面。
@@ -6580,21 +6904,13 @@
 %    \begin{macrocode}
 \NewDocumentCommand \makefront { }
   {
+%    \end{macrocode}
+% 恢复页面尺寸
+%    \begin{macrocode}
+    \restoregeometry
     \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 }
       {
 %    \end{macrocode}
-% 恢复研究生页面尺寸
-%    \begin{macrocode}
-        \newgeometry{
-          top        = 3.1cm,
-          bottom     = 3.3cm,
-          left       = 2.6cm,
-          right      = 2.6cm,
-          headheight = 0.8cm,
-          headsep    = 0.7cm,
-          footskip   = 1.4cm,
-        }
-%    \end{macrocode}
 % 研究生,\cs{frontmatter}命令用于设置页眉页脚,页码格式
 % 并于奇数页起排。
 %    \begin{macrocode}
@@ -6637,18 +6953,6 @@
           }
       }{
 %    \end{macrocode}
-% 恢复本科生页面尺寸
-%    \begin{macrocode}
-        \newgeometry{
-          top        = 3.14cm,
-          bottom     = 3.80cm,
-          left       = 2.45cm,
-          right      = 2.45cm,
-          headheight = 0.80cm,
-          headsep    = 0.63cm,
-          footskip   = 2.30cm,
-        }
-%    \end{macrocode}
 % 本科生,无页眉页脚
 %    \begin{macrocode}
         \cleardoublepage
@@ -6662,7 +6966,7 @@
               \@@_get_text_width:Nn \l_@@_tmpa_dim {\c_@@_name_keywords_tl}
               \group_begin:
                 \par \indent
-                {\sffamily\zihao{-4}
+                {\nwafu at hei\zihao{-4}
                 \@@_spread_box:Vn \l_@@_tmpa_dim {\c_@@_name_abstract_tl}
                 \c_@@_fwid_colon_tl}
                 \normalfont
@@ -6670,7 +6974,7 @@
               \group_end:
             \end{abstract}
           }
-        \clearpage
+        \cleardoublepage
         \thispagestyle { empty }
         \tl_if_empty:NF \l_@@_abstract_file_en_tl
           {
@@ -7059,7 +7363,7 @@
 \cs_new_protected:Npn \@@_abstract_end:
   {
     \@@_keywords:nNn
-      { \sffamily \zihao{-4} \c_@@_name_keywords_tl \c_@@_fwid_colon_tl  }
+      { \nwafu at hei \zihao{-4} \c_@@_name_keywords_tl \c_@@_fwid_colon_tl  }
       \l_@@_abstract_keywords_clist { ; ~}
   }
 \cs_new_protected:Npn \@@_abstract_en_end:
@@ -7249,18 +7553,20 @@
 %    \end{macrocode}
 % 参考文献引用与著录样式。
 %    \begin{macrocode}
-    \@@_pass_options_to_biblatex:n { style = gb7714-NWAFU,
-        sortlocale=zh__pinyin, gbtype=false,
-        maxbibnames=99, maxcitenames=2, mincitenames=1,
-        gbpub=false, uniquename=false, uniquelist=false,
-        gbnamefmt=lowercase,
-        doi=false, isbn=false,
-        gbfieldtype=true, gbpunctin=false,
-    }
+    \@@_pass_options_to_biblatex:n { style = gb7714-NWAFU }
 %    \end{macrocode}
 % 其它参数。
 %    \begin{macrocode}
-    \@@_pass_options_to_biblatex:n { backend = biber, }
+    % \@@_pass_options_to_biblatex:n
+    %   {
+    %     backend = biber,
+    %     sortlocale=zh__pinyin, gbtype=false,
+    %     maxbibnames=99, maxcitenames=2, mincitenames=1,
+    %     gbpub=false, uniquename=false, uniquelist=false,
+    %     gbnamefmt=lowercase,
+    %     doi=false, isbn=false,
+    %     gbfieldtype=true, gbpunctin=false,
+    %   }
   }
 \cs_new_protected:Npn \@@_biblatex_post_setup:
   {
@@ -7272,6 +7578,23 @@
 % 修改参考文献标题。
 %    \begin{macrocode}
     \defbibheading { bibliography } [ \bibname ] { \@@_chapter:n {##1} }
+%    \end{macrocode}
+% 修订著录列表中字号为5号字。
+%    \begin{macrocode}
+    \renewcommand{\bibfont}{\zihao{5}}
+%    \end{macrocode}
+% 修订著录列表中英文页码范围连接符号。
+%    \begin{macrocode}
+    \DefineBibliographyExtras{english}{%
+      \renewcommand*{\bibrangedash}{%
+        \iffieldequalstr{userd}{chinese}%
+        {%
+          \c_@@_fwid_tilde_tl%$\sim$
+        }{%
+          \textendash\penalty\hyphenpenalty
+        }
+      }
+    }
   }
 \cs_new_protected:Npn \@@_pass_options_to_biblatex:n #1
   { \PassOptionsToPackage {#1} { biblatex } }
@@ -7322,15 +7645,15 @@
   { \SetEnumitemValue{label}{#1}{#2} }
 \clist_map_inline:nn
   {
-    { bullet   } { \textbullet                      },
-    { endash   } { \normalfont\bfseries\textendash  },
-    { asterisk } { \textasteriskcentered            },
-    { arabic   } { (\arabic*)                     },
-    { alph     } { (\alph*)                       },
-    { roman    } { (\roman*)                      },
-    { alph     } { (\alph*)                       },
-    { roman    } { \roman*.                         },
-    { outline  } { \upshape\ding{111}               }
+    { bullet   } { \textbullet                                               },
+    { endash   } { \normalfont\bfseries\textendash                           },
+    { asterisk } { \textasteriskcentered                                     },
+    { arabic   } { \c_@@_fwid_left_paren_tl\arabic*\c_@@_fwid_right_paren_tl },
+    { alph     } { \c_@@_fwid_left_paren_tl\alph*\c_@@_fwid_right_paren_tl   },
+    { roman    } { \c_@@_fwid_left_paren_tl\roman*\c_@@_fwid_right_paren_tl  },
+    { alph     } { \c_@@_fwid_left_paren_tl\alph*\c_@@_fwid_right_paren_tl   },
+    { roman    } { \roman*.                                                  },
+    { outline  } { \upshape\ding{111}                                        }
   }
   { \@@_enumitem_label_set:nn #1 }
 \SetEnumitemValue{font}{sf}{\normalfont\sffamily}
@@ -7538,9 +7861,9 @@
     figurename          = 图,
     tablename           = 表,
   }
-\labelformat{equation}{式(#1)}
-\labelformat{section}{节 #1}
-\labelformat{subsection}{小节 #1}
+\labelformat{equation}{式(#1)}
+\labelformat{section}{第 #1 节}
+\labelformat{subsection}{第 #1 小节}
 %    \end{macrocode}
 %
 % \subsection{用户接口}

Modified: trunk/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls	2022-05-24 20:23:29 UTC (rev 63390)
+++ trunk/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls	2022-05-24 20:23:46 UTC (rev 63391)
@@ -30,7 +30,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo $Id: nwafuthesis.dtx 1.11 2022-04-03 Nan Geng <nangeng at nwafu.edu.cn> $
+\GetIdInfo $Id: nwafuthesis.dtx 1.12 2022-05-24 Nan Geng <nangeng at nwafu.edu.cn> $
   {Thesis template for Northwest A\&F University}
 \ProvidesExplClass{\ExplFileName}
   {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -85,6 +85,7 @@
 \bool_set_true:N \g__nwafu_twoside_bool
 \bool_new:N \g__nwafu_draft_bool
 \bool_new:N \l__nwafu_withchap_bool
+\int_new:N \g__nwafu_chapnum_int
 \cs_generate_variant:Nn \file_input:n           { V  }
 \cs_generate_variant:Nn \int_to_arabic:n        { v  }
 \cs_generate_variant:Nn \keys_define:nn         { nx }
@@ -245,12 +246,15 @@
   {
     { ideo_comma       } { "3001 },
     { ideo_full_stop   } { "3002 },
+    { fwid_tilde       } { "FF5E },
     { fwid_comma       } { "FF0C },
     { fwid_full_stop   } { "FF0E },
     { fwid_colon       } { "FF1A },
     { fwid_semicolon   } { "FF1B },
     { fwid_left_paren  } { "FF08 },
-    { fwid_right_paren } { "FF09 }
+    { fwid_right_paren } { "FF09 },
+    { fwid_left_title  } { "300A },
+    { fwid_right_title } { "300B }
   }
   { \__nwafu_define_punct:nn #1 }
 \fp_const:Nn \c__nwafu_line_spread_fp
@@ -261,30 +265,36 @@
       {
         \tl_const:Nn \c__nwafu_orig_decl_text_tl
           {
-            本人声明:所呈交的学位论文是我个人在导师指导下独立进行的研究工作及取
-            得的研究结果;论文中的研究数据及结果的获得完全符合学校《关于规范西北
-            农林科技大学研究生学术道德的暂行规定》,如果违反此规定,一切后果与法
-            律责任均由本人承担。\par
+            本人声明{\c__nwafu_fwid_colon_tl}所呈交的学位论文是我个人在导师指导下%
+            独立进行的研究工作及取得的研究结果{\c__nwafu_fwid_semicolon_tl}论文中%
+            的研究数据及结果的获得完全符合学校{\c__nwafu_fwid_left_title_tl}%
+            关于规范西北农林科技大学研究生学术道德的暂行规定{\c__nwafu_fwid_right_title_tl}%
+            {\c__nwafu_fwid_comma_tl}如果违反此规定{\c__nwafu_fwid_comma_tl}一切后果与%
+            法律责任均由本人承担{\c__nwafu_ideo_full_stop_tl}\par%
 
-            尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经
-            发表或撰写过的研究结果,也不包含其他人和自己本人已获得西北农林科技大
-            学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同事对本
-            研究所做的任何贡献均已在论文的致谢中作了明确的说明并表示了谢意。
+            尽我所知{\c__nwafu_fwid_comma_tl}除了文中特别加以标注和致谢的地方外%
+            {\c__nwafu_fwid_comma_tl}论文中不包含其他人已经发表或撰写过的研究结果%
+            {\c__nwafu_fwid_comma_tl}也不包含其他人和自己本人已获得西北农林科技大学%
+            或其它教育机构的学位或证书而使用过的材料{\c__nwafu_ideo_full_stop_tl}与%
+            我一同工作的同事对本研究所做的任何贡献均已在论文的致谢中作了明确的说%
+            明并表示了谢意{\c__nwafu_ideo_full_stop_tl}%
           }
       }
       {
         \tl_const:Nn \c__nwafu_orig_decl_text_tl
           {
-            本人声明:所呈交的毕业
+            本人声明{\c__nwafu_fwid_colon_tl}所呈交的毕业%
             \clist_item:Nn \c__nwafu_bachelor_type_clist
-              { \l__nwafu_info_bachelor_type_int }
-            是我个人在导师指导下
-            独立进行的研究工作及取得的研究结果。尽我所知,除了文中特别加
-            以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究结果,
-            也不包含其他人和自己本人已获得\c__nwafu_name_simp_tl{}或其它教育
-            机构的学位或证书而使用过的材料。与我一同工作的同事对本研究所做
-            的任何贡献均已在论文的致谢中作了明确的说明并表示了谢意。
-            如违反此声明,一切后果与法律责任均由本人承担。
+              { \l__nwafu_info_bachelor_type_int }%
+            是我个人在导师指导下独立进行的研究工作及取得的研究结果{\c__nwafu_ideo_full_stop_tl}%
+            尽我所知{\c__nwafu_fwid_comma_tl}除了文中特别加以标注和致谢的地%
+            方外{\c__nwafu_fwid_comma_tl}论文中不包含其他人已经发表或撰写过%
+            的研究结果{\c__nwafu_fwid_comma_tl}也不包含其他人和自己本人已获%
+            得\c__nwafu_name_simp_tl{}或其它教育机构的学位或证书而使用过的材%
+            料{\c__nwafu_ideo_full_stop_tl}与我一同工作的同事对本研究所做的%
+            任何贡献均已在论文的致谢中作了明确的说明并表示了谢意{\c__nwafu_ideo_full_stop_tl}%
+            如违反此声明{\c__nwafu_fwid_comma_tl}一切后果与法律责任均由本人%
+            承担{\c__nwafu_ideo_full_stop_tl}%
           }
       }
   }
@@ -291,12 +301,15 @@
 \__nwafu_define_orig_decl_text:
 \tl_const:Nn \c__nwafu_super_decl_text_tl
   {
-    本人承诺:我的研究生{\__nwafu_text_uline:V \l__nwafu_info_author_tl}所呈交的
-    学位论文是在我指导下独立开展研究工作及取得的研究结果,属于我现
-    岗职务工作的结果,并严格按照学校《关于规范西北农林科技大学研究生学术
-    道德的暂行规定》而获得的研究结果。如果违反学校《关于规范西北农林科
-    技大学研究生学术道德的暂行规定》,我愿接受按学校有关规定的处罚处理并
-    承担相应导师连带责任。
+    本人承诺{\c__nwafu_fwid_colon_tl}我的研究生{\__nwafu_text_uline:V \l__nwafu_info_author_tl}%
+    所呈交的学位论文是在我指导下独立开展研究工作及取得的研究结果%
+    {\c__nwafu_fwid_comma_tl}属于我现岗职务工作的结果{\c__nwafu_fwid_comma_tl}%
+    并严格按照学校{\c__nwafu_fwid_left_title_tl}关于规范西北农林科技大学研%
+    究生学术道德的暂行规定{\c__nwafu_fwid_right_title_tl}而%
+    获得的研究结果{\c__nwafu_ideo_full_stop_tl}如果违反学校{\c__nwafu_fwid_left_title_tl}%
+    关于规范西北农林科技大学研究生学术道德的暂行规定{\c__nwafu_fwid_right_title_tl}%
+    {\c__nwafu_fwid_comma_tl}我愿接受按学校%
+    有关规定的处罚处理并承担相应导师连带责任{\c__nwafu_ideo_full_stop_tl}%
   }
 \cs_new_protected:Npn \__nwafu_auth_orig_decl_text:
   {
@@ -304,46 +317,62 @@
       {
         \tl_const:Nn \c__nwafu_auth_decl_text_tl
           {
-            本学位论文的知识产权归属西北农林科技大学。本人同意西北农林科技大学
-            保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和
-            借阅;同意西北农林科技大学将本学位论文的全部或部分内容授权汇编录入
-            中国博士/硕士学位论文全文数据库》和《中国学位论文全文数据库》进行
-            出版,并享受相关权益。\par
+            本学位论文的知识产权归属西北农林科技大学{\c__nwafu_ideo_full_stop_tl}%
+            本人同意西北农林科技大学保存或向国家有关部门或机构送交论文的纸%
+            质版和电子版{\c__nwafu_fwid_comma_tl}允许论文被查阅和借阅{\c__nwafu_fwid_semicolon_tl}%
+            同意西北农林科技大学将本学位论文的全部或部分内容授权汇编录入%
+            {\c__nwafu_fwid_left_title_tl}中国博士/硕士学位论文全文数据库%
+            {\c__nwafu_fwid_right_title_tl}和{\c__nwafu_fwid_left_title_tl}中国学位%
+            论文全文数据库{\c__nwafu_fwid_right_title_tl}进行出版%
+            {\c__nwafu_fwid_comma_tl}并享受相关权益{\c__nwafu_ideo_full_stop_tl}\par
 
-            本人保证,在毕业离开(或者工作调离)西北农林科技大学后,发表或者使用本
-            学位论文及其相关的工作成果时,将以西北农林科技大学为第一署名单位,否
-            则,愿意按《中华人民共和国著作权法》等有关规定接受处理并承担法律责任。\par
+            本人保证{\c__nwafu_fwid_comma_tl}在毕业离开(或者工作调离)西北农林科技%
+            大学后{\c__nwafu_fwid_comma_tl}发表或者使用本学位论文及其相关的工作成%
+            果时{\c__nwafu_fwid_comma_tl}将以西北农林科技大学为第一署名单位%
+            {\c__nwafu_fwid_comma_tl}否则{\c__nwafu_fwid_comma_tl}愿意按
+            {\c__nwafu_fwid_left_title_tl}中华人民共和国著作权法{\c__nwafu_fwid_right_title_tl}%
+            等有关规定接受处理并承担法律责任{\c__nwafu_ideo_full_stop_tl}\par%
 
-            任何收存和保管本论文各种版本的其他单位和个人(包括研究生本人)未经本
-            论文作者的导师同意,不得有对本论文进行复制、修改、发行、出租、改编等
-            侵犯著作权的行为,否则,按违背《中华人民共和国著作权法》等有关规定处
-            理并追究法律责任。\par
+            任何收存和保管本论文各种版本的其他单位和个人(包括研究生本人)未经本%
+            论文作者的导师同意{\c__nwafu_fwid_comma_tl}不得有对本论文进行复制%
+            {\c__nwafu_ideo_comma_tl}修改{\c__nwafu_ideo_comma_tl}发行{\c__nwafu_ideo_comma_tl}%
+            出租{\c__nwafu_ideo_comma_tl}改编等侵犯著作权的行为{\c__nwafu_fwid_comma_tl}%
+            否则{\c__nwafu_fwid_comma_tl}按违背{\c__nwafu_fwid_left_title_tl}中华人民共和国%
+            著作权法{\c__nwafu_fwid_right_title_tl}等有关规定处%
+            理并追究法律责任{\c__nwafu_ideo_full_stop_tl}\par%
 
-            {\sffamily (保密的学位论文在保密期限内,不得以任何方式发表、借阅、复印、
-                缩印或扫描复制手段保存、汇编论文)}
+            {\sffamily (保密的学位论文在保密期限内{\c__nwafu_fwid_comma_tl}不得以任何%
+               方式发表{\c__nwafu_ideo_comma_tl}借阅{\c__nwafu_ideo_comma_tl}复印%
+               {\c__nwafu_ideo_comma_tl}缩印或扫描复制手段保存{\c__nwafu_ideo_comma_tl}汇编论文)%
+            }
           }
       }
       {
         \tl_const:Nn \c__nwafu_auth_decl_text_tl
           {
-            本毕业
-            \clist_item:Nn \c__nwafu_bachelor_type_clist
-              { \l__nwafu_info_bachelor_type_int }
-            的知识产权归属\c__nwafu_name_simp_tl{}。
-            本人同意\c__nwafu_name_simp_tl{}保存或向国家有关部门或机构
-            送交论文的纸质版和电子版,允许论文被查阅和借阅。\par
+            本毕业\clist_item:Nn \c__nwafu_bachelor_type_clist
+                                 { \l__nwafu_info_bachelor_type_int }%
+            的知识产权归属\c__nwafu_name_simp_tl{}{\c__nwafu_ideo_full_stop_tl}本%
+            人同意\c__nwafu_name_simp_tl{}保存或向国家有关部门或机构送交论文的%
+            纸质版和电子版{\c__nwafu_fwid_comma_tl}允许论文被查阅和借阅%
+            {\c__nwafu_ideo_full_stop_tl}\par
 
-            本人保证,在毕业离开\c__nwafu_name_simp_tl{}后,发表或者使用本毕业
-            \clist_item:Nn \c__nwafu_bachelor_type_clist
-              { \l__nwafu_info_bachelor_type_int }
-            及其相关的工作成果时,将以\c__nwafu_name_simp_tl{}
-            为第一署名单位,否则,愿意按《中华人民共和国著作权法》等
-            有关规定接受处理并承担法律责任。\par
+            本人保证{\c__nwafu_fwid_comma_tl}在毕业离开\c__nwafu_name_simp_tl{}后%
+            {\c__nwafu_fwid_comma_tl}发表或者使用本毕业%
+            \clist_item:Nn \c__nwafu_bachelor_type_clist { \l__nwafu_info_bachelor_type_int }%
+            及其相关的工作成果时{\c__nwafu_fwid_comma_tl}将以\c__nwafu_name_simp_tl{}%
+            为第一署名单位{\c__nwafu_fwid_comma_tl}否则{\c__nwafu_fwid_comma_tl}%
+            愿意按{\c__nwafu_fwid_left_title_tl}中华人民共和国著作权法%
+            {\c__nwafu_fwid_right_title_tl}等有关规定接受处理并承担法律责任%
+            {\c__nwafu_ideo_full_stop_tl}\par%
 
-            任何收存和保管本论文各种版本的其他单位和个人(包括作者本人)未经
-            本论文作者的导师同意,不得有对本论文进行复制、修改、发行、出租、
-            改编等侵犯著作权的行为,否则,按违背《中华人民共和国著作权法》
-            等有关规定处理并追究法律责任。
+            任何收存和保管本论文各种版本的其他单位和个人(包括作者本人)未经%
+            本论文作者的导师同意{\c__nwafu_fwid_comma_tl}不得有对本论文进行复制%
+            {\c__nwafu_ideo_comma_tl}修改{\c__nwafu_ideo_comma_tl}发行{\c__nwafu_ideo_comma_tl}%
+            出租{\c__nwafu_ideo_comma_tl}改编等侵犯著作权的行为{\c__nwafu_fwid_comma_tl}%
+            否则{\c__nwafu_fwid_comma_tl}按违背{\c__nwafu_fwid_left_title_tl}中华人民%
+            共和国著作权法{\c__nwafu_fwid_right_title_tl}%
+            等有关规定处理并追究法律责任{\c__nwafu_ideo_full_stop_tl}%
           }
       }
   }
@@ -448,7 +477,7 @@
             { cosupervisor      } { 联合指导教师   } { Co-Supervisor        },
             { date              } { 论文提交时间   } { Date~ of~ Submission },
             { abstract          } { 摘 \quad 要    } { ABSTRACT             },
-            { keywords          } { 关键字         } { KEYWORDS             },
+            { keywords          } { 关键词         } { KEY~WORDS             },
             { clc               } { 分类号         } { CLC~ number:         },
             { notation          } { 主要符号对照表 } { List~ of~ Symbols    }
           }
@@ -457,7 +486,7 @@
         \clist_map_inline:nn
           {
             { abstract } { 摘要        } { Abstract          },
-            { keywords } { 关键字      } { Keywords          },
+            { keywords } { 关键词      } { Keywords          },
             { clc      } { 分类号      } { CLC~ number       },
           }
           { \__nwafu_define_name:nnn ##1 }
@@ -577,12 +606,6 @@
       { adobe, fandol, founder, mac, sinotype, sourcehan, windows, none }
       { \tl_set_eq:NN \g__nwafu_cjk_fontset_tl \l_keys_choice_tl }
   }
-\keys_define:nn { nwafu / style }
-  {
-    withchapter .bool_set:N = \l__nwafu_withchap_bool,
-    withchapter .default:n  = true,
-    withchapter .initial:n  = true,
-  }
 \cs_new_protected:Npn \__nwafu_setmainfont:nn #1#2
   { \__fontspec_main_setmainfont:nn {#2} {#1} }
 \cs_new_protected:Npn \__nwafu_setsansfont:nn #1#2
@@ -1067,7 +1090,7 @@
     \bool_if:NT \g__nwafu_twoside_bool
       {
         \int_if_odd:nF \c at page
-          { \hbox:n { } \thispagestyle { empty } \newpage }
+          { \hbox:n { } \thispagestyle{ empty } \newpage }
       }
     \tl_gset:Nn \l__nwafu_header_center_mark_tl { }
   }
@@ -1084,13 +1107,14 @@
         \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
           {
             \nwafuhead[OC]{\small \nouppercase{ \leftmark } }
-            \nwafuhead[EC]{\small \nouppercase{
-                \c__nwafu_name_simp_tl
-                \clist_item:Nn \c__nwafu_thesis_type_clist
-                  { \g__nwafu_thesis_type_int } }
+            \nwafuhead[EC]{
+                \small \nouppercase{
+                  \c__nwafu_name_simp_tl
+                  \clist_item:Nn \c__nwafu_thesis_type_clist { \g__nwafu_thesis_type_int }
+                }
               }
           }{
-            \renewcommand{\headrulewidth}{0.0pt}
+            \RenewDocumentCommand \headrulewidth { } { 0 pt }
           }
       }{
         \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
@@ -1100,7 +1124,7 @@
                 \small \nouppercase { \l__nwafu_header_center_mark_tl }
               }
           }{
-            \renewcommand{\headrulewidth}{0.0pt}
+            \RenewDocumentCommand \headrulewidth { } { 0 pt }
           }
       }
     \nwafufoot[C]{\small\thepage}
@@ -1121,11 +1145,11 @@
                   { \g__nwafu_thesis_type_int } }
               }
           }{
-            \renewcommand{\headrulewidth}{0.4pt}
+            \RenewDocumentCommand \headrulewidth { } { 0.4 pt }
             \nwafuhead[EC]{\small \nouppercase{ \l__nwafu_info_title_tl } }
           }
       }{
-        \renewcommand{\headrulewidth}{0.4pt}
+        \RenewDocumentCommand \headrulewidth { } { 0.4 pt }
         \nwafuhead [ C ]
           {
             \int_if_odd:nTF \c at page
@@ -1261,6 +1285,19 @@
           }
       }
   }
+\keys_define:nn { nwafu / style }
+  {
+    withchapter .bool_set:N = \l__nwafu_withchap_bool,
+    withchapter .default:n  = true,
+    withchapter .initial:n  = true,
+
+    chapnum .choice:,
+    chapnum .value_required:n = true,
+    chapnum .choices:nn =
+      { zh, en }
+      { \int_set_eq:NN \g__nwafu_chapnum_int \l_keys_choice_int },
+    chapnum .initial:n = en,
+  }
 \cs_new_protected:Npn \__nwafu_ctexset_caption:
   {
     \int_compare:nNnTF{ \g__nwafu_thesis_type_int } < { 3 }
@@ -1272,15 +1309,15 @@
               {
                 pagestyle   = fancy,
                 aftername   = \hspace*{1.0\ccwd},
-                format      = \zihao{3} \normalfont \nwafu at hei \bfseries \centering,
+                format      = \zihao{3} \normalfont \nwafu at hei \centering,
                 beforeskip  = 1.47\baselineskip,
                 afterskip   = 1.24\baselineskip,
-                number      = \__nwafu_arabic:n { chapter },
+                number      = \chinese{ chapter },
                 fixskip     = true
               },
             section =
               {
-                format      = \zihao{-3} \normalfont \nwafu at hei \bfseries \raggedright,
+                format      = \zihao{-3} \normalfont \nwafu at hei \raggedright,
                 beforeskip  = 1.09\baselineskip,
                 afterskip   = 0.80\baselineskip,
                 fixskip     = true
@@ -1287,13 +1324,13 @@
               },
             subsection =
               {
-                format      = \zihao{4} \normalfont \nwafu at hei \bfseries \raggedright,
+                format      = \zihao{4} \normalfont \nwafu at hei \raggedright,
                 beforeskip  = 0.80\baselineskip,
                 fixskip     = true
               },
             subsubsection =
               {
-                format      = \zihao{-4} \normalfont \nwafu at hei \bfseries \raggedright,
+                format      = \zihao{-4} \normalfont \nwafu at hei \raggedright,
                 beforeskip  = 0.40\baselineskip,
                 afterskip   = 0.40\baselineskip,
                 fixskip     = true
@@ -1308,7 +1345,14 @@
                 pagestyle   = fancy,
                 name = { \bool_if:NT \l__nwafu_withchap_bool {第},
                          \bool_if:NT \l__nwafu_withchap_bool {章} },
-                number      = \__nwafu_arabic:n { chapter },
+                number = {%
+                           \int_compare:nNnTF { \g__nwafu_chapnum_int } = { 1 }
+                              {
+                                \chinese{ chapter }
+                              }{
+                                \__nwafu_arabic:n { chapter }
+                              }
+                         },
                 aftername   = \hspace*{\ccwd},
                 format      = \zihao{3} \normalfont \nwafu at hei \centering,
                 beforeskip  = 0.25\baselineskip,
@@ -1336,7 +1380,7 @@
               },
             subsubsection =
               {
-                name        = {(,)},
+                name        = {{\c__nwafu_fwid_left_paren_tl},{\c__nwafu_fwid_right_paren_tl}},
                 aftername   = \hspace*{0.0pt},
                 number      = \__nwafu_arabic:n { subsubsection },
                 format      = \zihao{-4} \normalfont,
@@ -1590,10 +1634,12 @@
 \cs_generate_variant:Nn \nwafu_thm_set_qed:n         { V }
 \cs_generate_variant:Nn \nwafu_thm_set_header_font:n { V }
 \cs_generate_variant:Nn \nwafu_thm_set_body_font:n   { V }
+\cs_set:Npn \theequation
+  { \thechapter - \__nwafu_arabic:n { equation } }
 \DeclareCaptionLabelSeparator{ccwd}{\hspace{0.5\ccwd}}
 \DeclareCaptionLabelFormat{parens}{\bothIfFirst{#1}{~}(#2)}
-\DeclareCaptionFont{nwafu at table@font}{\nwafu at hei\small}
-\DeclareCaptionFont{nwafu at figure@font}{\nwafu at hei\small}
+\DeclareCaptionFont{nwafu at table@font}{\nwafu at hei\bfseries\small}
+\DeclareCaptionFont{nwafu at figure@font}{\nwafu at hei\bfseries\small}
 \DeclareCaptionFont{nwafu at subtable@font}{\small}
 \DeclareCaptionFont{nwafu at subfigure@font}{\small}
 \captionsetup
@@ -1602,7 +1648,7 @@
     font            = {stretch = 1},
     labelsep        = ccwd,
     singlelinecheck = true,
-    skip=4bp,
+    skip            = 4bp,
   }
 \captionsetup[table]{font += nwafu at table@font}
 \captionsetup[longtable]{font += nwafu at table@font}
@@ -1634,7 +1680,7 @@
   {
     \centering
   }
-\__nwafu_at_begin_environment:nn { tabular,tabularx,longtable,tblr }
+\__nwafu_at_begin_environment:nn { tabular,longtable }
   {
     \exp_args:Nx \linespread { 1.05 }
     \small\selectfont\ignorespaces
@@ -1941,7 +1987,7 @@
                     { \c__nwafu_name_author_tl        },
                     { \c__nwafu_name_supervisor_tl    },
                     { \c__nwafu_name_cosupervisor_tl  },
-                    { \c__nwafu_name_date_tl,         }
+                    { \c__nwafu_name_date_tl          }
                   }
                 \__nwafu_get_max_text_width:NN \l__nwafu_tmpa_dim \l__nwafu_tmpa_clist
                 \clist_set:Nx \l__nwafu_tmpb_clist
@@ -2348,480 +2394,475 @@
     \hspace*{\fill}
     % \__nwafu_qquad:
   }
-\DeclareObjectType { nwafu / cover } { \c_zero_int }
-\NewDocumentCommand \DeclareCoverTemplate { m m }
-  { \nwafu_cover_declare_template:nn {#1} {#2} }
-\cs_new_protected:Npn \nwafu_cover_declare_template:nn #1#2
+\DeclareObjectType { nwafu } { \c_zero_int }
+\DeclareTemplateInterface { nwafu } { element } { \c_zero_int }
   {
-    \tl_set:Nn \l__nwafu_cover_template_tl {#1}
-    \__nwafu_cover_declare_template_interface:nx {#1}
+    content     : tokenlist = \c_empty_tl,
+    format      : tokenlist = \c_empty_tl,
+    bottom-skip : skip      = \c_zero_skip,
+    align       : choice { left, right, center, normal } = normal
+  }
+\DeclareTemplateCode { nwafu } { element } { \c_zero_int }
+  {
+    content     = \l__nwafu_elem_content_tl,
+    format      = \l__nwafu_elem_format_tl,
+    bottom-skip = \l__nwafu_elem_bottom_skip,
+    align =
       {
-        format      : tokenlist,
-        top-skip    : skip,
-        bottom-skip : skip,
-        \clist_map_function:nN {#2} \__nwafu_cover_key_type:n
+        left =
+          { \tl_set_eq:NN \l__nwafu_elem_begin_align_tl \flushleft
+            \tl_set_eq:NN \l__nwafu_elem_end_align_tl   \endflushleft  },
+        right =
+          { \tl_set_eq:NN \l__nwafu_elem_begin_align_tl \flushright
+            \tl_set_eq:NN \l__nwafu_elem_end_align_tl   \endflushright },
+        center =
+          { \tl_set_eq:NN \l__nwafu_elem_begin_align_tl \center
+            \tl_set_eq:NN \l__nwafu_elem_end_align_tl   \endcenter     },
+        normal =
+          { \tl_clear:N   \l__nwafu_elem_begin_align_tl
+            \tl_clear:N   \l__nwafu_elem_end_align_tl                  }
       }
-    \tl_new:c   { l__nwafu_cover / #1 / format_tl   }
-    \skip_new:c { l__nwafu_cover / #1 / top_skip    }
-    \skip_new:c { l__nwafu_cover / #1 / bottom_skip }
-    \clist_map_inline:nn {#2}
-      {
-        \tl_new:c   { l__nwafu_cover / #1 / ##1 / content_tl  }
-        \tl_new:c   { l__nwafu_cover / #1 / ##1 / format_tl   }
-        \skip_new:c { l__nwafu_cover / #1 / ##1 / bottom_skip }
-      }
-    \__nwafu_cover_declare_template_code:nxn {#1}
-      {
-        format      = \exp_not:c { l__nwafu_cover / #1 / format_tl   },
-        top-skip    = \use:c     { l__nwafu_cover / #1 / top_skip    },
-        bottom-skip = \use:c     { l__nwafu_cover / #1 / bottom_skip },
-        \clist_map_function:nN {#2} \__nwafu_cover_key_binding:n
-      }
-      {
-        \AssignTemplateKeys
-        \tl_use:c       { l__nwafu_cover / #1 / format_tl }
-        \__nwafu_vspace:c { l__nwafu_cover / #1 / top_skip  }
-        \clist_map_inline:nn {#2}
-          {
-            \use:c { __nwafu_cover / #1 / ####1 / align:n }
-              {
-                \tl_use:c { l__nwafu_cover / #1 / ####1 / format_tl  }
-                \tl_use:c { l__nwafu_cover / #1 / ####1 / content_tl }
-                \par
-              }
-            \__nwafu_vspace:c { l__nwafu_cover / #1 / ####1 / bottom_skip }
-          }
-        \__nwafu_vspace:c { l__nwafu_cover / #1 / bottom_skip }
-      }
   }
-\tl_new:N \l__nwafu_cover_template_tl
-\cs_new_protected:Npn \__nwafu_cover_declare_template_interface:nn #1#2
-  { \DeclareTemplateInterface { nwafu / cover } {#1} { \c_zero_int } {#2} }
-\cs_new_protected:Npn \__nwafu_cover_declare_template_code:nnn #1#2#3
-  { \DeclareTemplateCode { nwafu / cover } {#1} { \c_zero_int } {#2} {#3} }
-\cs_generate_variant:Nn \__nwafu_cover_declare_template_interface:nn { nx  }
-\cs_generate_variant:Nn \__nwafu_cover_declare_template_code:nnn     { nxn }
-\cs_new:Npn \__nwafu_cover_key_type:n #1
   {
-    #1 / content     : tokenlist,
-    #1 / format      : tokenlist,
-    #1 / bottom-skip : skip,
-    #1 / align       : choice { left, right, center, normal } = normal,
+    \AssignTemplateKeys
+    \group_begin:
+      \l__nwafu_elem_begin_align_tl
+      \l__nwafu_elem_format_tl
+      \l__nwafu_elem_content_tl \par
+      \l__nwafu_elem_end_align_tl
+    \group_end:
+    \__nwafu_vspace:N \l__nwafu_elem_bottom_skip
   }
-\cs_new:Npn \__nwafu_cover_key_binding:n #1
+\DeclareTemplateInterface { nwafu } { page } { \c_zero_int }
   {
-    #1 / content     =
-      \exp_not:c
-        { l__nwafu_cover / \l__nwafu_cover_template_tl / #1 / content_tl  },
-    #1 / format      =
-      \exp_not:c
-        { l__nwafu_cover / \l__nwafu_cover_template_tl / #1 / format_tl   },
-    #1 / bottom-skip =
-      \exp_not:c
-        { l__nwafu_cover / \l__nwafu_cover_template_tl / #1 / bottom_skip },
-    #1 / align       =
-      {
-        left   =
-          \exp_not:N \cs_set_protected:cpn
-            { __nwafu_cover / \l__nwafu_cover_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            {
-              \exp_not:n
-                {
-                  \group_begin:
-                    \flushleft ##1 \endflushleft
-                  \group_end:
-                }
-            },
-        right  =
-          \exp_not:N \cs_set_protected:cpn
-            { __nwafu_cover / \l__nwafu_cover_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            {
-              \exp_not:n
-                {
-                  \group_begin:
-                    \flushright ##1 \endflushright
-                  \group_end:
-                }
-            },
-        center =
-          \exp_not:N \cs_set_protected:cpn
-            { __nwafu_cover / \l__nwafu_cover_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            {
-              \exp_not:n
-                {
-                  \group_begin:
-                    \center ##1 \endcenter
-                  \group_end:
-                }
-            },
-        normal =
-          \exp_not:N \cs_set_protected:cpn
-            { __nwafu_cover / \l__nwafu_cover_template_tl / #1 / align:n }
-            \exp_not:n {##1}
-            { \exp_not:n { \group_begin: ##1 \group_end: } }
-      },
+    content     : commalist = \c_empty_clist,
+    prefix      : tokenlist = \c_empty_tl,
+    format      : tokenlist = \c_empty_tl,
+    top-skip    : skip      = \c_zero_skip,
+    bottom-skip : skip      = \c_zero_skip
   }
-\NewDocumentCommand \makecoveri { }
+\DeclareTemplateCode { nwafu } { page } { \c_zero_int }
   {
-    \thispagestyle { empty }
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \UseInstance { nwafu / cover } { cover-i-default }
-    \restoregeometry
+    content     = \l__nwafu_page_content_clist,
+    prefix      = \l__nwafu_page_prefix_tl,
+    format      = \l__nwafu_page_format_tl,
+    top-skip    = \l__nwafu_page_top_skip,
+    bottom-skip = \l__nwafu_page_bottom_skip
   }
-\NewDocumentCommand \makecoverii { }
   {
-    \thispagestyle { empty }
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \UseInstance { nwafu / cover } { cover-ii-default }
-    \restoregeometry
+    \AssignTemplateKeys
+    \__nwafu_vspace:N \l__nwafu_page_top_skip
+    \group_begin:
+      \l__nwafu_page_format_tl
+      \clist_map_inline:Nn \l__nwafu_page_content_clist
+        { \UseInstance { nwafu } { \l__nwafu_page_prefix_tl ##1 } }
+    \group_end:
+    \__nwafu_vspace:N \l__nwafu_page_bottom_skip
   }
-\NewDocumentCommand \makecoveriii { }
+\cs_new_protected:Npn \__nwafu_declare_element:nn #1#2
+  { \DeclareInstance { nwafu } {#1} { element } {#2} }
+\cs_generate_variant:Nn \__nwafu_declare_element:nn { nx }
+\cs_new_protected:Npn \__nwafu_declare_page:nn    #1#2
+  { \DeclareInstance { nwafu } {#1} { page    } {#2} }
+\cs_generate_variant:Nn \__nwafu_declare_page:nn { nx }
+\__nwafu_declare_element:nn { cover / i / id }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-iii-default }
-    \restoregeometry
+    content     = \__nwafu_cover_id:,
+    format      = \bfseries\zihao { -5 },
+    bottom-skip = 0 pt plus 0.3 fill,
+    align       = right,
   }
-\NewDocumentCommand \makecoveriv { }
+\__nwafu_declare_element:nn { cover / i / logo }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-iv-default }
-    \restoregeometry
+    content     = \__nwafu_cover_logo:,
+    bottom-skip = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
+                    {
+                      -45 pt plus 0.3 fill
+                    }{
+                      -30 pt plus 0.3 fill
+                    },
+    align       = center,
   }
-\NewDocumentCommand \makecoverv { }
+\__nwafu_declare_element:nn { cover / i / type }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-v-default }
-    \restoregeometry
+    content     = \__nwafu_cover_type:,
+    format      = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
+                    {
+                      \sffamily \zihao { 0 }
+                    }{
+                      \nwafu at kai\zihao{ 1 }
+                    },
+    bottom-skip = -20 pt plus 0.3 fill,
+    align       = center,
   }
-\NewDocumentCommand \makecovervi { }
+\__nwafu_declare_element:nn { cover / i / title }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-vi-default }
-    \restoregeometry
+    content     = \__nwafu_fixed_width_center_box:nn { 0.9 \textwidth }
+                                           { \l__nwafu_info_title_tl },
+    format      = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
+                    {
+                      \sffamily \zihao { 2 }
+                    }{
+                      \nwafu at hei\zihao{ 2 }
+                    },
+    bottom-skip = 80 pt plus 0.3 fill,
+    align       = center,
   }
-\NewDocumentCommand \makecovervii { }
+\__nwafu_declare_element:nn { cover / i / info }
   {
-    % \cleardoublepage
-    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
-    \thispagestyle { empty }
-    \UseInstance { nwafu / cover } { cover-vii-default }
-    \restoregeometry
+    content     = \__nwafu_cover_info:,
+    format      = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
+                    {
+                      \__nwafu_line_spread:n {1.05}\nwafu at hei \zihao { -3 }
+                    }{
+                      \rmfamily \zihao { 3 }
+                    },
+    align       = center,
   }
-\cs_new_protected:Npn \__nwafu_declare_cover_i_template:
+\__nwafu_declare_element:nn { cover / ii / type }
   {
-    \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
-      {
-        \DeclareCoverTemplate { cover-i   }
-          { logo, type, title, info }
-      }{
-        \DeclareCoverTemplate { cover-i   }
-          { id, logo, type, title, info }
-      }
+    content     = \int_case:nn { \g__nwafu_thesis_type_int }
+                    {
+                      {1}{
+                        \__nwafu_fixed_width_center_box:nn { 0.7\textwidth } {
+                          Thesis~Submitted~to~\c__nwafu_name_en_tl\\
+                          in~Partial~Fulfillment~of~the~Requirements\\
+                          for~Degree~of\\
+                          Doctor~of~Philosophy
+                        }
+                      }
+                      {2}{
+                        \__nwafu_fixed_width_center_box:nn { 0.7\textwidth } {
+                          Thesis~Submitted~to~\c__nwafu_name_en_tl\\
+                          in~Partial~Fulfillment~of~the~Requirements\\
+                          for~Degree~of\\
+                          Master~of
+                          \int_case:nn {\l__nwafu_info_degree_type_int}
+                            {
+                              {1}{
+                                \__nwafu_text_uline:V \l__nwafu_info_mastertype_en_tl
+                              }
+                              {2}{
+                                \__nwafu_text_uline:V \l__nwafu_info_professionaltype_en_tl
+                              }
+                            }
+                        }
+                      }
+                    },
+    format      = \__nwafu_line_spread:n {1.22} \zihao { -3 },
+    bottom-skip = 42 pt plus 0.3 fill,
+    align       = center,
   }
-\__nwafu_declare_cover_i_template:
-\DeclareCoverTemplate { cover-ii  } {
-  type, title, info, department, nwafu
+\__nwafu_declare_element:nn { cover / ii / title }
+  {
+    content     = \l__nwafu_info_title_en_tl,
+    format      = \__nwafu_line_spread:n {0.90} \zihao { 1 } \bfseries,
+    bottom-skip = 35 pt plus 0.3 fill,
+    align       = center,
   }
-\DeclareCoverTemplate { cover-iii } { id, name, title, instructors,
-    ctitle, committees, dtitle, date
+\__nwafu_declare_element:nn { cover / ii / info }
+  {
+    content     = \__nwafu_cover_info_en:,
+    format      = \__nwafu_line_spread:n {1.12} \zihao { -3 },
+    bottom-skip = 72 pt plus 0.3 fill,
+    align       = center,
   }
-\DeclareCoverTemplate { cover-iv  } { name-list }
-\DeclareCoverTemplate { cover-v }
+\__nwafu_declare_element:nn { cover / ii / department }
   {
-    originality-decl-name,
-    originality-decl-text,
-    originality-decl-sig,
-    supervisor-decl-name,
-    supervisor-decl-text,
-    supervisor-decl-sig
+    content     = \l__nwafu_info_department_en_tl,
+    format      = \zihao { -3 },
+    bottom-skip = -32 pt plus 0.3 fill,
+    align       = center,
   }
-\DeclareCoverTemplate { cover-vi }
+\__nwafu_declare_element:nn { cover / ii / nwafu }
   {
-    authorization-decl-name,
-    authorization-decl-text,
-    authorization-decl-sig,
-    supervisor-decl-sig
+    content     = \c__nwafu_name_en_tl,
+    format      = \zihao { -3 },
+    align       = center,
   }
-\DeclareCoverTemplate { cover-vii }
+\__nwafu_declare_element:nn { cover / iii / id }
   {
-    originality-decl-name,
-    originality-decl-text,
-    originality-decl-sig,
-    authorization-decl-name,
-    authorization-decl-text,
-    authorization-decl-sig,
-    supervisor-decl-sig
+    content     = \__nwafu_cover_id:,
+    format      = \__nwafu_line_spread:n {1.12}\zihao { -4 },
+    bottom-skip = 35 pt plus 0.3 fill,
+    align       = center,
   }
-\cs_new_protected:Npn \__nwafu_define_cover_i_entities:
+\__nwafu_declare_element:nn { cover / iii / type }
   {
-    \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
-      {
-        \DeclareInstance { nwafu / cover } { cover-i-default } { cover-i }
-          {
-            bottom-skip            = 0 pt plus 1.5 fill,
-            logo     / content     = \__nwafu_cover_logo:,
-            logo     / bottom-skip = -45 pt plus 0.3 fill,
-            logo     / align       = center,
-            type     / content     = \__nwafu_cover_type:,
-            type     / format      = \sffamily \zihao {  0 },% \bfseries,
-            type     / bottom-skip = -20 pt plus 0.3 fill,
-            type     / align       = center,
-            title    / content     =
-              \__nwafu_fixed_width_center_box:nn
-                { 0.9 \textwidth } { \l__nwafu_info_title_tl },
-            title    / format      = \nwafu at hei \bfseries \zihao { 2 },
-            title    / bottom-skip = 80 pt plus 0.3 fill,
-            title    / align       = center,
-            info     / content     = \__nwafu_cover_info:,
-            info     / format      = \__nwafu_line_spread:n {1.05}\nwafu at hei \zihao { -3 },
-            info     / align       = center,
-          }
-      }{
-        \DeclareInstance { nwafu / cover } { cover-i-default } { cover-i }
-          {
-            bottom-skip            = 0 pt plus 0.5 fill,
-            id       / content     = \__nwafu_cover_id:,
-            id       / format      = \bfseries\zihao { 4 },
-            id       / bottom-skip = 0 pt plus 0.3 fill,
-            id       / align       = right,
-            logo     / content     = \__nwafu_cover_logo:,
-            logo     / bottom-skip = -30 pt,% plus 0.3 fill,
-            logo     / align       = center,
-            type     / content     = \__nwafu_cover_type:,
-            type     / format      = \nwafu at kai\zihao { 1 },
-            type     / bottom-skip = -20 pt plus 0.3 fill,
-            type     / align       = center,
-            title    / content     = \__nwafu_fixed_width_center_box:nn
-                                       { 0.9 \textwidth } { \l__nwafu_info_title_tl },
-            title    / format      = \nwafu at hei \zihao { 2 },
-            title    / bottom-skip = 80 pt plus 0.3 fill,
-            title    / align       = center,
-            info     / content     = \__nwafu_cover_info:,
-            info     / format      = \rmfamily\zihao { 3 },
-            info     / align       = center,
-          }
-      }
+    content     = \c__nwafu_name_simp_tl
+                  \clist_item:Nn \c__nwafu_thesis_type_clist { \g__nwafu_thesis_type_int },
+    format      = \zihao { -2 }\bfseries,
+    bottom-skip = 0 pt plus 0.3 fill,
+    align       = center,
   }
-\__nwafu_define_cover_i_entities:
-\cs_new_protected:Npn \__nwafu_define_cover_ii_entities:
+\__nwafu_declare_element:nn { cover / iii / title }
   {
-    \int_case:nn {\g__nwafu_thesis_type_int}
-      {
-        {1}{
-             \DeclareInstance { nwafu / cover } { cover-ii-default } { cover-ii }
-               {
-                 bottom-skip            = 0 pt plus 0.5 fill,
-                 type     / content =
-                   \__nwafu_fixed_width_center_box:nn { 0.7\textwidth } {
-                      Thesis~Submitted~to~\c__nwafu_name_en_tl\\
-                      in~Partial~Fulfillment~of~the~Requirements\\
-                      for~Degree~of\\
-                      Doctor~of~Philosophy
+    content     = \l__nwafu_info_title_tl,
+    format      = \zihao { 2 }\sffamily,
+    bottom-skip = 65 pt plus 0.3 fill,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / iii / instructors }
+  {
+    content     = \__nwafu_cover_instructors:,
+    format      = \__nwafu_line_spread:n {0.88}\zihao { 3 }\bfseries,
+    bottom-skip = 75 pt plus 0.3 fill,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / iii / ctitle }
+  {
+    content     = 答辩委员会\c__nwafu_fwid_colon_tl,
+    format      = \zihao { -3 }\bfseries,
+    bottom-skip = -20 pt plus 0.3 fill,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / iii / committees }
+  {
+    content     = \__nwafu_cover_defensecommittees:,
+    format      = \__nwafu_line_spread:n {1.12}\zihao { -3 },
+    bottom-skip = 60 pt plus 0.3 fill,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / iii / date }
+  {
+    content     = {\bfseries{}答辩日期}\c__nwafu_fwid_colon_tl\l__nwafu_info_defensedate_tl,
+    format      = \zihao { -3 },
+    bottom-skip = 0 pt plus 0.3 fill,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / iv / foundation }
+  {
+    content     = \__nwafu_cover_foundation:,
+    format      = \sffamily\zihao{3},
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / v / originality-decl-name }
+  {
+    content     = \c__nwafu_name_orig_decl_tl,
+    format      = \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / v / originality-decl-text }
+  {
+    content     = \c__nwafu_orig_decl_text_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.4 cm,
+  }
+\__nwafu_declare_element:nn { cover / v / originality-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.4 cm,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / v / supervisor-decl-name }
+  {
+    content     = \c__nwafu_name_super_decl_tl,
+    format      = \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / v / supervisor-decl-text }
+  {
+    content     = \c__nwafu_super_decl_text_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.4 cm,
+  }
+\__nwafu_declare_element:nn { cover / v / supervisor-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_super_decl_sign_tl,
+    format      = \zihao { -4 },
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / vi / authorization-decl-name }
+  {
+    content     = \c__nwafu_name_auth_decl_tl,
+    format      = \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / vi / authorization-decl-text }
+  {
+    content     = \c__nwafu_auth_decl_text_tl,
+    format      = \zihao { -4 },
+    bottom-skip = 0.8 cm,
+  }
+\__nwafu_declare_element:nn { cover / vi / authorization-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / vi / supervisor-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_super_decl_sign_tl,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / vii / originality-decl-name }
+  {
+    content     = \c__nwafu_name_orig_decl_tl,
+    format      = \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / vii / originality-decl-text }
+  {
+    content     = \c__nwafu_orig_decl_text_tl,
+    format      = \indent \zihao { -4 } \nwafu at kai,
+    bottom-skip = 0.4 cm,
+  }
+\__nwafu_declare_element:nn { cover / vii / originality-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    bottom-skip = 0.4 cm,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / vii / authorization-decl-name }
+  {
+    content     = \c__nwafu_name_auth_decl_tl,
+    format      = \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
+    bottom-skip = 0.25 cm,
+    align       = center,
+  }
+\__nwafu_declare_element:nn { cover / vii / authorization-decl-text }
+  {
+    content     = \c__nwafu_auth_decl_text_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    bottom-skip = 0.4 cm,
+  }
+\__nwafu_declare_element:nn { cover / vii / authorization-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    bottom-skip = -0.5 cm,
+    align       = left,
+  }
+\__nwafu_declare_element:nn { cover / vii / supervisor-decl-sig }
+  {
+    content     = \__nwafu_cover_signature:N \c__nwafu_super_decl_sign_tl,
+    format      = \zihao { -4 } \nwafu at kai,
+    align       = left,
+  }
+\__nwafu_declare_page:nx { cover-i-default }
+  {
+    content     = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
+                    {
+                      { logo, type, title, info }
+                    }{
+                      { id, logo, type, title, info }
+                    },
+    prefix      = cover / i /,
+    bottom-skip = 0 pt plus 1.5 fill
+  }
+\__nwafu_declare_page:nn { cover-ii-default }
+  {
+    content     = { type, title, info, department, nwafu },
+    prefix      = cover / ii /,
+    bottom-skip = 0 pt plus 1.5 fill
+  }
+\__nwafu_declare_page:nn { cover-iii-default }
+  {
+    content     = { id, type, title, instructors, ctitle, committees, date },
+    prefix      = cover / iii /,
+    top-skip    = -55 pt plus 0.1 fill,
+    bottom-skip = 0 pt plus 0.5 fill
+  }
+\__nwafu_declare_page:nn { cover-iv-default }
+  {
+    content     = { foundation },
+    prefix      = cover / iv /,
+  }
+\__nwafu_declare_page:nn { cover-v-default }
+  {
+    content     = { originality-decl-name,
+                    originality-decl-text,
+                    originality-decl-sig,
+                    supervisor-decl-name,
+                    supervisor-decl-text,
+                    supervisor-decl-sig
                   },
-                 type     / format  = \__nwafu_line_spread:n {1.22} \zihao { -3 },
-                 type     / bottom-skip = 42 pt,% plus 0.3 fill,
-                 type     / align   = center,
-                 title     / content = \l__nwafu_info_title_en_tl,
-                 title     / format  = \__nwafu_line_spread:n {0.90}
-                                       \zihao { 1 } \bfseries,
-                 title     / bottom-skip = 35 pt,% plus 0.3 fill,
-                 title     / align   = center,
-                 info     / content     = \__nwafu_cover_info_en:,
-                 info     / format      = \__nwafu_line_spread:n {1.12} \zihao { -3 },
-                 info    / bottom-skip = 72 pt,% plus 0.3 fill,
-                 info     / align       = center,
-                 department     / content     = \l__nwafu_info_department_en_tl,
-                 department     / format      = \zihao { -3 },
-                 department     / bottom-skip = -32 pt,% plus 0.3 fill,
-                 department     / align       = center,
-                 nwafu     / content     = \c__nwafu_name_en_tl,
-                 nwafu     / format      = \zihao { -3 },
-                 nwafu     / align       = center,
-               }
-        }
-        {2}{
-             \DeclareInstance { nwafu / cover } { cover-ii-default } { cover-ii }
-               {
-                 bottom-skip            = 0 pt plus 0.5 fill,
-                 type     / content =
-                   \__nwafu_fixed_width_center_box:nn { 0.7\textwidth } {
-                      Thesis~Submitted~to~\c__nwafu_name_en_tl\\
-                      in~Partial~Fulfillment~of~the~Requirements\\
-                      for~Degree~of\\
-                      Master~of
-                     \int_case:nn {\l__nwafu_info_degree_type_int}
-                      {
-                        {1}{
-                          \__nwafu_text_uline:V \l__nwafu_info_mastertype_en_tl
-                        }
-                        {2}{
-                          \__nwafu_text_uline:V \l__nwafu_info_professionaltype_en_tl
-                        }
-                      }
-                   },
-                 type     / format  = \__nwafu_line_spread:n {1.22} \zihao { -3 },
-                 type     / bottom-skip = 42 pt,% plus 0.3 fill,
-                 type     / align   = center,
-                 title     / content = \l__nwafu_info_title_en_tl,
-                 title     / format  = \__nwafu_line_spread:n {0.90} \zihao { 1 } \bfseries,
-                 title     / bottom-skip = 35 pt,% plus 0.3 fill,
-                 title     / align   = center,
-                 info     / content     = \__nwafu_cover_info_en:,
-                 info     / format      = \__nwafu_line_spread:n {1.12} \zihao { -3 },
-                 info    / bottom-skip = 72 pt,% plus 0.3 fill,
-                 info     / align       = center,
-                 department     / content     = \l__nwafu_info_department_en_tl,
-                 department     / format      = \zihao { -3 },
-                 department     / bottom-skip = -32 pt,% plus 0.3 fill,
-                 department     / align       = center,
-                 nwafu     / content     = \c__nwafu_name_en_tl,
-                 nwafu     / format      = \zihao { -3 },
-                 nwafu     / align       = center,
-               }
-        }
-      }
+    prefix      = cover / v /,
+    format      = \__nwafu_line_spread:n { 1.25 },
+    top-skip    = 0 pt plus 0.2 fill,
+    bottom-skip = 0 pt plus 2.5 fill
   }
-\__nwafu_define_cover_ii_entities:
-\DeclareInstance { nwafu / cover } { cover-iii-default } { cover-iii }
+\__nwafu_declare_page:nn { cover-vi-default }
   {
-    top-skip            = -55 pt plus 0.1 fill,
-    bottom-skip            = 0 pt plus 0.5 fill,
-    id     / content = \__nwafu_cover_id:,
-    id     / format  =  \__nwafu_line_spread:n {1.12}\zihao { -4 },
-    id     / bottom-skip = 35 pt plus 0.3 fill,
-    id     / align   = center,
-    name     / content = \c__nwafu_name_simp_tl
-                         \clist_item:Nn \c__nwafu_thesis_type_clist { \g__nwafu_thesis_type_int },
-    name     / format  = \zihao { -2 }\bfseries,
-    name     / bottom-skip = 0 pt plus 0.3 fill,
-    name     / align   = center,
-    title     / content = \l__nwafu_info_title_tl,
-    title     / format  = \zihao { 2 } \sffamily,
-    title     / bottom-skip = 65 pt plus 0.3 fill,
-    title     / align   = center,
-    instructors     / content     = \__nwafu_cover_instructors:,
-    instructors     / format      = \__nwafu_line_spread:n {0.88}\zihao { 3 }\bfseries,
-    instructors     / bottom-skip = 75 pt plus 0.3 fill,
-    instructors     / align       = center,
-    ctitle     / content = 答辩委员会\c__nwafu_fwid_colon_tl,
-    ctitle     / format  = \zihao { -3 }\bfseries,
-    ctitle     / bottom-skip = -20 pt plus 0.3 fill,
-    ctitle     / align   = left,
-    committees     / content     = \__nwafu_cover_defensecommittees:,
-    committees     / format      = \__nwafu_line_spread:n {1.12}\zihao { -3 },
-    committees     / bottom-skip = 60 pt plus 0.3 fill,
-    committees     / align       = center,
-    date     / content     = {\bfseries{}答辩日期}\c__nwafu_fwid_colon_tl\l__nwafu_info_defensedate_tl,
-    date     / format      = \zihao { -3 },
-    date     / bottom-skip = 0 pt plus 0.3 fill,
-    date     / align       = left,
+    content     = { authorization-decl-name,
+                    authorization-decl-text,
+                    authorization-decl-sig,
+                    supervisor-decl-sig
+                  },
+    prefix      = cover / vi /,
+    format      = \__nwafu_line_spread:n { 1.25 },
+    top-skip    = 0 pt plus 0.2 fill,
+    bottom-skip = 0 pt plus 2.5 fill
   }
-\DeclareInstance { nwafu / cover } { cover-iv-default } { cover-iv }
+\__nwafu_declare_page:nn { cover-vii-default }
   {
-    name-list / content = \__nwafu_cover_foundation:,
-    name-list / format = \sffamily\zihao{3},
-    name-list / align = center,
+    content     = { originality-decl-name,
+                    originality-decl-text,
+                    originality-decl-sig,
+                    authorization-decl-name,
+                    authorization-decl-text,
+                    authorization-decl-sig,
+                    supervisor-decl-sig
+                  },
+    prefix      = cover / vii /,
+    format      = \__nwafu_line_spread:n { 1.25 },
+    top-skip    = 0 pt plus 0.2 fill,
+    bottom-skip = 0 pt plus 2.5 fill
   }
-\DeclareInstance { nwafu / cover } { cover-v-default } { cover-v }
+\NewDocumentCommand \makecoveri { }
   {
-    format                                =
-      \__nwafu_line_spread:n { 1.25 },
-    top-skip                              = 0 pt plus 0.2 fill,
-    bottom-skip                           = 0 pt plus 2.5 fill,
-    originality-decl-name   / content     = \c__nwafu_name_orig_decl_tl,
-    originality-decl-text   / content     = \c__nwafu_orig_decl_text_tl,
-    originality-decl-sig    / content     =
-      \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
-    supervisor-decl-name / content     = \c__nwafu_name_super_decl_tl,
-    supervisor-decl-text / content     = \c__nwafu_super_decl_text_tl,
-    supervisor-decl-sig  / content     =
-      \__nwafu_cover_signature:N \c__nwafu_super_decl_sign_tl,
-    originality-decl-name   / format      =
-      \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    supervisor-decl-name / format      =
-      \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    originality-decl-text   / format      = \zihao { -4 },
-    supervisor-decl-text / format      = \zihao { -4 },
-    originality-decl-name   / bottom-skip = 0.25 cm,
-    originality-decl-text   / bottom-skip = 0.4 cm,
-    originality-decl-sig    / bottom-skip = 0.4 cm,
-    supervisor-decl-name / bottom-skip = 0.25 cm,
-    supervisor-decl-text / bottom-skip = 0.4 cm,
-    originality-decl-name   / align       = center,
-    originality-decl-sig    / align       = left,
-    supervisor-decl-name / align       = center,
-    supervisor-decl-sig  / align       = left,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-i-default }
+    \restoregeometry
   }
-\DeclareInstance { nwafu / cover } { cover-vi-default } { cover-vi }
+\NewDocumentCommand \makecoverii { }
   {
-    format                                =
-      \__nwafu_line_spread:n { 1.25 },
-    top-skip                              = 0 pt plus 0.2 fill,
-    bottom-skip                           = 0 pt plus 2.5 fill,
-    authorization-decl-name   / content     = \c__nwafu_name_auth_decl_tl,
-    authorization-decl-text   / content     = \c__nwafu_auth_decl_text_tl,
-    authorization-decl-sig    / content     =
-      \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
-    supervisor-decl-sig  / content     =
-      \__nwafu_cover_signature:N \c__nwafu_super_decl_sign_tl,
-    authorization-decl-name   / format      =
-      \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    authorization-decl-text   / format      = \zihao { -4 },
-    authorization-decl-name   / bottom-skip = 0.25 cm,
-    authorization-decl-text   / bottom-skip = 0.8 cm,
-    authorization-decl-sig    / bottom-skip = -0.50 cm,
-    authorization-decl-name   / align       = center,
-    authorization-decl-sig    / align       = left,
-    supervisor-decl-sig  / align       = left,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-ii-default }
+    \restoregeometry
   }
-\DeclareInstance { nwafu / cover } { cover-vii-default } { cover-vii }
+\NewDocumentCommand \makecoveriii { }
   {
-    format                                =
-      \__nwafu_line_spread:n { 1.25 },
-    top-skip                              = 0 pt plus 0.2 fill,
-    bottom-skip                           = 0 pt plus 2.5 fill,
-    originality-decl-name   / content     = \c__nwafu_name_orig_decl_tl,
-    originality-decl-text   / content     = \c__nwafu_orig_decl_text_tl,
-    originality-decl-sig    / content     =
-      \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
-    authorization-decl-name / content     = \c__nwafu_name_auth_decl_tl,
-    authorization-decl-text / content     = \c__nwafu_auth_decl_text_tl,
-    authorization-decl-sig  / content     =
-      \__nwafu_cover_signature:N \c__nwafu_orig_decl_sign_tl,
-    supervisor-decl-sig  / content     =
-      \__nwafu_cover_signature:N \c__nwafu_super_decl_sign_tl,
-    originality-decl-name   / format      =
-      \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    authorization-decl-name / format      =
-      \__nwafu_line_spread:n { 1.2 } \zihao { 3 } \sffamily,
-    originality-decl-text   / format      = \zihao { -4 } \nwafu at kai,
-    authorization-decl-text / format      = \zihao { -4 } \nwafu at kai,
-    originality-decl-sig   / format      = \zihao { -4 } \nwafu at kai,
-    authorization-decl-sig / format      = \zihao { -4 } \nwafu at kai,
-    supervisor-decl-sig / format      = \zihao { -4 } \nwafu at kai,
-    originality-decl-name   / bottom-skip = 0.25 cm,
-    originality-decl-text   / bottom-skip = 0.4 cm,
-    originality-decl-sig    / bottom-skip = 0.4 cm,
-    authorization-decl-name / bottom-skip = 0.25 cm,
-    authorization-decl-text / bottom-skip = 0.4 cm,
-    authorization-decl-sig    / bottom-skip = -0.5 cm,
-    originality-decl-name   / align       = center,
-    originality-decl-sig    / align       = left,
-    authorization-decl-name / align       = center,
-    authorization-decl-sig  / align       = left,
-    supervisor-decl-sig  / align       = left,
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-iii-default }
+    \restoregeometry
   }
+\NewDocumentCommand \makecoveriv { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-iv-default }
+    \restoregeometry
+  }
+\NewDocumentCommand \makecoverv { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-v-default }
+    \restoregeometry
+  }
+\NewDocumentCommand \makecovervi { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-vi-default }
+    \restoregeometry
+  }
+\NewDocumentCommand \makecovervii { }
+  {
+    \thispagestyle { empty }
+    \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in}
+    \UseInstance { nwafu } { cover-vii-default }
+    \restoregeometry
+  }
 \bool_new:N \l__nwafu_auto_make_cover_bool
 \keys_define:nn { nwafu / style }
   {
@@ -2869,17 +2910,9 @@
   }
 \NewDocumentCommand \makefront { }
   {
+    \restoregeometry
     \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 }
       {
-        \newgeometry{
-          top        = 3.1cm,
-          bottom     = 3.3cm,
-          left       = 2.6cm,
-          right      = 2.6cm,
-          headheight = 0.8cm,
-          headsep    = 0.7cm,
-          footskip   = 1.4cm,
-        }
         \frontmatter
         \tl_if_empty:NF \l__nwafu_abstract_file_tl
           {
@@ -2903,15 +2936,6 @@
             \file_input:V \l__nwafu_notation_file_tl
           }
       }{
-        \newgeometry{
-          top        = 3.14cm,
-          bottom     = 3.80cm,
-          left       = 2.45cm,
-          right      = 2.45cm,
-          headheight = 0.80cm,
-          headsep    = 0.63cm,
-          footskip   = 2.30cm,
-        }
         \cleardoublepage
         \thispagestyle { empty }
         \tl_if_empty:NF \l__nwafu_abstract_file_tl
@@ -2920,7 +2944,7 @@
               \__nwafu_get_text_width:Nn \l__nwafu_tmpa_dim {\c__nwafu_name_keywords_tl}
               \group_begin:
                 \par \indent
-                {\sffamily\zihao{-4}
+                {\nwafu at hei\zihao{-4}
                 \__nwafu_spread_box:Vn \l__nwafu_tmpa_dim {\c__nwafu_name_abstract_tl}
                 \c__nwafu_fwid_colon_tl}
                 \normalfont
@@ -2928,7 +2952,7 @@
               \group_end:
             \end{abstract}
           }
-        \clearpage
+        \cleardoublepage
         \thispagestyle { empty }
         \tl_if_empty:NF \l__nwafu_abstract_file_en_tl
           {
@@ -3190,7 +3214,7 @@
 \cs_new_protected:Npn \__nwafu_abstract_end:
   {
     \__nwafu_keywords:nNn
-      { \sffamily \zihao{-4} \c__nwafu_name_keywords_tl \c__nwafu_fwid_colon_tl  }
+      { \nwafu at hei \zihao{-4} \c__nwafu_name_keywords_tl \c__nwafu_fwid_colon_tl  }
       \l__nwafu_abstract_keywords_clist { ; ~}
   }
 \cs_new_protected:Npn \__nwafu_abstract_en_end:
@@ -3283,20 +3307,33 @@
   }
 \cs_new_protected:Npn \__nwafu_biblatex_pre_setup:
   {
-    \__nwafu_pass_options_to_biblatex:n { style = gb7714-NWAFU,
-        sortlocale=zh__pinyin, gbtype=false,
-        maxbibnames=99, maxcitenames=2, mincitenames=1,
-        gbpub=false, uniquename=false, uniquelist=false,
-        gbnamefmt=lowercase,
-        doi=false, isbn=false,
-        gbfieldtype=true, gbpunctin=false,
-    }
-    \__nwafu_pass_options_to_biblatex:n { backend = biber, }
+    \__nwafu_pass_options_to_biblatex:n { style = gb7714-NWAFU }
+    % \__nwafu_pass_options_to_biblatex:n
+    %   {
+    %     backend = biber,
+    %     sortlocale=zh__pinyin, gbtype=false,
+    %     maxbibnames=99, maxcitenames=2, mincitenames=1,
+    %     gbpub=false, uniquename=false, uniquelist=false,
+    %     gbnamefmt=lowercase,
+    %     doi=false, isbn=false,
+    %     gbfieldtype=true, gbpunctin=false,
+    %   }
   }
 \cs_new_protected:Npn \__nwafu_biblatex_post_setup:
   {
     \clist_map_function:NN \l__nwafu_bib_resource_clist \addbibresource
     \defbibheading { bibliography } [ \bibname ] { \__nwafu_chapter:n {##1} }
+    \renewcommand{\bibfont}{\zihao{5}}
+    \DefineBibliographyExtras{english}{%
+      \renewcommand*{\bibrangedash}{%
+        \iffieldequalstr{userd}{chinese}%
+        {%
+          \c__nwafu_fwid_tilde_tl%$\sim$
+        }{%
+          \textendash\penalty\hyphenpenalty
+        }
+      }
+    }
   }
 \cs_new_protected:Npn \__nwafu_pass_options_to_biblatex:n #1
   { \PassOptionsToPackage {#1} { biblatex } }
@@ -3315,15 +3352,15 @@
   { \SetEnumitemValue{label}{#1}{#2} }
 \clist_map_inline:nn
   {
-    { bullet   } { \textbullet                      },
-    { endash   } { \normalfont\bfseries\textendash  },
-    { asterisk } { \textasteriskcentered            },
-    { arabic   } { (\arabic*)                     },
-    { alph     } { (\alph*)                       },
-    { roman    } { (\roman*)                      },
-    { alph     } { (\alph*)                       },
-    { roman    } { \roman*.                         },
-    { outline  } { \upshape\ding{111}               }
+    { bullet   } { \textbullet                                               },
+    { endash   } { \normalfont\bfseries\textendash                           },
+    { asterisk } { \textasteriskcentered                                     },
+    { arabic   } { \c__nwafu_fwid_left_paren_tl\arabic*\c__nwafu_fwid_right_paren_tl },
+    { alph     } { \c__nwafu_fwid_left_paren_tl\alph*\c__nwafu_fwid_right_paren_tl   },
+    { roman    } { \c__nwafu_fwid_left_paren_tl\roman*\c__nwafu_fwid_right_paren_tl  },
+    { alph     } { \c__nwafu_fwid_left_paren_tl\alph*\c__nwafu_fwid_right_paren_tl   },
+    { roman    } { \roman*.                                                  },
+    { outline  } { \upshape\ding{111}                                        }
   }
   { \__nwafu_enumitem_label_set:nn #1 }
 \SetEnumitemValue{font}{sf}{\normalfont\sffamily}
@@ -3446,9 +3483,9 @@
     figurename          = 图,
     tablename           = 表,
   }
-\labelformat{equation}{式(#1)}
-\labelformat{section}{节 #1}
-\labelformat{subsection}{小节 #1}
+\labelformat{equation}{式(#1)}
+\labelformat{section}{第 #1 节}
+\labelformat{subsection}{第 #1 小节}
 \keys_define:nn { nwafu }
   {
     abstract  .meta:nn = { nwafu / abstract } {#1},



More information about the tex-live-commits mailing list.