diff options
author | Karl Berry <karl@freefriends.org> | 2018-04-29 23:36:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-04-29 23:36:08 +0000 |
commit | 6d934e1a95c1b360518d7ac5137e3046f9b69832 (patch) | |
tree | 8eb1acffc175aec793786dcc8cb68129ea532a66 | |
parent | 27a5a48e8746e8b14d1c833eaa91e90bdef2deac (diff) |
thuthesis (24apr18)
git-svn-id: svn://tug.org/texlive/trunk@47502 c570f23f-e606-0410-a88d-b1316a301751
18 files changed, 398 insertions, 354 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 51652863734..6e793ba7dd2 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst @@ -1,12 +1,12 @@ %% -%% This is file `gbt-7714-2015-author-year.bst', +%% This is file `gbt7714-plain.bst', %% generated with the docstrip utility. %% %% The original source files were: %% -%% gbt-7714-2015.dtx (with options: `authoryear') +%% gbt7714.dtx (with options: `authoryear') %% -%% Copyright (C) 2016-2017 by Zeping Lee <zepinglee AT gmail.com> +%% Copyright (C) 2016-2018 by Zeping Lee <zepinglee AT gmail.com> %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -25,23 +25,16 @@ ENTRY { address author booktitle - chapter date doi - eid edition editor - howpublished institution - isbn - issn journal key language mark - media - month - note + medium number organization pages @@ -51,7 +44,6 @@ ENTRY series title translator - type url urldate volume @@ -62,7 +54,7 @@ ENTRY INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } -INTEGERS { lang.zh lang.ja lang.en lang.ru } +INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other } INTEGERS { charptr stringlength } @@ -72,10 +64,11 @@ FUNCTION {init.state.consts} #2 'after.sentence := #3 'after.block := #4 'after.slash := - #2 'lang.zh := - #3 'lang.ja := - #0 'lang.en := - #1 'lang.ru := + #3 'lang.zh := + #4 'lang.ja := + #1 'lang.en := + #2 'lang.ru := + #0 'lang.other := } STRINGS { s t } @@ -291,13 +284,17 @@ INTEGERS { ascii } FUNCTION {get.char.lang} { chr.to.int$ 'ascii := - ascii #227 > ascii #234 < and - { lang.zh } - { ascii #227 = - { lang.ja } - { ascii #207 > ascii #212 < and - { lang.ru } - { lang.en } + ascii #64 > ascii #91 < and ascii #96 > ascii #123 < and or + { lang.en } + { ascii #227 > ascii #234 < and + { lang.zh } + { ascii #227 = + { lang.ja } + { ascii #207 > ascii #212 < and + { lang.ru } + { lang.en } + if$ + } if$ } if$ @@ -305,21 +302,21 @@ FUNCTION {get.char.lang} if$ } -INTEGERS { char.lang lang } +INTEGERS { char.lang tmp.lang } STRINGS { tmp.str } FUNCTION {get.str.lang} { 'tmp.str := - lang.en 'lang := + lang.other 'tmp.lang := tmp.str empty$ { "Empty string!" warning$ } { #1 'charptr := tmp.str text.length$ #1 + 'stringlength := { charptr stringlength < } { tmp.str charptr #1 substring$ get.char.lang 'char.lang := - char.lang lang > - { char.lang 'lang := } + char.lang tmp.lang > + { char.lang 'tmp.lang := } 'skip$ if$ @@ -335,7 +332,7 @@ FUNCTION {get.str.lang} while$ } if$ - lang + tmp.lang } FUNCTION {is.in.chinese} @@ -356,35 +353,33 @@ FUNCTION {format.anonymous} if$ } -INTEGERS { nameptr namesleft numnames name.lang} +INTEGERS { nameptr namesleft numnames name.lang } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > nameptr #4 < and } + { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - t get.str.lang 'name.lang := - name.lang lang.en = - { t #1 "{vv~}{ll}{ f{~}}{, jj}" format.name$ 't := } - { t #1 "{ll}{ff}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", " * format.et.al * } - { ", " * t * } + nameptr #4 = + { format.et.al + #1 'namesleft := + } + { t "others" = + { format.et.al } + { t get.str.lang 'name.lang := + name.lang lang.en = + { t #1 "{vv~}{ll}{ f{~}}{, jj}" format.name$ } + { t #1 "{ll}{ff}" format.name$ } if$ } if$ - nameptr #3 = namesleft #1 > and - { ", " * format.et.al * } - 'skip$ - if$ } - 't + if$ + nameptr #1 > + { ", " swap$ * * } + 'skip$ if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := @@ -454,8 +449,8 @@ FUNCTION {set.mark} { pop$ mark 'entry.mark := } { 'entry.mark := } if$ - media empty$ not - { entry.mark "/" * media * 'entry.mark := } + medium empty$ not + { entry.mark "/" * medium * 'entry.mark := } { url empty$ not { entry.mark "/OL" * 'entry.mark := } 'skip$ @@ -535,7 +530,9 @@ FUNCTION {make.full.names} type$ "inbook" = or 'author.editor.full - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or 'editor.full 'author.full if$ @@ -559,23 +556,15 @@ FUNCTION {output.bibitem} before.all 'output.state := } - -FUNCTION {n.dashify} +FUNCTION {hyphenate} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ + { "-" * + { t #1 #1 substring$ "-" = } + { t #2 global.max$ substring$ 't := } + while$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := @@ -859,7 +848,7 @@ FUNCTION {format.address} FUNCTION {format.sine.nomine} { is.in.chinese - { "[出版地不详]" } + { "[出版者不详]" } { "[s.n.]" } if$ } @@ -921,7 +910,7 @@ FUNCTION {format.address.publisher} FUNCTION {format.pages} { pages empty$ { "" } - { pages n.dashify } + { pages hyphenate } if$ } @@ -985,9 +974,9 @@ FUNCTION {format.in.ed.booktitle} } FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and +{ author empty$ title empty$ + year empty$ + and and key empty$ not and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ @@ -1203,17 +1192,20 @@ FUNCTION {online} FUNCTION {misc} { journal empty$ not - { article.in.journal } + 'article.in.journal { booktitle empty$ not - { incollection } + 'incollection { url empty$ not - { online } - { monograph } + 'online + { "Z" set.mark + monograph + } if$ } if$ } if$ + empty.misc.check } FUNCTION {archive} @@ -1227,7 +1219,8 @@ FUNCTION {book} { monograph } FUNCTION {collection} { "G" set.mark - monograph } + monograph +} FUNCTION {database} { "DB" set.mark @@ -1281,7 +1274,7 @@ FUNCTION {proceedings} monograph } -FUNCTION {program} +FUNCTION {software} { "CP" set.mark misc } @@ -1370,7 +1363,7 @@ EXECUTE {init.state.consts} FUNCTION {set.entry.lang} { language empty$ { author field.or.null title field.or.null * get.str.lang } - { language "english" = + { language "english" = language "american" = or language "british" = or { lang.en } { language "chinese" = { lang.zh } @@ -1378,7 +1371,7 @@ FUNCTION {set.entry.lang} { lang.ja } { language "russian" = { lang.ru } - { lang.en } + { lang.other } if$ } if$ @@ -1481,10 +1474,10 @@ FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or - type$ "collection" = - or 'author.editor.key.label - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or { editor empty$ not 'editor.key.organization.label 'author.key.organization.label @@ -1502,7 +1495,7 @@ FUNCTION {calc.label} short.list "(" * - format.year extract.before.dash duplicate$ empty$ + format.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1512,20 +1505,15 @@ FUNCTION {calc.label} } FUNCTION {sort.language.label} -{ lang lang.zh = - { "a " - pinyin empty$ - 'skip$ - { pinyin * " " * } - if$ - } - { lang lang.ja = - { "b " } - { lang lang.en = - { "c " } - { lang lang.ru = - { "d " } - { "e " } +{ entry.lang lang.zh = + { "a zh " } + { entry.lang lang.ja = + { "b ja " } + { entry.lang lang.en = + { "c en " } + { entry.lang lang.ru = + { "d ru " } + { "e other " } if$ } if$ @@ -1538,7 +1526,7 @@ FUNCTION {sort.language.label} FUNCTION {sort.format.names} { 's := #1 'nameptr := - sort.language.label + "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } @@ -1576,65 +1564,77 @@ FUNCTION {sort.format.title} #1 global.max$ substring$ } +FUNCTION {key.or.pinyin} +{ key empty$ + { pinyin empty$ + { "" } + { pinyin } + if$ + } + { key } + if$ +} + +FUNCTION {anonymous.sort} +{ is.in.chinese + { "yi4 ming2" } + { "anon" } + if$ +} + FUNCTION {author.sort} -{ author empty$ - { key empty$ - { format.anonymous } - { key sortify } +{ key.or.pinyin empty$ + { author empty$ + { anonymous.sort } + { author sort.format.names } if$ } - { author sort.format.names } + { key.or.pinyin sortify } if$ } FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } +{ key.or.pinyin empty$ + { author empty$ + { editor empty$ + { anonymous.sort } + { editor sort.format.names } if$ } - { editor sort.format.names } + { author sort.format.names } if$ } - { author sort.format.names } + { key.or.pinyin sortify } if$ } FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } +{ key.or.pinyin empty$ + { author empty$ + { organization empty$ + { anonymous.sort } + { "The " #4 organization chop.word sortify } if$ } - { "The " #4 organization chop.word sortify } + { author sort.format.names } if$ } - { author sort.format.names } + { key.or.pinyin sortify } if$ } FUNCTION {editor.organization.sort} -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "" - } - { key sortify } +{ key.or.pinyin empty$ + { editor empty$ + { organization empty$ + { anonymous.sort } + { "The " #4 organization chop.word sortify } if$ } - { "The " #4 organization chop.word sortify } + { editor sort.format.names } if$ } - { editor sort.format.names } + { key.or.pinyin sortify } if$ } @@ -1644,20 +1644,20 @@ FUNCTION {presort} label sortify " " * + sort.language.label type$ "book" = type$ "inbook" = or 'author.editor.sort - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or 'editor.organization.sort - { type$ "manual" = - 'author.organization.sort - 'author.sort - if$ - } + 'author.sort if$ } if$ + * " " * year field.or.null sortify @@ -1745,7 +1745,7 @@ FUNCTION {begin.bib} write$ newline$ "\providecommand{\href}[2]{\url{#2}}" write$ newline$ - "\providecommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{#1}}" + "\providecommand{\doi}[1]{DOI: \href{https://doi.org/#1}{#1}}" write$ newline$ "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else" write$ newline$ diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst index 73a96082be9..824aadb94b7 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst @@ -1,12 +1,12 @@ %% -%% This is file `gbt-7714-2015-numerical.bst', +%% This is file `gbt7714-unsrt.bst', %% generated with the docstrip utility. %% %% The original source files were: %% -%% gbt-7714-2015.dtx (with options: `numerical') +%% gbt7714.dtx (with options: `numerical') %% -%% Copyright (C) 2016-2017 by Zeping Lee <zepinglee AT gmail.com> +%% Copyright (C) 2016-2018 by Zeping Lee <zepinglee AT gmail.com> %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -25,32 +25,25 @@ ENTRY { address author booktitle - chapter date doi - eid edition editor - howpublished institution - isbn - issn journal key language mark - media - month - note + medium number organization pages + pinyin publisher school series title translator - type url urldate volume @@ -61,7 +54,7 @@ ENTRY INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } -INTEGERS { lang.zh lang.ja lang.en lang.ru } +INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other } INTEGERS { charptr stringlength } @@ -71,10 +64,11 @@ FUNCTION {init.state.consts} #2 'after.sentence := #3 'after.block := #4 'after.slash := - #2 'lang.zh := - #3 'lang.ja := - #0 'lang.en := - #1 'lang.ru := + #3 'lang.zh := + #4 'lang.ja := + #1 'lang.en := + #2 'lang.ru := + #0 'lang.other := } STRINGS { s t } @@ -290,13 +284,17 @@ INTEGERS { ascii } FUNCTION {get.char.lang} { chr.to.int$ 'ascii := - ascii #227 > ascii #234 < and - { lang.zh } - { ascii #227 = - { lang.ja } - { ascii #207 > ascii #212 < and - { lang.ru } - { lang.en } + ascii #64 > ascii #91 < and ascii #96 > ascii #123 < and or + { lang.en } + { ascii #227 > ascii #234 < and + { lang.zh } + { ascii #227 = + { lang.ja } + { ascii #207 > ascii #212 < and + { lang.ru } + { lang.en } + if$ + } if$ } if$ @@ -304,21 +302,21 @@ FUNCTION {get.char.lang} if$ } -INTEGERS { char.lang lang } +INTEGERS { char.lang tmp.lang } STRINGS { tmp.str } FUNCTION {get.str.lang} { 'tmp.str := - lang.en 'lang := + lang.other 'tmp.lang := tmp.str empty$ { "Empty string!" warning$ } { #1 'charptr := tmp.str text.length$ #1 + 'stringlength := { charptr stringlength < } { tmp.str charptr #1 substring$ get.char.lang 'char.lang := - char.lang lang > - { char.lang 'lang := } + char.lang tmp.lang > + { char.lang 'tmp.lang := } 'skip$ if$ @@ -334,7 +332,7 @@ FUNCTION {get.str.lang} while$ } if$ - lang + tmp.lang } FUNCTION {is.in.chinese} @@ -355,35 +353,33 @@ FUNCTION {format.anonymous} if$ } -INTEGERS { nameptr namesleft numnames name.lang} +INTEGERS { nameptr namesleft numnames name.lang } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > nameptr #4 < and } + { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - t get.str.lang 'name.lang := - name.lang lang.en = - { t #1 "{vv~}{ll}{ f{~}}{, jj}" format.name$ 't := } - { t #1 "{ll}{ff}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", " * format.et.al * } - { ", " * t * } + nameptr #4 = + { format.et.al + #1 'namesleft := + } + { t "others" = + { format.et.al } + { t get.str.lang 'name.lang := + name.lang lang.en = + { t #1 "{vv~}{ll}{ f{~}}{, jj}" format.name$ } + { t #1 "{ll}{ff}" format.name$ } if$ } if$ - nameptr #3 = namesleft #1 > and - { ", " * format.et.al * } - 'skip$ - if$ } - 't + if$ + nameptr #1 > + { ", " swap$ * * } + 'skip$ if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := @@ -453,8 +449,8 @@ FUNCTION {set.mark} { pop$ mark 'entry.mark := } { 'entry.mark := } if$ - media empty$ not - { entry.mark "/" * media * 'entry.mark := } + medium empty$ not + { entry.mark "/" * medium * 'entry.mark := } { url empty$ not { entry.mark "/OL" * 'entry.mark := } 'skip$ @@ -534,7 +530,9 @@ FUNCTION {make.full.names} type$ "inbook" = or 'author.editor.full - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or 'editor.full 'author.full if$ @@ -558,23 +556,15 @@ FUNCTION {output.bibitem} before.all 'output.state := } - -FUNCTION {n.dashify} +FUNCTION {hyphenate} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ + { "-" * + { t #1 #1 substring$ "-" = } + { t #2 global.max$ substring$ 't := } + while$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := @@ -858,7 +848,7 @@ FUNCTION {format.address} FUNCTION {format.sine.nomine} { is.in.chinese - { "[出版地不详]" } + { "[出版者不详]" } { "[s.n.]" } if$ } @@ -920,7 +910,7 @@ FUNCTION {format.address.publisher} FUNCTION {format.pages} { pages empty$ { "" } - { pages n.dashify } + { pages hyphenate } if$ } @@ -984,9 +974,9 @@ FUNCTION {format.in.ed.booktitle} } FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and +{ author empty$ title empty$ + year empty$ + and and key empty$ not and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ @@ -1198,17 +1188,20 @@ FUNCTION {online} FUNCTION {misc} { journal empty$ not - { article.in.journal } + 'article.in.journal { booktitle empty$ not - { incollection } + 'incollection { url empty$ not - { online } - { monograph } + 'online + { "Z" set.mark + monograph + } if$ } if$ } if$ + empty.misc.check } FUNCTION {archive} @@ -1222,7 +1215,8 @@ FUNCTION {book} { monograph } FUNCTION {collection} { "G" set.mark - monograph } + monograph +} FUNCTION {database} { "DB" set.mark @@ -1276,7 +1270,7 @@ FUNCTION {proceedings} monograph } -FUNCTION {program} +FUNCTION {software} { "CP" set.mark misc } @@ -1365,7 +1359,7 @@ EXECUTE {init.state.consts} FUNCTION {set.entry.lang} { language empty$ { author field.or.null title field.or.null * get.str.lang } - { language "english" = + { language "english" = language "american" = or language "british" = or { lang.en } { language "chinese" = { lang.zh } @@ -1373,7 +1367,7 @@ FUNCTION {set.entry.lang} { lang.ja } { language "russian" = { lang.ru } - { lang.en } + { lang.other } if$ } if$ @@ -1476,10 +1470,10 @@ FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or - type$ "collection" = - or 'author.editor.key.label - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or { editor empty$ not 'editor.key.organization.label 'author.key.organization.label @@ -1497,7 +1491,7 @@ FUNCTION {calc.label} short.list "(" * - format.year extract.before.dash duplicate$ empty$ + format.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1604,7 +1598,7 @@ FUNCTION {begin.bib} write$ newline$ "\providecommand{\href}[2]{\url{#2}}" write$ newline$ - "\providecommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{#1}}" + "\providecommand{\doi}[1]{DOI: \href{https://doi.org/#1}{#1}}" write$ newline$ "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else" write$ newline$ diff --git a/Master/texmf-dist/doc/latex/thuthesis/Makefile b/Master/texmf-dist/doc/latex/thuthesis/Makefile index 2237a9d993f..65094209ca7 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/Makefile +++ b/Master/texmf-dist/doc/latex/thuthesis/Makefile @@ -3,7 +3,7 @@ # Compiling method: latexmk/xelatex/pdflatex METHOD = latexmk # Set opts for latexmk if you use it -LATEXMKOPTS = -xelatex -halt-on-error -interaction=nonstopmode +LATEXMKOPTS = -xelatex -file-line-error -halt-on-error -interaction=nonstopmode # Basename of thesis THESISMAIN = main # Basename of shuji diff --git a/Master/texmf-dist/doc/latex/thuthesis/README.md b/Master/texmf-dist/doc/latex/thuthesis/README.md index 4b04a253c5a..4043e1bb381 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/README.md +++ b/Master/texmf-dist/doc/latex/thuthesis/README.md @@ -1,4 +1,7 @@ +[![Build Status](https://travis-ci.org/xueruini/thuthesis.svg?branch=master)](https://travis-ci.org/xueruini/thuthesis) [![Join the chat at https://gitter.im/thuthesis/Lobby](https://badges.gitter.im/thuthesis/Lobby.svg)](https://gitter.im/thuthesis/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + # What's ThuThesis? + ThuThesis is a LaTeX thesis template package for Tsinghua University supporting from bachelor, master, doctor dissertations to post-doc report. Since the users of this package are supposed to be Chinese or those understand Chinese, the following of this file and all other documents are written in Chinese only. # ThuThesis是什么? diff --git a/Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex b/Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex index 42f4bf3a3e4..bfd5f1f0720 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex @@ -106,7 +106,7 @@ 不错的方法,如果不喜欢脚注,可以在表格后面写注释,比如表~\ref{tab:tabexamp1}。 \begin{table}[htbp] \centering - \caption{复杂表格示例 1} + \caption{复杂表格示例 1。这个引用 \cite{tex} 不会导致编号混乱。} \label{tab:tabexamp1} \begin{minipage}[t]{0.8\textwidth} \begin{tabularx}{\linewidth}{|l|X|X|X|X|} @@ -217,9 +217,9 @@ \multicolumn{2}{|c|}{Network Topology} & \# of nodes & \multicolumn{3}{c|}{\# of clients} & Server \\\hline GT-ITM & Waxman Transit-Stub & 600 & - \multirow{2}{2em}{2\%}& - \multirow{2}{2em}{10\%}& - \multirow{2}{2em}{50\%}& + \multirow{2}{1em}{2\%}& + \multirow{2}{1.5em}{10\%}& + \multirow{2}{1.5em}{50\%}& \multirow{2}{1.2in}{Max. Connectivity}\\\cline{1-3} \multicolumn{2}{|c|}{Inet-2.1} & 6000 & & & &\\\hline \multirow{2}{1.5cm}{Xue} & Rui & Ni &\multicolumn{4}{c|}{\multirow{2}*{\thuthesis}}\\\cline{2-3} @@ -510,7 +510,7 @@ V_j & = v_j, & \qquad X_j & = x_j, metamori2004},博士论文~\cite{shaheshang, FistSystem01},标准文 件~\cite{IEEE-1363},会议论文~\cite{DPMG,kocher99},技术报告~\cite{NPB2},电子文 献~\cite{chuban2001,oclc2000}。中文参考文献~\cite{cnarticle}应增 -加 \texttt{lang=``zh''} 字段,以便进行相应处理。另外,本模板对中文文 +加 \texttt{language=``chinese''} 字段,以便进行相应处理。另外,本模板对中文文 献~\cite{cnproceed}的支持并不是十全十美,如果有不如意的地方,请手动修 改 \texttt{bbl} 文件。 diff --git a/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty b/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty index 30fdc674f12..f31ec6d6c5e 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty +++ b/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2005-2017 by Ruini Xue <xueruini@gmail.com> +%% Copyright (C) 2005-2018 by Ruini Xue <xueruini@gmail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,6 +21,7 @@ %% To produce the documentation run the original source files ending with `.dtx' %% through LaTeX. %% + \ProvidesPackage{dtx-style} \RequirePackage{hypdoc} \RequirePackage[UTF8,scheme=chinese]{ctex} diff --git a/Master/texmf-dist/doc/latex/thuthesis/latexmkrc b/Master/texmf-dist/doc/latex/thuthesis/latexmkrc index 60e98be092c..b0525dae776 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/latexmkrc +++ b/Master/texmf-dist/doc/latex/thuthesis/latexmkrc @@ -1,5 +1,6 @@ # vim: set ft=perl: -$clean_ext = 'thm glo gls bbl hd loe xdv'; +$xdvipdfmx="xdvipdfmx -E -o %D %O %S"; +$clean_ext = 'thm glo gls bbl hd loe synctex.gz xdv'; $makeindex = 'makeindex -s gind.ist %O -o %D %S'; add_cus_dep('glo', 'gls', 0, 'makeglo2gls'); sub makeglo2gls { diff --git a/Master/texmf-dist/doc/latex/thuthesis/main.pdf b/Master/texmf-dist/doc/latex/thuthesis/main.pdf Binary files differindex 6d8580f5930..b72800b8dbf 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/main.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/main.pdf diff --git a/Master/texmf-dist/doc/latex/thuthesis/main.tex b/Master/texmf-dist/doc/latex/thuthesis/main.tex index ec795a13359..f5af45c0d02 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/main.tex +++ b/Master/texmf-dist/doc/latex/thuthesis/main.tex @@ -1,12 +1,11 @@ -\documentclass[degree=master]{thuthesis} -% 选项: -% degree=[bachelor|master|doctor|postdoctor], % 必选 -% secret, % 可选 -% pifootnote, % 可选(建议打开) -% openany|openright, % 可选,基本不用 -% arial, % 可选,基本不用 -% arialtoc, % 可选,基本不用 -% arialtitle % 可选,基本不用 +\documentclass[degree=master, tocarialchapter]{thuthesis} +% 选项 +% degree=[bachelor|master|doctor|postdoctor], % 必选,学位类型 +% secret, % 可选(默认:关闭),是否有密级 +% tocarialchapter, % 可选(默认:关闭),章目录中使用黑体(这项表示同时打开下面两项) +% tocarialchapterentry, % 可选(默认:关闭),单独控制章标题在目录中使用黑体 +% tocarialchapterpage, % 可选(默认:关闭),单独控制章页码在目录中使用黑体 +% pifootnote, % 可选(默认:关闭),页脚编号采用 pifont 字体符号,建议打开 % 所有其它可能用到的包都统一放到这里了,可以根据自己的实际添加或者删除。 \usepackage{thuthesis} diff --git a/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib index 46f4ebf8a0c..f19a569df34 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib +++ b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib @@ -43,7 +43,7 @@ volume = 2, series = {新古文观止丛书}, address = {武汉}, - lang = {zh}, + language = "chinese", } @inbook{clzs, @@ -53,7 +53,7 @@ pages = {185-207}, publisher = {人民文学出版社}, year = 2001, - lang = {zh}, + language = "chinese", } @book{tex, @@ -138,7 +138,7 @@ year = 2006, address = {西安, 中国}, month = sep, - lang = "zh", + language = "chinese", } @article{cnarticle, @@ -148,7 +148,7 @@ pages = "260--266", volume = 224, year = 1800, - lang = "zh", + language = "chinese", } @mastersthesis{zhubajie, @@ -157,7 +157,7 @@ school = {广寒宫大学}, year = 2005, address = {北京}, - lang = "zh", + language = "chinese", } @phdthesis{shaheshang, @@ -166,7 +166,7 @@ school = {清华大学}, year = 2005, address = {北京}, - lang = "zh", + language = "chinese", } @mastersthesis{metamori2004, @@ -203,7 +203,7 @@ modifydate = {2001-12-19}, citedate = {2002-04-15}, url = {http://www.creader.com/news/200112190019.htm}, - lang = {zh}, + language = "chinese", } @online{oclc2000, @@ -219,6 +219,6 @@ title = {\thuthesis: 清华大学学位论文模板}, citedate = {2017-12-02}, url = {https://github.com/xueruini/thuthesis}, - lang = {zh}, + language = "chinese", year = 2017, } diff --git a/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf b/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf Binary files differindex 8cc3c816430..ca0d88fac2c 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf Binary files differindex ded7c3c4f9c..f94eac21441 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/doc/latex/thuthesis/figures/tsinghua.eps b/Master/texmf-dist/doc/latex/thuthesis/tsinghua.eps index 80bb1134879..80bb1134879 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/figures/tsinghua.eps +++ b/Master/texmf-dist/doc/latex/thuthesis/tsinghua.eps diff --git a/Master/texmf-dist/doc/latex/thuthesis/figures/tsinghua.pdf b/Master/texmf-dist/doc/latex/thuthesis/tsinghua.pdf Binary files differindex 69c8521baeb..69c8521baeb 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/figures/tsinghua.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/tsinghua.pdf diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx index 8bc7c52cba4..1fa40eab89e 100644 --- a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx +++ b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2005-2017 by Ruini Xue <xueruini@gmail.com> +% Copyright (C) 2005-2018 by Ruini Xue <xueruini@gmail.com> % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,7 +16,7 @@ % % \iffalse %<*driver> -\ProvidesFile{thuthesis.dtx}[2017/12/24 5.4.3 Tsinghua University Thesis Template] +\ProvidesFile{thuthesis.dtx}[2018/04/24 5.4.4 Tsinghua University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -149,6 +149,7 @@ % \changes{v4.8}{2013/03/09}{reset baselinestretch after ctex's change.} % \changes{v4.8}{2014/11/25}{好几年累积的一些更新,最重要的是切换到 \CTeX。} % \changes{v5.4.2}{2017/12/16}{删除 \cs{pozhehao}。} +% \changes{v5.4.4}{2018/04/22}{删除 \option{arialtitle},所有论文格式都一样。} % % \def\indexname{索引} % \def\glossaryname{修改记录} @@ -240,7 +241,9 @@ % thuthesis.cls & 模板类文件\\ % thuthesis.cfg & 模板配置文件\\ % thuthesis-numeric.bst & 参考文献样式文件\\ -% thuthesis-author-year.bst & 参考文献样式文件\\\midrule +% thuthesis-author-year.bst & 参考文献样式文件\\ +% tsinghua.pdf & 校名 logo,系统无隶书字体时使用 \\ +% tsinghua.eps & 同上 \\\midrule % main.tex & 示例文档主文件\\ % shuji.tex & 书脊示例文档\\ % ref/ & 示例文档参考文献目录\\ @@ -351,17 +354,17 @@ % % \subsection{升级} % \label{sec:updgrade} -% \thuthesis\ 升级非常简单,可以通过 \TeX 发行版的包管理工具自动更新发行版,也可 +% \thuthesis\ 升级非常简单,可以通过 \TeX\ 发行版的包管理工具自动更新发行版,也可 % 以下载最新的开发版, -% 将 \file{thuthesis.ins},\file{thuthesis.dtx},\file{thuthesis-author-year.bst} -% 和 \file{thuthesis-numeric.bst} 拷贝至工作目录覆盖相应的文件,然后运行: +% 将 \file{thuthesis.ins},\file{thuthesis.dtx},\file{tsinghua.pdf},\file{tsinghua.eps}, +% \file{thuthesis-author-year.bst} 和 \file{thuthesis-numeric.bst} 拷贝至工作目录覆盖相应 +% 的文件,然后运行: % \begin{shell} % $ latex thuthesis.ins % \end{shell} % % 生成新的类文件和配置文件即可。也可以直接拷 -% 贝 \file{thuthesis.cls},\file{thuthesis.cfg},\file{thuthesis-author-year.bst} -% 和 \file{thuthesis-numeric.bst},免去上面命令的执行。 +% 贝 \file{thuthesis.cls},\file{thuthesis.cfg},免去上面命令的执行。 % % % \section{使用说明} @@ -381,13 +384,14 @@ % % \subsection{示例文件} % \label{sec:userguide} + % 模板核心文件 -% 有:\file{thuthesis.cls},\file{thuthesis.cfg},\file{thuthesis-numeric.bst} 和 -% \file{thuthesis-author-year.bst},但是如果没有示例文档用户会发现很难下手。所以推 -% 荐新用户从模板自带的示例文档入手,里面包括了论文写作用到的所有命令及其使用方法, -% 只需要用自己的内容进行相应替换就可以。对于不清楚的命令可以查阅本手册。下面的例 -% 子描述了模板中章节的组织形式,来自于示例文档,具体内容可以参考模板附带 -% 的 \file{main.tex} 和 \file{data/}。 +% 有:\file{thuthesis.cls},\file{thuthesis.cfg},\file{thuthesis-numeric.bst}, +% \file{thuthesis-author-year.bst},\file{tsinghua.pdf} 和 \file{tsinghua.eps}, +% 但如果没有示例文档会很难下手,所以推荐从模板自带的示例文档入手,其中包括了论文 +% 写作用到的所有命令及其使用方法,只需要用自己的内容进行相应替换就可以。对于不清 +% 楚的命令可以查阅本手册。下面的例子描述了模板中章节的组织形式,来自于示例文档, +% 具体内容可以参考模板附带的 \file{main.tex} 和 \file{data/}。 % % \lstinputlisting[style=lstStyleLaTeX]{main.tex} % @@ -441,12 +445,16 @@ % 是 \option{openany}。}。这两个选项不用设置,\thuthesis\ 会根据当前论文类型自动选 % 择。 % -% \DescribeOption{arialtoc} -% 目录项(章目录项除外)中的英文是否用 \emph{Arial} 字体。本选项 -% 和 \option{arialtitle} 都不用用户干预,模板根据当前论文类型自动设置。 +% \DescribeOption{tocarialchapter} +% 章目录项(内容和页码)是否用 \textsf{Arial} 字体。如果想分别控制内容和页码的字体, +% 用下面两个开关。 +% +% \DescribeOption{tocarialchapterentry} +% 章目录项内容中的英文和数字是否用 \textsf{Arial} 字体。中文强制黑体,为了协调这个选 +% 项应该默认打开,不过从目前的反馈来看各学院的标准不一致。 % -% \DescribeOption{arialtitle} -% 章节标题中英文是否用 \emph{Arial} 字体(默认打开)。 +% \DescribeOption{tocarialchapterpage} +% 章目录项页码是否用 \textsf{Arial} 字体。 % % \subsection{引用方式} % \label{sec:citestyle} @@ -467,7 +475,7 @@ % 的 \cs{cite}\marg{key},而 \cs{inlinecite}\marg{key} 则用来生成正文模式。 % % 关于参考文献模板推荐使用 \BibTeX,关于中文参考文献需要额外增加一个 Entry: -% \texttt{lang},将其设置为 \texttt{zh} 用来指示此参考文献为中文。如: +% \texttt{language},将其设置为 \texttt{chinese} 用来指示此参考文献为中文。如: % \begin{latex} % @INPROCEEDINGS{cnproceed, % author = {王重阳 and 黄药师 and 欧阳峰 and 洪七公 and 段皇帝}, @@ -476,17 +484,17 @@ % year = 2006, % address = {西安, 中国}, % month = sep, -% lang = "zh", +% language = "chinese", % } % % @ARTICLE{cnarticle, -% AUTHOR = "贾宝玉 and 林黛玉 and 薛宝钗 and 贾探春", -% TITLE = "论刘姥姥食量大如牛之现实意义", -% JOURNAL = "红楼梦杂谈", -% PAGES = "260--266", -% VOLUME = "224", -% YEAR = "1800", -% LANG = "zh", +% author = "贾宝玉 and 林黛玉 and 薛宝钗 and 贾探春", +% title = "论刘姥姥食量大如牛之现实意义", +% journal = "红楼梦杂谈", +% pages = "260--266", +% volume = "224", +% year = "1800", +% language = "chinese", % } % \end{latex} % @@ -1108,7 +1116,7 @@ %<cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<cls>\ProvidesClass{thuthesis} %<cfg>\ProvidesFile{thuthesis.cfg} -%<cls|cfg>[2017/12/24 5.4.3 Tsinghua University Thesis Template] +%<cls|cfg>[2018/04/24 5.4.4 Tsinghua University Thesis Template] % \end{macrocode} % % \subsection{定义选项} @@ -1127,7 +1135,7 @@ %<*cls> \hyphenation{Thu-Thesis} \def\thuthesis{\textsc{ThuThesis}} -\def\version{5.4.3} +\def\version{5.4.4} \RequirePackage{kvoptions} \SetupKeyvalOptions{ @@ -1167,14 +1175,11 @@ \DeclareBoolOption{secret} % \end{macrocode} % -% 目录中英文是否用 Arial 字体(默认关闭)。 -% \begin{macrocode} -\DeclareBoolOption{arialtoc} -% \end{macrocode} -% -% 章节标题中的英文是否用 Arial 字体(默认打开)。 +% 章目录中的英文是否用 Arial 字体(默认关闭),可以分别控制内容和页码部分。 % \begin{macrocode} -\DeclareBoolOption{arialtitle} +\DeclareBoolOption{tocarialchapter} +\DeclareBoolOption{tocarialchapterentry} +\DeclareBoolOption{tocarialchapterpage} % \end{macrocode} % % 在 Windows Vista 或之后系统下时,默认使用微软雅黑,这可能会导致审查不合格。 @@ -1207,8 +1212,7 @@ % 打开默认选项。 % \begin{macrocode} \kvsetkeys{thu}{% - raggedbottom, - arialtitle} + raggedbottom} % \end{macrocode} % % 解析用户传递过来的选项,并加载 \pkg{ctexbook}。 @@ -1428,6 +1432,12 @@ % 利用 \pkg{fancyhdr} 设置页眉页脚。 % \begin{macrocode} \RequirePackage{fancyhdr} +% \end{macrocode} +% +% 利用 \pkg{notoccite} 避免目录中引用编号混乱。 +% \changes{v5.4.4}{2018/04/13}{让目录中的引用不影响正文中引用序号。} +% \begin{macrocode} +\RequirePackage{notoccite} %</cls> % \end{macrocode} % @@ -1828,10 +1838,10 @@ \DeclareCaptionLabelFormat{thu}{{\dawu[1.5]\normalfont #1~#2}} \DeclareCaptionLabelSeparator{thu}{\hspace{1em}} \DeclareCaptionFont{thu}{\dawu[1.5]} -\captionsetup{labelformat=thu,labelsep=thu,font=thu} -\captionsetup[table]{position=top,belowskip={12bp-\intextsep},aboveskip=6bp} -\captionsetup[figure]{position=bottom,belowskip={12bp-\intextsep},aboveskip=6bp} -\captionsetup[sub]{font=thu,skip=6bp} +\captionsetup{labelformat=thu,labelsep=thu,font=thu,skip=6bp} +\captionsetup[table]{position=top} +\captionsetup[figure]{position=bottom} +\captionsetup[sub]{font=thu} \renewcommand{\thesubfigure}{(\alph{subfigure})} \renewcommand{\thesubtable}{(\alph{subtable})} % \renewcommand{\p@subfigure}{:} @@ -1897,13 +1907,6 @@ %</cfg> % \end{macrocode} % -% 如果章节题目中的英文要使用 arial,那么就加上 \cs{sffamily} -% \begin{macrocode} -%<*cls> -\def\thu@title@font{% - \ifthu@arialtitle\sffamily\else\heiti\fi} -% \end{macrocode} -% % \pkg{fancyhdr} 定义页眉页脚很方便,但是有一个非常隐蔽的坑。通过 \pkg{fancyhdr} % 定义的样式在第一次被调用时会修改 \cs{chaptermark},这会导致页眉信息错误(多余 % 章号并且英文大写)。这是因为在原始的 \file{book.cls} 中定义如下(大意): @@ -1928,6 +1931,7 @@ % 而覆盖我们的 \cs{chaptermark} 定义(后续样式再激活不会重复覆盖)。所以我们采用如下 % 方法解决: % \begin{macrocode} +%<*cls> \AtBeginDocument{% \pagestyle{thu@empty} \renewcommand{\chaptermark}[1]{\@mkboth{\CTEXthechapter\hskip\ccwd#1}{}}} @@ -1978,7 +1982,7 @@ beforeskip={\ifthu@bachelor 15bp\else 9bp\fi}, aftername=\hskip\ccwd, afterskip={\ifthu@bachelor 20bp\else 24bp\fi}, - format={\centering\thu@title@font\ifthu@bachelor\xiaosan[1.333]\else\sanhao[1]\fi}, + format={\centering\sffamily\ifthu@bachelor\xiaosan[1.333]\else\sanhao[1]\fi}, nameformat=\relax, numberformat=\relax, titleformat=\thu@chapter@titleformat, @@ -1989,20 +1993,20 @@ afterindent=true, beforeskip={\ifthu@bachelor 25bp\else 24bp\fi\@plus 1ex \@minus .2ex}, afterskip={\ifthu@bachelor 12bp\else 6bp\fi \@plus .2ex}, - format={\thu@title@font\ifthu@bachelor\sihao[1.286]\else\sihao[1.429]\fi}, + format={\sffamily\ifthu@bachelor\sihao[1.286]\else\sihao[1.429]\fi}, }, subsection={ afterindent=true, beforeskip={\ifthu@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex}, afterskip={6bp \@plus .2ex}, - format={\thu@title@font\ifthu@bachelor\xiaosi[1.25]\else\banxiaosi[1.538]\fi}, - numberformat={\thu@title@font\ifthu@bachelor\banxiaosi[1.154]\else\banxiaosi[1.538]\fi}, + format={\sffamily\ifthu@bachelor\xiaosi[1.25]\else\banxiaosi[1.538]\fi}, + numberformat={\sffamily\ifthu@bachelor\banxiaosi[1.154]\else\banxiaosi[1.538]\fi}, }, subsubsection={ afterindent=true, beforeskip={\ifthu@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex}, afterskip={6bp \@plus .2ex}, - format={\thu@title@font\ifthu@bachelor\xiaosi[1.25]\else\xiaosi[1.667]\fi}, + format={\sffamily\ifthu@bachelor\xiaosi[1.25]\else\xiaosi[1.667]\fi}, }, paragraph/afterindent=true, subparagraph/afterindent=true} @@ -2065,8 +2069,7 @@ \setcounter{tocdepth}{2} % \end{macrocode} % -% 每章标题行前空 6 磅,后空 0 磅。如果使用目录项中英文要使用 Arial,那么就加上 \cs{sffamily}。 -% 章节名中英文用 Arial 字体,页码仍用 Times。 +% 每章标题行前空 6 磅,后空 0 磅。章节名中英文用 Arial 字体,页码仍用 Times。 % \begin{macro}{\tableofcontents} % \changes{v2.0}{2005/12/18}{附录的目录项需要调整一下。以及公式编号方式等等。} % \changes{v2.5}{2006/05/13}{取消 \pkg{titletoc} 宏包,用 \cs{dottedtocline} 调整 @@ -2087,18 +2090,18 @@ % 调整目录样式,允许指定目录字体。 % \changes{v5.2.2}{2016/01/23}{用 \cs{patchcmd} 修改 \cs{@dottedtocline}。} % \begin{macrocode} -\ifthu@arialtoc - \def\thu@toc@font{\sffamily} -\fi \def\@pnumwidth{2em} \def\@tocrmarg{\@pnumwidth} \def\@dotsep{1} -\patchcmd{\@dottedtocline}{#4}{\csname thu@toc@font\endcsname #4}{}{} -\patchcmd{\@dottedtocline}{\hb@xt@\@pnumwidth}{\hbox}{}{} +\ifthu@tocarialchapter + \thu@tocarialchapterentrytrue\thu@tocarialchapterpagetrue +\fi +\def\thu@toc@chapter@entry@font{\ifthu@tocarialchapterentry\sffamily\fi} +\def\thu@toc@chapter@page@font{\ifthu@tocarialchapterpage\sffamily\fi} \renewcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% - \ifthu@bachelor \vskip 6bp \else \vskip 4bp \fi \@plus\p@ + \ifthu@bachelor\vskip 6bp\else\vskip 4bp\fi \@plus\p@ \setlength\@tempdima{4em}% \begingroup \parindent \z@ \rightskip \@pnumwidth @@ -2106,10 +2109,9 @@ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - % numberline is called here, and it uses \@tempdima - {\ifthu@bachelor\sffamily\else\csname thu@toc@font\endcsname\fi\heiti #1} - \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill - \nobreak{\normalfont\normalcolor #2}\par + {\thu@toc@chapter@entry@font #1}% + \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill% + \nobreak{\thu@toc@chapter@page@font #2}\par \penalty\@highpenalty \endgroup \fi} @@ -2120,6 +2122,8 @@ % 南中未作明确规定,示例文件中对于一级和二级节标题分别缩进 1 和 1.5 个汉字符。 % \changes{v5.0.0}{2015/04/28}{修正学位论文中目录里节前缩进(\#103)} % \begin{macrocode} +% \patchcmd{\@dottedtocline}{#4}{\csname thu@toc@font\endcsname #4}{}{} +\patchcmd{\@dottedtocline}{\hb@xt@\@pnumwidth}{\hbox}{}{} \renewcommand*\l@section{% \@dottedtocline{1}{\ccwd}{2.1em}} \renewcommand*\l@subsection{% @@ -2518,7 +2522,7 @@ \ifthu@secret{\heiti\sanhao\thu@secretlevel\thu@secret@content}\else\rule{1cm}{0cm}\fi} \ifthu@bachelor \vskip0.65cm - {\yihao\lishu\ziju{0.5}\thu@schoolname} + {\ifcsname lishu\endcsname\yihao\lishu\ziju{0.5}\thu@schoolname\else\includegraphics{tsinghua}\fi} \par\vskip1.5cm {\xiaochu\heiti\ziju{0.5}\textbf\thu@bachelor@subtitle} \vskip2.2cm\hskip0.8cm @@ -2609,8 +2613,14 @@ & {\ziju{0.6875}\thu@cassosupervisor}\\ \fi \ifx\thu@ccosupervisor\@empty\else - \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep - & {\ziju{0.6875}\thu@ccosupervisor}\\ + \ifthu@master + \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep + & {\ziju{0.6875}\thu@ccosupervisor}\\ + \fi + \ifthu@doctor + \thu@put@title{\thu@cosuper@title} & \thu@title@sep + & {\ziju{0.6875}\thu@ccosupervisor}\\ + \fi \fi \end{tabular} \end{center}}} @@ -2832,7 +2842,7 @@ % \end{macro} % % \begin{macro}{\thu@makeabstract} -% 中文摘要部分的标题为\textbf{摘要},用黑体三号字。 +% 中文摘要部分的标题为“\textbf{摘要}”,用黑体三号字。 % \changes{v2.5.1}{2006/05/24}{教务处又不要正文前的页眉了。} % \changes{v2.5.1}{2006/05/24}{不管是哪种论文格式,摘要都要右开。} % \changes{v2.5.2}{2006/05/29}{在研究生论文中,摘要不出现在目录中,但是要在书签中出现。} @@ -2863,7 +2873,7 @@ % 悬挂缩进,英文摘要同。} % \changes{v4.4.2}{2008/06/05}{本科生格式中文关键词采用首行缩进且无悬挂缩进。} % \begin{macrocode} - \vskip12bp + \ifthu@doctor\vfill\else\vskip12bp\fi \thu@put@keywords{\textbf\thu@ckeywords@title}{\thu@ckeywords} % \end{macrocode} % @@ -2890,9 +2900,9 @@ % indent and no hang-indent.} % \changes{v4.7}{2012/06/02}{Bachelor sample uses Keywords w/o space \texttt{-\_-}} % \begin{macrocode} - \vskip12bp + \ifthu@doctor\vfill\else\vskip12bp\fi \thu@put@keywords{% - \textbf{\ifthu@bachelor Keywords:\else Key words:\fi\enskip}}{\thu@ekeywords}} + \textbf{\ifthu@bachelor Keywords:\else Key Words:\fi\enskip}}{\thu@ekeywords}} %</cls> % \end{macrocode} % \end{macro} @@ -3036,7 +3046,7 @@ % \changes{v2.6.2}{2006/06/19}{此命令配合 \pkg{amsmath} 命令基本可以满足所有 % 公式需要。} % 本命令只是为了生成公式列表,所以这个 caption 是假的。如果要编号最好用 -% equation 环境,如果是其它编号环境,请手动添加添加 \cs{equcaption}。 +% equation 环境,如果是其它编号环境,请手动添加 \cs{equcaption}。 % 用法如下: % % \cs{equcaption}\marg{counter} @@ -3073,12 +3083,12 @@ % \subsection{参考文献} % \label{sec:ref} % +% \changes{v5.4.4}{2018/04/12}{参考文献列表的页码使用 hyphen 取代 en dash。} +% % \begin{macro}{\inlinecite} % 依赖于 \pkg{natbib} 宏包,修改其中的命令。 旧命令 \cs{onlinecite} 依然可用。 % \changes{v5.0.0}{2015/11/23}{用 \cs{inlinecite} 替换 \cs{onlinecite}。为保证兼 % 容性,\cs{onlinecite} 会保留。} -% \changes{v5.4.0}{2017/12/3}{\cs{bibliographystyle}\marg{newbib} will cause \cs{bibstyle@newbib} to -% be called on THE NEXT LATEX RUN (via the aux file).} % \begin{macrocode} %<*cls> \newcommand\bibstyle@inline{\bibpunct{[}{]}{,}{n}{,}{,}} @@ -3118,6 +3128,7 @@ % \changes{v2.5}{2006/05/13}{参考文献序号靠左,而不是靠右。} % \changes{v2.6.4}{2006/10/23}{调整参考文献标签宽度,使得条目增多时仍能对齐。} % \changes{v5.4.0}{2017/12/03}{基于 \pkg{natbib} 的环境调整距离兼容性更好。} +% \changes{v5.4.4}{2018/04/14}{参考文献标号左对齐。} % \begin{macrocode} %<*cls> \renewcommand\bibsection{\thu@chapter*{\bibname}} @@ -3125,9 +3136,12 @@ \setlength\bibhang{2\ccwd} \addtolength{\bibsep}{-0.7em} \setlength{\labelsep}{0.4em} +\def\@biblabel#1{[#1]\hfill} % \end{macrocode} % % 两种引用样式: +% \changes{v5.4.0}{2017/12/3}{\cs{bibliographystyle}\marg{newbib} will cause \cs{bibstyle@newbib} to +% be called on THE NEXT LATEX RUN (via the aux file).} % \changes{v5.4.1}{2017/12/04}{bst 在 ctan 上不分路径,故加前缀。} % \begin{macrocode} \expandafter\newcommand\csname bibstyle@thuthesis-numeric\endcsname{% @@ -3176,6 +3190,21 @@ \renewcommand\NAT@cite% [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi #1\NAT@@close\if*#3*\else\textsuperscript{#3}\fi\else#1\fi\endgroup} +% \end{macrocode} +% +% 在顺序编码制下,\pkg{natbib} 只有在三个以上连续文献引用才会使用连接号, +% 这里修改为允许两个引用使用连接号。 +% \changes{v5.4.4}{2018/04/12}{允许连续两个文献引用使用连接号。} +% \begin{macrocode} +\patchcmd{\NAT@citexnum}{% + \ifx\NAT@last@yr\relax + \def@NAT@last@yr{\@citea}% + \else + \def@NAT@last@yr{--\NAT@penalty}% + \fi +}{% + \def@NAT@last@yr{-\NAT@penalty}% +}{}{} %</cls> % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins b/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins index 7d8890c78a5..06ad2529a24 100644 --- a/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins +++ b/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2005-2017 by Ruini Xue <xueruini@gmail.com> +%% Copyright (C) 2005-2018 by Ruini Xue <xueruini@gmail.com> %% %% This file is part of the ThuThesis package project. %% --------------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg index 21f0238eadc..75268fc2877 100644 --- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg +++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2005-2017 by Xue Ruini <xueruini@gmail.com> +%% Copyright (C) 2005-2018 by Xue Ruini <xueruini@gmail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -20,8 +20,9 @@ %% %% This is the configuration file of the ThuThesis package with LaTeX2e. %% + \ProvidesFile{thuthesis.cfg} -[2017/12/24 5.4.3 Tsinghua University Thesis Template] +[2018/04/24 5.4.4 Tsinghua University Thesis Template] \theorembodyfont{\normalfont} \theoremheaderfont{\normalfont\heiti} \theoremsymbol{\ensuremath{\square}} diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls index 3a487f17c8e..ea6884052d8 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-2017 by Ruini Xue <xueruini@gmail.com> +%% Copyright (C) 2005-2018 by Ruini Xue <xueruini@gmail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,12 +21,13 @@ %% To produce the documentation run the original source files ending with `.dtx' %% through LaTeX. %% + \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{thuthesis} -[2017/12/24 5.4.3 Tsinghua University Thesis Template] +[2018/04/24 5.4.4 Tsinghua University Thesis Template] \hyphenation{Thu-Thesis} \def\thuthesis{\textsc{ThuThesis}} -\def\version{5.4.3} +\def\version{5.4.4} \RequirePackage{kvoptions} \SetupKeyvalOptions{ @@ -54,15 +55,15 @@ \DeclareVoidOption{doctor}{\thu@deprecated@degree@option} \DeclareVoidOption{postdoctor}{\thu@deprecated@degree@option} \DeclareBoolOption{secret} -\DeclareBoolOption{arialtoc} -\DeclareBoolOption{arialtitle} +\DeclareBoolOption{tocarialchapter} +\DeclareBoolOption{tocarialchapterentry} +\DeclareBoolOption{tocarialchapterpage} \IfFileExists{/dev/null}{}{\PassOptionsToClass{fontset=windowsold}{ctexbook}} \DeclareBoolOption{raggedbottom} \DeclareBoolOption{pifootnote} \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}} \kvsetkeys{thu}{% - raggedbottom, - arialtitle} + raggedbottom} \ProcessKeyvalOptions* \ifthu@bachelor\relax\else \ifthu@master\relax\else @@ -148,6 +149,7 @@ footskip=6mm} \fi \RequirePackage{fancyhdr} +\RequirePackage{notoccite} \let\thu@cleardoublepage\cleardoublepage \newcommand{\thu@clearemptydoublepage}{% \clearpage{\pagestyle{thu@empty}\thu@cleardoublepage}} @@ -267,10 +269,10 @@ \DeclareCaptionLabelFormat{thu}{{\dawu[1.5]\normalfont #1~#2}} \DeclareCaptionLabelSeparator{thu}{\hspace{1em}} \DeclareCaptionFont{thu}{\dawu[1.5]} -\captionsetup{labelformat=thu,labelsep=thu,font=thu} -\captionsetup[table]{position=top,belowskip={12bp-\intextsep},aboveskip=6bp} -\captionsetup[figure]{position=bottom,belowskip={12bp-\intextsep},aboveskip=6bp} -\captionsetup[sub]{font=thu,skip=6bp} +\captionsetup{labelformat=thu,labelsep=thu,font=thu,skip=6bp} +\captionsetup[table]{position=top} +\captionsetup[figure]{position=bottom} +\captionsetup[sub]{font=thu} \renewcommand{\thesubfigure}{(\alph{subfigure})} \renewcommand{\thesubtable}{(\alph{subtable})} \let\thu@LT@array\LT@array @@ -278,8 +280,6 @@ \def\hlinewd#1{% \noalign{\ifnum0=`}\fi\hrule \@height #1 \futurelet \reserved@a\@xhline} -\def\thu@title@font{% - \ifthu@arialtitle\sffamily\else\heiti\fi} \AtBeginDocument{% \pagestyle{thu@empty} \renewcommand{\chaptermark}[1]{\@mkboth{\CTEXthechapter\hskip\ccwd#1}{}}} @@ -297,7 +297,7 @@ beforeskip={\ifthu@bachelor 15bp\else 9bp\fi}, aftername=\hskip\ccwd, afterskip={\ifthu@bachelor 20bp\else 24bp\fi}, - format={\centering\thu@title@font\ifthu@bachelor\xiaosan[1.333]\else\sanhao[1]\fi}, + format={\centering\sffamily\ifthu@bachelor\xiaosan[1.333]\else\sanhao[1]\fi}, nameformat=\relax, numberformat=\relax, titleformat=\thu@chapter@titleformat, @@ -308,20 +308,20 @@ afterindent=true, beforeskip={\ifthu@bachelor 25bp\else 24bp\fi\@plus 1ex \@minus .2ex}, afterskip={\ifthu@bachelor 12bp\else 6bp\fi \@plus .2ex}, - format={\thu@title@font\ifthu@bachelor\sihao[1.286]\else\sihao[1.429]\fi}, + format={\sffamily\ifthu@bachelor\sihao[1.286]\else\sihao[1.429]\fi}, }, subsection={ afterindent=true, beforeskip={\ifthu@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex}, afterskip={6bp \@plus .2ex}, - format={\thu@title@font\ifthu@bachelor\xiaosi[1.25]\else\banxiaosi[1.538]\fi}, - numberformat={\thu@title@font\ifthu@bachelor\banxiaosi[1.154]\else\banxiaosi[1.538]\fi}, + format={\sffamily\ifthu@bachelor\xiaosi[1.25]\else\banxiaosi[1.538]\fi}, + numberformat={\sffamily\ifthu@bachelor\banxiaosi[1.154]\else\banxiaosi[1.538]\fi}, }, subsubsection={ afterindent=true, beforeskip={\ifthu@bachelor 12bp\else 16bp\fi\@plus 1ex \@minus .2ex}, afterskip={6bp \@plus .2ex}, - format={\thu@title@font\ifthu@bachelor\xiaosi[1.25]\else\xiaosi[1.667]\fi}, + format={\sffamily\ifthu@bachelor\xiaosi[1.25]\else\xiaosi[1.667]\fi}, }, paragraph/afterindent=true, subparagraph/afterindent=true} @@ -357,18 +357,18 @@ \renewcommand\tableofcontents{% \thu@chapter*[]{\contentsname} \ifthu@bachelor\xiaosi[1.667]\else\xiaosi[1.65]\fi\@starttoc{toc}\normalsize} -\ifthu@arialtoc - \def\thu@toc@font{\sffamily} -\fi \def\@pnumwidth{2em} \def\@tocrmarg{\@pnumwidth} \def\@dotsep{1} -\patchcmd{\@dottedtocline}{#4}{\csname thu@toc@font\endcsname #4}{}{} -\patchcmd{\@dottedtocline}{\hb@xt@\@pnumwidth}{\hbox}{}{} +\ifthu@tocarialchapter + \thu@tocarialchapterentrytrue\thu@tocarialchapterpagetrue +\fi +\def\thu@toc@chapter@entry@font{\ifthu@tocarialchapterentry\sffamily\fi} +\def\thu@toc@chapter@page@font{\ifthu@tocarialchapterpage\sffamily\fi} \renewcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% - \ifthu@bachelor \vskip 6bp \else \vskip 4bp \fi \@plus\p@ + \ifthu@bachelor\vskip 6bp\else\vskip 4bp\fi \@plus\p@ \setlength\@tempdima{4em}% \begingroup \parindent \z@ \rightskip \@pnumwidth @@ -376,13 +376,13 @@ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - % numberline is called here, and it uses \@tempdima - {\ifthu@bachelor\sffamily\else\csname thu@toc@font\endcsname\fi\heiti #1} - \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill - \nobreak{\normalfont\normalcolor #2}\par + {\thu@toc@chapter@entry@font #1}% + \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill% + \nobreak{\thu@toc@chapter@page@font #2}\par \penalty\@highpenalty \endgroup \fi} +\patchcmd{\@dottedtocline}{\hb@xt@\@pnumwidth}{\hbox}{}{} \renewcommand*\l@section{% \@dottedtocline{1}{\ccwd}{2.1em}} \renewcommand*\l@subsection{% @@ -519,7 +519,7 @@ \ifthu@secret{\heiti\sanhao\thu@secretlevel\thu@secret@content}\else\rule{1cm}{0cm}\fi} \ifthu@bachelor \vskip0.65cm - {\yihao\lishu\ziju{0.5}\thu@schoolname} + {\ifcsname lishu\endcsname\yihao\lishu\ziju{0.5}\thu@schoolname\else\includegraphics{tsinghua}\fi} \par\vskip1.5cm {\xiaochu\heiti\ziju{0.5}\textbf\thu@bachelor@subtitle} \vskip2.2cm\hskip0.8cm @@ -600,8 +600,14 @@ & {\ziju{0.6875}\thu@cassosupervisor}\\ \fi \ifx\thu@ccosupervisor\@empty\else - \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep - & {\ziju{0.6875}\thu@ccosupervisor}\\ + \ifthu@master + \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep + & {\ziju{0.6875}\thu@ccosupervisor}\\ + \fi + \ifthu@doctor + \thu@put@title{\thu@cosuper@title} & \thu@title@sep + & {\ziju{0.6875}\thu@ccosupervisor}\\ + \fi \fi \end{tabular} \end{center}}} @@ -752,13 +758,13 @@ \fi \pagenumbering{Roman} \thu@cabstract - \vskip12bp + \ifthu@doctor\vfill\else\vskip12bp\fi \thu@put@keywords{\textbf\thu@ckeywords@title}{\thu@ckeywords} \thu@chapter*[]{\eabstractname} % no tocline \thu@eabstract - \vskip12bp + \ifthu@doctor\vfill\else\vskip12bp\fi \thu@put@keywords{% - \textbf{\ifthu@bachelor Keywords:\else Key words:\fi\enskip}}{\thu@ekeywords}} + \textbf{\ifthu@bachelor Keywords:\else Key Words:\fi\enskip}}{\thu@ekeywords}} \newenvironment{denotation}[1][2.5cm]{% \thu@chapter*[]{\thu@denotation@name} % no tocline \vskip-30bp\xiaosi[1.6]\begin{thu@denotation}[labelwidth=#1] @@ -823,6 +829,7 @@ \setlength\bibhang{2\ccwd} \addtolength{\bibsep}{-0.7em} \setlength{\labelsep}{0.4em} +\def\@biblabel#1{[#1]\hfill} \expandafter\newcommand\csname bibstyle@thuthesis-numeric\endcsname{% \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}} \expandafter\newcommand\csname bibstyle@thuthesis-author-year\endcsname{% @@ -852,6 +859,15 @@ \renewcommand\NAT@cite% [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi #1\NAT@@close\if*#3*\else\textsuperscript{#3}\fi\else#1\fi\endgroup} +\patchcmd{\NAT@citexnum}{% + \ifx\NAT@last@yr\relax + \def@NAT@last@yr{\@citea}% + \else + \def@NAT@last@yr{--\NAT@penalty}% + \fi +}{% + \def@NAT@last@yr{-\NAT@penalty}% +}{}{} \let\thu@appendix\appendix \renewenvironment{appendix}{% \let\title\thu@appendix@title |