From 7b0a78f2af23a9c7644aafd108ac9a9317a5b254 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 24 May 2022 20:23:46 +0000 Subject: nwafuthesis (24may22) git-svn-id: svn://tug.org/texlive/trunk@63391 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls | 2 +- .../doc/latex/nwafuthesis/nwafuthesis.pdf | Bin 2323852 -> 2337625 bytes .../source/latex/nwafuthesis/nwafuthesis.dtx | 1617 ++++++++++++-------- .../tex/latex/nwafuthesis/nwafuthesis.cls | 1153 +++++++------- 4 files changed, 1566 insertions(+), 1206 deletions(-) diff --git a/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls b/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls index 8ed735ebfec..9d96ea0a12d 100644 --- a/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls +++ b/Master/texmf-dist/doc/latex/nwafuthesis/nwafudoc.cls @@ -31,7 +31,7 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo $Id: nwafuthesis.dtx 1.11 2022-04-03 Nan Geng $ +\GetIdInfo $Id: nwafuthesis.dtx 1.12 2022-05-24 Nan Geng $ {Documentation class for nwafuthesis} \ProvidesExplClass{nwafudoc} {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/doc/latex/nwafuthesis/nwafuthesis.pdf b/Master/texmf-dist/doc/latex/nwafuthesis/nwafuthesis.pdf index 5fdeb65580a..21c3a57b03c 100644 Binary files a/Master/texmf-dist/doc/latex/nwafuthesis/nwafuthesis.pdf and b/Master/texmf-dist/doc/latex/nwafuthesis/nwafuthesis.pdf differ diff --git a/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx b/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx index 100a1cc0390..79611c3fd71 100644 --- a/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx +++ b/Master/texmf-dist/source/latex/nwafuthesis/nwafuthesis.dtx @@ -110,7 +110,7 @@ %\NeedsTeXFormat{LaTeX2e} %\RequirePackage{expl3} %<*!(driver|install)> -%\GetIdInfo $Id: nwafuthesis.dtx 1.11 2022-04-03 Nan Geng $ +%\GetIdInfo $Id: nwafuthesis.dtx 1.12 2022-05-24 Nan Geng $ % {Thesis template for Northwest A\&F University} %\ProvidesExplClass{\ExplFileName} % {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,7 +803,14 @@ % \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 = (**) +% \end{nwafusyntax} +% 选择章编号格式,zh表示中文数字,en表示阿拉伯数字,默认为阿拉伯数字。 % \end{function} % % \subsubsection{信息录入} \label{subsubsec:信息录入} @@ -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@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,14 +3616,14 @@ % \end{macrocode} % 本科生偶数页页眉 % \begin{macrocode} - \renewcommand{\headrulewidth}{0.4pt} + \RenewDocumentCommand \headrulewidth { } { 0.4 pt } \nwafuhead[EC]{\small \nouppercase{ \l__@@_info_title_tl } } } }{ % \end{macrocode} % 单面模式 % \begin{macrocode} - \renewcommand{\headrulewidth}{0.4pt} + \RenewDocumentCommand \headrulewidth { } { 0.4 pt } \nwafuhead [ C ] { \int_if_odd:nTF \c@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,28 +3905,28 @@ { pagestyle = fancy, aftername = \hspace*{1.0\ccwd}, - format = \zihao{3} \normalfont \nwafu@hei \bfseries \centering, + format = \zihao{3} \normalfont \nwafu@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@hei \bfseries \raggedright, + format = \zihao{-3} \normalfont \nwafu@hei \raggedright, beforeskip = 1.09\baselineskip, afterskip = 0.80\baselineskip, fixskip = true }, subsection = { - format = \zihao{4} \normalfont \nwafu@hei \bfseries \raggedright, + format = \zihao{4} \normalfont \nwafu@hei \raggedright, beforeskip = 0.80\baselineskip, fixskip = true }, subsubsection = { - format = \zihao{-4} \normalfont \nwafu@hei \bfseries \raggedright, + format = \zihao{-4} \normalfont \nwafu@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@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@table@font}{\nwafu@hei\small} -\DeclareCaptionFont{nwafu@figure@font}{\nwafu@hei\small} +\DeclareCaptionFont{nwafu@table@font}{\nwafu@hei\bfseries\small} +\DeclareCaptionFont{nwafu@figure@font}{\nwafu@hei\bfseries\small} \DeclareCaptionFont{nwafu@subtable@font}{\small} \DeclareCaptionFont{nwafu@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,622 +5933,871 @@ % \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} +%<@@=nwafu_elem> +% \end{macrocode} +% +% 声明页面元素模板接口。 +% +% 元素是一个页面的基本组成单位,包括文字段落、插图等等。 +% 一个抽象的元素应当具备以下属性: +% \begin{description} +% \item[\opt{content}] 内容,即剥离了样式的元素本身 +% \item[\opt{format}] 格式,例如字号、字体 +% \item[\opt{bottom-skip}] 底边距,即与下一个元素的垂直距离 +% \item[\opt{align}] 对齐方式,包括左对齐、右对齐、居中、正常段落 +% \end{description} % \begin{macrocode} -\NewDocumentCommand \DeclareCoverTemplate { m m } - { \nwafu_cover_declare_template:nn {#1} {#2} } -\cs_new_protected:Npn \nwafu_cover_declare_template:nn #1#2 +\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} +\@@_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} -\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 } + -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@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@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@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} +\@@_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} +\@@_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, + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{cover/iii/committees} +% 封三题名页答辩委员会成员(仅研究生用)。 +% \begin{macrocode} +\@@_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} +\@@_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} +\@@_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} +\@@_declare_element:nn { cover / v / 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/v/originality-decl-text} +% 封五独创声明内容(仅研究生用)。 +% \begin{macrocode} +\@@_declare_element:nn { cover / v / originality-decl-text } + { + 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} +\@@_declare_element:nn { cover / v / originality-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} +\@@_declare_element:nn { cover / v / supervisor-decl-name } + { + 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} +\@@_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} +\@@_declare_element:nn { cover / v / supervisor-decl-sig } + { + content = \@@_cover_signature:N \c_@@_super_decl_sign_tl, + format = \zihao { -4 }, + align = left, + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{cover/vi/authorization-decl-name} +% 封六使用授权标题(仅研究生用)。 +% \begin{macrocode} +\@@_declare_element:nn { cover / vi / 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/vi/authorization-decl-text} +% 封六使用授权内容(仅研究生用)。 +% \begin{macrocode} +\@@_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@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@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@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@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@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} - \DeclareCoverTemplate { cover-i } - { logo, type, title, info } - }{ + { logo, type, title, info } + }{ % \end{macrocode} % 本科生封面一 % \begin{macrocode} - \DeclareCoverTemplate { cover-i } - { id, logo, type, title, info } - } + { id, logo, type, title, info } + }, + prefix = cover / i /, + bottom-skip = 0 pt plus 1.5 fill } -\@@_declare_cover_i_template: % \end{macrocode} -% 研究生封面二 +% \end{macro} +% +% \begin{macro}{cover-ii-default} +% 封二(仅研究生用)。 % \begin{macrocode} -\DeclareCoverTemplate { cover-ii } { - type, title, info, department, nwafu +\@@_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} -\DeclareCoverTemplate { cover-iii } { id, name, title, instructors, - ctitle, committees, dtitle, date +\@@_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} -\DeclareCoverTemplate { cover-iv } { name-list } +\@@_declare_page:nn { cover-iv-default } + { + content = { foundation }, + prefix = cover / iv /, + } % \end{macrocode} -% 研究生封面五 +% \end{macro} +% +% \begin{macro}{cover-v-default} +% 封五(仅研究生用)。 % \begin{macrocode} -\DeclareCoverTemplate { cover-v } +\@@_declare_page:nn { cover-v-default } { - originality-decl-name, - originality-decl-text, - originality-decl-sig, - supervisor-decl-name, - supervisor-decl-text, - supervisor-decl-sig + content = { originality-decl-name, + originality-decl-text, + originality-decl-sig, + supervisor-decl-name, + supervisor-decl-text, + supervisor-decl-sig + }, + 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} -\DeclareCoverTemplate { cover-vi } +\@@_declare_page:nn { cover-vi-default } { - authorization-decl-name, - authorization-decl-text, - authorization-decl-sig, - supervisor-decl-sig + 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 } % \end{macrocode} -% 封面七,仅用于本科生独创性声明和授权说明 +% \end{macro} +% +% \begin{macro}{cover-vii-default} +% 封七(仅本科生用)。 % \begin{macrocode} -\DeclareCoverTemplate { cover-vii } +\@@_declare_page:nn { cover-vii-default } { - originality-decl-name, - originality-decl-text, - originality-decl-sig, - authorization-decl-name, - authorization-decl-text, - authorization-decl-sig, - supervisor-decl-sig + 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} -\cs_new_protected:Npn \@@_define_cover_i_entities: +% 封面一,研究生、本科生中文封面 +\NewDocumentCommand \makecoveri { } { - \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 } - { + \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-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@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@hei \zihao { -3 }, - info / align = center, - } - }{ +\NewDocumentCommand \makecoverii { } + { + \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-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@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@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, - } - } +\NewDocumentCommand \makecoveriii { } + { + \thispagestyle { empty } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-iii-default } + \restoregeometry } -\@@_define_cover_i_entities: % \end{macrocode} -% 封面二 +% 封面四,研究生项目资助页 % \begin{macrocode} -\cs_new_protected:Npn \@@_define_cover_ii_entities: +\NewDocumentCommand \makecoveriv { } { - \int_case:nn {\g_@@_thesis_type_int} - { - {1}{ + \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} - \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 - }, - 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}{ +\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} - \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, - } - } - } +\NewDocumentCommand \makecovervi { } + { + \thispagestyle { empty } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-vi-default } + \restoregeometry } -\@@_define_cover_ii_entities: -% \end{macrocode} -% 封面三 -% \begin{macrocode} -\DeclareInstance { nwafu / cover } { cover-iii-default } { cover-iii } - { - 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, - } -% \end{macrocode} -% 封面四 -% \begin{macrocode} -\DeclareInstance { nwafu / cover } { cover-iv-default } { cover-iv } - { - name-list / content = \@@_cover_foundation:, - name-list / format = \sffamily\zihao{3}, - name-list / align = center, - } -% \end{macrocode} -% 封面五 -% \begin{macrocode} -\DeclareInstance { nwafu / cover } { cover-v-default } { cover-v } - { - 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, - } -% \end{macrocode} -% 封面六 -% \begin{macrocode} -\DeclareInstance { nwafu / cover } { cover-vi-default } { cover-vi } - { - 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, - } -% \end{macrocode} -% 封面七 -% \begin{macrocode} -\DeclareInstance { nwafu / cover } { cover-vii-default } { cover-vii } - { - 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@kai, - authorization-decl-text / format = \zihao { -4 } \nwafu@kai, - originality-decl-sig / format = \zihao { -4 } \nwafu@kai, - authorization-decl-sig / format = \zihao { -4 } \nwafu@kai, - supervisor-decl-sig / format = \zihao { -4 } \nwafu@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, +% \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,20 +6904,12 @@ % \begin{macrocode} \NewDocumentCommand \makefront { } { - \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, - } + \restoregeometry + \int_compare:nNnTF { \g_@@_thesis_type_int } < { 3 } + { % \end{macrocode} % 研究生,\cs{frontmatter}命令用于设置页眉页脚,页码格式 % 并于奇数页起排。 @@ -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@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@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{用户接口} diff --git a/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls b/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls index 0622b55889f..398e90540c7 100644 --- a/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls +++ b/Master/texmf-dist/tex/latex/nwafuthesis/nwafuthesis.cls @@ -30,7 +30,7 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo $Id: nwafuthesis.dtx 1.11 2022-04-03 Nan Geng $ +\GetIdInfo $Id: nwafuthesis.dtx 1.12 2022-05-24 Nan Geng $ {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,42 +265,51 @@ { \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}% } } } \__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@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@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,28 +1309,28 @@ { pagestyle = fancy, aftername = \hspace*{1.0\ccwd}, - format = \zihao{3} \normalfont \nwafu@hei \bfseries \centering, + format = \zihao{3} \normalfont \nwafu@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@hei \bfseries \raggedright, + format = \zihao{-3} \normalfont \nwafu@hei \raggedright, beforeskip = 1.09\baselineskip, afterskip = 0.80\baselineskip, fixskip = true }, subsection = { - format = \zihao{4} \normalfont \nwafu@hei \bfseries \raggedright, + format = \zihao{4} \normalfont \nwafu@hei \raggedright, beforeskip = 0.80\baselineskip, fixskip = true }, subsubsection = { - format = \zihao{-4} \normalfont \nwafu@hei \bfseries \raggedright, + format = \zihao{-4} \normalfont \nwafu@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@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@table@font}{\nwafu@hei\small} -\DeclareCaptionFont{nwafu@figure@font}{\nwafu@hei\small} +\DeclareCaptionFont{nwafu@table@font}{\nwafu@hei\bfseries\small} +\DeclareCaptionFont{nwafu@figure@font}{\nwafu@hei\bfseries\small} \DeclareCaptionFont{nwafu@subtable@font}{\small} \DeclareCaptionFont{nwafu@subfigure@font}{\small} \captionsetup @@ -1602,7 +1648,7 @@ font = {stretch = 1}, labelsep = ccwd, singlelinecheck = true, - skip=4bp, + skip = 4bp, } \captionsetup[table]{font += nwafu@table@font} \captionsetup[longtable]{font += nwafu@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} - { - format : tokenlist, - top-skip : skip, - bottom-skip : skip, - \clist_map_function:nN {#2} \__nwafu_cover_key_type:n - } - \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 - } + 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 = { - \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, - } -\cs_new:Npn \__nwafu_cover_key_binding:n #1 - { - #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: - } - }, + 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 = - \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: - } - }, + { \tl_set_eq:NN \l__nwafu_elem_begin_align_tl \center + \tl_set_eq:NN \l__nwafu_elem_end_align_tl \endcenter }, 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: } } - }, + { \tl_clear:N \l__nwafu_elem_begin_align_tl + \tl_clear:N \l__nwafu_elem_end_align_tl } + } + } + { + \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 + } +\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 + } +\DeclareTemplateCode { nwafu } { page } { \c_zero_int } + { + 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 + } + { + \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 + } +\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 } + { + content = \__nwafu_cover_id:, + format = \bfseries\zihao { -5 }, + bottom-skip = 0 pt plus 0.3 fill, + align = right, + } +\__nwafu_declare_element:nn { cover / i / logo } + { + 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, + } +\__nwafu_declare_element:nn { cover / i / type } + { + content = \__nwafu_cover_type:, + format = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 } + { + \sffamily \zihao { 0 } + }{ + \nwafu@kai\zihao{ 1 } + }, + bottom-skip = -20 pt plus 0.3 fill, + align = center, + } +\__nwafu_declare_element:nn { cover / i / title } + { + 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@hei\zihao{ 2 } + }, + bottom-skip = 80 pt plus 0.3 fill, + align = center, + } +\__nwafu_declare_element:nn { cover / i / info } + { + content = \__nwafu_cover_info:, + format = \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 } + { + \__nwafu_line_spread:n {1.05}\nwafu@hei \zihao { -3 } + }{ + \rmfamily \zihao { 3 } + }, + align = center, + } +\__nwafu_declare_element:nn { cover / ii / type } + { + 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_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, + } +\__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, + } +\__nwafu_declare_element:nn { cover / ii / department } + { + content = \l__nwafu_info_department_en_tl, + format = \zihao { -3 }, + bottom-skip = -32 pt plus 0.3 fill, + align = center, + } +\__nwafu_declare_element:nn { cover / ii / nwafu } + { + content = \c__nwafu_name_en_tl, + format = \zihao { -3 }, + align = center, + } +\__nwafu_declare_element:nn { cover / iii / id } + { + content = \__nwafu_cover_id:, + format = \__nwafu_line_spread:n {1.12}\zihao { -4 }, + bottom-skip = 35 pt plus 0.3 fill, + align = center, + } +\__nwafu_declare_element:nn { cover / iii / type } + { + 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_declare_element:nn { cover / iii / title } + { + 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@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@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@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@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@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 + }, + 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_declare_page:nn { cover-vi-default } + { + 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 + } +\__nwafu_declare_page:nn { cover-vii-default } + { + 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 } \NewDocumentCommand \makecoveri { } { \thispagestyle { empty } \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} - \UseInstance { nwafu / cover } { cover-i-default } + \UseInstance { nwafu } { cover-i-default } \restoregeometry } \NewDocumentCommand \makecoverii { } { \thispagestyle { empty } \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} - \UseInstance { nwafu / cover } { cover-ii-default } + \UseInstance { nwafu } { cover-ii-default } \restoregeometry } \NewDocumentCommand \makecoveriii { } { - % \cleardoublepage - \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} \thispagestyle { empty } - \UseInstance { nwafu / cover } { cover-iii-default } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-iii-default } \restoregeometry } \NewDocumentCommand \makecoveriv { } { - % \cleardoublepage - \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} \thispagestyle { empty } - \UseInstance { nwafu / cover } { cover-iv-default } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-iv-default } \restoregeometry } \NewDocumentCommand \makecoverv { } { - % \cleardoublepage - \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} \thispagestyle { empty } - \UseInstance { nwafu / cover } { cover-v-default } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-v-default } \restoregeometry } \NewDocumentCommand \makecovervi { } { - % \cleardoublepage - \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} \thispagestyle { empty } - \UseInstance { nwafu / cover } { cover-vi-default } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-vi-default } \restoregeometry } \NewDocumentCommand \makecovervii { } { - % \cleardoublepage - \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} \thispagestyle { empty } - \UseInstance { nwafu / cover } { cover-vii-default } + \newgeometry{top=1.0in, bottom=1.0in, left=1.25in, right=1.25in} + \UseInstance { nwafu } { cover-vii-default } \restoregeometry } -\cs_new_protected:Npn \__nwafu_declare_cover_i_template: - { - \int_compare:nNnTF { \g__nwafu_thesis_type_int } < { 3 } - { - \DeclareCoverTemplate { cover-i } - { logo, type, title, info } - }{ - \DeclareCoverTemplate { cover-i } - { id, logo, type, title, info } - } - } -\__nwafu_declare_cover_i_template: -\DeclareCoverTemplate { cover-ii } { - type, title, info, department, nwafu - } -\DeclareCoverTemplate { cover-iii } { id, name, title, instructors, - ctitle, committees, dtitle, date - } -\DeclareCoverTemplate { cover-iv } { name-list } -\DeclareCoverTemplate { cover-v } - { - originality-decl-name, - originality-decl-text, - originality-decl-sig, - supervisor-decl-name, - supervisor-decl-text, - supervisor-decl-sig - } -\DeclareCoverTemplate { cover-vi } - { - authorization-decl-name, - authorization-decl-text, - authorization-decl-sig, - supervisor-decl-sig - } -\DeclareCoverTemplate { cover-vii } - { - originality-decl-name, - originality-decl-text, - originality-decl-sig, - authorization-decl-name, - authorization-decl-text, - authorization-decl-sig, - supervisor-decl-sig - } -\cs_new_protected:Npn \__nwafu_define_cover_i_entities: - { - \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@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@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@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@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, - } - } - } -\__nwafu_define_cover_i_entities: -\cs_new_protected:Npn \__nwafu_define_cover_ii_entities: - { - \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 - }, - 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, - } - } - } - } -\__nwafu_define_cover_ii_entities: -\DeclareInstance { nwafu / cover } { cover-iii-default } { cover-iii } - { - 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, - } -\DeclareInstance { nwafu / cover } { cover-iv-default } { cover-iv } - { - name-list / content = \__nwafu_cover_foundation:, - name-list / format = \sffamily\zihao{3}, - name-list / align = center, - } -\DeclareInstance { nwafu / cover } { cover-v-default } { 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, - 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, - } -\DeclareInstance { nwafu / cover } { cover-vi-default } { 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, - 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, - } -\DeclareInstance { nwafu / cover } { cover-vii-default } { 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, - 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@kai, - authorization-decl-text / format = \zihao { -4 } \nwafu@kai, - originality-decl-sig / format = \zihao { -4 } \nwafu@kai, - authorization-decl-sig / format = \zihao { -4 } \nwafu@kai, - supervisor-decl-sig / format = \zihao { -4 } \nwafu@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, - } \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@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@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}, -- cgit v1.2.3