diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls | 409 |
1 files changed, 208 insertions, 201 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls index 6e5b896a0fa..b268e393224 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls +++ b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls @@ -26,8 +26,24 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{xduugthesis} - {2022/04/09}{0.5.2.1}{Xidian University Undergraduate Thesis class} + {2022/04/10}{0.6.0.0} + {Xidian University Undergraduate Thesis class} \RequirePackage { xparse, l3keys2e } +\PassOptionsToPackage { quiet } { xeCJK } +\PassOptionsToClass + { + zihao=-4, + sub4section, + linespread = 1.5, + fontset = none + } + { ctexbook } +\LoadClass { ctexbook } +\RequirePackage { geometry } +\geometry { paper = a4paper } +\RequirePackage { fancyhdr } +\RequirePackage { xeCJKfntef } +\RequirePackage { graphicx } \tl_new:N \l__xdu_cjk_font_tl \str_new:N \l__xdu_fake_bold_str \str_new:N \l__xdu_fake_slant_str @@ -36,13 +52,6 @@ \tl_new:N \l__xdu_unicode_math_tl \tl_new:N \l__xdu_font_type_tl \tl_new:N \l__xdu_font_path_tl -\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_fig_label_sep_tl -\clist_new:N \l__xdu_before_skip_clist -\clist_new:N \l__xdu_after_skip_clist \keys_define:nn { xdu / style } { cjk-font .choices:nn = @@ -61,56 +70,7 @@ unicode-math .tl_set:N = \l__xdu_unicode_math_tl, font-type .choices:nn = { font, file } { \tl_set_eq:NN \l__xdu_font_type_tl \l_keys_choice_tl }, - font-path .tl_set:N = \l__xdu_font_path_tl, - en-cjk-font .bool_set:N = \l__xdu_en_cjk_font_bool, - language .choices:nn = { zh, en } - { \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, - fig-label-sep .tl_set:N = \l__xdu_fig_label_sep_tl, - before-skip .clist_set:N = \l__xdu_before_skip_clist, - after-skip .clist_set:N = \l__xdu_after_skip_clist - } -\str_new:N \l__xdu_title_str -\str_new:N \l__xdu_title_i_str -\str_new:N \l__xdu_title_ii_str -\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 -\str_new:N \l__xdu_supv_dept_str -\str_new:N \l__xdu_supv_ent_str -\str_new:N \l__xdu_supv_sch_str -\str_new:N \l__xdu_class_id_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 -\tl_new:N \l__xdu_ack_tl -\keys_define:nn { xdu / info } - { - title .tl_set:N = \l__xdu_title_str, - 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-department .tl_set:N = \l__xdu_supv_dept_str, - supervisor-enterprise .tl_set:N = \l__xdu_supv_ent_str, - supervisor-school .tl_set:N = \l__xdu_supv_sch_str, - class-id .tl_set:N = \l__xdu_class_id_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, - acknowledgements .tl_set:N = \l__xdu_ack_tl - } -\keys_define:nn { xdu } - { - style .meta:nn = { xdu / style } { #1 }, - info .meta:nn = { xdu / info } { #1 } + font-path .tl_set:N = \l__xdu_font_path_tl } \keys_set:nn { xdu } { @@ -121,62 +81,24 @@ style / math-font = cm, style / unicode-math = { }, style / font-type = font, - style / font-path = fonts, - style / en-cjk-font = false, - style / language = zh, - style / bib-backend = biblatex, - style / bib-resource = { }, - style / fig-label-sep = { 0.75em }, - style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, - style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt }, - info / title = { }, - info / department = { }, - info / major = { }, - info / author = { }, - info / supervisor = { }, - info / supervisor-department = { }, - info / supervisor-enterprise = { }, - info / supervisor-school = { }, - info / class-id = { }, - info / student-id = { }, - info / abstract = { }, - info / abstract* = { }, - info / keywords = { }, - info / keywords* = { }, - info / acknowledgements = { } + style / font-path = fonts } -\NewDocumentCommand \xdusetup { m } - { \keys_set:nn { xdu } { #1 } } -\ProcessKeysOptions { xdu } -\str_if_eq:NNTF { \l__xdu_cjk_font_tl } { fandol } - { \PassOptionsToPackage { quiet } { fontspec } } - { } -\PassOptionsToPackage { quiet } { xeCJK } -\PassOptionsToClass +\cs_new:Npn \__xdu_if_platform_macos:FT #1#2 + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } { #2 } { #1 } } +\cs_new:Npn \__xdu_texmf_font:nn #1#2 + { \__xdu_if_platform_macos:FT { #1 } { #2 } } +\cs_new:Npn \__xdu_select_font:nn #1#2 { - zihao=-4, - sub4section, - linespread = 1.5, - fontset = none + \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } + { #1 } + { #2 } } - { ctexbook } -\LoadClass { ctexbook } \cs_new:Npn \__xdu_font_path: { \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } { } { Path = \l__xdu_font_path_tl / , } } -\cs_new:Npn \__xdu_if_platform_macos:FT #1#2 - { \ctex_if_platform_macos:TF { #2 } { #1 } } -\cs_new:Npn \__xdu_texmf_font:nn #1#2 - { \__xdu_if_platform_macos:FT { #1 } { #2 } } -\cs_new:Npn \__xdu_rm_family: - { \bool_if:NTF \l__xdu_en_cjk_font_bool { \CJKfamily+ { rm } } { \rmfamily } } -\cs_new:Npn \__xdu_sf_family: - { \bool_if:NTF \l__xdu_en_cjk_font_bool { \CJKfamily+ { sf } } { \sffamily } } -\cs_new:Npn \__xdu_tt_family: - { \bool_if:NTF \l__xdu_en_cjk_font_bool { \CJKfamily+ { tt } } { \ttfamily } } \cs_new:Npn \__xdu_cfg_cjk_font_sub_b:n #1 { BoldFont = { #1 } @@ -260,12 +182,6 @@ \__xdu_cfg_cjk_font_sub_i:n { #3 }, \__xdu_cfg_cjk_font_sub_ifb:n { #3 } } -\cs_new:Npn \__xdu_select_font:nn #1#2 - { - \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } - { #1 } - { #2 } - } \cs_new:Npn \__xdu_set_cjk_main_font:nn #1#2 { \setCJKmainfont { #1 } @@ -419,10 +335,10 @@ \cs_new:Npn \__xdu_define_math_font:nn #1#2 { \cs_new:cpn { __xdu_load_math_font_ #1 : } - { - \__xdu_load_unicode_math_pkg: - \setmathfont { #2 } - } + { + \__xdu_load_unicode_math_pkg: + \setmathfont { #2 } + } } \clist_map_inline:nn { @@ -462,14 +378,108 @@ \use:c { __xdu_load_math_font_ \l__xdu_math_font_tl : } } \ctex_at_end_preamble:n { \__xdu_load_font: } -\cs_new_protected:Npn \__xdu_begin_document:n #1 - { \ctex_gadd_ltxhook:nn { env/document/begin } { #1 } } +\str_new:N \l__xdu_title_str +\str_new:N \l__xdu_title_i_str +\str_new:N \l__xdu_title_ii_str +\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 +\str_new:N \l__xdu_supv_dept_str +\str_new:N \l__xdu_supv_ent_str +\str_new:N \l__xdu_supv_sch_str +\str_new:N \l__xdu_class_id_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 +\tl_new:N \l__xdu_ack_tl +\keys_define:nn { xdu / info } + { + title .tl_set:N = \l__xdu_title_str, + 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-department .tl_set:N = \l__xdu_supv_dept_str, + supervisor-enterprise .tl_set:N = \l__xdu_supv_ent_str, + supervisor-school .tl_set:N = \l__xdu_supv_sch_str, + class-id .tl_set:N = \l__xdu_class_id_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, + acknowledgements .tl_set:N = \l__xdu_ack_tl + } +\keys_set:nn { xdu } + { + info / title = { }, + info / department = { }, + info / major = { }, + info / author = { }, + info / supervisor = { }, + info / supervisor-department = { }, + info / supervisor-enterprise = { }, + info / supervisor-school = { }, + info / class-id = { }, + info / student-id = { }, + info / abstract = { }, + info / abstract* = { }, + info / keywords = { }, + info / keywords* = { }, + info / acknowledgements = { } + } +\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_fig_label_sep_tl +\clist_new:N \l__xdu_before_skip_clist +\clist_new:N \l__xdu_after_skip_clist +\keys_define:nn { xdu / style } + { + en-cjk-font .bool_set:N = \l__xdu_en_cjk_font_bool, + language .choices:nn = { zh, en } + { \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, + fig-label-sep .tl_set:N = \l__xdu_fig_label_sep_tl, + before-skip .clist_set:N = \l__xdu_before_skip_clist, + after-skip .clist_set:N = \l__xdu_after_skip_clist + } +\keys_set:nn { xdu } + { + style / en-cjk-font = false, + style / language = zh, + style / bib-backend = biblatex, + style / bib-resource = { }, + style / fig-label-sep = { 0.75em }, + style / before-skip = { 24pt, 18pt, 12pt, 12pt, 12pt, 12pt }, + style / after-skip = { 18pt, 12pt, 6pt, 6pt, 6pt, 6pt } + } +\NewDocumentCommand \xdusetup { m } + { \keys_set:nn { xdu } { #1 } } +\keys_define:nn { xdu } + { + style .meta:nn = { xdu / style } { #1 }, + info .meta:nn = { xdu / info } { #1 } + } +\ProcessKeysOptions { xdu / style } \cs_new:Npn \__xdu_lang_switch:nn #1#2 { \str_if_eq:NNTF { \l__xdu_lang_tl } { zh } { #1 } { #2 } } +\cs_new:Npn \__xdu_rm_family: + { \bool_if:NTF \l__xdu_en_cjk_font_bool { \CJKfamily+ { rm } } { \rmfamily } } +\cs_new:Npn \__xdu_sf_family: + { \bool_if:NTF \l__xdu_en_cjk_font_bool { \CJKfamily+ { sf } } { \sffamily } } +\cs_new:Npn \__xdu_tt_family: + { \bool_if:NTF \l__xdu_en_cjk_font_bool { \CJKfamily+ { tt } } { \ttfamily } } \ctex_at_end_preamble:n { \str_new:N \l__xdu_pure_title_str @@ -512,89 +522,6 @@ \chapter* { #1 } \markboth { #1 } { } } -\RequirePackage [ titles ] { tocloft } -\renewcommand { \cftchapleader } { \bfseries \cftdotfill { \cftdotsep } } -\clist_map_inline:nn - { - \cftbeforechapskip, - \cftbeforesecskip, - \cftbeforesubsecskip, - \cftbeforesubsubsecskip, - \cftbeforeparaskip, - \cftbeforesubparaskip - } - { \dim_set:Nn { #1 } { 5pt } } - \clist_map_inline:nn - { - \cftchapfont, - \cftchappagefont - } - { \renewcommand { #1 } { \__xdu_rm_family: \zihao { -4 } \bfseries } } -\clist_map_inline:nn - { - \cftsecfont, - \cftsubsecfont, - \cftsubsubsecfont, - \cftparafont, - \cftsubparafont, - \cftsecpagefont, - \cftsubsecpagefont, - \cftsubsubsecpagefont, - \cftparapagefont, - \cftsubparapagefont - } - { \renewcommand { #1 } { \__xdu_rm_family: \zihao { -4 } } } -\RequirePackage { caption } -\DeclareCaptionLabelSeparator { customskip } { \hskip \l__xdu_fig_label_sep_tl } -\DeclareCaptionFont { customfont } { \__xdu_rm_family: \zihao { 5 } } -\captionsetup - { - labelsep = customskip, - font = customfont - } -\PassOptionsToPackage { font = small } { subfig } -\captionsetup [ sub ] { font = customfont } -\RequirePackage{hyperref} -\hypersetup - { - bookmarksnumbered, - hidelinks - } -\ctex_at_end_preamble:n - { - \hypersetup - { - pdftitle = \l__xdu_pure_title_str, - pdfsubject = {西安电子科技大学本科毕业设计论文}, - pdfauthor = \l__xdu_author_str - } - } -\__xdu_begin_document:n - { - \tl_if_eq:NnTF \l__xdu_bib_tool_tl { bibtex } - { - \RequirePackage [ sort&compress,square,super,comma,numbers ] { natbib } - \RequirePackage { gbt7714 } - \bibliographystyle { gbt7714-numerical } - } - { - \RequirePackage [ style = gb7714-2015 ] { biblatex } - \clist_map_inline:Nn \l__xdu_bib_file_clist { \addbibresource { #1 } } - } - } -\RequirePackage { environ } -\NewEnviron { appendixes } - { - \appendix - \renewcommand { \thefigure } { \thechapter \arabic { figure } } - \renewcommand { \thetable } { \thechapter \arabic { table } } - \BODY - } -\RequirePackage { geometry } -\geometry { paper = a4paper } -\RequirePackage { fancyhdr } -\RequirePackage { xeCJKfntef } -\RequirePackage { graphicx } \cs_new:Npn \__xdu_typeout_keywords:nNn #1#2#3 { \str_clear_new:N \l__xdu_keywords_label_str @@ -736,6 +663,87 @@ paragraph / afterskip = { \clist_item:Nn \l__xdu_after_skip_clist { 5 } }, subparagraph / afterskip = { \clist_item:Nn \l__xdu_after_skip_clist { 6 } } } +\RequirePackage [ titles ] { tocloft } +\renewcommand { \cftchapleader } { \bfseries \cftdotfill { \cftdotsep } } +\clist_map_inline:nn + { + \cftbeforechapskip, + \cftbeforesecskip, + \cftbeforesubsecskip, + \cftbeforesubsubsecskip, + \cftbeforeparaskip, + \cftbeforesubparaskip + } + { \dim_set:Nn { #1 } { 5pt } } + \clist_map_inline:nn + { + \cftchapfont, + \cftchappagefont + } + { \renewcommand { #1 } { \__xdu_rm_family: \zihao { -4 } \bfseries } } +\clist_map_inline:nn + { + \cftsecfont, + \cftsubsecfont, + \cftsubsubsecfont, + \cftparafont, + \cftsubparafont, + \cftsecpagefont, + \cftsubsecpagefont, + \cftsubsubsecpagefont, + \cftparapagefont, + \cftsubparapagefont + } + { \renewcommand { #1 } { \__xdu_rm_family: \zihao { -4 } } } +\renewcommand { \theequation } { \thechapter - \arabic { equation } } +\RequirePackage { caption } +\DeclareCaptionLabelSeparator { customskip } { \hskip \l__xdu_fig_label_sep_tl } +\DeclareCaptionFont { customfont } { \__xdu_rm_family: \zihao { 5 } } +\captionsetup + { + labelsep = customskip, + font = customfont + } +\PassOptionsToPackage { font = small } { subfig } +\captionsetup [ sub ] { font = customfont } +\RequirePackage{hyperref} +\hypersetup + { + bookmarksnumbered, + hidelinks + } +\ctex_at_end_preamble:n + { + \hypersetup + { + pdftitle = \l__xdu_pure_title_str, + pdfsubject = {西安电子科技大学本科毕业设计论文}, + pdfauthor = \l__xdu_author_str + } + } +\cs_new_protected:Npn \__xdu_begin_document:n #1 + { \ctex_gadd_ltxhook:nn { env/document/begin } { #1 } } +\__xdu_begin_document:n + { + \tl_if_eq:NnTF \l__xdu_bib_tool_tl { bibtex } + { + \RequirePackage [ sort&compress,square,super,comma,numbers ] { natbib } + \RequirePackage { gbt7714 } + \bibliographystyle { gbt7714-numerical } + } + { + \RequirePackage [ style = gb7714-2015 ] { biblatex } + \clist_map_inline:Nn \l__xdu_bib_file_clist { \addbibresource { #1 } } + } + } +\RequirePackage { environ } +\NewEnviron { appendixes } + { + \appendix + \renewcommand { \thefigure } { \thechapter \arabic { figure } } + \renewcommand { \thetable } { \thechapter \arabic { table } } + \BODY + } \cs_new:Npn \__xdu_cover_i:nn #1#2 { \vbox_to_ht:nn {12pt} @@ -879,7 +887,6 @@ \tableofcontents \cleardoublepage } -\renewcommand { \theequation } { \thechapter - \arabic { equation } } \renewcommand{\mainmatter} { \loadgeometry { main } |