| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124 | 
% ---------------------------------------------------------------%% $Id$%% by Paolo.Ienne@di.epfl.ch%% ---------------------------------------------------------------%% no guarantee is given that the format corresponds perfectly to % IEEE 8.5" x 11" Proceedings, but most features should be ok.%% ---------------------------------------------------------------%% `latex8' from BibTeX standard bibliography style `abbrv'% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.% Copyright (C) 1985, all rights reserved.% Copying of this file is authorized only if either% (1) you make absolutely no changes to your copy, including name, or% (2) if you do make changes, you name it something other than% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.% This restriction helps ensure that all standard styles are identical.% The file btxbst.doc has the documentation for this style.ENTRY  { address    author    booktitle    chapter    edition    editor    howpublished    institution    journal    key    month    note    number    organization    pages    publisher    school    series    title    type    volume    year  }  {}  { label }INTEGERS { output.state before.all mid.sentence after.sentence after.block }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 {output}{ duplicate$ empty$    'pop$    'output.nonnull  if$}FUNCTION {output.check}{ 't :=  duplicate$ empty$    { pop$ "empty " t * " in " * cite$ * warning$ }    'output.nonnull  if$}FUNCTION {output.bibitem}{ newline$  "\bibitem{" 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.checka}{ empty$    'skip$    'new.block  if$}FUNCTION {new.block.checkb}{ empty$  swap$ empty$  and    'skip$    'new.block  if$}FUNCTION {new.sentence.checka}{ empty$    'skip$    'new.sentence  if$}FUNCTION {new.sentence.checkb}{ empty$  swap$ empty$  and    'skip$    'new.sentence  if$}FUNCTION {field.or.null}{ duplicate$ empty$    { pop$ "" }    'skip$  if$}FUNCTION {emphasize}{ duplicate$ empty$    { pop$ "" }    { "{\em " swap$ * "}" * }  if$}INTEGERS { nameptr namesleft numnames }FUNCTION {format.names}{ 's :=  #1 'nameptr :=  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=      nameptr #1 > { namesleft #1 >     { ", " * t * }     { numnames #2 >  { "," * }  'skip$       if$       t "others" =  { " et~al." * }  { " and " * t * }       if$     }   if$ } 't      if$      nameptr #1 + 'nameptr :=      namesleft #1 - 'namesleft :=    }  while$}FUNCTION {format.authors}{ author empty$    { "" }    { author format.names }  if$}FUNCTION {format.editors}{ editor empty$    { "" }    { editor format.names      editor num.names$ #1 > { ", editors" * } { ", editor" * }      if$    }  if$}FUNCTION {format.title}{ title empty$    { "" }    { title "t" change.case$ }  if$}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.date}{ year empty$    { month empty$ { "" } { "there's a month but no year in " cite$ * warning$   month }      if$    }    { month empty$ 'year { month " " * year * }      if$    }  if$}FUNCTION {format.btitle}{ title emphasize}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$}FUNCTION {format.bvolume}{ volume empty$    { "" }    { "volume" volume tie.or.space.connect      series empty$ 'skip$ { " of " * series emphasize * }      if$      "volume and number" number either.or.check    }  if$}FUNCTION {format.number.series}{ volume empty$    { number empty$ { series field.or.null } { output.state mid.sentence =     { "number" }     { "Number" }   if$   number tie.or.space.connect   series empty$     { "there's a number but no series in " cite$ * warning$ }     { " in " * series * }   if$ }      if$    }    { "" }  if$}FUNCTION {format.edition}{ edition empty$    { "" }    { output.state mid.sentence = { edition "l" change.case$ " edition" * } { edition "t" change.case$ " edition" * }      if$    }  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.pages}{ pages empty$    { "" }    { pages multi.page.check { "pages" pages n.dashify tie.or.space.connect } { "page" pages tie.or.space.connect }      if$    }  if$}FUNCTION {format.vol.num.pages}{ volume field.or.null  number empty$    'skip$    { "(" number * ")" * *      volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$      if$    }  if$  pages empty$    'skip$    { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * }      if$    }  if$}FUNCTION {format.chapter.pages}{ chapter empty$    'format.pages    { type empty$ { "chapter" } { type "l" change.case$ }      if$      chapter tie.or.space.connect      pages empty$ 'skip$ { ", " * format.pages * }      if$    }  if$}FUNCTION {format.in.ed.booktitle}{ booktitle empty$    { "" }    { editor empty$ { "In " booktitle emphasize * } { "In " format.editors * ", " * booktitle emphasize * }      if$    }  if$}FUNCTION {empty.misc.check}{ author empty$ title empty$ howpublished empty$  month empty$ year empty$ note empty$  and and and and and  key empty$ not and    { "all relevant fields are empty in " cite$ * warning$ }    'skip$  if$}FUNCTION {format.thesis.type}{ type empty$    'skip$    { pop$      type "t" change.case$    }  if$}FUNCTION {format.tr.number}{ type empty$    { "Technical Report" }    'type  if$  number empty$    { "t" change.case$ }    { number tie.or.space.connect }  if$}FUNCTION {format.article.crossref}{ key empty$    { journal empty$ { "need key or journal for " cite$ * " to crossref " * crossref *   warning$   "" } { "In {\em " journal * "\/}" * }      if$    }    { "In " key * }  if$  " \cite{" * crossref * "}" *}FUNCTION {format.crossref.editor}{ editor #1 "{vv~}{ll}" format.name$  editor num.names$ duplicate$  #2 >    { pop$ " et~al." * }    { #2 < 'skip$ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =     { " et~al." * }     { " and " * editor #2 "{vv~}{ll}" format.name$ * }   if$ }      if$    }  if$}FUNCTION {format.book.crossref}{ volume empty$    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$      "In "    }    { "Volume" volume tie.or.space.connect      " of " *    }  if$  editor empty$  editor field.or.null author field.or.null =  or    { key empty$ { series empty$     { "need editor, key, or series for " cite$ * " to crossref " *       crossref * warning$       "" *     }     { "{\em " * series * "\/}" * }   if$ } { key * }      if$    }    { format.crossref.editor * }  if$  " \cite{" * crossref * "}" *}FUNCTION {format.incoll.inproc.crossref}{ editor empty$  editor field.or.null author field.or.null =  or    { key empty$ { booktitle empty$     { "need editor, key, or booktitle for " cite$ * " to crossref " *       crossref * warning$       ""     }     { "In {\em " booktitle * "\/}" * }   if$ } { "In " key * }      if$    }    { "In " format.crossref.editor * }  if$  " \cite{" * crossref * "}" *}FUNCTION {article}{ output.bibitem  format.authors "author" output.check  new.block  format.title "title" output.check  new.block  crossref missing$    { journal emphasize "journal" output.check      format.vol.num.pages output      format.date "year" output.check    }    { format.article.crossref output.nonnull      format.pages output    }  if$  new.block  note output  fin.entry}FUNCTION {book}{ output.bibitem  author empty$    { format.editors "author and editor" output.check }    { format.authors output.nonnull      crossref missing$ { "author and editor" editor either.or.check } 'skip$      if$    }  if$  new.block  format.btitle "title" output.check  crossref missing$    { format.bvolume output      new.block      format.number.series output      new.sentence      publisher "publisher" output.check      address output    }    { new.block      format.book.crossref output.nonnull    }  if$  format.edition output  format.date "year" output.check  new.block  note output  fin.entry}FUNCTION {booklet}{ output.bibitem  format.authors output  new.block  format.title "title" output.check  howpublished address new.block.checkb  howpublished output  address output  format.date output  new.block  note output  fin.entry}FUNCTION {inbook}{ output.bibitem  author empty$    { format.editors "author and editor" output.check }    { format.authors output.nonnull      crossref missing$ { "author and editor" editor either.or.check } 'skip$      if$    }  if$  new.block  format.btitle "title" output.check  crossref missing$    { format.bvolume output      format.chapter.pages "chapter and pages" output.check      new.block      format.number.series output      new.sentence      publisher "publisher" output.check      address output    }    { format.chapter.pages "chapter and pages" output.check      new.block      format.book.crossref output.nonnull    }  if$  format.edition output  format.date "year" output.check  new.block  note output  fin.entry}FUNCTION {incollection}{ output.bibitem  format.authors "author" output.check  new.block  format.title "title" output.check  new.block  crossref missing$    { format.in.ed.booktitle "booktitle" output.check      format.bvolume output      format.number.series output      format.chapter.pages output      new.sentence      publisher "publisher" output.check      address output      format.edition output      format.date "year" output.check    }    { format.incoll.inproc.crossref output.nonnull      format.chapter.pages output    }  if$  new.block  note output  fin.entry}FUNCTION {inproceedings}{ output.bibitem  format.authors "author" output.check  new.block  format.title "title" output.check  new.block  crossref missing$    { format.in.ed.booktitle "booktitle" output.check      format.bvolume output      format.number.series output      format.pages output      address empty$ { organization publisher new.sentence.checkb   organization output   publisher output   format.date "year" output.check } { address output.nonnull   format.date "year" output.check   new.sentence   organization output   publisher output }      if$    }    { format.incoll.inproc.crossref output.nonnull      format.pages output    }  if$  new.block  note output  fin.entry}FUNCTION {conference} { inproceedings }FUNCTION {manual}{ output.bibitem  author empty$    { organization empty$ 'skip$ { organization output.nonnull   address output }      if$    }    { format.authors output.nonnull }  if$  new.block  format.btitle "title" output.check  author empty$    { organization empty$ { address new.block.checka   address output } 'skip$      if$    }    { organization address new.block.checkb      organization output      address output    }  if$  format.edition output  format.date output  new.block  note output  fin.entry}FUNCTION {mastersthesis}{ output.bibitem  format.authors "author" output.check  new.block  format.title "title" output.check  new.block  "Master's thesis" format.thesis.type output.nonnull  school "school" output.check  address output  format.date "year" output.check  new.block  note output  fin.entry}FUNCTION {misc}{ output.bibitem  format.authors output  title howpublished new.block.checkb  format.title output  howpublished new.block.checka  howpublished output  format.date output  new.block  note output  fin.entry  empty.misc.check}FUNCTION {phdthesis}{ output.bibitem  format.authors "author" output.check  new.block  format.btitle "title" output.check  new.block  "PhD thesis" format.thesis.type output.nonnull  school "school" output.check  address output  format.date "year" output.check  new.block  note output  fin.entry}FUNCTION {proceedings}{ output.bibitem  editor empty$    { organization output }    { format.editors output.nonnull }  if$  new.block  format.btitle "title" output.check  format.bvolume output  format.number.series output  address empty$    { editor empty$ { publisher new.sentence.checka } { organization publisher new.sentence.checkb   organization output }      if$      publisher output      format.date "year" output.check    }    { address output.nonnull      format.date "year" output.check      new.sentence      editor empty$ 'skip$ { organization output }      if$      publisher output    }  if$  new.block  note output  fin.entry}FUNCTION {techreport}{ output.bibitem  format.authors "author" output.check  new.block  format.title "title" output.check  new.block  format.tr.number output.nonnull  institution "institution" output.check  address output  format.date "year" output.check  new.block  note output  fin.entry}FUNCTION {unpublished}{ output.bibitem  format.authors "author" output.check  new.block  format.title "title" output.check  new.block  note "note" output.check  format.date output  fin.entry}FUNCTION {default.type} { misc }MACRO {jan} {"Jan."}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 Comput. Surv."}MACRO {acta} {"Acta Inf."}MACRO {cacm} {"Commun. ACM"}MACRO {ibmjrd} {"IBM J. Res. Dev."}MACRO {ibmsj} {"IBM Syst.~J."}MACRO {ieeese} {"IEEE Trans. Softw. Eng."}MACRO {ieeetc} {"IEEE Trans. Comput."}MACRO {ieeetcad} {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}MACRO {ipl} {"Inf. Process. Lett."}MACRO {jacm} {"J.~ACM"}MACRO {jcss} {"J.~Comput. Syst. Sci."}MACRO {scp} {"Sci. Comput. Programming"}MACRO {sicomp} {"SIAM J. Comput."}MACRO {tocs} {"ACM Trans. Comput. Syst."}MACRO {tods} {"ACM Trans. Database Syst."}MACRO {tog} {"ACM Trans. Gr."}MACRO {toms} {"ACM Trans. Math. Softw."}MACRO {toois} {"ACM Trans. Office Inf. Syst."}MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}MACRO {tcs} {"Theoretical Comput. Sci."}READFUNCTION {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 {sort.format.names}{ 's :=  #1 'nameptr :=  ""  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { nameptr #1 > { "   " * } 'skip$      if$      s nameptr "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}" format.name$ 't :=      nameptr numnames = t "others" = and { "et al" * } { t sortify * }      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 {author.organization.sort}{ author empty$    { organization empty$ { key empty$     { "to sort, need author, organization, or key in " cite$ * warning$       ""     }     { key sortify }   if$ } { "The " #4 organization chop.word sortify }      if$    }    { author sort.format.names }  if$}FUNCTION {editor.organization.sort}{ editor empty$    { organization empty$ { key empty$     { "to sort, need editor, organization, or key in " cite$ * warning$       ""     }     { key sortify }   if$ } { "The " #4 organization chop.word sortify }      if$    }    { editor sort.format.names }  if$}FUNCTION {presort}{ type$ "book" =  type$ "inbook" =  or    'author.editor.sort    { type$ "proceedings" = 'editor.organization.sort { type$ "manual" =     'author.organization.sort     'author.sort   if$ }      if$    }  if$  "    "  *  year field.or.null sortify  *  "    "  *  title field.or.null  sort.format.title  *  #1 entry.max$ substring$  'sort.key$ :=}ITERATE {presort}SORTSTRINGS { longest.label }INTEGERS { number.label longest.label.width }FUNCTION {initialize.longest.label}{ "" 'longest.label :=  #1 'number.label :=  #0 'longest.label.width :=}FUNCTION {longest.label.pass}{ number.label int.to.str$ 'label :=  number.label #1 + 'number.label :=  label width$ longest.label.width >    { label 'longest.label :=      label width$ 'longest.label.width :=    }    'skip$  if$}EXECUTE {initialize.longest.label}ITERATE {longest.label.pass}FUNCTION {begin.bib}{ preamble$ empty$    'skip$    { preamble$ write$ newline$ }  if$  "\begin{thebibliography}{"  longest.label  *   "}\setlength{\itemsep}{-1ex}\small" * write$ newline$}EXECUTE {begin.bib}EXECUTE {init.state.consts}ITERATE {call.type$}FUNCTION {end.bib}{ newline$  "\end{thebibliography}" write$ newline$}EXECUTE {end.bib}% end of file latex8.bst% ---------------------------------------------------------------
 |