diff options
16 files changed, 432 insertions, 342 deletions
diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst index 22126985c57..d25269b8e34 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst @@ -8,7 +8,7 @@ %% ------------------------------------------------------------------- %% GB/T 7714—2015 BibTeX Style %% https://github.com/CTeX-org/gbt7714-bibtex-style -%% Version: 2020/12/17 v2.1 +%% Version: 2021/04/03 v2.1.1 %% ------------------------------------------------------------------- %% Copyright (C) 2016—2021 by Zeping Lee <zepinglee AT gmail.com> %% ------------------------------------------------------------------- @@ -65,7 +65,7 @@ FUNCTION {load.config} #0 'uppercase.name := #0 'terms.in.macro := #1 'year.after.author := - #1 'period.after.author := + #0 'period.after.author := #1 'sentence.case.title := #0 'link.title := #1 'title.in.journal := @@ -78,7 +78,7 @@ FUNCTION {load.config} #0 'italic.journal := #0 'bold.journal.volume := #0 'show.missing.address.publisher := - #0 'space.before.pages := + #1 'space.before.pages := #0 'only.start.page := #1 'show.urldate := #1 'show.url := @@ -250,6 +250,22 @@ FUNCTION {or} if$ } +STRINGS { x y } + +FUNCTION {contains} +{ 'y := + 'x := + y text.length$ 'len := + x text.length$ len - #1 + 'charptr := + { charptr #0 > + x charptr len substring$ y = not + and + } + { charptr #1 - 'charptr := } + while$ + charptr #0 > +} + STRINGS { s t } FUNCTION {output.nonnull} @@ -713,17 +729,13 @@ FUNCTION {output.bibitem} "\bibitem[" write$ label ")" * make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - 's := - s text.length$ 'charptr := - { charptr #0 > s charptr #1 substring$ "[" = not and } - { charptr #1 - 'charptr := } - while$ - charptr #0 > - { "{" s * "}" * } - { s } + { pop$ } + { duplicate$ "]" contains + { "{" swap$ * "}" * } + 'skip$ + if$ + * + } if$ "]{" * write$ cite$ write$ @@ -1186,21 +1198,6 @@ FUNCTION {extract.after.dash} if$ } -FUNCTION {contains.dash} -{ duplicate$ empty$ - { pop$ #0 } - { 's := - { s empty$ not - s #1 #1 substring$ "-" = not - and - } - { s #2 global.max$ substring$ 's := } - while$ - s empty$ not - } - if$ -} - FUNCTION {extract.before.slash} { duplicate$ empty$ { pop$ "" } @@ -1245,23 +1242,6 @@ FUNCTION {extract.after.slash} if$ } -FUNCTION {contains.slash} -{ duplicate$ empty$ - { pop$ #0 } - { 's := - { s empty$ not - s #1 #1 substring$ "-" = not - and - s #1 #1 substring$ "/" = not - and - } - { s #2 global.max$ substring$ 's := } - while$ - s empty$ not - } - if$ -} - FUNCTION {format.year} { year empty$ not { year extract.before.slash extra.label * } @@ -2222,7 +2202,10 @@ FUNCTION {calc.short.authors} FUNCTION {calc.label} { calc.short.authors - short.list + short.list "]" contains + { "{" short.list * "}" * } + { short.list } + if$ "(" * format.year duplicate$ empty$ @@ -2230,6 +2213,10 @@ FUNCTION {calc.label} { pop$ "" } 'skip$ if$ + duplicate$ "]" contains + { "{" swap$ * "}" * } + 'skip$ + if$ * 'label := short.label diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst index 1dd06bb8871..5c08210cb3f 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst @@ -8,7 +8,7 @@ %% ------------------------------------------------------------------- %% GB/T 7714—2015 BibTeX Style %% https://github.com/CTeX-org/gbt7714-bibtex-style -%% Version: 2020/12/17 v2.1 +%% Version: 2021/04/03 v2.1.1 %% ------------------------------------------------------------------- %% Copyright (C) 2016—2021 by Zeping Lee <zepinglee AT gmail.com> %% ------------------------------------------------------------------- @@ -240,6 +240,22 @@ FUNCTION {or} if$ } +STRINGS { x y } + +FUNCTION {contains} +{ 'y := + 'x := + y text.length$ 'len := + x text.length$ len - #1 + 'charptr := + { charptr #0 > + x charptr len substring$ y = not + and + } + { charptr #1 - 'charptr := } + while$ + charptr #0 > +} + STRINGS { s t } FUNCTION {output.nonnull} @@ -703,17 +719,13 @@ FUNCTION {output.bibitem} "\bibitem[" write$ label ")" * make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - 's := - s text.length$ 'charptr := - { charptr #0 > s charptr #1 substring$ "[" = not and } - { charptr #1 - 'charptr := } - while$ - charptr #0 > - { "{" s * "}" * } - { s } + { pop$ } + { duplicate$ "]" contains + { "{" swap$ * "}" * } + 'skip$ + if$ + * + } if$ "]{" * write$ cite$ write$ @@ -1176,21 +1188,6 @@ FUNCTION {extract.after.dash} if$ } -FUNCTION {contains.dash} -{ duplicate$ empty$ - { pop$ #0 } - { 's := - { s empty$ not - s #1 #1 substring$ "-" = not - and - } - { s #2 global.max$ substring$ 's := } - while$ - s empty$ not - } - if$ -} - FUNCTION {extract.before.slash} { duplicate$ empty$ { pop$ "" } @@ -1235,23 +1232,6 @@ FUNCTION {extract.after.slash} if$ } -FUNCTION {contains.slash} -{ duplicate$ empty$ - { pop$ #0 } - { 's := - { s empty$ not - s #1 #1 substring$ "-" = not - and - s #1 #1 substring$ "/" = not - and - } - { s #2 global.max$ substring$ 's := } - while$ - s empty$ not - } - if$ -} - FUNCTION {format.year} { year empty$ not { year extract.before.slash extra.label * } @@ -2212,7 +2192,10 @@ FUNCTION {calc.short.authors} FUNCTION {calc.label} { calc.short.authors - short.list + short.list "]" contains + { "{" short.list * "}" * } + { short.list } + if$ "(" * format.year duplicate$ empty$ @@ -2220,6 +2203,10 @@ FUNCTION {calc.label} { pop$ "" } 'skip$ if$ + duplicate$ "]" contains + { "{" swap$ * "}" * } + 'skip$ + if$ * 'label := short.label diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst index 6c1eaa63d78..9f57d5ed57d 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst @@ -8,7 +8,7 @@ %% ------------------------------------------------------------------- %% GB/T 7714—2015 BibTeX Style %% https://github.com/CTeX-org/gbt7714-bibtex-style -%% Version: 2020/12/17 v2.1 +%% Version: 2021/04/03 v2.1.1 %% ------------------------------------------------------------------- %% Copyright (C) 2016—2021 by Zeping Lee <zepinglee AT gmail.com> %% ------------------------------------------------------------------- @@ -73,7 +73,7 @@ FUNCTION {load.config} #0 'italic.journal := #0 'bold.journal.volume := #0 'show.missing.address.publisher := - #0 'space.before.pages := + #1 'space.before.pages := #0 'only.start.page := #1 'show.urldate := #1 'show.url := @@ -240,6 +240,22 @@ FUNCTION {or} if$ } +STRINGS { x y } + +FUNCTION {contains} +{ 'y := + 'x := + y text.length$ 'len := + x text.length$ len - #1 + 'charptr := + { charptr #0 > + x charptr len substring$ y = not + and + } + { charptr #1 - 'charptr := } + while$ + charptr #0 > +} + STRINGS { s t } FUNCTION {output.nonnull} @@ -703,17 +719,13 @@ FUNCTION {output.bibitem} "\bibitem[" write$ label ")" * make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - 's := - s text.length$ 'charptr := - { charptr #0 > s charptr #1 substring$ "[" = not and } - { charptr #1 - 'charptr := } - while$ - charptr #0 > - { "{" s * "}" * } - { s } + { pop$ } + { duplicate$ "]" contains + { "{" swap$ * "}" * } + 'skip$ + if$ + * + } if$ "]{" * write$ cite$ write$ @@ -1176,21 +1188,6 @@ FUNCTION {extract.after.dash} if$ } -FUNCTION {contains.dash} -{ duplicate$ empty$ - { pop$ #0 } - { 's := - { s empty$ not - s #1 #1 substring$ "-" = not - and - } - { s #2 global.max$ substring$ 's := } - while$ - s empty$ not - } - if$ -} - FUNCTION {extract.before.slash} { duplicate$ empty$ { pop$ "" } @@ -1235,23 +1232,6 @@ FUNCTION {extract.after.slash} if$ } -FUNCTION {contains.slash} -{ duplicate$ empty$ - { pop$ #0 } - { 's := - { s empty$ not - s #1 #1 substring$ "-" = not - and - s #1 #1 substring$ "/" = not - and - } - { s #2 global.max$ substring$ 's := } - while$ - s empty$ not - } - if$ -} - FUNCTION {format.year} { year empty$ not { year extract.before.slash extra.label * } @@ -2212,7 +2192,10 @@ FUNCTION {calc.short.authors} FUNCTION {calc.label} { calc.short.authors - short.list + short.list "]" contains + { "{" short.list * "}" * } + { short.list } + if$ "(" * format.year duplicate$ empty$ @@ -2220,6 +2203,10 @@ FUNCTION {calc.label} { pop$ "" } 'skip$ if$ + duplicate$ "]" contains + { "{" swap$ * "}" * } + 'skip$ + if$ * 'label := short.label diff --git a/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md b/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md index 1b80aec4979..2532ff0458c 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md @@ -6,6 +6,18 @@ ## [Unreleased] +## [v7.2.2] - 2021-04-03 +### Changed +- 修改授权说明的内容和格式,同 2020 年 12 月版 Word 模板一致(#625)。 +- 去掉参考文献的页码前与冒号之间的空格,同步 2020 年 3 月版《指南》的格式修改(#629)。 +- 著者-出版年制参考文献表的著者姓名与年份之间改为逗号。 + +### Fixed +- 修正图表等浮动体与文字之间的距离(#614、#617)。 +- 修正表格、算法等浮动体的行距(#619)。 +- 修正了上标式引用后与中文之间多余的空格(#624)。 +- 修正了参考文献的姓名或年份中含有中括号时的引用错误(#630)。 + ## [v7.2.1] - 2021-03-21 ### Added - 在文档中添加更多关于数学公式样式的说明。 @@ -674,7 +686,8 @@ -[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.2.1...HEAD +[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.2.2...HEAD +[v7.2.2]: https://github.com/tuna/thuthesis/compare/v7.2.1...v7.2.2 [v7.2.1]: https://github.com/tuna/thuthesis/compare/v7.2.0...v7.2.1 [v7.2.0]: https://github.com/tuna/thuthesis/compare/v7.1.0...v7.2.0 [v7.1.0]: https://github.com/tuna/thuthesis/compare/v7.0.0...v7.1.0 diff --git a/Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex b/Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex index 8d6c2b070ec..d084a3ccc2d 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex @@ -140,14 +140,42 @@ Row 38 & & & \\ Row 39 & & & \\ Row 40 & & & \\ - Row 41 & & & \\ - Row 42 & & & \\ - Row 43 & & & \\ - Row 44 & & & \\ - Row 45 & & & \\ - Row 46 & & & \\ - Row 47 & & & \\ - Row 48 & & & \\ - Row 49 & & & \\ - Row 50 & & & \\ \end{longtable} + + + +\section{算法} + +算法环境可以使用 \pkg{algorithms} 或者 \pkg{algorithm2e} 宏包。 + +\renewcommand{\algorithmicrequire}{\textbf{输入:}\unskip} +\renewcommand{\algorithmicensure}{\textbf{输出:}\unskip} + +\begin{algorithm} + \caption{Calculate $y = x^n$} + \label{alg1} + \small + \begin{algorithmic} + \REQUIRE $n \geq 0 \vee x \neq 0$ + \ENSURE $y = x^n$ + + \STATE $y \leftarrow 1$ + \IF{$n < 0$} + \STATE $X \leftarrow 1 / x$ + \STATE $N \leftarrow -n$ + \ELSE + \STATE $X \leftarrow x$ + \STATE $N \leftarrow n$ + \ENDIF + + \WHILE{$N \neq 0$} + \IF{$N$ is even} + \STATE $X \leftarrow X \times X$ + \STATE $N \leftarrow N / 2$ + \ELSE[$N$ is odd] + \STATE $y \leftarrow y \times X$ + \STATE $N \leftarrow N - 1$ + \ENDIF + \ENDWHILE + \end{algorithmic} +\end{algorithm} diff --git a/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib index 4ca6bccded1..7c397888d50 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib +++ b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib @@ -316,7 +316,6 @@ @online{oclc2000about, author = {{Online Computer Library Center, Inc}}, title = {About {OCLC}: History of Cooperation}, - year = {2000}, urldate = {2000-01-08}, url = {http://www.oclc.org/about/cooperation.en.htm}, } diff --git a/Master/texmf-dist/doc/latex/thuthesis/spine.pdf b/Master/texmf-dist/doc/latex/thuthesis/spine.pdf Binary files differindex a029427c310..17f54571d32 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/spine.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/spine.pdf diff --git a/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex b/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex index 768e67c27f1..dc74d148bdf 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex @@ -135,6 +135,10 @@ % 跨页表格 \usepackage{longtable} +% 算法 +\usepackage{algorithm} +\usepackage{algorithmic} + % 量和单位 \usepackage{siunitx} diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf Binary files differindex 2e03185e82b..e994bb2e6dd 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf Binary files differindex b1700ca1d31..ff10a7f10f9 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx index 061749cc9a1..2a9e07f9b4a 100644 --- a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx +++ b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx @@ -14,7 +14,7 @@ % % \iffalse %<*driver> -\ProvidesFile{thuthesis.dtx}[2021/03/21 7.2.1 Tsinghua University Thesis Template] +\ProvidesFile{thuthesis.dtx}[2021/04/03 7.2.2 Tsinghua University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -1246,7 +1246,7 @@ % \begin{macrocode} %<cls>\NeedsTeXFormat{LaTeX2e}[2017/04/15] %<cls>\ProvidesClass{thuthesis} -%<cls>[2021/03/21 7.2.1 Tsinghua University Thesis Template] +%<cls>[2021/04/03 7.2.2 Tsinghua University Thesis Template] % \end{macrocode} % % 报错 @@ -1302,7 +1302,7 @@ %<*cls> \hyphenation{Thu-Thesis} \def\thuthesis{ThuThesis} -\def\version{7.2.1} +\def\version{7.2.2} \RequirePackage{kvdefinekeys} \RequirePackage{kvsetkeys} \RequirePackage{kvoptions} @@ -2100,6 +2100,10 @@ % 注意重定义 \cs{normalsize} 应在 \pkg{unicode-math} 的 \cs{setmathfont} 前。 % % 表达式行的行距为单倍行距,段前空 6 磅,段后空 6 磅。 +% +% \cs{small} 等其他命令通常用于表格等环境中,这部分要求单倍行距,与正文的字号-行距比例不同, +% 所以保留默认的 1.2 倍字号的行距,作为单倍行距在英文(1.15 倍字号)和中文(1.3倍字号) +% 两种情况的折衷。 % \begin{macrocode} \renewcommand\normalsize{% \@setfontsize\normalsize{12bp}{20bp}% @@ -2112,35 +2116,6 @@ \ifx\MakeRobust\@undefined \else \MakeRobust\normalsize \fi -\DeclareRobustCommand\small{% - \@setfontsize\small{10.5bp}{17.5bp}% - \abovedisplayskip 6bp% - \abovedisplayshortskip 6bp% - \belowdisplayshortskip 6bp% - \def\@listi{\leftmargin\leftmargini - \topsep \z@skip - \parsep \z@skip - \itemsep \z@skip}% - \belowdisplayskip \abovedisplayskip -} -\DeclareRobustCommand\footnotesize{% - \@setfontsize\footnotesize{9bp}{15bp}% - \abovedisplayskip 6bp% - \abovedisplayshortskip 6bp% - \belowdisplayshortskip 6bp% - \def\@listi{\leftmargin\leftmargini - \topsep \z@skip - \parsep \z@skip - \itemsep \z@skip}% - \belowdisplayskip \abovedisplayskip -} -\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize{7.5bp}{12.5bp}} -\DeclareRobustCommand\tiny{\@setfontsize\tiny{6.5bp}{10.83bp}} -\DeclareRobustCommand\large{\@setfontsize\large{15bp}{25bp}} -\DeclareRobustCommand\Large{\@setfontsize\Large{18bp}{30bp}} -\DeclareRobustCommand\LARGE{\@setfontsize\LARGE{22bp}{36.67bp}} -\DeclareRobustCommand\huge{\@setfontsize\huge{24bp}{40bp}} -\DeclareRobustCommand\Huge{\@setfontsize\Huge{26bp}{43.33bp}} % \end{macrocode} % \end{macro} % @@ -3361,6 +3336,39 @@ \setlength{\@fpbot}{0bp \@plus1.0fil} % \end{macrocode} % +% 由于 LaTeX2e kernel 的问题,图表等浮动体与文字前后的距离不一致,需要进行 patch。 +% 参考 \href{https://github.com/tuna/thuthesis/issues/614}{tuna/thuthesis/issues\#614}、 +% \url{https://www.zhihu.com/question/46618031} 和 +% \url{https://tex.stackexchange.com/a/40363/82731}。 +% \begin{macrocode} +\patchcmd{\@addtocurcol}% + {\vskip \intextsep}% + {\edef\save@first@penalty{\the\lastpenalty}\unpenalty + \ifnum \lastpenalty = \@M % hopefully the OR penalty + \unpenalty + \else + \penalty \save@first@penalty \relax % put it back + \fi + \ifnum\outputpenalty <-\@Mii + \addvspace\intextsep + \vskip\parskip + \else + \addvspace\intextsep + \fi}% + {}{\thu@patch@error{\@addtocurcol}} +\patchcmd{\@addtocurcol}% + {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}% + {\ifnum\outputpenalty <-\@Mii + \aftergroup\vskip\aftergroup\intextsep + \aftergroup\nointerlineskip + \else + \vskip\intextsep + \fi}% + {}{\thu@patch@error{\@addtocurcol}} +\patchcmd{\@getpen}{\@M}{\@Mi} + {}{\thu@patch@error{\@getpen}} +% \end{macrocode} +% % 下面这组命令使浮动对象的缺省值稍微宽松一点,从而防止幅度对象占据过多的文本页面, % 也可以防止在很大空白的浮动页上放置很小的图形。 % \begin{macrocode} @@ -3419,37 +3427,7 @@ \thu@option@hook{number-separator}{\thu@set@number@separator} % \end{macrocode} % -% 研究生要求表单元格中的文字采用 11pt 宋体字,单倍行距。段前空 3 磅,段后空 3 磅。 -% 段前段后的高度直接加到行距上,对于中文,修正后的行距为 -% $11 \times 1.3 + 6 = 20.3$(pt), -% 而英文版的行距为 $11 \times 1.3 + 6 = 18.65$(pt)。 -% 用户可以手动设置 \cs{arraystretch} 调整表格的行距 。 -% \begin{macrocode} -\patchcmd\@floatboxreset{% - \normalsize -}{% - \ifthu@language@chinese - \fontsize{11bp}{20.3bp}\selectfont - \else - \fontsize{11bp}{18.65bp}\selectfont - \fi -}{}{\thu@patch@error{\@floatboxreset}} -% \end{macrocode} -% -% 对 \pkg{longtable} 跨页表格进行相同的设置。 -% \begin{macrocode} -\AtEndOfPackageFile*{longtable}{ - \AtBeginEnvironment{longtable}{% - \ifthu@language@chinese - \fontsize{11bp}{20.3bp}\selectfont - \else - \fontsize{11bp}{18.65bp}\selectfont - \fi - } -} -% \end{macrocode} -% -% 定制浮动图形和表格标题样式,以及改变附录中浮动体的编号规则: +% 定制浮动图形和表格标题样式: % \begin{itemize} % \item 图表标题字体为 11pt % \item 去掉图表号后面的冒号,图序与图名文字之间空一个汉字符宽度 @@ -3461,14 +3439,17 @@ \ifthu@degree@bachelor \fontsize{11bp}{15bp}\selectfont \else - \fontsize{11bp}{14.3bp}\selectfont + \ifthu@language@chinese + \fontsize{11bp}{14.3bp}\selectfont + \else + \fontsize{11bp}{12.65bp}\selectfont + \fi \fi } \captionsetup{ font = thu, labelsep = quad, - aboveskip = 6bp, - belowskip = 0bp, + skip = 6bp, figureposition = bottom, tableposition = top, } @@ -3478,6 +3459,50 @@ % \renewcommand{\p@subfigure}{:} % \end{macrocode} % +% 研究生要求表单元格中的文字采用 11pt 宋体字,单倍行距。段前空 3 磅,段后空 3 磅。 +% 对于中文,\cs{arraystretch} 需要调整为 $1 + 6 / (11 \times 1.3) \approx 1.42$。 +% 对于英文,\cs{arraystretch} 需要调整为 $1 + 6 / (11 \times 1.15) \approx 1.47$。 +% +% 注意不能简单地把行距设为 $\SI{11}{pt} \times 1.3 + \SI{6}{pt} = \SI{20.3}{pt}$, +% 这会导致含有多行文字的单元格中行距有误。 +% +% 其他浮动体中(比如 \env{algorithm})的字号默认同表格一致。 +% \begin{macrocode} +\newcommand\thu@set@table@font{ + \ifthu@language@chinese + \def\thu@table@font{% + \fontsize{11bp}{14.3bp}\selectfont + \renewcommand\arraystretch{1.42}% + }% + \else + \def\thu@table@font{% + \fontsize{11bp}{12.65bp}\selectfont + \renewcommand\arraystretch{1.47}% + }% + \fi +} +\thu@set@table@font +\thu@option@hook{language}{\thu@set@table@font} +\patchcmd\@floatboxreset{% + \normalsize +}{% + \thu@table@font +}{}{\thu@patch@error{\@floatboxreset}} +% \end{macrocode} +% +% 对 \pkg{longtable} 跨页表格进行相同的设置。 +% +% 在 Word 模板中按照正确的设置(需要去掉文档网格), +% 中文模板每页能装下 1 行标题、1 行表头、30 行表身, +% 英文模板每页能装下 1 行标题、1 行表头、33 行表身。 +% \begin{macrocode} +\AtEndOfPackageFile*{longtable}{ + \AtBeginEnvironment{longtable}{% + \thu@table@font + } +} +% \end{macrocode} +% % 研究生和本科生都推荐使用三线表,并且要求表的上、下边线为单直线,线粗为 1.5 磅; % 第三条线为单直线,线粗为 1 磅。 % 这里设置 \pkg{booktabs} 线粗的默认值。 @@ -4835,52 +4860,45 @@ \newcommand{\thu@authorization@frontdate}{% 日\ifthu@degree@bachelor\hspace{1em}\else\hspace{2em}\fi 期:} \newcommand\thu@copyright@page@graduate{% - \newgeometry{ - vmargin = 3.8cm, - hmargin = 3.2cm, - }% \begingroup \ctexset{ chapter = { format = {\centering\sffamily\erhao}, - beforeskip = 18bp, - afterskip = 6bp, + beforeskip = 40bp, + afterskip = 36bp, }, }% \thu@chapter*[]{关于学位论文使用授权的说明}% \thispagestyle{empty}% \endgroup - \vskip 50bp% + \vskip 13bp% \begingroup \fontsize{14bp}{26bp}\selectfont 本人完全了解清华大学有关保留、使用学位论文的规定,即:\par 清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:% - (1)已获学位的研究生必须按学校规定提交学位论文,% - 学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;% + (1)\nobreak 已获学位的研究生必须按学校规定提交学位论文,% + 学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;\allowbreak (2)\nobreak 为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料室等场所供校内师生阅读,% - 或在校园网上供校内师生浏览部分内容;% + 或在校园网上供校内师生浏览部分内容;\allowbreak \ifthu@degree@doctor - (3)根据《中华人民共和国学位条例暂行实施办法》及上级教育主管部门具体要求,向国家图书馆报送相应的学位论文。% + (3)\nobreak 根据《中华人民共和国学位条例暂行实施办法》及上级教育主管部门具体要求,向国家图书馆报送相应的学位论文。% \else - (3)按照上级教育主管部门督导、抽查等要求,报送相应的学位论文。% + (3)\nobreak 按照上级教育主管部门督导、抽查等要求,报送相应的学位论文。% \fi \par 本人保证遵守上述规定。\par - \vskip 6bp% - \textbf{(保密的论文在解密后遵守此规定)}\par \endgroup - \vskip1.2cm% + \vskip 33bp% \begingroup - \noindent\xiaosi - \hspace*{1.5cm}% - 作者签名:\thu@underline[7em]\relax\hfill - 导师签名:\thu@underline[7em]\relax\hspace*{1cm}\\[3pt]% - \hspace*{1.5cm}% - 日\hspace{2em}期:\thu@underline[7em]\relax\hfill - 日\hspace{2em}期:\thu@underline[7em]\relax\hspace*{1cm}% + \fontsize{12bp}{23.4bp}\selectfont + \parindent\z@ + \leftskip 43bp% + 作者签名:\hspace{4bp}\thu@underline[7em]{}\hspace{47bp}% + 导师签名:\hspace{4bp}\thu@underline[7em]{}\par + \vskip 6bp% + 日\hspace{2em}期:\hspace{4bp}\thu@underline[7em]{}\hspace{47bp}% + 日\hspace{2em}期:\hspace{4bp}\thu@underline[7em]{}\par \endgroup - \clearpage - \restoregeometry } \newcommand\thu@copyright@page@bachelor{% \begingroup @@ -5345,20 +5363,44 @@ % % 将 \cs{citep} super 式引用的页码改为上标。 % \begin{macrocode} - \renewcommand\NAT@citesuper[3]{\ifNAT@swa - \if*#2*\else#2\NAT@spacechar\fi - % \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}% - % \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup} - \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close\if*#3*\else#3\fi}% - \else #1\fi\endgroup} + \renewcommand\NAT@citesuper[3]{% + \ifNAT@swa + \if*#2*\else + #2\NAT@spacechar + \fi + % \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}% + % \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup} + \unskip\kern\p@ + \textsuperscript{% + \NAT@@open#1\NAT@@close + \if*#3*\else#3\fi + }% + \kern\p@ + \else + #1% + \fi + \endgroup + } % \end{macrocode} % % 将 \cs{citep} numbers 式引用的页码改为上标并置于括号外。 % \begin{macrocode} - \renewcommand\NAT@citenum% - [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi - % #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup} - #1\NAT@@close\textsuperscript{\if*#3*\else#3\fi}\else#1\fi\endgroup} + \renewcommand\NAT@citenum[3]{% + \ifNAT@swa + \NAT@@open + \if*#2*\else + #2\NAT@spacechar + \fi + % #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close + #1\NAT@@close + \if*#3*\else + \textsuperscript{#3}% + \fi + \else + #1% + \fi + \endgroup + } % \end{macrocode} % % 修改 \cs{citet} 引用的样式。 @@ -5452,8 +5494,11 @@ % }{}% \NAT@mbox{\NAT@@close}% \@ifnum{\NAT@ctype=\z@}{% - \if*#2*\else\textsuperscript{#2}\fi + \if*#2*\else + \textsuperscript{#2}% + \fi }{}% + \NAT@super@kern \fi }{#1}{#2}% }% @@ -6391,6 +6436,7 @@ \RequirePackage{fontspec}[2017/01/20] \RequirePackage{amsmath} \RequirePackage{unicode-math} +\RequirePackage{siunitx} \RequirePackage[UTF8,scheme=chinese]{ctex} \RequirePackage[ top=2.5cm, bottom=2.5cm, diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-author-year.bbx b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-author-year.bbx index ebaa95d168e..47ec9ea8154 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-author-year.bbx +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-author-year.bbx @@ -18,5 +18,3 @@ \setlength{\parsep}{\bibparsep}}} {\endlist} {\item} - -\renewcommand*{\bibpagespunct}{\addcolon\addthinspace} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-bachelor.cbx b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-bachelor.cbx index acb8a10c949..f791bbc3f65 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-bachelor.cbx +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-bachelor.cbx @@ -2,3 +2,11 @@ citation style] \RequireCitationStyle{gb7714-2015} + +\renewrobustcmd{\mkbibsuperscript}[1]{% + \unspace\allowhyphens\textsuperscript{% + \begingroup + \protected\long\def\mkbibsuperscript##1{% + \blx@warning{Nested superscript}% + \mkbibbrackets{##1}}% + #1\endgroup}\kern\z@} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx index c732471bfed..f0d6234effa 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx @@ -25,5 +25,3 @@ \renewcommand*{\makelabel}[1]{\hss##1}} {\endlist} {\item} - -\renewcommand*{\bibpagespunct}{\addcolon} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.cbx b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.cbx index d13887bf262..249cec7203b 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.cbx +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.cbx @@ -2,3 +2,11 @@ citation style] \RequireCitationStyle{gb7714-2015} + +\renewrobustcmd{\mkbibsuperscript}[1]{% + \unspace\allowhyphens\textsuperscript{% + \begingroup + \protected\long\def\mkbibsuperscript##1{% + \blx@warning{Nested superscript}% + \mkbibbrackets{##1}}% + #1\endgroup}\kern\z@} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls index 16029f60363..e0169b3c931 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls @@ -23,7 +23,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2017/04/15] \ProvidesClass{thuthesis} -[2021/03/21 7.2.1 Tsinghua University Thesis Template] +[2021/04/03 7.2.2 Tsinghua University Thesis Template] \newcommand\thu@error[1]{% \ClassError{thuthesis}{#1}{}% } @@ -56,7 +56,7 @@ } \hyphenation{Thu-Thesis} \def\thuthesis{ThuThesis} -\def\version{7.2.1} +\def\version{7.2.2} \RequirePackage{kvdefinekeys} \RequirePackage{kvsetkeys} \RequirePackage{kvoptions} @@ -593,35 +593,6 @@ \ifx\MakeRobust\@undefined \else \MakeRobust\normalsize \fi -\DeclareRobustCommand\small{% - \@setfontsize\small{10.5bp}{17.5bp}% - \abovedisplayskip 6bp% - \abovedisplayshortskip 6bp% - \belowdisplayshortskip 6bp% - \def\@listi{\leftmargin\leftmargini - \topsep \z@skip - \parsep \z@skip - \itemsep \z@skip}% - \belowdisplayskip \abovedisplayskip -} -\DeclareRobustCommand\footnotesize{% - \@setfontsize\footnotesize{9bp}{15bp}% - \abovedisplayskip 6bp% - \abovedisplayshortskip 6bp% - \belowdisplayshortskip 6bp% - \def\@listi{\leftmargin\leftmargini - \topsep \z@skip - \parsep \z@skip - \itemsep \z@skip}% - \belowdisplayskip \abovedisplayskip -} -\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize{7.5bp}{12.5bp}} -\DeclareRobustCommand\tiny{\@setfontsize\tiny{6.5bp}{10.83bp}} -\DeclareRobustCommand\large{\@setfontsize\large{15bp}{25bp}} -\DeclareRobustCommand\Large{\@setfontsize\Large{18bp}{30bp}} -\DeclareRobustCommand\LARGE{\@setfontsize\LARGE{22bp}{36.67bp}} -\DeclareRobustCommand\huge{\@setfontsize\huge{24bp}{40bp}} -\DeclareRobustCommand\Huge{\@setfontsize\Huge{26bp}{43.33bp}} \def\thu@def@fontsize#1#2{% \expandafter\newcommand\csname #1\endcsname[1][1.3]{% \fontsize{#2}{##1\dimexpr #2}\selectfont}} @@ -1556,6 +1527,32 @@ \setlength{\@fptop}{0bp \@plus1.0fil} \setlength{\@fpsep}{12bp \@plus2.0fil} \setlength{\@fpbot}{0bp \@plus1.0fil} +\patchcmd{\@addtocurcol}% + {\vskip \intextsep}% + {\edef\save@first@penalty{\the\lastpenalty}\unpenalty + \ifnum \lastpenalty = \@M % hopefully the OR penalty + \unpenalty + \else + \penalty \save@first@penalty \relax % put it back + \fi + \ifnum\outputpenalty <-\@Mii + \addvspace\intextsep + \vskip\parskip + \else + \addvspace\intextsep + \fi}% + {}{\thu@patch@error{\@addtocurcol}} +\patchcmd{\@addtocurcol}% + {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}% + {\ifnum\outputpenalty <-\@Mii + \aftergroup\vskip\aftergroup\intextsep + \aftergroup\nointerlineskip + \else + \vskip\intextsep + \fi}% + {}{\thu@patch@error{\@addtocurcol}} +\patchcmd{\@getpen}{\@M}{\@Mi} + {}{\thu@patch@error{\@getpen}} \renewcommand{\textfraction}{0.15} \renewcommand{\topfraction}{0.85} \renewcommand{\bottomfraction}{0.65} @@ -1605,42 +1602,52 @@ \let\thu@equation@number@separator\thu@number@separator } \thu@option@hook{number-separator}{\thu@set@number@separator} -\patchcmd\@floatboxreset{% - \normalsize -}{% - \ifthu@language@chinese - \fontsize{11bp}{20.3bp}\selectfont - \else - \fontsize{11bp}{18.65bp}\selectfont - \fi -}{}{\thu@patch@error{\@floatboxreset}} -\AtEndOfPackageFile*{longtable}{ - \AtBeginEnvironment{longtable}{% - \ifthu@language@chinese - \fontsize{11bp}{20.3bp}\selectfont - \else - \fontsize{11bp}{18.65bp}\selectfont - \fi - } -} \DeclareCaptionFont{thu}{% \ifthu@degree@bachelor \fontsize{11bp}{15bp}\selectfont \else - \fontsize{11bp}{14.3bp}\selectfont + \ifthu@language@chinese + \fontsize{11bp}{14.3bp}\selectfont + \else + \fontsize{11bp}{12.65bp}\selectfont + \fi \fi } \captionsetup{ font = thu, labelsep = quad, - aboveskip = 6bp, - belowskip = 0bp, + skip = 6bp, figureposition = bottom, tableposition = top, } \captionsetup[sub]{font=thu} \renewcommand{\thesubfigure}{(\alph{subfigure})} \renewcommand{\thesubtable}{(\alph{subtable})} +\newcommand\thu@set@table@font{ + \ifthu@language@chinese + \def\thu@table@font{% + \fontsize{11bp}{14.3bp}\selectfont + \renewcommand\arraystretch{1.42}% + }% + \else + \def\thu@table@font{% + \fontsize{11bp}{12.65bp}\selectfont + \renewcommand\arraystretch{1.47}% + }% + \fi +} +\thu@set@table@font +\thu@option@hook{language}{\thu@set@table@font} +\patchcmd\@floatboxreset{% + \normalsize +}{% + \thu@table@font +}{}{\thu@patch@error{\@floatboxreset}} +\AtEndOfPackageFile*{longtable}{ + \AtBeginEnvironment{longtable}{% + \thu@table@font + } +} \heavyrulewidth=1.5bp \lightrulewidth=1bp \AtEndOfPackageFile*{threeparttable}{ @@ -2713,52 +2720,45 @@ \newcommand{\thu@authorization@frontdate}{% 日\ifthu@degree@bachelor\hspace{1em}\else\hspace{2em}\fi 期:} \newcommand\thu@copyright@page@graduate{% - \newgeometry{ - vmargin = 3.8cm, - hmargin = 3.2cm, - }% \begingroup \ctexset{ chapter = { format = {\centering\sffamily\erhao}, - beforeskip = 18bp, - afterskip = 6bp, + beforeskip = 40bp, + afterskip = 36bp, }, }% \thu@chapter*[]{关于学位论文使用授权的说明}% \thispagestyle{empty}% \endgroup - \vskip 50bp% + \vskip 13bp% \begingroup \fontsize{14bp}{26bp}\selectfont 本人完全了解清华大学有关保留、使用学位论文的规定,即:\par 清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:% - (1)已获学位的研究生必须按学校规定提交学位论文,% - 学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;% + (1)\nobreak 已获学位的研究生必须按学校规定提交学位论文,% + 学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;\allowbreak (2)\nobreak 为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料室等场所供校内师生阅读,% - 或在校园网上供校内师生浏览部分内容;% + 或在校园网上供校内师生浏览部分内容;\allowbreak \ifthu@degree@doctor - (3)根据《中华人民共和国学位条例暂行实施办法》及上级教育主管部门具体要求,向国家图书馆报送相应的学位论文。% + (3)\nobreak 根据《中华人民共和国学位条例暂行实施办法》及上级教育主管部门具体要求,向国家图书馆报送相应的学位论文。% \else - (3)按照上级教育主管部门督导、抽查等要求,报送相应的学位论文。% + (3)\nobreak 按照上级教育主管部门督导、抽查等要求,报送相应的学位论文。% \fi \par 本人保证遵守上述规定。\par - \vskip 6bp% - \textbf{(保密的论文在解密后遵守此规定)}\par \endgroup - \vskip1.2cm% + \vskip 33bp% \begingroup - \noindent\xiaosi - \hspace*{1.5cm}% - 作者签名:\thu@underline[7em]\relax\hfill - 导师签名:\thu@underline[7em]\relax\hspace*{1cm}\\[3pt]% - \hspace*{1.5cm}% - 日\hspace{2em}期:\thu@underline[7em]\relax\hfill - 日\hspace{2em}期:\thu@underline[7em]\relax\hspace*{1cm}% + \fontsize{12bp}{23.4bp}\selectfont + \parindent\z@ + \leftskip 43bp% + 作者签名:\hspace{4bp}\thu@underline[7em]{}\hspace{47bp}% + 导师签名:\hspace{4bp}\thu@underline[7em]{}\par + \vskip 6bp% + 日\hspace{2em}期:\hspace{4bp}\thu@underline[7em]{}\hspace{47bp}% + 日\hspace{2em}期:\hspace{4bp}\thu@underline[7em]{}\par \endgroup - \clearpage - \restoregeometry } \newcommand\thu@copyright@page@bachelor{% \begingroup @@ -3066,16 +3066,40 @@ \@namedef{bibstyle@thuthesis-author-year}{\citestyle{author-year}} \@namedef{bibstyle@thuthesis-bachelor}{\citestyle{super}} \@namedef{bibstyle@thuthesis-inline}{\citestyle{inline}} - \renewcommand\NAT@citesuper[3]{\ifNAT@swa - \if*#2*\else#2\NAT@spacechar\fi - % \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}% - % \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup} - \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close\if*#3*\else#3\fi}% - \else #1\fi\endgroup} - \renewcommand\NAT@citenum% - [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi - % #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup} - #1\NAT@@close\textsuperscript{\if*#3*\else#3\fi}\else#1\fi\endgroup} + \renewcommand\NAT@citesuper[3]{% + \ifNAT@swa + \if*#2*\else + #2\NAT@spacechar + \fi + % \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}% + % \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup} + \unskip\kern\p@ + \textsuperscript{% + \NAT@@open#1\NAT@@close + \if*#3*\else#3\fi + }% + \kern\p@ + \else + #1% + \fi + \endgroup + } + \renewcommand\NAT@citenum[3]{% + \ifNAT@swa + \NAT@@open + \if*#2*\else + #2\NAT@spacechar + \fi + % #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close + #1\NAT@@close + \if*#3*\else + \textsuperscript{#3}% + \fi + \else + #1% + \fi + \endgroup + } \def\NAT@citexnum[#1][#2]#3{% \NAT@reset@parser \NAT@sort@cites{#3}% @@ -3156,8 +3180,11 @@ % }{}% \NAT@mbox{\NAT@@close}% \@ifnum{\NAT@ctype=\z@}{% - \if*#2*\else\textsuperscript{#2}\fi + \if*#2*\else + \textsuperscript{#2}% + \fi }{}% + \NAT@super@kern \fi }{#1}{#2}% }% |