From a7eed2c09a27844aa37d238f40c898022f5e14c3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 28 Jan 2023 21:08:40 +0000 Subject: xduts (28jan23) git-svn-id: svn://tug.org/texlive/trunk@65662 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/xduts/README.md | 41 +++---- Master/texmf-dist/doc/xelatex/xduts/xduts.pdf | Bin 331323 -> 332217 bytes Master/texmf-dist/source/xelatex/xduts/xduts.dtx | 125 +++++++++++++++------ Master/texmf-dist/source/xelatex/xduts/xduts.ins | 3 +- Master/texmf-dist/tex/xelatex/xduts/xdufont.sty | 60 +++++++--- .../texmf-dist/tex/xelatex/xduts/xdupgthesis.cls | 77 +++++++++---- .../texmf-dist/tex/xelatex/xduts/xduugthesis.cls | 60 +++++++--- Master/texmf-dist/tex/xelatex/xduts/xduugtp.cls | 60 +++++++--- 8 files changed, 286 insertions(+), 140 deletions(-) diff --git a/Master/texmf-dist/doc/xelatex/xduts/README.md b/Master/texmf-dist/doc/xelatex/xduts/README.md index 0f07728ea34..4394ad1811e 100644 --- a/Master/texmf-dist/doc/xelatex/xduts/README.md +++ b/Master/texmf-dist/doc/xelatex/xduts/README.md @@ -11,43 +11,37 @@ XDUTS currently includes: - `xdupgthesis.cls`, Xidian University Postgraduate Thesis document class - `xduugthesis.cls`, Xidian University Undergraduate Thesis document class -In the future, we plan to add the following document classes, including +In the future, we plan to add the following document class, including - `xdupgtp.cls`, Xidian University Postgraduate Thesis Proposal document class ## Preparation -If using TeX Live/MacTeX, TeX Live/MacTeX 2022+ is recommended, and update all packages to the latest version by running command below. If on Windows, it may be necessary to start a Command Prompt as an Administrator. If on macOS or GNU/Linux, it may be necessary to run the command with `sudo`. +### TeX Live/MacTeX + +If using TeX Live/MacTeX, make sure that the latest version of TeX Live/MacTeX is installed. Then update all packages by running command below. If on Windows, it may be necessary to start a Command Prompt as an Administrator. If on macOS or GNU/Linux, it may be necessary to run the command with `sudo`. ```shell -tlmgr option repository https://mirrors.cloud.tencent.com/CTAN/systems/texlive/tlnet/ tlmgr update --all --self ``` -## Installation - -You can install XDUTS from either CTAN or GitHub by following the instructions below. - -### CTAN - -#### TeX Live/MacTeX +### MiKTeX -After completing the preparation, XDUTS is already contained in TeX Live/MacTeX. Run command below to open the documentation. +If using MiKTeX, update all installed packages by running command below. ```shell -texdoc xduts +miktex packages update ``` -#### MiKTeX +## Installation + +You can install XDUTS from either CTAN or GitHub by following the instructions below. Generally speaking, CTAN updates XDUTS slowly. If you want to use the latest version of XDUTS, get XDUTS from GitHub. -You can install/update XDUTS by running command below. +### CTAN -```shell -miktex packages install xduts -miktex packages update xduts -``` +#### TeX Live/MacTeX/MiKTeX -Run command below to open the documentation. +After completing the preparation, run command below to open the documentation. ```shell texdoc xduts @@ -59,17 +53,16 @@ If you have installed LaTeX distribution locally, you can get the document class ### GitHub -Generally speaking, CTAN updates XDUTS slowly. If you want to use the latest version of XDUTS, [download this repository](https://github.com/note286/xduts/archive/refs/heads/main.zip) and run the following command to get the document class/package files. +After completing the preparation, download this [repository](https://github.com/note286/xduts/archive/refs/heads/main.zip) and run the following commands in the downloaded folder to get the document class/package files and the documentation. ```shell xetex xduts.ins +l3build doc ``` -Run command below to get the documentation. +## Usage -```shell -l3build doc -``` +Be sure to read the documentation (i.e., `xduts.pdf`) from the beginning in order to use XDUTS better. ## Note diff --git a/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf b/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf index d8b24f10535..a280b008265 100644 Binary files a/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf and b/Master/texmf-dist/doc/xelatex/xduts/xduts.pdf differ diff --git a/Master/texmf-dist/source/xelatex/xduts/xduts.dtx b/Master/texmf-dist/source/xelatex/xduts/xduts.dtx index 32ac11d84b1..fb5170a0084 100644 --- a/Master/texmf-dist/source/xelatex/xduts/xduts.dtx +++ b/Master/texmf-dist/source/xelatex/xduts/xduts.dtx @@ -1,7 +1,7 @@ % \iffalse %<*driver> \ProvidesFile{xduts.dtx} -[2023/01/16 v4.1.1.0 Xidian University TeX Suite] +[2023/01/28 v4.3.0.0 Xidian University TeX Suite] % %\NeedsTeXFormat{LaTeX2e} %\RequirePackage{expl3} @@ -9,7 +9,7 @@ %\ProvidesExplClass{xduugtp} %\ProvidesExplClass{xdupgthesis} %\ProvidesExplClass{xduugthesis} -% {2023/01/16}{4.1.1.0} +% {2023/01/28}{4.3.0.0} % {Xidian University Font package} % {Xidian University Undergraduate Thesis Proposal class} % {Xidian University Postgraduate Thesis document class} @@ -40,12 +40,9 @@ \setcounter{tocdepth}{5} \ctexset{punct=quanjiao} \usepackage{hologo} -\usepackage{fetamont} \usepackage{xurl} \usepackage{xspace} \xspaceaddexceptions{。?!,、;:“”‘’—….--~·《》<>_} -\newcolumntype{Y}{>{\centering\arraybackslash}X} -\usepackage{multirow} \usepackage{pifont} \newcommand{\cmark}{\ding{51}} \usepackage{subcaption} @@ -94,7 +91,9 @@ \newcommand{\ctanurl}[1]{\href{https://mirrors.cloud.tencent.com/CTAN/#1}{\ttfamily CTAN://#1}} \newcommand{\footctan}[1]{\footnote{\ctanurl{#1}}} % logo -\newcommand{\xduts}{{\bfseries\ffmfamily XDUTS}} +\changes{v4.1.1.1}{2023/01/21}{修正LOGO字形高度} +\newfontfamily{\ffmfamily}[Scale=MatchUppercase]{ffmb10.otf} +\newcommand{\xduts}{{\ffmfamily XDUTS}} \newcommand{\texlive}{\TeX{} Live} \newcommand{\mactex}{Mac\TeX{}} \newcommand{\miktex}{\xspace\hologo{MiKTeX}\xspace} @@ -132,6 +131,8 @@ emph = [6]{document,tabular,edubg,resresult,appendixes}, literate = {\$}{{\textcolor{purple3}{\$}}}{1} {\{}{{\textcolor{purple3}{\{}}}{1} {\}}{{\textcolor{purple3}{\}}}}{1} + {[}{{\textcolor{purple3}{[}}}{1} + {]}{{\textcolor{purple3}{]}}}{1} {=}{{\textcolor{purple3}{=}}}{1} {\&}{{\textcolor{purple3}{\&}}}{1} {\\\\}{{\textcolor{purple3}{\textbackslash{}\textbackslash{}}}}{2} @@ -544,6 +545,18 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % |gyre| & TeX Gyre Termes & TeX Gyre Heros & TeX Gyre Cursor \\ % \end{tblr} % \end{table} +% \begin{function}[added=2023-01-28]{style/latin-sans-scale,style/latin-mono-scale} +% \begin{syntax} +% \optx{style/latin-sans-scale}=\metax{upper|lower|(off)} +% \optx{style/latin-mono-scale}=\metax{upper|lower|(off)} +% \end{syntax} +% 匹配无衬线族和打字机族字符高度。 +% \end{function} +% \begin{optdesc} +% \item[upper] 按大写字母的高度缩放以匹配罗马族字体。 +% \item[lower] 按小写字母的高度缩放以匹配罗马族字体。 +% \item[off] 不缩放。 +% \end{optdesc} % \begin{function}[added=2022-03-06,updated=2022-03-09]{style/math-font} % \begin{syntax} % \optx{style/math-font}=\metax{asana|cambria|(cm)|fira|garamond|lm|...|termes|xits|none} @@ -1634,18 +1647,18 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \changes{v1.30.0.0}{2022/06/20}{英文研究生学位论文双语标题} % \subsubsection{英文研究生学位论文双语标题} % \label{英文研究生学位论文双语标题} -% \begin{function}[added=2022-06-20]{\chapter,\section,\subsection} +% \begin{function}[added=2022-06-20,updated=2023-01-28]{\chapter,\section,\subsection} % \begin{syntax} -% \tn{chapter}\marg{英文标题}\marg{中文标题} -% \tn{section}\marg{英文标题}\marg{中文标题} -% \tn{subsection}\marg{英文标题}\marg{中文标题} +% \tn{chapter}\marg{英文标题}\oarg{中文标题} +% \tn{section}\marg{英文标题}\oarg{中文标题} +% \tn{subsection}\marg{英文标题}\oarg{中文标题} % \end{syntax} % 在英文研究生学位论文中一二三级标题为中英双语,其他级别标题为英文。 % 一个简单的例子如下所示: % \begin{lstlisting} -% \chapter{This Is Chapter}{这是一级标题} -% \section{This Is Section}{这是二级标题} -% \subsection{This Is Subsection}{这是三级标题} +% \chapter{This Is Chapter}[这是一级标题] +% \section{This Is Section}[这是二级标题] +% \subsection{This Is Subsection}[这是三级标题] % \subsubsection{This Is Subsubsection} % \paragraph{This Is Paragraph} % \subparagraph{This Is Subparagraph} @@ -1846,6 +1859,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \l_@@_fake_bold_tl, % \l_@@_fake_slant_tl, % \l_@@_latin_font_tl, +% \l_@@_latin_sans_scale_tl, +% \l_@@_latin_mono_scale_tl, % \l_@@_math_font_tl, % \l_@@_unicode_math_tl, % \l_@@_font_type_tl, @@ -1868,6 +1883,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} \tl_new:N \l_@@_latin_font_tl % \end{macrocode} +% 匹配无衬线族和打字机族字符高度。 +% \begin{macrocode} +\tl_new:N \l_@@_latin_sans_scale_tl +\tl_new:N \l_@@_latin_mono_scale_tl +% \end{macrocode} % 数学字体配置名称。 % \begin{macrocode} \tl_new:N \l_@@_math_font_tl @@ -1905,6 +1925,13 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} cjk-fake-slant .tl_set:N = \l_@@_fake_slant_tl, % \end{macrocode} +% 匹配无衬线族和打字机族字符高度。 +% \begin{macrocode} + latin-sans-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l_@@_latin_sans_scale_tl \l_keys_choice_tl }, + latin-mono-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l_@@_latin_mono_scale_tl \l_keys_choice_tl }, +% \end{macrocode} % 英文字体配置。 % \begin{macrocode} latin-font .choices:nn = { tac, tacn, thcs, gyre, none } @@ -1938,14 +1965,16 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} % \begin{macrocode} \keys_set:nn { xdu } { - style / cjk-font = fandol, - style / cjk-fake-bold = 3, - style / cjk-fake-slant = 0.2, - style / latin-font = gyre, - style / math-font = cm, - style / unicode-math = { }, - style / font-type = font, - style / font-path = fonts + style / cjk-font = fandol, + style / cjk-fake-bold = 3, + style / cjk-fake-slant = 0.2, + style / latin-font = gyre, + style / latin-sans-scale = off, + style / latin-mono-scale = off, + style / math-font = cm, + style / unicode-math = { }, + style / font-type = font, + style / font-path = fonts } % \end{macrocode} % \end{macro} @@ -2283,12 +2312,28 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} } % \end{macrocode} % \end{macro} -% \begin{macro}{\@@_off_latin_ligatures:} +% \begin{macro}{\@@_set_latin_sans_scale:,\@@_set_latin_mono_scale:} +% \changes{v4.3.0.0}{2023/01/28}{匹配无衬线族和打字机族字符高度} % \changes{v0.8.3.0}{2022/04/13}{匹配小写字母字符高度} -% 匹配小写字母字符高度。 +% 匹配无衬线族和打字机族字符高度。 % \begin{macrocode} -\cs_new:Npn \@@_set_latin_scale: - { Scale = MatchLowercase , } +\cs_new:Npn \@@_set_latin_sans_scale: { } +\cs_new:Npn \@@_set_latin_mono_scale: { } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l_@@_latin_sans_scale_tl { upper } + { \cs_set:Npn \@@_set_latin_sans_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l_@@_latin_sans_scale_tl { lower } + { \cs_set:Npn \@@_set_latin_sans_scale: { Scale = MatchLowercase , } } + } + \tl_if_eq:NnTF \l_@@_set_latin_mono_scale { upper } + { \cs_set:Npn \@@_set_latin_mono_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l_@@_set_latin_mono_scale { lower } + { \cs_set:Npn \@@_set_latin_mono_scale: { Scale = MatchLowercase , } } + } + } % \end{macrocode} % \end{macro} % \begin{macro}{\@@_off_latin_ligatures:} @@ -2337,12 +2382,12 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \cs_new:Npn \@@_set_latin_sans_font:nnnnn #1#2#3#4#5 { \str_if_eq:NNTF { \l_@@_font_type_tl } { font } - { \setsansfont { #1 } [ \@@_set_latin_scale: ] } + { \setsansfont { #1 } [ \@@_set_latin_sans_scale: ] } { \setsansfont { #2 } [ \@@_font_path: - \@@_set_latin_scale: + \@@_set_latin_sans_scale: \@@_set_latin_font:nnn { #3 } { #4 } { #5 } ] } @@ -2363,12 +2408,12 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \cs_new:Npn \@@_set_latin_mono_font:nnnnn #1#2#3#4#5 { \str_if_eq:NNTF { \l_@@_font_type_tl } { font } - { \setmonofont { #1 } [ \@@_set_latin_scale: \@@_off_latin_ligatures: ] } + { \setmonofont { #1 } [ \@@_set_latin_mono_scale: \@@_off_latin_ligatures: ] } { \setmonofont { #2 } [ \@@_font_path: - \@@_set_latin_scale: + \@@_set_latin_mono_scale: \@@_off_latin_ligatures: \@@_set_latin_font:nnn { #3 } { #4 } { #5 } ] @@ -2409,7 +2454,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} { \setsansfont { #1 } [ - \@@_set_latin_scale: + \@@_set_latin_sans_scale: \@@_set_latin_font:nnn { #2 } { #3 } { #4 } ] } @@ -2429,7 +2474,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} { \setmonofont { #1 } [ - \@@_set_latin_scale: + \@@_set_latin_mono_scale: \@@_off_latin_ligatures: \@@_set_latin_font:nnn { #2 } { #3 } { #4 } ] @@ -7152,29 +7197,35 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1} \rmfamily \zihao { -4 } \dim_set:Nn \baselineskip { 20pt } % \end{macrocode} +% \changes{v4.2.0.0}{2023/01/28}{修改英文研究生学位论文标题命令参数格式} % \changes{v1.30.0.0}{2022/06/20}{英文研究生学位论文目录中正文一二三级中英双语标题} % 英文研究生学位论文目录中正文一二三级中英双语标题。 % \begin{macrocode} \@@_lang_switch:nn { } { \cs_new_eq:NN \@@_org_chapter:n \chapter - \RenewDocumentCommand { \chapter } { m m } + \RenewDocumentCommand { \chapter } { m o } { \@@_org_chapter:n { ##1 } \@@_add_zh_toc:nn { chapter } - { \numberline { 第 \chinese { chapter } 章 \hspace { .3em } } ##2 } + { + \numberline { 第 \chinese { chapter } 章 \hspace { .3em } } + \IfNoValueTF { ##2 } { ##1 } { ##2 } + } } \cs_new_eq:NN \@@_org_section:n \section - \RenewDocumentCommand { \section } { m m } + \RenewDocumentCommand { \section } { m o } { \@@_org_section:n { ##1 } - \@@_add_zh_toc:nn { section } { \numberline { \thesection } ##2 } + \@@_add_zh_toc:nn { section } + { \numberline { \thesection } \IfNoValueTF { ##2 } { ##1 } { ##2 } } } \cs_new_eq:NN \@@_org_subsection:n \subsection - \RenewDocumentCommand { \subsection } { m m } + \RenewDocumentCommand { \subsection } { m o } { \@@_org_subsection:n { ##1 } - \@@_add_zh_toc:nn { subsection } { \numberline { \thesubsection } ##2 } + \@@_add_zh_toc:nn { subsection } + { \numberline { \thesubsection } \IfNoValueTF { ##2 } { ##1 } { ##2 } } } } % \end{macrocode} diff --git a/Master/texmf-dist/source/xelatex/xduts/xduts.ins b/Master/texmf-dist/source/xelatex/xduts/xduts.ins index bf5f7f9499e..8900b8d9144 100644 --- a/Master/texmf-dist/source/xelatex/xduts/xduts.ins +++ b/Master/texmf-dist/source/xelatex/xduts/xduts.ins @@ -17,7 +17,8 @@ This work has the LPPL maintenance status `author-maintained'. The Current Maintainer of this work is @note286 in GitHub and CTAN. This work consists of the files README.md, xduts.dtx, and xduts.ins -and the derived files xduts.pdf, xdufont.sty, xdupgthesis.cls, and xduugthesis.cls. +and the derived files xduts.pdf, xdufont.sty, +xduugtp.cls, xdupgthesis.cls, and xduugthesis.cls. The copyright of xdulogo.pdf is Xidian University. diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty index fd904429b36..94e309943bf 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty +++ b/Master/texmf-dist/tex/xelatex/xduts/xdufont.sty @@ -21,14 +21,15 @@ %% The Current Maintainer of this work is @note286 in GitHub and CTAN. %% %% This work consists of the files README.md, xduts.dtx, and xduts.ins -%% and the derived files xduts.pdf, xdufont.sty, xdupgthesis.cls, and xduugthesis.cls. +%% and the derived files xduts.pdf, xdufont.sty, +%% xduugtp.cls, xdupgthesis.cls, and xduugthesis.cls. %% %% The copyright of xdulogo.pdf is Xidian University. %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{xdufont} - {2023/01/16}{4.1.1.0} + {2023/01/28}{4.3.0.0} {Xidian University Font package} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -37,6 +38,8 @@ \tl_new:N \l__xdu_fake_bold_tl \tl_new:N \l__xdu_fake_slant_tl \tl_new:N \l__xdu_latin_font_tl +\tl_new:N \l__xdu_latin_sans_scale_tl +\tl_new:N \l__xdu_latin_mono_scale_tl \tl_new:N \l__xdu_math_font_tl \tl_new:N \l__xdu_unicode_math_tl \tl_new:N \l__xdu_font_type_tl @@ -48,6 +51,10 @@ { \tl_set_eq:NN \l__xdu_cjk_font_tl \l_keys_choice_tl }, cjk-fake-bold .tl_set:N = \l__xdu_fake_bold_tl, cjk-fake-slant .tl_set:N = \l__xdu_fake_slant_tl, + latin-sans-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_sans_scale_tl \l_keys_choice_tl }, + latin-mono-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_mono_scale_tl \l_keys_choice_tl }, latin-font .choices:nn = { tac, tacn, thcs, gyre, none } { \tl_set_eq:NN \l__xdu_latin_font_tl \l_keys_choice_tl }, math-font .choices:nn = @@ -64,14 +71,16 @@ } \keys_set:nn { xdu } { - style / cjk-font = fandol, - style / cjk-fake-bold = 3, - style / cjk-fake-slant = 0.2, - style / latin-font = gyre, - style / math-font = cm, - style / unicode-math = { }, - style / font-type = font, - style / font-path = fonts + style / cjk-font = fandol, + style / cjk-fake-bold = 3, + style / cjk-fake-slant = 0.2, + style / latin-font = gyre, + style / latin-sans-scale = off, + style / latin-mono-scale = off, + style / math-font = cm, + style / unicode-math = { }, + style / font-type = font, + style / font-path = fonts } \cs_new:Npn \__xdu_select_font:nn #1#2 { @@ -255,8 +264,23 @@ ItalicFont = { #2 }, BoldItalicFont = { #3 } } -\cs_new:Npn \__xdu_set_latin_scale: - { Scale = MatchLowercase , } +\cs_new:Npn \__xdu_set_latin_sans_scale: { } +\cs_new:Npn \__xdu_set_latin_mono_scale: { } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l__xdu_latin_sans_scale_tl { upper } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_latin_sans_scale_tl { lower } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchLowercase , } } + } + \tl_if_eq:NnTF \l__xdu_set_latin_mono_scale { upper } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_set_latin_mono_scale { lower } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchLowercase , } } + } + } \cs_new:Npn \__xdu_off_latin_ligatures: { Ligatures = CommonOff , } \cs_new:Npn \__xdu_set_latin_main_font:nnnnn #1#2#3#4#5 @@ -274,12 +298,12 @@ \cs_new:Npn \__xdu_set_latin_sans_font:nnnnn #1#2#3#4#5 { \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } - { \setsansfont { #1 } [ \__xdu_set_latin_scale: ] } + { \setsansfont { #1 } [ \__xdu_set_latin_sans_scale: ] } { \setsansfont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] } @@ -287,12 +311,12 @@ \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_mono_scale: \__xdu_off_latin_ligatures: ] } { \setmonofont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] @@ -309,7 +333,7 @@ { \setsansfont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] } @@ -317,7 +341,7 @@ { \setmonofont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] diff --git a/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls index 80acc9738df..92116894f48 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls +++ b/Master/texmf-dist/tex/xelatex/xduts/xdupgthesis.cls @@ -21,14 +21,15 @@ %% The Current Maintainer of this work is @note286 in GitHub and CTAN. %% %% This work consists of the files README.md, xduts.dtx, and xduts.ins -%% and the derived files xduts.pdf, xdufont.sty, xdupgthesis.cls, and xduugthesis.cls. +%% and the derived files xduts.pdf, xdufont.sty, +%% xduugtp.cls, xdupgthesis.cls, and xduugthesis.cls. %% %% The copyright of xdulogo.pdf is Xidian University. %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{xdupgthesis} - {2023/01/16}{4.1.1.0} + {2023/01/28}{4.3.0.0} {Xidian University Postgraduate Thesis document class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -50,6 +51,8 @@ \tl_new:N \l__xdu_fake_bold_tl \tl_new:N \l__xdu_fake_slant_tl \tl_new:N \l__xdu_latin_font_tl +\tl_new:N \l__xdu_latin_sans_scale_tl +\tl_new:N \l__xdu_latin_mono_scale_tl \tl_new:N \l__xdu_math_font_tl \tl_new:N \l__xdu_unicode_math_tl \tl_new:N \l__xdu_font_type_tl @@ -61,6 +64,10 @@ { \tl_set_eq:NN \l__xdu_cjk_font_tl \l_keys_choice_tl }, cjk-fake-bold .tl_set:N = \l__xdu_fake_bold_tl, cjk-fake-slant .tl_set:N = \l__xdu_fake_slant_tl, + latin-sans-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_sans_scale_tl \l_keys_choice_tl }, + latin-mono-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_mono_scale_tl \l_keys_choice_tl }, latin-font .choices:nn = { tac, tacn, thcs, gyre, none } { \tl_set_eq:NN \l__xdu_latin_font_tl \l_keys_choice_tl }, math-font .choices:nn = @@ -77,14 +84,16 @@ } \keys_set:nn { xdu } { - style / cjk-font = fandol, - style / cjk-fake-bold = 3, - style / cjk-fake-slant = 0.2, - style / latin-font = gyre, - style / math-font = cm, - style / unicode-math = { }, - style / font-type = font, - style / font-path = fonts + style / cjk-font = fandol, + style / cjk-fake-bold = 3, + style / cjk-fake-slant = 0.2, + style / latin-font = gyre, + style / latin-sans-scale = off, + style / latin-mono-scale = off, + style / math-font = cm, + style / unicode-math = { }, + style / font-type = font, + style / font-path = fonts } \cs_new:Npn \__xdu_select_font:nn #1#2 { @@ -268,8 +277,23 @@ ItalicFont = { #2 }, BoldItalicFont = { #3 } } -\cs_new:Npn \__xdu_set_latin_scale: - { Scale = MatchLowercase , } +\cs_new:Npn \__xdu_set_latin_sans_scale: { } +\cs_new:Npn \__xdu_set_latin_mono_scale: { } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l__xdu_latin_sans_scale_tl { upper } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_latin_sans_scale_tl { lower } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchLowercase , } } + } + \tl_if_eq:NnTF \l__xdu_set_latin_mono_scale { upper } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_set_latin_mono_scale { lower } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchLowercase , } } + } + } \cs_new:Npn \__xdu_off_latin_ligatures: { Ligatures = CommonOff , } \cs_new:Npn \__xdu_set_latin_main_font:nnnnn #1#2#3#4#5 @@ -287,12 +311,12 @@ \cs_new:Npn \__xdu_set_latin_sans_font:nnnnn #1#2#3#4#5 { \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } - { \setsansfont { #1 } [ \__xdu_set_latin_scale: ] } + { \setsansfont { #1 } [ \__xdu_set_latin_sans_scale: ] } { \setsansfont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] } @@ -300,12 +324,12 @@ \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_mono_scale: \__xdu_off_latin_ligatures: ] } { \setmonofont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] @@ -322,7 +346,7 @@ { \setsansfont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] } @@ -330,7 +354,7 @@ { \setmonofont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] @@ -2508,23 +2532,28 @@ \__xdu_lang_switch:nn { } { \cs_new_eq:NN \__xdu_org_chapter:n \chapter - \RenewDocumentCommand { \chapter } { m m } + \RenewDocumentCommand { \chapter } { m o } { \__xdu_org_chapter:n { ##1 } \__xdu_add_zh_toc:nn { chapter } - { \numberline { 第 \chinese { chapter } 章 \hspace { .3em } } ##2 } + { + \numberline { 第 \chinese { chapter } 章 \hspace { .3em } } + \IfNoValueTF { ##2 } { ##1 } { ##2 } + } } \cs_new_eq:NN \__xdu_org_section:n \section - \RenewDocumentCommand { \section } { m m } + \RenewDocumentCommand { \section } { m o } { \__xdu_org_section:n { ##1 } - \__xdu_add_zh_toc:nn { section } { \numberline { \thesection } ##2 } + \__xdu_add_zh_toc:nn { section } + { \numberline { \thesection } \IfNoValueTF { ##2 } { ##1 } { ##2 } } } \cs_new_eq:NN \__xdu_org_subsection:n \subsection - \RenewDocumentCommand { \subsection } { m m } + \RenewDocumentCommand { \subsection } { m o } { \__xdu_org_subsection:n { ##1 } - \__xdu_add_zh_toc:nn { subsection } { \numberline { \thesubsection } ##2 } + \__xdu_add_zh_toc:nn { subsection } + { \numberline { \thesubsection } \IfNoValueTF { ##2 } { ##1 } { ##2 } } } } \dim_set:Nn \abovedisplayskip { 12bp } diff --git a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls index 7286c2ad01a..b167d090698 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls +++ b/Master/texmf-dist/tex/xelatex/xduts/xduugthesis.cls @@ -21,14 +21,15 @@ %% The Current Maintainer of this work is @note286 in GitHub and CTAN. %% %% This work consists of the files README.md, xduts.dtx, and xduts.ins -%% and the derived files xduts.pdf, xdufont.sty, xdupgthesis.cls, and xduugthesis.cls. +%% and the derived files xduts.pdf, xdufont.sty, +%% xduugtp.cls, xdupgthesis.cls, and xduugthesis.cls. %% %% The copyright of xdulogo.pdf is Xidian University. %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{xduugthesis} - {2023/01/16}{4.1.1.0} + {2023/01/28}{4.3.0.0} {Xidian University Undergraduate Thesis document class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -51,6 +52,8 @@ \tl_new:N \l__xdu_fake_bold_tl \tl_new:N \l__xdu_fake_slant_tl \tl_new:N \l__xdu_latin_font_tl +\tl_new:N \l__xdu_latin_sans_scale_tl +\tl_new:N \l__xdu_latin_mono_scale_tl \tl_new:N \l__xdu_math_font_tl \tl_new:N \l__xdu_unicode_math_tl \tl_new:N \l__xdu_font_type_tl @@ -62,6 +65,10 @@ { \tl_set_eq:NN \l__xdu_cjk_font_tl \l_keys_choice_tl }, cjk-fake-bold .tl_set:N = \l__xdu_fake_bold_tl, cjk-fake-slant .tl_set:N = \l__xdu_fake_slant_tl, + latin-sans-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_sans_scale_tl \l_keys_choice_tl }, + latin-mono-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_mono_scale_tl \l_keys_choice_tl }, latin-font .choices:nn = { tac, tacn, thcs, gyre, none } { \tl_set_eq:NN \l__xdu_latin_font_tl \l_keys_choice_tl }, math-font .choices:nn = @@ -78,14 +85,16 @@ } \keys_set:nn { xdu } { - style / cjk-font = fandol, - style / cjk-fake-bold = 3, - style / cjk-fake-slant = 0.2, - style / latin-font = gyre, - style / math-font = cm, - style / unicode-math = { }, - style / font-type = font, - style / font-path = fonts + style / cjk-font = fandol, + style / cjk-fake-bold = 3, + style / cjk-fake-slant = 0.2, + style / latin-font = gyre, + style / latin-sans-scale = off, + style / latin-mono-scale = off, + style / math-font = cm, + style / unicode-math = { }, + style / font-type = font, + style / font-path = fonts } \cs_new:Npn \__xdu_select_font:nn #1#2 { @@ -269,8 +278,23 @@ ItalicFont = { #2 }, BoldItalicFont = { #3 } } -\cs_new:Npn \__xdu_set_latin_scale: - { Scale = MatchLowercase , } +\cs_new:Npn \__xdu_set_latin_sans_scale: { } +\cs_new:Npn \__xdu_set_latin_mono_scale: { } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l__xdu_latin_sans_scale_tl { upper } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_latin_sans_scale_tl { lower } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchLowercase , } } + } + \tl_if_eq:NnTF \l__xdu_set_latin_mono_scale { upper } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_set_latin_mono_scale { lower } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchLowercase , } } + } + } \cs_new:Npn \__xdu_off_latin_ligatures: { Ligatures = CommonOff , } \cs_new:Npn \__xdu_set_latin_main_font:nnnnn #1#2#3#4#5 @@ -288,12 +312,12 @@ \cs_new:Npn \__xdu_set_latin_sans_font:nnnnn #1#2#3#4#5 { \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } - { \setsansfont { #1 } [ \__xdu_set_latin_scale: ] } + { \setsansfont { #1 } [ \__xdu_set_latin_sans_scale: ] } { \setsansfont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] } @@ -301,12 +325,12 @@ \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_mono_scale: \__xdu_off_latin_ligatures: ] } { \setmonofont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] @@ -323,7 +347,7 @@ { \setsansfont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] } @@ -331,7 +355,7 @@ { \setmonofont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] diff --git a/Master/texmf-dist/tex/xelatex/xduts/xduugtp.cls b/Master/texmf-dist/tex/xelatex/xduts/xduugtp.cls index 77a527a68e5..b87dee30908 100644 --- a/Master/texmf-dist/tex/xelatex/xduts/xduugtp.cls +++ b/Master/texmf-dist/tex/xelatex/xduts/xduugtp.cls @@ -21,14 +21,15 @@ %% The Current Maintainer of this work is @note286 in GitHub and CTAN. %% %% This work consists of the files README.md, xduts.dtx, and xduts.ins -%% and the derived files xduts.pdf, xdufont.sty, xdupgthesis.cls, and xduugthesis.cls. +%% and the derived files xduts.pdf, xdufont.sty, +%% xduugtp.cls, xdupgthesis.cls, and xduugthesis.cls. %% %% The copyright of xdulogo.pdf is Xidian University. %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{xduugtp} - {2023/01/16}{4.1.1.0} + {2023/01/28}{4.3.0.0} {Xidian University Undergraduate Thesis Proposal class} \RequirePackage { xparse, l3keys2e } \PassOptionsToPackage { quiet } { xeCJK } @@ -47,6 +48,8 @@ \tl_new:N \l__xdu_fake_bold_tl \tl_new:N \l__xdu_fake_slant_tl \tl_new:N \l__xdu_latin_font_tl +\tl_new:N \l__xdu_latin_sans_scale_tl +\tl_new:N \l__xdu_latin_mono_scale_tl \tl_new:N \l__xdu_math_font_tl \tl_new:N \l__xdu_unicode_math_tl \tl_new:N \l__xdu_font_type_tl @@ -58,6 +61,10 @@ { \tl_set_eq:NN \l__xdu_cjk_font_tl \l_keys_choice_tl }, cjk-fake-bold .tl_set:N = \l__xdu_fake_bold_tl, cjk-fake-slant .tl_set:N = \l__xdu_fake_slant_tl, + latin-sans-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_sans_scale_tl \l_keys_choice_tl }, + latin-mono-scale .choices:nn = { upper, lower, off } + { \tl_set_eq:NN \l__xdu_latin_mono_scale_tl \l_keys_choice_tl }, latin-font .choices:nn = { tac, tacn, thcs, gyre, none } { \tl_set_eq:NN \l__xdu_latin_font_tl \l_keys_choice_tl }, math-font .choices:nn = @@ -74,14 +81,16 @@ } \keys_set:nn { xdu } { - style / cjk-font = fandol, - style / cjk-fake-bold = 3, - style / cjk-fake-slant = 0.2, - style / latin-font = gyre, - style / math-font = cm, - style / unicode-math = { }, - style / font-type = font, - style / font-path = fonts + style / cjk-font = fandol, + style / cjk-fake-bold = 3, + style / cjk-fake-slant = 0.2, + style / latin-font = gyre, + style / latin-sans-scale = off, + style / latin-mono-scale = off, + style / math-font = cm, + style / unicode-math = { }, + style / font-type = font, + style / font-path = fonts } \cs_new:Npn \__xdu_select_font:nn #1#2 { @@ -265,8 +274,23 @@ ItalicFont = { #2 }, BoldItalicFont = { #3 } } -\cs_new:Npn \__xdu_set_latin_scale: - { Scale = MatchLowercase , } +\cs_new:Npn \__xdu_set_latin_sans_scale: { } +\cs_new:Npn \__xdu_set_latin_mono_scale: { } +\ctex_at_end_preamble:n + { + \tl_if_eq:NnTF \l__xdu_latin_sans_scale_tl { upper } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_latin_sans_scale_tl { lower } + { \cs_set:Npn \__xdu_set_latin_sans_scale: { Scale = MatchLowercase , } } + } + \tl_if_eq:NnTF \l__xdu_set_latin_mono_scale { upper } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchUppercase , } } + { + \tl_if_eq:NnT \l__xdu_set_latin_mono_scale { lower } + { \cs_set:Npn \__xdu_set_latin_mono_scale: { Scale = MatchLowercase , } } + } + } \cs_new:Npn \__xdu_off_latin_ligatures: { Ligatures = CommonOff , } \cs_new:Npn \__xdu_set_latin_main_font:nnnnn #1#2#3#4#5 @@ -284,12 +308,12 @@ \cs_new:Npn \__xdu_set_latin_sans_font:nnnnn #1#2#3#4#5 { \str_if_eq:NNTF { \l__xdu_font_type_tl } { font } - { \setsansfont { #1 } [ \__xdu_set_latin_scale: ] } + { \setsansfont { #1 } [ \__xdu_set_latin_sans_scale: ] } { \setsansfont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] } @@ -297,12 +321,12 @@ \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_mono_scale: \__xdu_off_latin_ligatures: ] } { \setmonofont { #2 } [ \__xdu_font_path: - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #3 } { #4 } { #5 } ] @@ -319,7 +343,7 @@ { \setsansfont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_sans_scale: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] } @@ -327,7 +351,7 @@ { \setmonofont { #1 } [ - \__xdu_set_latin_scale: + \__xdu_set_latin_mono_scale: \__xdu_off_latin_ligatures: \__xdu_set_latin_font:nnn { #2 } { #3 } { #4 } ] -- cgit v1.2.3