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