a72f7ea693101cc48bafbb4db6bb437d828011c4ql% BibTeX standard bibliography style `abbrv'
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % Copyright (C) 1985, all rights reserved.
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % Copying of this file is authorized only if either
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % (1) you make absolutely no changes to your copy, including name, or
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % (2) if you do make changes, you name it something other than
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % This restriction helps ensure that all standard styles are identical.
a72f7ea693101cc48bafbb4db6bb437d828011c4ql % The file btxbst.doc has the documentation for this style.
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlENTRY
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { address
a72f7ea693101cc48bafbb4db6bb437d828011c4ql author
a72f7ea693101cc48bafbb4db6bb437d828011c4ql booktitle
a72f7ea693101cc48bafbb4db6bb437d828011c4ql chapter
a72f7ea693101cc48bafbb4db6bb437d828011c4ql edition
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor
a72f7ea693101cc48bafbb4db6bb437d828011c4ql howpublished
a72f7ea693101cc48bafbb4db6bb437d828011c4ql institution
a72f7ea693101cc48bafbb4db6bb437d828011c4ql journal
a72f7ea693101cc48bafbb4db6bb437d828011c4ql key
a72f7ea693101cc48bafbb4db6bb437d828011c4ql month
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note
a72f7ea693101cc48bafbb4db6bb437d828011c4ql number
a72f7ea693101cc48bafbb4db6bb437d828011c4ql organization
a72f7ea693101cc48bafbb4db6bb437d828011c4ql pages
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher
a72f7ea693101cc48bafbb4db6bb437d828011c4ql school
a72f7ea693101cc48bafbb4db6bb437d828011c4ql series
a72f7ea693101cc48bafbb4db6bb437d828011c4ql title
a72f7ea693101cc48bafbb4db6bb437d828011c4ql type
a72f7ea693101cc48bafbb4db6bb437d828011c4ql volume
a72f7ea693101cc48bafbb4db6bb437d828011c4ql year
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql {}
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li { label }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael LiINTEGERS { output.state before.all mid.sentence after.sentence after.block }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael LiFUNCTION {init.state.consts}
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li{ #0 'before.all :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #1 'mid.sentence :=
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li #2 'after.sentence :=
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer #3 'after.block :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlSTRINGS { s t }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {output.nonnull}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 's :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql output.state mid.sentence =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { ", " * write$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { output.state after.block =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { add.period$ write$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "\newblock " write$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { output.state before.all =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'write$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { add.period$ " " * write$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql mid.sentence 'output.state :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql s
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {output}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ duplicate$ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'pop$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {output.check}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql duplicate$ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pop$ "empty " t * " in " * cite$ * warning$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
020c47705d28102a8df83a43ddf08e34dde21f22ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {output.bibitem}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "\bibitem{" write$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql cite$ write$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "}" write$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql before.all 'output.state :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {fin.entry}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ add.period$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql write$
020c47705d28102a8df83a43ddf08e34dde21f22ql newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {new.block}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.state before.all =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { after.block 'output.state := }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {new.sentence}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.state after.block =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { output.state before.all =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
020c47705d28102a8df83a43ddf08e34dde21f22ql { after.sentence 'output.state := }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {not}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ { #0 }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { #1 }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {and}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pop$ #0 }
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li if$
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li}
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael LiFUNCTION {or}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ { pop$ #1 }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {new.block.checka}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li 'new.block
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li if$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li}
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal IyerFUNCTION {new.block.checkb}
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer{ empty$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li swap$ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql and
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {new.sentence.checka}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer 'new.sentence
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li if$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li}
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael LiFUNCTION {new.sentence.checkb}
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li{ empty$
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer swap$ empty$
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer and
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'new.sentence
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {field.or.null}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ duplicate$ empty$
9aa73b6813b3fd35e78fcc44fd17535e765e504cQin Michael Li { pop$ "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {emphasize}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ duplicate$ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pop$ "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "{\em " swap$ * "}" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlINTEGERS { nameptr namesleft numnames }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.names}
020c47705d28102a8df83a43ddf08e34dde21f22ql{ 's :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #1 'nameptr :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql s num.names$ 'numnames :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql numnames 'namesleft :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { namesleft #0 > }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql nameptr #1 >
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { namesleft #1 >
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li { ", " * t * }
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li { numnames #2 >
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li { "," * }
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li 'skip$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li if$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li t "others" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " et~al." * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " and " * t * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 't
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql nameptr #1 + 'nameptr :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql namesleft #1 - 'namesleft :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql while$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.authors}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { author format.names }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.editors}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor format.names
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor num.names$ #1 >
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { ", eds." * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { ", ed." * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.title}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ title empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { title "t" change.case$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {n.dashify}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t empty$ not }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t #1 #1 substring$ "-" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t #1 #2 substring$ "--" = not
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "--" *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql t #2 global.max$ substring$ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { { t #1 #1 substring$ "-" = }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "-" *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql t #2 global.max$ substring$ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql while$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t #1 #1 substring$ *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql t #2 global.max$ substring$ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql while$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.date}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ year empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { month empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "there's a month but no year in " cite$ * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql month
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { month empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'year
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { month " " * year * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.btitle}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ title emphasize
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {tie.or.space.connect}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ duplicate$ text.length$ #3 <
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "~" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " " }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql swap$ * *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {either.or.check}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'pop$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "can't use both " swap$ * " fields in " * cite$ * warning$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.bvolume}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ volume empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "vol." volume tie.or.space.connect
a72f7ea693101cc48bafbb4db6bb437d828011c4ql series empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " of " * series emphasize * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "volume and number" number either.or.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.number.series}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ volume empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { number empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { series field.or.null }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { output.state mid.sentence =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "number" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "Number" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql number tie.or.space.connect
a72f7ea693101cc48bafbb4db6bb437d828011c4ql series empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "there's a number but no series in " cite$ * warning$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " in " * series * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.edition}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ edition empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { output.state mid.sentence =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { edition "l" change.case$ " edition" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { edition "t" change.case$ " edition" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlINTEGERS { multiresult }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {multi.page.check}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #0 'multiresult :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { multiresult not
a72f7ea693101cc48bafbb4db6bb437d828011c4ql t empty$ not
a72f7ea693101cc48bafbb4db6bb437d828011c4ql and
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t #1 #1 substring$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql duplicate$ "-" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql swap$ duplicate$ "," =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql swap$ "+" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql or or
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { #1 'multiresult := }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t #2 global.max$ substring$ 't := }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql while$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql multiresult
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.pages}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ pages empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pages multi.page.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "pp." pages n.dashify tie.or.space.connect }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "page" pages tie.or.space.connect }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.vol.num.pages}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ volume field.or.null
a72f7ea693101cc48bafbb4db6bb437d828011c4ql number empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "(" number * ")" * *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql volume empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "there's a number but no volume in " cite$ * warning$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql pages empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { duplicate$ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pop$ format.pages }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { ":" * pages n.dashify * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.chapter.pages}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ chapter empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'format.pages
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { type empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "chapter" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { type "l" change.case$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql chapter tie.or.space.connect
a72f7ea693101cc48bafbb4db6bb437d828011c4ql pages empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { ", " * format.pages * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.in.ed.booktitle}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ booktitle empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In " booktitle emphasize * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In " format.editors * ", " * booktitle emphasize * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {empty.misc.check}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ author empty$ title empty$ howpublished empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql month empty$ year empty$ note empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql and and and and and
a72f7ea693101cc48bafbb4db6bb437d828011c4ql key empty$ not and
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "all relevant fields are empty in " cite$ * warning$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.thesis.type}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ type empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pop$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql type "t" change.case$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.tr.number}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ type empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "Technical Report" }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'type
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql number empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "t" change.case$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { number tie.or.space.connect }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.article.crossref}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { journal empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "need key or journal for " cite$ * " to crossref " * crossref *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In {\em " journal * "\/}" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In " key * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql " \cite{" * crossref * "}" *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.crossref.editor}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ editor #1 "{vv~}{ll}" format.name$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor num.names$ duplicate$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #2 >
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { pop$ " et~al." * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { #2 <
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " et~al." * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " and " * editor #2 "{vv~}{ll}" format.name$ * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.book.crossref}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ volume empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "In "
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "Vol." volume tie.or.space.connect
a72f7ea693101cc48bafbb4db6bb437d828011c4ql " of " *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor field.or.null author field.or.null =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql or
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { series empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "need editor, key, or series for " cite$ * " to crossref " *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "" *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "{\em " * series * "\/}" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.crossref.editor * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql " \cite{" * crossref * "}" *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {format.incoll.inproc.crossref}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor field.or.null author field.or.null =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql or
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { booktitle empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "need editor, key, or booktitle for " cite$ * " to crossref " *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In {\em " booktitle * "\/}" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In " key * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "In " format.crossref.editor * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql " \cite{" * crossref * "}" *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {article}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { journal emphasize "journal" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.vol.num.pages output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.article.crossref output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.pages output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {book}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.editors "author and editor" output.check }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.authors output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "author and editor" editor either.or.check }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.btitle "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.bvolume output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.number.series output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.sentence
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher "publisher" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.book.crossref output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.edition output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {booklet}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql howpublished address new.block.checkb
a72f7ea693101cc48bafbb4db6bb437d828011c4ql howpublished output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {inbook}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.editors "author and editor" output.check }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.authors output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "author and editor" editor either.or.check }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.btitle "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.bvolume output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.chapter.pages "chapter and pages" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.number.series output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.sentence
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher "publisher" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.chapter.pages "chapter and pages" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.book.crossref output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.edition output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {incollection}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.in.ed.booktitle "booktitle" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.bvolume output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.number.series output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.chapter.pages output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.sentence
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher "publisher" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.edition output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.incoll.inproc.crossref output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.chapter.pages output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {inproceedings}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql crossref missing$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.in.ed.booktitle "booktitle" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.bvolume output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.number.series output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.pages output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization publisher new.sentence.checkb
a72f7ea693101cc48bafbb4db6bb437d828011c4ql organization output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { address output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.sentence
a72f7ea693101cc48bafbb4db6bb437d828011c4ql organization output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.incoll.inproc.crossref output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.pages output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {conference} { inproceedings }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {manual}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.authors output.nonnull }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.btitle "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { address new.block.checka
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization address new.block.checkb
a72f7ea693101cc48bafbb4db6bb437d828011c4ql organization output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.edition output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {mastersthesis}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "Master's thesis" format.thesis.type output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql school "school" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {misc}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql title howpublished new.block.checkb
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql howpublished new.block.checka
a72f7ea693101cc48bafbb4db6bb437d828011c4ql howpublished output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql empty.misc.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {phdthesis}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.btitle "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "PhD thesis" format.thesis.type output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql school "school" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {proceedings}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization output }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { format.editors output.nonnull }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.btitle "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.bvolume output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.number.series output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { publisher new.sentence.checka }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization publisher new.sentence.checkb
a72f7ea693101cc48bafbb4db6bb437d828011c4ql organization output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { address output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.sentence
a72f7ea693101cc48bafbb4db6bb437d828011c4ql editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization output }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql publisher output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {techreport}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.tr.number output.nonnull
a72f7ea693101cc48bafbb4db6bb437d828011c4ql institution "institution" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql address output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date "year" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {unpublished}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ output.bibitem
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.authors "author" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.title "title" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql new.block
a72f7ea693101cc48bafbb4db6bb437d828011c4ql note "note" output.check
a72f7ea693101cc48bafbb4db6bb437d828011c4ql format.date output
a72f7ea693101cc48bafbb4db6bb437d828011c4ql fin.entry
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {default.type} { misc }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {jan} {"Jan."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {feb} {"Feb."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {mar} {"Mar."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {apr} {"Apr."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {may} {"May"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {jun} {"June"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {jul} {"July"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {aug} {"Aug."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {sep} {"Sept."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {oct} {"Oct."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {nov} {"Nov."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {dec} {"Dec."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {acmcs} {"ACM Comput. Surv."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {acta} {"Acta Inf."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {cacm} {"Commun. ACM"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {ibmjrd} {"IBM J. Res. Dev."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {ibmsj} {"IBM Syst.~J."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {ieeese} {"IEEE Trans. Softw. Eng."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {ieeetc} {"IEEE Trans. Comput."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {ieeetcad}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {ipl} {"Inf. Process. Lett."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {jacm} {"J.~ACM"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {jcss} {"J.~Comput. Syst. Sci."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {scp} {"Sci. Comput. Programming"}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {sicomp} {"SIAM J. Comput."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {tocs} {"ACM Trans. Comput. Syst."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {tods} {"ACM Trans. Database Syst."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {tog} {"ACM Trans. Gr."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {toms} {"ACM Trans. Math. Softw."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {toois} {"ACM Trans. Office Inf. Syst."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlMACRO {tcs} {"Theoretical Comput. Sci."}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlREAD
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {sortify}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ purify$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "l" change.case$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlINTEGERS { len }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {chop.word}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 's :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'len :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql s #1 len substring$ =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { s len #1 + global.max$ substring$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 's
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {sort.format.names}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 's :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #1 'nameptr :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql s num.names$ 'numnames :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql numnames 'namesleft :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { namesleft #0 > }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { nameptr #1 >
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { " " * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql nameptr numnames = t "others" = and
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "et al" * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { t sortify * }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql nameptr #1 + 'nameptr :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql namesleft #1 - 'namesleft :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql while$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {sort.format.title}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ 't :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "A " #2
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "An " #3
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "The " #4 t chop.word
a72f7ea693101cc48bafbb4db6bb437d828011c4ql chop.word
a72f7ea693101cc48bafbb4db6bb437d828011c4ql chop.word
a72f7ea693101cc48bafbb4db6bb437d828011c4ql sortify
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #1 global.max$ substring$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {author.sort}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "to sort, need author or key in " cite$ * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { author sort.format.names }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key sortify }
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li if$
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael LiFUNCTION {author.editor.sort}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "to sort, need author, editor, or key in " cite$ * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key sortify }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor sort.format.names }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { author sort.format.names }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {author.organization.sort}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ author empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "to sort, need author, organization, or key in " cite$ * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key sortify }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "The " #4 organization chop.word sortify }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { author sort.format.names }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {editor.organization.sort}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ editor empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { organization empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "to sort, need editor, organization, or key in " cite$ * warning$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql ""
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { key sortify }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { "The " #4 organization chop.word sortify }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { editor sort.format.names }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {presort}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ type$ "book" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql type$ "inbook" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql or
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'author.editor.sort
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { type$ "proceedings" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'editor.organization.sort
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { type$ "manual" =
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'author.sort
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'author.organization.sort
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql " "
a72f7ea693101cc48bafbb4db6bb437d828011c4ql *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql year field.or.null sortify
a72f7ea693101cc48bafbb4db6bb437d828011c4ql *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql " "
a72f7ea693101cc48bafbb4db6bb437d828011c4ql *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql title field.or.null
a72f7ea693101cc48bafbb4db6bb437d828011c4ql sort.format.title
a72f7ea693101cc48bafbb4db6bb437d828011c4ql *
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #1 entry.max$ substring$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'sort.key$ :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlITERATE {presort}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlSORT
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlSTRINGS { longest.label }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlINTEGERS { number.label longest.label.width }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {initialize.longest.label}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ "" 'longest.label :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #1 'number.label :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql #0 'longest.label.width :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael Li
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {longest.label.pass}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ number.label int.to.str$ 'label :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql number.label #1 + 'number.label :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql label width$ longest.label.width >
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { label 'longest.label :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql label width$ 'longest.label.width :=
a72f7ea693101cc48bafbb4db6bb437d828011c4ql }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlEXECUTE {initialize.longest.label}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael LiITERATE {longest.label.pass}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {begin.bib}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ preamble$ empty$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql 'skip$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql { preamble$ write$ newline$ }
a72f7ea693101cc48bafbb4db6bb437d828011c4ql if$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "\begin{thebibliography}{" longest.label * "}" * write$ newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
94d05f6c7f329fdf908da99ab50b37d3d33f9fe5Qin Michael LiEXECUTE {begin.bib}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlEXECUTE {init.state.consts}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlITERATE {call.type$}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlFUNCTION {end.bib}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql{ newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql "\end{thebibliography}" write$ newline$
a72f7ea693101cc48bafbb4db6bb437d828011c4ql}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql
a72f7ea693101cc48bafbb4db6bb437d828011c4qlEXECUTE {end.bib}
a72f7ea693101cc48bafbb4db6bb437d828011c4ql