Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
% Machine-generated: Do not edit this file by hand!
% Compiled from /a/src/bibtex/vanilla/master.bst
% on Monday 31 August 1987 2:21:55am EDT.
%% This file is a member of the "vanilla" family of BibTeX bibliography styles;
%% see the master file mentioned above for documentation.
%% Mark B. Reinhold (mbr@theory.lcs.mit.edu)/24 April 1987
%% Adapted from version 0.98c of the BibTeX `plain' family,
%% which is copyright (C) 1985 by Leslie Lamport/Oren Patashnik.
ENTRY
{
abstract
address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
volume
year
}
{}
{ label extra.label sort.label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ 'before.all #0 :=
'mid.sentence #1 :=
'after.sentence #2 :=
'after.block #3 :=
}
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's swap$ :=
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$
}
if$
'output.state mid.sentence :=
s
}
FUNCTION {output}
{ 's swap$ :=
s "" =
'skip$
{ s output.nonnull }
if$
}
FUNCTION {output.check}
{ 's swap$ :=
't swap$ :=
s "" =
{ "Warning: the " t * " shouldn't be empty in " * cite$ * top$ }
{ s output.nonnull }
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[" write$
label write$
"]{" write$
cite$ write$
"}" write$
newline$
""
'output.state before.all :=
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ 'output.state after.block := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ 'output.state after.sentence := }
if$
}
if$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {field.or.null}
{ duplicate$
missing$
{ pop$ "" }
'skip$
if$
}
FUNCTION {italicize}
{ 's swap$ :=
s "" =
{ "" }
{ "{\it " s * "}" * }
if$
}
INTEGERS { nameptr namesleft numnames }
STRINGS {nameresult}
FUNCTION {format.names}
{ 's swap$ :=
'nameptr #1 :=
'nameresult "" :=
'numnames s num.names$ :=
'namesleft numnames :=
{ namesleft #0 > }
{
't s nameptr "{ff }{vv~}{ll}{, jj}" format.name$ :=
nameptr #1 >
{ namesleft #1 >
{ 'nameresult nameresult ", " * t * := }
{ numnames #2 >
{ 'nameresult nameresult "," * := }
'skip$
if$
t "others" =
{ 'nameresult nameresult " et al." * := }
{ 'nameresult nameresult " and " * t * := }
if$
}
if$
}
{ 'nameresult nameresult t * := }
if$
'nameptr nameptr #1 + :=
'namesleft namesleft #1 - :=
}
while$
nameresult
}
FUNCTION {format.authors}
{ author missing$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor missing$
{ "" }
{ editor num.names$ #1 >
{ editor format.names ", editors" * }
{ editor format.names ", editor" * }
if$
}
if$
}
FUNCTION {format.title}
{ title field.or.null
}
FUNCTION {entry.string.max} { #100 }
FUNCTION {global.string.max} { #300 }
STRINGS {pageresult}
FUNCTION {n.dashify}
{ 't swap$ :=
'pageresult "" :=
{ t "" = not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ 'pageresult pageresult "--" * :=
't t #2 global.string.max substring$ :=
}
{ { t #1 #1 substring$ "-" = }
{ 'pageresult pageresult "-" * :=
't t #2 global.string.max substring$ :=
}
while$
}
if$
}
{ 'pageresult pageresult t #1 #1 substring$ * :=
't t #2 global.string.max substring$ :=
}
if$
}
while$
pageresult
}
FUNCTION {format.date}
{ year missing$
{ month missing$
{ "" }
{ "Warning: there's a month but no year in " cite$ * top$
month
}
if$
}
{ month missing$
{ year }
{ month " " * year * }
if$
}
if$
}
FUNCTION {format.btitle}
{ title field.or.null
italicize
}
FUNCTION {format.bvolume}
{ volume missing$
{ series missing$
{ "" }
{ series italicize }
if$
}
{ "Volume~" volume *
series missing$
'skip$
{ " of " * series italicize * }
if$
}
if$
}
FUNCTION {format.edition}
{ edition missing$
{ "" }
{ edition "ll" change.case$ " edition" * }
if$
}
INTEGERS {multiresult}
FUNCTION {multi.page.check}
{ 't swap$ :=
'multiresult #0 :=
{ multiresult not
t "" = not
and
}
{ t #1 #1 substring$ "-" =
t #1 #1 substring$ "," =
or
{ 'multiresult #1 := }
{ 't t #2 global.string.max substring$ := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages missing$
{ "" }
{ pages multi.page.check
{ "pages~" pages n.dashify * }
{ "page~" pages n.dashify * }
if$
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
number missing$
'skip$
{ "(" number * ")" * *
volume missing$
{ "Warning: there's a number but no volume in " cite$ * top$ }
'skip$
if$
}
if$
pages missing$
'skip$
{ duplicate$ "" =
'skip$
{ ":" * }
if$
pages n.dashify *
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter missing$
'format.pages
{ "chapter~" chapter *
pages missing$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle missing$
{ "" }
{ 's format.editors :=
s "" =
{ "In " booktitle italicize * }
{ "In " s * ", " * booktitle italicize * }
if$
}
if$
}
FUNCTION {format.tr.number}
{ type missing$
{ "Technical Report" }
{ type }
if$
number missing$
'skip$
{ "~" * number * }
if$
}
FUNCTION {format.lecture.loc}
{ institution missing$
{ "" }
{ "Lecture given at " institution * }
if$
}
FUNCTION {do.abstract}
{ abstract missing$
'skip$
{ "\beginbibabs" write$
newline$
abstract write$
newline$
"\endbibabs" write$
newline$ }
if$
}
FUNCTION {article}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.title output.check
new.block
"journal" journal field.or.null italicize output.check
format.vol.num.pages output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {bachelorsthesis}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.btitle output.check
new.block
"Bachelor's thesis" output
"school" school field.or.null output.check
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {book}
{ output.bibitem
author missing$
{ "author and editor" format.editors output.check }
{ "author" format.authors output.check }
if$
new.block
"title" format.btitle output.check
new.block
format.bvolume output
"publisher" publisher field.or.null output.check
address field.or.null output
format.edition output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
"title" format.btitle output.check
new.block
howpublished field.or.null output
address field.or.null output
format.date output
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {inbook}
{ output.bibitem
author missing$
{ "author and editor" format.editors output.check }
{ "author" format.authors output.check }
if$
new.block
"title" format.btitle output.check
"chapter and pages" format.chapter.pages output.check
new.block
format.bvolume output
"publisher" publisher field.or.null output.check
address field.or.null output
format.edition output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {incollection}
{ output.bibitem
"authors" format.authors output.check
new.block
"title" format.title output.check
new.block
"booktitle" format.in.ed.booktitle output.check
format.chapter.pages output
"publisher" publisher field.or.null output.check
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {inproceedings}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.title output.check
new.block
"booktitle" format.in.ed.booktitle output.check
format.pages output
organization field.or.null output
format.bvolume output
publisher field.or.null output
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {conference} { inproceedings }
FUNCTION {lecture}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.title output.check
new.block
"institution" format.lecture.loc field.or.null output.check
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {manual}
{ output.bibitem
format.authors output
new.block
"title" format.btitle output.check
new.block
organization field.or.null output
address field.or.null output
format.edition output
format.date output
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {mastersthesis}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.btitle output.check
new.block
"Master's thesis" output
"school" school field.or.null output.check
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {misc}
{ output.bibitem
format.authors output
new.block
format.title output
new.block
howpublished field.or.null output
format.date output
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {phdthesis}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.btitle output.check
new.block
"Ph.D. thesis" output
"school" school field.or.null output.check
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {proceedings}
{ output.bibitem
editor missing$
{ organization missing$
'skip$
{ organization field.or.null output }
if$
}
{ format.editors output }
if$
new.block
"title" format.btitle output.check
editor missing$
'skip$
{ organization field.or.null output }
if$
publisher field.or.null output
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {techreport}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.btitle output.check
new.block
format.tr.number output
"institution" institution field.or.null output.check
address field.or.null output
"year" format.date output.check
new.block
note field.or.null output
fin.entry
do.abstract
}
FUNCTION {unpublished}
{ output.bibitem
"author" format.authors output.check
new.block
"title" format.title output.check
new.block
format.date output
new.block
"note" note field.or.null output.check
fin.entry
do.abstract
}
FUNCTION {default.type} { book }
MACRO {jan} {"January"}
MACRO {feb} {"February"}
MACRO {mar} {"March"}
MACRO {apr} {"April"}
MACRO {may} {"May"}
MACRO {jun} {"June"}
MACRO {jul} {"July"}
MACRO {aug} {"August"}
MACRO {sep} {"September"}
MACRO {oct} {"October"}
MACRO {nov} {"November"}
MACRO {dec} {"December"}
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {cmu} {"Carnegie-Mellon University"}
MACRO {eatcs} {"Bulletin of the European Association for Theoretical Computer Science"}
MACRO {i&comp} {"Information and Computation"}
MACRO {iandcomp} {"Information and Computation"}
MACRO {i&c} {"Information and Control"}
MACRO {iandc} {"Information and Control"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {icalp} {"International Colloquium on Automata, Languages, and Programming"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetse} {"IEEE Transactions on Software Engineering"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {jsc} {"Journal of Symbolic Computation"}
MACRO {jsl} {"Journal of Symbolic Logic"}
MACRO {lics} {"Logic in Computer Science"}
MACRO {lncs} {"Lecture Notes in Computer Science"}
MACRO {lnmath} {"Lecture Notes in Mathematics"}
MACRO {miteecs} {"Department of Electrical Engineering and Computer Science, Mass\-a\-chu\-setts Insti\-tute of Tech\-no\-logy"}
MACRO {mitlcs} {"MIT Laboratory for Computer Science"}
MACRO {mitmath} {"Department of Mathematics, Mass\-a\-chu\-setts Insti\-tute of Tech\-no\-logy"}
MACRO {mit} {"Mass\-a\-chu\-setts Insti\-tute of Tech\-no\-logy"}
MACRO {mst} {"Mathematical Systems Theory"}
MACRO {popl} {"Principles of Programming Languages"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {sigplan} {"ACM SIGPLAN Notices"}
MACRO {slfm} {"Studies in Logic and the Foundations of Mathematics"}
MACRO {sp&e} {"Software: Practice \& Experience"}
MACRO {spande} {"Software: Practice \& Experience"}
MACRO {tcs} {"Theoretical Computer Science"}
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 {utm} {"Undergraduate Texts in Mathematics"}
MACRO {zmlgm} {"Zeitschrift f\accent'177 ur Mathematische Logic und Grundlagen der Mathematik"}
READ
FUNCTION {sortify}
{ purify$
"ll" change.case$
}
FUNCTION{format.lab.names}
{ 's swap$ :=
'numnames s num.names$ :=
numnames #1 =
{ s #1 "{vv~}{ll}" format.name$ }
{ numnames #2 =
{ s #1 "{vv~}{ll}" format.name$
" \& " *
s #2 "{vv~}{ll}" format.name$ * }
{ numnames #3 =
{ s #1 "{vv~}{ll}" format.name$
", " *
s #2 "{vv~}{ll}" format.name$ *
" \& " *
s #3 "{vv~}{ll}" format.name$ *}
{ s #1 "{vv~}{ll}" format.name$
",~{\it et~al.}" * }
if$}
if$}
if$
}
FUNCTION {calc.label}
{ 'label
author missing$
{ editor missing$
{ key missing$
{ "Warning: need a key to make a label in " cite$ * top$
title field.or.null purify$ #1 #3 substring$
}
{ key purify$ }
if$
}
{ editor format.lab.names }
if$
}
{ author format.lab.names }
if$
year missing$
'skip$
{ "~" *
year purify$ * }
if$
:=
'sort.label label sortify :=
}
FUNCTION {sort.format.names}
{ 's swap$ :=
'nameptr #1 :=
'nameresult "" :=
'numnames s num.names$ :=
'namesleft numnames :=
{ namesleft #0 > }
{ nameptr #1 >
{ 'nameresult nameresult " " * := }
'skip$
if$
't s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ :=
nameptr numnames = t "others" = and
{ 'nameresult nameresult "et al" * := }
{ 'nameresult nameresult t sortify * := }
if$
'nameptr nameptr #1 + :=
'namesleft namesleft #1 - :=
}
while$
nameresult
}
INTEGERS {len}
FUNCTION {chop.word}
{ 's swap$ :=
'len swap$ :=
s #1 len substring$ =
{ s len #1 + global.string.max substring$ }
{ s }
if$
}
FUNCTION {sort.format.title}
{ 't swap$ :=
"A " #2
"An " #3
"The " #4 t chop.word
chop.word
chop.word
#1 global.string.max substring$
sortify
}
FUNCTION {presort}
{
calc.label
sort.label
" "
*
author missing$
{ editor missing$
{ key field.or.null sortify }
{ editor sort.format.names }
if$
}
{ author sort.format.names }
if$
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.string.max substring$
'sort.key$ swap$ :=
}
ITERATE {presort}
SORT
STRINGS { longest.label last.sort.label next.extra }
INTEGERS { longest.label.width last.extra.num }
FUNCTION {initialize.longest.label}
{ 'longest.label "" :=
'last.sort.label "" :=
'next.extra "" :=
'longest.label.width #0 :=
'last.extra.num #0 :=
}
FUNCTION {forward.pass}
{ last.sort.label sort.label =
{ 'last.extra.num last.extra.num #1 + :=
'extra.label last.extra.num int.to.chr$ :=
}
{ 'last.extra.num "a" chr.to.int$ :=
'extra.label "" :=
'last.sort.label sort.label :=
}
if$
}
FUNCTION {reverse.pass}
{ next.extra "b" =
{ 'extra.label "a" := }
'skip$
if$
'label label extra.label * :=
label width$ longest.label.width >
{ 'longest.label label :=
'longest.label.width label width$ :=
}
'skip$
if$
'next.extra extra.label :=
}
EXECUTE {initialize.longest.label}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {preamble}
{ "\ifx\uNdEfInEd\beginbibabs" write$
newline$
"{\global\let\beginbibabs=\iffalse\global\let\endbibabs=\fi}\fi" write$
newline$
"\begin{thebibliography}{" longest.label * "}" * write$
newline$
}
EXECUTE {preamble}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {finish.up} { newline$ "\end{thebibliography}" write$ newline$ }
EXECUTE {finish.up}