summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-19 00:05:45 +0000
committerKarl Berry <karl@freefriends.org>2017-12-19 00:05:45 +0000
commitd2ce88d73b5923b144961ab22dbb9198bcc761ce (patch)
tree5792553e857b12a7147f733961935b700c7619fe
parent6c0eec58b554bd6c0964707a3b464f45468edc69 (diff)
thuthesis (18dec17)
git-svn-id: svn://tug.org/texlive/trunk@46093 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst331
-rw-r--r--Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst337
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty14
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/latexmkrc2
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/main.pdfbin938267 -> 938275 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/main.tex16
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/shuji.pdfbin4364 -> 4383 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/shuji.tex2
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdfbin563928 -> 563268 bytes
-rw-r--r--Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx74
-rw-r--r--Master/texmf-dist/source/latex/thuthesis/thuthesis.ins49
-rw-r--r--Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg19
-rw-r--r--Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls60
13 files changed, 482 insertions, 422 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 9f1c7eaa6c9..8d9428f3ec0 100644
--- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst
+++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst
@@ -1,23 +1,32 @@
-%% Copyright (C) 2016-2017 by Zeping Lee <zepinglee AT gmail.com>
%%
+%% This is file `gbt-7714-2015-author-year.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gbt-7714-2015.dtx (with options: `authoryear')
+%%
+%% Copyright (C) 2016-2017 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
%% version 1.2 of this license or (at your option) any later
%% version. The latest version of this license is in:
-%%
+%%
%% http://www.latex-project.org/lppl.txt
-%%
+%%
%% and version 1.2 or later is part of all distributions of
%% LaTeX version 1999/12/01 or later.
-%%
+%%
%% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
%% which was designed for use with the `natbib.sty' package.
-%%
+%%
ENTRY
{ address
author
booktitle
chapter
+ date
doi
eid
edition
@@ -48,12 +57,12 @@ ENTRY
volume
year
}
- { lang }
- { mark_ label extra.label sort.label short.list }
+ { entry.lang }
+ { label extra.label sort.label short.list entry.mark }
INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash }
-INTEGERS { lang.zh lang.ja lang.en lang.ru lang.default }
+INTEGERS { lang.zh lang.ja lang.en lang.ru }
INTEGERS { charptr stringlength }
@@ -63,11 +72,10 @@ FUNCTION {init.state.consts}
#2 'after.sentence :=
#3 'after.block :=
#4 'after.slash :=
- #4 'lang.zh :=
- #5 'lang.ja :=
- #1 'lang.en :=
- #3 'lang.ru :=
- #0 'lang.default :=
+ #2 'lang.zh :=
+ #3 'lang.ja :=
+ #0 'lang.en :=
+ #1 'lang.ru :=
}
STRINGS { s t }
@@ -279,8 +287,59 @@ FUNCTION {emphasize}
if$
}
+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 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { char.lang lang }
+
+STRINGS { tmp.str }
+
+FUNCTION {get.str.lang}
+{ 'tmp.str :=
+ lang.en '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 := }
+ 'skip$
+ if$
+
+ char.lang lang.zh = char.lang lang.ja = or
+ { charptr #3 + 'charptr := }
+ { char.lang lang.ru =
+ { charptr #2 + 'charptr := }
+ { charptr #1 + 'charptr := }
+ if$
+ }
+ if$
+ }
+ while$
+ }
+ if$
+ lang
+}
+
FUNCTION {is.in.chinese}
-{ lang lang.zh =
+{ entry.lang lang.zh =
}
FUNCTION {format.et.al}
@@ -297,7 +356,7 @@ FUNCTION {format.anonymous}
if$
}
-INTEGERS { nameptr namesleft numnames }
+INTEGERS { nameptr namesleft numnames name.lang}
FUNCTION {format.names}
{ 's :=
@@ -305,9 +364,12 @@ FUNCTION {format.names}
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > nameptr #4 < and }
- { s nameptr "{vv~}{ll}{ f{ }}" format.name$
- s nameptr "{, jj}" format.name$ *
- 't :=
+ { 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 * }
@@ -374,8 +436,31 @@ FUNCTION {format.url}
if$
}
+FUNCTION {is.doi.in.url}
+{ url empty$
+ { #0 }
+ { doi text.length$ 'stringlength :=
+ url text.length$ 'charptr :=
+ { url charptr stringlength substring$ doi = not
+ charptr #0 >
+ and
+ }
+ { charptr #1 - 'charptr := }
+ while$
+ charptr
+ }
+ if$
+}
+
FUNCTION {format.doi}
-{ ""
+{ doi empty$
+ { "" }
+ { is.doi.in.url
+ { "" }
+ { new.block "\doi{" doi * "}" * }
+ if$
+ }
+ if$
}
FUNCTION {format.title}
@@ -386,16 +471,16 @@ FUNCTION {format.title}
}
FUNCTION {set.mark}
-{ mark_ empty$ not
+{ entry.mark empty$ not
'pop$
{ mark empty$ not
- { pop$ mark 'mark_ := }
- { 'mark_ := }
+ { pop$ mark 'entry.mark := }
+ { 'entry.mark := }
if$
media empty$ not
- { mark_ "/" * media * 'mark_ := }
+ { entry.mark "/" * media * 'entry.mark := }
{ url empty$ not
- { mark_ "/OL" * 'mark_ := }
+ { entry.mark "/OL" * 'entry.mark := }
'skip$
if$
}
@@ -405,7 +490,7 @@ FUNCTION {set.mark}
}
FUNCTION {format.mark}
-{ "\allowbreak[" mark_ * "]" * }
+{ "\allowbreak[" entry.mark * "]" * }
FUNCTION {format.full.names}
{'s :=
@@ -413,8 +498,12 @@ FUNCTION {format.full.names}
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ t get.str.lang 'name.lang :=
+ name.lang lang.en =
+ { t #1 "{vv~}{ll}" format.name$ 't := }
+ { t #1 "{ll}{ff}" format.name$ 't := }
+ if$
nameptr #1 >
{
namesleft #1 >
@@ -519,15 +608,6 @@ FUNCTION {n.dashify}
while$
}
-FUNCTION {format.date}
-{ year duplicate$ empty$
- { "empty year in " cite$ * warning$
- pop$ "" }
- 'skip$
- if$
- extra.label *
-}
-
FUNCTION {extract.before.dash}
{ duplicate$ empty$
{ pop$ "" }
@@ -585,28 +665,40 @@ FUNCTION {contains.dash}
FUNCTION {format.year}
{ year empty$ not
- { year }
- { urldate empty$ not
- { "[" urldate extract.before.dash * "]" * }
- { "empty year in " cite$ * warning$ "" }
+ { year extract.before.dash }
+ { date empty$ not
+ { date extract.before.dash }
+ { "empty year in " cite$ * warning$
+ ""
+ }
if$
}
if$
- extract.before.dash
extra.label *
}
+FUNCTION {format.date}
+{ type$ "patent" = type$ "newspaper" = or
+ date empty$ not and
+ { date }
+ { year }
+ if$
+}
+
FUNCTION {format.editdate}
-{ year contains.dash
- { "\allowbreak(" year * ")" * }
+{ date empty$ not
+ type$ "newspaper" = not and
+ url empty$ not doi empty$ not or
+ and
+ { "\allowbreak(" date * ")" * }
{ "" }
if$
}
FUNCTION {format.urldate}
-{ urldate empty$
- { "" }
+{ urldate empty$ not
{ "\allowbreak[" urldate * "]" * }
+ { "" }
if$
}
@@ -681,7 +773,7 @@ FUNCTION {format.number}
{ "" }
{ number is.number
{ is.in.chinese
- { "第" volume * "册" * }
+ { "第" number * "册" * }
{ "number" number tie.or.space.connect }
if$
}
@@ -699,49 +791,36 @@ FUNCTION {format.volume.number}
}
FUNCTION {format.series.vol.num.title}
-{ type$ "report" = type$ "standard" = or
- { format.title
- number empty$ not
- { ": " * number }
+{ format.volume.number 's :=
+ series empty$ not
+ { series ": " *
+ s empty$ not
+ { s * "\quad " * }
'skip$
if$
+ title *
}
- { format.volume.number 's :=
- series empty$ not
- { series ": " *
- s empty$ not
- { s * "\quad " * }
- 'skip$
- if$
- title field.or.null *
- }
- { title field.or.null
- s empty$ not
- { ": " * s * }
- 'skip$
- if$
- }
+ { title
+ s empty$ not
+ { ": " * s * }
+ 'skip$
if$
- "t" change.case$
}
if$
+ "t" change.case$
}
FUNCTION {format.series.vol.num.booktitle}
-{ type$ "report" = type$ "standard" = or
- { format.volume.number }
- { format.volume }
- if$
- 's :=
+{ format.volume.number 's :=
series empty$ not
{ series ": " *
s empty$ not
{ s * "\quad " * }
'skip$
if$
- booktitle field.or.null *
+ booktitle *
}
- { booktitle field.or.null
+ { booktitle
s empty$ not
{ ": " * s * }
'skip$
@@ -776,12 +855,16 @@ FUNCTION {format.edition}
{ edition num.to.ordinal " ed." * }
if$
}
- { edition "t" change.case$ 's :=
- s "Revised" = s "Revised edition" = or
- { "Rev. ed." }
- { s " ed." * }
+ { entry.lang lang.en =
+ { edition "t" change.case$ 's :=
+ s "Revised" = s "Revised edition" = or
+ { "Rev. ed." }
+ { s " ed." *}
+ if$
+ }
+ { edition }
if$
- }
+ }
if$
}
if$
@@ -1091,6 +1174,7 @@ FUNCTION {article.in.journal}
volume output
format.journal.number "" output.after
format.pages punct.colon output.after
+ format.editdate "" output.after
format.urldate "" output.after
format.url output
format.doi output
@@ -1306,61 +1390,18 @@ READ
EXECUTE {init.state.consts}
-INTEGERS { ascii }
-
-FUNCTION {char.lang}
-{ chr.to.int$ 'ascii :=
- ascii #31 > ascii #128 < and
- { lang.en }
- { ascii #227 > ascii #234 < and
- { lang.zh }
- { ascii #227 =
- { lang.ja }
- { ascii #207 > ascii #212 < and
- { lang.ru }
- { lang.default }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {set.language}
+FUNCTION {set.entry.lang}
{ language empty$
- { lang.default 'lang :=
- author field.or.null title field.or.null * 's :=
- s empty$
- 'skip$
- { #1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength < }
- { s charptr #1 substring$ char.lang
- duplicate$ #3 >
- { charptr #2 + 'charptr := }
- 'skip$
- if$
- duplicate$ lang >
- { 'lang := }
- 'pop$
- if$
- charptr #1 + 'charptr :=
- }
- while$
- }
- if$
- }
- { language "en" =
+ { author field.or.null title field.or.null * get.str.lang }
+ { language "english" =
{ lang.en }
- { language "zh" =
+ { language "chinese" =
{ lang.zh }
- { language "ja" =
+ { language "japanese" =
{ lang.ja }
- { language "ru" =
+ { language "russian" =
{ lang.ru }
- { lang.default }
+ { lang.en }
if$
}
if$
@@ -1368,9 +1409,9 @@ FUNCTION {set.language}
if$
}
if$
- 'lang :=
}
if$
+ 'entry.lang :=
}
FUNCTION {sortify}
@@ -1391,7 +1432,12 @@ FUNCTION {chop.word}
FUNCTION {format.lab.names}
{ 's :=
- s #1 "{vv~}{ll}" format.name$
+ s #1 "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ t get.str.lang 'name.lang :=
+ name.lang lang.en =
+ { t #1 "{vv~}{ll}" format.name$}
+ { t #1 "{ll}{ff}" format.name$}
+ if$
s num.names$ #1 >
{ "\ " * format.et.al * }
'skip$
@@ -1479,15 +1525,10 @@ FUNCTION {calc.label}
short.list
"("
*
- year duplicate$ empty$
+ format.year extract.before.dash duplicate$ empty$
short.list key field.or.null = or
- { pop$
- urldate empty$ not
- { "[" urldate extract.before.dash * "]" * }
- { "" }
- if$
- }
- 'extract.before.dash
+ { pop$ "" }
+ 'skip$
if$
*
'label :=
@@ -1621,7 +1662,7 @@ FUNCTION {editor.organization.sort}
}
FUNCTION {presort}
-{ set.language
+{ set.entry.lang
calc.label
label sortify
" "
@@ -1721,19 +1762,17 @@ FUNCTION {begin.bib}
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
- "\bibpunct{(}{)}{;}{a}{,}{,}"
- write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
- "\providecommand{\url}[1]{\texttt{#1}}"
+ "\providecommand{\url}[1]{#1}"
write$ newline$
- "\expandafter\ifx\csname thumasterbib\endcsname\relax"
+ "\providecommand{\href}[2]{\url{#2}}"
write$ newline$
- " \providecommand\thumasterbib{D}\fi"
+ "\providecommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{#1}}"
write$ newline$
- "\expandafter\ifx\csname thuphdbib\endcsname\relax"
+ "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else"
write$ newline$
- " \providecommand\thuphdbib{D}\fi"
+ " \urlstyle{same}\fi"
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 1c3d27a5c18..3b9f761670b 100644
--- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst
+++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-numeric.bst
@@ -1,23 +1,32 @@
-%% Copyright (C) 2016-2017 by Zeping Lee <zepinglee AT gmail.com>
%%
+%% This is file `gbt-7714-2015-numerical.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gbt-7714-2015.dtx (with options: `numerical')
+%%
+%% Copyright (C) 2016-2017 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
%% version 1.2 of this license or (at your option) any later
%% version. The latest version of this license is in:
-%%
+%%
%% http://www.latex-project.org/lppl.txt
-%%
+%%
%% and version 1.2 or later is part of all distributions of
%% LaTeX version 1999/12/01 or later.
-%%
+%%
%% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
%% which was designed for use with the `natbib.sty' package.
-%%
+%%
ENTRY
{ address
author
booktitle
chapter
+ date
doi
eid
edition
@@ -47,12 +56,12 @@ ENTRY
volume
year
}
- { lang }
- { mark_ label extra.label sort.label short.list }
+ { entry.lang }
+ { label extra.label sort.label short.list entry.mark }
INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash }
-INTEGERS { lang.zh lang.ja lang.en lang.ru lang.default }
+INTEGERS { lang.zh lang.ja lang.en lang.ru }
INTEGERS { charptr stringlength }
@@ -62,11 +71,10 @@ FUNCTION {init.state.consts}
#2 'after.sentence :=
#3 'after.block :=
#4 'after.slash :=
- #4 'lang.zh :=
- #5 'lang.ja :=
- #1 'lang.en :=
- #3 'lang.ru :=
- #0 'lang.default :=
+ #2 'lang.zh :=
+ #3 'lang.ja :=
+ #0 'lang.en :=
+ #1 'lang.ru :=
}
STRINGS { s t }
@@ -278,8 +286,59 @@ FUNCTION {emphasize}
if$
}
+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 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { char.lang lang }
+
+STRINGS { tmp.str }
+
+FUNCTION {get.str.lang}
+{ 'tmp.str :=
+ lang.en '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 := }
+ 'skip$
+ if$
+
+ char.lang lang.zh = char.lang lang.ja = or
+ { charptr #3 + 'charptr := }
+ { char.lang lang.ru =
+ { charptr #2 + 'charptr := }
+ { charptr #1 + 'charptr := }
+ if$
+ }
+ if$
+ }
+ while$
+ }
+ if$
+ lang
+}
+
FUNCTION {is.in.chinese}
-{ lang lang.zh =
+{ entry.lang lang.zh =
}
FUNCTION {format.et.al}
@@ -296,7 +355,7 @@ FUNCTION {format.anonymous}
if$
}
-INTEGERS { nameptr namesleft numnames }
+INTEGERS { nameptr namesleft numnames name.lang}
FUNCTION {format.names}
{ 's :=
@@ -304,9 +363,12 @@ FUNCTION {format.names}
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > nameptr #4 < and }
- { s nameptr "{vv~}{ll}{ f{ }}" format.name$
- s nameptr "{, jj}" format.name$ *
- 't :=
+ { 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 * }
@@ -373,8 +435,31 @@ FUNCTION {format.url}
if$
}
+FUNCTION {is.doi.in.url}
+{ url empty$
+ { #0 }
+ { doi text.length$ 'stringlength :=
+ url text.length$ 'charptr :=
+ { url charptr stringlength substring$ doi = not
+ charptr #0 >
+ and
+ }
+ { charptr #1 - 'charptr := }
+ while$
+ charptr
+ }
+ if$
+}
+
FUNCTION {format.doi}
-{ ""
+{ doi empty$
+ { "" }
+ { is.doi.in.url
+ { "" }
+ { new.block "\doi{" doi * "}" * }
+ if$
+ }
+ if$
}
FUNCTION {format.title}
@@ -385,16 +470,16 @@ FUNCTION {format.title}
}
FUNCTION {set.mark}
-{ mark_ empty$ not
+{ entry.mark empty$ not
'pop$
{ mark empty$ not
- { pop$ mark 'mark_ := }
- { 'mark_ := }
+ { pop$ mark 'entry.mark := }
+ { 'entry.mark := }
if$
media empty$ not
- { mark_ "/" * media * 'mark_ := }
+ { entry.mark "/" * media * 'entry.mark := }
{ url empty$ not
- { mark_ "/OL" * 'mark_ := }
+ { entry.mark "/OL" * 'entry.mark := }
'skip$
if$
}
@@ -404,7 +489,7 @@ FUNCTION {set.mark}
}
FUNCTION {format.mark}
-{ "\allowbreak[" mark_ * "]" * }
+{ "\allowbreak[" entry.mark * "]" * }
FUNCTION {format.full.names}
{'s :=
@@ -412,8 +497,12 @@ FUNCTION {format.full.names}
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ t get.str.lang 'name.lang :=
+ name.lang lang.en =
+ { t #1 "{vv~}{ll}" format.name$ 't := }
+ { t #1 "{ll}{ff}" format.name$ 't := }
+ if$
nameptr #1 >
{
namesleft #1 >
@@ -518,15 +607,6 @@ FUNCTION {n.dashify}
while$
}
-FUNCTION {format.date}
-{ year duplicate$ empty$
- { "empty year in " cite$ * warning$
- pop$ "" }
- 'skip$
- if$
- extra.label *
-}
-
FUNCTION {extract.before.dash}
{ duplicate$ empty$
{ pop$ "" }
@@ -584,28 +664,40 @@ FUNCTION {contains.dash}
FUNCTION {format.year}
{ year empty$ not
- { year }
- { urldate empty$ not
- { "[" urldate extract.before.dash * "]" * }
- { "empty year in " cite$ * warning$ "" }
+ { year extract.before.dash }
+ { date empty$ not
+ { date extract.before.dash }
+ { "empty year in " cite$ * warning$
+ ""
+ }
if$
}
if$
- extract.before.dash
extra.label *
}
+FUNCTION {format.date}
+{ type$ "patent" = type$ "newspaper" = or
+ date empty$ not and
+ { date }
+ { year }
+ if$
+}
+
FUNCTION {format.editdate}
-{ year contains.dash
- { "\allowbreak(" year * ")" * }
+{ date empty$ not
+ type$ "newspaper" = not and
+ url empty$ not doi empty$ not or
+ and
+ { "\allowbreak(" date * ")" * }
{ "" }
if$
}
FUNCTION {format.urldate}
-{ urldate empty$
- { "" }
+{ urldate empty$ not
{ "\allowbreak[" urldate * "]" * }
+ { "" }
if$
}
@@ -680,7 +772,7 @@ FUNCTION {format.number}
{ "" }
{ number is.number
{ is.in.chinese
- { "第" volume * "册" * }
+ { "第" number * "册" * }
{ "number" number tie.or.space.connect }
if$
}
@@ -698,49 +790,36 @@ FUNCTION {format.volume.number}
}
FUNCTION {format.series.vol.num.title}
-{ type$ "report" = type$ "standard" = or
- { format.title
- number empty$ not
- { ": " * number }
+{ format.volume.number 's :=
+ series empty$ not
+ { series ": " *
+ s empty$ not
+ { s * "\quad " * }
'skip$
if$
+ title *
}
- { format.volume.number 's :=
- series empty$ not
- { series ": " *
- s empty$ not
- { s * "\quad " * }
- 'skip$
- if$
- title field.or.null *
- }
- { title field.or.null
- s empty$ not
- { ": " * s * }
- 'skip$
- if$
- }
+ { title
+ s empty$ not
+ { ": " * s * }
+ 'skip$
if$
- "t" change.case$
}
if$
+ "t" change.case$
}
FUNCTION {format.series.vol.num.booktitle}
-{ type$ "report" = type$ "standard" = or
- { format.volume.number }
- { format.volume }
- if$
- 's :=
+{ format.volume.number 's :=
series empty$ not
{ series ": " *
s empty$ not
{ s * "\quad " * }
'skip$
if$
- booktitle field.or.null *
+ booktitle *
}
- { booktitle field.or.null
+ { booktitle
s empty$ not
{ ": " * s * }
'skip$
@@ -775,12 +854,16 @@ FUNCTION {format.edition}
{ edition num.to.ordinal " ed." * }
if$
}
- { edition "t" change.case$ 's :=
- s "Revised" = s "Revised edition" = or
- { "Rev. ed." }
- { s " ed." * }
+ { entry.lang lang.en =
+ { edition "t" change.case$ 's :=
+ s "Revised" = s "Revised edition" = or
+ { "Rev. ed." }
+ { s " ed." *}
+ if$
+ }
+ { edition }
if$
- }
+ }
if$
}
if$
@@ -1082,10 +1165,11 @@ FUNCTION {article.in.journal}
format.mark "" output.after
new.block
journal "journal" output.check
- format.year "year" output.check
+ format.date "year" output.check
volume output
format.journal.number "" output.after
format.pages punct.colon output.after
+ format.editdate "" output.after
format.urldate "" output.after
format.url output
format.doi output
@@ -1123,9 +1207,9 @@ FUNCTION {online}
format.mark "" output.after
new.block
format.address.publisher output
- year empty$ year contains.dash or
+ date empty$
+ { format.date output }
'skip$
- { format.year output }
if$
format.pages punct.colon output.after
format.editdate "" output.after
@@ -1301,61 +1385,18 @@ READ
EXECUTE {init.state.consts}
-INTEGERS { ascii }
-
-FUNCTION {char.lang}
-{ chr.to.int$ 'ascii :=
- ascii #31 > ascii #128 < and
- { lang.en }
- { ascii #227 > ascii #234 < and
- { lang.zh }
- { ascii #227 =
- { lang.ja }
- { ascii #207 > ascii #212 < and
- { lang.ru }
- { lang.default }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {set.language}
+FUNCTION {set.entry.lang}
{ language empty$
- { lang.default 'lang :=
- author field.or.null title field.or.null * 's :=
- s empty$
- 'skip$
- { #1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength < }
- { s charptr #1 substring$ char.lang
- duplicate$ #3 >
- { charptr #2 + 'charptr := }
- 'skip$
- if$
- duplicate$ lang >
- { 'lang := }
- 'pop$
- if$
- charptr #1 + 'charptr :=
- }
- while$
- }
- if$
- }
- { language "en" =
+ { author field.or.null title field.or.null * get.str.lang }
+ { language "english" =
{ lang.en }
- { language "zh" =
+ { language "chinese" =
{ lang.zh }
- { language "ja" =
+ { language "japanese" =
{ lang.ja }
- { language "ru" =
+ { language "russian" =
{ lang.ru }
- { lang.default }
+ { lang.en }
if$
}
if$
@@ -1363,9 +1404,9 @@ FUNCTION {set.language}
if$
}
if$
- 'lang :=
}
if$
+ 'entry.lang :=
}
FUNCTION {sortify}
@@ -1386,7 +1427,12 @@ FUNCTION {chop.word}
FUNCTION {format.lab.names}
{ 's :=
- s #1 "{vv~}{ll}" format.name$
+ s #1 "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ t get.str.lang 'name.lang :=
+ name.lang lang.en =
+ { t #1 "{vv~}{ll}" format.name$}
+ { t #1 "{ll}{ff}" format.name$}
+ if$
s num.names$ #1 >
{ "\ " * format.et.al * }
'skip$
@@ -1474,15 +1520,10 @@ FUNCTION {calc.label}
short.list
"("
*
- year duplicate$ empty$
+ format.year extract.before.dash duplicate$ empty$
short.list key field.or.null = or
- { pop$
- urldate empty$ not
- { "[" urldate extract.before.dash * "]" * }
- { "" }
- if$
- }
- 'extract.before.dash
+ { pop$ "" }
+ 'skip$
if$
*
'label :=
@@ -1501,7 +1542,7 @@ FUNCTION {int.to.fix}
}
FUNCTION {presort}
-{ set.language
+{ set.entry.lang
calc.label
label sortify
" "
@@ -1580,19 +1621,17 @@ FUNCTION {begin.bib}
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
- "\bibpunct{[}{]}{,}{s}{,}{,}"
- write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
- "\providecommand{\url}[1]{\texttt{#1}}"
+ "\providecommand{\url}[1]{#1}"
write$ newline$
- "\expandafter\ifx\csname thumasterbib\endcsname\relax"
+ "\providecommand{\href}[2]{\url{#2}}"
write$ newline$
- " \providecommand\thumasterbib{D}\fi"
+ "\providecommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{#1}}"
write$ newline$
- "\expandafter\ifx\csname thuphdbib\endcsname\relax"
+ "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else"
write$ newline$
- " \providecommand\thuphdbib{D}\fi"
+ " \urlstyle{same}\fi"
write$ newline$
}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty b/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty
index 2bf9b1397e3..30fdc674f12 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty
+++ b/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty
@@ -10,15 +10,13 @@
%%
%% Copyright (C) 2005-2017 by Ruini Xue <xueruini@gmail.com>
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3a
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
-%% The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3a or later is part of all distributions of LaTeX
-%% version 2004/10/01 or later.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
%%
%% To produce the documentation run the original source files ending with `.dtx'
%% through LaTeX.
diff --git a/Master/texmf-dist/doc/latex/thuthesis/latexmkrc b/Master/texmf-dist/doc/latex/thuthesis/latexmkrc
index f28a2e2394f..60e98be092c 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/latexmkrc
+++ b/Master/texmf-dist/doc/latex/thuthesis/latexmkrc
@@ -1,5 +1,5 @@
# vim: set ft=perl:
-$clean_ext = 'thm glo gls bbl hd loe';
+$clean_ext = 'thm glo gls bbl hd loe 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
index 3769a377238..0a9a26d94ae 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/main.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/main.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/main.tex b/Master/texmf-dist/doc/latex/thuthesis/main.tex
index 051d05acb4e..ec795a13359 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/main.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/main.tex
@@ -1,12 +1,12 @@
-\documentclass[type=master]{thuthesis}
+\documentclass[degree=master]{thuthesis}
% 选项:
-% type=[bachelor|master|doctor|postdoctor], % 必选
-% secret, % 可选
-% pifootnote, % 可选(建议打开)
-% openany|openright, % 可选,基本不用
-% arial, % 可选,基本不用
-% arialtoc, % 可选,基本不用
-% arialtitle % 可选,基本不用
+% degree=[bachelor|master|doctor|postdoctor], % 必选
+% secret, % 可选
+% pifootnote, % 可选(建议打开)
+% openany|openright, % 可选,基本不用
+% arial, % 可选,基本不用
+% arialtoc, % 可选,基本不用
+% arialtitle % 可选,基本不用
% 所有其它可能用到的包都统一放到这里了,可以根据自己的实际添加或者删除。
\usepackage{thuthesis}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf b/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf
index 936dba266f7..544ef76c4ba 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/shuji.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/shuji.tex b/Master/texmf-dist/doc/latex/thuthesis/shuji.tex
index e073e1e543f..94a98394079 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/shuji.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/shuji.tex
@@ -1,4 +1,4 @@
-\documentclass[type=master]{thuthesis}
+\documentclass[degree=master]{thuthesis}
\ifxetex\relax\else % for latex/pdflatex
\usepackage{CJKvert}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
index ceb9923e798..aa05c68b723 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx
index 0c54176cb0b..9d33a81f578 100644
--- a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx
+++ b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx
@@ -16,7 +16,7 @@
%
% \iffalse
%<*driver>
-\ProvidesFile{thuthesis.dtx}[2017/12/4 5.4.1 Tsinghua University Thesis Template]
+\ProvidesFile{thuthesis.dtx}[2017/12/18 5.4.2 Tsinghua University Thesis Template]
\documentclass{ltxdoc}
\usepackage{dtx-style}
@@ -84,7 +84,7 @@
% subfig to be compatible with subfigure. add \pkg{courier} package for tt font.}
% \changes{v1.4}{2005/12/05}{Fix the problem of \textbf{chinese}, which is
% because both CJK and everysel redefine the \cs{selectfont}. So, a not so good
-% workaround is merge them up. Add \file{shuji.tex} example. Add \cs{pozhehao} command.}
+% workaround is to merge them up. Add \file{shuji.tex} example. Add \cs{pozhehao} command.}
% \changes{v2.1}{2006/02/27}{Add support to bachelor thesis.}
% \changes{v2.1}{2006/03/01}{Remove \pkg{fancyhdr} and \pkg{geometry}.}
% \changes{v2.1}{2006/03/01}{Redefine footnote marks.}
@@ -148,6 +148,7 @@
% \changes{v4.8}{2013/03/04}{dvips method is deprecated. We ask their users to load it manually.}
% \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}。}
%
% \def\indexname{索引}
% \def\glossaryname{修改记录}
@@ -391,16 +392,16 @@
% \subsection{论文选项}
% \label{sec:option}
%
-% \DescribeOption{type}
+% \DescribeOption{degree}
% 选择论文类型,当前支
% 持:\option{bachelor},\option{master},\option{doctor},\option{postdoctor}。
% 为必选项。
% \begin{latex}
% % 博士论文
-% \documentclass[type=doctor]{thuthesis}
+% \documentclass[degree=doctor]{thuthesis}
%
% % 硕士论文
-% \documentclass[type=master]{thuthesis}
+% \documentclass[degree=master]{thuthesis}
% \end{latex}
%
% \DescribeOption{secret}
@@ -1016,8 +1017,7 @@
% 否则,就要像例子里面那样做一些微调(参看模板自带的 \file{shuji.tex})。下面是一
% 个例子:
% \begin{latex}
-% \documentclass[type=master]{thuthesis}
-% % 此处 type 无所谓
+% \documentclass[degree=master]{thuthesis}
%
% \begin{document}
% \thuset{
@@ -1107,7 +1107,7 @@
%<cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<cls>\ProvidesClass{thuthesis}
%<cfg>\ProvidesFile{thuthesis.cfg}
-%<cls|cfg>[2017/12/4 5.4.1 Tsinghua University Thesis Template]
+%<cls|cfg>[2017/12/18 5.4.2 Tsinghua University Thesis Template]
% \end{macrocode}
%
% \subsection{定义选项}
@@ -1126,7 +1126,7 @@
%<*cls>
\hyphenation{Thu-Thesis}
\def\thuthesis{\textsc{ThuThesis}}
-\def\version{5.4.1}
+\def\version{5.4.2}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
@@ -1137,36 +1137,28 @@
%
% 用 \pkg{kvoptions} 的 \texttt{key=value} 方式来设置论文类型。
% \changes{v5.0.0}{2015/12/13}{使用 \pkg{kvoptions} 简化选项 type。}
+% \changes{v5.4.2}{2017/12/18}{使用 degree 取代 type 选项。}
% \begin{macrocode}
\newif\ifthu@bachelor
\newif\ifthu@master
\newif\ifthu@doctor
\newif\ifthu@postdoctor
-\define@key{thu}{type}{%
+\define@key{thu}{degree}{%
\thu@bachelorfalse
\thu@masterfalse
\thu@doctorfalse
\thu@postdoctorfalse
- \expandafter\csname thu@#1true\endcsname
- \ifthu@bachelor\relax\else
- \ifthu@master\relax\else
- \ifthu@doctor\relax\else
- \ifthu@postdoctor\relax\else
- \ClassError{thuthesis}%
- {Please specify thesis type in option: \MessageBreak
- type=[bachelor | master | doctor | postdoctor]}{}
- \fi
- \fi
- \fi
- \fi}
-\def\thu@deprecated@type@option{%
- \kvsetkeys{thu}{type=\CurrentOption} % for compatability.
+ \expandafter\csname thu@#1true\endcsname}
+\define@key{thu}{type}{%
+ \ClassError{thuthesis}{'type' is deprecated, \MessageBreak
+ please use 'degree=#1' instead}{}}
+\def\thu@deprecated@degree@option{%
\ClassError{thuthesis}{Option '\CurrentOption' is deprecated, \MessageBreak
- please use 'type=\CurrentOption' instead}{}}
-\DeclareVoidOption{bachelor}{\thu@deprecated@type@option}
-\DeclareVoidOption{master}{\thu@deprecated@type@option}
-\DeclareVoidOption{doctor}{\thu@deprecated@type@option}
-\DeclareVoidOption{postdoctor}{\thu@deprecated@type@option}
+ please use 'degree=\CurrentOption' instead}{}}
+\DeclareVoidOption{bachelor}{\thu@deprecated@degree@option}
+\DeclareVoidOption{master}{\thu@deprecated@degree@option}
+\DeclareVoidOption{doctor}{\thu@deprecated@degree@option}
+\DeclareVoidOption{postdoctor}{\thu@deprecated@degree@option}
% \end{macrocode}
%
% 论文是否保密。
@@ -1221,6 +1213,17 @@
% 解析用户传递过来的选项,并加载 \pkg{ctexbook}。
% \begin{macrocode}
\ProcessKeyvalOptions*
+\ifthu@bachelor\relax\else
+ \ifthu@master\relax\else
+ \ifthu@doctor\relax\else
+ \ifthu@postdoctor\relax\else
+ \ClassError{thuthesis}%
+ {Please specify thesis degree in option: \MessageBreak
+ degree=[bachelor | master | doctor | postdoctor]}{}
+ \fi
+ \fi
+ \fi
+\fi
% \end{macrocode}
%
% 使用 \XeTeX\ 引擎时,\pkg{fontspec} 宏包会被 \pkg{xeCJK} 自动调用。传递
@@ -3304,19 +3307,6 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{自定义命令和环境}
-% \label{sec:userdefine}
-%
-% \begin{macro}{\pozhehao}
-% 为了兼容性保留之,推荐直接输入“——”。
-% \changes{v2.1}{2006/01/12}{稍微加宽一点。同时把名字改为\textbf{破折号}:\cs{pozhehao}}
-% \begin{macrocode}
-%<*cfg>
-\newcommand{\pozhehao}{——}
-%</cfg>
-% \end{macrocode}
-% \end{macro}
-%
%
% \subsection{其它}
% \label{sec:other}
diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins b/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins
index d9eccdcc136..7d8890c78a5 100644
--- a/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins
+++ b/Master/texmf-dist/source/latex/thuthesis/thuthesis.ins
@@ -1,19 +1,18 @@
%%
-%% Copyright (C) 2005-2016 by Ruini Xue <xueruini@gmail.com>
+%% Copyright (C) 2005-2017 by Ruini Xue <xueruini@gmail.com>
%%
%% This file is part of the ThuThesis package project.
%% ---------------------------------------------------
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3a
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
-%% The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3a or later is part of all distributions of LaTeX
-%% version 2004/10/01 or later.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
%%
+%% This work has the LPPL maintenance status `maintained'.
\input docstrip
@@ -30,15 +29,13 @@ This is a generated file.
Copyright (C) 2005-\the\year by Ruini Xue <xueruini@gmail.com>
-This file may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3a
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.
-The latest version of this license is in:
-
-http://www.latex-project.org/lppl.txt
-
-and version 1.3a or later is part of all distributions of LaTeX
-version 2004/10/01 or later.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
To produce the documentation run the original source files ending with `.dtx'
through LaTeX.
@@ -51,17 +48,15 @@ This is a generated file.
Copyright (C) 2005-\the\year by Xue Ruini <xueruini@gmail.com>
-This file may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3a
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.
-The latest version of this license is in:
-
-http://www.latex-project.org/lppl.txt
-
-and version 1.3a or later is part of all distributions of LaTeX
-version 2004/10/01 or later.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
-This is the configuration file of the thuthesis package with LaTeX2e.
+This is the configuration file of the ThuThesis package with LaTeX2e.
\endpreamble
@@ -81,6 +76,8 @@ This is the configuration file of the thuthesis package with LaTeX2e.
\Msg{*}
\Msg{* \space\space thuthesis.cls}
\Msg{* \space\space thuthesis.cfg}
+ \Msg{* \space\space thuthesis-author-year.bst}
+ \Msg{* \space\space thuthesis-numeric.bst}
\Msg{*}
\Msg{* To produce the documentation run the files ending with}
\Msg{* `.dtx' through LaTeX.}
diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg
index 57f517655df..68c2d55d4a3 100644
--- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg
+++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cfg
@@ -10,20 +10,18 @@
%%
%% Copyright (C) 2005-2017 by Xue Ruini <xueruini@gmail.com>
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3a
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
-%% The latest version of this license is in:
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3a or later is part of all distributions of LaTeX
-%% version 2004/10/01 or later.
-%%
-%% This is the configuration file of the thuthesis package with LaTeX2e.
+%% This is the configuration file of the ThuThesis package with LaTeX2e.
%%
\ProvidesFile{thuthesis.cfg}
-[2017/12/4 5.4.1 Tsinghua University Thesis Template]
+[2017/12/18 5.4.2 Tsinghua University Thesis Template]
\theorembodyfont{\normalfont}
\theoremheaderfont{\normalfont\heiti}
\theoremsymbol{\ensuremath{\square}}
@@ -178,7 +176,6 @@
\newcommand{\thu@resume@title}{个人简历、在学期间发表的学术论文与研究成果}
\fi
\fi
-\newcommand{\pozhehao}{——}
\endinput
%%
%% End of file `thuthesis.cfg'.
diff --git a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
index 791cc50f1ea..988f662a226 100644
--- a/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
+++ b/Master/texmf-dist/tex/latex/thuthesis/thuthesis.cls
@@ -10,25 +10,23 @@
%%
%% Copyright (C) 2005-2017 by Ruini Xue <xueruini@gmail.com>
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3a
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
-%% The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3a or later is part of all distributions of LaTeX
-%% version 2004/10/01 or later.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
%%
%% To produce the documentation run the original source files ending with `.dtx'
%% through LaTeX.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{thuthesis}
-[2017/12/4 5.4.1 Tsinghua University Thesis Template]
+[2017/12/18 5.4.2 Tsinghua University Thesis Template]
\hyphenation{Thu-Thesis}
\def\thuthesis{\textsc{ThuThesis}}
-\def\version{5.4.1}
+\def\version{5.4.2}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
@@ -39,31 +37,22 @@
\newif\ifthu@master
\newif\ifthu@doctor
\newif\ifthu@postdoctor
-\define@key{thu}{type}{%
+\define@key{thu}{degree}{%
\thu@bachelorfalse
\thu@masterfalse
\thu@doctorfalse
\thu@postdoctorfalse
- \expandafter\csname thu@#1true\endcsname
- \ifthu@bachelor\relax\else
- \ifthu@master\relax\else
- \ifthu@doctor\relax\else
- \ifthu@postdoctor\relax\else
- \ClassError{thuthesis}%
- {Please specify thesis type in option: \MessageBreak
- type=[bachelor | master | doctor | postdoctor]}{}
- \fi
- \fi
- \fi
- \fi}
-\def\thu@deprecated@type@option{%
- \kvsetkeys{thu}{type=\CurrentOption} % for compatability.
+ \expandafter\csname thu@#1true\endcsname}
+\define@key{thu}{type}{%
+ \ClassError{thuthesis}{'type' is deprecated, \MessageBreak
+ please use 'degree=#1' instead}{}}
+\def\thu@deprecated@degree@option{%
\ClassError{thuthesis}{Option '\CurrentOption' is deprecated, \MessageBreak
- please use 'type=\CurrentOption' instead}{}}
-\DeclareVoidOption{bachelor}{\thu@deprecated@type@option}
-\DeclareVoidOption{master}{\thu@deprecated@type@option}
-\DeclareVoidOption{doctor}{\thu@deprecated@type@option}
-\DeclareVoidOption{postdoctor}{\thu@deprecated@type@option}
+ please use 'degree=\CurrentOption' instead}{}}
+\DeclareVoidOption{bachelor}{\thu@deprecated@degree@option}
+\DeclareVoidOption{master}{\thu@deprecated@degree@option}
+\DeclareVoidOption{doctor}{\thu@deprecated@degree@option}
+\DeclareVoidOption{postdoctor}{\thu@deprecated@degree@option}
\DeclareBoolOption{secret}
\DeclareBoolOption{arialtoc}
\DeclareBoolOption{arialtitle}
@@ -75,6 +64,17 @@
raggedbottom,
arialtitle}
\ProcessKeyvalOptions*
+\ifthu@bachelor\relax\else
+ \ifthu@master\relax\else
+ \ifthu@doctor\relax\else
+ \ifthu@postdoctor\relax\else
+ \ClassError{thuthesis}%
+ {Please specify thesis degree in option: \MessageBreak
+ degree=[bachelor | master | doctor | postdoctor]}{}
+ \fi
+ \fi
+ \fi
+\fi
\PassOptionsToPackage{no-math}{fontspec}
\LoadClass[a4paper,openany,UTF8,zihao=-4,scheme=plain]{ctexbook}
\RequirePackage{etoolbox}