summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-02-13 23:21:32 +0000
committerKarl Berry <karl@freefriends.org>2013-02-13 23:21:32 +0000
commita19e8fc23c74d8bb5f11c0fb7c135ab7e108c36a (patch)
treeb4536f5f508b757969faa484ea16bd7b9234cd35
parent40c656a1741d7c4ff1434cae0232db497f49deb6 (diff)
uestcthesis (13feb13)
git-svn-id: svn://tug.org/texlive/trunk@29101 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/uestcthesis/uestcthesis.bst (renamed from Master/texmf-dist/bibtex/bst/uestcthesis/GBT7714-2005NLang-UESTC.bst)524
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/README18
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/Place_has_TrainDAO.java.tex121
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/highlight.sty20
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/tuition.tex81
-rwxr-xr-xMaster/texmf-dist/doc/latex/uestcthesis/doc/clean.bat35
-rwxr-xr-xMaster/texmf-dist/doc/latex/uestcthesis/doc/compile.bat33
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight1.pngbin0 -> 4989 bytes
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.pngbin0 -> 5979 bytes
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdfbin995932 -> 1311841 bytes
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.dtx3289
-rw-r--r--Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.ins10
-rw-r--r--Master/texmf-dist/tex/latex/uestcthesis/UESTC.png (renamed from Master/texmf-dist/doc/latex/uestcthesis/UESTC.png)bin39190 -> 39190 bytes
-rw-r--r--Master/texmf-dist/tex/latex/uestcthesis/UESTC_LOGO.png (renamed from Master/texmf-dist/doc/latex/uestcthesis/UESTC_LOGO.png)bin15159 -> 15159 bytes
-rw-r--r--Master/texmf-dist/tex/latex/uestcthesis/uestcthesis.cls42
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
16 files changed, 3596 insertions, 578 deletions
diff --git a/Master/texmf-dist/bibtex/bst/uestcthesis/GBT7714-2005NLang-UESTC.bst b/Master/texmf-dist/bibtex/bst/uestcthesis/uestcthesis.bst
index 77d2fce4502..ea7aeaf90d6 100644
--- a/Master/texmf-dist/bibtex/bst/uestcthesis/GBT7714-2005NLang-UESTC.bst
+++ b/Master/texmf-dist/bibtex/bst/uestcthesis/uestcthesis.bst
@@ -1,26 +1,35 @@
-% !Mode:: "BST:UTF-8"
-% Copyright 2012-2013 Shi Fujun <shifujun@foxmail.com>
-%
-% 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.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Shi Fujun <shifujun@foxmail.com>.
-%
-% This work consists of the files uestcthesis.dtx, uestcthesis.ins and
-% GBT7714-2005NLang-UESTC.bst.
-% and the derived file uestcthesis.cls.
-% Other files in this work's package are belongs to the respective owners.
-
-%本文件基于吴凯制作的GBT7714-2005NLang.bst(1 Beta 2 测试版2012年9月20日)修改而成。
-%根据GBT7714-2005NLang.bst中copyright的要求,将文件名修改成GBT7714-2005NLang-UESTC.bst。
-%对吴凯的杰出工作表示感谢!
+%%
+%% This is file `uestcthesis.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% uestcthesis.dtx (with options: `bst')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2012-2013 Shi Fujun <shifujun@foxmail.com>
+%%
+%% 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.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Shi Fujun <shifujun@foxmail.com>.
+%%
+%% This work consists of the files uestcthesis.dtx, uestcthesis.ins
+%% and the derived file uestcthesis.cls and uestcthesis.bst.
+%% Other files in this work's package are belongs to the respective owners.
+%%
+
+ %本文件基于吴凯制作的GBT7714-2005NLang.bst(1 Beta 2 测试版2012年9月20日)修改而成。
+ %根据GBT7714-2005NLang.bst中copyright的要求,将文件名修改成uestcthesis.bst。
+ %对吴凯的杰出工作表示感谢!
ENTRY
{ address
@@ -84,8 +93,6 @@ FUNCTION {init.state.consts}
STRINGS { s t }
-
-
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
@@ -107,7 +114,6 @@ FUNCTION {output.nonnull}
s
}
-
FUNCTION {coutput.nonnull} %wk
{ 's :=
output.state mid.sentence =
@@ -191,7 +197,6 @@ FUNCTION {output.cyear.month.check} %wk
if$
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {output.modifydate.check}
{modifydate
@@ -207,7 +212,6 @@ FUNCTION {output.citedate.check}
if$
}
-
FUNCTION {output.year.check}
{ year empty$
{ "empty year in " cite$ * warning$ }
@@ -259,7 +263,6 @@ endyear empty$
if$
}
-
FUNCTION {output.continue.cyear.check} %wk
{
endyear empty$
@@ -423,13 +426,6 @@ FUNCTION {boldface}
if$
}
-%FUNCTION {emphasize}
-%{ duplicate$ empty$
-% { pop$ "" }
-% { "{\em " swap$ * "}" * }
-% if$
-%}
-
%%%%%%%%%%%%%%%%%%%
Function{upcase}
@@ -438,10 +434,6 @@ Function{upcase}
{ "u" change.case$ }
if$
}
-%FUNCTION {bib.name.font}
-%{ upcase }
-%FUNCTION {bib.fname.font}
-%{ bib.name.font }
%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
@@ -497,14 +489,9 @@ FUNCTION {format.names}
}
while$
%%%%%%%%%%%
-% t "others" = %改为大写
-% 'skip$ %改为大写
-% { bib.name.font } %改为大写
-% if$ %改为大写
%%%%%%%%%%%
}
-
FUNCTION {format.cnames} %wk
{ 's :=
#1 'nameptr :=
@@ -550,15 +537,10 @@ FUNCTION {format.cnames} %wk
}
while$
%%%%%%%%%%%
-% t "others" = %改为大写
-% 'skip$ %改为大写
-% { bib.name.font } %改为大写
-% if$ %改为大写
%%%%%%%%%%%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%不加大写的名字
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {format.normal.names}
@@ -606,7 +588,6 @@ FUNCTION {format.normal.names}
while$
}
-
FUNCTION {format.normal.cnames} %wk
{ 's :=
#1 'nameptr :=
@@ -723,7 +704,6 @@ FUNCTION {format.ctitle} %wk % Nothing needs
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
FUNCTION {format.article.title} % Nothing needs
{title empty$ % doing here in
{ "" } % authordate1.bst
@@ -741,7 +721,6 @@ if$
% authordate3.bst.
}
-
FUNCTION {format.carticle.title} % Nothing needs
{title empty$ % doing here in
{ "" } % authordate1.bst
@@ -777,7 +756,6 @@ if$
% authordate3.bst.
}
-
FUNCTION {format.cbook.title} %wk % Nothing needs
{title empty$ % doing here in
{ "" } % authordate1.bst
@@ -856,7 +834,6 @@ if$
}
-
FUNCTION {format.cmisc.title} %wk % Nothing needs
{
patentid empty$
@@ -939,7 +916,6 @@ if$
% authordate3.bst.
}
-
FUNCTION {format.cproceedings.title} % Nothing needs
{title empty$ % doing here in
{ "" } % authordate1.bst
@@ -976,7 +952,6 @@ if$
% authordate3.bst.
}
-
FUNCTION {format.cincollection.title} % Nothing needs
{title empty$ % doing here in
{ "" } % authordate1.bst
@@ -1013,7 +988,6 @@ if$
% authordate3.bst.
}
-
FUNCTION {format.cinproceedings.title} % Nothing needs
{title empty$ % doing here in
{ "" } % authordate1.bst
@@ -1264,7 +1238,6 @@ FUNCTION {cincollectionlike.series.volume.number.pages} %wk
if$
}
-
FUNCTION {format.TypeofLit} %wk 完全改写
{ TypeofLit empty$
{ "" }
@@ -1272,7 +1245,6 @@ FUNCTION {format.TypeofLit} %wk 完全改写
if$
}
-
FUNCTION {format.edition}
{ edition empty$
{
@@ -1291,7 +1263,6 @@ FUNCTION {format.edition}
if$
}
-
FUNCTION {format.cedition} %wk 完全改写
{ edition empty$
{
@@ -1310,9 +1281,6 @@ FUNCTION {format.cedition} %wk 完全改写
if$
}
-
-
-
FUNCTION {format.ctranslator} %wk 完全改写
{ translator empty$
{ "" }
@@ -1380,7 +1348,6 @@ FUNCTION {format.vol.num.date.pages} %wk
if$
}
-
FUNCTION {format.cvol.num.date.pages} %wk
{volume empty$ %wk 被重新改过
'skip$ %wk 被重新改过
@@ -1433,8 +1400,6 @@ number empty$ %wk 被重
if$
}
-
-
FUNCTION {format.carticle.vol.num.date.pages} %wk
{
volume empty$ %wk 被重新改过
@@ -1461,7 +1426,6 @@ number empty$ %wk 被重
if$
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {format.book.continue.vol.num} %wk
{
@@ -1496,9 +1460,6 @@ endyear empty$
if$
}
-
-
-
FUNCTION {format.cbook.continue.vol.num} %wk
{
startyear empty$
@@ -1532,8 +1493,6 @@ endyear empty$
if$
}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {format.date.modifydate.citedate} %wk
{
@@ -1564,7 +1523,6 @@ citedate empty$ %wk 被
if$
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {format.chapter.pages.inbook}
{ chapter empty$
@@ -1598,8 +1556,6 @@ FUNCTION {format.cchapter.pages.inbook}
if$
}
-
-
FUNCTION {format.chapter.pages.incoll}
{ chapter empty$
{ pages empty$
@@ -1670,7 +1626,6 @@ FUNCTION {format.in.ed.booktitle} % Achieves effect
if$ % Don't change
} % case.
-
FUNCTION {format.in.ced.booktitle} % Achieves effect %wk
{ booktitle empty$ % shown in 16.51
{ "" } % of Chicago, at
@@ -1710,7 +1665,6 @@ FUNCTION {format.in.proceedings.booktitle} % Achieves
if$ % Don't change
} % case.
-
FUNCTION {format.in.cproceedings.booktitle} % Achieves effect %wk
{ booktitle empty$ % shown in 16.51
{ "" } % of Chicago, at
@@ -1719,7 +1673,6 @@ FUNCTION {format.in.cproceedings.booktitle} % Achieve
% Don't change
}
-
FUNCTION {format.thesis.type}
{ type empty$
'skip$
@@ -1921,10 +1874,8 @@ FUNCTION {format.cmisc.addr.pub}
if$
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
FUNCTION {format.addr.pub.org} % If there's an
{ address empty$ % an organization
{ "[S.l.]:" *publisher * ", for " * organization * } % and a publisher
@@ -1986,7 +1937,6 @@ FUNCTION {format.incoll.inproc.crossref}
" \cite{" * crossref * "}" *
}
-
FUNCTION {article}
{language empty$
{ output.bibitem
@@ -2014,7 +1964,6 @@ FUNCTION {article}
fin.entry
}
-%FUNCTION {carticle} %wk 本函数
{ output.bibitem
format.cauthors "author" output.check
author format.key output
@@ -2080,7 +2029,6 @@ FUNCTION {book}
fin.entry
}
-%FUNCTION {cbook} %wk
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2119,7 +2067,6 @@ FUNCTION {book}
if$
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%未处理
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {booklet}
{language empty$
@@ -2140,7 +2087,6 @@ FUNCTION {booklet}
fin.entry
}
-%FUNCTION {cbooklet} %wk
{ output.bibitem
format.cauthors output %wk
author format.key output
@@ -2195,7 +2141,6 @@ FUNCTION {inbook}
fin.entry
}
-%FUNCTION {cinbook} %wk
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2246,6 +2191,7 @@ FUNCTION {incollection} %wk
format.incollection.title output
crossref missing$ % Chapter and/or
{
+ before.all 'output.state :=
format.in.ed.booktitle output % page numbers can
format.edition output % come out via this %wk edition->cedition
new.block
@@ -2265,7 +2211,6 @@ FUNCTION {incollection} %wk
fin.entry
}
-%FUNCTION {cincollection} %wk
{ output.bibitem
author empty$
{ format.ceditors "editor" output.check %wk format.editors->format.ceditors
@@ -2299,21 +2244,6 @@ if$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%图书book和
-%会议录inproceedings(会议conference与inproceedings一样),
-%文献类型代码[C]
-%硕士学位论文mastersthesis,
-%文献类型代码[D]
-%博士学位论文phdthesis,
-%文献类型代码[D]
-%技术报告techreport的类型是一样的,
-%文献类型代码[R]
-%
-%因此我们直接拷贝book的相关内容即可。
-%原始部分可以参考authordate1.bst。
-%
-%利用misc作为电子文献[EB/OL]所使用的类型
-%存在的问题:无法正常调用url,只能利用note来生成。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {inproceedings} %wk 改自incollection类型
@@ -2329,6 +2259,7 @@ FUNCTION {inproceedings} %wk 改自incollecti
format.inproceedings.title output
crossref missing$ % Chapter and/or
{
+ before.all 'output.state :=
format.in.ed.booktitle output % page numbers can
format.edition output % come out via this %wk edition->cedition
new.block
@@ -2347,7 +2278,6 @@ FUNCTION {inproceedings} %wk 改自incollecti
fin.entry
}
-%FUNCTION {cinproceedings} %wk 改自incollection类型
{ output.bibitem
author empty$
{ format.ceditors "editor" output.check %wk format.editors->format.ceditors
@@ -2381,7 +2311,6 @@ if$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {conference} { inproceedings }
-%FUNCTION {cconference} { cinproceedings }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {TECHREPORT} %wk 改自book类型
{language empty$
@@ -2418,7 +2347,6 @@ FUNCTION {TECHREPORT} %wk 改自book类型
fin.entry
}
-%FUNCTION {cTECHREPORT} %wk 改自book类型
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2454,7 +2382,6 @@ FUNCTION {TECHREPORT} %wk 改自book类型
if$
}
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {mastersthesis} %wk 改自book类型
{language empty$
@@ -2477,7 +2404,6 @@ FUNCTION {mastersthesis} %wk 改自book类型
{ format.edition output
booklike.series.volume.number output
new.block
-% format.addr.pub "publisher" output.check
format.school.pub "publisher" output.check
output.year.check output
format.pages output
@@ -2492,7 +2418,6 @@ FUNCTION {mastersthesis} %wk 改自book类型
fin.entry
}
-%FUNCTION {cmastersthesis} %wk 改自book类型
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2512,7 +2437,6 @@ FUNCTION {mastersthesis} %wk 改自book类型
{
format.cedition output %wk edition->cedition
new.block
-% format.caddr.pub "publisher" output.check
format.cschool.pub "publisher" output.check
output.cyear.check %wk
cbooklike.series.volume.number.pages output
@@ -2550,7 +2474,6 @@ FUNCTION {phdthesis} %wk 改自book类型
{ format.edition output
booklike.series.volume.number output
new.block
-% format.addr.pub "publisher" output.check
format.school.pub "publisher" output.check
output.year.check output
format.pages output
@@ -2565,7 +2488,6 @@ FUNCTION {phdthesis} %wk 改自book类型
fin.entry
}
-%FUNCTION {cphdthesis} %wk 改自book类型
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2585,7 +2507,6 @@ FUNCTION {phdthesis} %wk 改自book类型
{
format.cedition output %wk edition->cedition
new.block
-% format.caddr.pub "publisher" output.check
format.cschool.pub "publisher" output.check
output.cyear.check %wk
cbooklike.series.volume.number.pages output
@@ -2602,8 +2523,6 @@ FUNCTION {phdthesis} %wk 改自book类型
if$
}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {proceedings} %改自book类型
{language empty$
@@ -2641,7 +2560,6 @@ FUNCTION {proceedings} %改自book类型
fin.entry
}
-%FUNCTION {cproceedings} %改自book类型
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2716,7 +2634,6 @@ FUNCTION {manual} %改自book类型
fin.entry
}
-%FUNCTION {cmanual} %wk
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2749,8 +2666,6 @@ FUNCTION {manual} %改自book类型
if$
}
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FUNCTION {misc} %作为非常规文献的格式,可靠性低,应该仔细检查,改自book类型
@@ -2775,9 +2690,7 @@ FUNCTION {misc} %作为非常规文献的格式,可靠性低,
booklike.series.volume.number output
new.block
format.misc.addr.pub "publisher" output.check
-% output.year.check output
format.date.modifydate.citedate output
-% format.pages output
}
{ format.book.crossref output.nonnull
}
@@ -2789,7 +2702,6 @@ FUNCTION {misc} %作为非常规文献的格式,可靠性低,
fin.entry
}
-%FUNCTION {cmisc} %作为非常规文献的格式,可靠性低,应该仔细检查,改自book类型
{ output.bibitem
author empty$
{ format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
@@ -2811,8 +2723,6 @@ FUNCTION {misc} %作为非常规文献的格式,可靠性低,
format.cedition output %wk edition->cedition
new.block
format.cmisc.addr.pub "publisher" output.check
-% output.cyear.check %wk
-% cbooklike.series.volume.number.pages output
format.date.modifydate.citedate output
}
{ format.book.crossref output.nonnull
@@ -2843,7 +2753,6 @@ FUNCTION {unpublished}
fin.entry
}
-%FUNCTION {cunpublished} %wk
{ output.bibitem
format.cauthors "author" output.check %wk
author format.key output
@@ -2926,356 +2835,6 @@ MACRO {tcs} {"Theoretical Computer Science"}
READ
-%FUNCTION {sortify}
-%{ purify$
-% "l" change.case$
-%}
-%
-%INTEGERS { len }
-%
-%FUNCTION {chop.word}
-%{ 's :=
-% 'len :=
-% s #1 len substring$ =
-% { s len #1 + global.max$ substring$ }
-% 's
-% if$
-%}
-%
-%FUNCTION {format.lab.names} %wk
-%{ 's :=
-% s #1 "{vv~}{ll}" format.name$
-% s num.names$ duplicate$
-% #2 >
-% { pop$ " {\em et~al.}" * }
-% { #2 <
-% 'skip$
-% { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-% { " {\em et~al.}" * }
-% { " and " * s #2 "{vv~}{ll}" format.name$ * } %wk
-% if$
-% }
-% if$
-% }
-% if$
-%}
-%
-%FUNCTION {author.key.label}
-%{ author empty$
-% { key empty$
-% { cite$ #1 #3 substring$ }
-% 'key
-% if$
-% }
-% { author format.lab.names }
-% if$
-%}
-%
-%FUNCTION {author.editor.key.label}
-%{ author empty$
-% { editor empty$
-% { key empty$
-% { cite$ #1 #3 substring$ }
-% 'key
-% if$
-% }
-% { editor format.lab.names }
-% if$
-% }
-% { author format.lab.names }
-% if$
-%}
-%
-%FUNCTION {editor.key.label}
-%{ editor empty$
-% { key empty$
-% { cite$ #1 #3 substring$ }
-% 'key
-% if$
-% }
-% { editor format.lab.names }
-% if$
-%}
-%
-%FUNCTION {calc.label} %wk修改
-% { type$ "book" =
-% type$ "cbook" =
-% type$ "inbook" =
-% type$ "cinbook" =
-% type$ "incollection" = % For sensible
-% type$ "cincollection" =
-% or or or or or % treatment of
-% 'author.editor.key.label % Singer in
-% { type$ "proceedings" = % BS 1629.
-% 'editor.key.label
-% 'author.key.label
-% if$
-% type$ "cproceedings" = % BS 1629.
-% 'editor.key.label
-% 'author.key.label
-% if$
-%
-% }
-% if$
-% duplicate$
-% year empty$
-% {
-% "\protect\citename{" swap$ * ", }" *
-% "n.d." * 'label := % Chicago,
-% } % page 457.
-% {
-% "\protect\citename{" swap$ * ", }" *
-% year
-% *
-% 'label :=
-% }
-% if$
-% year field.or.null purify$ *
-% sortify 'sort.label :=
-%}
-%
-%
-%FUNCTION {sort.format.names} % To produce the
-%{ 's := % order of entries
-% #1 'nameptr := % specified in item
-% "" % (3) on page 187
-% s num.names$ 'numnames := % of Butcher.
-% numnames 'namesleft :=
-% { namesleft #0 > nameptr #3 < and } % Only 1st 2 names
-% { nameptr #1 > % matter for
-% {
-% " " * } % sorting.
-% 'skip$
-% if$ % Anything that's
-% nameptr #2 = numnames #2 > and % "et al" goes
-% { "zzzzz" * } % after works by 2
-% { % authors.
-% s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
-% nameptr numnames = t "others" = and
-% { "zzzzz" * }
-% { t sortify * }
-% if$
-% }
-% if$
-% nameptr #1 + 'nameptr :=
-% namesleft #1 - 'namesleft :=
-% }
-% while$
-%}
-%
-%FUNCTION {sort.format.title}
-%{ 't :=
-% "A " #2
-% "An " #3
-% "The " #4 t chop.word
-% chop.word
-% chop.word
-% sortify
-% #1 global.max$ substring$
-%}
-%
-%FUNCTION {author.sort}
-%{ author empty$
-% { key empty$
-% { "to sort, need author or key in " cite$ * warning$
-% ""
-% }
-% { key sortify }
-% if$
-% }
-% { author sort.format.names }
-% if$
-%}
-%
-%FUNCTION {author.editor.sort}
-%{ author empty$
-% { editor empty$
-% { key empty$
-% { "to sort, need author, editor, or key in " cite$ * warning$
-% ""
-% }
-% { key sortify }
-% if$
-% }
-% { editor sort.format.names }
-% if$
-% }
-% { author sort.format.names }
-% if$
-%}
-%
-%FUNCTION {editor.sort}
-%{ editor empty$
-% { key empty$
-% { "to sort, need editor or key in " cite$ * warning$
-% ""
-% }
-% { key sortify }
-% if$
-% }
-% { editor sort.format.names }
-% if$
-%}
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%->
-%INTEGERS { seq.num }
-%
-%FUNCTION {init.seq}
-%{ #0 'seq.num :=}
-%
-%EXECUTE {init.seq}
-%
-%FUNCTION {int.to.fix}
-%{ "000000000" swap$ int.to.str$ *
-% #-1 #10 substring$
-%}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<-
-%
-%FUNCTION {presort}
-%{ calc.label
-% label sortify
-% " "
-% *
-% seq.num #1 + 'seq.num :=
-% seq.num int.to.fix
-% 'sort.label :=
-% sort.label *
-% #1 entry.max$ substring$
-% 'sort.key$ :=
-%}
-%
-%
-%%FUNCTION {presort} % Two sorting
-%%{ calc.label % passes, from
-%% label sortify % apalike.bst.
-%% " "
-%% *
-%% type$ "book" =
-%% type$ "inbook" =
-%% type$ "incollection" = % For Singer
-%% or or % in BS 1629.
-%% 'author.editor.sort
-%% { type$ "proceedings" =
-%% 'editor.sort
-%% 'author.sort
-%% if$
-%% }
-%% if$
-%% #1 entry.max$ substring$
-%% 'sort.label :=
-%% sort.label
-%% *
-%% " "
-%% *
-%% title field.or.null
-%% sort.format.title
-%% *
-%% #1 entry.max$ substring$
-%% 'sort.key$ :=
-%%}
-%
-%ITERATE {presort}
-%
-%SORT
-%
-%STRINGS { last.label next.extra }
-%
-%INTEGERS { last.extra.num }
-%
-%FUNCTION {initialize.extra.label.stuff}
-%{ #0 int.to.chr$ 'last.label :=
-% "" 'next.extra :=
-% #0 'last.extra.num :=
-%}
-%
-%FUNCTION {forward.pass}
-%{ last.label 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 :=
-% label 'last.label :=
-% }
-% if$
-%}
-%
-%FUNCTION {reverse.pass}
-%{ next.extra "b" =
-% { "a" 'extra.label := }
-% 'skip$
-% if$ % Code needed here
-% % if \citeauthor
-% % and \citeyear
-% label extra.label * 'label := % were supported.
-% extra.label 'next.extra :=
-%}
-%
-%EXECUTE {initialize.extra.label.stuff}
-%
-%ITERATE {forward.pass}
-%
-%REVERSE {reverse.pass}
-%
-%FUNCTION {bib.sort.order}
-%{ sort.label
-% " "
-% *
-% year field.or.null sortify
-% *
-% " "
-% *
-% title field.or.null
-% sort.format.title
-% *
-% #1 entry.max$ substring$
-% 'sort.key$ :=
-%}
-%
-%ITERATE {bib.sort.order}
-%
-%SORT
-%
-%FUNCTION {begin.bib}
-%{ preamble$ empty$
-% 'skip$
-% { preamble$ write$ newline$ }
-% if$
-% "\begin{thebibliography}{}" write$ newline$
-%
-%%开始
-% "\providecommand{\url}[1]{\texttt{#1}}"
-% write$ newline$
-% "\expandafter\ifx\csname urlstyle\endcsname\relax"
-% write$ newline$
-% " \providecommand{\doi}[1]{doi: #1}\else"
-% write$ newline$
-% " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
-% write$ newline$
-%%结束
-%
-%}
-%
-%EXECUTE {begin.bib}
-%
-%EXECUTE {init.state.consts}
-%
-%ITERATE {call.type$}
-%
-%FUNCTION {end.bib}
-%{ newline$
-% "\end{thebibliography}" write$ newline$
-%}
-%
-%EXECUTE {end.bib}
-
-
-
-
-
-
-
-
FUNCTION {sortify}
{ purify$
"l" change.case$
@@ -3292,9 +2851,6 @@ FUNCTION {chop.word}
if$
}
-
-
-
FUNCTION {format.lab.names} %wk
{ 's :=
s #1 "{vv~}{ll}" format.name$
@@ -3338,7 +2894,6 @@ FUNCTION {author.key.label}
'key
if$
}
-% {author format.lab.names }
{language empty$
{author format.lab.names}
{author format.lab.cnames}
@@ -3355,7 +2910,6 @@ FUNCTION {author.editor.key.label}
'key
if$
}
-% { editor format.lab.names }
{language empty$
{editor format.lab.names}
{editor format.lab.cnames}
@@ -3363,7 +2917,6 @@ FUNCTION {author.editor.key.label}
if$
}
-% { author format.lab.names }
{language empty$
{author format.lab.names}
{author format.lab.cnames}
@@ -3379,7 +2932,6 @@ FUNCTION {editor.key.label}
'key
if$
}
-% { editor format.lab.names }
{language empty$
{editor format.lab.names}
{editor format.lab.cnames}
@@ -3462,7 +3014,6 @@ FUNCTION {int.to.fix}
#-1 #10 substring$
}
-
FUNCTION {presort}
{ calc.label
label sortify
@@ -3540,7 +3091,9 @@ FUNCTION {begin.bib}
'skip$
{ preamble$ write$ newline$ }
if$
- "\begin{thebibliography}{" number.label int.to.str$ * "}\setlength{\baselineskip}{20bp plus 2bp minus 1bp}\setlength{\itemsep}{0bp}\setlength{\parskip}{0pt}" * %加入三个setlength以符合电子科技大学关于参考文献行距的要求。
+ "\begin{thebibliography}{" number.label int.to.str$ *
+ "}\setlength{\baselineskip}{20bp plus 2bp minus 1bp}\setlength{\itemsep}{0bp}\setlength{\parskip}{0pt}" *
+ %加入三个setlength以符合电子科技大学关于参考文献行距的要求。
write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
@@ -3566,3 +3119,6 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
+\endinput
+%%
+%% End of file `uestcthesis.bst'.
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/README b/Master/texmf-dist/doc/latex/uestcthesis/README
index 72eb830eabc..3c81ee57130 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/README
+++ b/Master/texmf-dist/doc/latex/uestcthesis/README
@@ -4,19 +4,18 @@ All files are encoded in UTF-8 without BOM.
This package is licensed in LPPL.
-uestcthesis.cls, UESTC_LOGO.png, UESTC.png and GBT7714-2005NLang-UESTC.bst should be
-moved into a directory searched by pdfLaTeX.
+uestcthesis.cls and uestcthesis.bst should be moved into a directory searched by pdfLaTeX.
+UESTC.png and UESTC_LOGO.png should be moved into the same directory as the uestcthesis.cls.
-The doc/ is also a example.To use this template, the directory structure in doc/ are indispensable.
-The sed.exe and .dlls in doc/tools/ are used to fix bug in bbl.
+The doc/ is also a example. To use this template, the directory structure in doc/ are indispensable.
Files in doc/contents/ are necessary.User have to edit them.
-Files in doc/chapters/ are normal tex file.And all pictures should be placed in doc/pics/.
-For compiling correctly, there is 2 .bat files.Basically, it needs pdflatex.
+Files in doc/chapters/ are normal tex file. And all pictures should be placed in doc/pics/.
+For compiling correctly, there is two .bat files.Basically, it needs pdflatex.
This template's users are all chinese, so there is no english doc.
For more information, see the uestcthesis-doc.pdf in doc/.
-
+Author: Shi Fujun<shifujun@foxmail.com>
*************************Translation in zh_CN_UTF-8****************************
UESTCthesis是电子科技大学毕业论文LaTeX模板。
这个模板可以仅使用一条\documentclass命令,就能帮助排版你的毕业论文。
@@ -24,8 +23,9 @@ UESTCthesis是电子科技大学毕业论文LaTeX模板。
本模板使用LPPL协议发布。
-uestcthesis.cls, UESTC_LOGO.png, UESTC.png and GBT7714-2005NLang-UESTC.bst 这四
-个文件需要放在可以被pdfLaTeX搜索到的地方。最简单的方式就是放在工作目录中。
+uestcthesis.cls, UESTC_LOGO.png, UESTC.png and uestcthesis.bst 这四个文件需要放在
+可以被pdfLaTeX搜索到的地方。最简单的方式就是放在工作目录中。
其他说明请见doc目录下的“uestcthesis-doc.pdf"。
+作者:时富军<shifujun@foxmail.com>
*******************************************************************************
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/Place_has_TrainDAO.java.tex b/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/Place_has_TrainDAO.java.tex
new file mode 100644
index 00000000000..28bb409be8f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/Place_has_TrainDAO.java.tex
@@ -0,0 +1,121 @@
+\noindent
+\ttfamily
+\hlstd{}\hllin{01\ }\hlkwa{package\ }\hlstd{dbcontrol}\hlopt{.}\hlstd{dao}\hlopt{;}\\
+\hllin{02\ }\hlstd{}\\
+\hllin{03\ }\hlkwa{import\ }\hlstd{dbcontrol}\hlopt{.}\hlstd{vo}\hlopt{.}\hlstd{Place\textunderscore has\textunderscore TrainVO}\hlopt{;}\\
+\hllin{04\ }\hlstd{}\hlkwa{import\ }\hlstd{dbcontrol}\hlopt{.}\hlstd{vo}\hlopt{.}\hlstd{TrainVO}\hlopt{;}\\
+\hllin{05\ }\hlstd{}\hlkwa{import\ }\hlstd{dbcontrol}\hlopt{.}\hlstd{vo}\hlopt{.}\hlstd{VO}\hlopt{;}\\
+\hllin{06\ }\hlstd{}\hlkwa{import\ }\hlstd{java}\hlopt{.}\hlstd{sql}\hlopt{.}\hlstd{ResultSet}\hlopt{;}\\
+\hllin{07\ }\hlstd{}\hlkwa{import\ }\hlstd{java}\hlopt{.}\hlstd{sql}\hlopt{.}\hlstd{SQLException}\hlopt{;}\\
+\hllin{08\ }\hlstd{}\hlkwa{import\ }\hlstd{java}\hlopt{.}\hlstd{util}\hlopt{.}\hlstd{LinkedList}\hlopt{;}\\
+\hllin{09\ }\hlstd{}\hlkwa{import\ }\hlstd{java}\hlopt{.}\hlstd{util}\hlopt{.}\hlstd{logging}\hlopt{.}\hlstd{Level}\hlopt{;}\\
+\hllin{10\ }\hlstd{}\hlkwa{import\ }\hlstd{java}\hlopt{.}\hlstd{util}\hlopt{.}\hlstd{logging}\hlopt{.}\hlstd{Logger}\hlopt{;}\\
+\hllin{11\ }\hlstd{}\\
+\hllin{12\ }\hlcom{/{*}{*}}\\
+\hllin{13\ }\hlcom{\ {*}\ Place\textunderscore has\textunderscore Train表DAO类}\\
+\hllin{14\ }\hlcom{\ {*}}\\
+\hllin{15\ }\hlcom{\ {*}\ @author\ Shifujun}\\
+\hllin{16\ }\hlcom{\ {*}/}\hlstd{}\\
+\hllin{17\ }\hlkwa{public\ class\ }\hlstd{Place\textunderscore has\textunderscore TrainDAO\ }\hlkwa{extends\ }\hlstd{AbstractDAO\ }\hlopt{\{}\\
+\hllin{18\ }\hlstd{\\
+\hllin{19\ }}\hlstd{\ \ \ \ }\hlstd{Place\textunderscore has\textunderscore TrainVO\ vo}\hlopt{;}\\
+\hllin{20\ }\hlstd{\\
+\hllin{21\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{22\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{createPreparedStatements}\hlstd{}\hlopt{()\ \{}\\
+\hllin{23\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{try\ }\hlstd{}\hlopt{\{}\\
+\hllin{24\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{insertStmtStr\ }\hlopt{=\ }\hlstd{}\hlstr{"insert\ into\ Place\textunderscore has\textunderscore Train\ (}\Righttorque\\
+\hllin{25\ }\hlstr{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstr{Place\textunderscore ID,Train\textunderscore ID)\ values\ (?,?)"}\hlstd{}\hlopt{;}\\
+\hllin{26\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{insertStmt\ }\hlopt{=\ }\hlstd{dbutil}\hlopt{.}\hlstd{}\hlkwd{createPreparedStatement}\hlstd{}\hlopt{(}\Righttorque\\
+\hllin{27\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{insertStmtStr}\hlopt{);}\\
+\hllin{28\ }\hlstd{\\
+\hllin{29\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{updateStmtStr\ }\hlopt{=\ }\hlstd{}\hlstr{""}\hlstd{}\hlopt{;}\\
+\hllin{30\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{updateStmt\ }\hlopt{=\ }\hlstd{dbutil}\hlopt{.}\hlstd{}\hlkwd{createPreparedStatement}\hlstd{}\hlopt{(}\Righttorque\\
+\hllin{31\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{updateStmtStr}\hlopt{);}\\
+\hllin{32\ }\hlstd{\\
+\hllin{33\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{deleteStmtStr\ }\hlopt{=\ }\hlstd{}\hlstr{"delete\ from\ Place\textunderscore has\textunderscore Train\ }\Righttorque\\
+\hllin{34\ }\hlstr{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstr{where\ Place\textunderscore ID\ =\ ?\ and\ Train\textunderscore ID\ =\ ?"}\hlstd{}\hlopt{;}\\
+\hllin{35\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{deleteStmt\ }\hlopt{=\ }\hlstd{dbutil}\hlopt{.}\hlstd{}\hlkwd{createPreparedStatement}\hlstd{}\hlopt{(}\Righttorque\\
+\hllin{36\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{deleteStmtStr}\hlopt{);}\\
+\hllin{37\ }\hlstd{\\
+\hllin{38\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{selectStmtStr\ }\hlopt{=\ }\hlstd{}\hlstr{"select\ {*}\ from\ Place\textunderscore has\textunderscore Train\ }\Righttorque\\
+\hllin{39\ }\hlstr{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstr{where\ Place\textunderscore ID\ =\ ?\ and\ Train\textunderscore ID\ =\ ?"}\hlstd{}\hlopt{;}\\
+\hllin{40\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{selectStmt\ }\hlopt{=\ }\hlstd{dbutil}\hlopt{.}\hlstd{}\hlkwd{createPreparedStatement}\hlstd{}\hlopt{(}\Righttorque\\
+\hllin{41\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{selectStmtStr}\hlopt{);}\\
+\hllin{42\ }\hlstd{\\
+\hllin{43\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{selectListStmtStr\ }\hlopt{=\ }\hlstd{}\hlstr{"select\ {*}\ from\ }\Righttorque\\
+\hllin{44\ }\hlstr{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstr{Place\textunderscore has\textunderscore Train\ where\ Place\textunderscore ID\ =\ ?"}\hlstd{}\hlopt{;}\\
+\hllin{45\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{selectListStmt\ }\hlopt{=\ }\hlstd{dbutil}\hlopt{.}\hlstd{}\hlkwd{createPreparedStatement}\hlstd{}\hlopt{(}\Righttorque\\
+\hllin{46\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{selectListStmtStr}\hlopt{);}\\
+\hllin{47\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlopt{\}\ }\hlstd{}\hlkwa{catch\ }\hlstd{}\hlopt{(}\hlstd{Exception\ ex}\hlopt{)\ \{}\\
+\hllin{48\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{Logger}\hlopt{.}\hlstd{}\hlkwd{getLogger}\hlstd{}\hlopt{(}\hlstd{Place\textunderscore has\textunderscore TrainDAO}\hlopt{.}\hlstd{}\hlkwa{class}\hlstd{}\hlopt{.}\Righttorque\\
+\hllin{49\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{getName}\hlstd{}\hlopt{()).}\hlstd{}\hlkwd{log}\hlstd{}\hlopt{(}\hlstd{Level}\hlopt{.}\hlstd{SEVERE}\hlopt{,\ }\hlstd{null}\hlopt{,\ }\hlstd{ex}\hlopt{);}\\
+\hllin{50\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{51\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{52\ }\hlstd{\\
+\hllin{53\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{54\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{insertDAO}\hlstd{}\hlopt{()\ }\hlstd{}\hlkwa{throws\ }\hlstd{SQLException\ }\hlopt{\{}\\
+\hllin{55\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{insertStmt}\hlopt{.}\hlstd{}\hlkwd{setInt}\hlstd{}\hlopt{(}\hlstd{}\hlnum{1}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getPlace\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{56\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{insertStmt}\hlopt{.}\hlstd{}\hlkwd{setString}\hlstd{}\hlopt{(}\hlstd{}\hlnum{2}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getTrain\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{57\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{insertStmt}\hlopt{.}\hlstd{}\hlkwd{executeUpdate}\hlstd{}\hlopt{();}\\
+\hllin{58\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{59\ }\hlstd{\\
+\hllin{60\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{61\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{deleteDAO}\hlstd{}\hlopt{()\ }\hlstd{}\hlkwa{throws\ }\hlstd{SQLException\ }\hlopt{\{}\\
+\hllin{62\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{deleteStmt}\hlopt{.}\hlstd{}\hlkwd{setInt}\hlstd{}\hlopt{(}\hlstd{}\hlnum{1}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getPlace\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{63\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{deleteStmt}\hlopt{.}\hlstd{}\hlkwd{setString}\hlstd{}\hlopt{(}\hlstd{}\hlnum{2}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getTrain\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{64\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{deleteStmt}\hlopt{.}\hlstd{}\hlkwd{executeUpdate}\hlstd{}\hlopt{();}\\
+\hllin{65\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{66\ }\hlstd{\\
+\hllin{67\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{68\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{loadDAO}\hlstd{}\hlopt{()\ }\hlstd{}\hlkwa{throws\ }\hlstd{SQLException\ }\hlopt{\{}\\
+\hllin{69\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{selectStmt}\hlopt{.}\hlstd{}\hlkwd{setInt}\hlstd{}\hlopt{(}\hlstd{}\hlnum{1}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getPlace\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{70\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{selectStmt}\hlopt{.}\hlstd{}\hlkwd{setString}\hlstd{}\hlopt{(}\hlstd{}\hlnum{2}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getTrain\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{71\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{ResultSet\ rs\ }\hlopt{=\ }\hlstd{selectStmt}\hlopt{.}\hlstd{}\hlkwd{executeQuery}\hlstd{}\hlopt{();}\\
+\hllin{72\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlopt{(}\hlstd{rs}\hlopt{.}\hlstd{}\hlkwd{next}\hlstd{}\hlopt{())\ \{}\\
+\hllin{73\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{this}\hlstd{}\hlopt{.}\hlstd{vo\ }\hlopt{=\ }\hlstd{}\hlkwa{new\ }\hlstd{}\hlkwd{Place\textunderscore has\textunderscore TrainVO}\hlstd{}\hlopt{();}\\
+\hllin{74\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{setPlace\textunderscore ID}\hlstd{}\hlopt{(}\hlstd{rs}\hlopt{.}\hlstd{}\hlkwd{getInt}\hlstd{}\hlopt{(}\hlstd{}\hlstr{"Place\textunderscore ID"}\hlstd{}\hlopt{));}\\
+\hllin{75\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{setTrain\textunderscore ID}\hlstd{}\hlopt{(}\hlstd{rs}\hlopt{.}\hlstd{}\hlkwd{getString}\hlstd{}\hlopt{(}\hlstd{}\hlstr{"Train\textunderscore ID"}\hlstd{}\hlopt{));}\\
+\hllin{76\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlopt{\}\ }\hlstd{}\hlkwa{else\ }\hlstd{}\hlopt{\{}\\
+\hllin{77\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{vo\ }\hlopt{=\ }\hlstd{null}\hlopt{;}\\
+\hllin{78\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{79\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{80\ }\hlstd{\\
+\hllin{81\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{82\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{setVO}\hlstd{}\hlopt{(}\hlstd{VO\ vo}\hlopt{)\ \{}\\
+\hllin{83\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{this}\hlstd{}\hlopt{.}\hlstd{vo\ }\hlopt{=\ (}\hlstd{Place\textunderscore has\textunderscore TrainVO}\hlopt{)\ }\hlstd{vo}\hlopt{;}\\
+\hllin{84\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{85\ }\hlstd{\\
+\hllin{86\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{87\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{updateDAO}\hlstd{}\hlopt{()\ }\hlstd{}\hlkwa{throws\ }\hlstd{SQLException\ }\hlopt{\{}\\
+\hllin{88\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlslc{//这个表不需要更新。}\\
+\hllin{89\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{90\ }\hlstd{\\
+\hllin{91\ }}\hlstd{\ \ \ \ }\hlstd{}\hlcom{/{*}{*}}\\
+\hllin{92\ }\hlcom{}\hlstd{\ \ \ \ \ }\hlcom{{*}\ 查找和this.vo的地点相同的所有VO。}\\
+\hllin{93\ }\hlcom{}\hlstd{\ \ \ \ \ }\hlcom{{*}}\\
+\hllin{94\ }\hlcom{}\hlstd{\ \ \ \ \ }\hlcom{{*}\ @return}\\
+\hllin{95\ }\hlcom{}\hlstd{\ \ \ \ \ }\hlcom{{*}\ @throws\ SQLException}\\
+\hllin{96\ }\hlcom{}\hlstd{\ \ \ \ \ }\hlcom{{*}/}\hlstd{\\
+\hllin{97\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{LinkedList}\hlopt{$<$}\hlstd{Place\textunderscore has\textunderscore TrainVO}\hlopt{$>$\ }\hlstd{}\hlkwd{getTrainListByPlace}\hlstd{}\hlopt{(}\Righttorque\\
+\hllin{98\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{)\ }\hlstd{}\hlkwa{throws\ }\hlstd{SQLException\ }\hlopt{\{}\\
+\hllin{99\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{selectListStmt}\hlopt{.}\hlstd{}\hlkwd{setInt}\hlstd{}\hlopt{(}\hlstd{}\hlnum{1}\hlstd{}\hlopt{,\ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{getPlace\textunderscore ID}\hlstd{}\hlopt{());}\\
+\hllin{100\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{ResultSet\ rs\ }\hlopt{=\ }\hlstd{selectListStmt}\hlopt{.}\hlstd{}\hlkwd{executeQuery}\hlstd{}\hlopt{();}\\
+\hllin{101\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{LinkedList}\hlopt{$<$}\hlstd{Place\textunderscore has\textunderscore TrainVO}\hlopt{$>$\ }\hlstd{list\ }\hlopt{=\ }\hlstd{}\hlkwa{new\ }\hlstd{LinkedList}\hlopt{$<$}\Righttorque\\
+\hllin{102\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{Place\textunderscore has\textunderscore TrainVO}\hlopt{$>$();}\\
+\hllin{103\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{while\ }\hlstd{}\hlopt{(}\hlstd{rs}\hlopt{.}\hlstd{}\hlkwd{next}\hlstd{}\hlopt{())\ \{}\\
+\hllin{104\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{Place\textunderscore has\textunderscore TrainVO\ vo\ }\hlopt{=\ }\hlstd{}\hlkwa{new\ }\hlstd{}\hlkwd{Place\textunderscore has\textunderscore TrainVO}\hlstd{}\hlopt{();}\\
+\hllin{105\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{setPlace\textunderscore ID}\hlstd{}\hlopt{(}\hlstd{rs}\hlopt{.}\hlstd{}\hlkwd{getInt}\hlstd{}\hlopt{(}\hlstd{}\hlstr{"Place\textunderscore ID"}\hlstd{}\hlopt{));}\\
+\hllin{106\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{vo}\hlopt{.}\hlstd{}\hlkwd{setTrain\textunderscore ID}\hlstd{}\hlopt{(}\hlstd{rs}\hlopt{.}\hlstd{}\hlkwd{getString}\hlstd{}\hlopt{(}\hlstd{}\hlstr{"Train\textunderscore ID"}\hlstd{}\hlopt{));}\\
+\hllin{107\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{list}\hlopt{.}\hlstd{}\hlkwd{add}\hlstd{}\hlopt{(}\hlstd{vo}\hlopt{);}\\
+\hllin{108\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{109\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{return\ }\hlstd{list}\hlopt{;}\\
+\hllin{110\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{111\ }\hlstd{\\
+\hllin{112\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwc{@Override}\\
+\hllin{113\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{public\ }\hlstd{VO\ }\hlkwd{getVO}\hlstd{}\hlopt{()\ \{}\\
+\hllin{114\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{return\ this}\hlstd{}\hlopt{.}\hlstd{vo}\hlopt{;}\\
+\hllin{115\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlopt{\}}\\
+\hllin{116\ }\hlstd{}\hlopt{\}}\hlstd{}\\
+\mbox{}
+\normalfont
+\normalsize
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/highlight.sty b/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/highlight.sty
new file mode 100644
index 00000000000..af9ef5b2b21
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/highlight.sty
@@ -0,0 +1,20 @@
+% Style definition file generated by highlight 3.13, http://www.andre-simon.de/
+
+% Highlighting theme: Print
+
+\newcommand{\hlstd}[1]{\textcolor[rgb]{0,0,0}{#1}}
+\newcommand{\hlnum}[1]{\textcolor[rgb]{0,0,0}{#1}}
+\newcommand{\hlesc}[1]{\textcolor[rgb]{0,0,0}{#1}}
+\newcommand{\hlstr}[1]{\textcolor[rgb]{0,0,0}{#1}}
+\newcommand{\hlpps}[1]{\textcolor[rgb]{0,0,0}{#1}}
+\newcommand{\hlslc}[1]{\textcolor[rgb]{0.4,0.4,0.4}{\it{#1}}}
+\newcommand{\hlcom}[1]{\textcolor[rgb]{0.4,0.4,0.4}{\it{#1}}}
+\newcommand{\hlppc}[1]{\textcolor[rgb]{0,0,0}{\bf{#1}}}
+\newcommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{\bf{#1}}}
+\newcommand{\hlipl}[1]{\textcolor[rgb]{0,0,0}{#1}}
+\newcommand{\hllin}[1]{\textcolor[rgb]{0.53,0.53,0.53}{#1}}
+\newcommand{\hlkwa}[1]{\textcolor[rgb]{0,0,0}{\bf{#1}}}
+\newcommand{\hlkwb}[1]{\textcolor[rgb]{0,0,0}{\bf{#1}}}
+\newcommand{\hlkwc}[1]{\textcolor[rgb]{0,0,0}{\bf{#1}}}
+\newcommand{\hlkwd}[1]{\textcolor[rgb]{0,0,0}{\bf{#1}}}
+\definecolor{bgcolor}{rgb}{1,1,1}
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/tuition.tex b/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/tuition.tex
index 7f4491c6685..5a85410d3d2 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/tuition.tex
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/chapters/tuition.tex
@@ -1,10 +1,22 @@
% !Mode:: "TeX:UTF-8"
-\chapter{模板使用说明}
-本此更新日期是:2013年1月23日。
+\chapter{更新日志}
+\noindent
+2013年2月13日:v0.3
+\begin{enumerate}
+\item 在模板内部修复了参考文献的遗留问题,不再需要sed工具。
+\item 模板已经提交到CTAN,并已被MiKTeX收录。所以本模板已经可以通过MiKTeX的宏包管理器安装,不再需要typesetting目录。更新说明中安装一节。
+\item 在pdf元数据中填写了论文的信息,并加入了XMP高级元数据。设置了用Adobe Reader打开时的默认阅读方式为书籍方式。
+\item 加入了排版源代码的方案说明,见\ref{source:section}节。
+\end{enumerate}
+
+\noindent
+2013年1月14日:v0.2
+\begin{enumerate}
+\item 完成本硕博三种格式论文所需的全部结构。
+\end{enumerate}
-下一步工作:
-加入算法环境、源代码环境。整理模板源代码将其发布到代码托管平台。
+\chapter{模板使用说明}
\section{简介}
2013年1月14日更新后的模板已经支持本硕博三种标准。并且本人已经和教务处实践科交流过,实践科对本模板是支持的。同时实践科也表示可以接收pdf格式的电子档。并且已经同意将本科毕业论文的排版规范改为和研究生标准统一化,所以也简化了本模板的开发工作。本次更新后已经针对本科和硕博的不同要求,可以分别编译出不同结构的论文。
@@ -59,33 +71,39 @@ $\mathbb{C}$\kern-.05em\TeX{}是Windows系统下面向中文优化的一套\TeX{
从网页\url{http://www.ctex.org/CTeXDownload}下载$\mathbb{C}$\kern-.05em\TeX{}(当前版本2.9.2.164,大小203M) 。可以在网页上看到这个203M的版本不包含完整的宏包(插件),所以安装这个版本在第一次使用时需要联网才能正常使用。也可以直接下载1.31G的完整版。安装完成后,前者比后者会节约大概2GB的磁盘空间。
-安装时建议不要改变除安装路径以外的其他选项,即完整安装。由于安装包中包含非常多文件,所以某些笔记本硬盘可能会安装的比较慢。这是正常现象。安装完成后扩展名为tex的文件应该会被自动关联。双击thesis.tex应该会自动用WinEdt打开。
+安装时建议不要改变除安装路径以外的其他选项,即完整安装。由于安装包中包含非常多文件,所以某些笔记本硬盘可能会安装的比较慢。这是正常现象。安装完成后扩展名为tex 的文件应该会被自动关联。双击uestcthesis-doc.tex应该会自动用WinEdt打开。
+\subsection{安装模板}
+运行开始菜单 $\longrightarrow$ CTeX $\longrightarrow$ MiKTeX $\longrightarrow$ Maintenance (Admin) $\longrightarrow$ Package Manager (Admin)。 这个程序是管理CTeX系统中的宏包用的。点击菜单栏中的Repository $\longrightarrow$ Change Package Repository。选择第一项“Package shall be installed from the Internet”,点击下一步,选择服务器。在学校使用可以选择China 的mirrors.ustc.edu.cn。这是中科大的源,同在教育网中,速度会比较快。然后点完成。之后程序应该会立刻开始同步数据。
+
+同步完成后,在工具栏右侧的Name:处填写uestcthesis,然后回车。搜索出来的就是本模板。右键点击本模板的条目,选择Install。完成后点Close关闭。
+
+安装完成后运行开始菜单 $\longrightarrow$ CTeX $\longrightarrow$ MiKTeX $\longrightarrow$ Maintenance (Admin) $\longrightarrow$ Settings (Admin)。依次点击按钮“Refresh FNDB” 和“Update Formats”,然后确定。
\subsection{测试编译}
-用WinEdt打开thesis.tex如图~\ref{winedt}(双击即可)。
+用WinEdt打开uestcthesis-doc.tex如图~\ref{winedt}(双击即可)。
\pic[htbp]{WinEdt界面}{width=\textwidth}{winedt}
-点击图中红色箭头指向的黑色实心小三角,在下拉菜单中选择PDFLaTeX。然后点击绿色箭头指向的按钮将此文件设置为主文件。最后点击蓝色箭头指向的按钮,或按键盘上的F9按键,编译论文。
+点击图中红色箭头指向的黑色实心小三角,在下拉菜单中选择PDFLaTeX。然后点击绿色箭头指向的按钮将此文件设置为主文件。最后点击蓝色箭头指向的按钮,或按键盘上的F9按键,编译论文。用这种方式编译论文比较方便,但会缺少研究生论文所需的“攻读期间发表的成果”一章。所以正式编译时必须用compile.bat编译论文才能得到正确的结果。
-通过将此文件设置为主文件之后,以后只要thesis.tex在WinEdt中打开了,即使当前编辑的文件不是thesis.tex,编译时也会编译thesis.tex文件。这样可以避免每次都切换回thesis.tex编辑窗口。
+通过将此文件设置为主文件之后,以后只要uestcthesis-doc.tex在WinEdt中打开了,即使当前编辑的文件不是uestcthesis-doc.tex,编译时也会编译uestcthesis-doc.tex文件。这样可以避免每次都切换回uestcthesis-doc.tex编辑窗口。
如果安装的是Basic版的$\mathbb{C}$\kern-.05em\TeX{}套装,则第一次编译时会自动联网下载缺少的宏包,所以会比较慢。编译完之后会自动弹出编译好的pdf论文。
-如果安装的是Full版的$\mathbb{C}$\kern-.05em\TeX{}套装,当前版本应该没有问题。但也应该联网更新宏包。选择菜单TeX,MikTeX,MikTeX Update Wizard。然后选择“I want to get updated packages from a remote package repository”,“Let me choose a remote package repository”。在学校使用可以选择China的mirrors.ustc.edu.cn。这是中科大的源,同在教育网中,速度会比较快。
+如果安装的是Full版的$\mathbb{C}$\kern-.05em\TeX{}套装,当前版本应该没有问题。但也应该联网更新宏包。选择菜单TeX,MikTeX,MikTeX Update Wizard。然后选择“I want to get updated packages from a remote package repository”,“Let me choose a remote package repository”。同样可以选择中科大的源。
\section{模板结构}
-下载下来的模板解压缩后应放在一个单独的目录中,例如UESTCthesis。其中应包含四个目录和三个文件,见表~\ref{structtab}。\\
+下载下来的模板解压缩后应放在一个单独的目录(工作目录)中,例如UESTCthesis。其中应包含3个目录和3个文件,见表~\ref{structtab}。\\
\threelinetable[htbp]{structtab}{\textwidth}{lcX}{模板结构}
{名称&目录/文件&说明\\
}{
chapters &正文目录 &使用者可复制其中的DuplicateMe.tex,创建论文的各章子文件。\\
contents &其他内容目录 &使用者可以通过编辑其中的文件填写论文结构的非正文部分。\\
pics &插图目录 &使用者在编写论文时要插入的图片放在此目录中。\\
-typesetting &排版设置目录 &使用者不需要也不应该编辑这个目录中的文件。这个目录包含全部排版设置。\\
-thesis.tex &主文件 &最终得到论文需要编译这个文件,这个文件的内容应该只包含章的载入顺序。\\
-正确编译.bat &编译批处理 &双击编译论文,得到正确的thesis.pdf文件。\\
-清除临时文件.bat&清理批处理&双击可删除目录中全部编译过程生成的中间文件。\\
+uestcthesis-doc.tex &主文件 &最终得到论文需要编译这个文件,这个文件的内容应该只包含章的载入顺序。
+使用者可以重命名这个文件,但须将compile.bat中第一行的uestcthesis-doc改为相应名字。\\
+compile.bat &编译批处理 &双击编译论文,得到正确的uestcthesis-doc.pdf文件。\\
+clean.bat&清理批处理 &双击可删除目录中全部编译过程生成的中间文件。\\
}{}
\section{开始编写论文}
\subsection{确定学位信息}
-打开thesis.tex文件,将第三行中间的中括号内容改为bachelor、master或doctor,分别代表本科、硕士和博士。\\
+打开uestcthesis-doc.tex文件,将第三行中间的中括号内容改为bachelor、master或doctor,分别代表本科、硕士和博士。\\
\verb|\documentclass[doctor]{typesetting/uestcthesis}|
然后打开contents目录中的titlepage.tex。填写其中的信息。本科生注意要删除其中后一部分的信息,否则编译会出错。
@@ -93,8 +111,8 @@ thesis.tex &主文件 &最终得到论文需要编译这个文件,这
\subsubsection{新建一章}
论文正文的每一章都是一个单独的tex文件,存放于chapters目录中。由于本模板采用UTF-8编码,所以不能用Windows记事本新建的UTF-8文本文件创建tex文件。因为Windows的UTF-8格式文件头和我们用的不一样。所以为了方便起见,chapters目录下有一个DuplicateMe.tex文件,它是一个写好文件头的空文件。新建一章时只需要将它复制一份,改一个新的文件名即可。文件名最好可以代表这一章的内容。
-chapters目录中的文件并不会都出现在最终的论文中,比如DuplicateMe.tex放在chapters中就不会有影响。将一章加入到论文中,需要在thesis.tex中加入\\
-\verb|\include{chapters/DuplicateMe}|这样的语句。\verb|\include{}|的顺序决定章的顺序。在写作中,可以将前面已经写好并检查排版没问题的章暂时从thesis.tex去掉,比如在\verb|\include{chapters/DuplicateMe}| 前面加一个\%,把这行注释掉。
+chapters目录中的文件并不会都出现在最终的论文中,比如DuplicateMe.tex放在chapters中就不会有影响。将一章加入到论文中,需要在uestcthesis-doc.tex中加入\\
+\verb|\include{chapters/DuplicateMe}|这样的语句。\verb|\include{}|的顺序决定章的顺序。在写作中,可以将前面已经写好并检查排版没问题的章暂时从uestcthesis-doc.tex去掉,比如在\verb|\include{chapters/DuplicateMe}| 前面加一个\%,把这行注释掉。
为了跨平台着想,本模板直接采用了UTF-8编码。每个文件的第一句话都是\verb|% !Mode:: "TeX:UTF-8"|,\%后面都是注释,不会出现在文章内容中。这句话是为了让一些文本编辑器自动选择UTF-8 编码打开文件。在Windows 中,文本文件的默认编码是ANSI,虽然可以另存为UTF-8,但是依然有区别。Windows记事本的UTF-8格式多了一个BOM文件头。
@@ -298,7 +316,7 @@ A^D=\lim_{\varepsilon\rightarrow 0}(A^{p+1}+\varepsilon I)^{-1}C^{(p)}_A
\end{dingli}
\subsection{交叉引用}
-在正文的任意位置可以用命令\verb|\label{标签名}|\label{crossref}在此设置一个标签,然后在论文的其他位置可以使用命令\verb|\ref{标签名}|和\verb|\pageref{标签名}|分别显示该标签位于的章节号和页码。例如:此例见第~\pageref{crossref}~页的第~\ref{crossref}~节。在输入\verb|\ref{标签名}|命令时,如果其前后有是中文,可以在其与中文之间加入一个\verb|~|符号,使其空一格更美观。
+在正文的任意位置可以用命令\verb|\label{标签名}|\label{crossref}在此设置一个标签,然后在论文的其他位置可以使用命令\verb|\ref{标签名}|和\verb|\pageref{标签名}| 分别显示该标签位于的章节号和页码。例如:此例见第~\pageref{crossref}~页的第~\ref{crossref}~节。在输入\verb|\ref{标签名}|命令时,如果其前后有是中文,可以在其与中文之间加入一个\verb|~|符号,使其空一格更美观。
\subsection{枚举环境}
枚举环境就是如下的东西,使用方法见此处的源代码。可以引用其中编号,例如~\ref{testinenumerate}。
@@ -474,7 +492,7 @@ CAJ-CD
\cite{gwywgzjj1958},\cite{shenkuogwywgzjj1070},\cite{jiyun1800},
\cite{liujiang2004},\cite{wanjingkun1996},\cite{dai1983}
\subsection{攻读期间的研究成果}
-攻读期间的研究成果文件是publications.bib,其格式和编辑方法同参考文献完全一致。
+攻读期间的研究成果文件是publications.bib,其格式和编辑方法同参考文献完全一致。在WinEdt中使用编译按钮编译的结果不会显示这一章是正常现象。需要使用compile.bat编译才能得到包含这一章的正确结果。
\subsection{致谢}
致谢就是简单的编辑contents/acknowledgements.tex就可以了。
\subsection{附录}
@@ -491,10 +509,28 @@ CAJ-CD
\fuhao{UESTC}{电子科技大学的英文缩写。}{uestc}
如果论文中没有使用过\verb|\fuhao|命令,则编译时不会出现主要符号表。
+\section{排版源代码}
+\label{source:section}
+许多学院的论文都需要插入若干程序源代码。经过多方比较,我推荐一个使用外部工具的方案。这个工具比现有的\LaTeX{}宏包解决方案要更美观,对中文的支持更好,几乎支持所有的语言。
+
+从\url{http://www.andre-simon.de/zip/download.html}下载这个工具。这个工具就叫highlight,是开源软件,有各个平台的版本,完全不需要自行编译。Windows用户就直接下载Windows (W32) installer的连接就行。下载后进行完全安装。
+
+这个工具界面是中文的,很容易使用。打开后,设置通用选项卡如图~\ref{highlight1}。
+\pic[htbp]{通用选项卡设置}{}{highlight1}
+
+输出细节选项卡不用动。设置格式化选项卡如图~\ref{highlight2}。其中高亮主题有很多,但是我们的论文如果要黑白打印的话,最好还是选择这个print主题。
+\pic[htbp]{格式化选项卡设置}{}{highlight2}
+
+然后设置输出路径,可以设置到chapters目录中。然后选择输入文件,可以批量转换很多源文件。最后点转换文件即可。转换好的文件是以源文件名后再加.tex扩展名命名的。在论文中需要插入的位置写入:\\
+\verb|\input{chapters/highlight.sty}|\\
+\verb|\input{chapters/Place_has_TrainDAO.java.tex}|\\
+其中第一行只需要在第一次插入时写一次即可,用于声明主题格式。第二行才是插入需要的源代码。示例结果如下:
+\input{chapters/highlight.sty}
+\input{chapters/Place_has_TrainDAO.java.tex}
\section{Linux中编译}
本模板已经在Linux系统中测试过,可以正常编译。在TeXLive完全安装的基础上,所有宏包包括CJK都安装了,还需要另外安装宋体和黑体。本模板使用的宋体和黑体是Windows自带的,也是Word使用的。需要在Windows中C:\\Windows\\Fonts目录中复制simhei.ttf和simsun.ttc到Linux系统中。最简单的方式是将两个字体文件放到UESTCthesis工作目录中。
-编译方法参见“正确编译.bat”,将其改写为Shell脚本即可。
+编译方法参见“compile.bat”,将其改写为Shell脚本即可。
\section{使用\LaTeX{}时容易犯的错误}
\begin{enumerate}
\item 以为回车就是换行。\LaTeX{}中换行的命令是“\verb|\\|”。
@@ -515,6 +551,9 @@ CAJ-CD
这本书中没有提及如何制作文类cls文件,相关内容需要自行阅读clsguide.pdf。这份文档位于\verb|..\CTEX\MiKTeX\doc\latex\base\clsguide.pdf|。
\section{修改本模板}
-typesetting目录中的uestcthesis.cls文件是通过使用latex编译uestcthesis.ins得到的。文类的源文件是uestcthesis.dtx。可以通过用pdflatex编译uestcthesis.dtx文件得到uestcthesis.pdf。uestcthesis.pdf是源代码的说明文档。
+可以通过用pdflatex编译uestcthesis.dtx文件得到uestcthesis.pdf。uestcthesis.pdf是源代码的说明文档。
+
+本模板源代码可在\url{http://mirror.ctan.org/macros/latex/contrib/uestcthesis/source/}获得。
修改前请注意本模板的许可协议。
+
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/clean.bat b/Master/texmf-dist/doc/latex/uestcthesis/doc/clean.bat
index 0641e262e1a..0611e538ccc 100755
--- a/Master/texmf-dist/doc/latex/uestcthesis/doc/clean.bat
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/clean.bat
@@ -1,18 +1,17 @@
-@echo off
-del /S *.aux 2>nul
-del /S *.bbl 2>nul
-del /S *.bak 2>nul
-del /S *.blg 2>nul
-del /S *.out 2>nul
-del /S *.log 2>nul
-del /S *.thm 2>nul
-del /S *.toc 2>nul
-del /S *.synctex* 2>nul
-del sed* 2>nul
-del /S *.glg 2>nul
-del /S *.glo 2>nul
-del /S *.gls 2>nul
-del /S *.ist 2>nul
-del /S *.idx 2>nul
-del /S *.ilg 2>nul
-del /S *.ind 2>nul
+@echo off
+del /S *.aux 2>nul
+del /S *.bbl 2>nul
+del /S *.bak 2>nul
+del /S *.blg 2>nul
+del /S *.out 2>nul
+del /S *.thm 2>nul
+del /S *.toc 2>nul
+del /S *.synctex* 2>nul
+del /S *.glg 2>nul
+del /S *.glo 2>nul
+del /S *.gls 2>nul
+del /S *.ist 2>nul
+del /S *.idx 2>nul
+del /S *.ilg 2>nul
+del /S *.ind 2>nul
+del /S *.log 2>nul \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/compile.bat b/Master/texmf-dist/doc/latex/uestcthesis/doc/compile.bat
index 4becba0b82c..94989c23bc4 100755
--- a/Master/texmf-dist/doc/latex/uestcthesis/doc/compile.bat
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/compile.bat
@@ -1,17 +1,16 @@
-@echo off
-call ʱļ.bat
-del uestcthesis-doc.pdf
-if exist uestcthesis-doc.pdf (
-echo رմ򿪵uestcthesis-doc.pdfִС
-pause
-exit
-)
-pdflatex .\uestcthesis-doc.tex
-makeindex -s uestcthesis-doc.ist -t uestcthesis-doc.glg -o uestcthesis-doc.gls uestcthesis-doc.glo
-bibtex .\uestcthesis-doc.aux
-bibtex .\publications.aux
-.\tools\sed.exe -i "s/]\/\/\./]\/\//g" .\uestcthesis-doc.bbl
-.\tools\sed.exe -i "s/]\/\/\./]\/\//g" .\publications.bbl
-pdflatex .\uestcthesis-doc.tex
-pdflatex .\uestcthesis-doc.tex
-call ʱļ.bat \ No newline at end of file
+set jobname=uestcthesis-doc
+@echo off
+call clean.bat
+del %jobname%.pdf
+if exist %jobname%.pdf (
+echo رմ򿪵%jobname%.pdfִС
+pause
+exit
+)
+pdflatex .\%jobname%.tex
+makeindex -s %jobname%.ist -t %jobname%.glg -o %jobname%.gls %jobname%.glo
+bibtex .\%jobname%.aux
+bibtex .\publications.aux
+pdflatex .\%jobname%.tex
+pdflatex .\%jobname%.tex
+call clean.bat \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight1.png b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight1.png
new file mode 100644
index 00000000000..33257ac6c35
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight1.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.png b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.png
new file mode 100644
index 00000000000..d97b05aed42
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdf b/Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdf
index 3d17494ff30..a5228a5c82f 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdf
+++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.dtx b/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.dtx
index 7a58d0cc61c..12cfabe2d73 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.dtx
+++ b/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.dtx
@@ -17,7 +17,7 @@
% The Current Maintainer of this work is Shi Fujun <shifujun@foxmail.com>.
%
% This work consists of the files uestcthesis.dtx, uestcthesis.ins and
-% GBT7714-2005NLang-UESTC.bst.
+% uestcthesis.bst.
% and the derived file uestcthesis.cls.
% Other files in this work's package are belongs to the respective owners.
%
@@ -30,11 +30,23 @@
%<class>\NeedsTeXFormat{LaTeX2e}[2011/06/27]
%<class>\ProvidesClass{uestcthesis}
%<*class>
- [2013/01/22 v0.21 UESTC thesis class]
+ [2013/02/12 v0.3 UESTC thesis class]
%</class>
%<*driver>
\documentclass{ltxdoc}
-\usepackage[UTF8]{ctex}
+\usepackage[hyperref,UTF8]{ctex}
+\usepackage{cmap}
+\usepackage[pdftex,unicode,
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ colorlinks=false,
+ pdfborder={0 0 1},
+ citecolor=blue,
+ linkcolor=red,
+ anchorcolor=green,
+ urlcolor=blue,
+ breaklinks=true
+ ]{hyperref}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -63,8 +75,6 @@
% Right brace \} Tilde \~}
%
%
-% \changes{v0.21}{2013/01/22}{将模板重构为DocStrip格式}
-%
% \GetFileInfo{uestcthesis.dtx}
%
% \DoNotIndex{\newcommand,\newenvironment}
@@ -75,8 +85,12 @@
% \author{时富军 \\ \texttt{shifujun@foxmail.com}}
%
% \maketitle
+% \iffalse
+%<*class>
+% \fi
+% \section{文类源代码}
+% \changes{v0.21}{2013/01/22}{将模板重构为DocStrip格式}
%
-% \section{源代码}
% \subsection{中文支持}
%继承ctexbook文类,并调用了如下功能的选项:\par
%cs4size:使用小四字号为缺省字体大小。\par
@@ -586,6 +600,7 @@
% \begin{macrocode}
\renewcommand{\date}[3]{
\renewcommand{\@date}{#1年#2月#3日}
+\newcommand{\@year}{#1}%用于pdf元信息
}
% \end{macrocode}
% \end{macro}
@@ -1002,6 +1017,16 @@
\ifthenelse{\equal{#4}{}}{}{,#4}
\ifthenelse{\equal{#5}{}}{}{,#5}
}
+\ifthenelse{\equal{#5}{}}{
+\ifthenelse{\equal{#4}{}}{
+\ifthenelse{\equal{#3}{}}{
+\def\@pdfckeywords{#1, #2, 关键字应3-5个}
+}{\def\@pdfckeywords{#1, #2, #3}}
+}{\def\@pdfckeywords{#1, #2, #3, #4}}
+}{\def\@pdfckeywords{#1, #2, #3, #4, #5}}
+\hypersetup{%
+pdfkeywords={\@pdfckeywords}%在pdf元信息中加入关键字
+}
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
@@ -1105,8 +1130,8 @@
% 根据是否为研究生学位,选择是否载入multibib宏包。
% \begin{macrocode}
\RequirePackage[numbers,sort&compress]{natbib}
-\RequirePackage{hypernat}
-%参考文献宏包。调用natbib和hypernat这两个宏包和选择的选项是GBT7714-2005NLang.bst的说明中指定的。
+%参考文献宏包。调用natbib,选项是GBT7714-2005NLang.bst的说明中指定的。
+%hypernat宏包已经不用了。
\newcommand{\citeup}[1]{\textsuperscript{\cite{#1}}}
%自定义命令:插入右上角角标形式的参考文献引用。
@@ -1116,7 +1141,7 @@
\ifblank{\multibibflag@uestcthesis}{}{
\RequirePackage[resetlabels]{multibib}
\newcites{publications}{NULL}
-\bibliographystylepublications{GBT7714-2005NLang-UESTC}
+\bibliographystylepublications{uestcthesis}
\nocitepublications{*}
% \end{macrocode}
%重定义|\bibliographypublications|,去掉|\bibliographypublications|命令中原有的
@@ -1132,6 +1157,7 @@
% 设置pdf文件中的超链接和书签
% \begin{macrocode}
\RequirePackage{cmap}%pdflatex编译时,可以生成可复制、粘贴的中文PDF文档
+\RequirePackage{hyperxmp}%在pdf中加入XMP高级元信息
\RequirePackage[pdftex,unicode,
bookmarksnumbered=true,
bookmarksopen=true,
@@ -1141,8 +1167,20 @@
linkcolor=red,
anchorcolor=green,
urlcolor=blue,
- breaklinks=true
- ]{hyperref}
+ breaklinks=true,
+ pdfdisplaydoctitle=true
+ ]{hyperref}
+\input{contents/titlepage.tex}%pdf元信息中需要封面的部分内容,所以在此处导入封面信息
+\hypersetup{%
+pdftitle={\@title},
+pdfauthor={\@author},
+pdfcopyright={Copyright (C) \@year, \@author},
+pdfsubject={\thesisname@degree},
+pdflicenseurl={http://121.49.98.197/tasi/doc/fj_dcx.doc},
+pdfcreator={PDFLaTeX with uestcthesis class},
+pdflang={zh-CN},
+pdfpagelayout={TwoPageRight}
+}
% \end{macrocode}
% \subsection{其他设置}
% 根据hyperref的文档:应该先调用hyperref,后调用subfigure,以解决兼容性问题。
@@ -1155,6 +1193,10 @@
\RequirePackage{enumerate}
% \end{macrocode}
%
+%排版源代码所需宏包
+% \begin{macrocode}
+\RequirePackage{color,marvosym}
+% \end{macrocode}
% \subsection{主要符号表设置}
%设置术语表宏包供主要符号表使用
% \begin{macrocode}
@@ -1186,7 +1228,6 @@
\AtBeginDocument{%插入到论文内容的最前面。
\begin{CJK}{UTF8}{rm}%中文支持环境,此处内容不受ctexbook文类影响,所以必须手动加这个环境。
-\input{contents/titlepage.tex}%导入封面信息
\maketitle%生成并插入封面
\Cabstractmatter%设置中文摘要版式
\include{contents/Cabstract}%插入中文摘要
@@ -1215,8 +1256,8 @@
\addcontentsline{toc}{chapter}{致\enspace 谢}%将致谢编入目录
\input{contents/acknowledgements.tex}%插入致谢内容
\newpage
-\bibliographystyle{GBT7714-2005NLang-UESTC}
-%载入参考文献样式文件GBT7714-2005NLang-UESTC.bst。此参考文献样式只在GBT7714-2005NLang.bst的基础上改变了参考文献条目的行距,以符合电子科技大学的要求。修改处位于GBT7714-2005NLang-UESTC.bst文件的3542行。另外将英文作者名由全大写改为首字母大写。
+\bibliographystyle{uestcthesis}
+%载入参考文献样式文件uestcthesis.bst。此参考文献样式只在GBT7714-2005NLang.bst的基础上改变了参考文献条目的行距,以符合电子科技大学的要求。修改处位于uestcthesis.bst文件的3542行。另外将英文作者名由全大写改为首字母大写。
\phantomsection%手动添加目录项之前需要这个命令,用以更新目录超链接的跳转页码。
\addcontentsline{toc}{chapter}{参考文献}%将参考文献编入目录
\nocite{*}%若将此命令屏蔽掉,则未引用的文献不会出现在文后的参考文献列表中。
@@ -1244,5 +1285,3223 @@
}}{}}
\clearpage\end{CJK}}
% \end{macrocode}
-% \StopEventually{\PrintChanges\PrintIndex}
+% \iffalse
+%</class>
+% \fi
+% \iffalse
+%<*bst>
+% \fi
+% \section{参考文献样式源代码}
+% \changes{v0.3}{2013/2/12}{修复了参考文献模板bst文件中原有的问题,
+% 不再需要其他工具替换bbl中的错误。即参考文献中的“|\\.|”修正为“|\\|”。}
+% \begin{macrocode}
+ %本文件基于吴凯制作的GBT7714-2005NLang.bst(1 Beta 2 测试版2012年9月20日)修改而成。
+ %根据GBT7714-2005NLang.bst中copyright的要求,将文件名修改成uestcthesis.bst。
+ %对吴凯的杰出工作表示感谢!
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ TypeofLit %新加入:文献类型和标志代码
+ normalauthor %不改变大小写的作者
+ normaleditor %不改变大小写的编者
+ translator %新加入:翻译者
+ date %日期,公告日期,公开日期
+ modifydate %修改日期
+ citedate %引用日期
+ patentid %专利号
+ country %国家(主要用于专利中)
+ miscyear %其它类中用于输出年份
+ startyear %起始年
+ startvolume %起始卷
+ startnumber %起始期
+ endyear %终止年
+ endvolume %终止卷
+ endnumber %终止期
+ language %默认是英文文献,非空则表明是中文文献
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block
+ "\url{" url * "}" * }
+ if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+
+FUNCTION {coutput.nonnull} %wk
+{ 's :=
+ output.state mid.sentence =
+ { "," * write$ } %
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {coutput} %wk
+{ duplicate$ empty$
+ 'pop$
+ 'coutput.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {coutput.check} %wk
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'coutput.nonnull
+ if$
+}
+
+FUNCTION {output.year.month.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ month empty$
+ { " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ { " " year * extra.label * " (" * month * ")." *
+ after.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.cyear.month.check} %wk
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ {write$
+ month empty$
+ {year %wk
+ after.sentence 'output.state :=
+ }
+ { "" year * extra.label * "(" * month * ")" * %wk
+ after.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {output.modifydate.check}
+{modifydate
+}
+
+FUNCTION {output.citedate.check}
+{ year empty$
+ { "" }
+ { write$
+ "[" citedate * extra.label * "]" *
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ {miscyear empty$
+ {year}
+ {miscyear}
+ if$ %wk
+ }
+ if$
+ extra.label *
+}
+
+FUNCTION {output.cyear.check} %wk
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ {miscyear empty$
+ {year}
+ {miscyear}
+ if$ %wk
+ }
+ if$
+ extra.label *
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {output.continue.year.check} %wk
+{
+endyear empty$
+ {startyear empty$
+ {year empty$
+ { "empty year in " cite$ * warning$ }
+ {"" year * "" * }
+ if$
+ }
+ {"" startyear * "-" * }
+ if$
+ }
+{startyear empty$
+ {year empty$
+ { "empty year in " cite$ * warning$ }
+ {"" year * "" * }
+ if$
+ }
+ {"" startyear * "-" *
+ "" endyear * "" * *
+ }
+ if$
+}
+if$
+}
+
+
+FUNCTION {output.continue.cyear.check} %wk
+{
+endyear empty$
+ {startyear empty$
+ {year empty$
+ { "empty year in " cite$ * warning$ }
+ {"" year * "" * }
+ if$
+ }
+ {"" startyear * "-" * }
+ if$
+ }
+{startyear empty$
+ {year empty$
+ { "empty year in " cite$ * warning$ }
+ {"" year * "" * }
+ if$
+ }
+ {"" startyear * "-" *
+ "" endyear * "" * *
+ }
+ if$
+}
+if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {output.article.year.check}
+{month empty$
+{
+year empty$
+ { "empty year in " cite$ * warning$ }
+ {year %wk
+ }
+ if$
+}
+{
+TypeofLit empty$
+ {year empty$
+ { "empty year in " cite$ * warning$ }
+ {year %wk
+ }
+ if$}
+
+{year empty$
+ { "empty year in " cite$ * warning$ }
+ {year %wk
+ "-" month * "" * *
+ }
+ if$
+}
+if$
+}
+if$
+}
+
+FUNCTION {output.carticle.year.check} %wk
+{month empty$
+{
+year empty$
+ { "empty year in " cite$ * warning$ }
+ {year %wk
+ }
+ if$
+}
+{
+TypeofLit empty$
+ {year empty$
+ { "empty year in " cite$ * warning$ }
+ {year %wk
+ }
+ if$}
+
+{year empty$
+ { "empty year in " cite$ * warning$ }
+ {year %wk
+ "-" month * "" * *
+ }
+ if$
+}
+if$
+}
+if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+%FUNCTION {emphasize}
+%{ duplicate$ empty$
+% { pop$ "" }
+% { "{\em " swap$ * "}" * }
+% if$
+%}
+
+
+%%%%%%%%%%%%%%%%%%%
+Function{upcase}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "u" change.case$ }
+ if$
+}
+%FUNCTION {bib.name.font}
+%{ upcase }
+%FUNCTION {bib.fname.font}
+%{ bib.name.font }
+%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{ f{~}}{, jj}"
+ format.name$
+ remove.dots
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #3
+ #1 + =
+ numnames #3
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {%bib.name.font %改为大写
+ ", et al" *
+ }
+ {", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+%%%%%%%%%%%
+% t "others" = %改为大写
+% 'skip$ %改为大写
+% { bib.name.font } %改为大写
+% if$ %改为大写
+%%%%%%%%%%%
+}
+
+
+FUNCTION {format.cnames} %wk
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{ f{~}}{ jj}" format.name$
+ remove.dots
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #3
+ #1 + =
+ numnames #3
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ { ",等" *
+ % bib.name.font %改为大写
+ }
+ {", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+%%%%%%%%%%%
+% t "others" = %改为大写
+% 'skip$ %改为大写
+% { bib.name.font } %改为大写
+% if$ %改为大写
+%%%%%%%%%%%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%不加大写的名字
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {format.normal.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{ f{~}}{, jj}"
+ format.name$
+ remove.dots
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #3
+ #1 + =
+ numnames #3
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ { ", et al" * }
+ {", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.normal.cnames} %wk
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{ f{~}}{ jj}" format.name$
+ remove.dots
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #3
+ #1 + =
+ numnames #3
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ { ",等" * }
+ {", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {normalauthor empty$
+ {author format.names }
+ {normalauthor format.normal.names}
+ if$
+}
+ if$
+}
+
+FUNCTION {format.cauthors} %wk
+{ author empty$
+ { "" }
+ {normalauthor empty$
+ {author format.cnames }
+ {normalauthor format.normal.cnames}
+ if$
+}
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {normaleditor empty$
+ {editor format.names }
+ {normaleditor format.normal.names}
+ if$
+ editor num.names$ #1 > % Use ODWE abbrevs.
+ { "" * } % to avoid
+ { "" * } % ambiguity between
+ if$ % "editor" and
+ } % "edition".
+ if$
+}
+
+FUNCTION {format.ceditors} %wk 本函数
+{ editor empty$
+ { "" }
+ {
+ normaleditor empty$
+ {editor * "" * format.cnames }
+ {normaleditor * "" * format.normal.cnames}
+ if$
+ }
+ if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.title} % Nothing needs
+{ title empty$ % doing here in
+ { "" } % authordate1.bst
+ { title } % or
+ if$ % authordate3.bst.
+}
+
+FUNCTION {format.ctitle} %wk % Nothing needs
+{ title empty$ % doing here in
+ { "" } % authordate1.bst
+ {title} % or
+ if$ % authordate3.bst.
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+FUNCTION {format.article.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[J]" * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]" * * }
+if$
+ % authordate3.bst.
+}
+
+
+FUNCTION {format.carticle.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[J]" * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]" * * }
+if$
+ % authordate3.bst.
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.book.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[M]" * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]" * * }
+if$
+ % authordate3.bst.
+}
+
+
+FUNCTION {format.cbook.title} %wk % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[M]" * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]" * * }
+if$
+ % authordate3.bst.
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.misc.title} %wk % Nothing needs
+{
+patentid empty$
+ {%没有专利号应该是其它类型文献,直接标准输出
+title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[缺文献类型标志代码]." * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]." * * }
+if$
+ }
+ {%有专利号
+ country empty$
+ {
+title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[缺文献类型标志代码]." * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]." * * }
+if$
+"" patentid * "" * *
+ }
+ {%有专利号,有国家
+title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[缺文献类型标志代码]." * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+
+ ":" country * "," * *
+ "" patentid * "" * *
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]." * * }
+if$
+
+ }
+ if$
+}
+if$
+
+}
+
+
+FUNCTION {format.cmisc.title} %wk % Nothing needs
+{
+patentid empty$
+ {%没有专利号应该是其它类型文献,直接标准输出
+title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[缺文献类型标志代码]." * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]." * * }
+if$
+ }
+ {%有专利号
+ country empty$
+ {
+title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[缺文献类型标志代码]." * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]." * * }
+if$
+"" patentid * "" * *
+ }
+ {%有专利号,有国家
+title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[缺文献类型标志代码]." * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+
+ ":" country * "," * *
+ "" patentid * "" * *
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]." * * }
+if$
+
+ }
+ if$
+}
+if$
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {format.proceedings.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[C]" * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]" * * }
+if$
+ % authordate3.bst.
+}
+
+
+FUNCTION {format.cproceedings.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[C]" * title output.check}
+ {format.title title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]" * * }
+if$
+ % authordate3.bst.
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.incollection.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[M]//" * title output.check}
+ {format.title "" * title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]//" * * }
+if$
+ % authordate3.bst.
+}
+
+
+FUNCTION {format.cincollection.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[M]//" * title output.check}
+ {format.title "" * title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]//" * * }
+if$
+ % authordate3.bst.
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.inproceedings.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[C]//" * title output.check}
+ {format.title "" * title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]//" * * }
+if$
+ % authordate3.bst.
+}
+
+
+FUNCTION {format.cinproceedings.title} % Nothing needs
+{title empty$ % doing here in
+ { "" } % authordate1.bst
+ {
+ typeoflit empty$
+ {format.title "[C]//" * title output.check}
+ {format.title "" * title output.check}
+ if$
+ }
+if$
+
+TypeofLit empty$
+ {""}
+ { "[" TypeofLit * "]//" * * }
+if$
+ % authordate3.bst.
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {n.dashify}
+{ '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 :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { "" } % Don't change case
+ {booktitle} % in
+ if$ % authordate1.bst
+} % or
+
+FUNCTION {format.cbtitle} %wk % Nothing needs
+{ title empty$ % doing here in
+ { "" } % authordate1.bst
+ {booktitle} % or
+ if$ % authordate3.bst.
+}
+ % authordate3.bst.
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.numberinseries}
+{ number empty$
+ { "" }
+ { number multi.page.check
+ { ", nos. " number n.dashify tie.or.space.connect }
+ { ", no. " number tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.cnumberinseries} %wk
+{ number empty$
+ { "" }
+ { number multi.page.check
+ { ", 第" number n.dashify tie.or.space.connect * "期"} %wk
+ { ", 第" number tie.or.space.connect * "期"} %wk
+ if$
+ }
+ if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {booklike.series.volume.number} % Chicago, pages
+{ series empty$ % 450-451.
+ { volume empty$
+ { " " }
+ { " Vol. " volume * }
+ if$
+ }
+ {
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {cbooklike.series.volume.number.pages} %wk加入页码 ??? % Chicago, pages %wk
+{ series empty$ % 450-451.
+ { volume empty$
+ { pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$}
+ { "卷" volume * }
+ if$
+ }
+ {
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ",第" volume * "卷" * * }
+ { series "卷" * volume * format.cnumberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {incollectionlike.series.volume.number.pages} %wk
+{ series empty$
+ { volume empty$
+ { pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$}
+ { "," volume * "" * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$}
+ if$
+ }
+ { new.block
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {cincollectionlike.series.volume.number.pages} %wk
+{ series empty$
+ { volume empty$
+ { pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$}
+ { ",第" volume * "卷" * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$}
+ if$
+ }
+ { new.block
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.TypeofLit} %wk 完全改写
+{ TypeofLit empty$
+ { "" }
+ {"[" TypeofLit * "]" *}
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ {
+ translator empty$
+ { "" }
+ {"" translator * ",translation" * }
+ if$
+ }
+ {
+ translator empty$
+ {edition}
+ {translator output
+ ",translation." edition * "" * *}
+ if$
+ }
+if$
+}
+
+
+FUNCTION {format.cedition} %wk 完全改写
+{ edition empty$
+ {
+ translator empty$
+ { "" }
+ {"" translator format.cnames * ",译" *}
+ if$
+ }
+ {
+ translator empty$
+ {edition}
+ {translator format.cnames output
+ ",译." edition * "" * *}
+ if$
+ }
+if$
+}
+
+
+
+
+FUNCTION {format.ctranslator} %wk 完全改写
+{ translator empty$
+ { "" }
+ {format.cnames ",译" * "translator" output.check}
+ if$
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { ":" pages n.dashify tie.or.space.connect * }
+ { ":" pages tie.or.space.connect * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pagesinbook} % By the time the
+{ pages empty$ % reader has read
+ { "" } % address, pub'r,
+ { pages multi.page.check % note (where the
+ { ":" pages n.dashify tie.or.space.connect } % note may end with
+ { ":" pages tie.or.space.connect } % numbers), s/he
+ if$ % may not recognise
+ } % a number-range as
+ if$ % meaning pages.
+} % Avoid ambiguity
+ % (Butcher, p.181).
+
+FUNCTION {format.cpagesinbook} % By the time the %wk
+{ pages empty$ % reader has read
+ { "" } % address, pub'r,
+ { pages multi.page.check % note (where the
+ { ":" * pages n.dashify tie.or.space.connect * "" } % note may end with
+ { ":" * "Page " pages tie.or.space.connect * ""} % numbers), s/he
+ if$ % may not recognise
+ } % a number-range as
+ if$ % meaning pages.
+} % Avoid ambiguity
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.vol.num.date.pages} %wk
+{volume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {volume %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ number empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" number * ")" * * %wk 被重新改过
+ volume empty$ %wk 被重新改过
+ { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.cvol.num.date.pages} %wk
+{volume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {volume %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ number empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" number * ")" * * %wk 被重新改过
+ volume empty$ %wk 被重新改过
+ { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.article.vol.num.date.pages} %wk
+{
+volume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {volume %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+number empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" number * ")" * * %wk 被重新改过
+ volume empty$ %wk 被重新改过
+ { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$
+}
+
+
+
+FUNCTION {format.carticle.vol.num.date.pages} %wk
+{
+volume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {volume %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+number empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" number * ")" * * %wk 被重新改过
+ volume empty$ %wk 被重新改过
+ { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.book.continue.vol.num} %wk
+{
+startyear empty$
+ 'skip$
+ {"." startyear * "" * *
+ startvolume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {"," startvolume * "" * *} %wk 被重新改过
+ if$
+ %wk 被重新改过
+ startnumber empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" startnumber * ")-" * * } %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+if$
+ %wk 被重新改过
+endyear empty$
+ 'skip$
+ {"" endyear * "" * *
+ endvolume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {"," endvolume * "" * *} %wk 被重新改过
+ if$
+ %wk 被重新改过
+ endnumber empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" endnumber * ")" * * } %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+if$
+}
+
+
+
+
+FUNCTION {format.cbook.continue.vol.num} %wk
+{
+startyear empty$
+ 'skip$
+ {"." startyear * "" * *
+ startvolume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {"," startvolume * "" * *} %wk 被重新改过
+ if$
+ %wk 被重新改过
+ startnumber empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" startnumber * ")-" * * } %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+if$
+ %wk 被重新改过
+endyear empty$
+ 'skip$
+ {"" endyear * "" * *
+ endvolume empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {"," endvolume * "" * *} %wk 被重新改过
+ if$
+ %wk 被重新改过
+ endnumber empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" endnumber * ")" * * } %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.date.modifydate.citedate} %wk
+{
+date empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ {date %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+
+modifydate empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "(" modifydate * ")" * * %wk 被重新改过
+ date empty$ %wk 被重新改过
+ { "" cite$ * warning$ } %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+ if$
+
+citedate empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { "[" citedate * "]" * * %wk 被重新改过
+ date empty$ %wk 被重新改过
+ { "" cite$ * warning$ } %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ if$ %wk 被重新改过
+ } %wk 被重新改过
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.chapter.pages.inbook}
+{ chapter empty$
+ 'format.pagesinbook
+ { type empty$
+ { "Chap." }
+ { type }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pagesinbook "l" change.case$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.cchapter.pages.inbook}
+{chapter empty$ %wk 被重新改过
+ 'skip$ %wk 被重新改过
+ { ",第" chapter * "章" * * %wk 被重新改过
+ } %wk 被重新改过
+ if$ %wk 被重新改过
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * "" *} %wk 改为第页
+ if$
+ }
+ if$
+}
+
+
+
+FUNCTION {format.chapter.pages.incoll}
+{ chapter empty$
+ { pages empty$
+ { "In " }
+ { "{\em " format.pagesinbook " of:} " * * }
+ if$
+ }
+ { type empty$
+ { "{\em Chap. " chapter * }
+ { "{\em " type * " " * chapter * }
+ if$
+ pages empty$
+ { " of:} " * }
+ { ", " * format.pagesinbook "l" change.case$ " of:} " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.cchapter.pages.incoll} %wk
+{ chapter empty$
+ { pages empty$
+ { "" }
+ { "第" format.pagesinbook "章" * * }
+ if$
+ }
+ { type empty$
+ { "第" chapter * "章" * * }
+ { "" type * "" * chapter * }
+ if$
+ pages empty$
+ { "" * }
+ { ":" * format.pagesinbook "l" change.case$ "" * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle} % Achieves effect %wk
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { editor empty$ % expense of not
+ {"" * booktitle * "" *
+ new.block
+ }
+ {new.block
+ normalauthor empty$ %用于正常显示
+ {
+ normaleditor empty$ %用于正常显示
+ { format.editors "author and editor" output.check} %用于正常显示,
+ { format.editors "author and normaleditor" output.check} %用于正常显示
+ if$ %用于正常显示
+ } %用于正常显示
+ {
+ normaleditor empty$ %用于正常显示
+ {format.editors "normalauthor and editor" output.check} %用于正常显示
+ {format.editors "normalauthor and normaleditor" output.check} %用于正常显示
+ if$ %用于正常显示
+
+ } %用于正常显示
+ if$ %用于正常显示
+ editor format.key output
+ new.block
+ format.btitle "booktitle" output.check
+ }
+ if$ % 4.4 of BS 1629.
+ }
+ if$ % Don't change
+} % case.
+
+
+FUNCTION {format.in.ced.booktitle} % Achieves effect %wk
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { editor empty$ % expense of not
+ {"" * booktitle * "" *
+ new.block
+ }
+ {new.block
+ normalauthor empty$ %用于正常显示
+ {
+ normaleditor empty$ %用于正常显示
+ {format.ceditors "author and editor" output.check} %用于正常显示,
+ {format.ceditors "author and normaleditor" output.check} %用于正常显示
+ if$ %用于正常显示
+ } %用于正常显示
+ {
+ normaleditor empty$ %用于正常显示
+ {format.ceditors "normalauthor and editor" output.check} %用于正常显示
+ {format.ceditors "normalauthor and normaleditor" output.check} %用于正常显示
+ if$ %用于正常显示
+
+ } %用于正常显示
+ if$ %用于正常显示
+ editor format.key output
+ new.block
+ format.cbtitle "booktitle" output.check
+ }
+ if$ % 4.4 of BS 1629.
+ }
+ if$ % Don't change
+} % case.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
+FUNCTION {format.in.proceedings.booktitle} % Achieves effect %wk
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ {format.btitle "booktitle" output.check }
+ if$ % Don't change
+} % case.
+
+
+FUNCTION {format.in.cproceedings.booktitle} % Achieves effect %wk
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { format.cbtitle "booktitle" output.check }
+ if$ % 4.4 of BS 1629.
+ % Don't change
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type % Don't change
+ } % case.
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. rept." } % ODWE abbrevs.
+ 'type
+ if$
+ number empty$
+ { } % Whatever was
+ { number tie.or.space.connect } % having its case
+ if$ % changed, leave
+} % it alone.
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ {address empty$
+ { ".[S.l.]: [s.n.] " *}
+ { address ": [s.n.] " * }
+ if$
+ }
+ { address empty$
+ { ".[S.l.]: " * }
+ { address ": " * }
+ if$
+ publisher *
+ }
+
+ if$
+}
+
+FUNCTION {format.caddr.pub}
+{publisher empty$
+ {address empty$
+ { ".[出版地不详]:[出版者不详]" *}
+ { address ":[出版者不详]" * }
+ if$
+ }
+ { address empty$
+ { ".[出版地不详]:" * }
+ { address ": " * }
+ if$
+ publisher *
+ }
+
+ if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.addr.institution}
+{ institution empty$
+ {address empty$
+ { ".[S.l.]: [s.n.] " *}
+ { address ": [s.n.] " * }
+ if$
+ }
+ { address empty$
+ { ".[S.l.]: " * }
+ { address ": " * }
+ if$
+ institution *
+ }
+
+ if$
+}
+
+FUNCTION {format.caddr.institution}
+{institution empty$
+ {address empty$
+ { ".[地址不详]:[机构不详]" *}
+ { address ":[机构不详]" * }
+ if$
+ }
+ { address empty$
+ { ".[地址不详]:" * }
+ { address ": " * }
+ if$
+ institution *
+ }
+
+ if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.school.pub}
+{ school empty$
+ {address empty$
+ { "[S.l.]: [s.n.] " }
+ { address ": [s.n.] " * }
+ if$
+ }
+ { address empty$
+ { ".[S.l.]: " * }
+ { address ": " * }
+ if$
+ school *
+ }
+
+ if$
+}
+
+FUNCTION {format.cschool.pub}
+{school empty$
+ {address empty$
+ { "[地址不详]:[学校不详]" }
+ { address ":[学校不详]" * }
+ if$
+ }
+ { address empty$
+ { ".[学校不详]:" * }
+ { address ": " * }
+ if$
+ school *
+ }
+
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.inproceedings.addr.pub}
+{
+TypeofLit empty$
+ {publisher empty$
+ {address empty$
+ { ".[S.l.]: [s.n.] " }
+ { address ": [s.n.] " * }
+ if$
+ }
+ { address empty$
+ { ".[S.l.]: " * }
+ { address ": " * }
+ if$
+ publisher *
+ }
+
+ if$}
+ { "" }
+if$
+}
+
+FUNCTION {format.cinproceedings.addr.pub}
+{
+TypeofLit empty$
+ {publisher empty$
+ {address empty$
+ { ".[出版地不详]:[出版者不详]" }
+ { address ":[出版者不详]" * }
+ if$
+ }
+ { address empty$
+ { ".[出版地不详]:" * }
+ { address ": " * }
+ if$
+ publisher *
+ }
+
+ if$}
+ { ""}
+if$
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {format.misc.addr.pub}
+{ publisher empty$
+ {address empty$
+ { "" }
+ { address ": [s.n.] " * }
+ if$
+ }
+ { address empty$
+ { "[S.l.]: " * }
+ { address ": " * }
+ if$
+ publisher *
+ }
+
+ if$
+}
+
+FUNCTION {format.cmisc.addr.pub}
+{publisher empty$
+ {address empty$
+ { "" }
+ { address ":[出版者不详]" * }
+ if$
+ }
+ { address empty$
+ { "[出版地不详]:" * }
+ { address ": " * }
+ if$
+ publisher *
+ }
+
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+FUNCTION {format.addr.pub.org} % If there's an
+{ address empty$ % an organization
+ { "[S.l.]:" *publisher * ", for " * organization * } % and a publisher
+ { address ": " * publisher * ", for " * organization * } % too.
+ if$
+}
+
+FUNCTION {format.addr.inst}
+{ address empty$
+ { institution empty$
+ { "[S.l.]" }
+ { "[S.l.]" * institution * *}
+ if$
+ }
+ { institution empty$
+ { "" }
+ { institution ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.addr.org}
+{ address empty$
+ { organization empty$
+ { "" }
+ { organization }
+ if$
+ }
+ { organization empty$
+ { "" }
+ { organization ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In "
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { " Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In "
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{language empty$
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.article.title output
+ new.block
+ crossref missing$
+ { journal % Don't change
+ "journal" output.check % case.
+ output.article.year.check output
+ format.article.vol.num.date.pages output
+ format.date.modifydate.citedate output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+
+ fin.entry
+}
+
+%FUNCTION {carticle} %wk 本函数
+{ output.bibitem
+ format.cauthors "author" output.check
+ author format.key output
+ new.block
+ format.carticle.title output
+ new.block
+ crossref missing$
+ {journal % Don't change %wk
+ "journal" output.check % case.
+ output.carticle.year.check output %wk
+ format.carticle.vol.num.date.pages output %wk
+ format.date.modifydate.citedate output
+ new.block
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+FUNCTION {book}
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.book.title output
+ new.block
+ crossref missing$
+ { format.edition output
+ new.block
+ format.book.continue.vol.num ouput
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ output.continue.year.check ouput
+ format.date.modifydate.citedate output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cbook} %wk
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.cbook.title output %wk
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+ format.cbook.continue.vol.num ouput
+ new.block
+ format.caddr.pub "publisher" output.check
+ output.continue.cyear.check ouput %wk
+ cbooklike.series.volume.number.pages output
+ format.date.modifydate.citedate output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%未处理
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {booklet}
+{language empty$
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ output.year.check
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cbooklet} %wk
+{ output.bibitem
+ format.cauthors output %wk
+ author format.key output
+ format.btitle "title" output.check %wk
+ new.block
+ howpublished output
+ address output
+ output.cyear.month.check %wk
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {inbook}
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.book.title output
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ output.year.check output
+ format.date.modifydate.citedate output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cinbook} %wk
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.cbook.title output %wk
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+ format.caddr.pub "publisher" output.check
+ output.cyear.check %wk
+ cbooklike.series.volume.number.pages output
+ format.date.modifydate.citedate output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {incollection} %wk
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "editor" output.check %wk format.editors->format.ceditors
+ editor format.key output }
+ { format.authors "author" output.check %wk
+ author format.key output }
+ if$
+ new.block
+ format.incollection.title output
+ crossref missing$ % Chapter and/or
+ {
+ before.all 'output.state :=
+ format.in.ed.booktitle output % page numbers can
+ format.edition output % come out via this %wk edition->cedition
+ new.block
+ format.addr.pub "publisher" output.check
+ output.year.check
+ incollectionlike.series.volume.number.pages output % route, too.
+ format.date.modifydate.citedate output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cincollection} %wk
+{ output.bibitem
+ author empty$
+ { format.ceditors "editor" output.check %wk format.editors->format.ceditors
+ editor format.key output }
+ { format.cauthors "author" output.check %wk
+ author format.key output }
+ if$
+ new.block
+ format.cincollection.title output
+ crossref missing$ % Chapter and/or
+ { format.in.ced.booktitle output % page numbers can
+ format.cedition output % come out via this %wk edition->cedition
+ new.block
+ format.caddr.pub "publisher" output.check
+ output.cyear.check output
+ cincollectionlike.series.volume.number.pages output % route, too.
+ format.date.modifydate.citedate output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%图书book和
+%会议录inproceedings(会议conference与inproceedings一样),
+%文献类型代码[C]
+%硕士学位论文mastersthesis,
+%文献类型代码[D]
+%博士学位论文phdthesis,
+%文献类型代码[D]
+%技术报告techreport的类型是一样的,
+%文献类型代码[R]
+%
+%因此我们直接拷贝book的相关内容即可。
+%原始部分可以参考authordate1.bst。
+%
+%利用misc作为电子文献[EB/OL]所使用的类型
+%存在的问题:无法正常调用url,只能利用note来生成。
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {inproceedings} %wk 改自incollection类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "editor" output.check %wk format.editors->format.ceditors
+ editor format.key output }
+ { format.authors "author" output.check %wk
+ author format.key output }
+ if$
+ new.block
+ format.inproceedings.title output
+ crossref missing$ % Chapter and/or
+ {
+ before.all 'output.state :=
+ format.in.ed.booktitle output % page numbers can
+ format.edition output % come out via this %wk edition->cedition
+ new.block
+ format.inproceedings.addr.pub "publisher" output.check
+ output.year.check
+ incollectionlike.series.volume.number.pages output % route, too.
+ format.date.modifydate.citedate output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cinproceedings} %wk 改自incollection类型
+{ output.bibitem
+ author empty$
+ { format.ceditors "editor" output.check %wk format.editors->format.ceditors
+ editor format.key output }
+ { format.cauthors "author" output.check %wk
+ author format.key output }
+ if$
+ new.block
+ format.cinproceedings.title output
+ crossref missing$ % Chapter and/or
+ { format.in.ced.booktitle output % page numbers can
+ format.cedition output % come out via this %wk edition->cedition
+ new.block
+ format.cinproceedings.addr.pub "publisher" output.check
+ output.cyear.check
+ cincollectionlike.series.volume.number.pages output % route, too.
+ format.date.modifydate.citedate output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {conference} { inproceedings }
+%FUNCTION {cconference} { cinproceedings }
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {TECHREPORT} %wk 改自book类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.title "[R]" * "title" output.check
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+ format.addr.institution "publisher" output.check
+ output.year.check output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cTECHREPORT} %wk 改自book类型
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.ctitle "[R]" * "title" output.check %wk
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+ format.caddr.institution "publisher" output.check
+ output.cyear.check %wk
+ cbooklike.series.volume.number.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {mastersthesis} %wk 改自book类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.title "[D]" * "title" output.check
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+% format.addr.pub "publisher" output.check
+ format.school.pub "publisher" output.check
+ output.year.check output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cmastersthesis} %wk 改自book类型
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.ctitle "[D]" * "title" output.check %wk
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+% format.caddr.pub "publisher" output.check
+ format.cschool.pub "publisher" output.check
+ output.cyear.check %wk
+ cbooklike.series.volume.number.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {phdthesis} %wk 改自book类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.title "[D]" * "title" output.check
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+% format.addr.pub "publisher" output.check
+ format.school.pub "publisher" output.check
+ output.year.check output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cphdthesis} %wk 改自book类型
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.ctitle "[D]" * "title" output.check %wk
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+% format.caddr.pub "publisher" output.check
+ format.cschool.pub "publisher" output.check
+ output.cyear.check %wk
+ cbooklike.series.volume.number.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {proceedings} %改自book类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.conference.title output
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ output.year.check output
+ format.date.modifydate.citedate output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cproceedings} %改自book类型
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.cconference.title output %wk
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+ format.caddr.pub "publisher" output.check
+ output.cyear.check %wk
+ cbooklike.series.volume.number.pages output
+ format.date.modifydate.citedate output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {manual} %改自book类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "[H]" * "title" output.check
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ output.year.check output
+ format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cmanual} %wk
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.ctitle "[H]" * "title" output.check %wk
+ new.block
+ crossref missing$
+ { format.cedition output %wk edition->cedition
+ new.block
+ format.caddr.pub "publisher" output.check
+ output.cyear.check %wk
+ cbooklike.series.volume.number.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {misc} %作为非常规文献的格式,可靠性低,应该仔细检查,改自book类型
+{language empty$
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.misc.title output
+ new.block
+ crossref missing$
+ { format.edition output
+ booklike.series.volume.number output
+ new.block
+ format.misc.addr.pub "publisher" output.check
+% output.year.check output
+ format.date.modifydate.citedate output
+% format.pages output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+%FUNCTION {cmisc} %作为非常规文献的格式,可靠性低,应该仔细检查,改自book类型
+{ output.bibitem
+ author empty$
+ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors
+ editor format.key output
+ }
+ { format.cauthors output.nonnull
+ crossref missing$
+ {"author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.cmisc.title output %wk
+
+ new.block
+ crossref missing$
+ {
+ format.cedition output %wk edition->cedition
+ new.block
+ format.cmisc.addr.pub "publisher" output.check
+% output.cyear.check %wk
+% cbooklike.series.volume.number.pages output
+ format.date.modifydate.citedate output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {unpublished}
+{language empty$
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+%FUNCTION {cunpublished} %wk
+{ output.bibitem
+ format.cauthors "author" output.check %wk
+ author format.key output
+ output.cyear.month.check %wk
+ new.block
+ format.ctitle "title" output.check %wk
+ new.block
+ note "note" output.check
+ fin.entry
+}
+if$
+}
+
+FUNCTION {default.type} { book } %wk 因为主要是基于book类型,因此将缺省类型由misc改为book
+
+MACRO {jan} {"Jan."} % ODWE, "months", &
+ % Chicago, p. 383.
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+FUNCTION {format.lab.names} %wk
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * } %wk
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.lab.cnames} %wk
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ "~等" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { "和" * s #2 "{vv~}{ll}" format.name$ * } %wk
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+% {author format.lab.names }
+ {language empty$
+ {author format.lab.names}
+ {author format.lab.cnames}
+ if$}
+
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+% { editor format.lab.names }
+ {language empty$
+ {editor format.lab.names}
+ {editor format.lab.cnames}
+ if$}
+
+ if$
+ }
+% { author format.lab.names }
+ {language empty$
+ {author format.lab.names}
+ {author format.lab.cnames}
+ if$}
+
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+% { editor format.lab.names }
+ {language empty$
+ {editor format.lab.names}
+ {editor format.lab.cnames}
+ if$}
+
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ ""}
+ 'skip$
+ if$
+ * ")" *
+ 'label :=
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+ #-1 #10 substring$
+}
+
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ seq.num #1 + 'seq.num :=
+ seq.num int.to.fix
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num 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 :=
+}
+
+FUNCTION {forward.pass}
+{ last.label 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 :=
+ 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 :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ *
+ "}\setlength{\baselineskip}{20bp plus 2bp minus 1bp}\setlength{\itemsep}{0bp}\setlength{\parskip}{0pt}" *
+ %加入三个setlength以符合电子科技大学关于参考文献行距的要求。
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi: #1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+% \end{macrocode}
+% \iffalse
+%</bst>
+% \fi
+% \StopEventually{\PrintChanges}
+% \Finale
+%
\endinput
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.ins b/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.ins
index 176a768dee2..1fbf7fefbeb 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.ins
+++ b/Master/texmf-dist/doc/latex/uestcthesis/source/uestcthesis.ins
@@ -43,14 +43,14 @@ This is a generated file.
The Current Maintainer of this work is Shi Fujun <shifujun@foxmail.com>.
- This work consists of the files uestcthesis.dtx, uestcthesis.ins and
- GBT7714-2005NLang-UESTC.bst.
- and the derived file uestcthesis.cls.
+ This work consists of the files uestcthesis.dtx, uestcthesis.ins
+ and the derived file uestcthesis.cls and uestcthesis.bst.
Other files in this work's package are belongs to the respective owners.
\endpreamble
\generate{\file{uestcthesis.cls}{\from{uestcthesis.dtx}{class}}}
+\generate{\file{uestcthesis.bst}{\from{uestcthesis.dtx}{bst}}}
\obeyspaces
\Msg{*************************************************************}
@@ -58,7 +58,9 @@ This is a generated file.
\Msg{* To finish the installation you have to move the following *}
\Msg{* file into a directory searched by TeX: *}
\Msg{* *}
-\Msg{* uestcthesis.cls *}
+\Msg{* uestcthesis.cls uestcthesis.bst UESTC.png UESTC_LOGO.png *}
+\Msg{* UESTC.png and UESTC_LOGO.png should be moved into the same*}
+\Msg{* directory as the uestcthesis.cls. *}
\Msg{* *}
\Msg{* To produce the documentation run the file uestcthesis.dtx *}
\Msg{* through LaTeX. *}
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/UESTC.png b/Master/texmf-dist/tex/latex/uestcthesis/UESTC.png
index 6c944f8ce03..6c944f8ce03 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/UESTC.png
+++ b/Master/texmf-dist/tex/latex/uestcthesis/UESTC.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/uestcthesis/UESTC_LOGO.png b/Master/texmf-dist/tex/latex/uestcthesis/UESTC_LOGO.png
index 4ba81f11c37..4ba81f11c37 100644
--- a/Master/texmf-dist/doc/latex/uestcthesis/UESTC_LOGO.png
+++ b/Master/texmf-dist/tex/latex/uestcthesis/UESTC_LOGO.png
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/uestcthesis/uestcthesis.cls b/Master/texmf-dist/tex/latex/uestcthesis/uestcthesis.cls
index c23e6d1eb57..b2b8699ecd5 100644
--- a/Master/texmf-dist/tex/latex/uestcthesis/uestcthesis.cls
+++ b/Master/texmf-dist/tex/latex/uestcthesis/uestcthesis.cls
@@ -22,15 +22,14 @@
%%
%% The Current Maintainer of this work is Shi Fujun <shifujun@foxmail.com>.
%%
-%% This work consists of the files uestcthesis.dtx, uestcthesis.ins and
-%% GBT7714-2005NLang-UESTC.bst.
-%% and the derived file uestcthesis.cls.
+%% This work consists of the files uestcthesis.dtx, uestcthesis.ins
+%% and the derived file uestcthesis.cls and uestcthesis.bst.
%% Other files in this work's package are belongs to the respective owners.
%%
\NeedsTeXFormat{LaTeX2e}[2011/06/27]
\ProvidesClass{uestcthesis}
- [2013/01/22 v0.21 UESTC thesis class]
+ [2013/02/12 v0.3 UESTC thesis class]
\LoadClass[cs4size,UTF8,fancyhdr,hyperref,fntef,openany]{ctexbook}
\RequirePackage{etoolbox}
\RequirePackage{ifthen}
@@ -256,6 +255,7 @@
}
\renewcommand{\date}[3]{
\renewcommand{\@date}{#1年#2月#3日}
+\newcommand{\@year}{#1}%用于pdf元信息
}
\newcommand{\oraldefensedate}[3]{
\newcommand{\@oraldefensedate}{#1年#2月#3日}
@@ -554,6 +554,16 @@
\ifthenelse{\equal{#4}{}}{}{,#4}
\ifthenelse{\equal{#5}{}}{}{,#5}
}
+\ifthenelse{\equal{#5}{}}{
+\ifthenelse{\equal{#4}{}}{
+\ifthenelse{\equal{#3}{}}{
+\def\@pdfckeywords{#1, #2, 关键字应3-5个}
+}{\def\@pdfckeywords{#1, #2, #3}}
+}{\def\@pdfckeywords{#1, #2, #3, #4}}
+}{\def\@pdfckeywords{#1, #2, #3, #4, #5}}
+\hypersetup{%
+pdfkeywords={\@pdfckeywords}%在pdf元信息中加入关键字
+}
\chapter*{摘要}%插入不带章号的摘要
}
{\\[3mm]%摘要后换行空出3mm
@@ -597,19 +607,19 @@
\theoremstyle{nonumberplain}
\newtheorem{zhengming}{证明}
\RequirePackage[numbers,sort&compress]{natbib}
-\RequirePackage{hypernat}
\newcommand{\citeup}[1]{\textsuperscript{\cite{#1}}}
\ifblank{\multibibflag@uestcthesis}{}{
\RequirePackage[resetlabels]{multibib}
\newcites{publications}{NULL}
-\bibliographystylepublications{GBT7714-2005NLang-UESTC}
+\bibliographystylepublications{uestcthesis}
\nocitepublications{*}
\def\bibliographypublications#1{\let \temp@auxout \@auxout \let \addtocontents
\mb@addtocontents \let \@auxout \@auxoutpublications \let \jobname
\@auxoutpublicationsname \bibliography {#1}}
}
\RequirePackage{cmap}%pdflatex编译时,可以生成可复制、粘贴的中文PDF文档
+\RequirePackage{hyperxmp}%在pdf中加入XMP高级元信息
\RequirePackage[pdftex,unicode,
bookmarksnumbered=true,
bookmarksopen=true,
@@ -619,10 +629,23 @@
linkcolor=red,
anchorcolor=green,
urlcolor=blue,
- breaklinks=true
- ]{hyperref}
+ breaklinks=true,
+pdfdisplaydoctitle=true
+]{hyperref}
+\input{contents/titlepage.tex}%pdf元信息中需要封面的部分内容,所以在此处导入封面信息
+\hypersetup{%
+pdftitle={\@title},
+pdfauthor={\@author},
+pdfcopyright={Copyright (C) \@year, \@author},
+pdfsubject={\thesisname@degree},
+pdflicenseurl={http://121.49.98.197/tasi/doc/fj_dcx.doc},
+pdfcreator={PDFLaTeX with uestcthesis class},
+pdflang={zh-CN},
+pdfpagelayout={TwoPageRight}
+}
\RequirePackage[small]{subfigure}
\RequirePackage{enumerate}
+\RequirePackage{color,marvosym}
\RequirePackage[header,cols=3,hyper=true]{glossary}
\makeglossary
\renewcommand{\glossaryname}{主要符号表}
@@ -637,7 +660,6 @@
\AtBeginDocument{%插入到论文内容的最前面。
\begin{CJK}{UTF8}{rm}%中文支持环境,此处内容不受ctexbook文类影响,所以必须手动加这个环境。
-\input{contents/titlepage.tex}%导入封面信息
\maketitle%生成并插入封面
\Cabstractmatter%设置中文摘要版式
\include{contents/Cabstract}%插入中文摘要
@@ -665,7 +687,7 @@
\addcontentsline{toc}{chapter}{致\enspace 谢}%将致谢编入目录
\input{contents/acknowledgements.tex}%插入致谢内容
\newpage
-\bibliographystyle{GBT7714-2005NLang-UESTC}
+\bibliographystyle{uestcthesis}
\phantomsection%手动添加目录项之前需要这个命令,用以更新目录超链接的跳转页码。
\addcontentsline{toc}{chapter}{参考文献}%将参考文献编入目录
\nocite{*}%若将此命令屏蔽掉,则未引用的文献不会出现在文后的参考文献列表中。
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 5a100e6cf6f..a7fe2e0257f 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1489,6 +1489,7 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$';
'treetex', '(treetex|l_pic|classes)\.tex',
'truncate', '^..[^s].*\.sty', # not miscdoc.sty
'tugboat-plain','\.cmn|' . $standardtex,
+ 'uestcthesis', '\.png|' . $standardtex,
'ulthese', 'ulthese.cls|ul_p\.(eps|pdf)', # logo for the university
'underoverlap','underoverlap\.sty',
'underscore', '^..[^s].*\.sty', # not miscdoc.sty