diff --git a/.latexmkrc b/.latexmkrc index f9f1dd66..ddaecac1 100644 --- a/.latexmkrc +++ b/.latexmkrc @@ -4,12 +4,13 @@ # # Set timezone. -$ENV{'TZ'}='Asia/Shanghai'; +$ENV{'TZ'} = 'Asia/Shanghai'; -# Ensure './texmf//' is in '$TEXINPUTS'. +# Prepended local directories to the search paths. ensure_path( 'TEXINPUTS', './texmf//' ); +# ensure_path( 'OSFONTDIR', './texmf/fonts//' ); -# PDF generate method +# PDF generate method: # - 1 pdfLaTeX # - 3 LaTeX + DVIPDFMx # - 4 LuaLaTeX @@ -19,8 +20,14 @@ $pdf_mode = 5; # Add common patterns for tex engines. set_tex_cmds( '-synctex=1 %O %S' ); -# Always try to embed fonts, ignoring licensing flags, etc. -$xdvipdfmx = 'xdvipdfmx -E -o %D %O %S'; +# Run bibtex or biber whenever it appears necessary, +# always delete .bbl files in a cleanup. +$bibtex_use = 2; -# Files to clean. -$clean_ext = 'bbl glo gls hd loa run.xml thm xdv'; +# Use dvipdfmx to convert .dvi to .pdf, and xdvipdfmx for .xdv, +# always try to embed fonts, ignoring licensing flags, etc. +$dvipdf = 'dvipdfmx -E %O -o %D %S'; +$xdvipdfmx = 'xdvipdfmx -E %O -o %D %S'; + +# Extra files to clean. +$clean_ext .= ' loa'; diff --git a/README.md b/README.md index 80ecfe5e..50e7c352 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## 欢迎使用上海交通大学论文模板 -本示例模板是应用上海交通大学学位论文(非官方)LaTeX 文档类 SJTUThesis 的一个完整实现。演示了排版中常用的例子,包括公式、表格、算法、参考文献等。 +本示例模板是应用上海交通大学学位论文 LaTeX 文档类 SJTUThesis 的一个完整实现。演示了排版中常用的例子,包括公式、表格、算法、参考文献等。 用户可以参考或者直接基于此示例文档撰写论文。 SJTUThesis 支持 XeTeX 与 LuaTeX 引擎,字符编码仅支持 UTF-8。 diff --git a/README_en-US.md b/README_en-US.md index 9816466b..dbf60a9e 100644 --- a/README_en-US.md +++ b/README_en-US.md @@ -6,7 +6,7 @@ ## Welcome to LaTeX thesis template for Shanghai Jiao Tong University -This sample template is a full implementation of SJTUThesis document class which is an *unofficial* LaTeX class for preparing degree theses or course papers at Shanghai Jiao Tong University. +This sample template is a full implementation of SJTUThesis document class which is an LaTeX class for preparing degree theses or course papers at Shanghai Jiao Tong University. Please note that `sjtuthesis` supports both XeTeX and LuaTeX engine, `sjtuthesis` only allows UTF-8 character encoding. diff --git a/contents/abstract.tex b/contents/abstract.tex index 73cc3b09..dc40b4d0 100644 --- a/contents/abstract.tex +++ b/contents/abstract.tex @@ -1,6 +1,6 @@ % !TEX root = ../main.tex -\begin{abstract}[zh] +\begin{abstract*}[zh] 中文摘要应该将学位论文的内容要点简短明了地表达出来,应该包含论文中的基本信息, 体现科研工作的核心思想。摘要内容应涉及本项科研工作的目的和意义、研究方法、研究 成果、结论及意义。注意突出学位论文中具有创新性的成果和新见解的部分。摘要中不宜 @@ -8,10 +8,10 @@ 位论文中文摘要字数为 500 字左右,博士学位论文中文摘要字数为 800 字左右。英文摘 要内容应与中文摘要内容一致。 - 摘要页的下方注明本文的关键词(4 \textasciitilde{} 6个)。 -\end{abstract} + 摘要页的下方注明本文的关键词(4 \textasciitilde{} 6 个)。 +\end{abstract*} -\begin{abstract}[en] +\begin{abstract*}[en] Shanghai Jiao Tong University (SJTU) is a key university in China. SJTU was founded in 1896. It is one of the oldest universities in China. The University has nurtured large numbers of outstanding figures include JIANG Zemin, DING @@ -21,4 +21,4 @@ has been actively involved in international academic exchange programs. It is the center of CERNet in east China region, through computer networks, SJTU has faster and closer connection with the world. -\end{abstract} +\end{abstract*} diff --git a/contents/floats.tex b/contents/floats.tex index bec87649..0a14108e 100644 --- a/contents/floats.tex +++ b/contents/floats.tex @@ -57,9 +57,9 @@ \subsection{多个图形} \begin{figure}[!htp] \centering - \includegraphics[height=2cm]{sjtu-vi-badge-blue.pdf} + \includegraphics[height=2cm]{sjtu-vi-badge-red.pdf} \hspace{1cm} - \includegraphics[height=2cm]{sjtu-vi-badge-blue.pdf} + \includegraphics[height=2cm]{sjtu-vi-badge-red.pdf} \bicaption{中文题图}{English caption} \label{fig:SRR} \end{figure} @@ -71,19 +71,19 @@ \subsection{多个图形} \centering \begin{minipage}{0.48\textwidth} \centering - \includegraphics[height=1.5cm]{sjtu-vi-name-blue.pdf} + \includegraphics[height=1.7cm]{sjtu-vi-name-red.pdf} \caption{并排第一个图} \label{fig:parallel1} \end{minipage}\hfill \begin{minipage}{0.48\textwidth} \centering - \includegraphics[height=1.5cm]{sjtu-vi-name-blue.pdf} + \includegraphics[height=1.7cm]{sjtu-vi-name-red.pdf} \caption{并排第二个图} \label{fig:parallel2} \end{minipage} \end{figure} -如果要为共用一个计数器的多个子图添加子图题,建议使用较新的 \pkg{subcaption}宏 +如果要为共用一个计数器的多个子图添加子图题,建议使用较新的 \pkg{subcaption} 宏 包,不建议使用 \pkg{subfigure} 或 \pkg{subfig} 等宏包。 推荐使用 \pkg{subcaption} 宏包的 \cs{subcaptionbox} 并排子图,子图题置于子图之 @@ -97,13 +97,13 @@ \subsection{多个图形} \centering \begin{subfigure}{0.3\textwidth} \centering - \includegraphics[height=2cm]{sjtu-vi-badge-blue.pdf} + \includegraphics[height=2cm]{sjtu-vi-badge-red.pdf} \caption{校徽} \end{subfigure} \hspace{1cm} \begin{subfigure}{0.4\textwidth} \centering - \includegraphics[height=1.5cm]{sjtu-vi-name-blue.pdf} + \includegraphics[height=1.7cm]{sjtu-vi-name-red.pdf} \caption{校名。注意这个图略矮些,subfigure 中同一行的子图在顶端对齐。} \end{subfigure} \caption{包含子图题的范例(使用 subfigure)} diff --git a/contents/intro.tex b/contents/intro.tex index 72cca7a4..4a2446c9 100644 --- a/contents/intro.tex +++ b/contents/intro.tex @@ -44,7 +44,7 @@ \section{字体} 新中国成立初期,为配合国家经济建设的需要,学校调整出相当一部分优势专业、师资设 备,支持国内兄弟院校的发展。五十年代中期,学校又响应国家建设大西北的号召,根据 - 国务院决定,部分迁往西安,分为交通大学上海部分和西安部分。1959 年 3月两部分同 + 国务院决定,部分迁往西安,分为交通大学上海部分和西安部分。1959 年 3 月两部分同 时被列为全国重点大学,7 月经国务院批准分别独立建制,交通大学上海部分启用“上海 交通大学”校名。历经西迁、两地办学、独立办学等变迁,为构建新中国的高等教育体 系,促进社会主义建设做出了重要贡献。六七十年代,学校先后归属国防科工委和六机部 @@ -67,7 +67,7 @@ \section{字体} 学奠定了坚实的基础。} {\ifcsname fangsong\endcsname\fangsong\else[无 \cs{fangsong} 字体。]\fi 交通大学 - 始终把人才培养作为办学的根本任务。一百多年来,学校为国家和社会培养了 20余万各 + 始终把人才培养作为办学的根本任务。一百多年来,学校为国家和社会培养了 20 余万各 类优秀人才,包括一批杰出的政治家、科学家、社会活动家、实业家、工程技术专家和医 学专家,如江泽民、陆定一、丁关根、汪道涵、钱学森、吴文俊、徐光宪、张光斗、黄炎 培、邵力子、李叔同、蔡锷、邹韬奋、陈敏章、王振义、陈竺等。在中国科学院、中国工 @@ -79,19 +79,19 @@ \section{字体} 原位肝手术、第一例成功抢救大面积烧伤病人手术等,都凝聚着交大师生和校友的心血智 慧。改革开放以来,一批年轻的校友已在世界各地、各行各业崭露头角。} -{\ifcsname kaishu\endcsname\kaishu\else[无 \cs{kaishu} 字体。]\fi 截至 2011 年 12 - 月 31 日,学校共有 24 个学院 / 直属系(另有继续教育学院、技术学院和国际教育学 - 院),19 个直属单位,12 家附属医院,全日制本科生 16802 人、研究生24495 人(其 - 中博士研究生 5059 人);有专任教师 2979 名,其中教授 835 名;中国科学院院士 15 - 名,中国工程院院士 20 名,中组部“千人计划”49 名,“长江学者”95 名,国家杰出 - 青年基金获得者 80 名,国家重点基础研究发展计划(973 计划)首席科学家 24名,国 - 家重大科学研究计划首席科学家 9名,国家基金委创新研究群体 6 个,教育部创新团队 - 17 个。 +{\ifcsname kaishu\endcsname\kaishu\else[无 \cs{kaishu} 字体。]\fi 截至 2011 年 + 12 月 31 日,学校共有 24 个学院 / 直属系(另有继续教育学院、技术学院和国际教育 + 学院),19 个直属单位,12 家附属医院,全日制本科生 16802 人、研究生 24495 人 + (其中博士研究生 5059 人);有专任教师 2979 名,其中教授 835 名;中国科学院院 + 士 15 名,中国工程院院士 20 名,中组部“千人计划”49 名,“长江学者”95 名,国家杰 + 出青年基金获得者 80 名,国家重点基础研究发展计划(973 计划)首席科学家 24 名, + 国家重大科学研究计划首席科学家 9 名,国家基金委创新研究群体 6 个,教育部创新团 + 队 17 个。 学校现有本科专业 68 个,涵盖经济学、法学、文学、理学、工学、农学、医学、管理学 和艺术等九个学科门类;拥有国家级教学及人才培养基地 7 个,国家级校外实践教育基 - 地 5个,国家级实验教学示范中心 5 个,上海市实验教学示范中心 4 个;有国家级教学 - 团队 8个,上海市教学团队 15 个;有国家级教学名师 7 人,上海市教学名师 35 人; - 有国家级精品课程 46 门,上海市精品课程 117 门;有国家级双语示范课程 7 - 门;2001、2005 和2009 年,作为第一完成单位,共获得国家级教学成果 37 项、上海市 - 教学成果 157项。} + 地 5 个,国家级实验教学示范中心 5 个,上海市实验教学示范中心 4 个;有国家级教 + 学团队 8 个,上海市教学团队 15 个;有国家级教学名师 7 人,上海市教学名师 35 + 人;有国家级精品课程 46 门,上海市精品课程 117 门;有国家级双语示范课程 7 门; + 2001、2005 和 2009 年,作为第一完成单位,共获得国家级教学成果 37 项、上海市教 + 学成果 157 项。} diff --git a/contents/math_and_citations.tex b/contents/math_and_citations.tex index ea387c3c..8a2a75a7 100644 --- a/contents/math_and_citations.tex +++ b/contents/math_and_citations.tex @@ -34,16 +34,14 @@ \subsection{数学符号和公式} \end{itemize} 公式应另起一行居中排版。公式后应注明编号,按章顺序编排,编号右端对齐。 -\begin{equation} - \ee^{\ii\uppi} + 1 = 0, -\end{equation} -\begin{equation} +\begin{gather} + \ee^{\ii\uppi} + 1 = 0, \\ \frac{\dd^2 u}{\dd t^2} = \int f(x) \dd x. -\end{equation} +\end{gather} 公式末尾是需要添加标点符号的,至于用逗号还是句号,取决于公式下面一句是接着公式说的,还是另起一句。 \begin{equation} - \frac{2h}{\pi}\int_{0}^{\infty}\frac{\sin\left( \omega\delta \right)}{\omega} + \frac{2h}{\uppi}\int_{0}^{\infty}\frac{\sin\left( \omega\delta \right)}{\omega} \cos\left( \omega x \right) \dd\omega = \begin{cases} h, & \left| x \right| < \delta, \\ @@ -71,8 +69,8 @@ \subsection{数学符号和公式} \subsection{定理环境} -示例文件中使用 \pkg{ntheorem} 宏包配置了定理、引理和证明等环境。用户也可以使用 -\pkg{amsthm} 宏包。 +示例文件中使用 \pkg{amsthm} 宏包配置了定理、引理和证明等环境。用户也可以使用 +\pkg{ntheorem} 宏包。 这里举一个“定理”和“证明”的例子。 \begin{theorem}[留数定理] @@ -81,14 +79,12 @@ \subsection{定理环境} $f$ 是定义在 $U \backslash \{a_1, \ldots, a_n\}$ 上的全纯函数,如果 $\gamma$ 是一条把 $a_1, \ldots, a_n$ 包围起来的可求长曲线,但不经过任何一个 $a_k$,并且 其起点与终点重合,那么: - \begin{equation} \label{eq:res} \oint\limits_\gamma f(z)\, \dd z = 2\uppi \ii \sum_{k=1}^n \operatorname{I}(\gamma, a_k) \operatorname{Res}(f, a_k). \end{equation} 如果 $\gamma$ 是若尔当曲线,那么 $\operatorname{I}(\gamma, a_k) = 1$,因此: - \begin{equation} \label{eq:resthm} \oint\limits_\gamma f(z)\, \dd z = 2\uppi \ii \sum_{k=1}^n \operatorname{Res}(f, a_k). diff --git a/main.tex b/main.tex index ddf5b55a..e44d1b8e 100644 --- a/main.tex +++ b/main.tex @@ -34,7 +34,7 @@ \input{contents/abstract} % 目录 -\tableofcontents +\tableofcontents* % 插图索引 \listoffigures* % 表格索引 diff --git a/setup.tex b/setup.tex index e3712f1b..1ef9540b 100644 --- a/setup.tex +++ b/setup.tex @@ -36,12 +36,12 @@ % 指导教师 % zh / supervisor = {某某教授}, - en / supervisor = {Prof. Mou Mou}, + en / supervisor = {Prof.\ Mou Mou}, % % 副指导教师 % - % assoc-supervisor = {某某教授}, - % assoc-supervisor* = {Prof. Uom Uom}, + % zh / assoc-supervisor = {某某教授}, + % en / assoc-supervisor = {Prof.\ Uom Uom}, % % 学号 % @@ -76,12 +76,12 @@ % 资助基金 % % zh / fund = { - % {国家 973 项目 (No. 2025CB000000)}, - % {国家自然科学基金 (No. 81120250000)}, + % {国家 973 项目 (No.\ 2025CB000000)}, + % {国家自然科学基金 (No.\ 81120250000)}, % }, % en / fund = { - % {National Basic Research Program of China (Grant No. 2025CB000000)}, - % {National Natural Science Foundation of China (Grant No. 81120250000)}, + % {National Basic Research Program of China (Grant No.\ 2025CB000000)}, + % {National Natural Science Foundation of China (Grant No.\ 81120250000)}, % }, }, % @@ -89,9 +89,9 @@ % style = {% % - % 论文标题页 logo 颜色 (red/blue/black) + % 关键词首行悬挂 % - % title-logo-color = black, + % keywords-format = hang, }, % % 名称设置 @@ -109,9 +109,9 @@ % gbpub=false 禁用出版信息缺失处理 \usepackage[backend=biber,style=gb7714-2015]{biblatex} % 文献表字体 -% \renewcommand{\bibfont}{\zihao{5}\fixedlineskip{15.6bp}} +\renewcommand{\bibfont}{\zihao{5}\setbaselineskip{16bp}} % 文献表条目间的间距 -\setlength{\bibitemsep}{0pt} +\setlength{\bibitemsep}{3bp plus 1pt} % 导入参考文献数据库 \addbibresource{refs.bib} @@ -156,7 +156,7 @@ \lstdefinestyle{lstStyleCode}{% aboveskip = \medskipamount, belowskip = \medskipamount, - basicstyle = \ttfamily\zihao{6}, + basicstyle = \ttfamily\zihao{-5}\setbaselineskip{12bp}, commentstyle = \slshape\color{black!60}, stringstyle = \color{green!40!black!100}, keywordstyle = \bfseries\color{blue!50!black}, @@ -188,8 +188,8 @@ \usepackage{siunitx} % 定理环境宏包 -\usepackage{ntheorem} -% \usepackage{amsthm} +\usepackage{amsthm} +% \usepackage{ntheorem} % 绘图宏包 \usepackage{tikz} diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe-ja.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def similarity index 65% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe-ja.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def index 541d64c5..ce55e644 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe-ja.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,adobe,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,37 +20,33 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Adobe CJK fonts definition for Japanese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-adobe-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { cjk } { adobe } } { - \setCJKmainfont { Kozuka~Mincho~Pr6N } + \setCJKmainfont { KozMinPr6N } [ - UprightFont = *~L , - BoldFont = *~B + UprightFont = *-Light , + BoldFont = *-Bold ] - \setCJKsansfont { Kozuka~Gothic~Pr6N } + \setCJKsansfont { KozGoPr6N } [ - UprightFont = *~M , - BoldFont = *~B + UprightFont = *-Medium , + BoldFont = *-Bold ] - \setCJKmonofont { Kozuka~Gothic~Pr6N } - \setCJKfamilyfont { jamin } { Kozuka~Mincho~Pr6N } + \setCJKmonofont { KozMinPr6N-Light } + \setCJKfamilyfont { jamin } { KozMinPr6N } [ - UprightFont = *~L , - BoldFont = *~B + UprightFont = *-Light , + BoldFont = *-Bold ] - \setCJKfamilyfont { jagoth } { Kozuka~Gothic~Pr6N } + \setCJKfamilyfont { jagoth } { KozGoPr6N } [ - UprightFont = *~M , - BoldFont = *~B + UprightFont = *-Medium , + BoldFont = *-Bold ] \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } [ AutoFakeBold = 3 , ItalicFont = AdobeKaitiStd-Regular ] diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe-zh.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def similarity index 82% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe-zh.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def index 1b974e03..37b96e47 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe-zh.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,adobe,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Adobe CJK fonts definition for Chinese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-adobe-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nnn { \__sjtu_fontset_error:nn { cjk } { adobe } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def index c52f3e50..d61429b1 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-adobe.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-adobe.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,adobe,und') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Adobe CJK fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-adobe.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl { \ctex_file_input:n { sjtu-cjk-font-adobe-ja.def } } { \ctex_file_input:n { sjtu-cjk-font-adobe-zh.def } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol-ja.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def similarity index 86% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol-ja.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def index 8c93acb4..798a2319 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol-ja.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,fandol,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Fandol CJK fonts definition for Japanese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-fandol-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { cjk } { fandol } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol-zh.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def similarity index 85% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol-zh.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def index cb6f34b7..9a64be9d 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol-zh.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,fandol,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Fandol CJK fonts definition for Chinese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-fandol-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nnn { \__sjtu_fontset_error:nn { cjk } { fandol } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def index e1c72561..ad3d0e59 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-fandol.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-fandol.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,fandol,und') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Fandol CJK fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-fandol.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl { \ctex_file_input:n { sjtu-cjk-font-fandol-ja.def } } { \ctex_file_input:n { sjtu-cjk-font-fandol-zh.def } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder-ja.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def similarity index 81% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder-ja.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def index 5a3b7c96..8aba1cb3 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder-ja.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,founder,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Founder CJK fonts definition for Japanese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-founder-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { cjk } { founder } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder-zh.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def similarity index 81% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder-zh.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def index e832f35c..1e93ecb5 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder-zh.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,founder,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Founder CJK fonts definition for Chinese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-founder-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \ctex_load_zhmap:nnnn { zhsong } { zhhei } { zhfs } { founder } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def index a6448923..73e5cac5 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-founder.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-founder.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,founder,und') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Founder CJK fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-founder.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl { \ctex_file_input:n { sjtu-cjk-font-founder-ja.def } } { \ctex_file_input:n { sjtu-cjk-font-founder-zh.def } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac-ja.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def similarity index 65% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac-ja.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def index 8385b613..7923336b 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac-ja.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,mac,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,37 +20,33 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {macOS CJK fonts definition for Japanese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-mac-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { cjk } { mac } } { - \setCJKmainfont { Hiragino~Mincho~ProN } + \setCJKmainfont { HiraMinProN } [ - UprightFont = *~W3 , - BoldFont = *~W6 + UprightFont = *-W3 , + BoldFont = *-W6 ] - \setCJKsansfont { Hiragino~Kaku~Gothic~ProN } + \setCJKsansfont { HiraKakuProN } [ - UprightFont = *~W3 , - BoldFont = *~W6 + UprightFont = *-W3 , + BoldFont = *-W6 ] - \setCJKmonofont { Hiragino~Kaku~Gothic~ProN } - \setCJKfamilyfont { jamin } { Hiragino~Mincho~ProN } + \setCJKmonofont { HiraMinProN-W3 } + \setCJKfamilyfont { jamin } { HiraMinProN } [ - UprightFont = *~W3 , - BoldFont = *~W6 + UprightFont = *-W3 , + BoldFont = *-W6 ] - \setCJKfamilyfont { jagoth } { Hiragino~Kaku~Gothic~ProN } + \setCJKfamilyfont { jagoth } { HiraKakuProN } [ - UprightFont = *~W3 , - BoldFont = *~W6 + UprightFont = *-W3 , + BoldFont = *-W6 ] \setCJKfamilyfont { zhsong } { Songti~SC } [ diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac-zh.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def similarity index 84% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac-zh.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def index 21ee361f..e38d0f08 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac-zh.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,mac,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {macOS CJK fonts definition for Chinese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-mac-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nnn { \__sjtu_fontset_error:nn { cjk } { mac } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def similarity index 68% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def index 52aa8f9b..0e5a94d1 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-mac.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-mac.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,mac,und') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {macOS CJK fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-mac.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl { \ctex_file_input:n { sjtu-cjk-font-mac-ja.def } } { \ctex_file_input:n { sjtu-cjk-font-mac-zh.def } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu-ja.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu-ja.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def index b3efbd98..9cb1ed81 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu-ja.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,ubuntu,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,28 +20,28 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Ubuntu CJK fonts definition for Japanese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-ubuntu-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { cjk } { ubuntu } } { - \setCJKmainfont { Noto~Serif~CJK~JP } + \setCJKmainfont { Noto~Serif~CJK~JP } [ UprightFont = *~Light , BoldFont = *~Bold ] - \setCJKsansfont { Noto~Sans~CJK~JP } + \setCJKsansfont { Noto~Sans~CJK~JP } [ UprightFont = *~Medium , BoldFont = *~Bold ] - \setCJKmonofont { Noto~Sans~Mono~CJK~JP } + \setCJKmonofont { Noto~Serif~CJK~JP } + [ + UprightFont = *~Light , + BoldFont = *~Bold + ] \setCJKfamilyfont { jamin } { Noto~Serif~CJK~JP } [ UprightFont = *~Light , @@ -52,19 +52,18 @@ UprightFont = *~Medium , BoldFont = *~Bold ] - \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } [ UprightFont = *~Light , BoldFont = *~Bold , ItalicFont = AR~PL~KaitiM~GB ] - \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } + \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } [ UprightFont = *~Medium , BoldFont = *~Bold ] - \setCJKfamilyfont { zhfs } { Noto~Sans~Mono~CJK~JP } - \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } + \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } } \NewDocumentCommand \songti { } { \CJKfamily { zhsong } } \NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu-zh.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def similarity index 68% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu-zh.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def index 264140b6..cf6f87a7 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu-zh.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,ubuntu,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Ubuntu CJK fonts definition for Chinese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-ubuntu-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nnn { \__sjtu_fontset_error:nn { cjk } { ubuntu } } { @@ -38,31 +34,34 @@ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { - \setCJKmainfont { Noto~Serif~CJK~SC } + \setCJKmainfont { Noto~Serif~CJK~SC } [ UprightFont = *~Light , BoldFont = *~Bold , ItalicFont = AR~PL~KaitiM~GB ] - \setCJKsansfont { Noto~Sans~CJK~SC } + \setCJKsansfont { Noto~Sans~CJK~SC } [ UprightFont = *~Medium , BoldFont = *~Bold ] - \setCJKmonofont { Noto~Sans~Mono~CJK~SC } - \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } + \setCJKmonofont { Noto~Serif~CJK~SC } + [ + UprightFont = *~Light , + BoldFont = *~Bold + ] + \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } [ UprightFont = *~Light , BoldFont = *~Bold , ItalicFont = AR~PL~KaitiM~GB ] - \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } + \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } [ UprightFont = *~Medium , BoldFont = *~Bold ] - \setCJKfamilyfont { zhfs } { Noto~Sans~Mono~CJK~JP } - \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } + \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } } \NewDocumentCommand \songti { } { \CJKfamily { zhsong } } \NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def index 4e9935ed..82c2c261 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-ubuntu.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-ubuntu.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,ubuntu,und') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Ubuntu CJK fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-ubuntu.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl { \ctex_file_input:n { sjtu-cjk-font-ubuntu-ja.def } } { \ctex_file_input:n { sjtu-cjk-font-ubuntu-zh.def } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows-ja.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def similarity index 79% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows-ja.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def index b7c85f77..af93cc24 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows-ja.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,windows,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,20 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Windows CJK fonts definition for Japanese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-windows-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { cjk } { windows } } { \setCJKmainfont { MS~Mincho } [ AutoFakeBold = 3 ] \setCJKsansfont { MS~Gothic } [ AutoFakeBold = 3 ] - \setCJKmonofont { MS~Gothic } + \setCJKmonofont { MS~Mincho } \setCJKfamilyfont { jamin } { MS~Mincho } [ AutoFakeBold = 3 ] \setCJKfamilyfont { jagoth } { MS~Gothic } [ AutoFakeBold = 3 ] \setCJKfamilyfont { zhsong } { SimSun } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows-zh.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def similarity index 81% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows-zh.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def index 80eaadc7..2fcb8ba3 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows-zh.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,windows,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Windows CJK fonts definition for Chinese (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-windows-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \ctex_load_zhmap:nnnn { zhsong } { zhhei } { zhfs } { windows } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows.def b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows.def rename to texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def index 4b32db0d..a9575e0a 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-cjk-font-windows.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-cjk-font-windows.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,cjk,windows,und') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Windows CJK fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-cjk-font-windows.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \tl_if_eq:NNTF \g__sjtu_lang_tl \c__sjtu_lang_ja_tl { \ctex_file_input:n { sjtu-cjk-font-windows-ja.def } } { \ctex_file_input:n { sjtu-cjk-font-windows-zh.def } } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-cambria.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-cambria.def similarity index 71% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-cambria.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-cambria.def index 5a53a289..66fa4aee 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-cambria.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-cambria.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,cambria') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Cambria math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-cambria.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { math } { cambria } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-libertinus.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def similarity index 84% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-libertinus.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def index b31b5b30..adcbcf10 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-libertinus.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-libertinus.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,libertinus') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Libertinus math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-libertinus.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \exp_args:No \PassOptionsToPackage diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-lm.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-lm.def similarity index 83% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-lm.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-lm.def index 8f946441..600933ba 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-lm.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-lm.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,lm') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Latin Modern math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-lm.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \RequirePackage { amssymb, upgreek } \SetSymbolFont { operators } { normal } { OT1 } { lmr } { m } { n } \SetSymbolFont { letters } { normal } { OML } { lmm } { m } { it } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-newcm.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-newcm.def similarity index 87% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-newcm.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-newcm.def index 431cb8b3..116ae6f3 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-newcm.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-newcm.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,newcm') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {New Computer Modern math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-newcm.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { math } { newcm } } { @@ -62,8 +58,8 @@ ItalicFont = *-BookItalic, BoldItalicFont = *-BoldItalic, SlantedFont = *-Book, - BoldSlantedFont = *-Bold, SlantedFeatures = { FakeSlant = 0.25 }, + BoldSlantedFont = *-Bold, BoldSlantedFeatures = { FakeSlant = 0.25 } ] \setmathsf diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-newpx.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-newpx.def similarity index 53% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-newpx.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-newpx.def index 697bc6ed..94af3799 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-newpx.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-newpx.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,newpx') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,28 +20,24 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {New PX math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-newpx.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\tl_set_eq:NN \g__sjtu_save_encodingdefault_tl \encodingdefault -\tl_set_eq:NN \g__sjtu_save_rmdefault_tl \rmdefault -\tl_set_eq:NN \g__sjtu_save_sfdefault_tl \sfdefault -\tl_set_eq:NN \g__sjtu_save_ttdefault_tl \ttdefault + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\tl_set_eq:NN \l__sjtu_save_encodingdefault_tl \encodingdefault +\tl_set_eq:NN \l__sjtu_save_rmdefault_tl \rmdefault +\tl_set_eq:NN \l__sjtu_save_sfdefault_tl \sfdefault +\tl_set_eq:NN \l__sjtu_save_ttdefault_tl \ttdefault \tl_set:Nn \encodingdefault { OT1 } \tl_set:Nn \rmdefault { zplTLF } \tl_set:Nn \qhv@scale { 0.94 } \tl_set:Nn \sfdefault { qhv } \tl_set:Nn \ttdefault { qcr } \RequirePackage { newpxmath } -\tl_set_eq:NN \encodingdefault \g__sjtu_save_encodingdefault_tl -\tl_set_eq:NN \rmdefault \g__sjtu_save_rmdefault_tl -\tl_set_eq:NN \sfdefault \g__sjtu_save_sfdefault_tl -\tl_set_eq:NN \ttdefault \g__sjtu_save_ttdefault_tl +\tl_set_eq:NN \encodingdefault \l__sjtu_save_encodingdefault_tl +\tl_set_eq:NN \rmdefault \l__sjtu_save_rmdefault_tl +\tl_set_eq:NN \sfdefault \l__sjtu_save_sfdefault_tl +\tl_set_eq:NN \ttdefault \l__sjtu_save_ttdefault_tl \__sjtu_set_unimath_symbol: \endinput %% diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-newtx.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-newtx.def similarity index 53% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-newtx.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-newtx.def index d6975612..bc819b36 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-newtx.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-newtx.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,newtx') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,28 +20,24 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {New TX math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-newtx.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\tl_set_eq:NN \g__sjtu_save_encodingdefault_tl \encodingdefault -\tl_set_eq:NN \g__sjtu_save_rmdefault_tl \rmdefault -\tl_set_eq:NN \g__sjtu_save_sfdefault_tl \sfdefault -\tl_set_eq:NN \g__sjtu_save_ttdefault_tl \ttdefault + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\tl_set_eq:NN \l__sjtu_save_encodingdefault_tl \encodingdefault +\tl_set_eq:NN \l__sjtu_save_rmdefault_tl \rmdefault +\tl_set_eq:NN \l__sjtu_save_sfdefault_tl \sfdefault +\tl_set_eq:NN \l__sjtu_save_ttdefault_tl \ttdefault \tl_set:Nn \encodingdefault { OT1 } \tl_set:Nn \rmdefault { ntxtlf } \tl_set:Nn \qhv@scale { 0.94 } \tl_set:Nn \sfdefault { qhv } \tl_set:Nn \ttdefault { qcr } \RequirePackage { newtxmath } -\tl_set_eq:NN \encodingdefault \g__sjtu_save_encodingdefault_tl -\tl_set_eq:NN \rmdefault \g__sjtu_save_rmdefault_tl -\tl_set_eq:NN \sfdefault \g__sjtu_save_sfdefault_tl -\tl_set_eq:NN \ttdefault \g__sjtu_save_ttdefault_tl +\tl_set_eq:NN \encodingdefault \l__sjtu_save_encodingdefault_tl +\tl_set_eq:NN \rmdefault \l__sjtu_save_rmdefault_tl +\tl_set_eq:NN \sfdefault \l__sjtu_save_sfdefault_tl +\tl_set_eq:NN \ttdefault \l__sjtu_save_ttdefault_tl \__sjtu_set_unimath_symbol: \endinput %% diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-stixtwo.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def similarity index 58% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-stixtwo.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def index 02496528..326609e1 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-stixtwo.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-stixtwo.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,stixtwo') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,48 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {STIX Two math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-stixtwo.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { + \DeclareSizeFunction { sub } { \sub@sfcnt \@font@info } \PassOptionsToPackage { notext } { stix2 } - \RequirePackage { upgreek, stix2 } + \RequirePackage { stix2 } + \clist_map_inline:nn + { + \upalpha { "0B } , + \upbeta { "0C } , + \upgamma { "0D } , + \updelta { "0E } , + \upepsilon { "0F } , + \upzeta { "10 } , + \upeta { "11 } , + \uptheta { "12 } , + \upiota { "13 } , + \upkappa { "14 } , + \uplambda { "15 } , + \upmu { "16 } , + \upnu { "17 } , + \upxi { "18 } , + \uppi { "19 } , + \uprho { "1A } , + \upsigma { "1B } , + \uptau { "1C } , + \upupsilon { "1D } , + \upphi { "1E } , + \upchi { "1F } , + \uppsi { "20 } , + \upomega { "21 } , + \upvarepsilon { "22 } , + \upvartheta { "23 } , + \upvarpi { "24 } , + \upvarrho { "25 } , + \upvarsigma { "26 } , + \upvarphi { "27 } + } + { \__sjtu_declare_math_symbol:nnNn { \stix@lcgc } { operators } #1 } \__sjtu_set_slanted_greek: } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-times.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-times.def similarity index 68% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-times.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-times.def index 08b63914..8d516d6c 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-times.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-times.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,times') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,23 +20,22 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Times math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-times.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\PassOptionsToPackage { Symbol } { upgreek } \RequirePackage { amssymb, upgreek } -\tl_set_eq:NN \g__sjtu_save_rmdefault_tl \rmdefault +\tl_set_eq:NN \l__sjtu_save_rmdefault_tl \rmdefault \RequirePackage { mathptmx } -\tl_set_eq:NN \rmdefault \g__sjtu_save_rmdefault_tl +\tl_set_eq:NN \rmdefault \l__sjtu_save_rmdefault_tl \tl_set:Nn \Hv@scale { 0.94 } \DeclareMathAlphabet { \mathsf } { OT1 } { phv } { m } { n } \DeclareMathAlphabet { \mathtt } { OT1 } { pcr } { m } { n } \SetMathAlphabet { \mathsf } { bold } { OT1 } { phv } { b } { n } \SetMathAlphabet { \mathtt } { bold } { OT1 } { pcr } { b } { n } +\DeclareSymbolFont { SJTU@ptm } { OML } { ptmcm } { m } { it } +\__sjtu_declare_math_symbol:nnNn { \mathord } { SJTU@ptm } \upvarsigma { "26 } \bool_if:NT \g__sjtu_upright_integral_bool { \RequirePackage { cmupint } } \__sjtu_set_unimath_symbol: diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-xits.def b/texmf/tex/latex/sjtutex/font/sjtu-math-font-xits.def similarity index 83% rename from texmf/tex/latex/sjtutex/fd/sjtu-math-font-xits.def rename to texmf/tex/latex/sjtutex/font/sjtu-math-font-xits.def index bb6def4e..b8e08efd 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-math-font-xits.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-math-font-xits.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,math,xits') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {XITS math fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-math-font-xits.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { math } { xits } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-cambria.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-cambria.def similarity index 70% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-cambria.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-cambria.def index f32ecf6d..95fbeb8f 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-cambria.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-cambria.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,cambria') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Cambria text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-cambria.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { text } { cambria } } { diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-libertinus.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def similarity index 82% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-libertinus.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def index e60d6a8e..3bbf819a 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-libertinus.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-libertinus.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,libertinus') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Libertinus text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-libertinus.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \tl_set:Nn \encodingdefault { T1 } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-lm.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-lm.def similarity index 69% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-lm.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-lm.def index 38775bfc..656fe6a6 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-lm.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-lm.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,lm') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Latin Modern text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-lm.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \tl_set:Nn \encodingdefault { T1 } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-newcm.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-newcm.def similarity index 85% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-newcm.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-newcm.def index e09081aa..0c27b230 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-newcm.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-newcm.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,newcm') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {New Computer Modern text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-newcm.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { text } { newcm } } { @@ -50,8 +46,8 @@ ItalicFont = *-BookItalic, BoldItalicFont = *-BoldItalic, SlantedFont = *-Book, - BoldSlantedFont = *-Bold, SlantedFeatures = { FakeSlant = 0.25 }, + BoldSlantedFont = *-Bold, BoldSlantedFeatures = { FakeSlant = 0.25 } ] \setsansfont diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-newpx.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-newpx.def similarity index 80% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-newpx.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-newpx.def index 775d4e3e..dfbe2bb1 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-newpx.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-newpx.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,newpx') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {New PX text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-newpx.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \tl_set:Nn \encodingdefault { T1 } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-newtx.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-newtx.def similarity index 80% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-newtx.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-newtx.def index c04c3758..85095ff0 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-newtx.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-newtx.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,newtx') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {New TX text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-newtx.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \tl_set:Nn \encodingdefault { T1 } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-stixtwo.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def similarity index 80% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-stixtwo.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def index d8064062..1fb82eab 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-stixtwo.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-stixtwo.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,stixtwo') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {STIX Two text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-stixtwo.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \tl_set:Nn \encodingdefault { T1 } + \DeclareEncodingSubset { TS1 } { ? } { 0 } + \UndeclareTextCommand { \textpertenthousand } { T1 } + \DeclareTextSymbolDefault { \textpertenthousand } { TS1 } \tl_set:Nn \rmdefault { stix2 } \tl_set:Nn \qhv@scale { 0.94 } \tl_set:Nn \sfdefault { qhv } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-times.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-times.def similarity index 72% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-times.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-times.def index cad081e9..d368168d 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-times.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-times.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,times') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Times text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-times.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \tl_set:Nn \encodingdefault { T1 } diff --git a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-xits.def b/texmf/tex/latex/sjtutex/font/sjtu-text-font-xits.def similarity index 79% rename from texmf/tex/latex/sjtutex/fd/sjtu-text-font-xits.def rename to texmf/tex/latex/sjtutex/font/sjtu-text-font-xits.def index 095ab3a9..6c921e96 100644 --- a/texmf/tex/latex/sjtutex/fd/sjtu-text-font-xits.def +++ b/texmf/tex/latex/sjtutex/font/sjtu-text-font-xits.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `font,text,xits') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {XITS text fonts definition (SJTUTeX)} \ProvidesExplFile{sjtu-text-font-xits.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_fontset_case:nn { \__sjtu_fontset_error:nn { text } { xits } } { diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-generic-de.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def similarity index 77% rename from texmf/tex/latex/sjtutex/sjtu-lang-generic-de.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def index 0a35b1d0..2e18ecf3 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-generic-de.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-de.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,generic,de') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {German specific definition for generic (SJTUTeX)} \ProvidesExplFile{sjtu-lang-generic-de.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \cs_new:Npn \__sjtu_date_aux_de:nnn #1#2#3 { \clist_item:Nn \c__sjtu_name_month_de_clist {#2} ~ diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-generic-en.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def similarity index 82% rename from texmf/tex/latex/sjtutex/sjtu-lang-generic-en.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def index 103d819c..15f1b627 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-generic-en.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-en.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,generic,en') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {English specific definition for generic (SJTUTeX)} \ProvidesExplFile{sjtu-lang-generic-en.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \cs_new:Npn \__sjtu_ordinal_en:n #1 { \int_to_arabic:n {#1} diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-generic-ja.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def similarity index 81% rename from texmf/tex/latex/sjtutex/sjtu-lang-generic-ja.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def index 7a34387c..641b8bcb 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-generic-ja.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,generic,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Japanese specific definition for generic (SJTUTeX)} \ProvidesExplFile{sjtu-lang-generic-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \cs_new:Npn \__sjtu_date_aux_ja:nnn #1#2#3 { \int_to_arabic:n {#1} ~ { \exp_not:V \c__sjtu_name_year_ja_tl } ~ diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-generic-zh.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def similarity index 81% rename from texmf/tex/latex/sjtutex/sjtu-lang-generic-zh.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def index 8b4b6255..5a116ad7 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-generic-zh.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-generic-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,generic,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Chinese specific definition for generic (SJTUTeX)} \ProvidesExplFile{sjtu-lang-generic-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \cs_new:Npn \__sjtu_date_aux_zh:nnn #1#2#3 { \int_to_arabic:n {#1} ~ { \exp_not:V \c__sjtu_name_year_zh_tl } ~ diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-de.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def similarity index 70% rename from texmf/tex/latex/sjtutex/sjtu-lang-thesis-de.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def index 4d867713..be0b3e14 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-de.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-de.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,thesis,de') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {German specific definition for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-lang-thesis-de.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_info_keys_define:n { de } \keys_define:nn { sjtu / info / de } { @@ -63,10 +59,10 @@ \ps@empty \cs_set:Npn \@oddfoot { - \begin{minipage} { \textwidth } + \minipage [ t ] { \textwidth } \centering \zihao { - 5 } \clist_use:Nn \l__sjtu_info_fund_de_clist { \par } - \end{minipage} + \endminipage } \cs_set_eq:NN \@evenfoot \@oddfoot } @@ -74,33 +70,35 @@ { { subject } { - format = \zihao { 4 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 24 bp } \bfseries , content = \l__sjtu_info_subject_de_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { title } { - format = \zihao { -2 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { -2 } \setbaselineskip { 30 bp } \bfseries , content = \MakeUppercase \l__sjtu_info_display_title_de_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { info } { - format = \zihao { 3 } \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } \bfseries , content = { - \__sjtu_title_page_info_i:nxn { de } + \__sjtu_title_page_info_i:nxx { de } + { + r @ { \exp_not:V \c__sjtu_name_info_sep_de_tl } + >{ \exp_not:N \normalfont } l + } { author, \l__sjtu_info_supervisors_clist } - { { \bfseries #1 \c__sjtu_name_info_sep_de_tl } {#3} } } , - bottom-skip = \c_zero_dim plus 3 fill + bottom-skip = 30 bp plus 1 fill }, { date } { - format = \zihao { 3 } \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } , content = { \__sjtu_title_page_info_ii:n { de } } , - bottom-skip = 15.6 bp }, } { @@ -109,7 +107,7 @@ \__sjtu_declare_page:nn { title / de } { style = SJTU@fund@de , - format = \linespread { 1 } \__sjtu_set_language_de: , + format = \linespread { } \__sjtu_set_language_de: , prefix = title / de , components = { subject, title, info, date } } diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-en.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def similarity index 72% rename from texmf/tex/latex/sjtutex/sjtu-lang-thesis-en.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def index d3704b14..5c83d773 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-en.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-en.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,thesis,en') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {English specific definition for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-lang-thesis-en.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_info_keys_define:n { en } \keys_define:nn { sjtu / info / en } { @@ -35,7 +31,7 @@ { A~ Dissertation~ Submitted~ to \exp_not:N \\ { \exp_not:V \c__sjtu_name_univ_en_tl }~ for~ - { \exp_not:V \c__sjtu_name_degree_level_possessive_en_tl }~ Degree + the~ Degree~ of~ { \exp_not:V \c__sjtu_name_degree_level_en_tl } } } \cs_new:Npn \__sjtu_ordinal_en:n #1 @@ -86,10 +82,10 @@ \ps@empty \cs_set:Npn \@oddfoot { - \begin{minipage} { \textwidth } + \minipage [ t ] { \textwidth } \centering \zihao { - 5 } \clist_use:Nn \l__sjtu_info_fund_en_clist { \par } - \end{minipage} + \endminipage } \cs_set_eq:NN \@evenfoot \@oddfoot } @@ -97,33 +93,35 @@ { { subject } { - format = \zihao { 4 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 24 bp } \bfseries , content = \l__sjtu_info_subject_en_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { title } { - format = \zihao { -2 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { -2 } \setbaselineskip { 30 bp } \bfseries , content = \MakeUppercase \l__sjtu_info_display_title_en_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { info } { - format = \zihao { 3 } \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } \bfseries , content = { - \__sjtu_title_page_info_i:nxn { en } + \__sjtu_title_page_info_i:nxx { en } + { + r @ { \exp_not:V \c__sjtu_name_info_sep_en_tl } + >{ \exp_not:N \normalfont } l + } { author, \l__sjtu_info_supervisors_clist } - { { \bfseries #1 \c__sjtu_name_info_sep_en_tl } {#3} } } , - bottom-skip = \c_zero_dim plus 3 fill + bottom-skip = 30 bp plus 1 fill }, { date } { - format = \zihao { 3 } \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } , content = { \__sjtu_title_page_info_ii:n { en } } , - bottom-skip = 15.6 bp }, } { @@ -132,7 +130,7 @@ \__sjtu_declare_page:nn { title / en } { style = SJTU@fund@en , - format = \linespread { 1 } \__sjtu_set_language_en: , + format = \linespread { } \__sjtu_set_language_en: , prefix = title / en , components = { subject, title, info, date } } diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-ja.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def similarity index 72% rename from texmf/tex/latex/sjtutex/sjtu-lang-thesis-ja.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def index 31140a8b..c3ca7db4 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-ja.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,thesis,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Japanese specific definition for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-lang-thesis-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_info_keys_define:n { ja } \keys_define:nn { sjtu / info / ja } { @@ -71,10 +67,10 @@ \ps@empty \cs_set:Npn \@oddfoot { - \begin{minipage} { \textwidth } + \minipage [ t ] { \textwidth } \centering \zihao { - 5 } \clist_use:Nn \l__sjtu_info_fund_ja_clist { \par } - \end{minipage} + \endminipage } \cs_set_eq:NN \@evenfoot \@oddfoot } @@ -82,33 +78,35 @@ { { subject } { - format = \zihao { 4 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 24 bp } \bfseries , content = \l__sjtu_info_subject_ja_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { title } { - format = \zihao { -2 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { -2 } \setbaselineskip { 30 bp } \bfseries , content = \l__sjtu_info_display_title_ja_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { info } { - format = \zihao { 3 } \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } \bfseries , content = { - \__sjtu_title_page_info_i:nxn { ja } + \__sjtu_title_page_info_i:nxx { ja } + { + r @ { \exp_not:V \c__sjtu_name_info_sep_ja_tl } + >{ \exp_not:N \normalfont } l + } { author, \l__sjtu_info_supervisors_clist } - { { \bfseries #1 \c__sjtu_name_info_sep_ja_tl } {#3} } } , - bottom-skip = \c_zero_dim plus 3 fill + bottom-skip = 30 bp plus 1 fill }, { date } { - format = \zihao { 3 } \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } , content = { \__sjtu_title_page_info_ii:n { ja } } , - bottom-skip = 15.6 bp }, } { @@ -117,7 +115,7 @@ \__sjtu_declare_page:nn { title / ja } { style = SJTU@fund@ja , - format = \linespread { 1 } \__sjtu_set_language_ja: , + format = \linespread { } \__sjtu_set_language_ja: , prefix = title / ja , components = { subject, title, info, date } } diff --git a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-zh.def b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def similarity index 72% rename from texmf/tex/latex/sjtutex/sjtu-lang-thesis-zh.def rename to texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def index c63f68df..a9208889 100644 --- a/texmf/tex/latex/sjtutex/sjtu-lang-thesis-zh.def +++ b/texmf/tex/latex/sjtutex/lang/sjtu-lang-thesis-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `lang,thesis,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Chinese specific definition for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-lang-thesis-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \__sjtu_info_keys_define:n { zh } \keys_define:nn { sjtu / info / zh } { @@ -71,10 +67,10 @@ \ps@empty \cs_set:Npn \@oddfoot { - \begin{minipage} { \textwidth } + \minipage [ t ] { \textwidth } \centering \zihao { - 5 } \clist_use:Nn \l__sjtu_info_fund_zh_clist { \par } - \end{minipage} + \endminipage } \cs_set_eq:NN \@evenfoot \@oddfoot } @@ -85,27 +81,32 @@ content = { \includegraphics [ width = 3 cm ] - { sjtu-vi-badge- \l__sjtu_style_title_logo_color_tl .pdf } + { sjtu-vi-badge-red.pdf } } }, { subject } { - format = \zihao { -2 } \fixedlineskip { 31.2 bp } , + format = \zihao { -2 } \setbaselineskip { 30 bp } , content = \l__sjtu_info_subject_zh_tl , - bottom-skip = \c_zero_dim plus 2 fill + bottom-skip = \c_zero_dim plus 1 fill }, { title } { - format = \zihao { 2 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { 2 } \setbaselineskip { 36 bp } \bfseries , content = \l__sjtu_info_display_title_zh_tl , - bottom-skip = \c_zero_dim plus 3 fill + bottom-skip = 30 bp plus 1 fill }, { info } { - format = \zihao { 4 } \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 30 bp } \heiti , content = { - \__sjtu_title_page_info_i:nxn { zh } + \__sjtu_title_page_info_i:nxx { zh } + { + \exp_not:N \SJTU@CT@D { 5 em } + @ { \exp_not:V \c__sjtu_name_info_sep_zh_tl } + >{ \exp_not:N \normalfont } l + } { author, id, @@ -115,19 +116,13 @@ \int_compare:nNnF { \g__sjtu_thesis_type_int } = { 1 } { degree } } - { - \__sjtu_cjk_spread_box:nn { 5 em } { \heiti #1 } - \c__sjtu_name_info_sep_zh_tl - \__sjtu_left_aligned_box:nn {#2} {#3} - } } , - bottom-skip = 31.2 bp + bottom-skip = 30 bp }, { date } { - format = \zihao { 4 } \bfseries \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 30 bp } \bfseries , content = \l__sjtu_info_date_zh_tl , - bottom-skip = 15.6 bp } } { @@ -138,7 +133,7 @@ bookmark = true , bookmark-text = \c__sjtu_name_title_page_tl , style = SJTU@fund@zh , - format = \linespread { 1 } \__sjtu_set_language_zh: , + format = \linespread { } \__sjtu_set_language_zh: , prefix = title / zh , components = { logo, subject, title, info, date } } diff --git a/texmf/tex/latex/sjtutex/sjtu-name-generic-de.def b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-de.def similarity index 74% rename from texmf/tex/latex/sjtutex/sjtu-name-generic-de.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-generic-de.def index cb397ceb..cef48f0b 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-generic-de.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-de.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,generic,de') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {German name config for generic (SJTUTeX)} \ProvidesExplFile{sjtu-name-generic-de.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_const:Nn \c__sjtu_name_month_de_clist { Januar, Februar, März, April, Mai, Juni, diff --git a/texmf/tex/latex/sjtutex/sjtu-name-generic-en.def b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-en.def similarity index 74% rename from texmf/tex/latex/sjtutex/sjtu-name-generic-en.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-generic-en.def index e1244289..ef8933ef 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-generic-en.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-en.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,generic,en') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {English name config for generic (SJTUTeX)} \ProvidesExplFile{sjtu-name-generic-en.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_const:Nn \c__sjtu_name_month_en_clist { January, February, March, April, May, June, diff --git a/texmf/tex/latex/sjtutex/sjtu-name-generic-ja.def b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-ja.def similarity index 63% rename from texmf/tex/latex/sjtutex/sjtu-name-generic-ja.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-generic-ja.def index 657ade13..b6b3d5ef 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-generic-ja.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,generic,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Japanese name config for generic (SJTUTeX)} \ProvidesExplFile{sjtu-name-generic-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_map_inline:nn { { year } { 年 } , @@ -37,9 +33,9 @@ { \__sjtu_define_name:nnn { ja } #1 } \clist_map_inline:nn { - { keywords } { キーワード } , - { info_sep } { : } , - { item_sep } { \quad } + { keywords } { キーワード } , + { info_sep } { : \null } , + { item_sep } { \quad } } { \__sjtu_define_name:nn #1 } \endinput diff --git a/texmf/tex/latex/sjtutex/sjtu-name-generic-zh.def b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-zh.def similarity index 69% rename from texmf/tex/latex/sjtutex/sjtu-name-generic-zh.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-generic-zh.def index e62b11bd..d8674da5 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-generic-zh.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-generic-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,generic,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Chinese name config for generic (SJTUTeX)} \ProvidesExplFile{sjtu-name-generic-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_map_inline:nn { { year } { 年 } , @@ -38,7 +34,7 @@ \clist_map_inline:nn { { keywords } { 关键词 } , - { info_sep } { : } , + { info_sep } { : \null } , { item_sep } { , } } { \__sjtu_define_name:nn #1 } diff --git a/texmf/tex/latex/sjtutex/sjtu-name-thesis-de.def b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-de.def similarity index 82% rename from texmf/tex/latex/sjtutex/sjtu-name-thesis-de.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-thesis-de.def index 954a30c7..a5142000 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-thesis-de.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-de.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,thesis,de') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {German name config for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-name-thesis-de.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_const:Nn \c__sjtu_name_month_de_clist { Januar, Februar, März, April, Mai, Juni, diff --git a/texmf/tex/latex/sjtutex/sjtu-name-thesis-en.def b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-en.def similarity index 75% rename from texmf/tex/latex/sjtutex/sjtu-name-thesis-en.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-thesis-en.def index 808200bd..3fd6fa5a 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-thesis-en.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-en.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,thesis,en') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,29 +20,25 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {English name config for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-name-thesis-en.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_const:Nn \c__sjtu_name_month_en_clist { January, February, March, April, May, June, July, August, September, October, November, December } \__sjtu_define_name_from_clist:nnnn { en } - { degree_level_possessive } { \g__sjtu_thesis_type_int } - { Bachelor's, Master's, Doctoral } + { degree_level } { \g__sjtu_thesis_type_int } + { Bachelor, Master, Doctor } \clist_map_inline:nn { { univ } { Shanghai~ Jiao~ Tong~ University } , { address } { Shanghai,~ P.R.~ China } , { author } { Author } , { supervisor } { Supervisor } , - { assoc_supervisor } { Assoc.~ Supervisor } , + { assoc_supervisor } { Assoc.\ Supervisor } , { co_supervisor } { Co-supervisor } , { title_page } { Title~ Page } , { declaration } { Statutory~ Declaration } , diff --git a/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def new file mode 100644 index 00000000..1a8ebb66 --- /dev/null +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-ja.def @@ -0,0 +1,56 @@ +%% +%% This is file `sjtu-name-thesis-ja.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% sjtutex.dtx (with options: `name,thesis,ja') +%% +%% Copyright (C) SJTUG +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ + {Japanese name config for thesis (SJTUTeX)} +\ProvidesExplFile{sjtu-name-thesis-ja.def} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\clist_map_inline:nn + { + { year } { 年 } , + { month } { 月 } , + { day } { 日 } + } + { \__sjtu_define_name:nnn { ja } #1 } +\__sjtu_define_name_from_clist:nnnn { ja } + { degree_level } { \g__sjtu_thesis_type_int } + { 学士, 修士, 博士 } +\clist_map_inline:nn + { + { univ } { 上海交通大学 } , + { address } { 中国・上海 } , + { author } { 氏名 } , + { supervisor } { 指導教員 } , + { assoc_supervisor } { 副指導教員 } , + { co_supervisor } { 共同指導 } , + { thesis } { 学位請求論文 } , + { title_page } { 標題紙 } , + { declaration } { 誓約書・公表許諾書 } , + { abstract } { 要 \protect \quad 旨 } , + { keywords } { キーワード } , + { info_sep } { : \null } , + { item_sep } { \quad } + } + { \__sjtu_define_name:nnn { ja } #1 } +\endinput +%% +%% End of file `sjtu-name-thesis-ja.def'. diff --git a/texmf/tex/latex/sjtutex/sjtu-name-thesis-zh.def b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def similarity index 88% rename from texmf/tex/latex/sjtutex/sjtu-name-thesis-zh.def rename to texmf/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def index 833752ef..07e547f3 100644 --- a/texmf/tex/latex/sjtutex/sjtu-name-thesis-zh.def +++ b/texmf/tex/latex/sjtutex/name/sjtu-name-thesis-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `name,thesis,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Chinese name config for thesis (SJTUTeX)} \ProvidesExplFile{sjtu-name-thesis-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \clist_map_inline:nn { { year } { 年 } , @@ -57,9 +53,9 @@ { auth_decl } { 使用授权书 } , { decl_author } { 学位论文作者 } , { decl_supervisor } { 指导教师 } , - { abstract } { 摘 \quad 要 } , + { abstract } { 摘 \protect \quad 要 } , { keywords } { 关键词 } , - { info_sep } { : } , + { info_sep } { : \null } , { item_sep } { , } } { \__sjtu_define_name:nnn { zh } #1 } diff --git a/texmf/tex/latex/sjtutex/sjtu-scheme-de.def b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-de.def similarity index 55% rename from texmf/tex/latex/sjtutex/sjtu-scheme-de.def rename to texmf/tex/latex/sjtutex/scheme/sjtu-scheme-de.def index f0b16d9d..a4fc305f 100644 --- a/texmf/tex/latex/sjtutex/sjtu-scheme-de.def +++ b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-de.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `scheme,de') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,38 +20,34 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {German scheme (SJTUTeX)} \ProvidesExplFile{sjtu-scheme-de.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \keys_set_known:nn { sjtu / name } { - contents = { Inhaltsverzeichnis } , - listfigure = { Abbildungsverzeichnis } , - listtable = { Tabellenverzeichnis } , - figure = { Abbildung } , - table = { Tabelle } , - abstract = { Zusammenfassung } , - index = { Index } , - appendix = { Anhang } , - proof = { Beweis } , - bib = { Literaturverzeichnis } , - part = { Teil } , - chapter = { Kapitel } , - figure* = { Figure } , - table* = { Table } , - algorithm = { Algorithmus } , + contents = { Inhaltsverzeichnis } , + listfigure = { Abbildungsverzeichnis } , + listtable = { Tabellenverzeichnis } , + figure = { Abbildung } , + table = { Tabelle } , + abstract = { Zusammenfassung } , + index = { Index } , + appendix = { Anhang } , + proof = { Beweis } , + bib = { Literaturverzeichnis } , + part = { Teil } , + chapter = { Kapitel } , + figure* = { Figure } , + table* = { Table } , + algorithm = { Algorithmus } , listalgorithm = { Algorithmenverzeichnis } , - abbr = { Abkürzungsverzeichnis } , - nom = { Symbolverzeichnis } , - ack = { Danksagungen } , - resume = { Lebenslauf } , - digest = { Kurzfassung } , - achv = { Forschungsleistungen } + abbr = { Abkürzungsverzeichnis } , + nom = { Symbolverzeichnis } , + ack = { Danksagungen } , + resume = { Lebenslauf } , + digest = { Kurzfassung } , + achv = { Forschungsleistungen } } \ctex_if_autoindent_touched:F { \ctex_set:n { autoindent = 1.5 em } } diff --git a/texmf/tex/latex/sjtutex/sjtu-scheme-en.def b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-en.def similarity index 78% rename from texmf/tex/latex/sjtutex/sjtu-scheme-en.def rename to texmf/tex/latex/sjtutex/scheme/sjtu-scheme-en.def index 856556c9..5feec1fe 100644 --- a/texmf/tex/latex/sjtutex/sjtu-scheme-en.def +++ b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-en.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `scheme,en') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,10 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {English scheme (SJTUTeX)} \ProvidesExplFile{sjtu-scheme-en.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \ctex_if_autoindent_touched:F { \ctex_set:n { autoindent = 1.5 em } } \ctex_patch_cmd:Nnn \quotation { 1.5em } { \parindent } diff --git a/texmf/tex/latex/sjtutex/sjtu-scheme-ja.def b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def similarity index 56% rename from texmf/tex/latex/sjtutex/sjtu-scheme-ja.def rename to texmf/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def index f83ef740..9df2d3ef 100644 --- a/texmf/tex/latex/sjtutex/sjtu-scheme-ja.def +++ b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-ja.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `scheme,ja') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,42 +20,35 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Japanese scheme (SJTUTeX)} \ProvidesExplFile{sjtu-scheme-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \keys_set_known:nn { sjtu / name } { - contents = { 目 \quad 次 } , - listfigure = { 図目次 } , - listtable = { 表目次 } , - figure = { 図 } , - table = { 表 } , - abstract = { 概 \quad 要 } , - index = { 索 \quad 引 } , - appendix = { 付録 } , - proof = { 证明 } , - bib = { 参考文献 } , - figure* = { Figure } , - table* = { Table } , - algorithm = { アルゴリズム } , - listalgorithm = { アルゴリズム目次 } , - abbr = { 略語表 } , - nom = { 記号表 } , - ack = { 謝 \quad 辞 } , - resume = { 履歴書 } , - digest = { 要 \quad 約 } , - achv = { 研究業績書 } + contents = { 目 \protect \quad 次 } , + listfigure = { 図目次 } , + listtable = { 表目次 } , + figure = { 図 } , + table = { 表 } , + abstract = { 概 \protect \quad 要 } , + index = { 索 \protect \quad 引 } , + appendix = { 付録 } , + proof = { 证明 } , + bib = { 参考文献 } , + figure* = { Figure } , + table* = { Table } , + algorithm = { アルゴリズム } , + listalgorithm = { アルゴリズム目次 } , + abbr = { 略語表 } , + nom = { 記号表 } , + ack = { 謝 \protect \quad 辞 } , + resume = { 履歴書 } , + digest = { 要 \protect \quad 約 } , + achv = { 研究業績書 } } \keys_set_known:nn { ctex / chapter } - { - name = { 第 , 章 } , - number = \chinese { chapter } - } + { name = { 第 \space , \space 章 } } \ctex_if_autoindent_touched:F { \ctex_set:n { autoindent = 1 } } \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd } diff --git a/texmf/tex/latex/sjtutex/sjtu-scheme-zh.def b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def similarity index 58% rename from texmf/tex/latex/sjtutex/sjtu-scheme-zh.def rename to texmf/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def index 0c406757..b19a38cf 100644 --- a/texmf/tex/latex/sjtutex/sjtu-scheme-zh.def +++ b/texmf/tex/latex/sjtutex/scheme/sjtu-scheme-zh.def @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `scheme,zh') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,42 +20,35 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ {Chinese scheme (SJTUTeX)} \ProvidesExplFile{sjtu-scheme-zh.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} + {\ExplFileDate}{2.1.3}{\ExplFileDescription} \keys_set_known:nn { sjtu / name } { - contents = { 目 \quad 录 } , - listfigure = { 插 \quad 图 } , - listtable = { 表 \quad 格 } , - figure = { 图 } , - table = { 表 } , - abstract = { 摘 \quad 要 } , - index = { 索 \quad 引 } , - appendix = { 附录 } , - proof = { 证明 } , - bib = { 参考文献 } , - figure* = { Figure } , - table* = { Table } , - algorithm = { 算法 } , - listalgorithm = { 算 \quad 法 } , - abbr = { 缩略语对照表 } , - nom = { 符号对照表 } , - ack = { 致 \quad 谢 } , - resume = { 个人简历 } , - digest = { 大摘要 } , + contents = { 目 \protect \quad 录 } , + listfigure = { 插 \protect \quad 图 } , + listtable = { 表 \protect \quad 格 } , + figure = { 图 } , + table = { 表 } , + abstract = { 摘 \protect \quad 要 } , + index = { 索 \protect \quad 引 } , + appendix = { 附录 } , + proof = { 证明 } , + bib = { 参考文献 } , + figure* = { Figure } , + table* = { Table } , + algorithm = { 算法 } , + listalgorithm = { 算 \protect \quad 法 } , + abbr = { 缩略语对照表 } , + nom = { 符号对照表 } , + ack = { 致 \protect \quad 谢 } , + resume = { 个人简历 } , + digest = { 大摘要 } , achv = { 学术论文和科研成果目录 } } \keys_set_known:nn { ctex / chapter } - { - name = { 第 , 章 } , - number = \chinese { chapter } - } + { name = { 第 \space , \space 章 } } \ctex_if_autoindent_touched:F { \ctex_set:n { autoindent = true } } \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd } diff --git a/texmf/tex/latex/sjtutex/sjtu-name-thesis-ja.def b/texmf/tex/latex/sjtutex/sjtu-name-thesis-ja.def deleted file mode 100644 index 826115e1..00000000 --- a/texmf/tex/latex/sjtutex/sjtu-name-thesis-ja.def +++ /dev/null @@ -1,60 +0,0 @@ -%% -%% This is file `sjtu-name-thesis-ja.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% sjtutex.dtx (with options: `name,thesis,ja') -%% -%% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ - {Japanese name config for thesis (SJTUTeX)} -\ProvidesExplFile{sjtu-name-thesis-ja.def} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\clist_map_inline:nn - { - { year } { 年 } , - { month } { 月 } , - { day } { 日 } - } - { \__sjtu_define_name:nnn { ja } #1 } -\__sjtu_define_name_from_clist:nnnn { ja } - { degree_level } { \g__sjtu_thesis_type_int } - { 学士, 修士, 博士 } -\clist_map_inline:nn - { - { univ } { 上海交通大学 } , - { address } { 中国・上海 } , - { author } { 氏名 } , - { supervisor } { 指導教員 } , - { assoc_supervisor } { 副指導教員 } , - { co_supervisor } { 共同指導 } , - { thesis } { 学位請求論文 } , - { title_page } { 標題紙 } , - { declaration } { 誓約書・公表許諾書 } , - { abstract } { 要 \quad 旨 } , - { keywords } { キーワード } , - { info_sep } { : } , - { item_sep } { \quad } - } - { \__sjtu_define_name:nnn { ja } #1 } -\endinput -%% -%% End of file `sjtu-name-thesis-ja.def'. diff --git a/texmf/tex/latex/sjtutex/sjtuarticle.cls b/texmf/tex/latex/sjtutex/sjtuarticle.cls index 26e86d5b..e1f07a92 100644 --- a/texmf/tex/latex/sjtutex/sjtuarticle.cls +++ b/texmf/tex/latex/sjtutex/sjtuarticle.cls @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `class,article') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,51 +20,33 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\NeedsTeXFormat{LaTeX2e} -\RequirePackage{expl3} -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ - {Article template for Shanghai Jiao Tong University} +\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01}{} + {\PackageError{sjtutex} + {Your LaTeX format is outdated!\MessageBreak\MessageBreak + Release `2020/10/01' or newer is required to\MessageBreak + compile this document.\MessageBreak\MessageBreak + Please update your TeX distribution}{}} +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ + {Article document class for Shanghai Jiao Tong University (SJTUTeX)} \ProvidesExplClass{sjtuarticle} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\RequirePackage { xparse, xtemplate } -\msg_new:nnn { sjtutex } { l3-too-old } - { - Package~ "#1"~ is~ too~ old. \\\\ - Please~ update~ an~ up-to-date~ version~ of~ the~ bundles \\ - "l3kernel"~ and~ "l3packages"~ using~ your~ TeX~ package \\ - manager~ or~ from~ CTAN. - } -\@ifpackagelater { expl3 } { 2020/04/06 } { } - { \msg_error:nnn { sjtutex } { l3-too-old } { expl3 } } -\bool_new:N \l__sjtu_tmpa_bool -\int_new:N \l__sjtu_tmpa_int -\tl_new:N \l__sjtu_tmpa_tl -\tl_new:N \l__sjtu_tmpb_tl -\clist_new:N \l__sjtu_tmpa_clist -\clist_new:N \l__sjtu_tmpb_clist -\dim_new:N \l__sjtu_tmpa_dim -\dim_new:N \l__sjtu_tmpb_dim -\skip_new:N \l__sjtu_tmpa_skip -\box_new:N \l__sjtu_tmpa_box + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\dim_new:N \l__sjtu_tmp_dim +\skip_new:N \l__sjtu_tmp_skip +\box_new:N \l__sjtu_tmp_box \tl_new:N \g__sjtu_lang_tl \tl_const:Nn \c__sjtu_lang_de_tl { de } \tl_const:Nn \c__sjtu_lang_ja_tl { ja } \tl_new:N \g__sjtu_zihao_tl +\int_new:N \g__sjtu_font_size_int \dim_new:N \g__sjtu_font_size_dim -\dim_new:N \g__sjtu_line_skip_dim -\dim_new:N \g__sjtu_default_line_skip_dim +\dim_new:N \g__sjtu_baseline_skip_dim +\bool_new:N \g__sjtu_fixed_baselineskip_bool \fp_new:N \g__sjtu_line_spread_fp \tl_new:N \g__sjtu_text_font_tl \tl_new:N \g__sjtu_math_font_tl \tl_new:N \g__sjtu_cjk_font_tl -\tl_new:N \g__sjtu_save_encodingdefault_tl -\tl_new:N \g__sjtu_save_rmdefault_tl -\tl_new:N \g__sjtu_save_sfdefault_tl -\tl_new:N \g__sjtu_save_ttdefault_tl \bool_new:N \g__sjtu_slanted_uppercase_greek_bool \bool_new:N \g__sjtu_upright_integral_bool \bool_new:N \g__sjtu_integral_limits_bool @@ -98,20 +80,32 @@ lang .initial:n = { zh } , zihao .choice: , zihao .value_required:n = true , - zihao / -4 .code:n = + zihao / 5 .code:n = { \tl_gset:Nn \g__sjtu_zihao_tl {#1} - \dim_gset:Nn \g__sjtu_font_size_dim { 12 bp } - \dim_gset:Nn \g__sjtu_default_line_skip_dim { 20 bp } + \int_gset:Nn \g__sjtu_font_size_int { 1 } + \dim_gset:Nn \g__sjtu_font_size_dim { 10.5 bp } } , - zihao / 5 .code:n = + zihao / -4 .code:n = { \tl_gset:Nn \g__sjtu_zihao_tl {#1} - \dim_gset:Nn \g__sjtu_font_size_dim { 10.5 bp } - \dim_gset:Nn \g__sjtu_default_line_skip_dim { 15.6 bp } + \int_gset:Nn \g__sjtu_font_size_int { 2 } + \dim_gset:Nn \g__sjtu_font_size_dim { 12 bp } } , zihao .initial:n = { 5 } , - lineskip .dim_gset:N = \g__sjtu_line_skip_dim , + linespread .fp_gset:N = \g__sjtu_line_spread_fp , + linespread .initial:n = { \c_nan_fp } , + linespread .value_required:n = true , + baselineskip .choice: , + baselineskip .value_required:n = true , + baselineskip / false .code:n = + { \bool_gset_false:N \g__sjtu_fixed_baselineskip_bool } , + baselineskip / unknown .code:n = + { + \bool_gset_true:N \g__sjtu_fixed_baselineskip_bool + \dim_gset:Nn \g__sjtu_baseline_skip_dim {#1} + } , + baselineskip .initial:n = { false } , text-font .tl_gset:N = \g__sjtu_text_font_tl , text-font .initial:n = { newtx } , math-font .tl_gset:N = \g__sjtu_math_font_tl , @@ -178,10 +172,11 @@ \RequirePackage { l3keys2e } \ProcessKeysOptions { sjtu / option } } -\dim_compare:nNnT \g__sjtu_line_skip_dim < \g__sjtu_font_size_dim - { \dim_set_eq:NN \g__sjtu_line_skip_dim \g__sjtu_default_line_skip_dim } -\fp_set:Nn \g__sjtu_line_spread_fp - { \dim_ratio:nn { \g__sjtu_line_skip_dim } { \g__sjtu_font_size_dim } / 1.2 } +\bool_if:NF \g__sjtu_fixed_baselineskip_bool + { + \fp_if_nan:nT { \g__sjtu_line_spread_fp } + { \fp_set:Nn \g__sjtu_line_spread_fp { 1.3 } } + } \clist_set:Nx \g__sjtu_math_font_options_clist { \bool_if:NT \g__sjtu_slanted_uppercase_greek_bool @@ -201,7 +196,8 @@ \clist_put_right:Nx \g__sjtu_options_to_ctex_class_clist { zihao = \g__sjtu_zihao_tl , - linespread = \fp_use:N \g__sjtu_line_spread_fp , + \fp_if_nan:nF { \g__sjtu_line_spread_fp } + { linespread = \fp_use:N \g__sjtu_line_spread_fp } , \bool_if:NTF \g__sjtu_twoside_bool { twoside } { oneside } , \bool_if:NTF \g__sjtu_titlepage_bool @@ -215,7 +211,6 @@ \clist_set:Nx \g__sjtu_options_to_packages_clist { { no-math } { fontspec } , - { titles } { tocloft } , { list = off } { bicaption } , { warnings-off = { @@ -237,7 +232,7 @@ mathtools, geometry, fancyhdr, - tocloft, + titletoc, caption, bicaption, subcaption, @@ -295,62 +290,59 @@ \ctex_appto_cmd:NnnTF #1 { } {#2} { } { \ctex_patch_failure:N #1 } } -\cs_new:Npn \__sjtu_fixed_line_skip:n #1 - { - \exp_args:Nx \linespread - { \fp_to_decimal:n { \dim_ratio:nn { #1 } { \f@size pt } / 1.2 } } - \selectfont - } -\NewDocumentCommand \fixedlineskip { m } - { \exp_args:Nx \__sjtu_fixed_line_skip:n {#1} \tex_ignorespaces:D } -\cs_new:Npn \__sjtu_dim_set_to_wd:Nn #1#2 - { - \hbox_set:Nn \l__sjtu_tmpa_box {#2} - \dim_set:Nn #1 { \box_wd:N \l__sjtu_tmpa_box } - } \cs_new:Npn \__sjtu_skip_add_to_wd:Nn #1#2 { - \hbox_set:Nn \l__sjtu_tmpa_box {#2} - \skip_add:Nn #1 { \box_wd:N \l__sjtu_tmpa_box } + \hbox_set:Nn \l__sjtu_tmp_box {#2} + \skip_add:Nn #1 { \box_wd:N \l__sjtu_tmp_box } } -\cs_generate_variant:Nn \__sjtu_dim_set_to_wd:Nn { Nv } \cs_generate_variant:Nn \__sjtu_skip_add_to_wd:Nn { cv } \cs_new:Npn \__sjtu_cs_provide_eq:NN #1#2 { \cs_if_exist:NF #1 { \cs_set_eq:NN #1 #2 } } \cs_generate_variant:Nn \__sjtu_cs_provide_eq:NN { cc } -\cs_new_protected:Npn \__sjtu_vspace:N #1 - { - \skip_vertical:N #1 - \skip_vertical:N \c_zero_skip - } -\cs_new_protected:Npn \__sjtu_vspace:n #1 - { - \skip_set:Nn \l__sjtu_tmpa_skip {#1} - \__sjtu_vspace:N \l__sjtu_tmpa_skip - } -\cs_new_protected:Npn \__sjtu_vspace_r:N #1 - { - \dim_set_eq:NN \l__sjtu_tmpa_dim \prevdepth - \hrule height \c_zero_dim - \nobreak - \skip_vertical:N #1 - \skip_vertical:N \c_zero_skip - \dim_set_eq:NN \prevdepth \l__sjtu_tmpa_dim - } -\cs_new_protected:Npn \__sjtu_vspace_r:n #1 - { - \skip_set:Nn \l__sjtu_tmpa_skip {#1} - \__sjtu_vspace_r:N \l__sjtu_tmpa_skip - } \cs_new_protected:Npn \__sjtu_define_name:nn #1#2 { \tl_const:cn { c__sjtu_name_ #1 _tl } {#2} } \cs_new_protected:Npn \__sjtu_define_name:nnn #1#2#3 { \tl_const:cn { c__sjtu_name_ #2 _ #1 _tl } {#3} } -\cs_new_protected:Npn \__sjtu_define_name_from_clist:nnnn #1#2#3#4 - { \tl_const:cx { c__sjtu_name_ #2 _ #1 _tl } { \clist_item:nn {#4} {#3} } } -\cs_generate_variant:Nn \__sjtu_define_name:nn { nv } \cs_new_protected:Npn \__sjtu_define_symbol:nn #1#2 { \tl_const:cx { c__sjtu_symbol_ #1 _tl } { \__sjtu_unicode_char:n {#2} } } +\cs_new_protected:Npn \__sjtu_set_font_size:nnNn #1#2#3#4 + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\tl_set:Nx \l__sjtu_font_size_tl + { + { \dim_to_decimal:n { \g__sjtu_font_size_dim } } + { \dim_to_decimal:n { \g__sjtu_baseline_skip_dim } } + } +\bool_if:NT \g__sjtu_fixed_baselineskip_bool + { + \int_case:nn { \g__sjtu_font_size_int } + { + { 1 } { + \exp_after:wN \__sjtu_set_font_size:nnNn \l__sjtu_font_size_tl + \normalsize + { + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI + } + } + { 2 } { + \exp_after:wN \__sjtu_set_font_size:nnNn \l__sjtu_font_size_tl + \normalsize + { + \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI + } + } + } + \normalsize + } +\NewDocumentCommand \setbaselineskip { m } + { \fontsize { \f@size } {#1} \selectfont } \cs_new_protected:Npn \__sjtu_fontset_error:nn #1#2 { \msg_error:nnnn { sjtutex } { font-unavailable } {#1} {#2} } \msg_new:nnn { sjtutex } { font-unavailable } @@ -362,6 +354,11 @@ { \sys_if_output_pdf:TF {#1} {#2} } {#3} } +\cs_new_protected:Nn \__sjtu_declare_math_symbol:nnNn + { + \cs_undefine:N #3 + \DeclareMathSymbol {#3} {#1} {#2} {#4} + } \cs_new_protected:Nn \__sjtu_set_slanted_greek: { \clist_const:Nn \c__sjtu_uppercase_greek_clist @@ -480,9 +477,9 @@ proof .meta:nn = { ctex } { proofname = {#1} } , bib .meta:nn = { ctex } { bibname = {#1} } , part .tl_set:N = \partname , - figure* .tl_set:N = \SJTU@figurename@aux , + figure* .tl_set:N = \SJTU@figurename@bi@second , figure* .initial:n = { 图 } , - table* .tl_set:N = \SJTU@tablename@aux , + table* .tl_set:N = \SJTU@tablename@bi@second , table* .initial:n = { 表 } , algorithm .tl_set:N = \SJTU@algorithmname , algorithm .initial:n = { Algorithm } , @@ -522,14 +519,6 @@ header-uppercase .initial:n = { false } } \cs_generate_variant:Nn \__sjtu_nouppercase:n { V } -\keys_define:nn { sjtu / style } - { - header-logo-color .choice: , - header-logo-color .choices:nn = - { red, blue, black } - { \tl_set_eq:NN \l__sjtu_style_header_logo_color_tl \l_keys_choice_tl } , - header-logo-color .initial:n = { red } , - } \cs_new:Nn \__sjtu_thepage: { \thepage } \keys_define:nn { sjtu / style } { @@ -539,7 +528,7 @@ \tl_set:Nn \l__sjtu_header_tl { \includegraphics [ height = 1.2 cm ] - { sjtu-vi-logo- \l__sjtu_style_header_logo_color_tl .pdf } + { sjtu-vi-logo-small-red.pdf } } \tl_set:Nn \l__sjtu_leftmark_tl { \l__sjtu_info_subject_tl } \tl_set:Nn \l__sjtu_rightmark_tl { \leftmark } @@ -580,31 +569,29 @@ } } \ctex_set:nn { section } - { - beforeskip = 24 bp , - afterskip = 6 bp , - format = \zihao { 4 } \bfseries \CJKsffamily , - afterindent = true - } + { format = \large \bfseries \CJKsffamily } \ctex_set:nn { subsection } - { - beforeskip = 12 bp , - afterskip = 6 bp , - format = \zihao { -4 } \bfseries \CJKsffamily , - afterindent = true - } + { format = \normalsize \bfseries \CJKsffamily } \ctex_set:nn { subsubsection } + { format = \normalsize \normalfont } +\ctex_set:n { secnumdepth = 3 } +\keys_define:nn { sjtu / style } { - beforeskip = 6 bp , - afterskip = 6 bp , - format = \zihao { -4 } \normalfont , - afterindent = true + indent-first .choice: , + indent-first .choices:nn = + { true, false } + { + \clist_map_inline:nn + { + part, + section, subsection, subsubsection, + paragraph, subparagraph + } + { \ctex_set:nn {####1} { afterindent = #1 } } + } , + indent-first .default:n = { true } , + indent-first .initial:n = { true } } -\ctex_set:nn { paragraph } - { afterindent = true } -\ctex_set:nn { subparagraph } - { afterindent = true } -\ctex_set:n { secnumdepth = 3 } \NewDocumentCommand \SJTU@head { s O{#3} m O{#2} } { \IfBooleanTF {#1} @@ -619,19 +606,45 @@ \cs_set_eq:NN \CTEX@gettitle \__sjtu_orig_ctex_gettitle:n \@mkboth { \MakeUppercase {#2} } { \MakeUppercase {#2} } } -\cs_new:Npn \__sjtu_head_aux:n #1 - { \SJTU@head {#1} } -\cs_new:Npn \__sjtu_head_aux_s:n #1 - { \SJTU@head* {#1} } -\cs_new:Npn \__sjtu_head_auxa_s:nn #1#2 - { \SJTU@head* {#1} [#2] } -\cs_new:Npn \__sjtu_head_auxb_s:nn #1#2 - { \SJTU@head* [#1] {#2} } -\cs_generate_variant:Nn \__sjtu_head_auxa_s:nn { xn, xv } -\cs_generate_variant:Nn \__sjtu_head_auxb_s:nn { nx } \cs_new_eq:NN \__sjtu_pdf_bookmark:nn \use_none:nn \cs_new_eq:NN \__sjtu_phantom_section: \prg_do_nothing: \setlist { nosep } +\keys_define:nn { sjtu / style } + { + equation-font .tl_set:N = \SJTU@style@equation@font , + equation-font .initial:V = \c_empty_tl + } +\clist_map_inline:nn + { + array, matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix, + matrix*, pmatrix*, bmatrix*, Bmatrix*, vmatrix*, Vmatrix*, + cases, cases*, dcases, dcases*, rcases, rcases*, drcases, drcases*, + aligned, alignedat, gathered, multlined, lgathered, rgathered + } + { \AtBeginEnvironment {#1} { \SJTU@style@equation@font } } +\clist_map_inline:nn + { \start@gather, \start@align, \start@multline } + { + \ctex_patch_cmd:Nnn #1 + { \collect@body } + { + \SJTU@style@equation@font + \collect@body + } + } +\ctex_patch_cmd:Nnn \gather@split + { \spread@equation } + { + \SJTU@style@equation@font + \spread@equation + } +\keys_define:nn { sjtu / style } + { + theorem-header-font .tl_set:N = \SJTU@style@thm@header@font , + theorem-header-font .initial:n = \bfseries \CJKsffamily , + theorem-body-font .tl_set:N = \SJTU@style@thm@body@font , + theorem-body-font .initial:n = \normalfont , + } \tl_set:Nn \textfraction { 0.15 } \tl_set:Nn \topfraction { 0.85 } \tl_set:Nn \bottomfraction { 0.65 } @@ -639,47 +652,51 @@ \keys_define:nn { sjtu / style } { float-font .tl_set:N = \SJTU@style@float@font , - float-font .initial:n = \zihao { 5 } \fixedlineskip { 15.6 bp } + float-font .initial:n = \zihao { 5 } } \ctex_patch_cmd:Nnn \@floatboxreset { \normalsize } { \SJTU@style@float@font } \keys_define:nn { sjtu / style } { caption-font .code:n = - { \DeclareCaptionFont { SJTU@font } {#1} } , + { \DeclareCaptionFont { normalsize } {#1} } , caption-font .initial:n = \zihao { 5 } \bfseries , subcaption-font .code:n = { \DeclareCaptionFont { SJTU@sub@font } {#1} } , subcaption-font .initial:n = \zihao { 5 } \normalfont } -\DeclareCaptionLabelSeparator { enskip } { \enskip } \captionsetup { - labelsep = enskip , - justification = centering , - font = SJTU@font + bi-slc = off , + labelsep = quad , } \captionsetup [ sub ] { - format = hang , - justification = justified , - font = SJTU@sub@font + bi-slc = on , + font = SJTU@sub@font , + format = hang } -\DeclareCaptionOption { aux-names } [ ] +\DeclareCaptionOption { bi-second-names } [ ] { - \tl_set:Nn \figurename { \SJTU@figurename@aux } - \tl_set:Nn \tablename { \SJTU@tablename@aux } + \tl_set:Nn \figurename { \SJTU@figurename@bi@second } + \tl_set:Nn \tablename { \SJTU@tablename@bi@second } } -\captionsetup [ bi-second ] { aux-names } +\captionsetup [ bi-second ] { bi-second-names } \keys_define:nn { sjtu / style } { - float-num-sep .tl_set:N = \l__sjtu_style_fl_num_sep_tl , - float-num-sep .initial:n = { -- } , - equation-num-sep .tl_set:N = \l__sjtu_style_eq_num_sep_tl , - equation-num-sep .initial:n = { -- } + num-sep .code:n = + { + \tl_set:Nn \SJTU@style@fl@num@sep {#1} + \tl_set:Nn \SJTU@style@eq@num@sep {#1} + \tl_set:Nn \@thmcountersep {#1} + } , + num-sep .initial:n = { . } , + float-num-sep .tl_set:N = \SJTU@style@fl@num@sep , + equation-num-sep .tl_set:N = \SJTU@style@eq@num@sep , + theorem-num-sep .tl_set:N = \@thmcountersep } \NewDocumentCommand \SJTU@counterwithin - { s O{ \l__sjtu_style_fl_num_sep_tl } O{ \arabic } m m } + { s O{ \SJTU@style@fl@num@sep } O{ \arabic } m m } { \@ifbothcounters {#4} {#5} { @@ -806,55 +823,73 @@ } } \tl_set:NV \today \@date +\keys_define:nn { sjtu / style } + { + keywords-format .choice: , + keywords-format / plain .code:n = + { \cs_set:Nn \__sjtu_keywords_format:n { \noindent { \bfseries ##1 } } } , + keywords-format / hang .code:n = + { \cs_set:Nn \__sjtu_keywords_format:n { \@hangfrom { \bfseries ##1 } } } , + keywords-format .initial:n = { plain } + } \bool_if:NT \g__sjtu_titlepage_bool { \__sjtu_appto_cmd:Nn \abstract { \par } } \__sjtu_preto_cmd:Nn \endabstract { \clist_if_empty:NF \l__sjtu_info_keywords_clist { - \par \mode_leave_vertical: \par \noindent - { - \bfseries - \c__sjtu_name_keywords_tl - \c__sjtu_name_info_sep_tl - } + \par \mode_leave_vertical: \par + \__sjtu_keywords_format:n + { + \c__sjtu_name_keywords_tl + \c__sjtu_name_info_sep_tl + } \clist_use:NV \l__sjtu_info_keywords_clist \c__sjtu_name_item_sep_tl + \par } } -\DeclareDocumentCommand \tableofcontents { } +\DeclareDocumentCommand \tableofcontents { s } { - \__sjtu_head_aux_s:n { \contentsname } + \IfBooleanTF {#1} + { \SJTU@head* { \contentsname } } + { \SJTU@head { \contentsname } } \@starttoc { toc } } +\tl_set:Nn \SJTU@leaders { \titlerule* [ 4bp ] { . } } +\contentsmargin [ 2.55 em ] { 0 pt } +\titlecontents { section } + [ 0 pt ] { \addvspace { 6 bp } \bfseries } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } +\titlecontents { subsection } + [ 2 em ] { } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } +\titlecontents { subsubsection } + [ 4 em ] { } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } \NewDocumentCommand \SJTU@listof { m m s } { \IfBooleanTF {#3} - { \__sjtu_head_aux_s:n {#1} } - { \__sjtu_head_aux:n {#1} } + { \SJTU@head* {#1} } + { \SJTU@head {#1} } \exp_args:Nv \@starttoc { ext@ #2 } } -\DeclareDocumentCommand \listoffigures { } - { \SJTU@listof { \listfigurename } { figure } } -\DeclareDocumentCommand \listoftables { } - { \SJTU@listof { \listtablename } { table } } -\tl_set:Nn \cftdotsep { 1 } -\clist_set:Nn \l__sjtu_cft_presnum_clist +\cs_new_protected:Npn \__sjtu_new_list_of:Nnnn #1#2#3#4 { - { fig } { \figurename } , - { tab } { \tablename } - } -\cs_new:Npn \__sjtu_update_cft_presnum:nn #1#2 - { - \tl_set:cn { cft #1 presnum } { #2 \c_space_tl } - \skip_zero:c { cft #1 indent } - \skip_set:cn { cft #1 numwidth } { 1.8 em } - \__sjtu_skip_add_to_wd:cv { cft #1 numwidth } { cft #1 presnum } - } -\ctex_at_end_preamble:n - { - \clist_map_inline:Nn \l__sjtu_cft_presnum_clist - { \__sjtu_update_cft_presnum:nn #1 } + \DeclareDocumentCommand #1 { } + { \SJTU@listof {#4} {#2} } + \titlecontents {#2} + [ 0 pt ] { } + { \contentspush { #3 \space \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } + \exp_args:Nnv \contentsuse {#2} { ext@ #2 } } +\__sjtu_new_list_of:Nnnn \listoffigures { figure } + { \figurename } { \listfigurename } +\__sjtu_new_list_of:Nnnn \listoftables { table } + { \tablename } { \listtablename } \NewDocumentCommand \sjtusetup { } { \keys_set:nn { sjtu } } \keys_define:nn { sjtu } { @@ -918,10 +953,16 @@ assumption, axiom, conjecture, corollary, definition, example, exercise, lemma, problem, proposition, theorem } - { \exp_args:Nnv \newtheorem {##1} { c__sjtu_name_ ##1 _tl } } + { + \cs_if_exist:cF {##1} + { \exp_args:Nnv \newtheorem {##1} { c__sjtu_name_ ##1 _tl } } + } \clist_map_inline:nn { remark, solution } - { \exp_args:NNnv \newtheorem* {##1} { c__sjtu_name_ ##1 _tl } } + { + \cs_if_exist:cF {##1} + { \exp_args:NNnv \newtheorem* {##1} { c__sjtu_name_ ##1 _tl } } + } } \ctex_at_begin_package:nn { amsthm } { @@ -940,48 +981,89 @@ \RenewDocumentEnvironment { proof } { O{ \proofname } } { \par \pushQED { \qed } - \normalfont \dim_zero:N \topsep + \SJTU@style@thm@body@font \dim_zero:N \topsep \trivlist \item [ \skip_horizontal:N \labelsep - \bfseries \CJKsffamily #1 \@addpunct { \enskip } + \SJTU@style@thm@header@font #1 \@addpunct { \enskip } ] \ignorespaces } - { \popQED \endtrivlist \legacy_if_set_false:n { @endpe } } + { \popQED \endtrivlist \@endpefalse } \newtheoremstyle { sjtu } - { } { } { \normalfont } { } { \bfseries \CJKsffamily } { } { \ccwd } { } - \theoremstyle { sjtu } - \__sjtu_new_theorems: - } -\ctex_at_end_package:nn { ntheorem } - { - \__sjtu_cs_provide_eq:NN \QED \c_empty_tl - \theoremheaderfont { \bfseries \CJKsffamily } - \theorembodyfont { \normalfont } - \theoremseparator { \enskip } - \theoremsymbol { \ensuremath { \QED } } - \qedsymbol { \ensuremath { \QED } } - \newtheorem* { proof } { \proofname } - \theoremsymbol { } - \__sjtu_new_theorems: - } -\cs_new_protected:Npn \__sjtu_newlistof:nnnnn #1#2#3#4#5 - { - \exp_args:Nnv \newlistentry {#2} { ext@ #3 } { 0 } - \exp_args:Ne \newcounter { \tl_use:c { ext@ #3 } depth } - \exp_args:Ne \setcounter { \tl_use:c { ext@ #3 } depth } { 1 } - \clist_put_right:Nn \l__sjtu_cft_presnum_clist { {#2} {#4} } - \cs_set_eq:cc { l@ #3 } { l@ #2 } - \exp_args:Nc \DeclareDocumentCommand { listof #1 s } { } - { \SJTU@listof {#5} {#3} } + { } { } { \SJTU@style@thm@body@font } { } + { \SJTU@style@thm@header@font } { } { \ccwd } { } + } +\ctex_at_end_preamble:n + { + \@ifpackageloaded { amsthm } + { + \theoremstyle { sjtu } + \__sjtu_new_theorems: + } + { + \@ifpackageloaded { ntheorem } + { + \__sjtu_cs_provide_eq:NN \QED \c_empty_tl + \theoremheaderfont { \SJTU@style@thm@header@font } + \theorembodyfont { \SJTU@style@thm@body@font } + \theoremseparator { \enskip } + \theoremsymbol { \ensuremath { \QED } } + \qedsymbol { \ensuremath { \QED } } + \cs_if_exist:NF \proof + { \newtheorem* { proof } { \proofname } } + \theoremsymbol { } + \__sjtu_new_theorems: + } { } + } + } +\ctex_at_end_package:nn { thmtools } + { + \cs_set:Npn \thmtlo@newentry + { + \exp_args:NV \titlecontents \thmt@envname + [ \thmt@listnumwidth ] { } + { \contentslabel { \thmt@listnumwidth } } + { \hspace* { - \thmt@listnumwidth } } + { \SJTU@leaders \thecontentspage } + \exp_args:NV \contentsuse \thmt@envname { loe } + } + \cs_set:Npn \thmtlo@chaptervspacehack { } + \RenewDocumentCommand \listoftheorems { s O{ } } + { + \group_begin: + \setlisttheoremstyle {#2} + \IfBooleanTF {#1} + { \SJTU@head* { \listtheoremname } } + { \SJTU@head { \listtheoremname } } + \cs_set:Npn \contentsline ##1 + { \use:c { thmt@contentsline@ ##1 } {##1} } + \clist_map_inline:Nn \thmt@allenvs + { + \tl_set:Nn \thmt@envname {##1} + \thmtlo@newentry + } + \@fileswfalse + \AddToHook { enddocument / afterlastpage } + { + \if@filesw + \@ifundefined { tf@loe } + { + \expandafter\newwrite\csname tf@loe\endcsname + \immediate\openout \csname tf@loe\endcsname \jobname.loe\relax + } { } + \fi + } + \@starttoc { loe } + \group_end: + } } \ctex_at_end_package:nn { algorithm } { \tl_set:Nn \fname@algorithm { \SJTU@algorithmname } \tl_set:Nn \listalgorithmname { \SJTU@listalgorithmname } - \__sjtu_newlistof:nnnnn { algorithm } { alg } { algorithm } + \__sjtu_new_list_of:Nnnn \listofalgorithms { algorithm } { \fname@algorithm } { \listalgorithmname } } \ctex_at_end_package:nn { algorithm2e } @@ -990,7 +1072,7 @@ { \SJTU@algorithmname } { \SJTU@listalgorithmname } \SetAlgoCaptionSeparator { \enskip } - \__sjtu_newlistof:nnnnn { algorithm } { alg } { algocf } + \__sjtu_new_list_of:Nnnn \listofalgorithms { algocf } { \algorithmcfname } { \listalgorithmcfname } \ctex_patch_cmd:Nnn \algocf@latexcaption { \addcontentsline } @@ -1005,13 +1087,39 @@ } \ctex_at_end_package:nn { siunitx } { - \@ifpackageloaded { translations } + \RequirePackage { translations } + \DeclareTranslation { Chinese } { and } { 和 } + \DeclareTranslation { Japanese } { and } { と } + \DeclareTranslation { Chinese } + { to~(numerical~range) } { \textasciitilde } + \DeclareTranslation { Japanese } + { to~(numerical~range) } { \textasciitilde } + \IfPackageAtLeastTF { siunitx } { 2021/05/17 } { } { - \DeclareTranslation { Chinese } { and } { 和 } - \DeclareTranslation { Japanese } { and } { と } - \DeclareTranslation { Chinese } { to~(numerical~range) } { \textasciitilde } - \DeclareTranslation { Japanese } { to~(numerical~range) } { \textasciitilde } - } { } + \DeclareTranslation { English } { to~(numerical~range) } { to } + \DeclareTranslation { German } { to~(numerical~range) } { bis } + \keys_set:nn { siunitx } + { + list-final-separator = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { and } } + \ifmmode \ \else \space \fi + } , + list-pair-separator = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { and } } + \ifmmode \ \else \space \fi + } , + range-phrase = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { to~(numerical~range) } } + \ifmmode \ \else \space \fi + } + } + } } \endinput %% diff --git a/texmf/tex/latex/sjtutex/sjtureport.cls b/texmf/tex/latex/sjtutex/sjtureport.cls index 213dcc53..a407f871 100644 --- a/texmf/tex/latex/sjtutex/sjtureport.cls +++ b/texmf/tex/latex/sjtutex/sjtureport.cls @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `class,report') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,51 +20,33 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\NeedsTeXFormat{LaTeX2e} -\RequirePackage{expl3} -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ - {Report template for Shanghai Jiao Tong University} +\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01}{} + {\PackageError{sjtutex} + {Your LaTeX format is outdated!\MessageBreak\MessageBreak + Release `2020/10/01' or newer is required to\MessageBreak + compile this document.\MessageBreak\MessageBreak + Please update your TeX distribution}{}} +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ + {Report document class for Shanghai Jiao Tong University (SJTUTeX)} \ProvidesExplClass{sjtureport} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\RequirePackage { xparse, xtemplate } -\msg_new:nnn { sjtutex } { l3-too-old } - { - Package~ "#1"~ is~ too~ old. \\\\ - Please~ update~ an~ up-to-date~ version~ of~ the~ bundles \\ - "l3kernel"~ and~ "l3packages"~ using~ your~ TeX~ package \\ - manager~ or~ from~ CTAN. - } -\@ifpackagelater { expl3 } { 2020/04/06 } { } - { \msg_error:nnn { sjtutex } { l3-too-old } { expl3 } } -\bool_new:N \l__sjtu_tmpa_bool -\int_new:N \l__sjtu_tmpa_int -\tl_new:N \l__sjtu_tmpa_tl -\tl_new:N \l__sjtu_tmpb_tl -\clist_new:N \l__sjtu_tmpa_clist -\clist_new:N \l__sjtu_tmpb_clist -\dim_new:N \l__sjtu_tmpa_dim -\dim_new:N \l__sjtu_tmpb_dim -\skip_new:N \l__sjtu_tmpa_skip -\box_new:N \l__sjtu_tmpa_box + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\dim_new:N \l__sjtu_tmp_dim +\skip_new:N \l__sjtu_tmp_skip +\box_new:N \l__sjtu_tmp_box \tl_new:N \g__sjtu_lang_tl \tl_const:Nn \c__sjtu_lang_de_tl { de } \tl_const:Nn \c__sjtu_lang_ja_tl { ja } \tl_new:N \g__sjtu_zihao_tl +\int_new:N \g__sjtu_font_size_int \dim_new:N \g__sjtu_font_size_dim -\dim_new:N \g__sjtu_line_skip_dim -\dim_new:N \g__sjtu_default_line_skip_dim +\dim_new:N \g__sjtu_baseline_skip_dim +\bool_new:N \g__sjtu_fixed_baselineskip_bool \fp_new:N \g__sjtu_line_spread_fp \tl_new:N \g__sjtu_text_font_tl \tl_new:N \g__sjtu_math_font_tl \tl_new:N \g__sjtu_cjk_font_tl -\tl_new:N \g__sjtu_save_encodingdefault_tl -\tl_new:N \g__sjtu_save_rmdefault_tl -\tl_new:N \g__sjtu_save_sfdefault_tl -\tl_new:N \g__sjtu_save_ttdefault_tl \bool_new:N \g__sjtu_slanted_uppercase_greek_bool \bool_new:N \g__sjtu_upright_integral_bool \bool_new:N \g__sjtu_integral_limits_bool @@ -100,20 +82,32 @@ lang .initial:n = { zh } , zihao .choice: , zihao .value_required:n = true , - zihao / -4 .code:n = + zihao / 5 .code:n = { \tl_gset:Nn \g__sjtu_zihao_tl {#1} - \dim_gset:Nn \g__sjtu_font_size_dim { 12 bp } - \dim_gset:Nn \g__sjtu_default_line_skip_dim { 20 bp } + \int_gset:Nn \g__sjtu_font_size_int { 1 } + \dim_gset:Nn \g__sjtu_font_size_dim { 10.5 bp } } , - zihao / 5 .code:n = + zihao / -4 .code:n = { \tl_gset:Nn \g__sjtu_zihao_tl {#1} - \dim_gset:Nn \g__sjtu_font_size_dim { 10.5 bp } - \dim_gset:Nn \g__sjtu_default_line_skip_dim { 15.6 bp } + \int_gset:Nn \g__sjtu_font_size_int { 2 } + \dim_gset:Nn \g__sjtu_font_size_dim { 12 bp } } , zihao .initial:n = { -4 } , - lineskip .dim_gset:N = \g__sjtu_line_skip_dim , + linespread .fp_gset:N = \g__sjtu_line_spread_fp , + linespread .initial:n = { \c_nan_fp } , + linespread .value_required:n = true , + baselineskip .choice: , + baselineskip .value_required:n = true , + baselineskip / false .code:n = + { \bool_gset_false:N \g__sjtu_fixed_baselineskip_bool } , + baselineskip / unknown .code:n = + { + \bool_gset_true:N \g__sjtu_fixed_baselineskip_bool + \dim_gset:Nn \g__sjtu_baseline_skip_dim {#1} + } , + baselineskip .initial:n = { false } , text-font .tl_gset:N = \g__sjtu_text_font_tl , text-font .initial:n = { newtx } , math-font .tl_gset:N = \g__sjtu_math_font_tl , @@ -186,10 +180,11 @@ \RequirePackage { l3keys2e } \ProcessKeysOptions { sjtu / option } } -\dim_compare:nNnT \g__sjtu_line_skip_dim < \g__sjtu_font_size_dim - { \dim_set_eq:NN \g__sjtu_line_skip_dim \g__sjtu_default_line_skip_dim } -\fp_set:Nn \g__sjtu_line_spread_fp - { \dim_ratio:nn { \g__sjtu_line_skip_dim } { \g__sjtu_font_size_dim } / 1.2 } +\bool_if:NF \g__sjtu_fixed_baselineskip_bool + { + \fp_if_nan:nT { \g__sjtu_line_spread_fp } + { \fp_set:Nn \g__sjtu_line_spread_fp { 1.3 } } + } \clist_set:Nx \g__sjtu_math_font_options_clist { \bool_if:NT \g__sjtu_slanted_uppercase_greek_bool @@ -209,7 +204,8 @@ \clist_put_right:Nx \g__sjtu_options_to_ctex_class_clist { zihao = \g__sjtu_zihao_tl , - linespread = \fp_use:N \g__sjtu_line_spread_fp , + \fp_if_nan:nF { \g__sjtu_line_spread_fp } + { linespread = \fp_use:N \g__sjtu_line_spread_fp } , \bool_if:NTF \g__sjtu_twoside_bool { twoside } { oneside } , \bool_if:NTF \g__sjtu_openright_bool @@ -225,7 +221,6 @@ \clist_set:Nx \g__sjtu_options_to_packages_clist { { no-math } { fontspec } , - { titles } { tocloft } , { list = off } { bicaption } , { warnings-off = { @@ -249,7 +244,7 @@ mathtools, geometry, fancyhdr, - tocloft, + titletoc, caption, bicaption, subcaption, @@ -307,62 +302,59 @@ \ctex_appto_cmd:NnnTF #1 { } {#2} { } { \ctex_patch_failure:N #1 } } -\cs_new:Npn \__sjtu_fixed_line_skip:n #1 - { - \exp_args:Nx \linespread - { \fp_to_decimal:n { \dim_ratio:nn { #1 } { \f@size pt } / 1.2 } } - \selectfont - } -\NewDocumentCommand \fixedlineskip { m } - { \exp_args:Nx \__sjtu_fixed_line_skip:n {#1} \tex_ignorespaces:D } -\cs_new:Npn \__sjtu_dim_set_to_wd:Nn #1#2 - { - \hbox_set:Nn \l__sjtu_tmpa_box {#2} - \dim_set:Nn #1 { \box_wd:N \l__sjtu_tmpa_box } - } \cs_new:Npn \__sjtu_skip_add_to_wd:Nn #1#2 { - \hbox_set:Nn \l__sjtu_tmpa_box {#2} - \skip_add:Nn #1 { \box_wd:N \l__sjtu_tmpa_box } + \hbox_set:Nn \l__sjtu_tmp_box {#2} + \skip_add:Nn #1 { \box_wd:N \l__sjtu_tmp_box } } -\cs_generate_variant:Nn \__sjtu_dim_set_to_wd:Nn { Nv } \cs_generate_variant:Nn \__sjtu_skip_add_to_wd:Nn { cv } \cs_new:Npn \__sjtu_cs_provide_eq:NN #1#2 { \cs_if_exist:NF #1 { \cs_set_eq:NN #1 #2 } } \cs_generate_variant:Nn \__sjtu_cs_provide_eq:NN { cc } -\cs_new_protected:Npn \__sjtu_vspace:N #1 - { - \skip_vertical:N #1 - \skip_vertical:N \c_zero_skip - } -\cs_new_protected:Npn \__sjtu_vspace:n #1 - { - \skip_set:Nn \l__sjtu_tmpa_skip {#1} - \__sjtu_vspace:N \l__sjtu_tmpa_skip - } -\cs_new_protected:Npn \__sjtu_vspace_r:N #1 - { - \dim_set_eq:NN \l__sjtu_tmpa_dim \prevdepth - \hrule height \c_zero_dim - \nobreak - \skip_vertical:N #1 - \skip_vertical:N \c_zero_skip - \dim_set_eq:NN \prevdepth \l__sjtu_tmpa_dim - } -\cs_new_protected:Npn \__sjtu_vspace_r:n #1 - { - \skip_set:Nn \l__sjtu_tmpa_skip {#1} - \__sjtu_vspace_r:N \l__sjtu_tmpa_skip - } \cs_new_protected:Npn \__sjtu_define_name:nn #1#2 { \tl_const:cn { c__sjtu_name_ #1 _tl } {#2} } \cs_new_protected:Npn \__sjtu_define_name:nnn #1#2#3 { \tl_const:cn { c__sjtu_name_ #2 _ #1 _tl } {#3} } -\cs_new_protected:Npn \__sjtu_define_name_from_clist:nnnn #1#2#3#4 - { \tl_const:cx { c__sjtu_name_ #2 _ #1 _tl } { \clist_item:nn {#4} {#3} } } -\cs_generate_variant:Nn \__sjtu_define_name:nn { nv } \cs_new_protected:Npn \__sjtu_define_symbol:nn #1#2 { \tl_const:cx { c__sjtu_symbol_ #1 _tl } { \__sjtu_unicode_char:n {#2} } } +\cs_new_protected:Npn \__sjtu_set_font_size:nnNn #1#2#3#4 + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\tl_set:Nx \l__sjtu_font_size_tl + { + { \dim_to_decimal:n { \g__sjtu_font_size_dim } } + { \dim_to_decimal:n { \g__sjtu_baseline_skip_dim } } + } +\bool_if:NT \g__sjtu_fixed_baselineskip_bool + { + \int_case:nn { \g__sjtu_font_size_int } + { + { 1 } { + \exp_after:wN \__sjtu_set_font_size:nnNn \l__sjtu_font_size_tl + \normalsize + { + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI + } + } + { 2 } { + \exp_after:wN \__sjtu_set_font_size:nnNn \l__sjtu_font_size_tl + \normalsize + { + \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI + } + } + } + \normalsize + } +\NewDocumentCommand \setbaselineskip { m } + { \fontsize { \f@size } {#1} \selectfont } \cs_new_protected:Npn \__sjtu_fontset_error:nn #1#2 { \msg_error:nnnn { sjtutex } { font-unavailable } {#1} {#2} } \msg_new:nnn { sjtutex } { font-unavailable } @@ -374,6 +366,11 @@ { \sys_if_output_pdf:TF {#1} {#2} } {#3} } +\cs_new_protected:Nn \__sjtu_declare_math_symbol:nnNn + { + \cs_undefine:N #3 + \DeclareMathSymbol {#3} {#1} {#2} {#4} + } \cs_new_protected:Nn \__sjtu_set_slanted_greek: { \clist_const:Nn \c__sjtu_uppercase_greek_clist @@ -493,9 +490,9 @@ bib .meta:nn = { ctex } { bibname = {#1} } , part .tl_set:N = \partname , chapter .tl_set:N = \chaptername , - figure* .tl_set:N = \SJTU@figurename@aux , + figure* .tl_set:N = \SJTU@figurename@bi@second , figure* .initial:n = { 图 } , - table* .tl_set:N = \SJTU@tablename@aux , + table* .tl_set:N = \SJTU@tablename@bi@second , table* .initial:n = { 表 } , algorithm .tl_set:N = \SJTU@algorithmname , algorithm .initial:n = { Algorithm } , @@ -535,14 +532,6 @@ header-uppercase .initial:n = { false } } \cs_generate_variant:Nn \__sjtu_nouppercase:n { V } -\keys_define:nn { sjtu / style } - { - header-logo-color .choice: , - header-logo-color .choices:nn = - { red, blue, black } - { \tl_set_eq:NN \l__sjtu_style_header_logo_color_tl \l_keys_choice_tl } , - header-logo-color .initial:n = { red } , - } \cs_new:Nn \__sjtu_thepage: { \thepage } \keys_define:nn { sjtu / style } { @@ -552,7 +541,7 @@ \tl_set:Nn \l__sjtu_header_tl { \includegraphics [ height = 1.2 cm ] - { sjtu-vi-logo- \l__sjtu_style_header_logo_color_tl .pdf } + { sjtu-vi-logo-small-red.pdf } } \tl_set:Nn \l__sjtu_leftmark_tl { \l__sjtu_info_subject_tl } \tl_set:Nn \l__sjtu_rightmark_tl { \leftmark } @@ -596,42 +585,39 @@ { pagestyle = SJTU@null , fixskip = true , - beforeskip = 24 bp , - afterskip = 18 bp , - lofskip = \c_zero_skip , - lotskip = \c_zero_skip , - format = \zihao { 3 } \bfseries \CJKsffamily \centering , + beforeskip = 30 pt , + afterskip = 24 pt , + format = \Large \bfseries \CJKsffamily \centering , nameformat = , titleformat = , - aftername = \quad , - afterindent = true + lofskip = \c_zero_skip , + lotskip = \c_zero_skip , + aftername = \quad } \ctex_set:nn { section } - { - beforeskip = 24 bp , - afterskip = 6 bp , - format = \zihao { 4 } \bfseries \CJKsffamily , - afterindent = true - } + { format = \large \bfseries \CJKsffamily } \ctex_set:nn { subsection } - { - beforeskip = 12 bp , - afterskip = 6 bp , - format = \zihao { -4 } \bfseries \CJKsffamily , - afterindent = true - } + { format = \normalsize \bfseries \CJKsffamily } \ctex_set:nn { subsubsection } + { format = \normalsize \normalfont } +\ctex_set:n { secnumdepth = 3 } +\keys_define:nn { sjtu / style } { - beforeskip = 6 bp , - afterskip = 6 bp , - format = \zihao { -4 } \normalfont , - afterindent = true + indent-first .choice: , + indent-first .choices:nn = + { true, false } + { + \clist_map_inline:nn + { + chapter, + section, subsection, subsubsection, + paragraph, subparagraph + } + { \ctex_set:nn {####1} { afterindent = #1 } } + } , + indent-first .default:n = { true } , + indent-first .initial:n = { true } } -\ctex_set:nn { paragraph } - { afterindent = true } -\ctex_set:nn { subparagraph } - { afterindent = true } -\ctex_set:n { secnumdepth = 3 } \NewDocumentCommand \SJTU@head { s O{#3} m O{#2} } { \CTEX@chapter@break @@ -647,19 +633,45 @@ \cs_set_eq:NN \CTEX@gettitle \__sjtu_orig_ctex_gettitle:n \@mkboth { \MakeUppercase {#2} } { \MakeUppercase {#2} } } -\cs_new:Npn \__sjtu_head_aux:n #1 - { \SJTU@head {#1} } -\cs_new:Npn \__sjtu_head_aux_s:n #1 - { \SJTU@head* {#1} } -\cs_new:Npn \__sjtu_head_auxa_s:nn #1#2 - { \SJTU@head* {#1} [#2] } -\cs_new:Npn \__sjtu_head_auxb_s:nn #1#2 - { \SJTU@head* [#1] {#2} } -\cs_generate_variant:Nn \__sjtu_head_auxa_s:nn { xn, xv } -\cs_generate_variant:Nn \__sjtu_head_auxb_s:nn { nx } \cs_new_eq:NN \__sjtu_pdf_bookmark:nn \use_none:nn \cs_new_eq:NN \__sjtu_phantom_section: \prg_do_nothing: \setlist { nosep } +\keys_define:nn { sjtu / style } + { + equation-font .tl_set:N = \SJTU@style@equation@font , + equation-font .initial:V = \c_empty_tl + } +\clist_map_inline:nn + { + array, matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix, + matrix*, pmatrix*, bmatrix*, Bmatrix*, vmatrix*, Vmatrix*, + cases, cases*, dcases, dcases*, rcases, rcases*, drcases, drcases*, + aligned, alignedat, gathered, multlined, lgathered, rgathered + } + { \AtBeginEnvironment {#1} { \SJTU@style@equation@font } } +\clist_map_inline:nn + { \start@gather, \start@align, \start@multline } + { + \ctex_patch_cmd:Nnn #1 + { \collect@body } + { + \SJTU@style@equation@font + \collect@body + } + } +\ctex_patch_cmd:Nnn \gather@split + { \spread@equation } + { + \SJTU@style@equation@font + \spread@equation + } +\keys_define:nn { sjtu / style } + { + theorem-header-font .tl_set:N = \SJTU@style@thm@header@font , + theorem-header-font .initial:n = \bfseries \CJKsffamily , + theorem-body-font .tl_set:N = \SJTU@style@thm@body@font , + theorem-body-font .initial:n = \normalfont , + } \tl_set:Nn \textfraction { 0.15 } \tl_set:Nn \topfraction { 0.85 } \tl_set:Nn \bottomfraction { 0.65 } @@ -667,47 +679,51 @@ \keys_define:nn { sjtu / style } { float-font .tl_set:N = \SJTU@style@float@font , - float-font .initial:n = \zihao { 5 } \fixedlineskip { 15.6 bp } + float-font .initial:n = \zihao { 5 } } \ctex_patch_cmd:Nnn \@floatboxreset { \normalsize } { \SJTU@style@float@font } \keys_define:nn { sjtu / style } { caption-font .code:n = - { \DeclareCaptionFont { SJTU@font } {#1} } , + { \DeclareCaptionFont { normalsize } {#1} } , caption-font .initial:n = \zihao { 5 } \bfseries , subcaption-font .code:n = { \DeclareCaptionFont { SJTU@sub@font } {#1} } , subcaption-font .initial:n = \zihao { 5 } \normalfont } -\DeclareCaptionLabelSeparator { enskip } { \enskip } \captionsetup { - labelsep = enskip , - justification = centering , - font = SJTU@font + bi-slc = off , + labelsep = quad , } \captionsetup [ sub ] { - format = hang , - justification = justified , - font = SJTU@sub@font + bi-slc = on , + font = SJTU@sub@font , + format = hang } -\DeclareCaptionOption { aux-names } [ ] +\DeclareCaptionOption { bi-second-names } [ ] { - \tl_set:Nn \figurename { \SJTU@figurename@aux } - \tl_set:Nn \tablename { \SJTU@tablename@aux } + \tl_set:Nn \figurename { \SJTU@figurename@bi@second } + \tl_set:Nn \tablename { \SJTU@tablename@bi@second } } -\captionsetup [ bi-second ] { aux-names } +\captionsetup [ bi-second ] { bi-second-names } \keys_define:nn { sjtu / style } { - float-num-sep .tl_set:N = \l__sjtu_style_fl_num_sep_tl , - float-num-sep .initial:n = { -- } , - equation-num-sep .tl_set:N = \l__sjtu_style_eq_num_sep_tl , - equation-num-sep .initial:n = { -- } + num-sep .code:n = + { + \tl_set:Nn \SJTU@style@fl@num@sep {#1} + \tl_set:Nn \SJTU@style@eq@num@sep {#1} + \tl_set:Nn \@thmcountersep {#1} + } , + num-sep .initial:n = { . } , + float-num-sep .tl_set:N = \SJTU@style@fl@num@sep , + equation-num-sep .tl_set:N = \SJTU@style@eq@num@sep , + theorem-num-sep .tl_set:N = \@thmcountersep } \NewDocumentCommand \SJTU@counterwithin - { s O{ \l__sjtu_style_fl_num_sep_tl } O{ \arabic } m m } + { s O{ \SJTU@style@fl@num@sep } O{ \arabic } m m } { \@ifbothcounters {#4} {#5} { @@ -721,7 +737,7 @@ } \SJTU@counterwithin { figure } { chapter } \SJTU@counterwithin { table } { chapter } -\SJTU@counterwithin [ \l__sjtu_style_eq_num_sep_tl ] { equation } { chapter } +\SJTU@counterwithin [ \SJTU@style@eq@num@sep ] { equation } { chapter } \cs_set_eq:NN \__sjtu_makefnmark_plain: \@makefnmark \cs_set_eq:NN \__sjtu_thefootnote_plain: \thefootnote \cs_set_eq:NN \__sjtu_thempfootnote_plain: \thempfootnote @@ -837,56 +853,73 @@ } } \tl_set:NV \today \@date +\keys_define:nn { sjtu / style } + { + keywords-format .choice: , + keywords-format / plain .code:n = + { \cs_set:Nn \__sjtu_keywords_format:n { \noindent { \bfseries ##1 } } } , + keywords-format / hang .code:n = + { \cs_set:Nn \__sjtu_keywords_format:n { \@hangfrom { \bfseries ##1 } } } , + keywords-format .initial:n = { plain } + } \bool_if:NT \g__sjtu_titlepage_bool { \__sjtu_appto_cmd:Nn \abstract { \par } } \__sjtu_preto_cmd:Nn \endabstract { \clist_if_empty:NF \l__sjtu_info_keywords_clist { - \par \mode_leave_vertical: \par \noindent - { - \bfseries - \c__sjtu_name_keywords_tl - \c__sjtu_name_info_sep_tl - } + \par \mode_leave_vertical: \par + \__sjtu_keywords_format:n + { + \c__sjtu_name_keywords_tl + \c__sjtu_name_info_sep_tl + } \clist_use:NV \l__sjtu_info_keywords_clist \c__sjtu_name_item_sep_tl + \par } } -\DeclareDocumentCommand \tableofcontents { } +\DeclareDocumentCommand \tableofcontents { s } { - \__sjtu_head_aux_s:n { \contentsname } + \IfBooleanTF {#1} + { \SJTU@head* { \contentsname } } + { \SJTU@head { \contentsname } } \@starttoc { toc } } +\tl_set:Nn \SJTU@leaders { \titlerule* [ 4bp ] { . } } +\contentsmargin [ 2.55 em ] { 0 pt } +\titlecontents { chapter } + [ 0 pt ] { \addvspace { 6 bp } \bfseries } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } +\titlecontents { section } + [ 2 em ] { } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } +\titlecontents { subsection } + [ 4 em ] { } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } \NewDocumentCommand \SJTU@listof { m m s } { \IfBooleanTF {#3} - { \__sjtu_head_aux_s:n {#1} } - { \__sjtu_head_aux:n {#1} } + { \SJTU@head* {#1} } + { \SJTU@head {#1} } \exp_args:Nv \@starttoc { ext@ #2 } } -\DeclareDocumentCommand \listoffigures { } - { \SJTU@listof { \listfigurename } { figure } } -\DeclareDocumentCommand \listoftables { } - { \SJTU@listof { \listtablename } { table } } -\tl_set:Nn \cftdotsep { 1 } -\tl_set:Nn \cftchapleader { \normalfont \cftdotfill { \cftdotsep } } -\clist_set:Nn \l__sjtu_cft_presnum_clist +\cs_new_protected:Npn \__sjtu_new_list_of:Nnnn #1#2#3#4 { - { fig } { \figurename } , - { tab } { \tablename } - } -\cs_new:Npn \__sjtu_update_cft_presnum:nn #1#2 - { - \tl_set:cn { cft #1 presnum } { #2 \c_space_tl } - \skip_zero:c { cft #1 indent } - \skip_set:cn { cft #1 numwidth } { 2.8 em } - \__sjtu_skip_add_to_wd:cv { cft #1 numwidth } { cft #1 presnum } - } -\ctex_at_end_preamble:n - { - \clist_map_inline:Nn \l__sjtu_cft_presnum_clist - { \__sjtu_update_cft_presnum:nn #1 } + \DeclareDocumentCommand #1 { } + { \SJTU@listof {#4} {#2} } + \titlecontents {#2} + [ 0 pt ] { } + { \contentspush { #3 \space \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } + \exp_args:Nnv \contentsuse {#2} { ext@ #2 } } +\__sjtu_new_list_of:Nnnn \listoffigures { figure } + { \figurename } { \listfigurename } +\__sjtu_new_list_of:Nnnn \listoftables { table } + { \tablename } { \listtablename } \NewDocumentCommand \sjtusetup { } { \keys_set:nn { sjtu } } \keys_define:nn { sjtu } { @@ -950,10 +983,19 @@ assumption, axiom, conjecture, corollary, definition, example, exercise, lemma, problem, proposition, theorem } - { \exp_args:Nnv \newtheorem {##1} { c__sjtu_name_ ##1 _tl } [ chapter ] } + { + \cs_if_exist:cF {##1} + { + \exp_args:Nnv \newtheorem {##1} { c__sjtu_name_ ##1 _tl } + [ chapter ] + } + } \clist_map_inline:nn { remark, solution } - { \exp_args:NNnv \newtheorem* {##1} { c__sjtu_name_ ##1 _tl } } + { + \cs_if_exist:cF {##1} + { \exp_args:NNnv \newtheorem* {##1} { c__sjtu_name_ ##1 _tl } } + } } \ctex_at_begin_package:nn { amsthm } { @@ -972,49 +1014,90 @@ \RenewDocumentEnvironment { proof } { O{ \proofname } } { \par \pushQED { \qed } - \normalfont \dim_zero:N \topsep + \SJTU@style@thm@body@font \dim_zero:N \topsep \trivlist \item [ \skip_horizontal:N \labelsep - \bfseries \CJKsffamily #1 \@addpunct { \enskip } + \SJTU@style@thm@header@font #1 \@addpunct { \enskip } ] \ignorespaces } - { \popQED \endtrivlist \legacy_if_set_false:n { @endpe } } + { \popQED \endtrivlist \@endpefalse } \newtheoremstyle { sjtu } - { } { } { \normalfont } { } { \bfseries \CJKsffamily } { } { \ccwd } { } - \theoremstyle { sjtu } - \__sjtu_new_theorems: - } -\ctex_at_end_package:nn { ntheorem } - { - \__sjtu_cs_provide_eq:NN \QED \c_empty_tl - \theoremheaderfont { \bfseries \CJKsffamily } - \theorembodyfont { \normalfont } - \theoremseparator { \enskip } - \theoremsymbol { \ensuremath { \QED } } - \qedsymbol { \ensuremath { \QED } } - \newtheorem* { proof } { \proofname } - \theoremsymbol { } - \__sjtu_new_theorems: - } -\cs_new_protected:Npn \__sjtu_newlistof:nnnnn #1#2#3#4#5 - { - \exp_args:Nnv \newlistentry {#2} { ext@ #3 } { 0 } - \exp_args:Ne \newcounter { \tl_use:c { ext@ #3 } depth } - \exp_args:Ne \setcounter { \tl_use:c { ext@ #3 } depth } { 1 } - \clist_put_right:Nn \l__sjtu_cft_presnum_clist { {#2} {#4} } - \cs_set_eq:cc { l@ #3 } { l@ #2 } - \exp_args:Nc \DeclareDocumentCommand { listof #1 s } { } - { \SJTU@listof {#5} {#3} } - \SJTU@counterwithin { #3 } { chapter } + { } { } { \SJTU@style@thm@body@font } { } + { \SJTU@style@thm@header@font } { } { \ccwd } { } + } +\ctex_at_end_preamble:n + { + \@ifpackageloaded { amsthm } + { + \theoremstyle { sjtu } + \__sjtu_new_theorems: + } + { + \@ifpackageloaded { ntheorem } + { + \__sjtu_cs_provide_eq:NN \QED \c_empty_tl + \theoremheaderfont { \SJTU@style@thm@header@font } + \theorembodyfont { \SJTU@style@thm@body@font } + \theoremseparator { \enskip } + \theoremsymbol { \ensuremath { \QED } } + \qedsymbol { \ensuremath { \QED } } + \cs_if_exist:NF \proof + { \newtheorem* { proof } { \proofname } } + \theoremsymbol { } + \__sjtu_new_theorems: + } { } + } + } +\ctex_at_end_package:nn { thmtools } + { + \cs_set:Npn \thmtlo@newentry + { + \exp_args:NV \titlecontents \thmt@envname + [ \thmt@listnumwidth ] { } + { \contentslabel { \thmt@listnumwidth } } + { \hspace* { - \thmt@listnumwidth } } + { \SJTU@leaders \thecontentspage } + \exp_args:NV \contentsuse \thmt@envname { loe } + } + \cs_set:Npn \thmtlo@chaptervspacehack { } + \RenewDocumentCommand \listoftheorems { s O{ } } + { + \group_begin: + \setlisttheoremstyle {#2} + \IfBooleanTF {#1} + { \SJTU@head* { \listtheoremname } } + { \SJTU@head { \listtheoremname } } + \cs_set:Npn \contentsline ##1 + { \use:c { thmt@contentsline@ ##1 } {##1} } + \clist_map_inline:Nn \thmt@allenvs + { + \tl_set:Nn \thmt@envname {##1} + \thmtlo@newentry + } + \@fileswfalse + \AddToHook { enddocument / afterlastpage } + { + \if@filesw + \@ifundefined { tf@loe } + { + \expandafter\newwrite\csname tf@loe\endcsname + \immediate\openout \csname tf@loe\endcsname \jobname.loe\relax + } { } + \fi + } + \@starttoc { loe } + \group_end: + } } \ctex_at_end_package:nn { algorithm } { \tl_set:Nn \fname@algorithm { \SJTU@algorithmname } \tl_set:Nn \listalgorithmname { \SJTU@listalgorithmname } - \__sjtu_newlistof:nnnnn { algorithm } { alg } { algorithm } + \SJTU@counterwithin { algorithm } { chapter } + \__sjtu_new_list_of:Nnnn \listofalgorithms { algorithm } { \fname@algorithm } { \listalgorithmname } } \ctex_at_begin_package:nn { algorithm2e } @@ -1026,7 +1109,8 @@ { \SJTU@algorithmname } { \SJTU@listalgorithmname } \SetAlgoCaptionSeparator { \enskip } - \__sjtu_newlistof:nnnnn { algorithm } { alg } { algocf } + \SJTU@counterwithin { algocf } { chapter } + \__sjtu_new_list_of:Nnnn \listofalgorithms { algocf } { \algorithmcfname } { \listalgorithmcfname } \ctex_patch_cmd:Nnn \algocf@latexcaption { \addcontentsline } @@ -1041,13 +1125,39 @@ } \ctex_at_end_package:nn { siunitx } { - \@ifpackageloaded { translations } + \RequirePackage { translations } + \DeclareTranslation { Chinese } { and } { 和 } + \DeclareTranslation { Japanese } { and } { と } + \DeclareTranslation { Chinese } + { to~(numerical~range) } { \textasciitilde } + \DeclareTranslation { Japanese } + { to~(numerical~range) } { \textasciitilde } + \IfPackageAtLeastTF { siunitx } { 2021/05/17 } { } { - \DeclareTranslation { Chinese } { and } { 和 } - \DeclareTranslation { Japanese } { and } { と } - \DeclareTranslation { Chinese } { to~(numerical~range) } { \textasciitilde } - \DeclareTranslation { Japanese } { to~(numerical~range) } { \textasciitilde } - } { } + \DeclareTranslation { English } { to~(numerical~range) } { to } + \DeclareTranslation { German } { to~(numerical~range) } { bis } + \keys_set:nn { siunitx } + { + list-final-separator = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { and } } + \ifmmode \ \else \space \fi + } , + list-pair-separator = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { and } } + \ifmmode \ \else \space \fi + } , + range-phrase = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { to~(numerical~range) } } + \ifmmode \ \else \space \fi + } + } + } } \endinput %% diff --git a/texmf/tex/latex/sjtutex/sjtuthesis.cls b/texmf/tex/latex/sjtutex/sjtuthesis.cls index ffbc83e6..11d49273 100644 --- a/texmf/tex/latex/sjtutex/sjtuthesis.cls +++ b/texmf/tex/latex/sjtutex/sjtuthesis.cls @@ -7,8 +7,8 @@ %% sjtutex.dtx (with options: `class,thesis') %% %% Copyright (C) SJTUG -%% 2018--2023 Alexara Wu -%% 2022--2023 Log Creative +%% 2018--2024 Weijian Wu +%% 2022--2024 Zilong Li %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,53 +20,37 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Alexara Wu and Log Creative. -%% -\NeedsTeXFormat{LaTeX2e} -\RequirePackage{expl3} -\GetIdInfo $Id: sjtutex.dtx 2.0.3 2023-09-25 19:50:00Z Alexara Wu $ - {Thesis template for Shanghai Jiao Tong University} +\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01}{} + {\PackageError{sjtutex} + {Your LaTeX format is outdated!\MessageBreak\MessageBreak + Release `2020/10/01' or newer is required to\MessageBreak + compile this document.\MessageBreak\MessageBreak + Please update your TeX distribution}{}} +\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu $ + {Thesis document class for Shanghai Jiao Tong University (SJTUTeX)} \ProvidesExplClass{sjtuthesis} - {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\RequirePackage { xparse, xtemplate } -\msg_new:nnn { sjtutex } { l3-too-old } - { - Package~ "#1"~ is~ too~ old. \\\\ - Please~ update~ an~ up-to-date~ version~ of~ the~ bundles \\ - "l3kernel"~ and~ "l3packages"~ using~ your~ TeX~ package \\ - manager~ or~ from~ CTAN. - } -\@ifpackagelater { expl3 } { 2020/04/06 } { } - { \msg_error:nnn { sjtutex } { l3-too-old } { expl3 } } -\bool_new:N \l__sjtu_tmpa_bool -\int_new:N \l__sjtu_tmpa_int -\tl_new:N \l__sjtu_tmpa_tl -\tl_new:N \l__sjtu_tmpb_tl -\clist_new:N \l__sjtu_tmpa_clist -\clist_new:N \l__sjtu_tmpb_clist -\dim_new:N \l__sjtu_tmpa_dim -\dim_new:N \l__sjtu_tmpb_dim -\skip_new:N \l__sjtu_tmpa_skip -\box_new:N \l__sjtu_tmpa_box + {\ExplFileDate}{2.1.3}{\ExplFileDescription} +\bool_new:N \l__sjtu_tmp_bool +\clist_new:N \l__sjtu_tmp_clist +\dim_new:N \l__sjtu_tmp_dim +\skip_new:N \l__sjtu_tmp_skip +\box_new:N \l__sjtu_tmp_box \int_new:N \g__sjtu_thesis_type_int \tl_new:N \g__sjtu_lang_tl +\clist_set:Nn \g__sjtu_lang_clist { zh, en } \tl_const:Nn \c__sjtu_lang_de_tl { de } \tl_const:Nn \c__sjtu_lang_ja_tl { ja } -\clist_set:Nn \g__sjtu_lang_clist { zh, en } \tl_new:N \g__sjtu_zihao_tl +\int_new:N \g__sjtu_font_size_int \dim_new:N \g__sjtu_font_size_dim -\dim_new:N \g__sjtu_line_skip_dim -\dim_new:N \g__sjtu_default_line_skip_dim +\dim_new:N \g__sjtu_baseline_skip_dim +\bool_new:N \g__sjtu_fixed_baselineskip_bool \fp_new:N \g__sjtu_line_spread_fp \tl_new:N \g__sjtu_text_font_tl \tl_new:N \g__sjtu_math_font_tl \tl_new:N \g__sjtu_cjk_font_tl -\tl_new:N \g__sjtu_save_encodingdefault_tl -\tl_new:N \g__sjtu_save_rmdefault_tl -\tl_new:N \g__sjtu_save_sfdefault_tl -\tl_new:N \g__sjtu_save_ttdefault_tl \bool_new:N \g__sjtu_slanted_uppercase_greek_bool \bool_new:N \g__sjtu_upright_integral_bool \bool_new:N \g__sjtu_integral_limits_bool @@ -109,20 +93,32 @@ lang .initial:n = { zh } , zihao .choice: , zihao .value_required:n = true , - zihao / -4 .code:n = + zihao / 5 .code:n = { \tl_gset:Nn \g__sjtu_zihao_tl {#1} - \dim_gset:Nn \g__sjtu_font_size_dim { 12 bp } - \dim_gset:Nn \g__sjtu_default_line_skip_dim { 20 bp } + \int_gset:Nn \g__sjtu_font_size_int { 1 } + \dim_gset:Nn \g__sjtu_font_size_dim { 10.5 bp } } , - zihao / 5 .code:n = + zihao / -4 .code:n = { \tl_gset:Nn \g__sjtu_zihao_tl {#1} - \dim_gset:Nn \g__sjtu_font_size_dim { 10.5 bp } - \dim_gset:Nn \g__sjtu_default_line_skip_dim { 15.6 bp } + \int_gset:Nn \g__sjtu_font_size_int { 2 } + \dim_gset:Nn \g__sjtu_font_size_dim { 12 bp } } , zihao .initial:n = { -4 } , - lineskip .dim_gset:N = \g__sjtu_line_skip_dim , + linespread .fp_gset:N = \g__sjtu_line_spread_fp , + linespread .initial:n = { \c_nan_fp } , + linespread .value_required:n = true , + baselineskip .choice: , + baselineskip .value_required:n = true , + baselineskip / false .code:n = + { \bool_gset_false:N \g__sjtu_fixed_baselineskip_bool } , + baselineskip / unknown .code:n = + { + \bool_gset_true:N \g__sjtu_fixed_baselineskip_bool + \dim_gset:Nn \g__sjtu_baseline_skip_dim {#1} + } , + baselineskip .initial:n = { 20 bp } , text-font .tl_gset:N = \g__sjtu_text_font_tl , text-font .initial:n = { newtx } , math-font .tl_gset:N = \g__sjtu_math_font_tl , @@ -191,10 +187,6 @@ \RequirePackage { l3keys2e } \ProcessKeysOptions { sjtu / option } } -\dim_compare:nNnT \g__sjtu_line_skip_dim < \g__sjtu_font_size_dim - { \dim_set_eq:NN \g__sjtu_line_skip_dim \g__sjtu_default_line_skip_dim } -\fp_set:Nn \g__sjtu_line_spread_fp - { \dim_ratio:nn { \g__sjtu_line_skip_dim } { \g__sjtu_font_size_dim } / 1.2 } \clist_set:Nx \g__sjtu_math_font_options_clist { \bool_if:NT \g__sjtu_slanted_uppercase_greek_bool @@ -214,7 +206,8 @@ \clist_put_right:Nx \g__sjtu_options_to_ctex_class_clist { zihao = \g__sjtu_zihao_tl , - linespread = \fp_use:N \g__sjtu_line_spread_fp , + \fp_if_nan:nF { \g__sjtu_line_spread_fp } + { linespread = \fp_use:N \g__sjtu_line_spread_fp } , \bool_if:NTF \g__sjtu_twoside_bool { twoside } { oneside } , \bool_if:NTF \g__sjtu_openright_bool @@ -228,7 +221,6 @@ \clist_set:Nx \g__sjtu_options_to_packages_clist { { no-math } { fontspec } , - { titles } { tocloft } , { list = off } { bicaption } , { warnings-off = { @@ -249,10 +241,12 @@ \LoadClass { ctexbook } \RequirePackage { + xtemplate, + array, mathtools, geometry, fancyhdr, - tocloft, + titletoc, caption, bicaption, subcaption, @@ -300,33 +294,15 @@ } } { \cs_new:Npn \__sjtu_unicode_char:n #1 { \tex_Uchar:D #1 \scan_stop: } } -\cs_new_protected:Npn \__sjtu_preto_cmd:Nn #1#2 - { - \ctex_preto_cmd:NnnTF #1 { } {#2} - { } { \ctex_patch_failure:N #1 } - } -\cs_new_protected:Npn \__sjtu_appto_cmd:Nn #1#2 - { - \ctex_appto_cmd:NnnTF #1 { } {#2} - { } { \ctex_patch_failure:N #1 } - } -\cs_new:Npn \__sjtu_fixed_line_skip:n #1 - { - \exp_args:Nx \linespread - { \fp_to_decimal:n { \dim_ratio:nn { #1 } { \f@size pt } / 1.2 } } - \selectfont - } -\NewDocumentCommand \fixedlineskip { m } - { \exp_args:Nx \__sjtu_fixed_line_skip:n {#1} \tex_ignorespaces:D } \cs_new:Npn \__sjtu_dim_set_to_wd:Nn #1#2 { - \hbox_set:Nn \l__sjtu_tmpa_box {#2} - \dim_set:Nn #1 { \box_wd:N \l__sjtu_tmpa_box } + \hbox_set:Nn \l__sjtu_tmp_box {#2} + \dim_set:Nn #1 { \box_wd:N \l__sjtu_tmp_box } } \cs_new:Npn \__sjtu_skip_add_to_wd:Nn #1#2 { - \hbox_set:Nn \l__sjtu_tmpa_box {#2} - \skip_add:Nn #1 { \box_wd:N \l__sjtu_tmpa_box } + \hbox_set:Nn \l__sjtu_tmp_box {#2} + \skip_add:Nn #1 { \box_wd:N \l__sjtu_tmp_box } } \cs_generate_variant:Nn \__sjtu_dim_set_to_wd:Nn { Nv } \cs_generate_variant:Nn \__sjtu_skip_add_to_wd:Nn { cv } @@ -340,22 +316,22 @@ } \cs_new_protected:Npn \__sjtu_vspace:n #1 { - \skip_set:Nn \l__sjtu_tmpa_skip {#1} - \__sjtu_vspace:N \l__sjtu_tmpa_skip + \skip_set:Nn \l__sjtu_tmp_skip {#1} + \__sjtu_vspace:N \l__sjtu_tmp_skip } \cs_new_protected:Npn \__sjtu_vspace_r:N #1 { - \dim_set_eq:NN \l__sjtu_tmpa_dim \prevdepth + \dim_set_eq:NN \l__sjtu_tmp_dim \prevdepth \hrule height \c_zero_dim \nobreak \skip_vertical:N #1 \skip_vertical:N \c_zero_skip - \dim_set_eq:NN \prevdepth \l__sjtu_tmpa_dim + \dim_set_eq:NN \prevdepth \l__sjtu_tmp_dim } \cs_new_protected:Npn \__sjtu_vspace_r:n #1 { - \skip_set:Nn \l__sjtu_tmpa_skip {#1} - \__sjtu_vspace_r:N \l__sjtu_tmpa_skip + \skip_set:Nn \l__sjtu_tmp_skip {#1} + \__sjtu_vspace_r:N \l__sjtu_tmp_skip } \cs_new_protected:Npn \__sjtu_define_name:nn #1#2 { \tl_const:cn { c__sjtu_name_ #1 _tl } {#2} } @@ -449,6 +425,44 @@ { \DeclareInstance { sjtu } {#1/#2} { component } {#3} } \cs_new:Npn \__sjtu_declare_page:nn #1#2 { \DeclareInstance { sjtu } {#1} { page } {#2} } +\cs_new_protected:Npn \__sjtu_set_font_size:nnNn #1#2#3#4 + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\tl_set:Nx \l__sjtu_font_size_tl + { + { \dim_to_decimal:n { \g__sjtu_font_size_dim } } + { \dim_to_decimal:n { \g__sjtu_baseline_skip_dim } } + } +\bool_if:NT \g__sjtu_fixed_baselineskip_bool + { + \int_case:nn { \g__sjtu_font_size_int } + { + { 1 } { + \exp_after:wN \__sjtu_set_font_size:nnNn \l__sjtu_font_size_tl + \normalsize + { + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI + } + } + { 2 } { + \exp_after:wN \__sjtu_set_font_size:nnNn \l__sjtu_font_size_tl + \normalsize + { + \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI + } + } + } + \normalsize + } +\NewDocumentCommand \setbaselineskip { m } + { \fontsize { \f@size } {#1} \selectfont } \cs_new_protected:Npn \__sjtu_fontset_error:nn #1#2 { \msg_error:nnnn { sjtutex } { font-unavailable } {#1} {#2} } \msg_new:nnn { sjtutex } { font-unavailable } @@ -460,6 +474,11 @@ { \sys_if_output_pdf:TF {#1} {#2} } {#3} } +\cs_new_protected:Nn \__sjtu_declare_math_symbol:nnNn + { + \cs_undefine:N #3 + \DeclareMathSymbol {#3} {#1} {#2} {#4} + } \cs_new_protected:Nn \__sjtu_set_slanted_greek: { \clist_const:Nn \c__sjtu_uppercase_greek_clist @@ -578,9 +597,9 @@ bib .meta:nn = { ctex } { bibname = {#1} } , part .tl_set:N = \partname , chapter .tl_set:N = \chaptername , - figure* .tl_set:N = \SJTU@figurename@aux , + figure* .tl_set:N = \SJTU@figurename@bi@second , figure* .initial:n = { 图 } , - table* .tl_set:N = \SJTU@tablename@aux , + table* .tl_set:N = \SJTU@tablename@bi@second , table* .initial:n = { 表 } , algorithm .tl_set:N = \SJTU@algorithmname , algorithm .initial:n = { Algorithm } , @@ -621,9 +640,9 @@ \keys_define:nn { sjtu / style } { header-font .tl_set:N = \l__sjtu_style_header_font_tl , - header-font .initial:n = \zihao { -5 } , + header-font .initial:n = \zihao { -5 } \setbaselineskip { 12 bp } , footer-font .tl_set:N = \l__sjtu_style_footer_font_tl , - footer-font .initial:n = \zihao { -5 } + footer-font .initial:n = \zihao { -5 } \setbaselineskip { 12 bp } } \fancyheadinit { \l__sjtu_style_header_font_tl } \fancyfootinit { \l__sjtu_style_footer_font_tl } @@ -692,42 +711,54 @@ { pagestyle = SJTU@null , fixskip = true , - beforeskip = 24 bp , - afterskip = 18 bp , - lofskip = \c_zero_skip , - lotskip = \c_zero_skip , - format = \zihao { 3 } \bfseries \CJKsffamily \centering , + beforeskip = 27 bp , + afterskip = 27 bp , + format = \zihao { 3 } \setbaselineskip{ 20 bp } \bfseries + \CJKsffamily \centering , nameformat = , titleformat = , - aftername = \quad , - afterindent = true + lofskip = \c_zero_skip , + lotskip = \c_zero_skip , + aftername = \quad } \ctex_set:nn { section } { beforeskip = 24 bp , afterskip = 6 bp , - format = \zihao { 4 } \bfseries \CJKsffamily , - afterindent = true + format = \zihao { 4 } \setbaselineskip { 18 bp } \bfseries + \CJKsffamily } \ctex_set:nn { subsection } { beforeskip = 12 bp , afterskip = 6 bp , - format = \zihao { -4 } \bfseries \CJKsffamily , - afterindent = true + format = \zihao { -4 } \setbaselineskip { 16 bp } \bfseries + \CJKsffamily } \ctex_set:nn { subsubsection } { beforeskip = 6 bp , afterskip = 6 bp , - format = \zihao { -4 } \normalfont , - afterindent = true + format = \zihao { -4 } \setbaselineskip { 16 bp } \normalfont } -\ctex_set:nn { paragraph } - { afterindent = true } -\ctex_set:nn { subparagraph } - { afterindent = true } \ctex_set:n { secnumdepth = 3 } +\keys_define:nn { sjtu / style } + { + indent-first .choice: , + indent-first .choices:nn = + { true, false } + { + \clist_map_inline:nn + { + chapter, + section, subsection, subsubsection, + paragraph, subparagraph + } + { \ctex_set:nn {####1} { afterindent = #1 } } + } , + indent-first .default:n = { true } , + indent-first .initial:n = { true } + } \NewDocumentCommand \SJTU@head { s O{#3} m O{#2} } { \CTEX@chapter@break @@ -743,19 +774,49 @@ \cs_set_eq:NN \CTEX@gettitle \__sjtu_orig_ctex_gettitle:n \@mkboth { \MakeUppercase {#2} } { \MakeUppercase {#2} } } -\cs_new:Npn \__sjtu_head_aux:n #1 - { \SJTU@head {#1} } -\cs_new:Npn \__sjtu_head_aux_s:n #1 - { \SJTU@head* {#1} } -\cs_new:Npn \__sjtu_head_auxa_s:nn #1#2 - { \SJTU@head* {#1} [#2] } -\cs_new:Npn \__sjtu_head_auxb_s:nn #1#2 +\cs_new:Npn \__sjtu_head_aux_s:nn #1#2 { \SJTU@head* [#1] {#2} } -\cs_generate_variant:Nn \__sjtu_head_auxa_s:nn { xn, xv } -\cs_generate_variant:Nn \__sjtu_head_auxb_s:nn { nx } +\cs_generate_variant:Nn \__sjtu_head_aux_s:nn { nx } \cs_new_eq:NN \__sjtu_pdf_bookmark:nn \use_none:nn \cs_new_eq:NN \__sjtu_phantom_section: \prg_do_nothing: \setlist { nosep } +\keys_define:nn { sjtu / style } + { + equation-font .tl_set:N = \SJTU@style@equation@font , + equation-font .initial:x = \exp_not:N \linespread { } + \exp_not:N \zihao { \g__sjtu_zihao_tl } + } +\clist_map_inline:nn + { + array, matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix, + matrix*, pmatrix*, bmatrix*, Bmatrix*, vmatrix*, Vmatrix*, + cases, cases*, dcases, dcases*, rcases, rcases*, drcases, drcases*, + aligned, alignedat, gathered, multlined, lgathered, rgathered + } + { \AtBeginEnvironment {#1} { \SJTU@style@equation@font } } +\clist_map_inline:nn + { \start@gather, \start@align, \start@multline } + { + \ctex_patch_cmd:Nnn #1 + { \collect@body } + { + \SJTU@style@equation@font + \collect@body + } + } +\ctex_patch_cmd:Nnn \gather@split + { \spread@equation } + { + \SJTU@style@equation@font + \spread@equation + } +\keys_define:nn { sjtu / style } + { + theorem-header-font .tl_set:N = \SJTU@style@thm@header@font , + theorem-header-font .initial:n = \bfseries \CJKsffamily , + theorem-body-font .tl_set:N = \SJTU@style@thm@body@font , + theorem-body-font .initial:n = \normalfont , + } \tl_set:Nn \textfraction { 0.15 } \tl_set:Nn \topfraction { 0.85 } \tl_set:Nn \bottomfraction { 0.65 } @@ -763,47 +824,54 @@ \keys_define:nn { sjtu / style } { float-font .tl_set:N = \SJTU@style@float@font , - float-font .initial:n = \zihao { 5 } \fixedlineskip { 15.6 bp } + float-font .initial:n = \zihao { 5 } \setbaselineskip { 14 bp } } \ctex_patch_cmd:Nnn \@floatboxreset { \normalsize } { \SJTU@style@float@font } \keys_define:nn { sjtu / style } { caption-font .code:n = - { \DeclareCaptionFont { SJTU@font } {#1} } , - caption-font .initial:n = \zihao { 5 } \bfseries , + { \DeclareCaptionFont { normalsize } {#1} } , + caption-font .initial:n = \zihao { 5 } \setbaselineskip { 14 bp } + \bfseries , subcaption-font .code:n = { \DeclareCaptionFont { SJTU@sub@font } {#1} } , - subcaption-font .initial:n = \zihao { 5 } \normalfont + subcaption-font .initial:n = \zihao { 5 } \setbaselineskip { 14 bp } + \normalfont } -\DeclareCaptionLabelSeparator { enskip } { \enskip } \captionsetup { - labelsep = enskip , - justification = centering , - font = SJTU@font + bi-slc = off , + labelsep = quad , + skip = 6 bp } \captionsetup [ sub ] { - format = hang , - justification = justified , - font = SJTU@sub@font + bi-slc = on , + font = SJTU@sub@font , + format = hang } -\DeclareCaptionOption { aux-names } [ ] +\DeclareCaptionOption { bi-second-names } [ ] { - \tl_set:Nn \figurename { \SJTU@figurename@aux } - \tl_set:Nn \tablename { \SJTU@tablename@aux } + \tl_set:Nn \figurename { \SJTU@figurename@bi@second } + \tl_set:Nn \tablename { \SJTU@tablename@bi@second } } -\captionsetup [ bi-second ] { aux-names } +\captionsetup [ bi-second ] { bi-second-names } \keys_define:nn { sjtu / style } { - float-num-sep .tl_set:N = \l__sjtu_style_fl_num_sep_tl , - float-num-sep .initial:n = { -- } , - equation-num-sep .tl_set:N = \l__sjtu_style_eq_num_sep_tl , - equation-num-sep .initial:n = { -- } + num-sep .code:n = + { + \tl_set:Nn \SJTU@style@fl@num@sep {#1} + \tl_set:Nn \SJTU@style@eq@num@sep {#1} + \tl_set:Nn \@thmcountersep {#1} + } , + num-sep .initial:n = { . } , + float-num-sep .tl_set:N = \SJTU@style@fl@num@sep , + equation-num-sep .tl_set:N = \SJTU@style@eq@num@sep , + theorem-num-sep .tl_set:N = \@thmcountersep } \NewDocumentCommand \SJTU@counterwithin - { s O{ \l__sjtu_style_fl_num_sep_tl } O{ \arabic } m m } + { s O{ \SJTU@style@fl@num@sep } O{ \arabic } m m } { \@ifbothcounters {#4} {#5} { @@ -817,7 +885,7 @@ } \SJTU@counterwithin { figure } { chapter } \SJTU@counterwithin { table } { chapter } -\SJTU@counterwithin [ \l__sjtu_style_eq_num_sep_tl ] { equation } { chapter } +\SJTU@counterwithin [ \SJTU@style@eq@num@sep ] { equation } { chapter } \clist_set:Nn \l__sjtu_counter_without_chapter_clist { section, figure, table, equation } \cs_set_eq:NN \__sjtu_makefnmark_plain: \@makefnmark @@ -986,77 +1054,59 @@ \tl_set:Nv \today { l__sjtu_info_date_ \g__sjtu_lang_tl _tl } \__sjtu_engine_case:nnn { - \cs_new_protected:Npn \__sjtu_cjk_spread_box:nn #1#2 + \NewDocumentEnvironment { SJTU@CJK@FTS } { m b } { \mode_leave_vertical: - \group_begin: - \bool_set_false:N \l__sjtu_tmpa_bool - \cs_set_eq:NN \SJTU@CJK@filltwosidesSymbol \CJKsymbol - \cs_set:Npn \CJKsymbol ##1 - { - \bool_if:NTF \l__sjtu_tmpa_bool - { \hfil \SJTU@CJK@filltwosidesSymbol { ##1 } } - { - \SJTU@CJK@filltwosidesSymbol { ##1 } - \bool_set_true:N \l__sjtu_tmpa_bool - } - } - \hbox_to_wd:nn {#1} {#2} - \group_end: - } + \bool_set_false:N \l__sjtu_tmp_bool + \cs_set_eq:NN \SJTU@CJK@FTS@Symbol \CJKsymbol + \cs_set:Npn \CJKsymbol ##1 + { + \bool_if:NTF \l__sjtu_tmp_bool + { \hfil \SJTU@CJK@FTS@Symbol { ##1 } } + { + \SJTU@CJK@FTS@Symbol { ##1 } + \bool_set_true:N \l__sjtu_tmp_bool + } + } + \hbox_to_wd:nn {#1} {#2} + } { } } { - \cs_new_protected:Npn \__sjtu_cjk_spread_box:nn #1#2 + \NewDocumentEnvironment { SJTU@CJK@FTS } { m b } { \mode_leave_vertical: - \group_begin: - \cs_set:Npn \CJKglue - { \skip_horizontal:n { \c_zero_dim plus 1 filll } } - \hbox_to_wd:nn {#1} {#2} - \group_end: - } + \cs_set:Npn \CJKglue + { \skip_horizontal:n { \c_zero_dim plus 1 filll } } + \hbox_to_wd:nn {#1} {#2} + } { } } { - \cs_new_protected:Npn \__sjtu_cjk_spread_box:nn #1#2 + \NewDocumentEnvironment { SJTU@CJK@FTS } { m b } { \mode_leave_vertical: - \group_begin: - \ltjsetparameter { kanjiskip = { \c_zero_dim plus 1 filll } } - \hbox_to_wd:nn {#1} {#2} - \group_end: - } - } -\cs_new_protected:Npn \__sjtu_left_aligned_box:nn #1#2 - { - \mode_leave_vertical: - \hbox_to_wd:nn {#1} { #2 \hfil } + \ltjsetparameter { kanjiskip = { \c_zero_dim plus 1 filll } } + \hbox_to_wd:nn {#1} {#2} + } { } } +\newcolumntype { \SJTU@CT@D } [ 1 ] + { >{ \begin { SJTU@CJK@FTS } {#1} } c <{ \end { SJTU@CJK@FTS } } } \cs_new:Npn \__sjtu_title_page_info_i:nnn #1#2#3 { + \clist_clear:N \l__sjtu_tmp_clist + \clist_map_inline:nn {#3} + { + \clist_put_right:Nx \l__sjtu_tmp_clist + { + \exp_not:o { \cs:w c__sjtu_name_ ##1 _ #1 _tl \cs_end: } + & + \exp_not:o { \cs:w l__sjtu_info_ ##1 _ #1 _tl \cs_end: } + } + } \group_begin: - \cs_set:Npn \l__sjtu_info_output_format:NNN ##1##2##3 {#3} - \clist_clear:N \l__sjtu_tmpa_clist - \clist_clear:N \l__sjtu_tmpb_clist - \dim_set:Nn \l__sjtu_tmpb_dim { 5 em } - \clist_map_inline:nn {#2} - { - \clist_put_right:No \l__sjtu_tmpa_clist - { \cs:w c__sjtu_name_ ##1 _ #1 _tl \cs_end: } - \clist_put_right:No \l__sjtu_tmpb_clist - { \cs:w l__sjtu_info_ ##1 _ #1 _tl \cs_end: } - \__sjtu_dim_set_to_wd:Nv \l__sjtu_tmpa_dim { l__sjtu_info_ ##1 _ #1 _tl } - \dim_set:Nn \l__sjtu_tmpb_dim - { \dim_max:nn { \l__sjtu_tmpa_dim } { \l__sjtu_tmpb_dim } } - } - \bool_until_do:nn - { \clist_if_empty_p:N \l__sjtu_tmpa_clist } - { - \clist_pop:NN \l__sjtu_tmpa_clist \l__sjtu_tmpa_tl - \clist_pop:NN \l__sjtu_tmpb_clist \l__sjtu_tmpb_tl - \l__sjtu_info_output_format:NNN - \l__sjtu_tmpa_tl \l__sjtu_tmpb_dim \l__sjtu_tmpb_tl - \skip_vertical:N \c_zero_dim - } + \tl_set:Nn \arraystretch { 1 } + \tabular {#2} + \clist_use:Nn \l__sjtu_tmp_clist { \\ } + \endtabular \group_end: } \cs_new:Npn \__sjtu_title_page_info_ii:n #1 @@ -1069,15 +1119,7 @@ \skip_vertical:N \c_zero_skip \tl_use:c { l__sjtu_info_date_ #1 _tl } } -\cs_generate_variant:Nn \__sjtu_title_page_info_i:nnn { nxn } -\keys_define:nn { sjtu / style } - { - title-logo-color .choice: , - title-logo-color .choices:nn = - { red, blue, black } - { \tl_set_eq:NN \l__sjtu_style_title_logo_color_tl \l_keys_choice_tl } , - title-logo-color .initial:n = { red } - } +\cs_generate_variant:Nn \__sjtu_title_page_info_i:nnn { nxx } \RenewDocumentCommand \maketitle { } { \clist_map_inline:nn @@ -1098,7 +1140,8 @@ { { orig / title } { - format = \zihao { 3 } \heiti \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } + \bfseries \heiti , content = { \c__sjtu_name_univ_zh_tl @@ -1106,18 +1149,18 @@ \c__sjtu_name_thesis_zh_tl \c__sjtu_name_orig_decl_zh_tl } , - bottom-skip = 15.6 bp + bottom-skip = 12 bp }, { orig / text } { - format = \zihao { -4 } \fixedlineskip { 23.4 bp } , + format = \zihao { -4 } \setbaselineskip { 24 bp } , content = \c__sjtu_orig_decl_text_zh_tl , - bottom-skip = 15.6 bp , + bottom-skip = 24 bp , align = normal }, { orig / sign } { - format = \zihao { 4 } \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 30 bp } , content = { \__sjtu_signature:N \c__sjtu_name_decl_author_zh_tl @@ -1128,7 +1171,8 @@ }, { auth / title } { - format = \zihao { 3 } \heiti \fixedlineskip { 31.2 bp } , + format = \zihao { 3 } \setbaselineskip { 30 bp } + \bfseries \heiti , content = { \c__sjtu_name_univ_zh_tl @@ -1136,23 +1180,24 @@ \c__sjtu_name_thesis_zh_tl \c__sjtu_name_auth_decl_zh_tl } , - bottom-skip = 15.6 bp + bottom-skip = 12 bp }, { auth / text } { - format = \zihao { -4 } \fixedlineskip { 23.4 bp } , + format = \zihao { -4 } \setbaselineskip { 24 bp } , content = \c__sjtu_auth_decl_text_zh_tl , - bottom-skip = 15.6 bp , + bottom-skip = 24 bp , align = normal }, { auth / sign } { - format = \zihao { 4 } \fixedlineskip { 31.2 bp } , + format = \zihao { 4 } \setbaselineskip { 30 bp } , content = { \__sjtu_signature:N \c__sjtu_name_decl_author_zh_tl \hfill \__sjtu_signature:N \c__sjtu_name_decl_supervisor_zh_tl + \skip_horizontal:n { 2 em } \hbox:n { } } , bottom-skip = \c_zero_dim plus 1 fill , align = normal @@ -1165,7 +1210,7 @@ { bookmark = true , bookmark-text = \c__sjtu_name_declaration_tl , - format = \linespread { 1 } \__sjtu_set_language_zh: , + format = \linespread { } \__sjtu_set_language_zh: , prefix = copyright , components = { @@ -1199,108 +1244,126 @@ } } } -\bool_new:N \l__sjtu_abstract_bookmark_bool +\keys_define:nn { sjtu / style } + { + keywords-format .choice: , + keywords-format / plain .code:n = + { \cs_set:Nn \__sjtu_keywords_format:n { \noindent { \bfseries ##1 } } } , + keywords-format / hang .code:n = + { \cs_set:Nn \__sjtu_keywords_format:n { \@hangfrom { \bfseries ##1 } } } , + keywords-format .initial:n = { plain } + } \DeclareDocumentEnvironment { abstract } { O{ zh } +b } { \__sjtu_if_lang_valid:nTF {#1} { \use:c { __sjtu_set_language_ #1 : } - \ctex_set:nn { chapter } { format += \sffamily } - \bool_if:NTF \l__sjtu_abstract_bookmark_bool - { - \__sjtu_head_auxa_s:xn - { - \exp_not:N \MakeUppercase - { \exp_not:v { c__sjtu_name_abstract_ #1 _tl } } - } - { } - } + \exp_args:Nv \SJTU@head { c__sjtu_name_abstract_ #1 _tl } + #2 + \clist_if_empty:cF { l__sjtu_info_keywords_ #1 _clist } { - \__sjtu_head_auxa_s:xv + \par \mode_leave_vertical: \par + \__sjtu_keywords_format:n { - \exp_not:N \MakeUppercase - { \exp_not:v { c__sjtu_name_abstract_ #1 _tl } } + \tl_use:c { c__sjtu_name_keywords_ #1 _tl } + \tl_use:c { c__sjtu_name_info_sep_ #1 _tl } } - { c__sjtu_name_abstract_tl } - \bool_gset_true:N \l__sjtu_abstract_bookmark_bool + \clist_use:cv { l__sjtu_info_keywords_ #1 _clist } + { c__sjtu_name_item_sep_ #1 _tl } + \par } + } + { \msg_error:nnn { sjtutex } { lang-validation } {#1} } + } { } +\DeclareDocumentEnvironment { abstract* } { O{ zh } +b } + { + \__sjtu_if_lang_valid:nTF {#1} + { + \use:c { __sjtu_set_language_ #1 : } + \exp_args:NNv \SJTU@head* { c__sjtu_name_abstract_ #1 _tl } #2 \clist_if_empty:cF { l__sjtu_info_keywords_ #1 _clist } { - \par \mode_leave_vertical: \par \noindent - { - \bfseries - \tl_use:c { c__sjtu_name_keywords_ #1 _tl } - \tl_use:c { c__sjtu_name_info_sep_ #1 _tl } - } + \par \mode_leave_vertical: \par + \__sjtu_keywords_format:n + { + \tl_use:c { c__sjtu_name_keywords_ #1 _tl } + \tl_use:c { c__sjtu_name_info_sep_ #1 _tl } + } \clist_use:cv { l__sjtu_info_keywords_ #1 _clist } { c__sjtu_name_item_sep_ #1 _tl } + \par } } { \msg_error:nnn { sjtutex } { lang-validation } {#1} } } { } -\DeclareDocumentEnvironment { abstract* } { } - { \abstract [ en ] } { \endabstract } -\DeclareDocumentCommand \tableofcontents { } +\DeclareDocumentCommand \tableofcontents { s } { - \__sjtu_head_aux_s:n { \contentsname } + \IfBooleanTF {#1} + { \SJTU@head* { \contentsname } } + { \SJTU@head { \contentsname } } \@starttoc { toc } } +\tl_set:Nn \SJTU@leaders { \titlerule* [ 4bp ] { . } } +\contentsmargin [ 2.55 em ] { 0 pt } +\titlecontents { chapter } + [ 0 pt ] { \addvspace { 6 bp } \bfseries } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } +\titlecontents { section } + [ 2 em ] { } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } +\titlecontents { subsection } + [ 4 em ] { } + { \contentspush { \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } \NewDocumentCommand \SJTU@listof { m m s } { \IfBooleanTF {#3} - { \__sjtu_head_aux_s:n {#1} } - { \__sjtu_head_aux:n {#1} } + { \SJTU@head* {#1} } + { \SJTU@head {#1} } \exp_args:Nv \@starttoc { ext@ #2 } } -\DeclareDocumentCommand \listoffigures { } - { \SJTU@listof { \listfigurename } { figure } } -\DeclareDocumentCommand \listoftables { } - { \SJTU@listof { \listtablename } { table } } -\tl_set:Nn \cftdotsep { 1 } -\tl_set:Nn \cftchapleader { \normalfont \cftdotfill { \cftdotsep } } -\clist_set:Nn \l__sjtu_cft_presnum_clist - { - { fig } { \figurename } , - { tab } { \tablename } - } -\cs_new:Npn \__sjtu_update_cft_presnum:nn #1#2 +\cs_new_protected:Npn \__sjtu_new_list_of:Nnnn #1#2#3#4 { - \tl_set:cn { cft #1 presnum } { #2 \c_space_tl } - \skip_zero:c { cft #1 indent } - \skip_set:cn { cft #1 numwidth } { 2.8 em } - \__sjtu_skip_add_to_wd:cv { cft #1 numwidth } { cft #1 presnum } - } -\ctex_at_end_preamble:n - { - \clist_map_inline:Nn \l__sjtu_cft_presnum_clist - { \__sjtu_update_cft_presnum:nn #1 } + \DeclareDocumentCommand #1 { } + { \SJTU@listof {#4} {#2} } + \titlecontents {#2} + [ 0 pt ] { } + { \contentspush { #3 \space \thecontentslabel \enskip } } { } + { \SJTU@leaders \thecontentspage } + \exp_args:Nnv \contentsuse {#2} { ext@ #2 } } +\__sjtu_new_list_of:Nnnn \listoffigures { figure } + { \figurename } { \listfigurename } +\__sjtu_new_list_of:Nnnn \listoftables { table } + { \tablename } { \listtablename } \NewDocumentEnvironment { abbreviation } { O{ \SJTU@abbrname } } { - \chapter {#1} + \chapter {#1} \tl_clear:N \SJTU@style@float@font } { } \NewDocumentEnvironment { abbreviation* } { O{ \SJTU@abbrname } } { - \__sjtu_head_aux_s:n {#1} + \SJTU@head* {#1} \tl_clear:N \SJTU@style@float@font } { } \NewDocumentEnvironment { nomenclature } { O{ \SJTU@nomname } } { - \chapter {#1} + \chapter {#1} \tl_clear:N \SJTU@style@float@font } { } \NewDocumentEnvironment { nomenclature* } { O{ \SJTU@nomname } } { - \__sjtu_head_aux_s:n {#1} + \SJTU@head* {#1} \tl_clear:N \SJTU@style@float@font } { } \NewDocumentEnvironment { acknowledgements } { O{ \SJTU@ackname } +b } { \bool_if:NF \g__sjtu_review_bool { - \__sjtu_head_aux:n {#1} + \SJTU@head {#1} #2 } } { } @@ -1361,7 +1424,7 @@ \bool_new:N \l__sjtu_achievements_bool \NewDocumentEnvironment { achievements } { O{ \SJTU@achvname } } { - \__sjtu_head_aux:n {#1} + \SJTU@head {#1} \setcounter { SJTU@bib } { 0 } \bool_set_true:N \l__sjtu_achievements_bool } { } @@ -1401,7 +1464,7 @@ { \bool_if:NF \g__sjtu_review_bool { - \__sjtu_head_aux:n {#1} + \SJTU@head {#1} #2 } } { } @@ -1422,7 +1485,7 @@ \counterwithout {##1} { chapter } \setcounter {##1} { 0 } } - \__sjtu_head_auxb_s:nx { \SJTU@digestname } + \__sjtu_head_aux_s:nx { \SJTU@digestname } { \exp_not:N \MakeUppercase { \exp_not:v { l__sjtu_info_title_ #1 _tl } } @@ -1528,10 +1591,19 @@ assumption, axiom, conjecture, corollary, definition, example, exercise, lemma, problem, proposition, theorem } - { \exp_args:Nnv \newtheorem {##1} { c__sjtu_name_ ##1 _tl } [ chapter ] } + { + \cs_if_exist:cF {##1} + { + \exp_args:Nnv \newtheorem {##1} { c__sjtu_name_ ##1 _tl } + [ chapter ] + } + } \clist_map_inline:nn { remark, solution } - { \exp_args:NNnv \newtheorem* {##1} { c__sjtu_name_ ##1 _tl } } + { + \cs_if_exist:cF {##1} + { \exp_args:NNnv \newtheorem* {##1} { c__sjtu_name_ ##1 _tl } } + } } \ctex_at_begin_package:nn { amsthm } { @@ -1550,50 +1622,91 @@ \RenewDocumentEnvironment { proof } { O{ \proofname } } { \par \pushQED { \qed } - \normalfont \dim_zero:N \topsep + \SJTU@style@thm@body@font \dim_zero:N \topsep \trivlist \item [ \skip_horizontal:N \labelsep - \bfseries \CJKsffamily #1 \@addpunct { \enskip } + \SJTU@style@thm@header@font #1 \@addpunct { \enskip } ] \ignorespaces } - { \popQED \endtrivlist \legacy_if_set_false:n { @endpe } } + { \popQED \endtrivlist \@endpefalse } \newtheoremstyle { sjtu } - { } { } { \normalfont } { } { \bfseries \CJKsffamily } { } { \ccwd } { } - \theoremstyle { sjtu } - \__sjtu_new_theorems: - } -\ctex_at_end_package:nn { ntheorem } - { - \__sjtu_cs_provide_eq:NN \QED \c_empty_tl - \theoremheaderfont { \bfseries \CJKsffamily } - \theorembodyfont { \normalfont } - \theoremseparator { \enskip } - \theoremsymbol { \ensuremath { \QED } } - \qedsymbol { \ensuremath { \QED } } - \newtheorem* { proof } { \proofname } - \theoremsymbol { } - \__sjtu_new_theorems: - } -\cs_new_protected:Npn \__sjtu_newlistof:nnnnn #1#2#3#4#5 - { - \exp_args:Nnv \newlistentry {#2} { ext@ #3 } { 0 } - \exp_args:Ne \newcounter { \tl_use:c { ext@ #3 } depth } - \exp_args:Ne \setcounter { \tl_use:c { ext@ #3 } depth } { 1 } - \clist_put_right:Nn \l__sjtu_cft_presnum_clist { {#2} {#4} } - \cs_set_eq:cc { l@ #3 } { l@ #2 } - \exp_args:Nc \DeclareDocumentCommand { listof #1 s } { } - { \SJTU@listof {#5} {#3} } - \SJTU@counterwithin { #3 } { chapter } - \clist_put_right:Nn \l__sjtu_counter_without_chapter_clist {#3} + { } { } { \SJTU@style@thm@body@font } { } + { \SJTU@style@thm@header@font } { } { \ccwd } { } + } +\ctex_at_end_preamble:n + { + \@ifpackageloaded { amsthm } + { + \theoremstyle { sjtu } + \__sjtu_new_theorems: + } + { + \@ifpackageloaded { ntheorem } + { + \__sjtu_cs_provide_eq:NN \QED \c_empty_tl + \theoremheaderfont { \SJTU@style@thm@header@font } + \theorembodyfont { \SJTU@style@thm@body@font } + \theoremseparator { \enskip } + \theoremsymbol { \ensuremath { \QED } } + \qedsymbol { \ensuremath { \QED } } + \cs_if_exist:NF \proof + { \newtheorem* { proof } { \proofname } } + \theoremsymbol { } + \__sjtu_new_theorems: + } { } + } + } +\ctex_at_end_package:nn { thmtools } + { + \cs_set:Npn \thmtlo@newentry + { + \exp_args:NV \titlecontents \thmt@envname + [ \thmt@listnumwidth ] { } + { \contentslabel { \thmt@listnumwidth } } + { \hspace* { - \thmt@listnumwidth } } + { \SJTU@leaders \thecontentspage } + \exp_args:NV \contentsuse \thmt@envname { loe } + } + \cs_set:Npn \thmtlo@chaptervspacehack { } + \RenewDocumentCommand \listoftheorems { s O{ } } + { + \group_begin: + \setlisttheoremstyle {#2} + \IfBooleanTF {#1} + { \SJTU@head* { \listtheoremname } } + { \SJTU@head { \listtheoremname } } + \cs_set:Npn \contentsline ##1 + { \use:c { thmt@contentsline@ ##1 } {##1} } + \clist_map_inline:Nn \thmt@allenvs + { + \tl_set:Nn \thmt@envname {##1} + \thmtlo@newentry + } + \@fileswfalse + \AddToHook { enddocument / afterlastpage } + { + \if@filesw + \@ifundefined { tf@loe } + { + \expandafter\newwrite\csname tf@loe\endcsname + \immediate\openout \csname tf@loe\endcsname \jobname.loe\relax + } { } + \fi + } + \@starttoc { loe } + \group_end: + } } \ctex_at_end_package:nn { algorithm } { \tl_set:Nn \fname@algorithm { \SJTU@algorithmname } \tl_set:Nn \listalgorithmname { \SJTU@listalgorithmname } - \__sjtu_newlistof:nnnnn { algorithm } { alg } { algorithm } + \SJTU@counterwithin { algorithm } { chapter } + \clist_put_right:Nn \l__sjtu_counter_without_chapter_clist { algorithm } + \__sjtu_new_list_of:Nnnn \listofalgorithms { algorithm } { \fname@algorithm } { \listalgorithmname } } \ctex_at_begin_package:nn { algorithm2e } @@ -1605,7 +1718,9 @@ { \SJTU@algorithmname } { \SJTU@listalgorithmname } \SetAlgoCaptionSeparator { \enskip } - \__sjtu_newlistof:nnnnn { algorithm } { alg } { algocf } + \SJTU@counterwithin { algocf } { chapter } + \clist_put_right:Nn \l__sjtu_counter_without_chapter_clist { algocf } + \__sjtu_new_list_of:Nnnn \listofalgorithms { algocf } { \algorithmcfname } { \listalgorithmcfname } \ctex_patch_cmd:Nnn \algocf@latexcaption { \addcontentsline } @@ -1620,13 +1735,39 @@ } \ctex_at_end_package:nn { siunitx } { - \@ifpackageloaded { translations } + \RequirePackage { translations } + \DeclareTranslation { Chinese } { and } { 和 } + \DeclareTranslation { Japanese } { and } { と } + \DeclareTranslation { Chinese } + { to~(numerical~range) } { \textasciitilde } + \DeclareTranslation { Japanese } + { to~(numerical~range) } { \textasciitilde } + \IfPackageAtLeastTF { siunitx } { 2021/05/17 } { } { - \DeclareTranslation { Chinese } { and } { 和 } - \DeclareTranslation { Japanese } { and } { と } - \DeclareTranslation { Chinese } { to~(numerical~range) } { \textasciitilde } - \DeclareTranslation { Japanese } { to~(numerical~range) } { \textasciitilde } - } { } + \DeclareTranslation { English } { to~(numerical~range) } { to } + \DeclareTranslation { German } { to~(numerical~range) } { bis } + \keys_set:nn { siunitx } + { + list-final-separator = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { and } } + \ifmmode \ \else \space \fi + } , + list-pair-separator = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { and } } + \ifmmode \ \else \space \fi + } , + range-phrase = + { + \ifmmode \ \else \space \fi + \text { \GetTranslation { to~(numerical~range) } } + \ifmmode \ \else \space \fi + } + } + } } \endinput %% diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-black.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-black.pdf deleted file mode 100644 index 827e9bff..00000000 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-black.pdf and /dev/null differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-blue.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-blue.pdf deleted file mode 100644 index faac3571..00000000 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-blue.pdf and /dev/null differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-red.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-red.pdf index 2d182da2..7b34ecf2 100644 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-red.pdf and b/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-red.pdf differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-small-red.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-small-red.pdf new file mode 100644 index 00000000..53901f69 Binary files /dev/null and b/texmf/tex/latex/sjtutex/vi/sjtu-vi-badge-small-red.pdf differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-black.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-black.pdf deleted file mode 100644 index 6583c675..00000000 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-black.pdf and /dev/null differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-blue.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-blue.pdf deleted file mode 100644 index e9825d48..00000000 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-blue.pdf and /dev/null differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-red.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-red.pdf index 4ed072b4..08a405be 100644 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-red.pdf and b/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-red.pdf differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-small-red.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-small-red.pdf new file mode 100644 index 00000000..a1ec93ed Binary files /dev/null and b/texmf/tex/latex/sjtutex/vi/sjtu-vi-logo-small-red.pdf differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-black.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-black.pdf deleted file mode 100644 index cb510ba4..00000000 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-black.pdf and /dev/null differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-blue.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-blue.pdf deleted file mode 100644 index 5a2aec11..00000000 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-blue.pdf and /dev/null differ diff --git a/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-red.pdf b/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-red.pdf index 829e95a1..26a249e4 100644 Binary files a/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-red.pdf and b/texmf/tex/latex/sjtutex/vi/sjtu-vi-name-red.pdf differ