From 76057b7887d0ac78c4698d0ba0af47fc26f36bae Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 19 Mar 2022 20:02:56 +0000 Subject: thuthesis (18mar22) (branch) git-svn-id: svn://tug.org/texlive/branches/branch2021.final@62810 c570f23f-e606-0410-a88d-b1316a301751 --- .../bibtex/bst/thuthesis/thuthesis-author-year.bst | 201 ++++++++++----- .../bibtex/bst/thuthesis/thuthesis-bachelor.bst | 195 +++++++++------ .../bibtex/bst/thuthesis/thuthesis-numeric.bst | 193 +++++++++------ Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md | 272 +++++++++++++++++---- Master/texmf-dist/doc/latex/thuthesis/README.md | 8 +- .../latex/thuthesis/data/appendix-translation.tex | 7 + .../texmf-dist/doc/latex/thuthesis/data/chap04.tex | 2 +- .../doc/latex/thuthesis/ref/appendix.bib | 2 +- Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib | 4 +- Master/texmf-dist/doc/latex/thuthesis/spine.pdf | Bin 22266 -> 18789 bytes Master/texmf-dist/doc/latex/thuthesis/thusetup.tex | 8 +- .../doc/latex/thuthesis/thuthesis-example.pdf | Bin 405257 -> 378207 bytes .../doc/latex/thuthesis/thuthesis-example.tex | 11 +- .../texmf-dist/doc/latex/thuthesis/thuthesis.pdf | Bin 1147400 -> 1008818 bytes .../source/latex/thuthesis/thuthesis.dtx | 253 ++++++++++++------- .../tex/latex/thuthesis/thuthesis-author-year.bbx | 31 ++- .../tex/latex/thuthesis/thuthesis-numeric.bbx | 30 +++ .../texmf-dist/tex/latex/thuthesis/thuthesis.cls | 202 +++++++++------ 18 files changed, 1000 insertions(+), 419 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 d25269b8e34..514368e842d 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst @@ -4,11 +4,11 @@ %% %% The original source files were: %% -%% gbt7714.dtx (with options: `2015,thu,authoryear') +%% gbt7714.dtx (with options: `2015,thu,author-year') %% ------------------------------------------------------------------- %% GB/T 7714—2015 BibTeX Style -%% https://github.com/CTeX-org/gbt7714-bibtex-style -%% Version: 2021/04/03 v2.1.1 +%% https://github.com/zepinglee/gbt7714-bibtex-style +%% Version: 2021/12/08 v2.1.3 %% ------------------------------------------------------------------- %% Copyright (C) 2016—2021 by Zeping Lee %% ------------------------------------------------------------------- @@ -29,9 +29,11 @@ INTEGERS { terms.in.macro year.after.author period.after.author + italic.book.title sentence.case.title link.title title.in.journal + show.patent.country show.mark space.before.mark show.medium.type @@ -43,12 +45,14 @@ INTEGERS { show.missing.address.publisher space.before.pages only.start.page + wave.dash.in.pages show.urldate show.url show.doi show.preprint show.note show.english.translation + end.with.period lang.zh.order lang.ja.order lang.en.order @@ -66,9 +70,11 @@ FUNCTION {load.config} #0 'terms.in.macro := #1 'year.after.author := #0 'period.after.author := + #0 'italic.book.title := #1 'sentence.case.title := #0 'link.title := #1 'title.in.journal := + #1 'show.patent.country := #1 'show.mark := #0 'space.before.mark := #1 'show.medium.type := @@ -80,12 +86,14 @@ FUNCTION {load.config} #0 'show.missing.address.publisher := #1 'space.before.pages := #0 'only.start.page := + #0 'wave.dash.in.pages := #1 'show.urldate := #1 'show.url := #1 'show.doi := - #0 'show.preprint := + #1 'show.preprint := #0 'show.note := #0 'show.english.translation := + #1 'end.with.period := #1 'lang.zh.order := #2 'lang.ja.order := #3 'lang.en.order := @@ -341,7 +349,10 @@ FUNCTION {output.check} } FUNCTION {fin.entry} -{ add.period$ +{ end.with.period + 'add.period$ + 'skip$ + if$ write$ show.english.translation entry.lang lang.zh = and { ")" @@ -428,10 +439,18 @@ FUNCTION {field.or.null} if$ } -FUNCTION {italicize} +FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } - { "\textit{" swap$ * "}" * } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {format.btitle} +{ italic.book.title + entry.lang lang.en = and + 'emphasize + 'skip$ if$ } @@ -566,7 +585,7 @@ FUNCTION {format.name} { bbl.et.al } { t get.str.lang 'name.lang := name.lang lang.en = - { t #1 "{vv~}{ll}{~f{~}}" format.name$ + { t #1 "{vv~}{ll}{ f{~}}" format.name$ uppercase.name { "u" change.case$ } 'skip$ @@ -756,7 +775,7 @@ FUNCTION {add.link} { url empty$ not { "\href{" url * "}{" * swap$ * "}" * } { doi empty$ not - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } 'skip$ if$ } @@ -772,7 +791,25 @@ FUNCTION {format.title} 'skip$ if$ entry.numbered number empty$ not and - { bbl.colon * number * } + { bbl.colon * + type$ "patent" = show.patent.country and + { address empty$ not + { address * ", " * } + { location empty$ not + { location * ", " * } + { entry.lang lang.zh = + { "中国" * ", " * } + 'skip$ + if$ + } + if$ + } + if$ + } + 'skip$ + if$ + number * + } 'skip$ if$ link.title @@ -917,6 +954,7 @@ FUNCTION {format.series.vol.num.title} } { format.title.vol.num } if$ + format.btitle link.title 'add.link 'skip$ @@ -948,6 +986,7 @@ FUNCTION {format.series.vol.num.booktitle} } { format.booktitle.vol.num } if$ + format.btitle in.booktitle { duplicate$ empty$ not entry.lang lang.en = and { "In: " swap$ * } @@ -989,16 +1028,15 @@ FUNCTION {abbreviate} if$ } -FUNCTION {format.journal} -{ "" - short.journal +FUNCTION {get.journal.title} +{ short.journal { shortjournal empty$ not - { shortjournal * } + { shortjournal } { journal empty$ not - { journal * abbreviate } + { journal abbreviate } { journaltitle empty$ not - { journaltitle * abbreviate } - 'skip$ + { journaltitle abbreviate } + { "" } if$ } if$ @@ -1006,18 +1044,33 @@ FUNCTION {format.journal} if$ } { journal empty$ not - { journal * } + { journal } { journaltitle empty$ not - { journaltitle * } - 'skip$ + { journaltitle } + { shortjournal empty$ not + { shortjournal } + { "" } + if$ + } if$ } if$ } if$ +} + +FUNCTION {check.arxiv.preprint} +{ #1 #5 substring$ "l" change.case$ "arxiv" = + { #1 } + { #0 } + if$ +} + +FUNCTION {format.journal} +{ get.journal.title duplicate$ empty$ not { italic.journal entry.lang lang.en = and - 'italicize + 'emphasize 'skip$ if$ } @@ -1092,7 +1145,7 @@ FUNCTION {format.edition} { edition change.sentence.case 's := s "Revised" = s "Revised edition" = or { "Rev. ed." } - { s " ed." *} + { s " ed." * } if$ } { edition } @@ -1282,11 +1335,16 @@ FUNCTION {format.periodical.year} } FUNCTION {format.date} -{ type$ "patent" = type$ "newspaper" = or - date empty$ not and - { date } - { year field.or.null - extra.label * +{ date empty$ not + { type$ "patent" = type$ "newspaper" = or + { date } + { format.year } + if$ + } + { year empty$ not + { format.year } + { "" } + if$ } if$ } @@ -1299,9 +1357,9 @@ FUNCTION {format.editdate} } FUNCTION {format.urldate} -{ urldate empty$ not - show.urldate show.url and is.pure.electronic or and - url empty$ not and +{ show.urldate show.url and entry.url empty$ not and + is.pure.electronic or + urldate empty$ not and { "\allowbreak[" urldate * "]" * } { "" } if$ @@ -1312,7 +1370,10 @@ FUNCTION {hyphenate} "" { t empty$ not } { t #1 #1 substring$ "-" = - { "-" * + { wave.dash.in.pages + { "~" * } + { "-" * } + if$ { t #1 #1 substring$ "-" = } { t #2 global.max$ substring$ 't := } while$ @@ -1432,12 +1493,9 @@ FUNCTION {check.url} if$ } -FUNCTION {format.url} -{ entry.url -} - FUNCTION {output.url} -{ entry.url empty$ not +{ show.url is.pure.electronic or + entry.url empty$ not and { new.block entry.url output } @@ -1538,9 +1596,9 @@ FUNCTION {check.electronic} } FUNCTION {format.eprint} -{ eprinttype empty$ not - { eprinttype } - { archivePrefix empty$ not +{ archivePrefix empty$ not + { archivePrefix } + { eprinttype empty$ not { archivePrefix } { "" } if$ @@ -1731,7 +1789,7 @@ FUNCTION {periodical} fin.entry } -FUNCTION {article} +FUNCTION {journal.article} { output.bibitem output.translation format.authors output @@ -1865,7 +1923,7 @@ FUNCTION {preprint} new.block title.in.journal { format.series.vol.num.title "title" output.check - "Z" set.entry.mark + "A" set.entry.mark format.mark "" output.after new.block } @@ -1875,13 +1933,18 @@ FUNCTION {preprint} new.sentence format.edition output new.block - output.eprint year.after.author not - { format.year "year" output.check } + { date empty$ + { format.date output } + 'skip$ + if$ + } 'skip$ if$ format.pages bbl.pages.colon output.after + format.editdate "" output.after format.urldate "" output.after + output.eprint output.url new.block format.note output @@ -1889,13 +1952,19 @@ FUNCTION {preprint} } FUNCTION {misc} -{ journal empty$ not - 'article - { booktitle empty$ not +{ get.journal.title + duplicate$ empty$ not + { check.arxiv.preprint + 'preprint + 'journal.article + if$ + } + { pop$ + booktitle empty$ not 'incollection { publisher empty$ not 'monograph - { eprint empty$ not show.preprint and + { eprint empty$ not archivePrefix empty$ not or 'preprint { entry.is.electronic 'electronic @@ -1920,6 +1989,8 @@ FUNCTION {archive} misc } +FUNCTION {article} { misc } + FUNCTION {book} { monograph } FUNCTION {booklet} { book } @@ -1948,6 +2019,8 @@ FUNCTION {inproceedings} FUNCTION {conference} { inproceedings } +FUNCTION {legislation} { archive } + FUNCTION {map} { "CM" set.entry.mark misc @@ -2407,25 +2480,42 @@ FUNCTION {presort} 'sort.key$ := } -STRINGS { longest.label last.label next.extra } +STRINGS { longest.label last.label next.extra last.extra.label } -INTEGERS { longest.label.width last.extra.num number.label } +INTEGERS { longest.label.width number.label } FUNCTION {initialize.longest.label} { "" 'longest.label := #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'longest.label.width := - #0 'last.extra.num := #0 'number.label := + "" 'last.extra.label := } FUNCTION {forward.pass} -{ last.label short.label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := +{ + last.label short.label = + { "" 'extra.label := + last.extra.label text.length$ 'charptr := + { last.extra.label charptr #1 substring$ "z" = + charptr #0 > and + } + { "a" extra.label * 'extra.label := + charptr #1 - 'charptr := + } + while$ + charptr #0 > + { last.extra.label charptr #1 substring$ chr.to.int$ #1 + int.to.chr$ + extra.label * 'extra.label := + last.extra.label #1 charptr #1 - substring$ + extra.label * 'extra.label := + } + { "a" extra.label * 'extra.label := } + if$ + extra.label 'last.extra.label := } - { "a" chr.to.int$ 'last.extra.num := + { "a" 'last.extra.label := "" 'extra.label := short.label 'last.label := } @@ -2434,7 +2524,8 @@ FUNCTION {forward.pass} } FUNCTION {reverse.pass} -{ next.extra "b" = +{ + next.extra "b" = { "a" 'extra.label := } 'skip$ if$ diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst index 5c08210cb3f..78c81e628be 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-bachelor.bst @@ -4,11 +4,11 @@ %% %% The original source files were: %% -%% gbt7714.dtx (with options: `2015,numerical,noslsn') +%% gbt7714.dtx (with options: `2015,numerical') %% ------------------------------------------------------------------- %% GB/T 7714—2015 BibTeX Style -%% https://github.com/CTeX-org/gbt7714-bibtex-style -%% Version: 2021/04/03 v2.1.1 +%% https://github.com/zepinglee/gbt7714-bibtex-style +%% Version: 2021/12/08 v2.1.3 %% ------------------------------------------------------------------- %% Copyright (C) 2016—2021 by Zeping Lee %% ------------------------------------------------------------------- @@ -29,9 +29,11 @@ INTEGERS { terms.in.macro year.after.author period.after.author + italic.book.title sentence.case.title link.title title.in.journal + show.patent.country show.mark space.before.mark show.medium.type @@ -43,12 +45,14 @@ INTEGERS { show.missing.address.publisher space.before.pages only.start.page + wave.dash.in.pages show.urldate show.url show.doi show.preprint show.note show.english.translation + end.with.period } FUNCTION {load.config} @@ -61,9 +65,11 @@ FUNCTION {load.config} #0 'terms.in.macro := #0 'year.after.author := #1 'period.after.author := + #0 'italic.book.title := #1 'sentence.case.title := #0 'link.title := #1 'title.in.journal := + #0 'show.patent.country := #1 'show.mark := #0 'space.before.mark := #1 'show.medium.type := @@ -75,12 +81,14 @@ FUNCTION {load.config} #0 'show.missing.address.publisher := #1 'space.before.pages := #0 'only.start.page := + #0 'wave.dash.in.pages := #1 'show.urldate := #1 'show.url := #1 'show.doi := - #0 'show.preprint := + #1 'show.preprint := #0 'show.note := #0 'show.english.translation := + #1 'end.with.period := } ENTRY @@ -331,7 +339,10 @@ FUNCTION {output.check} } FUNCTION {fin.entry} -{ add.period$ +{ end.with.period + 'add.period$ + 'skip$ + if$ write$ show.english.translation entry.lang lang.zh = and { ")" @@ -418,10 +429,18 @@ FUNCTION {field.or.null} if$ } -FUNCTION {italicize} +FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } - { "\textit{" swap$ * "}" * } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {format.btitle} +{ italic.book.title + entry.lang lang.en = and + 'emphasize + 'skip$ if$ } @@ -556,7 +575,7 @@ FUNCTION {format.name} { bbl.et.al } { t get.str.lang 'name.lang := name.lang lang.en = - { t #1 "{vv~}{ll}{~f{~}}" format.name$ + { t #1 "{vv~}{ll}{ f{~}}" format.name$ uppercase.name { "u" change.case$ } 'skip$ @@ -746,7 +765,7 @@ FUNCTION {add.link} { url empty$ not { "\href{" url * "}{" * swap$ * "}" * } { doi empty$ not - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } 'skip$ if$ } @@ -762,7 +781,25 @@ FUNCTION {format.title} 'skip$ if$ entry.numbered number empty$ not and - { bbl.colon * number * } + { bbl.colon * + type$ "patent" = show.patent.country and + { address empty$ not + { address * ", " * } + { location empty$ not + { location * ", " * } + { entry.lang lang.zh = + { "中国" * ", " * } + 'skip$ + if$ + } + if$ + } + if$ + } + 'skip$ + if$ + number * + } 'skip$ if$ link.title @@ -907,6 +944,7 @@ FUNCTION {format.series.vol.num.title} } { format.title.vol.num } if$ + format.btitle link.title 'add.link 'skip$ @@ -938,6 +976,7 @@ FUNCTION {format.series.vol.num.booktitle} } { format.booktitle.vol.num } if$ + format.btitle in.booktitle { duplicate$ empty$ not entry.lang lang.en = and { "In: " swap$ * } @@ -979,16 +1018,15 @@ FUNCTION {abbreviate} if$ } -FUNCTION {format.journal} -{ "" - short.journal +FUNCTION {get.journal.title} +{ short.journal { shortjournal empty$ not - { shortjournal * } + { shortjournal } { journal empty$ not - { journal * abbreviate } + { journal abbreviate } { journaltitle empty$ not - { journaltitle * abbreviate } - 'skip$ + { journaltitle abbreviate } + { "" } if$ } if$ @@ -996,18 +1034,33 @@ FUNCTION {format.journal} if$ } { journal empty$ not - { journal * } + { journal } { journaltitle empty$ not - { journaltitle * } - 'skip$ + { journaltitle } + { shortjournal empty$ not + { shortjournal } + { "" } + if$ + } if$ } if$ } if$ +} + +FUNCTION {check.arxiv.preprint} +{ #1 #5 substring$ "l" change.case$ "arxiv" = + { #1 } + { #0 } + if$ +} + +FUNCTION {format.journal} +{ get.journal.title duplicate$ empty$ not { italic.journal entry.lang lang.en = and - 'italicize + 'emphasize 'skip$ if$ } @@ -1082,7 +1135,7 @@ FUNCTION {format.edition} { edition change.sentence.case 's := s "Revised" = s "Revised edition" = or { "Rev. ed." } - { s " ed." *} + { s " ed." * } if$ } { edition } @@ -1272,11 +1325,16 @@ FUNCTION {format.periodical.year} } FUNCTION {format.date} -{ type$ "patent" = type$ "newspaper" = or - date empty$ not and - { date } - { year field.or.null - extra.label * +{ date empty$ not + { type$ "patent" = type$ "newspaper" = or + { date } + { format.year } + if$ + } + { year empty$ not + { format.year } + { "" } + if$ } if$ } @@ -1289,9 +1347,9 @@ FUNCTION {format.editdate} } FUNCTION {format.urldate} -{ urldate empty$ not - show.urldate show.url and is.pure.electronic or and - url empty$ not and +{ show.urldate show.url and entry.url empty$ not and + is.pure.electronic or + urldate empty$ not and { "\allowbreak[" urldate * "]" * } { "" } if$ @@ -1302,7 +1360,10 @@ FUNCTION {hyphenate} "" { t empty$ not } { t #1 #1 substring$ "-" = - { "-" * + { wave.dash.in.pages + { "~" * } + { "-" * } + if$ { t #1 #1 substring$ "-" = } { t #2 global.max$ substring$ 't := } while$ @@ -1422,12 +1483,9 @@ FUNCTION {check.url} if$ } -FUNCTION {format.url} -{ entry.url -} - FUNCTION {output.url} -{ entry.url empty$ not +{ show.url is.pure.electronic or + entry.url empty$ not and { new.block entry.url output } @@ -1528,9 +1586,9 @@ FUNCTION {check.electronic} } FUNCTION {format.eprint} -{ eprinttype empty$ not - { eprinttype } - { archivePrefix empty$ not +{ archivePrefix empty$ not + { archivePrefix } + { eprinttype empty$ not { archivePrefix } { "" } if$ @@ -1721,7 +1779,7 @@ FUNCTION {periodical} fin.entry } -FUNCTION {article} +FUNCTION {journal.article} { output.bibitem output.translation format.authors output @@ -1855,7 +1913,7 @@ FUNCTION {preprint} new.block title.in.journal { format.series.vol.num.title "title" output.check - "Z" set.entry.mark + "A" set.entry.mark format.mark "" output.after new.block } @@ -1865,13 +1923,18 @@ FUNCTION {preprint} new.sentence format.edition output new.block - output.eprint year.after.author not - { format.year "year" output.check } + { date empty$ + { format.date output } + 'skip$ + if$ + } 'skip$ if$ format.pages bbl.pages.colon output.after + format.editdate "" output.after format.urldate "" output.after + output.eprint output.url new.block format.note output @@ -1879,13 +1942,19 @@ FUNCTION {preprint} } FUNCTION {misc} -{ journal empty$ not - 'article - { booktitle empty$ not +{ get.journal.title + duplicate$ empty$ not + { check.arxiv.preprint + 'preprint + 'journal.article + if$ + } + { pop$ + booktitle empty$ not 'incollection { publisher empty$ not 'monograph - { eprint empty$ not show.preprint and + { eprint empty$ not archivePrefix empty$ not or 'preprint { entry.is.electronic 'electronic @@ -1910,6 +1979,8 @@ FUNCTION {archive} misc } +FUNCTION {article} { misc } + FUNCTION {book} { monograph } FUNCTION {booklet} { book } @@ -1938,6 +2009,8 @@ FUNCTION {inproceedings} FUNCTION {conference} { inproceedings } +FUNCTION {legislation} { archive } + FUNCTION {map} { "CM" set.entry.mark misc @@ -2248,44 +2321,26 @@ FUNCTION {presort} 'sort.key$ := } -STRINGS { longest.label last.label next.extra } +STRINGS { longest.label last.label next.extra last.extra.label } -INTEGERS { longest.label.width last.extra.num number.label } +INTEGERS { longest.label.width number.label } FUNCTION {initialize.longest.label} { "" 'longest.label := #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'longest.label.width := - #0 'last.extra.num := #0 'number.label := + "" 'last.extra.label := } FUNCTION {forward.pass} -{ last.label short.label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - short.label 'last.label := - } - if$ +{ number.label #1 + 'number.label := } FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'next.extra := - extra.label - duplicate$ empty$ - 'skip$ - { "{\natexlab{" swap$ * "}}" * } - if$ - 'extra.label := +{ label extra.label * 'label := } diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst index 9f57d5ed57d..0b41d731401 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst @@ -7,8 +7,8 @@ %% gbt7714.dtx (with options: `2015,thu,numerical') %% ------------------------------------------------------------------- %% GB/T 7714—2015 BibTeX Style -%% https://github.com/CTeX-org/gbt7714-bibtex-style -%% Version: 2021/04/03 v2.1.1 +%% https://github.com/zepinglee/gbt7714-bibtex-style +%% Version: 2021/12/08 v2.1.3 %% ------------------------------------------------------------------- %% Copyright (C) 2016—2021 by Zeping Lee %% ------------------------------------------------------------------- @@ -29,9 +29,11 @@ INTEGERS { terms.in.macro year.after.author period.after.author + italic.book.title sentence.case.title link.title title.in.journal + show.patent.country show.mark space.before.mark show.medium.type @@ -43,12 +45,14 @@ INTEGERS { show.missing.address.publisher space.before.pages only.start.page + wave.dash.in.pages show.urldate show.url show.doi show.preprint show.note show.english.translation + end.with.period } FUNCTION {load.config} @@ -61,9 +65,11 @@ FUNCTION {load.config} #0 'terms.in.macro := #0 'year.after.author := #1 'period.after.author := + #0 'italic.book.title := #1 'sentence.case.title := #0 'link.title := #1 'title.in.journal := + #1 'show.patent.country := #1 'show.mark := #0 'space.before.mark := #1 'show.medium.type := @@ -75,12 +81,14 @@ FUNCTION {load.config} #0 'show.missing.address.publisher := #1 'space.before.pages := #0 'only.start.page := + #0 'wave.dash.in.pages := #1 'show.urldate := #1 'show.url := #1 'show.doi := - #0 'show.preprint := + #1 'show.preprint := #0 'show.note := #0 'show.english.translation := + #1 'end.with.period := } ENTRY @@ -331,7 +339,10 @@ FUNCTION {output.check} } FUNCTION {fin.entry} -{ add.period$ +{ end.with.period + 'add.period$ + 'skip$ + if$ write$ show.english.translation entry.lang lang.zh = and { ")" @@ -418,10 +429,18 @@ FUNCTION {field.or.null} if$ } -FUNCTION {italicize} +FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } - { "\textit{" swap$ * "}" * } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {format.btitle} +{ italic.book.title + entry.lang lang.en = and + 'emphasize + 'skip$ if$ } @@ -556,7 +575,7 @@ FUNCTION {format.name} { bbl.et.al } { t get.str.lang 'name.lang := name.lang lang.en = - { t #1 "{vv~}{ll}{~f{~}}" format.name$ + { t #1 "{vv~}{ll}{ f{~}}" format.name$ uppercase.name { "u" change.case$ } 'skip$ @@ -746,7 +765,7 @@ FUNCTION {add.link} { url empty$ not { "\href{" url * "}{" * swap$ * "}" * } { doi empty$ not - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } 'skip$ if$ } @@ -762,7 +781,25 @@ FUNCTION {format.title} 'skip$ if$ entry.numbered number empty$ not and - { bbl.colon * number * } + { bbl.colon * + type$ "patent" = show.patent.country and + { address empty$ not + { address * ", " * } + { location empty$ not + { location * ", " * } + { entry.lang lang.zh = + { "中国" * ", " * } + 'skip$ + if$ + } + if$ + } + if$ + } + 'skip$ + if$ + number * + } 'skip$ if$ link.title @@ -907,6 +944,7 @@ FUNCTION {format.series.vol.num.title} } { format.title.vol.num } if$ + format.btitle link.title 'add.link 'skip$ @@ -938,6 +976,7 @@ FUNCTION {format.series.vol.num.booktitle} } { format.booktitle.vol.num } if$ + format.btitle in.booktitle { duplicate$ empty$ not entry.lang lang.en = and { "In: " swap$ * } @@ -979,16 +1018,15 @@ FUNCTION {abbreviate} if$ } -FUNCTION {format.journal} -{ "" - short.journal +FUNCTION {get.journal.title} +{ short.journal { shortjournal empty$ not - { shortjournal * } + { shortjournal } { journal empty$ not - { journal * abbreviate } + { journal abbreviate } { journaltitle empty$ not - { journaltitle * abbreviate } - 'skip$ + { journaltitle abbreviate } + { "" } if$ } if$ @@ -996,18 +1034,33 @@ FUNCTION {format.journal} if$ } { journal empty$ not - { journal * } + { journal } { journaltitle empty$ not - { journaltitle * } - 'skip$ + { journaltitle } + { shortjournal empty$ not + { shortjournal } + { "" } + if$ + } if$ } if$ } if$ +} + +FUNCTION {check.arxiv.preprint} +{ #1 #5 substring$ "l" change.case$ "arxiv" = + { #1 } + { #0 } + if$ +} + +FUNCTION {format.journal} +{ get.journal.title duplicate$ empty$ not { italic.journal entry.lang lang.en = and - 'italicize + 'emphasize 'skip$ if$ } @@ -1082,7 +1135,7 @@ FUNCTION {format.edition} { edition change.sentence.case 's := s "Revised" = s "Revised edition" = or { "Rev. ed." } - { s " ed." *} + { s " ed." * } if$ } { edition } @@ -1272,11 +1325,16 @@ FUNCTION {format.periodical.year} } FUNCTION {format.date} -{ type$ "patent" = type$ "newspaper" = or - date empty$ not and - { date } - { year field.or.null - extra.label * +{ date empty$ not + { type$ "patent" = type$ "newspaper" = or + { date } + { format.year } + if$ + } + { year empty$ not + { format.year } + { "" } + if$ } if$ } @@ -1289,9 +1347,9 @@ FUNCTION {format.editdate} } FUNCTION {format.urldate} -{ urldate empty$ not - show.urldate show.url and is.pure.electronic or and - url empty$ not and +{ show.urldate show.url and entry.url empty$ not and + is.pure.electronic or + urldate empty$ not and { "\allowbreak[" urldate * "]" * } { "" } if$ @@ -1302,7 +1360,10 @@ FUNCTION {hyphenate} "" { t empty$ not } { t #1 #1 substring$ "-" = - { "-" * + { wave.dash.in.pages + { "~" * } + { "-" * } + if$ { t #1 #1 substring$ "-" = } { t #2 global.max$ substring$ 't := } while$ @@ -1422,12 +1483,9 @@ FUNCTION {check.url} if$ } -FUNCTION {format.url} -{ entry.url -} - FUNCTION {output.url} -{ entry.url empty$ not +{ show.url is.pure.electronic or + entry.url empty$ not and { new.block entry.url output } @@ -1528,9 +1586,9 @@ FUNCTION {check.electronic} } FUNCTION {format.eprint} -{ eprinttype empty$ not - { eprinttype } - { archivePrefix empty$ not +{ archivePrefix empty$ not + { archivePrefix } + { eprinttype empty$ not { archivePrefix } { "" } if$ @@ -1721,7 +1779,7 @@ FUNCTION {periodical} fin.entry } -FUNCTION {article} +FUNCTION {journal.article} { output.bibitem output.translation format.authors output @@ -1855,7 +1913,7 @@ FUNCTION {preprint} new.block title.in.journal { format.series.vol.num.title "title" output.check - "Z" set.entry.mark + "A" set.entry.mark format.mark "" output.after new.block } @@ -1865,13 +1923,18 @@ FUNCTION {preprint} new.sentence format.edition output new.block - output.eprint year.after.author not - { format.year "year" output.check } + { date empty$ + { format.date output } + 'skip$ + if$ + } 'skip$ if$ format.pages bbl.pages.colon output.after + format.editdate "" output.after format.urldate "" output.after + output.eprint output.url new.block format.note output @@ -1879,13 +1942,19 @@ FUNCTION {preprint} } FUNCTION {misc} -{ journal empty$ not - 'article - { booktitle empty$ not +{ get.journal.title + duplicate$ empty$ not + { check.arxiv.preprint + 'preprint + 'journal.article + if$ + } + { pop$ + booktitle empty$ not 'incollection { publisher empty$ not 'monograph - { eprint empty$ not show.preprint and + { eprint empty$ not archivePrefix empty$ not or 'preprint { entry.is.electronic 'electronic @@ -1910,6 +1979,8 @@ FUNCTION {archive} misc } +FUNCTION {article} { misc } + FUNCTION {book} { monograph } FUNCTION {booklet} { book } @@ -1938,6 +2009,8 @@ FUNCTION {inproceedings} FUNCTION {conference} { inproceedings } +FUNCTION {legislation} { archive } + FUNCTION {map} { "CM" set.entry.mark misc @@ -2248,44 +2321,26 @@ FUNCTION {presort} 'sort.key$ := } -STRINGS { longest.label last.label next.extra } +STRINGS { longest.label last.label next.extra last.extra.label } -INTEGERS { longest.label.width last.extra.num number.label } +INTEGERS { longest.label.width number.label } FUNCTION {initialize.longest.label} { "" 'longest.label := #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'longest.label.width := - #0 'last.extra.num := #0 'number.label := + "" 'last.extra.label := } FUNCTION {forward.pass} -{ last.label short.label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - short.label 'last.label := - } - if$ +{ number.label #1 + 'number.label := } FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'next.extra := - extra.label - duplicate$ empty$ - 'skip$ - { "{\natexlab{" swap$ * "}}" * } - if$ - 'extra.label := +{ label extra.label * 'label := } diff --git a/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md b/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md index d68be6a4604..086fa411a54 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md @@ -6,67 +6,110 @@ ## [Unreleased] +## [v7.2.4] - 2022-03-19 + +### Added + +- 增加警告提醒本科生将附录置于声明后([#682](https://github.com/tuna/thuthesis/issues/682))。 +- 增加警告提醒本科生将插图索引和表格索引置于正文后。 +- 本科生的 `\listoffiguresandtables` 改为分开的插图索引和表格索引。 + +### Changed + +- 本科生的“答辩委员会名单”、“指导教师/小组学术评语”和“答辩委员会决议书”改为不输出内容([#688](https://github.com/tuna/thuthesis/issues/688))。 +- 研究生和博后不再默认载入 `bibunits`([#710](https://github.com/tuna/thuthesis/issues/710))。 +- 参考文献表中预印本的文献类型标识改为“A”。 +- 允许多行页眉([#735](https://github.com/tuna/thuthesis/issues/735))。 + +### Fixed + +- 修复本科生“使用授权说明”中“日期”后缺失的冒号([#679](https://github.com/tuna/thuthesis/issues/679))。 +- 修复 `TikZ` 的 `external` 库与 `pdfpages` 的兼容性问题([#693](https://github.com/tuna/thuthesis/issues/693))。 +- 参考文献表中专利文献使用 `address`/`lcoation` 输出专利国别。 +- 修正一章内脚注数量超过 10 个时的报错问题,改为警告([#742](https://github.com/tuna/thuthesis/issues/742))。 + +### Removed + +- 去掉了 `siunitx` 的 `inter-unit-product` 设置。 + ## [v7.2.3] - 2021-05-31 + ### Changed -- 中文模板的公式编号改为中文括号(#297)。 + +- 中文模板的公式编号改为中文括号([#287](https://github.com/tuna/thuthesis/issues/287))。 ### Fixed -- 修正硕士论文书脊的字号(#647)。 -- 修正本科生附录(调研和翻译)的目录在 TeX Live 2019 前无法生成的问题(#659)。 -- 修正本科生主要符号表的标题(#661)。 + +- 修正硕士论文书脊的字号([#647](https://github.com/tuna/thuthesis/issues/647))。 +- 修正本科生附录(调研和翻译)的目录在 TeX Live 2019 前无法生成的问题([#659](https://github.com/tuna/thuthesis/issues/659))。 +- 修正本科生主要符号表的标题([#661](https://github.com/tuna/thuthesis/issues/661))。 ## [v7.2.2] - 2021-04-03 + ### Changed -- 修改授权说明的内容和格式,同 2020 年 12 月版 Word 模板一致(#625)。 -- 参考文献的页码前与冒号之间加上空格,同步 2021 年 3 月版《指南》的格式修改(#629)。 + +- 修改授权说明的内容和格式,同 2020 年 12 月版 Word 模板一致([#625](https://github.com/tuna/thuthesis/issues/625))。 +- 参考文献的页码前与冒号之间加上空格,同步 2021 年 3 月版《指南》的格式修改([#629](https://github.com/tuna/thuthesis/issues/629))。 - 著者-出版年制参考文献表的著者姓名与年份之间改为逗号。 ### Fixed -- 修正图表等浮动体与文字之间的距离(#614、#617)。 -- 修正表格、算法等浮动体的行距(#619)。 -- 修正了上标式引用后与中文之间多余的空格(#624)。 -- 修正了参考文献的姓名或年份中含有中括号时的引用错误(#630)。 + +- 修正图表等浮动体与文字之间的距离([#614](https://github.com/tuna/thuthesis/issues/614)、[#617](https://github.com/tuna/thuthesis/issues/617))。 +- 修正表格、算法等浮动体的行距([#619](https://github.com/tuna/thuthesis/issues/619))。 +- 修正了上标式引用后与中文之间多余的空格([#624](https://github.com/tuna/thuthesis/issues/624))。 +- 修正了参考文献的姓名或年份中含有中括号时的引用错误([#630](https://github.com/tuna/thuthesis/issues/630))。 ## [v7.2.1] - 2021-03-21 + ### Added + - 在文档中添加更多关于数学公式样式的说明。 ### Changed + - 允许控制研究生的声明页是否添加页眉页脚。 ### Fixed -- 调整文字与图表等浮动体之间的距离(#614)。 + +- 调整文字与图表等浮动体之间的距离([#614](https://github.com/tuna/thuthesis/issues/614))。 - 修复一些字体选择相关的问题。 ## [v7.2.0] - 2021-03-12 + ### Added + - 新增英文版写作指南要求的格式。 -- 新增选题报告的格式(#579)。 +- 新增选题报告的格式([#579](https://github.com/tuna/thuthesis/issues/579))。 - 新增 `figure-number-sepatator` 等选项设置图表编号的连接符。 - 新增数学符号字体风格选项 `math-style`。 - 新增选项控制数学字体风格的细节:`uppercase-greek`、`less-than-or-equal`、`integral`、`integral-limits`、`partial` 和 `math-ellipsis`。 - 新增数学字体试验性选项 `math-font = newtx`。 ### Changed -- 研究生的声明页默认加上页眉和页码,不受 `page-style` 的控制(#574)。 -- 取消图表标题的悬挂缩进(#589)。 + +- 研究生的声明页默认加上页眉和页码,不受 `page-style` 的控制([#574](https://github.com/tuna/thuthesis/issues/574))。 +- 取消图表标题的悬挂缩进([#589](https://github.com/tuna/thuthesis/issues/589))。 - 英文封面的联合导师改为“Co-supervisor”。 - 联合导师的 key 改为 `co-supervisor`,同英文版模板一致。 ### Fixed -- 修正 `longtable` 宏包的配置(#584)。 -- 修正本科生的“目录”、“声明”和“致谢”等标题中的空白(#591)。 + +- 修正 `longtable` 宏包的配置([#584](https://github.com/tuna/thuthesis/issues/584))。 +- 修正本科生的“目录”、“声明”和“致谢”等标题中的空白([#591](https://github.com/tuna/thuthesis/issues/591))。 - 修正参考文献的格式,取消页码与前面冒号之间的空格。 - 修正中文封面的字距。 ## [v7.1.0] - 2020-10-14 + ### Changed + - 更新摘要的标题格式(研究生 2020-09-18 版)。 - 更新目录的格式(研究生 2020-09-18 版)。 - 图表浮动体的位置参数默认为 `h`。 - 更新示例文档。 ### Fixed + - 修正 “keywords” 的拼写。 - 修正授权使用说明的内容。 - 修正授伪粗字体的粗度。 @@ -78,17 +121,21 @@ - 修正脚注的行距和缩进距离。 ## [v7.0.0] - 2020-09-09 + ### Changed + - 更新 2020 年版目录、插图和附表清单的格式。 - 更新 2020 年版使用授权说明的内容。 - 更新 2020 年版参考文献表的格式。 ### Added + - 新增 2020 年版“答辩委员会名单”页。 - 新增 biblatex 支持。 - 新增本科生外文系格式的支持。 ### Fixed + - 修正本科生密级的字体。 - 修正表格的默认字号。 - 修正参考文献表的行距和段前段后间距。 @@ -97,72 +144,88 @@ - 修正封面的语言切换。 ## [v6.1.3] - 2020-07-09 + ### Added + - 新增选项 `statement-page-style = empty / plain` 同时控制声明的页眉和页脚。 ### Fixed + - `\record` 命令中,如果 `output` 配置为 `print`,则强制进行 `\cleardoublepage`,保证记录表独立成页。 -- 修正了在导言区设置论文主要语言无效的问题(#560)。 +- 修正了在导言区设置论文主要语言无效的问题([#560](https://github.com/tuna/thuthesis/issues/560))。 - 修正了研究生插入扫描版声明页时的页眉。 ### Deprecated + - 选项 `statement-page-number` 已过时。 ## [v6.1.2] - 2020-06-14 + ### Changed + - `\statement` 和 `\copyrightpage` 命令都会在 PDF 中生成相应位置的书签。 - `\statement` 命令编译生成声明页默认不含页码。 - `\statement[xxx.pdf]` 插入扫描页时在页脚生成页码,以解决打印版与电子版页码不一致的情况。 - 使用 `l3build` 编译的版本,在提交到 CTAN 时提供 TDS 结构,以解决编译时 `tsinghua-name-bachelor.pdf` 找不到的问题。 ### Added + - 添加 `\record` 命令用于本科生插入综合论文训练记录表,同时在 PDF 中生成对应书签。 - 添加选项 `statement-page-number` 控制编译声明页时是否含页码。 ### Fixed + - 修正示例代码中关于 `\statement` 的 typo。 ## [v6.1.1] - 2020-06-12 + ### Changed + - 书脊中的西文不再需要调整高度。 - 修改预生成的隶书版本本科生封面学校名称的文件名为 `tsinghua-name-bachelor.pdf`,不再尝试使用系统字体生成。 - 将论文示例的文件名更改为 `thuthesis-example.tex / pdf`,以符合 CTAN 的要求。 ### Added -- 添加选项 `include-spine`,允许在正文中插入书脊页(#551)。 + +- 添加选项 `include-spine`,允许在正文中插入书脊页([#551](https://github.com/tuna/thuthesis/issues/551))。 - 添加选项 `spine-title`、`spine-author` 控制书脊的内容。 - 添加选项 `spine-font` 控制书脊的字号。 -- 添加选项 `output` 选择输出格式为打印版或用于提交的电子版(#553)。 +- 添加选项 `output` 选择输出格式为打印版或用于提交的电子版([#553](https://github.com/tuna/thuthesis/issues/553))。 ### Fixed + - 修正书脊的格式。 - 修复文档中 Changelog 的格式问题。 ## [v6.1.0] - 2020-06-08 + ### Changed + - 在 `translation` 环境中使用 `\bibliography` 改为生成参考文献, - 对应的原文索引改为 `translation-index` 环境(#529)。 + 对应的原文索引改为 `translation-index` 环境([#529](https://github.com/tuna/thuthesis/issues/529))。 - 附录的图、表不再加入索引。 - 使用 `threeparttable` 示例表内脚注。 -- 本科生的目录章标题的西文字母和数字默认使用 Arial(#542)。 +- 本科生的目录章标题的西文字母和数字默认使用 Arial([#542](https://github.com/tuna/thuthesis/issues/542))。 - GitHub repo 所有者更改为清华大学 TUNA 协会。 -- 接管 `ctex` 的 `fontset` 选项,允许更灵活的字体配置(#498)。 +- 接管 `ctex` 的 `fontset` 选项,允许更灵活的字体配置([#498](https://github.com/tuna/thuthesis/issues/498))。 ### Fixed -- 本科生附录的调研报告使用英文(#479)。 + +- 本科生附录的调研报告使用英文([#479](https://github.com/tuna/thuthesis/issues/479))。 - 修正本科生附录的 `algorithm` 和 `listings` 环境的编号格式。 -- 研究生的“使用授权说明”增加一空白页(#504)。 -- 修正 publication 列表行距问题(#507)。 +- 研究生的“使用授权说明”增加一空白页([#504](https://github.com/tuna/thuthesis/issues/504))。 +- 修正 publication 列表行距问题([#507](https://github.com/tuna/thuthesis/issues/507))。 - 修正研究生目录的行距。 -- 调整本科生封面有辅导教师、联合指导教师时的格式(#522, #537)。 -- 修正本科生封面日期的字体(#532)。 +- 调整本科生封面有辅导教师、联合指导教师时的格式([#522](https://github.com/tuna/thuthesis/issues/522), [#537](https://github.com/tuna/thuthesis/issues/537))。 +- 修正本科生封面日期的字体([#532](https://github.com/tuna/thuthesis/issues/532))。 - 设置三线表横线的默认粗度。 - 修正文档中关于本科生学科(专业)名称的说明。 - 允许用户使用文档类选项 `openright`。 -- 修正本科生的“单设一页”格式(#545)。 +- 修正本科生的“单设一页”格式([#545](https://github.com/tuna/thuthesis/issues/545))。 - 研究生的正文(main matter)起始于奇数页。 ### Added + - 允许使用边注。 - 新增 `amsthm` 支持。 - 支持单个关键词设置样式。 @@ -170,37 +233,47 @@ - 添加选项 `toc-chapter-style` 控制本科生的目录章标题的西文字体。 ## [v6.0.2] - 2020-02-23 + ### Fixed -- 修复图表公式目录内容缺失(#467)。 + +- 修复图表公式目录内容缺失([#467](https://github.com/tuna/thuthesis/issues/467))。 - 修复 Github Actions 执行 l3build check 问题。 - 文本模式使用 `\checkmark`。 ### Added + - 补充 PDF 元信息:文档标题,语言。 ### Changed + - 补充“著者-出版年”引用命令使用方法。 - 使用 `xeCJKfntef` 替换 `CJKfntef`。 ## [v6.0.1] - 2020-02-03 + ### Changed + - 更新文档。 - 更新 bib 测试用例。 ### Fixed -- 修复 PDF 目录层级问题(#457)。 -- 修复 PDF 中章节连接问题(#453)。 + +- 修复 PDF 目录层级问题([#457](https://github.com/tuna/thuthesis/issues/457))。 +- 修复 PDF 中章节连接问题([#453](https://github.com/tuna/thuthesis/issues/453))。 ## [v6.0.0] - 2020-01-06 + ### Added + - 新增 `survey`(调研阅读报告)和 `translation`(书面翻译)环境用于本科生的附录, - 其中的参考文献引用独立于论文正文(#343)。 + 其中的参考文献引用独立于论文正文([#343](https://github.com/tuna/thuthesis/issues/343))。 - 新增论文语言选项。 - 增加 `l3build` 测试。 ### Changed + - 重新设计 `\thusetup` 的接口。 -- 指导教师的姓名和职称用英文逗号分开(#424)。 +- 指导教师的姓名和职称用英文逗号分开([#424](https://github.com/tuna/thuthesis/issues/424))。 - 重新设计封面(题名页)。 - `\makecover` 拆分为 `\maketitle`、`\copyrightpage`。 - 中英文摘分别用 `abstract`、`abstract*` 环境生成。 @@ -212,26 +285,34 @@ - 整理 Makefile,便于日常使用。 ## Removed + - 移除 `secret` 选项。 - 移除 `translationbib` 环境。 - 移除 `tocarialchapter`、`tocarialchapterentry` 和 `tocarialchapterpage` 选项。 - 只保留 xelatex 编译方式。 ### Fixed + - 修正本科生的文献引用样式。 - 修正本科生目录章标题的字体。 - 处理 `hyperref` 与 `unicode-math` 的兼容性问题。 ## [v5.5.2] - 2019-04-21 + ### Changed + - 使用 XITS 数学字体。 ## [v5.5.1] - 2019-04-16 + ### Changed + - `\thu@textcircled`: 修复 minipage 中 footnote 编号问题。 ## [v5.5.0] - 2019-03-15 + ### Changed + - 增加选项使用英文模板。 - 使用 `unicode-math` 处理数学字体。 - Windows 的中文字体开启伪粗。 @@ -242,11 +323,15 @@ - 增加 `nomencl` 宏包的支持。 ## [v5.4.5] - 2018-05-17 + ### Changed + - `\normalsize`: 调整公式和正文间距。 ## [v5.4.4] - 2018-04-22 + ### Changed + - 删除 `arialtitle`,所有论文格式都一样。 - 让目录中的引用不影响正文中引用序号。 - 参考文献列表的页码使用 hyphen 取代 en dash。 @@ -254,40 +339,56 @@ - 允许连续两个文献引用使用连接号。 ## [v5.4.2] - 2017-12-18 + ### Changed + - 删除 `\pozhehao`。 - 使用 degree 取代 type 选项。 ## [v5.4.1] - 2017-12-04 + ### Changed + - bst 在 ctan 上不分路径,故加前缀。 ## [v5.4.0] - 2017-12-3 + ### Changed + - 基于 `natbib` 的环境调整距离兼容性更好。 - `\bibliographystyle{}` will cause `\bibstyle@newbib` to be called on THE NEXT LATEX RUN (via the aux file). ## [v5.3.2] - 2017-05-01 + ### Changed + - 定理环境格式设置(环境标题和环境正文字体设置)统一放置到 .cfg 文件中。 ## [v5.3.1] - 2016-03-20 + ### Changed + - 使用 CTeX 默认中文字体配置,支持不同引擎。 - `ctex` 默认加载 `CJKspace`。 - 几乎没人主动安装 Arial 字体。 ## [v5.3.0] - 2016-03-11 + ### Changed + - 更新到研究生院 2016.3 指南。 ## [v5.2.3] - 2016-02-13 + ### Changed + - `\thu@def@fontsize`: 改写字体定义命令。 - 安全注释本科公式部分。 ## [v5.2.2] - 2016-02-01 + ### Changed + - 不希望 `newtx` 修改 `\@makefnmark`。 - 利用 `environ` 的 `\Collect@Body`。 - 目录中标题和页码都是链接。 @@ -297,26 +398,34 @@ - 用 `environ` 封装的 `\Collect@Body`。 ## [v5.2.1] - 2016-01-14 + ### Changed + - 使用 `newtx` 替换 `txfonts`。 - 使用 `newtx` 字体。 - `denotation`: 利用 `enumitem` 改造环境定义,更直观。 - `acknowledgement`: 用 `acknowledgement` 替换 `ack`。 ## [v5.2.0] - 2016-01-11 + ### Changed + - `\title`: 增加 `\title` 排版翻译标题。 - `translationbib`: 增加翻译文献环境 `translationbib`。 - `\publicationskip`: 增加 `\publicationskip`。 ## [v5.1.0] - 2015-12-27 + ### Changed + - `\thusetup`: 通过 `\thusetup` 统一设置封面信息。 - `\thu@first@titlepage`: 利用 `CJKfilltwosides` 优化封面排版。 - `\thu@first@titlepage`: 修改联合指导教师显示问题。 ## [v5.0.0] - 2015-12-21 + ### Changed + - 使用 `kvoptions` 简化选项 type。 - norggedbottom 选项修改为 raggedbottom。 - 删除 `paralist` 选项。 @@ -324,25 +433,29 @@ - 不再将页面尺寸写入 dvi,因为已不支持 dvips, 而该方案会使得在使用 tikzexternalize 时外部 PDF 图片 BBox 不对。 - 用 `geometry` 简化设置。 - `\ps@thu@headings`: 利用 `fancyhdr` 设置页眉页脚。 -- 修正定理字样为黑体(#104)。 +- 修正定理字样为黑体([#104](https://github.com/tuna/thuthesis/issues/104))。 - 本科附录图表编号用-不用.(如图A-1,表A-2)。 - 用 `\ctexset` 来设置,替换复杂的 `\@startsection`。 -- 修正章节间距问题(#57)。 +- 修正章节间距问题([#57](https://github.com/tuna/thuthesis/issues/57))。 - 硕士博士论文目录只出现到第 3 级标题即可。其他未明确要求。 -- `\tableofcontents`: 修正学位论文中目录里节前缩进(#103)。 -- `\makecover`: 使用 `pdfpages` 宏包支持本硕博论文授权说明扫描版(#36)。 -- `acknowledgement`: 使用 pdfpages 宏包支持本硕博论文声明扫描版(#36)。 +- `\tableofcontents`: 修正学位论文中目录里节前缩进([#103](https://github.com/tuna/thuthesis/issues/103))。 +- `\makecover`: 使用 `pdfpages` 宏包支持本硕博论文授权说明扫描版([#36](https://github.com/tuna/thuthesis/issues/36))。 +- `acknowledgement`: 使用 pdfpages 宏包支持本硕博论文声明扫描版([#36](https://github.com/tuna/thuthesis/issues/36))。 - `\inlinecite`: 用 `\inlinecite` 替换 `\onlinecite`。为保证兼 容性,`\onlinecite` 会保留。 -- `achievements`: 博士后就不提在学期间了,不合适(#100)。 -- `achievements`: 让简历部分更符合格式指南和示例文件(#122)。 +- `achievements`: 博士后就不提在学期间了,不合适([#100](https://github.com/tuna/thuthesis/issues/100))。 +- `achievements`: 让简历部分更符合格式指南和示例文件([#122](https://github.com/tuna/thuthesis/issues/122))。 - `\shuji`: 扩展 `\shuji[<标题>][<作者>]`。 ## [v4.8.1] - 2014-12-09 + ### Changed + - 按照 CTAN 的要求整理一下文件。 ## [v4.8] - 2014-11-25 + ### Changed + - no need to load `indentfirst` directly since we use `ctex`. - 内部调用 `ctex` 宏包,自动检测编译引擎。 - dvips method is deprecated. We ask their users to load it manually. @@ -355,7 +468,9 @@ - 在 CJK 模式下用 `CJKspace` 保留中英文间空格。 ## [v4.7] - 2012-06-12 + ### Changed + - 去掉 `hypernat` 依赖,`hyperref` 和 `natbib` 可以很好配合了。 - 修改本科生页脚间距与样例基本一致。 - `\ps@thu@headings`: 本科页码用小五号字。 @@ -368,7 +483,9 @@ - `\thu@makeabstract`: Bachelor sample uses Keywords w/o space `-_-` ## [v4.6] - 2011-10-22 + ### Changed + - 增加博士后文档部分。 - 使用手册更新。 - 增加 postdoctor 选项。 @@ -379,7 +496,9 @@ - `resume`: 支持可选参数,自己定义简历章节标题。 ## [v4.5.2] - 2010-09-19 + ### Changed + - 研究生页面边距由 3.2cm 改为 3cm。 - 本科论文日期具体到日。 - `\makecover`: 本科封面和授权说明之间不要空白页。 @@ -387,28 +506,38 @@ - `acknowledgement`: 研究生论文的致谢和声明终于分开了。 ## [v4.5.1] - 2009-01-06 + ### Changed + - 太好了,不用处理 `longtable` 的 `\caption` 了。 - `\listoftables*`: 更优雅的插图/表格索引,避免跟 `caption` 包冲 突。`\thu@listof` 相应修改。 ## [v4.5] - 2009-01-04 + ### Changed + - 加入 XeTeX 支持,需要 `xeCJK`。 - 彻底转向 UTF-8,并支持 XeLaTeX。 - 增加 xetex, pdftex 选项。 - `\shuji`: 简化代码,同时支持 XeLaTeX。 ## [v4.4.4] - 2008-06-12 + ### Changed + - 修复了一个从 v4.3 升级到 v4.4 过程中的丢失公式索引的 bug,原修改代码保留备忘。 ## [v4.4.3] - 2008-06-09 + ### Changed + - `\thu@first@titlepage`: 修改本科生论文封面格式以符合新样例。 - `\thu@first@titlepage`: 修改本科生论文封面日期格式以符合新样例。 ## [v4.4.2] - 2008-06-07 + ### Changed + - 本科生格式终于也开始用空格作为关键字分隔符了。 - 本科生签名之间距离改为 `\hskip1em`。 - `\thu@authorization@mk`: 修改本科生的授权部分,按照 2008 年的新样例。 @@ -416,7 +545,9 @@ - `\thu@makeabstract`: Bachelor English abstract format requires indent and no hang-indent. ## [v4.4] - 2008-06-18 + ### Changed + - 修复网址断字。 - `\backmatter`: 本科正文后的页码延续前面的阿拉伯数字,不再用罗马数 字。 - `\backmatter`: 本科取消了所有页眉。 @@ -430,23 +561,31 @@ - `\tableofcontents`: 本科章目录项一直用黑体(Arial)。 ## [v4.3] - 2008-03-11 + ### Changed + - 子图引用时加括号。 ## [v4.2] - 2008-03-07 + ### Changed + - `\eqref` 加括号。 - 调整证明环境的编号和结尾的方块。 - `\thu@doctor@engcover`: 博士英文封面补充联合导师。 ## [v4.0] - 2007-11-08 + ### Changed + - `\tableofcontents`: 本科研究生目录字号行距都不同。 - **内部**密级前面终究还是不要五角星了。 - `\thu@authorization@mk`: 研究生的授权部分调整了一下,不知道老师为什么总爱修改 那些无关紧要的格式,郁闷。感谢 PMHT@newsmth 的认真比对。 ## [v3.1] - 2007-10-09 + ### Changed + - 本科的目录又不要 arial 字体了。 - replace `mathptmx` with `txfonts`. - 英文摘要标题要搞特殊化。 @@ -460,7 +599,9 @@ - `\thu@makeabstract`: 研究生关键词不再沉底。 ## [v3.0] - 2007-05-13 + ### Changed + - 不用专门为本科论文生成“**提交**”版本了。 - 没有了综合论文训练页面,很多本科论文专用命令就消失了。 - 删除 submit 选项。 @@ -473,7 +614,9 @@ - `acknowledgement`: 本科论文声明部分图片扫描取消。 ## [v2.6.4] - 2006-10-23 + ### Changed + - 增加 `neverdecrease` 选项。 - `\thu@makeabstract`: **Keywords** but not **Key words**. - `\listoftables*`: 增加 `\listoffigures*`,`\listoftables*`。 @@ -481,12 +624,16 @@ - 调整参考文献标签宽度,使得条目增多时仍能对齐。 ## [v2.6.3] - 2006-07-01 + ### Changed + - `\thu@makeabstract`: 为本科正确设置目录及以后的页码。 - `acknowledgement`: 重画双虚线,自适应页面宽度。 ## [v2.6.2] - 2006-06-20 + ### Changed + - 改正 groupmembers 的拼写错误。 - 去掉 `paralist` 的 `newitem` 和 `newenum` 选项,因为默认是打开的。 - `\thu@def@fontsize`: 引入此命令重新定义字号。 @@ -500,11 +647,15 @@ - `\equcaption`: 此命令配合 `amsmath` 命令基本可以满足所有 公式需要。 ## [v2.6.1] - 2006-06-16 + ### Changed + - 取消 `thubib.bst` 中 inbook 类 volume 后的页 码。 ## [v2.6] - 2006-06-09 + ### Changed + - 增加 dvipdfm 选项。 - 增加 `longtable`。 - 去除 hyperref 选项,等待全局传递。 @@ -513,7 +664,9 @@ - `\thu@first@titlepage`: 本科生题目加长,最多 24 个字。 ## [v2.5.3] - 2006-06-08 + ### Changed + - submit 选项的一个笔误。 - `\backmatter`: 第一章永远右开。 - 不管 caption 出现在什么位置,`\aboveskip` 总是出现在标题和浮动体之间的距离。 @@ -522,7 +675,9 @@ - `\equcaption`: 取消 `\equcaption` 的参数 ## [v2.5.2] - 2006-06-01 + ### Changed + - 更改默认列表距离。 - 上一个版本忘了把研究生的公式编号排除。 - `\thu@chapter*`: 定义自己的 `\thu@chapter*`。 @@ -534,7 +689,9 @@ - `resume`: 研究生的个人介绍要右开。 ## [v2.5.1] - 2006-05-28 + ### Changed + - 如果选项设置了 dvips,但是用 PDFLaTeX 编译,报错。 - 根据教务处的新要求调整附录部分。 - 参考文献中杂志文章如果没有卷号,那么页码直接跟在 年份后面,并用句点分割。在 `thubib.bst` 中增加 output.year 函数。 @@ -560,7 +717,9 @@ - `resume`: 教务处和研究生院非要搞的不一样! ## [v2.5] - 2006-05-20 + ### Changed + - 对本科论文进行大幅度的重写,因为教务处修改了格式要求。 - 重新整理代码,使其布局更易读。 - 增加本科论文的提交选项 submit。 @@ -583,16 +742,22 @@ - 不用 `\CJKcaption`,在导言区直接引入配置文件。 ## [v2.4.2] - 2006-04-18 + ### Changed + - 去掉参考文献第二个作者后面烦人的逗号。 ## [v2.4.1] - 2006-04-17 + ### Changed + - 2.4 忘了把关键词的 tabular 改成 thu@tabular。 - 参考文献最后一个作者前是逗号而不是 and。 ## [v2.4] - 2006-04-15 + ### Changed + - Fill more pdf info. with `\hypersetup`. - 自动隐藏密级为内部时后面的五角星。 - 增加“注释(Remark)”环境。 @@ -616,7 +781,9 @@ - 参考文献间距调小一点,label 长度增加一点,以便让超过 100 的参考文献更好地对齐。 ## [v2.3] - 2006-04-09 + ### Changed + - Fix a great bug: `\PassOptionsToClass` and `\LoadClass` rather than `\PassOptionToPackage` and `\LoadPackage`. - Reorganize the codes in cover, make the pagestyle more readable. - Add gbk2uni into the document. @@ -629,14 +796,18 @@ - Change the brace in the cover. ## [v2.2] - 2006-03-26 + ### Changed + - Adjust margins. How bad it is to simulate MS WORD!. - Add bachelor training overview details supporting. - CJK support in preamble. - Adjust hyperref to avoid boxes around links. ## [v2.1] - 2006-03-03 + ### Changed + - Add support to bachelor thesis. - Remove `fancyhdr` and `geometry`. - Redefine footnote marks. @@ -651,11 +822,15 @@ - `\makecover`: 分成几个小模块来搞,不然这个 macro 太大了,看不过来。 ## [v2.0e] - 2005-12-18 + ### Changed + - `denotation`: 主要符号表定义为一个 list,用起来方便。 ## [v2.0] - 2005-12-20 + ### Changed + - `\ps@thu@headings`: 以前的太乱了,重新整理过清晰多了。 - `\tableofcontents`: 附录的目录项需要调整一下。以及公式编号方式等等。 - 增加了封面密级,增加博士封面支持 @@ -664,38 +839,53 @@ - `resume`: 最后决定将 resume 定义为环境。这样与前面的主要符号 表、致谢等对应。 ## [v1.5] - 2005-12-16 + ### Changed + - `acknowledgement`: 在那些不显示编号的章节前面先执行一次 `\cleardoublepage`,使新开章节的页码到达正确的状态。否则会因为 `\addcontentsline` 在 chapter 之前而导致目录页码错误。 - `resume`: 增加个人简历章节的命令,去掉主文件中需要重新 定义 `\cleardoublepage` 和自己写 `\markboth`,`\addcontentsline` 的部分。 ## [v1.4rc1] - 2005-12-14 + ### Changed + - I do not know why `\thu@authorizationaddon` does not work now for v1.3, while it's fine in v1.2. Temporarily, I remove the directive :(. There might be better solution. Other changes: add `config` option to subfig to be compatible with subfigure. add `courier` package for tt font. - I have to put all chinese chars into cfg, otherwise they would not appear. ## [v1.4] - 2005-12-05 + ### Changed + - Fix the problem of **chinese**, which is because both CJK and everysel redefine the `\selectfont`. So, a not so good workaround is to merge them up. Add `shuji.tex` example. Add `\pozhehao` command. ## [v1.3] - 2005-11-14 + ### Changed + - Replace `subfigure` with `subfig`, replace `caption2` with `caption`, add details about using figure are in the example. ## [v1.2] - 2005-11-04 + ### Changed + - Remove `fancyref`; Remove `ucite` and implement `\onlinecite`; use package `arial` or `helvet` selectively. ## [v1.1] - 2005-11-03 + ### Changed + - Initial version, migrate from the old ``Bao--Pan'' version. Make the template a class instead of package. ## [v1.0] - 2005-07-06 + ### Changed + - Please refer to ``Bao--Pan'' version. -[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.2.3...HEAD +[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.2.4...HEAD +[v7.2.4]: https://github.com/tuna/thuthesis/compare/v7.2.3...v7.2.4 [v7.2.3]: https://github.com/tuna/thuthesis/compare/v7.2.2...v7.2.3 [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 diff --git a/Master/texmf-dist/doc/latex/thuthesis/README.md b/Master/texmf-dist/doc/latex/thuthesis/README.md index 455b858f95b..c84c7f409f8 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/README.md +++ b/Master/texmf-dist/doc/latex/thuthesis/README.md @@ -15,10 +15,6 @@ Scroll down for the English version of README. **由于模板升级频繁,在开始使用和提问前,请确保您已经认真完整地阅读了使用说明文档和示例代码。** -**由于模板升级频繁,在开始使用和提问前,请确保您已经认真完整地阅读了使用说明文档和示例代码。** - -**由于模板升级频繁,在开始使用和提问前,请确保您已经认真完整地阅读了使用说明文档和示例代码。** - ## 下载 推荐下载**发布版**模板,里面包括具体使用说明以及示例文档: @@ -37,6 +33,8 @@ Scroll down for the English version of README. * [Overleaf](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk):Overleaf 的模板。 * 开发版:[GitHub](https://github.com/tuna/thuthesis) +**任何在其他途径分发的 ThuThesis(包含其变体或衍生物)均不是官方版本,请谨慎使用。** + ## 更新日志 每个版本的详细更新日志,请见 [CHANGELOG.md](CHANGELOG.md)。使用文档中也包含了这一内容。 @@ -107,6 +105,8 @@ Developer versions contain only source code but no pre-compiled `cls` file and d * [Overleaf Template](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk) * Developer versions: [GitHub](https://github.com/tuna/thuthesis) +**ThuThesis (including its variants / derivatives) distributed in any other way is NOT an official version. Use at your own risk.** + ## Changelog See [CHANGELOG.md](CHANGELOG.md) for detailed changes in each release. They are also included in the usage documentation. diff --git a/Master/texmf-dist/doc/latex/thuthesis/data/appendix-translation.tex b/Master/texmf-dist/doc/latex/thuthesis/data/appendix-translation.tex index 812cfcc7670..0ca7d152642 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/data/appendix-translation.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/data/appendix-translation.tex @@ -62,6 +62,13 @@ 文献引用示例\cite{abrahams99tex}。 +\appendix + +\section{附录} + +附录的内容。 + + % 书面翻译的参考文献 \bibliographystyle{unsrtnat} \bibliography{ref/appendix} diff --git a/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex b/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex index a7fcc1439f8..b07ce4dc96c 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/data/chap04.tex @@ -47,7 +47,7 @@ \thusetup{ cite-style = author-year, } -\begin{tabular}{l@{\quad$\Rightarrow$\quad}l} +\begin{tabular}{l@{\space$\Rightarrow$\space}l} \verb|\cite{zhangkun1994}| & \cite{zhangkun1994} \\ \verb|\citet{zhangkun1994}| & \citet{zhangkun1994} \\ \verb|\citep{zhangkun1994}| & \citep{zhangkun1994} \\ diff --git a/Master/texmf-dist/doc/latex/thuthesis/ref/appendix.bib b/Master/texmf-dist/doc/latex/thuthesis/ref/appendix.bib index 1e4cc0daefc..0f9ae22352c 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/ref/appendix.bib +++ b/Master/texmf-dist/doc/latex/thuthesis/ref/appendix.bib @@ -5,7 +5,7 @@ year = 1990, } -@incollection{salomon1995advanced, +@book{salomon1995advanced, author = {David Salomon}, title = {The advanced {\TeX}book}, address = {New York}, diff --git a/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib index 7c397888d50..6b51f030037 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib +++ b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib @@ -41,7 +41,9 @@ @patent{jiangxizhou1980, author = {姜锡洲}, - title = {一种温热外敷药制备方案: 中国, 88105607.3}, + title = {一种温热外敷药制备方案}, + address = {中国}, + number = {88105607.3}, date = {1980-07-26}, key = {jiang1 xi1 zhou1}, } diff --git a/Master/texmf-dist/doc/latex/thuthesis/spine.pdf b/Master/texmf-dist/doc/latex/thuthesis/spine.pdf index 63eef753e04..6f9d37e2ed5 100644 Binary files a/Master/texmf-dist/doc/latex/thuthesis/spine.pdf and b/Master/texmf-dist/doc/latex/thuthesis/spine.pdf differ diff --git a/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex b/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex index dc74d148bdf..718667f9690 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/thusetup.tex @@ -156,10 +156,10 @@ % \bibliographystyle{thuthesis-bachelor} % 参考文献使用 BibLaTeX 宏包 -% \usepackage[backend=biber,style=thuthesis-numeric]{biblatex} -% \usepackage[backend=biber,style=thuthesis-author-year]{biblatex} -% \usepackage[backend=biber,style=apa]{biblatex} -% \usepackage[backend=biber,style=mla-new]{biblatex} +% \usepackage[style=thuthesis-numeric]{biblatex} +% \usepackage[style=thuthesis-author-year]{biblatex} +% \usepackage[style=apa]{biblatex} +% \usepackage[style=mla-new]{biblatex} % 声明 BibLaTeX 的数据库 % \addbibresource{ref/refs.bib} diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf index a881f81a4a6..b25df293c9f 100644 Binary files a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf and b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf differ diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.tex b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.tex index 7e6f698ca22..39edf3af3e7 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.tex @@ -24,6 +24,7 @@ \maketitle % 学位论文指导小组、公开评阅人和答辩委员会名单 +% 本科生不需要 \input{data/committee} % 使用授权的说明 @@ -39,9 +40,9 @@ % 插图和附表清单 % 本科生的插图索引和表格索引需要移至正文之后、参考文献前 -\listoffiguresandtables % 插图和附表清单 -% \listoffigures % 插图清单 -% \listoftables % 附表清单 +% \listoffiguresandtables % 插图和附表清单(仅限研究生) +\listoffigures % 插图清单 +\listoftables % 附表清单 % 符号对照表 \input{data/denotation} @@ -63,6 +64,7 @@ % \printbibliography % 参考文献使用 BibLaTeX 编译 % 附录 +% 本科生需要将附录放到声明之后,个人简历之前 \appendix % \input{data/appendix-survey} % 本科生:外文资料的调研阅读报告 % \input{data/appendix-translation} % 本科生:外文资料的书面翻译 @@ -82,12 +84,15 @@ % \statement[file=scan-statement.pdf, page-style=plain] % 个人简历、在学期间完成的相关学术成果 +% 本科生可以附个人简历,也可以不附个人简历 \input{data/resume} % 指导教师/指导小组学术评语 +% 本科生不需要 \input{data/comments} % 答辩委员会决议书 +% 本科生不需要 \input{data/resolution} % 本科生的综合论文训练记录表(扫描版) diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf index 6925a82705e..ad3acc14f29 100644 Binary files a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf and b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf differ diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx index 3233b5e5806..f2a48c8a13d 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/05/31 7.2.3 Tsinghua University Thesis Template] +\ProvidesFile{thuthesis.dtx}[2022/03/19 7.2.4 Tsinghua University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -74,10 +74,10 @@ % \item 本模板为作者根据 % 清华大学研究生院颁发的《 % \href{http://yjsy.cic.tsinghua.edu.cn/docinfo/board/boarddetail.jsp?columnId=001050603&parentColumnId=0010506&itemSeq=5365}{% -% 研究生学位论文写作指南}》(限校内网络访问)、 +% 研究生学位论文写作指南}》(2021年6月版本,限校内网络访问)、 % 英文版《Guide to Thesis Writing for Graduate Students》、 % 清华大学教务处颁发的《 -% \href{https://lib.tsinghua.edu.cn/dra/news/annoucement/7963}{% +% \href{https://lib.tsinghua.edu.cn/info/1073/1978.htm}{% % 综合论文训练写作指南}》、 % 外文系的《英语专业本科生综合论文训练》和 % 清华大学《 @@ -260,7 +260,7 @@ % \end{shell} % % 在调用 \XeLaTeX 时,如果设置了 \option{include-spine} 选项, -% 则需要在文件名前加上 \texttt{-shell-scape} 的命令行选项。 +% 则需要在文件名前加上 \texttt{-shell-escape} 的命令行选项。 % % 下面的命令用来生成用户手册: % \begin{shell} @@ -852,10 +852,10 @@ % 可能会造成正文和公式中的数字字体不一致,需要谨慎使用。 % % 以上字体都是 OpenType 格式的字体,需要配合 -% \href{http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unicode-math.pdf}{\pkg{unicode-math}} +% \href{http://mirrors.ctan.org/macros/unicodetex/latex/unicode-math/unicode-math.pdf}{\pkg{unicode-math}} % 宏包使用。 % 全部数学符号的命令参考 -% \href{http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unimath-symbols.pdf}{\pkg{unimath-symbols}}。 +% \href{http://mirrors.ctan.org/macros/unicodetex/latex/unicode-math/unimath-symbols.pdf}{\pkg{unimath-symbols}}。 % 注意,\pkg{unicode-math} 宏包与 \pkg{amsfonts}、\pkg{amssymb}、\pkg{bm}、 % \pkg{mathrsfs}、\pkg{upgreek} 等宏包\emph{不}兼容。 % 模板作了处理,用户可以直接使用这些宏包的命令,如 \cs{bm}、\cs{mathscr}、 @@ -1009,7 +1009,7 @@ % \end{latex} % 另一种方式是使用 biblatex,应在导言区设置 % \begin{latex} -% \usepackage[backend=biber,style=thuthesis-author-year]{biblatex} +% \usepackage[style=thuthesis-author-year]{biblatex} % \addbibresource{ref/refs.bib} % \end{latex} % 这里的样式由 \href{https://ctan.org/pkg/biblatex-gb7714-2015}{biblatex-gb7714-2015} 进行了少量改编, @@ -1082,12 +1082,12 @@ % 研究生不存在空白页的问题,在编译生成声明时默认加页眉页脚(\option{plain}), % 而插入扫描版时不再重复(\option{empty})。 % -% 声明的页眉页脚也可以通过 \option{pagestyle} 参数手动控制, +% 声明的页眉页脚也可以通过 \option{page-style} 参数手动控制, % 比如编译生成时固定不加页眉页脚: % \begin{latex} -% \statement[page-style=plain] +% \statement[page-style=empty] % \end{latex} -% 插入扫面版声明补上页眉页脚: +% 插入扫描版声明补上页眉页脚: % \begin{latex} % \statement[file=scan-statement.pdf, page-style=plain] % \end{latex} @@ -1250,7 +1250,7 @@ % \begin{macrocode} %\NeedsTeXFormat{LaTeX2e}[2017/04/15] %\ProvidesClass{thuthesis} -%[2021/05/31 7.2.3 Tsinghua University Thesis Template] +%[2022/03/19 7.2.4 Tsinghua University Thesis Template] % \end{macrocode} % % 报错 @@ -1306,7 +1306,7 @@ %<*cls> \hyphenation{Thu-Thesis} \def\thuthesis{ThuThesis} -\def\version{7.2.3} +\def\version{7.2.4} \RequirePackage{kvdefinekeys} \RequirePackage{kvsetkeys} \RequirePackage{kvoptions} @@ -1731,9 +1731,20 @@ % \end{macrocode} % % \pkg{pdfpages} 宏包便于我们插入扫描后的授权说明和声明页 PDF 文档。 +% +% 由于 \pkg{pdfpages} 跟 \pkg{TikZ} 的 \pkg{external} 库冲突, +% 需要在导言区的结尾进行处理,见 +% \href{https://github.com/tuna/thuthesis/issues/693}{\#693}。 % \begin{macrocode} \RequirePackage{pdfpages} \includepdfset{fitpaper=true} +\AtEndPreamble{ + \ifx\tikzifexternalizing\@undefined\else + \tikzifexternalizing{ + \renewcommand*\includepdf[2][]{} + }{} + \fi +} % \end{macrocode} % % 更好的列表环境。 @@ -1784,9 +1795,11 @@ } } \AtEndOfPackageFile*{natbib}{ - \@ifpackageloaded{apacite}{}{ - \RequirePackage{bibunits} - } + \ifthu@degree@bachelor + \@ifpackageloaded{apacite}{}{ + \RequirePackage{bibunits} + } + \fi } % \end{macrocode} % @@ -1829,16 +1842,6 @@ \thu@package@conflict{newtxmath}{upgreek} % \end{macrocode} % -% \pkg{mathtools} 需要在 \pkg{unicode-math} 前载入, -% 参考 \url{https://tex.stackexchange.com/q/521394/82731}。 -% \begin{macrocode} -\AtBeginOfPackageFile*{mathtools}{ - \@ifpackageloaded{unicode-math}{ - \thu@error{The "mathtools" package should be loaded before setting "math-font"} - }{} -}% -% \end{macrocode} -% % \pkg{amsthm} 需要在 \pkg{newtx} 前载入,参考 \pkg{newtx} 的文档。 % \begin{macrocode} \AtBeginOfPackageFile*{amsthm}{ @@ -1858,7 +1861,12 @@ % 本科生《写作指南》: % 页边距:上:3.8 厘米,下:3.2 厘米,左右:3 厘米,装订线:左 0.2 厘米。 % 本科生 Word 模板: -% 页眉距边界:1.5 厘米,页脚距边界:1.75 厘米。 +% 无页眉,页脚距边界:1.75 厘米。 +% +% \pkg{fancyhdr} 的页眉是沿底部对齐的,所以只需设置 \cs{headsep}, +% \cs{headheight} 可以适当增加高度允许多行页眉。 +% 研究生:\cs{headsep} = $\SI{3}{cm} - \SI{2.2}{cm} - \SI{10.5}{bp} \times 1.3 +% \approx \SI{0.3}{cm}$。 % % \begin{macrocode} \geometry{ @@ -1873,8 +1881,8 @@ bottom = 3.2cm, left = 3.2cm, right = 3cm, - headheight = 0.5cm, - headsep = 1.8cm, + headheight = 1.9cm, + headsep = 1.9cm, footskip = 1.45cm, }% \ifthu@output@print @@ -1890,7 +1898,7 @@ \else \geometry{ margin = 3cm, - headheight = 0.5cm, + headheight = 2.7cm, headsep = 0.3cm, footskip = 0.8cm, }% @@ -2837,10 +2845,12 @@ \thu@set@stix@names \setmathfont{\thu@font@name@stix@math}[ Extension = .otf, + Scale = MatchLowercase, StylisticSet = \thu@xits@integral@stylistic@set, ]% \setmathfont{\thu@font@name@stix@math}[ Extension = .otf, + Scale = MatchLowercase, StylisticSet = 1, range = {scr,bfscr}, ]% @@ -3079,6 +3089,7 @@ \@mainmattertrue \pagenumbering{arabic}% } +\newif\ifthu@backmatter \renewcommand\backmatter{% \if@openright \cleardoublepage @@ -3086,6 +3097,7 @@ \clearpage \fi \@mainmatterfalse + \thu@backmattertrue \thusetup{toc-depth = 0}% } % \end{macrocode} @@ -3256,7 +3268,7 @@ % \begin{macrocode} \newcommand\thu@circled[1]{% \ifnum#1 >10\relax - \thu@error{% + \thu@warning{% Too many footnotes in this page. Keep footnote less than 10% }% @@ -3366,8 +3378,8 @@ % % 图表浮动体的默认位置设为 |h|。 % \begin{macrocode} -\def\fps@figure{h} -\def\fps@table{h} +\def\fps@figure{htbp} +\def\fps@table{htbp} % \end{macrocode} % % 设置浮动对象和文字之间的距离 @@ -4826,41 +4838,43 @@ % 学位论文指导小组、公开评阅人和答辩委员会名单。 % \begin{macrocode} \def\thu@committee@name{学位论文指导小组、公开评阅人和答辩委员会名单} -\newenvironment{committee}[1][]{% - \cleardoublepage - \let\thu@committee@file\@empty - \kv@define@key{thu@committee}{name}{\let\thu@committee@name\kv@value}% - \kv@define@key{thu@committee}{file}{\let\thu@committee@file\kv@value}% - \kv@set@family@handler{thu@committee}{% - \ifx\kv@value\relax - \let\thu@committee@file\kv@key +\NewEnviron{committee}[1][]{% + \ifthu@degree@graduate + \cleardoublepage + \let\thu@committee@file\@empty + \kv@define@key{thu@committee}{name}{\let\thu@committee@name\kv@value}% + \kv@define@key{thu@committee}{file}{\let\thu@committee@file\kv@value}% + \kv@set@family@handler{thu@committee}{% + \ifx\kv@value\relax + \let\thu@committee@file\kv@key + \else + \kv@handled@false + \fi + }% + \kvsetkeys{thu@committee}{#1}% + \ifx\thu@committee@file\@empty + \begingroup + \ifthu@main@language@english + \ctexset{chapter/format=\centering\sffamily\fontsize{16bp}{20bp}\selectfont} + \fi + \thu@chapter*[]{\thu@committee@name}% + \endgroup \else - \kv@handled@false + \thu@pdfbookmark{0}{\thu@committee@name}% + \includepdf{\thu@committee@file}% \fi - }% - \kvsetkeys{thu@committee}{#1}% - \ifx\thu@committee@file\@empty - \begingroup - \ifthu@main@language@english - \ctexset{chapter/format=\centering\sffamily\fontsize{16bp}{20bp}\selectfont} - \fi - \thu@chapter*[]{\thu@committee@name}% - \endgroup - \else - \thu@pdfbookmark{0}{\thu@committee@name}% - \includepdf{\thu@committee@file}% + \thispagestyle{empty}% + \ctexset{ + section = { + format += {\centering}, + numbering = false, + afterindent = false, + }, + }% + \thusetup{language=chinese} + \BODY\clearpage + \thu@reset@main@language \fi - \thispagestyle{empty}% - \ctexset{ - section = { - format += {\centering}, - numbering = false, - afterindent = false, - }, - }% - \thusetup{language=chinese} -}{% - \thu@reset@main@language } % \end{macrocode} % \end{environment} @@ -4966,7 +4980,7 @@ \centering 签\quad 名:\thu@underline[6em]{}% 导师签名:\thu@underline[6em]{}% - 日\quad 期\thu@underline[6em]{}% + 日\quad 期:\thu@underline[6em]{}% \par \endgroup } @@ -5175,8 +5189,10 @@ Use "page-style" option of \protect\statement command instead% }% } +\newif\ifthu@statement@exists \newcommand\statement[1][]{% \@mainmatterfalse + \thu@statement@existstrue \ifthu@degree@bachelor \cleardoublepage \def\thu@statement@name{声\hspace{2em}明}% @@ -5269,6 +5285,11 @@ % 插图清单。 % \begin{macrocode} \renewcommand\listoffigures{% + \ifthu@degree@bachelor + \ifthu@backmatter\else + \thu@warning{The list of figures should be placed in back matter}% + \fi + \fi \thu@listof{figure}% } \titlecontents{figure} @@ -5284,6 +5305,11 @@ % 附表清单。 % \begin{macrocode} \renewcommand\listoftables{% + \ifthu@degree@bachelor + \ifthu@backmatter\else + \thu@warning{The list of tables should be placed in back matter}% + \fi + \fi \thu@listof{table}% } \titlecontents{table} @@ -5298,11 +5324,17 @@ % 将插图和附表合在一起列出“插图和附表清单”。 % \begin{macrocode} \newcommand\listoffiguresandtables{% - \thu@chapter*{\thu@list@figure@table@name}% - \@starttoc{lof}% - \par - \null\par - \@starttoc{lot}% + \ifthu@degree@bachelor + \thu@warning{The list of figures and tables are for graduates only}% + \listoffigures + \listoftables + \else + \thu@chapter*{\thu@list@figure@table@name}% + \@starttoc{lof}% + \par + \null\par + \@starttoc{lot}% + \fi } % \end{macrocode} % \end{macro} @@ -5794,6 +5826,11 @@ % \begin{macrocode} \g@addto@macro\appendix{% \@mainmattertrue + \ifthu@degree@bachelor + \ifthu@statement@exists\else + \thu@warning{The appendices should be placed after statement}% + \fi + \fi } % \end{macrocode} % @@ -5865,6 +5902,7 @@ \thu@print@contents{survey}{l}{1}{2}{}% \vskip 20bp% }% + \let\appendix\thu@appendix@appendix \renewcommand\bibname{参考文献}% \let\bibsection\thu@appendix@bibsection \renewcommand\@bibunitname{\jobname-survey}% @@ -5907,6 +5945,7 @@ \thu@print@contents{translation}{l}{1}{2}{}% \vskip 20bp% }% + \let\appendix\thu@appendix@appendix \def\bibsection{% \begingroup \ctexset{section/numbering=false}% @@ -5969,6 +6008,16 @@ } % \end{macrocode} % +% 书面翻译的附录。 +% \begin{macrocode} +\newcommand\thu@appendix@appendix{% + \def\theHsection{\Hy@AlphNoErr{section}}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \renewcommand\thesection{\thechapter.\@Alph\c@section}% +}% +% \end{macrocode} +% % 调研阅读报告的参考文献(或书面翻译对应的外文资料的原文索引)标题用宋体小四号字,段前 20pt,段后 6pt,行距 20pt。 % \begin{macrocode} \newcommand\thu@appendix@bibsection{% @@ -6061,19 +6110,21 @@ % \subsection{指导教师/小组学术评语} % \begin{environment}{comments} % \begin{macrocode} -\newenvironment{comments}[1][]{% - \@mainmatterfalse - \kv@define@key{thu@comments}{name}{\let\thu@comments@name\kv@value}% - \kv@set@family@handler{thu@comments}{% - \ifx\kv@value\relax - \let\thu@comments@name\kv@key - \else - \kv@handled@false - \fi - }% - \kvsetkeys{thu@comments}{#1}% - \chapter{\thu@comments@name}% -}{% +\NewEnviron{comments}[1][]{% + \ifthu@degree@graduate + \@mainmatterfalse + \kv@define@key{thu@comments}{name}{\let\thu@comments@name\kv@value}% + \kv@set@family@handler{thu@comments}{% + \ifx\kv@value\relax + \let\thu@comments@name\kv@key + \else + \kv@handled@false + \fi + }% + \kvsetkeys{thu@comments}{#1}% + \chapter{\thu@comments@name}% + \BODY\clearpage + \fi } % \end{macrocode} % \end{environment} @@ -6081,10 +6132,13 @@ % \subsection{答辩委员会决议书} % \begin{environment}{resolution} % \begin{macrocode} -\newenvironment{resolution}{% - \@mainmatterfalse - \chapter{\thu@resolution@name}% -}{} +\NewEnviron{resolution}{% + \ifthu@degree@graduate + \@mainmatterfalse + \chapter{\thu@resolution@name}% + \BODY\clearpage + \fi +} % \end{macrocode} % \end{environment} % @@ -6150,6 +6204,7 @@ \pdfstringdefDisableCommands{ \let\\\relax \let\quad\relax + \let\qquad\relax \let\hspace\@gobble }% % \end{macrocode} @@ -6195,6 +6250,20 @@ } % \end{macrocode} % +% \subsubsection{\pkg{mathtools} 宏包} +% +% \pkg{mathtools} 会修改 \pkg{unicode-math} 的 \cs{underbrace} 和 \cs{overbrace}, +% 需要还原为 \cs{LaTeXunderbrace} 和 \cs{LaTeXoverbrace}, +% 参考 \url{https://tex.stackexchange.com/q/521394/82731}。 +% \begin{macrocode} +\AtEndOfPackageFile*{mathtools}{ + \@ifpackageloaded{unicode-math}{ + \let\underbrace\LaTeXunderbrace + \let\overbrace\LaTeXoverbrace + }{} +} +% \end{macrocode} +% % \subsubsection{\pkg{nomencl} 宏包} % % \begin{macrocode} @@ -6209,11 +6278,6 @@ % % \begin{macrocode} \AtEndOfPackageFile*{siunitx}{% - \sisetup{ - group-minimum-digits = 4, - separate-uncertainty = true, - inter-unit-product = \ensuremath{{}\cdot{}}, - } \newcommand\thu@set@siunitx@language{% \ifthu@language@chinese \sisetup{ @@ -6526,7 +6590,12 @@ \RequirePackage{enumitem} \RequirePackage{etoolbox} \RequirePackage{metalogo} + +% Pretending the `amssymb` has been loaded. +% This should be removed after `markdown` v2.13.0. +\expandafter\def\csname ver@amssymb.sty\endcsname{0000/00/00} \RequirePackage[tightLists=false]{markdown} +\expandafter\let\csname ver@amssymb.sty\endcsname\relax \markdownSetup{ renderers = { 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 47ec9ea8154..026e280cb16 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-author-year.bbx +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-author-year.bbx @@ -6,7 +6,6 @@ \ExecuteBibliographyOptions{ gbnamefmt = lowercase, gbpub = false, - gbalign = left, } \defbibenvironment{bibliography} @@ -18,3 +17,33 @@ \setlength{\parsep}{\bibparsep}}} {\endlist} {\item} + +% +% 重设专利title的输出,将文献类型标识符输出出去 +% +\renewbibmacro*{patenttitle}{%原输出来自biblatex.def文件 + \ifboolexpr{% + test{\iffieldundef{title}}% + and% + test{\iffieldundef{subtitle}}% + }% + {}% + {\printtext[title]{\bibtitlefont% + \printfield[titlecase]{title}% + \ifboolexpr{test {\iffieldundef{subtitle}}} + {}{\setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \iffieldundef{titleaddon}{} + {\setunit{\subtitlepunct}\printfield{titleaddon}}% + % \setunit{\subtitlepunct}\printfield{number}%写专利号 + \setunit{\subtitlepunct}% + \iflistundef{location}{} + {\printlist{location}\setunit{\addcomma\space}}% 专利国别 + \printfield{number}%写专利号 + \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}% + %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 + %\newunit + }% +}% +\clearlist{location}\clearlist{address}% +} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx index f0d6234effa..fb7dcdff687 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis-numeric.bbx @@ -25,3 +25,33 @@ \renewcommand*{\makelabel}[1]{\hss##1}} {\endlist} {\item} + +% +% 重设专利title的输出,将文献类型标识符输出出去 +% +\renewbibmacro*{patenttitle}{%原输出来自biblatex.def文件 + \ifboolexpr{% + test{\iffieldundef{title}}% + and% + test{\iffieldundef{subtitle}}% + }% + {}% + {\printtext[title]{\bibtitlefont% + \printfield[titlecase]{title}% + \ifboolexpr{test {\iffieldundef{subtitle}}} + {}{\setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \iffieldundef{titleaddon}{} + {\setunit{\subtitlepunct}\printfield{titleaddon}}% + % \setunit{\subtitlepunct}\printfield{number}%写专利号 + \setunit{\subtitlepunct}% + \iflistundef{location}{} + {\printlist{location}\setunit{\addcomma\space}}% 专利国别 + \printfield{number}%写专利号 + \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}% + %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 + %\newunit + }% +}% +\clearlist{location}\clearlist{address}% +} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls index 96b60b1381b..23b11b5cc73 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2005-2021 by Tsinghua University TUNA Association +%% Copyright (C) 2005-2022 by Tsinghua University TUNA Association %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -23,7 +23,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2017/04/15] \ProvidesClass{thuthesis} -[2021/05/31 7.2.3 Tsinghua University Thesis Template] +[2022/03/19 7.2.4 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.3} +\def\version{7.2.4} \RequirePackage{kvdefinekeys} \RequirePackage{kvsetkeys} \RequirePackage{kvoptions} @@ -324,6 +324,13 @@ \RequirePackage[labelformat=simple]{subcaption} \RequirePackage{pdfpages} \includepdfset{fitpaper=true} +\AtEndPreamble{ + \ifx\tikzifexternalizing\@undefined\else + \tikzifexternalizing{ + \renewcommand*\includepdf[2][]{} + }{} + \fi +} \RequirePackage[shortlabels]{enumitem} \RequirePackage{environ} \ifthu@raggedbottom @@ -345,9 +352,11 @@ } } \AtEndOfPackageFile*{natbib}{ - \@ifpackageloaded{apacite}{}{ - \RequirePackage{bibunits} - } + \ifthu@degree@bachelor + \@ifpackageloaded{apacite}{}{ + \RequirePackage{bibunits} + } + \fi } \newcommand\thu@package@conflict[2]{% \AtEndOfPackageFile*{#1}{% @@ -384,11 +393,6 @@ \thu@package@conflict{newtxmath}{amssymb} \thu@package@conflict{newtxmath}{unicode-math} \thu@package@conflict{newtxmath}{upgreek} -\AtBeginOfPackageFile*{mathtools}{ - \@ifpackageloaded{unicode-math}{ - \thu@error{The "mathtools" package should be loaded before setting "math-font"} - }{} -}% \AtBeginOfPackageFile*{amsthm}{ \@ifpackageloaded{newtxmath}{ \thu@error{The "amsthm" package should be loaded before setting "newtxmath"} @@ -406,8 +410,8 @@ bottom = 3.2cm, left = 3.2cm, right = 3cm, - headheight = 0.5cm, - headsep = 1.8cm, + headheight = 1.9cm, + headsep = 1.9cm, footskip = 1.45cm, }% \ifthu@output@print @@ -423,7 +427,7 @@ \else \geometry{ margin = 3cm, - headheight = 0.5cm, + headheight = 2.7cm, headsep = 0.3cm, footskip = 0.8cm, }% @@ -1162,10 +1166,12 @@ \thu@set@stix@names \setmathfont{\thu@font@name@stix@math}[ Extension = .otf, + Scale = MatchLowercase, StylisticSet = \thu@xits@integral@stylistic@set, ]% \setmathfont{\thu@font@name@stix@math}[ Extension = .otf, + Scale = MatchLowercase, StylisticSet = 1, range = {scr,bfscr}, ]% @@ -1362,6 +1368,7 @@ \@mainmattertrue \pagenumbering{arabic}% } +\newif\ifthu@backmatter \renewcommand\backmatter{% \if@openright \cleardoublepage @@ -1369,6 +1376,7 @@ \clearpage \fi \@mainmatterfalse + \thu@backmattertrue \thusetup{toc-depth = 0}% } \pagestyle{fancy} @@ -1467,7 +1475,7 @@ \setlist{nosep} \newcommand\thu@circled[1]{% \ifnum#1 >10\relax - \thu@error{% + \thu@warning{% Too many footnotes in this page. Keep footnote less than 10% }% @@ -1540,8 +1548,8 @@ }% }% } -\def\fps@figure{h} -\def\fps@table{h} +\def\fps@figure{htbp} +\def\fps@table{htbp} \setlength{\floatsep}{12\p@ \@plus 2\p@ \@minus 2\p@} \setlength{\textfloatsep}{12\p@ \@plus 2\p@ \@minus 2\p@} \setlength{\intextsep}{12\p@ \@plus 2\p@ \@minus 2\p@} @@ -2674,41 +2682,43 @@ \end{center}% } \def\thu@committee@name{学位论文指导小组、公开评阅人和答辩委员会名单} -\newenvironment{committee}[1][]{% - \cleardoublepage - \let\thu@committee@file\@empty - \kv@define@key{thu@committee}{name}{\let\thu@committee@name\kv@value}% - \kv@define@key{thu@committee}{file}{\let\thu@committee@file\kv@value}% - \kv@set@family@handler{thu@committee}{% - \ifx\kv@value\relax - \let\thu@committee@file\kv@key +\NewEnviron{committee}[1][]{% + \ifthu@degree@graduate + \cleardoublepage + \let\thu@committee@file\@empty + \kv@define@key{thu@committee}{name}{\let\thu@committee@name\kv@value}% + \kv@define@key{thu@committee}{file}{\let\thu@committee@file\kv@value}% + \kv@set@family@handler{thu@committee}{% + \ifx\kv@value\relax + \let\thu@committee@file\kv@key + \else + \kv@handled@false + \fi + }% + \kvsetkeys{thu@committee}{#1}% + \ifx\thu@committee@file\@empty + \begingroup + \ifthu@main@language@english + \ctexset{chapter/format=\centering\sffamily\fontsize{16bp}{20bp}\selectfont} + \fi + \thu@chapter*[]{\thu@committee@name}% + \endgroup \else - \kv@handled@false + \thu@pdfbookmark{0}{\thu@committee@name}% + \includepdf{\thu@committee@file}% \fi - }% - \kvsetkeys{thu@committee}{#1}% - \ifx\thu@committee@file\@empty - \begingroup - \ifthu@main@language@english - \ctexset{chapter/format=\centering\sffamily\fontsize{16bp}{20bp}\selectfont} - \fi - \thu@chapter*[]{\thu@committee@name}% - \endgroup - \else - \thu@pdfbookmark{0}{\thu@committee@name}% - \includepdf{\thu@committee@file}% + \thispagestyle{empty}% + \ctexset{ + section = { + format += {\centering}, + numbering = false, + afterindent = false, + }, + }% + \thusetup{language=chinese} + \BODY\clearpage + \thu@reset@main@language \fi - \thispagestyle{empty}% - \ctexset{ - section = { - format += {\centering}, - numbering = false, - afterindent = false, - }, - }% - \thusetup{language=chinese} -}{% - \thu@reset@main@language } \newcommand\copyrightpage[1][]{% \cleardoublepage @@ -2803,7 +2813,7 @@ \centering 签\quad 名:\thu@underline[6em]{}% 导师签名:\thu@underline[6em]{}% - 日\quad 期\thu@underline[6em]{}% + 日\quad 期:\thu@underline[6em]{}% \par \endgroup } @@ -2954,8 +2964,10 @@ Use "page-style" option of \protect\statement command instead% }% } +\newif\ifthu@statement@exists \newcommand\statement[1][]{% \@mainmatterfalse + \thu@statement@existstrue \ifthu@degree@bachelor \cleardoublepage \def\thu@statement@name{声\hspace{2em}明}% @@ -3031,6 +3043,11 @@ {\thu@chapter*{\csname list#1name\endcsname}\@starttoc{\csname ext@#1\endcsname}}% } \renewcommand\listoffigures{% + \ifthu@degree@bachelor + \ifthu@backmatter\else + \thu@warning{The list of figures should be placed in back matter}% + \fi + \fi \thu@listof{figure}% } \titlecontents{figure} @@ -3038,6 +3055,11 @@ {\contentspush{\figurename~\thecontentslabel\quad}}{} {\nobreak\thu@leaders\nobreak\hfil\thecontentspage} \renewcommand\listoftables{% + \ifthu@degree@bachelor + \ifthu@backmatter\else + \thu@warning{The list of tables should be placed in back matter}% + \fi + \fi \thu@listof{table}% } \titlecontents{table} @@ -3045,11 +3067,17 @@ {\contentspush{\tablename~\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage} \newcommand\listoffiguresandtables{% - \thu@chapter*{\thu@list@figure@table@name}% - \@starttoc{lof}% - \par - \null\par - \@starttoc{lot}% + \ifthu@degree@bachelor + \thu@warning{The list of figures and tables are for graduates only}% + \listoffigures + \listoftables + \else + \thu@chapter*{\thu@list@figure@table@name}% + \@starttoc{lof}% + \par + \null\par + \@starttoc{lot}% + \fi } \def\ext@equation{loe} \def\equcaption#1{% @@ -3405,6 +3433,11 @@ } \g@addto@macro\appendix{% \@mainmattertrue + \ifthu@degree@bachelor + \ifthu@statement@exists\else + \thu@warning{The appendices should be placed after statement}% + \fi + \fi } \thu@define@key{ toc-depth = { @@ -3447,6 +3480,7 @@ \thu@print@contents{survey}{l}{1}{2}{}% \vskip 20bp% }% + \let\appendix\thu@appendix@appendix \renewcommand\bibname{参考文献}% \let\bibsection\thu@appendix@bibsection \renewcommand\@bibunitname{\jobname-survey}% @@ -3483,6 +3517,7 @@ \thu@print@contents{translation}{l}{1}{2}{}% \vskip 20bp% }% + \let\appendix\thu@appendix@appendix \def\bibsection{% \begingroup \ctexset{section/numbering=false}% @@ -3529,6 +3564,12 @@ {\contentspush{\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage}% } +\newcommand\thu@appendix@appendix{% + \def\theHsection{\Hy@AlphNoErr{section}}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \renewcommand\thesection{\thechapter.\@Alph\c@section}% +}% \newcommand\thu@appendix@bibsection{% \par \vskip 20bp% @@ -3592,24 +3633,29 @@ \newcommand\publicationskip{% \thu@error{The "\protect\publicationskip" is obsolete. Do not use it}% } -\newenvironment{comments}[1][]{% - \@mainmatterfalse - \kv@define@key{thu@comments}{name}{\let\thu@comments@name\kv@value}% - \kv@set@family@handler{thu@comments}{% - \ifx\kv@value\relax - \let\thu@comments@name\kv@key - \else - \kv@handled@false - \fi - }% - \kvsetkeys{thu@comments}{#1}% - \chapter{\thu@comments@name}% -}{% +\NewEnviron{comments}[1][]{% + \ifthu@degree@graduate + \@mainmatterfalse + \kv@define@key{thu@comments}{name}{\let\thu@comments@name\kv@value}% + \kv@set@family@handler{thu@comments}{% + \ifx\kv@value\relax + \let\thu@comments@name\kv@key + \else + \kv@handled@false + \fi + }% + \kvsetkeys{thu@comments}{#1}% + \chapter{\thu@comments@name}% + \BODY\clearpage + \fi +} +\NewEnviron{resolution}{% + \ifthu@degree@graduate + \@mainmatterfalse + \chapter{\thu@resolution@name}% + \BODY\clearpage + \fi } -\newenvironment{resolution}{% - \@mainmatterfalse - \chapter{\thu@resolution@name}% -}{} \newcommand{\record}[1]{% \let\thu@record@file\@empty \kv@define@key{thu@record}{file}{\let\thu@record@file\kv@value}% @@ -3655,6 +3701,7 @@ \pdfstringdefDisableCommands{ \let\\\relax \let\quad\relax + \let\qquad\relax \let\hspace\@gobble }% \@ifpackagelater{hyperref}{2019/04/27}{}{% @@ -3689,17 +3736,18 @@ pdfcreator={\thuthesis-v\version}} }% } +\AtEndOfPackageFile*{mathtools}{ + \@ifpackageloaded{unicode-math}{ + \let\underbrace\LaTeXunderbrace + \let\overbrace\LaTeXoverbrace + }{} +} \AtEndOfPackageFile*{nomencl}{ \let\nomname\thu@denotation@name \def\thenomenclature{\begin{denotation}[\nom@tempdim]} \def\endthenomenclature{\end{denotation}} } \AtEndOfPackageFile*{siunitx}{% - \sisetup{ - group-minimum-digits = 4, - separate-uncertainty = true, - inter-unit-product = \ensuremath{{}\cdot{}}, - } \newcommand\thu@set@siunitx@language{% \ifthu@language@chinese \sisetup{ -- cgit v1.2.3