summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xduts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-21 20:20:17 +0000
committerKarl Berry <karl@freefriends.org>2022-06-21 20:20:17 +0000
commit63446a2b35ad0f9b901c69d79e4f07268420cfc9 (patch)
treefdfedf16416727a25617eaf7314959cdefb4955c /Master/texmf-dist/tex/xelatex/xduts
parentcdee8a20726c698cd0c7428881c50524f67bf6ad (diff)
xduts (21jun22)
git-svn-id: svn://tug.org/texlive/trunk@63681 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xduts')
-rw-r--r--Master/texmf-dist/tex/xelatex/xduts/xdufont.sty14
-rw-r--r--Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls1228
-rw-r--r--Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls133
3 files changed, 1278 insertions, 97 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty
index 322f06f5211..06324233c65 100644
--- a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty
+++ b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty
@@ -28,7 +28,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{xdufont}
- {2022/05/15}{1.15.0.1}
+ {2022/06/21}{2.0.0.0}
{Xidian University Font package}
\RequirePackage { xparse, l3keys2e }
\PassOptionsToPackage { quiet } { xeCJK }
@@ -290,9 +290,9 @@
\cs_new:Npn \__xdu_set_latin_mono_font:nnnnn #1#2#3#4#5
{
\str_if_eq:NNTF { \l__xdu_font_type_tl } { font }
- { \setmonofont{ #1 } [ \__xdu_set_latin_scale: \__xdu_off_latin_ligatures: ]}
+ { \setmonofont { #1 } [ \__xdu_set_latin_scale: \__xdu_off_latin_ligatures: ] }
{
- \setmonofont{ #2 }
+ \setmonofont { #2 }
[
\__xdu_font_path:
\__xdu_set_latin_scale:
@@ -318,7 +318,7 @@
}
\cs_new:Npn \__xdu_set_latin_mono_font:nnnn #1#2#3#4
{
- \setmonofont{ #1 }
+ \setmonofont { #1 }
[
\__xdu_set_latin_scale:
\__xdu_off_latin_ligatures:
@@ -391,9 +391,9 @@
\cs_new:Npn \__xdu_load_math_font_cambria:
{
\__xdu_load_unicode_math_pkg:
- \str_if_eq:NNTF { \l__xdu_font_type_tl} { font}
- { \setmathfont { Cambria~Math} }
- { \setmathfont { cambria.ttc} [ Path = \l__xdu_font_path_tl/, FontIndex = 1 ] }
+ \str_if_eq:NNTF { \l__xdu_font_type_tl } { font }
+ { \setmathfont { Cambria~Math } }
+ { \setmathfont { cambria.ttc } [ Path = \l__xdu_font_path_tl/, FontIndex = 1 ] }
}
\cs_new:Npn \__xdu_define_math_font:nn #1#2
{
diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls
index a0b094d3133..cf4fbea89c4 100644
--- a/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls
+++ b/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls
@@ -28,7 +28,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{xdupgthesis}
- {2022/05/15}{1.15.0.1}
+ {2022/06/21}{2.0.0.0}
{Xidian University Postgraduate Thesis document class}
\RequirePackage { xparse, l3keys2e }
\PassOptionsToPackage { quiet } { xeCJK }
@@ -303,9 +303,9 @@
\cs_new:Npn \__xdu_set_latin_mono_font:nnnnn #1#2#3#4#5
{
\str_if_eq:NNTF { \l__xdu_font_type_tl } { font }
- { \setmonofont{ #1 } [ \__xdu_set_latin_scale: \__xdu_off_latin_ligatures: ]}
+ { \setmonofont { #1 } [ \__xdu_set_latin_scale: \__xdu_off_latin_ligatures: ] }
{
- \setmonofont{ #2 }
+ \setmonofont { #2 }
[
\__xdu_font_path:
\__xdu_set_latin_scale:
@@ -331,7 +331,7 @@
}
\cs_new:Npn \__xdu_set_latin_mono_font:nnnn #1#2#3#4
{
- \setmonofont{ #1 }
+ \setmonofont { #1 }
[
\__xdu_set_latin_scale:
\__xdu_off_latin_ligatures:
@@ -404,9 +404,9 @@
\cs_new:Npn \__xdu_load_math_font_cambria:
{
\__xdu_load_unicode_math_pkg:
- \str_if_eq:NNTF { \l__xdu_font_type_tl} { font}
- { \setmathfont { Cambria~Math} }
- { \setmathfont { cambria.ttc} [ Path = \l__xdu_font_path_tl/, FontIndex = 1 ] }
+ \str_if_eq:NNTF { \l__xdu_font_type_tl } { font }
+ { \setmathfont { Cambria~Math } }
+ { \setmathfont { cambria.ttc } [ Path = \l__xdu_font_path_tl/, FontIndex = 1 ] }
}
\cs_new:Npn \__xdu_define_math_font:nn #1#2
{
@@ -460,13 +460,14 @@
\str_new:N \l__xdu_dept_str
\str_new:N \l__xdu_major_str
\str_new:N \l__xdu_author_str
-\str_new:N \l__xdu_supv_str
+\clist_new:N \l__xdu_supv_clist
\str_new:N \l__xdu_supv_ent_str
\str_new:N \l__xdu_student_id_str
\tl_new:N \l__xdu_abstract_zh_tl
\tl_new:N \l__xdu_abstract_en_tl
\clist_new:N \l__xdu_keywords_zh_clist
\clist_new:N \l__xdu_keywords_en_clist
+\clist_new:N \l__xdu_bib_file_clist
\tl_new:N \l__xdu_ack_tl
\keys_define:nn { xdu / info }
{
@@ -474,13 +475,14 @@
department .tl_set:N = \l__xdu_dept_str,
major .tl_set:N = \l__xdu_major_str,
author .tl_set:N = \l__xdu_author_str,
- supervisor .tl_set:N = \l__xdu_supv_str,
+ supervisor .clist_set:N = \l__xdu_supv_clist,
supervisor-enterprise .tl_set:N = \l__xdu_supv_ent_str,
student-id .tl_set:N = \l__xdu_student_id_str,
abstract .tl_set:N = \l__xdu_abstract_zh_tl,
abstract* .tl_set:N = \l__xdu_abstract_en_tl,
keywords .clist_set:N = \l__xdu_keywords_zh_clist,
keywords* .clist_set:N = \l__xdu_keywords_en_clist,
+ bib-resource .clist_set:N = \l__xdu_bib_file_clist,
acknowledgements .tl_set:N = \l__xdu_ack_tl
}
\keys_set:nn { xdu }
@@ -496,17 +498,25 @@
info / abstract* = { },
info / keywords = { },
info / keywords* = { },
+ info / bib-resource = { },
info / acknowledgements = { }
}
+\str_new:N \l__xdu_supv_str
+\str_new:N \l__xdu_supv_ii_str
+\ctex_at_end_preamble:n
+ {
+ \str_set:Nx \l__xdu_supv_str { \clist_item:Nn \l__xdu_supv_clist { 1 } }
+ \str_set:Nx \l__xdu_supv_ii_str { \clist_item:Nn \l__xdu_supv_clist { 2 } }
+ }
\tl_new:N \l__xdu_gr_type_tl
\tl_new:N \l__xdu_degree_type_tl
\str_new:N \l__xdu_degree_str
\str_new:N \l__xdu_degree_en_str
\str_new:N \l__xdu_author_en_str
-\str_new:N \l__xdu_supv_en_str
+\clist_new:N \l__xdu_supv_en_clist
\str_new:N \l__xdu_supv_ent_en_str
-\str_new:N \l__xdu_supv_t_str
-\str_new:N \l__xdu_supv_t_en_str
+\clist_new:N \l__xdu_supv_t_clist
+\clist_new:N \l__xdu_supv_t_en_clist
\str_new:N \l__xdu_supv_ent_t_str
\str_new:N \l__xdu_supv_ent_t_en_str
\str_new:N \l__xdu_title_en_str
@@ -515,7 +525,11 @@
\str_new:N \l__xdu_domain_str
\str_new:N \l__xdu_clc_str
\str_new:N \l__xdu_secret_lv_str
+\str_new:N \l__xdu_secret_year_str
\str_new:N \l__xdu_submit_date_str
+\str_new:N \l__xdu_los_str
+\str_new:N \l__xdu_loa_str
+\str_new:N \l__xdu_bio_str
\keys_define:nn { xdu / info }
{
graduate-type .choices:nn = { 硕士, 博士 }
@@ -525,10 +539,10 @@
degree .tl_set:N = \l__xdu_degree_str,
degree* .tl_set:N = \l__xdu_degree_en_str,
author* .tl_set:N = \l__xdu_author_en_str,
- supervisor* .tl_set:N = \l__xdu_supv_en_str,
+ supervisor* .clist_set:N = \l__xdu_supv_en_clist,
supervisor-enterprise* .tl_set:N = \l__xdu_supv_ent_en_str,
- supervisor-title .tl_set:N = \l__xdu_supv_t_str,
- supervisor-title* .tl_set:N = \l__xdu_supv_t_en_str,
+ supervisor-title .clist_set:N = \l__xdu_supv_t_clist,
+ supervisor-title* .clist_set:N = \l__xdu_supv_t_en_clist,
supervisor-enterprise-title .tl_set:N = \l__xdu_supv_ent_t_str,
supervisor-enterprise-title* .tl_set:N = \l__xdu_supv_ent_t_en_str,
title* .tl_set:N = \l__xdu_title_en_str,
@@ -538,7 +552,11 @@
clc .tl_set:N = \l__xdu_clc_str,
secret-level .choices:nn = { 秘密, 公开 }
{ \tl_set_eq:NN \l__xdu_secret_lv_str \l_keys_choice_tl },
- submit-date .tl_set:N = \l__xdu_submit_date_str
+ secret-year .tl_set:N = \l__xdu_secret_year_str,
+ submit-date .tl_set:N = \l__xdu_submit_date_str,
+ los .tl_set:N = \l__xdu_los_str,
+ loa .tl_set:N = \l__xdu_loa_str,
+ bio .tl_set:N = \l__xdu_bio_str
}
\keys_set:nn { xdu }
{
@@ -559,12 +577,41 @@
info / domain = { },
info / clc = { },
info / secret-level = { 公开 },
- info / submit-date = { }
+ info / secret-year = { },
+ info / submit-date = { },
+ info / los = { },
+ info / loa = { },
+ info / bio = { }
}
+\str_new:N \l__xdu_supv_en_str
+\str_new:N \l__xdu_supv_ii_en_str
+\str_new:N \l__xdu_supv_t_str
+\str_new:N \l__xdu_supv_ii_t_str
+\str_new:N \l__xdu_supv_t_en_str
+\str_new:N \l__xdu_supv_ii_t_en_str
+\ctex_at_end_preamble:n
+ {
+ \str_set:Nx \l__xdu_supv_en_str
+ { \clist_item:Nn \l__xdu_supv_en_clist { 1 } }
+ \str_set:Nx \l__xdu_supv_ii_en_str
+ { \clist_item:Nn \l__xdu_supv_en_clist { 2 } }
+ \str_set:Nx \l__xdu_supv_t_str
+ { \clist_item:Nn \l__xdu_supv_t_clist { 1 } }
+ \str_set:Nx \l__xdu_supv_ii_t_str
+ { \clist_item:Nn \l__xdu_supv_t_clist { 2 } }
+ \str_set:Nx \l__xdu_supv_t_en_str
+ { \clist_item:Nn \l__xdu_supv_t_en_clist { 1 } }
+ \str_set:Nx \l__xdu_supv_ii_t_en_str
+ { \clist_item:Nn \l__xdu_supv_t_en_clist { 2 } }
+ }
+\cs_set:Npn \figurename { \__xdu_lang_switch:nn { 图 } { Figure } }
+\cs_new_eq:NN \figname \figurename
+\cs_set:Npn \tablename { \__xdu_lang_switch:nn { 表 } { Table } }
+\cs_new_eq:NN \tabname \tablename
\bool_new:N \l__xdu_en_cjk_font_bool
\tl_new:N \l__xdu_lang_tl
\tl_new:N \l__xdu_bib_tool_tl
-\clist_new:N \l__xdu_bib_file_clist
+\tl_new:N \l__xdu_biblatex_option_tl
\tl_new:N \l__xdu_ref_add_space
\tl_new:N \l__xdu_cap_label_sep_tl
\bool_new:N \l__xdu_tab_small_bool
@@ -586,7 +633,7 @@
{ \tl_set_eq:NN \l__xdu_lang_tl \l_keys_choice_tl },
bib-backend .choices:nn = { bibtex, biblatex }
{ \tl_set_eq:NN \l__xdu_bib_tool_tl \l_keys_choice_tl },
- bib-resource .clist_set:N = \l__xdu_bib_file_clist,
+ biblatex-option .tl_set:N = \l__xdu_biblatex_option_tl,
ref-add-space .bool_set:N = \l__xdu_ref_add_space,
caption-label-sep .tl_set:N = \l__xdu_cap_label_sep_tl,
table-small-font .bool_set:N = \l__xdu_tab_small_bool,
@@ -607,7 +654,7 @@
style / en-cjk-font = false,
style / language = zh,
style / bib-backend = biblatex,
- style / bib-resource = { },
+ style / biblatex-option = { },
style / ref-add-space = false,
style / caption-label-sep = { 0.75em },
style / table-small-font = true,
@@ -615,7 +662,43 @@
style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt },
style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt },
style / symmetric-margin = false,
- style / page-vertical-align = {顶部对齐}
+ style / page-vertical-align = { 顶部对齐 }
+ }
+\bool_new:N \l__xdu_customize_los_bool
+\bool_new:N \l__xdu_customize_loa_bool
+\tl_new:N \l__xdu_colspec_los_tl
+\tl_new:N \l__xdu_colspec_loa_tl
+\bool_new:N \l__xdu_title_row_los_bool
+\bool_new:N \l__xdu_title_row_loa_bool
+\keys_define:nn { xdu / style }
+ {
+ customize-los .bool_set:N = \l__xdu_customize_los_bool,
+ customize-loa .bool_set:N = \l__xdu_customize_loa_bool,
+ colspec-los .tl_set:N = \l__xdu_colspec_los_tl,
+ colspec-loa .tl_set:N = \l__xdu_colspec_loa_tl,
+ title-row-los .bool_set:N = \l__xdu_title_row_los_bool,
+ title-row-loa .bool_set:N = \l__xdu_title_row_loa_bool
+ }
+\keys_set:nn { xdu }
+ {
+ style / customize-los = { true },
+ style / customize-loa = { true },
+ style / colspec-los = { Q[l,m]X[l,m] },
+ style / colspec-loa = { Q[l,m]X[l,m]X[l,m] },
+ style / title-row-los = { false },
+ style / title-row-loa = { false }
+ }
+\bool_new:N \l__xdu_customize_edubg_bool
+\bool_new:N \l__xdu_customize_resresult_bool
+\keys_define:nn { xdu / style }
+ {
+ customize-edubg .bool_set:N = \l__xdu_customize_edubg_bool,
+ customize-resresult .bool_set:N = \l__xdu_customize_resresult_bool
+ }
+\keys_set:nn { xdu }
+ {
+ style / customize-edubg = { true },
+ style / customize-resresult = { true }
}
\NewDocumentCommand \xdusetup { m }
{ \keys_set:nn { xdu } { #1 } }
@@ -664,6 +747,20 @@
\str_set_eq:NN \l__xdu_pure_title_str \l__xdu_title_str
\str_remove_all:Nn \l__xdu_pure_title_str { \\ }
}
+\cs_new_protected:Npn \__xdu_split_title:Nn #1#2
+ {
+ \seq_new:N \l__xdu_title_seq
+ \tl_if_in:nnTF { #2 } { \\ }
+ {
+ \seq_set_split:Nnn \l__xdu_title_seq { \\ } { #2 }
+ \clist_set_from_seq:NN #1 \l__xdu_title_seq
+ }
+ {
+ \clist_put_right:Nx #1 { \tl_range:nnn { #2 } { 1 } { 14 } }
+ \clist_put_right:Nx #1 { \tl_range:nnn { #2 } { 15 } { -1 } }
+ }
+ }
+\cs_generate_variant:Nn \__xdu_split_title:Nn { NV }
\cs_new:Npn \__xdu_uline:n #1
{ \CJKunderline [ thickness = 0.5pt ] { #1 } }
\cs_new:Npn \__xdu_tl_set_if_empty:Nn #1#2
@@ -691,10 +788,10 @@
}
\cs_new:Npn \__xdu_n_chapter_head_ii:nn #1#2
{
- {
+ \group_begin:
\ctexset { chapter / format = { #2 } }
\__xdu_n_chapter_head:n { #1 }
- }
+ \group_end:
}
\cs_new:Npn \__xdu_n_chapter_head:nn #1#2
{
@@ -704,10 +801,10 @@
}
\cs_new:Npn \__xdu_n_chapter_head_ii:nnn #1#2#3
{
- {
+ \group_begin:
\ctexset { chapter / format = { #3 } }
\__xdu_n_chapter_head:nn { #1 } { #2 }
- }
+ \group_end:
}
\cs_new:Npn \__xdu_n_chapter_head_toc:n #1
{
@@ -721,13 +818,20 @@
\chapter* { #2 }
\markboth { #1 } { }
}
+\cs_new:Npn \__xdu_n_chapter_head_toc_ii:nn #1#2
+ {
+ \group_begin:
+ \ctexset { chapter / format = { #2 } }
+ \__xdu_n_chapter_head_toc:n { #1 }
+ \group_end:
+ }
\cs_new:Npn \__xdu_typeout_keywords:nNn #1#2#3
{
- \str_clear_new:N \l__xdu_keywords_label_str
- \str_set:Nn \l__xdu_keywords_label_str { #1 }
+ \tl_clear_new:N \l__xdu_keywords_label_str
+ \tl_set:Nn \l__xdu_keywords_label_tl { #1 }
\dim_zero_new:N \l__xdu_keywords_label_dim
- \__xdu_get_text_width:NV \l__xdu_keywords_label_dim \l__xdu_keywords_label_str
- \begin { list } { \l__xdu_keywords_label_str }
+ \__xdu_get_text_width:NV \l__xdu_keywords_label_dim \l__xdu_keywords_label_tl
+ \begin { list } { \l__xdu_keywords_label_tl }
{
\labelwidth \l__xdu_keywords_label_dim
\labelsep \c_zero_dim
@@ -737,6 +841,14 @@
\item \clist_use:Nnnn #2 { #3 } { #3 } { #3 }
\end { list }
}
+\dim_new:N \l__xdu_str_dim
+\box_new:N \l__xdu_str_box
+\cs_new:Npn \__xdu_str_max_dim:Nn #1#2
+ {
+ \hbox_set:Nn \l__xdu_str_box { #2 }
+ \dim_set:Nn \l__xdu_str_dim { \box_wd:N \l__xdu_str_box }
+ \dim_set:Nn #1 { \dim_max:nn { \l__xdu_str_dim } { #1 } }
+ }
\NewDocumentCommand \noauxwrite { m }
{
\if@filesw
@@ -749,29 +861,31 @@
}
\newgeometry
{
- top = 3cm,
+ top = 3.14cm,
bottom = 2.5cm,
inner = 2.5cm,
outer = 2.5cm,
bindingoffset = 0.5cm,
- head = 2cm,
+ headheight = 20pt,
+ headsep = 10pt,
foot = 0.75cm
}
\savegeometry { main }
\newgeometry
{
- top = 3cm,
- bottom = 2.5cm,
- inner = 2.75cm,
- outer = 2.75cm,
- head = 2cm,
- foot = 0.75cm
+ top = 3.14cm,
+ bottom = 2.5cm,
+ inner = 2.75cm,
+ outer = 2.75cm,
+ headheight = 20pt,
+ headsep = 10pt,
+ foot = 0.75cm
}
\savegeometry { main-sym }
\newgeometry
{
top = 3cm,
- bottom = 2cm,
+ bottom = 1cm,
inner = 3cm,
outer = 2.5cm
}
@@ -818,6 +932,8 @@
\cs_set:Npn \headrulewidth { 0.5pt }
\cs_set:Npn \headrule
{
+ \hrule \@height 0pt
+ \skip_vertical:N 2pt
\hrule \@height \headrulewidth
\skip_vertical:N \headrulewidth
\hrule \@height \headrulewidth
@@ -836,6 +952,108 @@
{ \raggedbottom }
{ \flushbottom }
}
+\ctexset { secnumdepth=5 }
+\ctex_at_end_preamble:n
+ {
+ \__xdu_lang_switch:nn
+ { \ctexset { chapter / name = { 第, 章 } } }
+ { \ctexset { chapter / name = { Chapter\space } } }
+ }
+\ctexset
+ {
+ section / name = { },
+ subsection / name = { },
+ subsubsection / name = { (, ) },
+ paragraph / name = { (, ) },
+ subparagraph / name = { (, ) }
+ }
+\ctex_at_end_preamble:n
+ {
+ \__xdu_lang_switch:nn
+ { \ctexset { chapter / number = { \chinese { chapter } } } }
+ { \ctexset { chapter / number = { \Roman { chapter } } } }
+ }
+\ctexset
+ {
+ section / number = { \thesection },
+ subsection / number = { \thesubsection },
+ subsubsection / number = { \arabic { subsubsection } },
+ paragraph / number = { \alph { paragraph } },
+ subparagraph / number = { \roman { subparagraph } }
+ }
+\cs_new:Npn \__xdu_sec_format_i:n #1
+ { \__xdu_rm_family: \bfseries \zihao { #1 } \dim_set:Nn \baselineskip { 20pt } }
+\cs_new:Npn \__xdu_sec_format_ii:
+ { \__xdu_sf_family: \centering \zihao { 3 } \dim_set:Nn \baselineskip { 20pt } }
+\cs_new:Npn \__xdu_sec_format_iii:
+ { \__xdu_rm_family: \centering \zihao { 3 } \dim_set:Nn \baselineskip { 20pt } }
+\ctex_at_end_preamble:n
+ {
+ \__xdu_lang_switch:nn
+ { \ctexset { chapter / format = { \__xdu_sec_format_ii: } } }
+ { \ctexset { chapter / format = { \__xdu_sec_format_iii: } } }
+ }
+\ctexset
+ {
+ section / format = { \__xdu_sec_format_i:n { -3 } },
+ subsection / format = { \__xdu_sec_format_i:n { 4 } },
+ subsubsection / format = { \__xdu_sec_format_i:n { 4 } },
+ paragraph / format = { \__xdu_sec_format_i:n { 4 } },
+ subparagraph / format = { \__xdu_sec_format_i:n { 4 } }
+ }
+\ctexset
+ {
+ chapter / aftername = { \quad },
+ section / aftername = { \enskip },
+ subsection / aftername = { \enskip },
+ subsubsection / aftername = { },
+ paragraph / aftername = { },
+ subparagraph / aftername = { }
+ }
+\ctexset
+ {
+ chapter / indent = { 0bp },
+ section / indent = { 0bp },
+ subsection / indent = { 24bp },
+ subsubsection / indent = { 24bp },
+ paragraph / indent = { 24bp },
+ subparagraph / indent = { 24bp }
+ }
+\ctexset
+ {
+ chapter / beforeskip = { 6pt },
+ section / beforeskip = { 18pt },
+ subsection / beforeskip = { 12pt },
+ subsubsection / beforeskip = { 12pt },
+ paragraph / beforeskip = { 12pt },
+ subparagraph / beforeskip = { 12pt },
+ chapter / afterskip = { 18pt },
+ section / afterskip = { 12pt },
+ subsection / afterskip = { 6pt },
+ subsubsection / afterskip = { 6pt },
+ paragraph / afterskip = { 6pt },
+ subparagraph / afterskip = { 6pt }
+ }
+\PassOptionsToPackage { titles } { tocloft }
+\RequirePackage { tocloft }
+\cs_set:Npn \cftdotsep { 0 }
+\cs_set:Npn \cftchapleader { \cftdotfill { \cftdotsep } }
+\dim_set_eq:NN \cftbeforechapskip \cftbeforesecskip
+\ctex_at_end_preamble:n
+ {
+ \__xdu_lang_switch:nn
+ { \cs_set:Npn \cftchapfont { \__xdu_sf_family: \zihao { -4 } } }
+ { \cs_set:Npn \cftchapfont { \__xdu_rm_family: \zihao { -4 } } }
+ }
+\clist_map_inline:nn
+ {
+ \cftsecfont,
+ \cftsubsecfont,
+ \cftchappagefont,
+ \cftsecpagefont,
+ \cftsubsecpagefont
+ }
+ { \renewcommand { #1 } { \__xdu_rm_family: \zihao { -4 } } }
\renewcommand { \theequation } { \thechapter - \arabic { equation } }
\ctex_at_end_preamble:n
{
@@ -937,6 +1155,7 @@
{ \captionsetup [ subfloat ] { subrefformat = parens } }
{ }
}
+\PassOptionsToPackage { labelformat = simple } { subcaption }
\ctex_at_end_preamble:n
{
\@ifpackageloaded { subcaption }
@@ -981,7 +1200,7 @@
}
{ }
}
-\RequirePackage{ hyperref }
+\RequirePackage { hyperref }
\hypersetup
{
bookmarksnumbered,
@@ -1036,23 +1255,954 @@
{ \group_begin: \citestyle { numbers } \cite { #1 } \group_end: }
}
{
+ \PassOptionsToPackage { \l__xdu_biblatex_option_tl } { biblatex }
\RequirePackage { biblatex }
\clist_map_inline:Nn \l__xdu_bib_file_clist { \addbibresource { #1 } }
}
}
+\RequirePackage { environ }
+\NewEnviron { appendixes }
+ {
+ \cs_set:Npn \appendixname { \__xdu_lang_switch:nn { 附录 } { Appendix } }
+ \tl_set_eq:NN \l__xdu_chaptername \appendixname
+ \cs_set_eq:NN \__xdu_Roman: \__xdu_Alph:
+ \appendix
+ \renewcommand { \thefigure } { \thechapter \arabic { figure } }
+ \renewcommand { \thetable } { \thechapter \arabic { table } }
+ \cs_if_exist:NT \thealgorithm
+ { \cs_set:Npn \thealgorithm { \thechapter \arabic { algorithm } } }
+ \cs_if_exist:NT \thealgocf
+ { \cs_set:Npn \thealgocf { \thechapter \arabic { algocf } } }
+ \BODY
+ }
+\bool_new:N \l__xdu_ac_master
+\bool_new:N \l__xdu_pro_master
+\bool_new:N \l__xdu_ac_phd
+\bool_new:N \l__xdu_pro_phd
+\bool_new:N \l__xdu_phd
+\bool_new:N \l__xdu_master
+\bool_new:N \l__xdu_ac
+\bool_new:N \l__xdu_pro
+\ctex_at_end_preamble:n
+ {
+ \tl_if_eq:NnTF \l__xdu_gr_type_tl { 硕士 }
+ {
+ \bool_set_true:N \l__xdu_master
+ \tl_if_eq:NnTF \l__xdu_degree_type_tl { 学术 }
+ { \bool_set_true:N \l__xdu_ac_master }
+ { \bool_set_true:N \l__xdu_pro_master }
+ }
+ {
+ \bool_set_true:N \l__xdu_phd
+ \tl_if_eq:NnTF \l__xdu_degree_type_tl { 学术 }
+ { \bool_set_true:N \l__xdu_ac_phd }
+ { \bool_set_true:N \l__xdu_pro_phd }
+ }
+ \tl_if_eq:NnTF \l__xdu_degree_type_tl { 学术 }
+ { \bool_set_true:N \l__xdu_ac }
+ { \bool_set_true:N \l__xdu_pro }
+ }
+\cs_new:Npn \__xdu_cover_i:nnnnn #1#2#3#4#5
+ {
+ \dim_set:Nn \baselineskip { 20pt }
+ \vbox_to_ht:nn { #1 }
+ {
+ \vfill
+ \mode_leave_vertical:
+ \hfil
+ \use:c { #2 family } \zihao { #3 }
+ \str_if_eq:nnTF { #4 } { bf } { \bfseries } { }
+ #5
+ \hfil
+ }
+ }
+\cs_new:Npn \__xdu_cover_ii:nnnn #1#2#3#4
+ {
+ \dim_set:Nn \baselineskip { 20pt }
+ \vbox_to_ht:nn { 25pt }
+ {
+ \vfill
+ \mode_leave_vertical:
+ \hfil
+ \hbox:n
+ {
+ \zihao { 4 } \bfseries
+ \hbox_to_wd:nn { #1 } { \sffamily #2 }
+ \skip_horizontal:n { 0.5em }
+ \__xdu_uline:n
+ {
+ \skip_horizontal:n { 9em - #1 }
+ \hbox_to_wd:nn { #3 } { \hfil \rmfamily #4 \hfil }
+ }
+ }
+ \hfil
+ }
+ }
+\cs_new:Npn \__xdu_cover_iii:nnnn #1#2#3#4
+ {
+ \dim_set:Nn \baselineskip { 20pt }
+ \hbox:n
+ {
+ \rmfamily \zihao { 5 } \bfseries
+ \hbox_to_wd:nn { #1 } { #2 }
+ \skip_horizontal:n { 0.5em }
+ \__xdu_uline:n { \hbox_to_wd:nn { #3 } { \hfil #4 \hfil } }
+ }
+ }
+\cs_new:Npn \__xdu_en_month:n #1
+ {
+ \str_case:Vn #1
+ {
+ { 1 } { January }
+ { 2 } { February }
+ { 3 } { March }
+ { 4 } { April }
+ { 5 } { May }
+ { 6 } { June }
+ { 7 } { July }
+ { 8 } { August }
+ { 9 } { September }
+ { 10 } { October }
+ { 11 } { November }
+ { 12 } { December }
+ { 01 } { January }
+ { 02 } { February }
+ { 03 } { March }
+ { 04 } { April }
+ { 05 } { May }
+ { 06 } { June }
+ { 07 } { July }
+ { 08 } { August }
+ { 09 } { September }
+ }
+ }
+\cs_new:Npn \__xdu_zh_today:
+ { \int_use:N \c_sys_year_int 年 \int_use:N \c_sys_month_int 月 }
+\cs_new:Npn \__xdu_en_today:
+ { \__xdu_en_month:n { \c_sys_month_int } ~ \int_use:N \c_sys_year_int }
+\seq_new:N \l__xdu_submit_date_seq
+\cs_new:Npn \__xdu_split_submit_date:N #1
+ {
+ \seq_set_split:NnV \l__xdu_submit_date_seq { - } \l__xdu_submit_date_str
+ \clist_set_from_seq:NN #1 \l__xdu_submit_date_seq
+ }
+\clist_new:N \l__xdu_submit_date_clist
+\cs_new:Npn \__xdu_zh_submit_date:
+ {
+ \str_if_empty:NTF \l__xdu_submit_date_str
+ { \__xdu_zh_today: }
+ {
+ \__xdu_split_submit_date:N \l__xdu_submit_date_clist
+ \clist_item:Nn \l__xdu_submit_date_clist { 1 } 年
+ \clist_item:Nn \l__xdu_submit_date_clist { 2 } 月
+ }
+ }
+\str_new:N \l__xdu_submit_date_month_str
+\cs_new:Npn \__xdu_en_submit_date:
+ {
+ \str_if_empty:NTF \l__xdu_submit_date_str
+ { \__xdu_en_today: }
+ {
+ \__xdu_split_submit_date:N \l__xdu_submit_date_clist
+ \str_set:Nx \l__xdu_submit_date_month_str
+ { \clist_item:Nn \l__xdu_submit_date_clist { 2 } }
+ \__xdu_en_month:n { \l__xdu_submit_date_month_str } ~
+ \clist_item:Nn \l__xdu_submit_date_clist { 1 }
+ }
+ }
+\cs_new:Npn \__xdu_cover_author_info:
+ {
+ \rmfamily \zihao { 4 }
+ \dim_new:N \l__xdu_cover_author_info_dim
+ \dim_set:Nn \l__xdu_cover_author_info_dim { 7em }
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim { \l__xdu_author_str }
+ \bool_if:NTF \l__xdu_pro_master
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim
+ { \l__xdu_supv_str \enskip \l__xdu_supv_t_str }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim
+ { \l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str }
+ }
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim
+ { \l__xdu_supv_ent_str \enskip \l__xdu_supv_ent_t_str }
+ }
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim
+ { \l__xdu_supv_str \enskip \l__xdu_supv_t_str }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim
+ { \l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str }
+ }
+ }
+ \__xdu_str_max_dim:Nn \l__xdu_cover_author_info_dim { \l__xdu_degree_str }
+ \dim_add:Nn \l__xdu_cover_author_info_dim { 3em }
+ \__xdu_cover_ii:nnnn { 4em } { 作者姓名 }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_author_str }
+ \bool_if:NTF \l__xdu_pro_master
+ {
+ \__xdu_cover_ii:nnnn { 9em } { 学校导师姓名、职称 }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_supv_str \enskip \l__xdu_supv_t_str }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \__xdu_cover_ii:nnnn { 9em } { }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str }
+ }
+ \__xdu_cover_ii:nnnn { 9em } { 企业导师姓名、职称 }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_supv_ent_str \enskip \l__xdu_supv_ent_t_str }
+ }
+ {
+ \__xdu_cover_ii:nnnn { 9em } { 指导教师姓名、职称 }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_supv_str \enskip \l__xdu_supv_t_str }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \__xdu_cover_ii:nnnn { 9em } { }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str }
+ }
+ }
+ \__xdu_cover_ii:nnnn { 6em } { 申请学位类别 }
+ { \l__xdu_cover_author_info_dim }
+ { \l__xdu_degree_str }
+ }
+\cs_new:Npn \__xdu_zh_title_page_info:
+ {
+ \rmfamily \zihao { 4 }
+ \dim_new:N \l__xdu_zh_title_page_info_dim
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 作者姓名:\l__xdu_author_str }
+ \bool_if:NTF \l__xdu_ac
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 一级学科:\l__xdu_major_str }
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 二级学科(研究方向):\l__xdu_sub_major_str }
+ }
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 领\qquad{}域:\l__xdu_domain_str }
+ }
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 学位类别:\l__xdu_degree_str }
+ \bool_if:NTF \l__xdu_pro_master
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 学校导师姓名、职称:\l__xdu_supv_str \enskip \l__xdu_supv_t_str }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 学校导师姓名、职称:\l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str }
+ }
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 企业导师姓名、职称:\l__xdu_supv_ent_str \enskip \l__xdu_supv_ent_t_str }
+ }
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 指导教师姓名、职称:\l__xdu_supv_str \enskip \l__xdu_supv_t_str }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 指导教师姓名、职称:\l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str }
+ }
+ }
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 学\qquad{}院:\l__xdu_dept_str }
+ \__xdu_str_max_dim:Nn \l__xdu_zh_title_page_info_dim
+ { 提交日期:\__xdu_zh_submit_date: }
+ \dim_new:N \l__xdu_zh_title_page_info_skip_dim
+ \dim_set_eq:NN \l__xdu_zh_title_page_info_skip_dim \linewidth
+ \dim_sub:Nn \l__xdu_zh_title_page_info_skip_dim { \l__xdu_zh_title_page_info_dim }
+ \skip_horizontal:n { \dim_eval:n { \l__xdu_zh_title_page_info_skip_dim / 2 } }
+ \vbox:n
+ {
+ \rmfamily \zihao { 4 }
+ \dim_set:Nn \baselineskip { 32pt }
+ { \bfseries 作者姓名: } \l__xdu_author_str
+ \bool_if:NTF \l__xdu_ac
+ {
+ \par
+ { \bfseries 一级学科: } \l__xdu_major_str
+ \par
+ { \bfseries 二级学科(研究方向): } \l__xdu_sub_major_str
+ }
+ {
+ \par
+ { \bfseries 领\qquad{}域: } \l__xdu_domain_str
+ }
+ \par
+ { \bfseries 学位类别: } \l__xdu_degree_str
+ \bool_if:NTF \l__xdu_pro_master
+ {
+ \par
+ { \bfseries 学校导师姓名、职称: }
+ \l__xdu_supv_str \enskip \l__xdu_supv_t_str
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \par
+ \phantom { 学校导师姓名、职称: }
+ \l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str
+ }
+ \par
+ { \bfseries 企业导师姓名、职称: }
+ \l__xdu_supv_ent_str \enskip \l__xdu_supv_ent_t_str
+ }
+ {
+ \par
+ { \bfseries 指导教师姓名、职称: }
+ \l__xdu_supv_str \enskip \l__xdu_supv_t_str
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \par
+ \phantom { 指导教师姓名、职称: }
+ \l__xdu_supv_ii_str \enskip \l__xdu_supv_ii_t_str
+ }
+ }
+ \par
+ { \bfseries 学\qquad{}院: } \l__xdu_dept_str
+ \par
+ { \bfseries 提交日期: } \__xdu_zh_submit_date:
+ }
+ }
+\cs_new:Npn \__xdu_zh_title_page:
+ {
+ \vbox:n { }
+ \skip_vertical:n { -7.5pt }
+ \dim_set:Nn \baselineskip { 15.6bp }
+ \vbox:n
+ {
+ \mode_leave_vertical:
+ \__xdu_cover_iii:nnnn { 4em } { 学校代码 } { 7em } { 10701 }
+ \hfill
+ \__xdu_cover_iii:nnnn { 3em } { 学号 } { 7em } { \l__xdu_student_id_str }
+ }
+ \vbox:n
+ {
+ \mode_leave_vertical:
+ \__xdu_cover_iii:nnnn { 4em } { 分类号 } { 7em } { \l__xdu_clc_str }
+ \hfill
+ \__xdu_cover_iii:nnnn { 3em } { 密级 } { 7em } { \l__xdu_secret_lv_str }
+ }
+ \__xdu_cover_i:nnnnn { 100pt } { sf } { 1 } { bf } { 西安电子科技大学 }
+ \__xdu_cover_i:nnnnn { 85pt } { rm } { -1 } { bf } { \l__xdu_gr_type_tl 学位论文 }
+ \skip_vertical:n { 87.5pt }
+ \vbox_to_ht:nn { 150pt }
+ {
+ \rmfamily \zihao { 2 } \bfseries \centering
+ \dim_set:Nn \baselineskip { 30pt }
+ \l__xdu_title_str
+ }
+ \group_begin:
+ \__xdu_zh_title_page_info:
+ \group_end:
+ \cleardoublepage
+ }
+\dim_new:N \l__xdu_supv_dim
+\dim_new:N \l__xdu_supv_max_dim
+\box_new:N \l__xdu_supv_box
+\cs_new:Npn \__xdu_en_title_supv:n #1
+ {
+ \rmfamily \zihao { 3 }
+ \dim_zero:N \l__xdu_supv_max_dim
+ \hbox_set:Nn \l__xdu_supv_box { \l__xdu_supv_en_str }
+ \dim_set:Nn \l__xdu_supv_dim { \box_wd:N \l__xdu_supv_box }
+ \dim_set:Nn \l__xdu_supv_max_dim
+ { \dim_max:nn { \l__xdu_supv_dim } { \l__xdu_supv_max_dim } }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \hbox_set:Nn \l__xdu_supv_box { \l__xdu_supv_ii_en_str }
+ \dim_set:Nn \l__xdu_supv_dim { \box_wd:N \l__xdu_supv_box }
+ \dim_set:Nn \l__xdu_supv_max_dim
+ { \dim_max:nn { \l__xdu_supv_dim } { \l__xdu_supv_max_dim } }
+ }
+ \bool_if:NT \l__xdu_pro_master
+ {
+ \hbox_set:Nn \l__xdu_supv_box { \l__xdu_supv_ent_en_str }
+ \dim_set:Nn \l__xdu_supv_dim { \box_wd:N \l__xdu_supv_box }
+ \dim_set:Nn \l__xdu_supv_max_dim
+ { \dim_max:nn { \l__xdu_supv_dim } { \l__xdu_supv_max_dim } }
+ }
+ \hbox_to_wd:nn { \l__xdu_supv_max_dim } { #1 \hfil } \quad
+ }
+\dim_new:N \l__xdu_supv_t_dim
+\dim_new:N \l__xdu_supv_t_max_dim
+\box_new:N \l__xdu_supv_t_box
+\cs_new:Npn \__xdu_en_title_supv_t:n #1
+ {
+ \rmfamily \zihao { 3 }
+ \dim_zero:N \l__xdu_supv_t_max_dim
+ \hbox_set:Nn \l__xdu_supv_t_box { \l__xdu_supv_t_en_str }
+ \dim_set:Nn \l__xdu_supv_t_dim { \box_wd:N \l__xdu_supv_t_box }
+ \dim_set:Nn \l__xdu_supv_t_max_dim
+ { \dim_max:nn { \l__xdu_supv_t_dim } { \l__xdu_supv_t_max_dim } }
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \hbox_set:Nn \l__xdu_supv_t_box { \l__xdu_supv_ii_t_en_str }
+ \dim_set:Nn \l__xdu_supv_t_dim { \box_wd:N \l__xdu_supv_t_box }
+ \dim_set:Nn \l__xdu_supv_t_max_dim
+ { \dim_max:nn { \l__xdu_supv_t_dim } { \l__xdu_supv_t_max_dim } }
+ }
+ \bool_if:NT \l__xdu_pro_master
+ {
+ \hbox_set:Nn \l__xdu_supv_t_box { \l__xdu_supv_ent_t_en_str }
+ \dim_set:Nn \l__xdu_supv_t_dim { \box_wd:N \l__xdu_supv_t_box }
+ \dim_set:Nn \l__xdu_supv_t_max_dim
+ { \dim_max:nn { \l__xdu_supv_t_dim } { \l__xdu_supv_t_max_dim } }
+ }
+ \hbox_to_wd:nn { \l__xdu_supv_t_max_dim } { #1 \hfil } \quad
+ }
+\cs_new:Npn \__xdu_en_title_page:
+ {
+ \vbox:n { }
+ \skip_vertical:n { -3.5pt }
+ \dim_set:Nn \baselineskip { 30pt }
+ \vbox_to_ht:nn { 170pt }
+ {
+ \rmfamily \zihao { 2 } \bfseries \centering
+ \dim_set:Nn \baselineskip { 30pt }
+ \l__xdu_title_en_str
+ }
+ \vbox_to_ht:nn { 360pt }
+ {
+ \rmfamily \zihao { 3 } \centering
+ \dim_set:Nn \baselineskip { 30pt }
+ A
+ \bool_if:NTF \l__xdu_master { ~thesis~ } { ~dissertation~ }
+ submitted~to\\
+ XIDIAN~UNIVERSITY\\
+ in~partial~fulfillment~of~the~requirements\\
+ for~the~degree~of
+ \bool_if:NTF \l__xdu_master { ~Master\\ } { ~Doctor~of~Philosophy\\ }
+ in
+ \bool_if:NTF \l__xdu_pro_master
+ { ~\l__xdu_degree_en_str\\ }
+ { ~\l__xdu_major_en_str\\ }
+ }
+ \vbox:n
+ {
+ \rmfamily \zihao { 3 } \centering
+ \dim_set:Nn \baselineskip { 30pt }
+ By\\
+ \l__xdu_author_en_str
+ \str_if_empty:NTF \l__xdu_author_en_str
+ { \skip_vertical:N \baselineskip }
+ { \\ }
+ Supervisor:~\__xdu_en_title_supv:n { \l__xdu_supv_en_str }
+ Title:~\__xdu_en_title_supv_t:n { \l__xdu_supv_t_en_str } \\
+ \str_if_empty:NF \l__xdu_supv_ii_str
+ {
+ \phantom { Supervisor:~ } \__xdu_en_title_supv:n { \l__xdu_supv_ii_en_str }
+ \phantom { Title:~ } \__xdu_en_title_supv_t:n { \l__xdu_supv_ii_t_en_str } \\
+ }
+ \bool_if:NT \l__xdu_pro_master
+ {
+ Supervisor:~ \__xdu_en_title_supv:n { \l__xdu_supv_ent_en_str }
+ Title:~ \__xdu_en_title_supv_t:n { \l__xdu_supv_ent_t_en_str } \\
+ }
+ \__xdu_en_submit_date:
+ }
+ \cleardoublepage
+ }
+\cs_new:Npn \__xdu_statement:
+ {
+ \vbox:n { }
+ \skip_vertical:n { -7.5pt }
+ \vbox_to_ht:nn { 60pt }
+ {
+ \rmfamily \zihao { 4 } \bfseries \centering
+ \dim_set:Nn \baselineskip { 20pt }
+ 西安电子科技大学\\
+ 学位论文独创性(或创新性)声明
+ }
+ \vbox_to_ht:nn { 140pt }
+ {
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \parindent { 2em }
+ \dim_set:Nn \baselineskip { 20pt }
+ 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指
+ 导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢
+ 中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包
+ 含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一
+ 同工作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
+ \par
+ 学位论文若有不实之处,本人承担一切法律责任。
+ \vfil
+ }
+ \vbox_to_ht:nn { 175pt }
+ {
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \parindent { 2em }
+ \dim_set:Nn \baselineskip { 20pt }
+ 本人签名:\__xdu_uline:n { \skip_horizontal:n { 10em } }
+ \hfill
+ 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } }
+ }
+ \vbox_to_ht:nn { 60pt }
+ {
+ \rmfamily \zihao { 4 } \bfseries \centering
+ \dim_set:Nn \baselineskip { 20pt }
+ 西安电子科技大学\\
+ 关于论文使用授权的说明
+ }
+ \vbox_to_ht:nn { 140pt }
+ {
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \parindent { 2em }
+ \dim_set:Nn \baselineskip { 20pt }
+ 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校
+ 攻读学位期间论文工作的知识产权属于西安电子科技大学。学校有权保留送交论文
+ 的复印件,允许查阅、借阅论文;学校可以公布论文的全部或部分内容,允许采用
+ 影印、缩印或其它复制手段保存论文。同时本人保证,结合学位论文研究成果完成
+ 的论文、发明专利等成果,署名单位为西安电子科技大学。
+ \par
+ 保密的学位论文在
+ \str_if_eq:NNTF \l__xdu_secret_lv_str { 秘密 }
+ {
+ \str_if_empty:NTF \l__xdu_secret_year_str
+ { \__xdu_uline:n { \skip_horizontal:n { 1.5em } } }
+ { \__xdu_uline:n { \enskip \l__xdu_secret_year_str \enskip } }
+ }
+ { \__xdu_uline:n { \skip_horizontal:n { 1.5em } } }
+ 年解密后适用本授权书。
+ \vfil
+ }
+ \vbox:n
+ {
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \parindent { 2em }
+ \dim_set:Nn \baselineskip { 40pt }
+ 本人签名:\__xdu_uline:n { \skip_horizontal:n { 10em } }
+ \hfill
+ 导师签名:\__xdu_uline:n { \skip_horizontal:n { 10em } }
+ \par
+ 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } }
+ \hfill
+ 日\qquad{}期:\__xdu_uline:n { \skip_horizontal:n { 10em } }
+ }
+ \cleardoublepage
+ }
+\cs_new:Npn \__xdu_zh_abstract_keywords:
+ {
+ \__xdu_n_chapter_head_toc:nn { 摘要 } { 摘 { \quad } 要 }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 摘要 } }
+ \group_begin:
+ \dim_set:Nn \parindent { 2 \ccwd }
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \file_if_exist_input:n { \l__xdu_abstract_zh_tl }
+ \group_end:
+ \group_begin:
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \skip_vertical:n { 20pt }
+ \__xdu_typeout_keywords:nNn
+ { \textbf { 关键词 } : } { \l__xdu_keywords_zh_clist } { , }
+ \group_end:
+ \cleardoublepage
+ }
+\cs_new:Npn \__xdu_en_abstract_keywords:
+ {
+ \__xdu_n_chapter_head_toc_ii:nn
+ { \textrm { ABSTRACT } } { \centering \rmfamily \zihao { 3 } \dim_set:Nn \baselineskip { 20pt } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { \textrm { ABSTRACT } } }
+ \group_begin:
+ \dim_set:Nn \parskip { 20pt }
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \file_if_exist:nT { \l__xdu_abstract_en_tl } { \skip_vertical:n { -20pt } }
+ \file_if_exist_input:n { \l__xdu_abstract_en_tl }
+ \group_end:
+ \group_begin:
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \skip_vertical:n { 20pt }
+ \__xdu_typeout_keywords:nNn
+ { \textbf { Keywords } : } { \l__xdu_keywords_en_clist } { ,~ }
+ \group_end:
+ \cleardoublepage
+ }
+\cs_new:Npn \__xdu_loft_label_num_width:nN #1#2
+ {
+ \tl_clear_new:N \l__xdu_loft_tl
+ \file_get:nnN
+ { \jobname.#1 }
+ { \let\do\@makeother \dospecials }
+ \l__xdu_loft_tl
+ \seq_clear_new:N \l__xdu_loft_label_num_seq
+ \cs_generate_variant:Nn \regex_extract_all:nnN { nVN }
+ \str_if_eq:nnTF { #1 } { lof }
+ {
+ \regex_extract_all:nVN
+ { \\contentsline\ \{figure\}\{\\numberline\ \{\K[0-9A-Z\.]+ }
+ \l__xdu_loft_tl \l__xdu_loft_label_num_seq
+ }
+ {
+ \regex_extract_all:nVN
+ { \\contentsline\ \{table\}\{\\numberline\ \{\K[0-9A-Z\.]+ }
+ \l__xdu_loft_tl \l__xdu_loft_label_num_seq
+ }
+ \dim_zero_new:N \l__xdu_loft_label_num_dim
+ \seq_map_inline:Nn \l__xdu_loft_label_num_seq
+ {
+ \__xdu_get_text_width:Nn \l__xdu_loft_label_num_dim { ##1 }
+ \dim_set:Nn #2 { \dim_max:nn { \l__xdu_loft_label_num_dim } { #2 } }
+ }
+ }
+\cs_new:Npn \__xdu_list_of_figure:
+ {
+ \__xdu_n_chapter_head_toc:n
+ { \__xdu_lang_switch:nn { 插图索引 } { List~of~Figures } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 插图索引 } }
+ \group_begin:
+ \addtocontents { lof } { \vspace { 10pt } }
+ \renewcommand { \addvspace } [1] { }
+ \tl_set:Nn \cftfigpresnum { \figurename \space }
+ \dim_zero_new:N \l__xdu_lof_label_dim
+ \__xdu_get_text_width:NV \l__xdu_lof_label_dim \cftfigpresnum
+ \dim_set:Nn \cftfignumwidth { \l__xdu_lof_label_dim }
+ \dim_new:N \l__xdu_lof_label_num_max_dim
+ \__xdu_loft_label_num_width:nN { lof } \l__xdu_lof_label_num_max_dim
+ \dim_add:Nn \cftfignumwidth { \l__xdu_lof_label_num_max_dim }
+ \dim_add:Nn \cftfignumwidth { .75em }
+ \dim_set:Nn \cftfigindent { 0pt }
+ \rmfamily \zihao { -4 } \dim_set:Nn \baselineskip { 20pt }
+ \@starttoc { lof }
+ \group_end:
+ \cleardoublepage
+ }
+\cs_new:Npn \__xdu_list_of_table:
+ {
+ \__xdu_n_chapter_head_toc:n
+ { \__xdu_lang_switch:nn { 表格索引 } { List~of~Tables } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 表格索引 } }
+ \group_begin:
+ \addtocontents { lot } { \vspace { 10pt } }
+ \renewcommand { \addvspace } [1] { }
+ \tl_set:Nn \cfttabpresnum { \tablename \space }
+ \dim_zero_new:N \l__xdu_lot_label_dim
+ \__xdu_get_text_width:NV \l__xdu_lot_label_dim \cfttabpresnum
+ \dim_set:Nn \cfttabnumwidth { \l__xdu_lot_label_dim }
+ \dim_new:N \l__xdu_lot_label_num_max_dim
+ \__xdu_loft_label_num_width:nN { lot } \l__xdu_lot_label_num_max_dim
+ \dim_add:Nn \cfttabnumwidth { \l__xdu_lot_label_num_max_dim }
+ \dim_add:Nn \cfttabnumwidth { .75em }
+ \dim_set:Nn \cfttabindent { 0pt }
+ \rmfamily \zihao { -4 } \dim_set:Nn \baselineskip { 20pt }
+ \@starttoc { lot }
+ \group_end:
+ \cleardoublepage
+ }
+\ctex_at_end_preamble:n
+ {
+ \bool_new:N \l__xdu_load_tabularray_bool
+ \bool_if:NF \l__xdu_customize_los_bool
+ { \bool_set_true:N \l__xdu_load_tabularray_bool }
+ \bool_if:NF \l__xdu_customize_loa_bool
+ { \bool_set_true:N \l__xdu_load_tabularray_bool }
+ \bool_if:NT \l__xdu_load_tabularray_bool
+ {
+ \RequirePackage { tabularray }
+ \UseTblrLibrary { functional }
+ \NewTblrTheme { losloatheme }
+ {
+ \DefTblrTemplate { caption-tag } { default } { }
+ \DefTblrTemplate { caption-sep } { default } { }
+ \DefTblrTemplate { caption-text } { default } { }
+ \DefTblrTemplate { conthead-text } { default } { }
+ \DefTblrTemplate { contfoot-text } { default } { }
+ }
+ }
+ \cs_generate_variant:Nn \__tblr_parse_colrow_spec:nn { nV }
+ }
+\cs_new:Npn \__xdu_symbols_list:
+ {
+ \__xdu_n_chapter_head_toc:n
+ { \__xdu_lang_switch:nn { 符号对照表 } { List~of~Symbols } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 符号对照表 } }
+ \bool_if:NTF \l__xdu_customize_los_bool
+ { \file_if_exist_input:n { \l__xdu_los_str } }
+ {
+ \tl_new:N \l__xdu_los_head_tl
+ \__xdu_lang_switch:nn
+ { \tl_set:Nn \l__xdu_los_head_tl { 符号 & 符号名称 \\ } }
+ { \tl_set:Nn \l__xdu_los_head_tl { Notation & Description \\ } }
+ \tl_new:N \l__xdu_los_rowhead_tl
+ \bool_if:NTF \l__xdu_title_row_los_bool
+ { \tl_set:Nn \l__xdu_los_rowhead_tl { 1 } }
+ { \tl_set:Nn \l__xdu_los_rowhead_tl { 0 } }
+ \tl_new:N \l__xdu_los_begin_tblr_tl
+ \tl_set:Nx \l__xdu_los_begin_tblr_tl
+ {
+ \exp_not:n
+ {
+ \begin { longtblr }
+ [
+ evaluate = \fileIfExistInput,
+ expand = \l__xdu_los_head_tl,
+ theme = losloatheme
+ ]
+ }
+ {
+ colspec = { \exp_not:V \l__xdu_colspec_los_tl },
+ \exp_not:n
+ {
+ rowhead = \int_compare:nNnTF
+ { \value { rowcount } } > { 1 }
+ { \l__xdu_los_rowhead_tl } { 0 },
+ rows = { font = \rmfamily \zihao { -4 } },
+ stretch = 0,
+ rowsep = { 3pt },
+ rows = { ht = 14pt }
+ }
+ }
+ }
+ \tl_use:N \l__xdu_los_begin_tblr_tl
+ \l__xdu_los_head_tl
+ \fileIfExistInput { \l__xdu_los_str }
+ \end { longtblr }
+ }
+ }
+\cs_new:Npn \__xdu_abbreviations_list:
+ {
+ \__xdu_n_chapter_head_toc:n
+ { \__xdu_lang_switch:nn { 缩略语对照表 } { List~of~Abbreviations } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 缩略语对照表 } }
+ \bool_if:NTF \l__xdu_customize_loa_bool
+ { \file_if_exist_input:n { \l__xdu_loa_str } }
+ {
+ \tl_new:N \l__xdu_loa_head_tl
+ \__xdu_lang_switch:nn
+ {
+ \tl_set:Nn \l__xdu_loa_head_tl
+ { 缩略语 & 英文全称 & 中文对照 \\ }
+ }
+ {
+ \tl_set:Nn \l__xdu_loa_head_tl
+ { Abbreviation & English~Full~Name & Chinese~Full~Name \\ }
+ }
+ \tl_new:N \l__xdu_loa_rowhead_tl
+ \bool_if:NTF \l__xdu_title_row_loa_bool
+ { \tl_set:Nn \l__xdu_loa_rowhead_tl { 1 } }
+ { \tl_set:Nn \l__xdu_loa_rowhead_tl { 0 } }
+ \tl_new:N \l__xdu_loa_begin_tblr_tl
+ \tl_set:Nx \l__xdu_loa_begin_tblr_tl
+ {
+ \exp_not:n
+ {
+ \begin { longtblr }
+ [
+ evaluate = \fileIfExistInput,
+ expand = \l__xdu_loa_head_tl,
+ theme = losloatheme
+ ]
+ }
+ {
+ colspec = { \exp_not:V \l__xdu_colspec_loa_tl },
+ \exp_not:n
+ {
+ rowhead = \int_compare:nNnTF
+ { \value { rowcount } } > { 1 }
+ { \l__xdu_loa_rowhead_tl } { 0 },
+ rows = { font = \rmfamily \zihao { -4 } },
+ stretch = 0,
+ rowsep = { 3pt },
+ rows = { ht = 14pt }
+ }
+ }
+ }
+ \tl_use:N \l__xdu_loa_begin_tblr_tl
+ \l__xdu_loa_head_tl
+ \fileIfExistInput { \l__xdu_loa_str }
+ \end { longtblr }
+ }
+ }
+\cs_new:Npn \__xdu_add_zh_toc:nn #1#2
+ {
+ \str_if_eq:NNTF { #1 } { chapter }
+ { \phantomsection \addcontentsline { zh.toc } { #1 } { \__xdu_sf_family: #2 } }
+ { \phantomsection \addcontentsline { zh.toc } { #1 } { #2 } }
+ }
\renewcommand { \frontmatter }
{
\loadgeometry { cover }
\pagestyle { empty }
+ \dim_set:Nn \parindent { 0pt }
+ \dim_set:Nn \baselineskip { 20pt }
+ \__xdu_add_bookmark:n { \__xdu_lang_switch:nn { 封面 } { Cover } }
+ \vbox:n { }
+ \skip_vertical:n { 435pt }
+ \vbox_to_ht:nn { 120pt }
+ {
+ \rmfamily \zihao { 2 } \bfseries \centering
+ \dim_set:Nn \baselineskip { 30pt }
+ \l__xdu_title_str
+ }
+ \__xdu_cover_author_info:
+ \cleardoublepage
+ \__xdu_lang_switch:nn
+ { \__xdu_zh_title_page: \__xdu_en_title_page: }
+ { \__xdu_en_title_page: \__xdu_zh_title_page: }
+ \__xdu_statement:
\__xdu_load_main_geometry:
\pagestyle { front }
\pagenumbering { Roman }
+ \dim_set:Nn \baselineskip { 20pt }
+ \__xdu_lang_switch:nn
+ { \__xdu_zh_abstract_keywords: \__xdu_en_abstract_keywords: }
+ { \__xdu_en_abstract_keywords: \__xdu_zh_abstract_keywords: }
+ \__xdu_list_of_figure:
+ \__xdu_list_of_table:
+ \__xdu_symbols_list:
+ \__xdu_abbreviations_list:
+ \setcounter { tocdepth } { 2 }
+ \__xdu_n_chapter_head:nn
+ { \__xdu_lang_switch:nn { 目录 } { Contents } }
+ { \__xdu_lang_switch:nn { 目 { \quad } 录 } { Contents } }
+ \@starttoc { toc }
+ \cleardoublepage
+ \__xdu_lang_switch:nn { }
+ {
+ \setcounter { tocdepth } { 2 }
+ \__xdu_n_chapter_head:nn { 目录 } { \__xdu_sf_family: 目 { \quad } 录 }
+ \@starttoc { zh.toc }
+ \cleardoublepage
+ }
}
\renewcommand { \mainmatter }
{
\__xdu_load_main_geometry:
\pagestyle { plain }
\pagenumbering { arabic }
+ \dim_set:Nn \parindent { 2 \ccwd }
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \__xdu_lang_switch:nn { }
+ {
+ \cs_new_eq:NN \__xdu_org_chapter:n \chapter
+ \RenewDocumentCommand { \chapter } { m m }
+ {
+ \__xdu_org_chapter:n { ##1 }
+ \__xdu_add_zh_toc:nn { chapter }
+ { \numberline { 第 \chinese { chapter } 章 \hspace { .3em } } ##2 }
+ }
+ \cs_new_eq:NN \__xdu_org_section:n \section
+ \RenewDocumentCommand { \section } { m m }
+ {
+ \__xdu_org_section:n { ##1 }
+ \__xdu_add_zh_toc:nn { section } { \numberline { \thesection } ##2 }
+ }
+ \cs_new_eq:NN \__xdu_org_subsection:n \subsection
+ \RenewDocumentCommand { \subsection } { m m }
+ {
+ \__xdu_org_subsection:n { ##1 }
+ \__xdu_add_zh_toc:nn { subsection } { \numberline { \thesubsection } ##2 }
+ }
+ }
+ }
+\ctex_at_end_preamble:n
+ {
+ \dim_new:N \l__xdu_bio_indent_dim
+ \box_new:N \l__xdu_bio_indent_box
+ \hbox_set:Nn \l__xdu_bio_indent_box { \rmfamily \zihao { -3 } \bfseries 1. \quad}
+ \dim_set:Nn \l__xdu_bio_indent_dim { \box_wd:N \l__xdu_bio_indent_box }
+ \bool_if:NF \l__xdu_customize_edubg_bool
+ {
+ \RequirePackage { tabularray }
+ \newenvironment { edubg }
+ {
+ \dim_set:Nn \parindent { 0pt }
+ \begin { tblr }
+ {
+ colspec = { @{ \skip_horizontal:N \l__xdu_bio_indent_dim } lX @{ } },
+ rows = { font = \zihao { -4 } \dim_set:Nn \baselineskip { 20pt } }
+ }
+ }
+ {
+ \end { tblr }
+ \dim_set:Nn \parindent { 2 \ccwd }
+ }
+ }
+ \bool_if:NF \l__xdu_customize_resresult_bool
+ {
+ \RequirePackage { enumitem }
+ \SetEnumitemKey { resresult }
+ {
+ label = {[}\arabic*{]},
+ left = \l__xdu_bio_indent_dim,
+ align = right,
+ parsep = 0pt,
+ itemsep = 0pt,
+ topsep = 0pt
+ }
+ \newenvironment { resresult }
+ { \begin { enumerate } [ resresult ] }
+ { \end { enumerate } }
+ }
+ }
+\renewcommand { \backmatter }
+ {
+ \__xdu_lang_switch:nn { }
+ {
+ \cs_set_eq:NN \chapter \__xdu_org_chapter:n
+ \cs_set_eq:NN \section \__xdu_org_section:n
+ \cs_set_eq:NN \subsection \__xdu_org_subsection:n
+ }
+ \cs_set:Npn \bibname { \__xdu_lang_switch:nn { 参考文献 } { Bibliography } }
+ \__xdu_n_chapter_head_toc:n { \bibname }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 参考文献 } }
+ \group_begin:
+ \tl_if_eq:NnTF \l__xdu_bib_tool_tl { bibtex }
+ {
+ \cs_set:Npn \bibsection { }
+ \rmfamily \zihao { 5 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \bibliography { \l__xdu_bib_file_clist }
+ }
+ {
+ \defbibheading { bibliography } [ ] { }
+ \cs_set:Npn \bibfont
+ {
+ \rmfamily \zihao { 5 }
+ \dim_set:Nn \baselineskip { 20pt }
+ }
+ \printbibliography
+ }
+ \group_end:
+ \__xdu_n_chapter_head_toc:nn
+ { \__xdu_lang_switch:nn { 致谢 } { Acknowledgements } }
+ { \__xdu_lang_switch:nn { 致 { \quad } 谢 } { Acknowledgements } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 致谢 } }
+ \group_begin:
+ \dim_set:Nn \parindent { 2 \ccwd }
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \file_if_exist_input:n { \l__xdu_ack_tl }
+ \group_end:
+ \__xdu_n_chapter_head_toc:n
+ { \__xdu_lang_switch:nn { 作者简介 } { Author~Biography } }
+ \__xdu_lang_switch:nn { } { \__xdu_add_zh_toc:nn { chapter } { 作者简介 } }
+ \group_begin:
+ \dim_set:Nn \parindent { 2 \ccwd }
+ \rmfamily \zihao { -4 }
+ \dim_set:Nn \baselineskip { 20pt }
+ \ctexset
+ {
+ section / number = { \arabic { section } . },
+ section / format = { \rmfamily \zihao { -3 } \bfseries \raggedright },
+ subsection / number = { \arabic { section } . \arabic { subsection } },
+ subsection / format = { \rmfamily \zihao { 4 } \bfseries \raggedright },
+ subsection / indent = { \l__xdu_bio_indent_dim }
+ }
+ \setcounter { section } { 0 }
+ \addtocontents { toc } { \setcounter { tocdepth } { 0 } }
+ \file_if_exist_input:n { \l__xdu_bio_str }
+ \group_end:
}
%%
%%
diff --git a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls
index 2725418a548..f4b9664ab22 100644
--- a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls
+++ b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls
@@ -28,7 +28,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{xduugthesis}
- {2022/05/15}{1.15.0.1}
+ {2022/06/21}{2.0.0.0}
{Xidian University Undergraduate Thesis document class}
\RequirePackage { xparse, l3keys2e }
\PassOptionsToPackage { quiet } { xeCJK }
@@ -304,9 +304,9 @@
\cs_new:Npn \__xdu_set_latin_mono_font:nnnnn #1#2#3#4#5
{
\str_if_eq:NNTF { \l__xdu_font_type_tl } { font }
- { \setmonofont{ #1 } [ \__xdu_set_latin_scale: \__xdu_off_latin_ligatures: ]}
+ { \setmonofont { #1 } [ \__xdu_set_latin_scale: \__xdu_off_latin_ligatures: ] }
{
- \setmonofont{ #2 }
+ \setmonofont { #2 }
[
\__xdu_font_path:
\__xdu_set_latin_scale:
@@ -332,7 +332,7 @@
}
\cs_new:Npn \__xdu_set_latin_mono_font:nnnn #1#2#3#4
{
- \setmonofont{ #1 }
+ \setmonofont { #1 }
[
\__xdu_set_latin_scale:
\__xdu_off_latin_ligatures:
@@ -405,9 +405,9 @@
\cs_new:Npn \__xdu_load_math_font_cambria:
{
\__xdu_load_unicode_math_pkg:
- \str_if_eq:NNTF { \l__xdu_font_type_tl} { font}
- { \setmathfont { Cambria~Math} }
- { \setmathfont { cambria.ttc} [ Path = \l__xdu_font_path_tl/, FontIndex = 1 ] }
+ \str_if_eq:NNTF { \l__xdu_font_type_tl } { font }
+ { \setmathfont { Cambria~Math } }
+ { \setmathfont { cambria.ttc } [ Path = \l__xdu_font_path_tl/, FontIndex = 1 ] }
}
\cs_new:Npn \__xdu_define_math_font:nn #1#2
{
@@ -461,13 +461,14 @@
\str_new:N \l__xdu_dept_str
\str_new:N \l__xdu_major_str
\str_new:N \l__xdu_author_str
-\str_new:N \l__xdu_supv_str
+\clist_new:N \l__xdu_supv_clist
\str_new:N \l__xdu_supv_ent_str
\str_new:N \l__xdu_student_id_str
\tl_new:N \l__xdu_abstract_zh_tl
\tl_new:N \l__xdu_abstract_en_tl
\clist_new:N \l__xdu_keywords_zh_clist
\clist_new:N \l__xdu_keywords_en_clist
+\clist_new:N \l__xdu_bib_file_clist
\tl_new:N \l__xdu_ack_tl
\keys_define:nn { xdu / info }
{
@@ -475,13 +476,14 @@
department .tl_set:N = \l__xdu_dept_str,
major .tl_set:N = \l__xdu_major_str,
author .tl_set:N = \l__xdu_author_str,
- supervisor .tl_set:N = \l__xdu_supv_str,
+ supervisor .clist_set:N = \l__xdu_supv_clist,
supervisor-enterprise .tl_set:N = \l__xdu_supv_ent_str,
student-id .tl_set:N = \l__xdu_student_id_str,
abstract .tl_set:N = \l__xdu_abstract_zh_tl,
abstract* .tl_set:N = \l__xdu_abstract_en_tl,
keywords .clist_set:N = \l__xdu_keywords_zh_clist,
keywords* .clist_set:N = \l__xdu_keywords_en_clist,
+ bib-resource .clist_set:N = \l__xdu_bib_file_clist,
acknowledgements .tl_set:N = \l__xdu_ack_tl
}
\keys_set:nn { xdu }
@@ -497,8 +499,16 @@
info / abstract* = { },
info / keywords = { },
info / keywords* = { },
+ info / bib-resource = { },
info / acknowledgements = { }
}
+\str_new:N \l__xdu_supv_str
+\str_new:N \l__xdu_supv_ii_str
+\ctex_at_end_preamble:n
+ {
+ \str_set:Nx \l__xdu_supv_str { \clist_item:Nn \l__xdu_supv_clist { 1 } }
+ \str_set:Nx \l__xdu_supv_ii_str { \clist_item:Nn \l__xdu_supv_clist { 2 } }
+ }
\str_new:N \l__xdu_supv_dept_str
\str_new:N \l__xdu_supv_sch_str
\str_new:N \l__xdu_class_id_str
@@ -514,10 +524,14 @@
info / supervisor-school = { },
info / class-id = { }
}
+\cs_set:Npn \figurename { \__xdu_lang_switch:nn { 图 } { Figure } }
+\cs_new_eq:NN \figname \figurename
+\cs_set:Npn \tablename { \__xdu_lang_switch:nn { 表 } { Table } }
+\cs_new_eq:NN \tabname \tablename
\bool_new:N \l__xdu_en_cjk_font_bool
\tl_new:N \l__xdu_lang_tl
\tl_new:N \l__xdu_bib_tool_tl
-\clist_new:N \l__xdu_bib_file_clist
+\tl_new:N \l__xdu_biblatex_option_tl
\tl_new:N \l__xdu_ref_add_space
\tl_new:N \l__xdu_cap_label_sep_tl
\bool_new:N \l__xdu_tab_small_bool
@@ -539,7 +553,7 @@
{ \tl_set_eq:NN \l__xdu_lang_tl \l_keys_choice_tl },
bib-backend .choices:nn = { bibtex, biblatex }
{ \tl_set_eq:NN \l__xdu_bib_tool_tl \l_keys_choice_tl },
- bib-resource .clist_set:N = \l__xdu_bib_file_clist,
+ biblatex-option .tl_set:N = \l__xdu_biblatex_option_tl,
ref-add-space .bool_set:N = \l__xdu_ref_add_space,
caption-label-sep .tl_set:N = \l__xdu_cap_label_sep_tl,
table-small-font .bool_set:N = \l__xdu_tab_small_bool,
@@ -560,7 +574,7 @@
style / en-cjk-font = false,
style / language = zh,
style / bib-backend = biblatex,
- style / bib-resource = { },
+ style / biblatex-option = { },
style / ref-add-space = false,
style / caption-label-sep = { 0.75em },
style / table-small-font = true,
@@ -568,7 +582,7 @@
style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt },
style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt },
style / symmetric-margin = false,
- style / page-vertical-align = {顶部对齐}
+ style / page-vertical-align = { 顶部对齐 }
}
\NewDocumentCommand \xdusetup { m }
{ \keys_set:nn { xdu } { #1 } }
@@ -596,6 +610,20 @@
\str_set_eq:NN \l__xdu_pure_title_str \l__xdu_title_str
\str_remove_all:Nn \l__xdu_pure_title_str { \\ }
}
+\cs_new_protected:Npn \__xdu_split_title:Nn #1#2
+ {
+ \seq_new:N \l__xdu_title_seq
+ \tl_if_in:nnTF { #2 } { \\ }
+ {
+ \seq_set_split:Nnn \l__xdu_title_seq { \\ } { #2 }
+ \clist_set_from_seq:NN #1 \l__xdu_title_seq
+ }
+ {
+ \clist_put_right:Nx #1 { \tl_range:nnn { #2 } { 1 } { 14 } }
+ \clist_put_right:Nx #1 { \tl_range:nnn { #2 } { 15 } { -1 } }
+ }
+ }
+\cs_generate_variant:Nn \__xdu_split_title:Nn { NV }
\cs_new:Npn \__xdu_uline:n #1
{ \CJKunderline [ thickness = 0.5pt ] { #1 } }
\cs_new:Npn \__xdu_tl_set_if_empty:Nn #1#2
@@ -623,10 +651,10 @@
}
\cs_new:Npn \__xdu_n_chapter_head_ii:nn #1#2
{
- {
+ \group_begin:
\ctexset { chapter / format = { #2 } }
\__xdu_n_chapter_head:n { #1 }
- }
+ \group_end:
}
\cs_new:Npn \__xdu_n_chapter_head:nn #1#2
{
@@ -636,10 +664,10 @@
}
\cs_new:Npn \__xdu_n_chapter_head_ii:nnn #1#2#3
{
- {
+ \group_begin:
\ctexset { chapter / format = { #3 } }
\__xdu_n_chapter_head:nn { #1 } { #2 }
- }
+ \group_end:
}
\cs_new:Npn \__xdu_n_chapter_head_toc:n #1
{
@@ -653,13 +681,20 @@
\chapter* { #2 }
\markboth { #1 } { }
}
+\cs_new:Npn \__xdu_n_chapter_head_toc_ii:nn #1#2
+ {
+ \group_begin:
+ \ctexset { chapter / format = { #2 } }
+ \__xdu_n_chapter_head_toc:n { #1 }
+ \group_end:
+ }
\cs_new:Npn \__xdu_typeout_keywords:nNn #1#2#3
{
- \str_clear_new:N \l__xdu_keywords_label_str
- \str_set:Nn \l__xdu_keywords_label_str { #1 }
+ \tl_clear_new:N \l__xdu_keywords_label_str
+ \tl_set:Nn \l__xdu_keywords_label_tl { #1 }
\dim_zero_new:N \l__xdu_keywords_label_dim
- \__xdu_get_text_width:NV \l__xdu_keywords_label_dim \l__xdu_keywords_label_str
- \begin { list } { \l__xdu_keywords_label_str }
+ \__xdu_get_text_width:NV \l__xdu_keywords_label_dim \l__xdu_keywords_label_tl
+ \begin { list } { \l__xdu_keywords_label_tl }
{
\labelwidth \l__xdu_keywords_label_dim
\labelsep \c_zero_dim
@@ -669,6 +704,14 @@
\item \clist_use:Nnnn #2 { #3 } { #3 } { #3 }
\end { list }
}
+\dim_new:N \l__xdu_str_dim
+\box_new:N \l__xdu_str_box
+\cs_new:Npn \__xdu_str_max_dim:Nn #1#2
+ {
+ \hbox_set:Nn \l__xdu_str_box { #2 }
+ \dim_set:Nn \l__xdu_str_dim { \box_wd:N \l__xdu_str_box }
+ \dim_set:Nn #1 { \dim_max:nn { \l__xdu_str_dim } { #1 } }
+ }
\NewDocumentCommand \noauxwrite { m }
{
\if@filesw
@@ -996,6 +1039,7 @@
{ \captionsetup [ subfloat ] { subrefformat = parens } }
{ }
}
+\PassOptionsToPackage { labelformat = simple } { subcaption }
\ctex_at_end_preamble:n
{
\@ifpackageloaded { subcaption }
@@ -1040,7 +1084,7 @@
}
{ }
}
-\RequirePackage{ hyperref }
+\RequirePackage { hyperref }
\hypersetup
{
bookmarksnumbered,
@@ -1095,6 +1139,7 @@
{ \group_begin: \citestyle { numbers } \cite { #1 } \group_end: }
}
{
+ \PassOptionsToPackage { \l__xdu_biblatex_option_tl } { biblatex }
\RequirePackage { biblatex }
\clist_map_inline:Nn \l__xdu_bib_file_clist { \addbibresource { #1 } }
}
@@ -1168,20 +1213,6 @@
\hfil
}
}
-\cs_new_protected:Npn \__xdu_split_title:Nn #1#2
- {
- \seq_new:N \l__xdu_title_seq
- \tl_if_in:nnTF { #2 } { \\ }
- {
- \seq_set_split:Nnn \l__xdu_title_seq { \\ } { #2 }
- \clist_set_from_seq:NN #1 \l__xdu_title_seq
- }
- {
- \clist_put_right:Nx #1 { \tl_range:nnn { #2 } { 1 } { 14 } }
- \clist_put_right:Nx #1 { \tl_range:nnn { #2 } { 15 } { -1 } }
- }
- }
-\cs_generate_variant:Nn \__xdu_split_title:Nn { NV }
\bool_new:N \l__xdu_is_ent_bool
\bool_new:N \l__xdu_is_wide_bool
\ctex_at_end_preamble:n
@@ -1236,7 +1267,7 @@
\__xdu_cover_iii:nnnn { 校外导师姓名 } { rm } { -3 } { \l__xdu_supv_ent_str }
\__xdu_cover_iii:nnnn { 校内导师姓名 } { rm } { -3 } { \l__xdu_supv_sch_str }
}
- {
+ \group_begin:
\__xdu_cover_iii:nnnn { 导师姓名 } { rm } { -3 } { \l__xdu_supv_str }
\tl_if_blank:VF \l__xdu_supv_dept_str
{
@@ -1246,7 +1277,7 @@
{ -3 }
{ \l__xdu_supv_dept_str }
}
- }
+ \group_end:
\cleardoublepage
\__xdu_load_main_geometry:
\pagestyle { plain }
@@ -1259,30 +1290,30 @@
{ 摘 { \quad } 要 }
{ \__xdu_sf_family: \zihao { 3 } \centering }
}
- {
+ \group_begin:
\dim_set:Nn \parindent { 2 \ccwd }
\rmfamily \zihao { -4 }
\file_if_exist_input:n { \l__xdu_abstract_zh_tl }
- }
- \cs_new:Npn \__xdu_keywords_space: { \hspace{ 2em plus 1em minus 1em } }
- {
+ \group_end:
+ \cs_new:Npn \__xdu_keywords_space: { \hspace { 2em plus 1em minus 1em } }
+ \group_begin:
\sffamily \zihao { -4 } \par
\__xdu_typeout_keywords:nNn
{ 关键词: } { \l__xdu_keywords_zh_clist } { \__xdu_keywords_space: }
- }
+ \group_end:
\cleardoublepage
\__xdu_n_chapter_head_ii:nn
{ ABSTRACT } { \rmfamily \zihao { 3 } \bfseries \centering }
- {
+ \group_begin:
\dim_set:Nn \parindent { 2 \ccwd }
\rmfamily \zihao { -4 }
\file_if_exist_input:n { \l__xdu_abstract_en_tl }
- }
- {
+ \group_end:
+ \group_begin:
\rmfamily \zihao { -4 } \bfseries \par
\__xdu_typeout_keywords:nNn
{ Keywords: } { \l__xdu_keywords_en_clist } { \__xdu_keywords_space: }
- }
+ \group_end:
\cleardoublepage
\setcounter { tocdepth } { 5 }
\__xdu_n_chapter_head:nn
@@ -1304,14 +1335,14 @@
\__xdu_n_chapter_head_toc:nn
{ \__xdu_lang_switch:nn { 致谢 } { Acknowledgements } }
{ \__xdu_lang_switch:nn { 致 { \quad } 谢 } { Acknowledgements } }
- {
+ \group_begin:
\dim_set:Nn \parindent { 2 \ccwd }
\rmfamily \zihao { -4 }
\file_if_exist_input:n { \l__xdu_ack_tl }
- }
+ \group_end:
\cs_set:Npn \bibname { \__xdu_lang_switch:nn { 参考文献 } { Bibliography } }
\__xdu_n_chapter_head_toc:n { \bibname }
- {
+ \group_begin:
\tl_if_eq:NnTF \l__xdu_bib_tool_tl { bibtex }
{
\cs_set:Npn \bibsection { }
@@ -1323,7 +1354,7 @@
\cs_set:Npn \bibfont { \__xdu_rm_family: \zihao { 5 } }
\printbibliography
}
- }
+ \group_end:
}
%%
%%