diff options
author | Karl Berry <karl@freefriends.org> | 2013-02-13 23:21:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-02-13 23:21:32 +0000 |
commit | a19e8fc23c74d8bb5f11c0fb7c135ab7e108c36a (patch) | |
tree | b4536f5f508b757969faa484ea16bd7b9234cd35 | |
parent | 40c656a1741d7c4ff1434cae0232db497f49deb6 (diff) |
uestcthesis (13feb13)
git-svn-id: svn://tug.org/texlive/trunk@29101 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differnew file mode 100644 index 00000000000..33257ac6c35 --- /dev/null +++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight1.png diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.png b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.png Binary files differnew file mode 100644 index 00000000000..d97b05aed42 --- /dev/null +++ b/Master/texmf-dist/doc/latex/uestcthesis/doc/pics/highlight2.png diff --git a/Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdf b/Master/texmf-dist/doc/latex/uestcthesis/doc/uestcthesis-doc.pdf Binary files differindex 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 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 Binary files differindex 6c944f8ce03..6c944f8ce03 100644 --- a/Master/texmf-dist/doc/latex/uestcthesis/UESTC.png +++ b/Master/texmf-dist/tex/latex/uestcthesis/UESTC.png diff --git a/Master/texmf-dist/doc/latex/uestcthesis/UESTC_LOGO.png b/Master/texmf-dist/tex/latex/uestcthesis/UESTC_LOGO.png Binary files differindex 4ba81f11c37..4ba81f11c37 100644 --- a/Master/texmf-dist/doc/latex/uestcthesis/UESTC_LOGO.png +++ b/Master/texmf-dist/tex/latex/uestcthesis/UESTC_LOGO.png 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 |