Whamcloud - gitweb
LU-3892 ofd: setattr doesn't need to return attributes
[fs/lustre-release.git] / lnet / doc / ieee.bst
1 % ---------------------------------------------------------------
2 %
3 % by Paolo.Ienne@di.epfl.ch
4 %
5 % ---------------------------------------------------------------
6 %
7 % no guarantee is given that the format corresponds perfectly to 
8 % IEEE 8.5" x 11" Proceedings, but most features should be ok.
9 %
10 % ---------------------------------------------------------------
11 %
12 % `ieee' from BibTeX standard bibliography style `abbrv'
13 % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
14 % Copyright (C) 1985, all rights reserved.
15 % Copying of this file is authorized only if either
16 % (1) you make absolutely no changes to your copy, including name, or
17 % (2) if you do make changes, you name it something other than
18 % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
19 % This restriction helps ensure that all standard styles are identical.
20 % The file btxbst.doc has the documentation for this style.
21
22 ENTRY
23   { address
24     author
25     booktitle
26     chapter
27     edition
28     editor
29     howpublished
30     institution
31     journal
32     key
33     month
34     note
35     number
36     organization
37     pages
38     publisher
39     school
40     series
41     title
42     type
43     volume
44     year
45   }
46   {}
47   { label }
48
49 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
50
51 FUNCTION {init.state.consts}
52 { #0 'before.all :=
53   #1 'mid.sentence :=
54   #2 'after.sentence :=
55   #3 'after.block :=
56 }
57
58 STRINGS { s t }
59
60 FUNCTION {output.nonnull}
61 { 's :=
62   output.state mid.sentence =
63     { ", " * write$ }
64     { output.state after.block =
65  { add.period$ write$
66    newline$
67    "\newblock " write$
68  }
69  { output.state before.all =
70      'write$
71      { add.period$ " " * write$ }
72    if$
73  }
74       if$
75       mid.sentence 'output.state :=
76     }
77   if$
78   s
79 }
80
81 FUNCTION {output}
82 { duplicate$ empty$
83     'pop$
84     'output.nonnull
85   if$
86 }
87
88 FUNCTION {output.check}
89 { 't :=
90   duplicate$ empty$
91     { pop$ "empty " t * " in " * cite$ * warning$ }
92     'output.nonnull
93   if$
94 }
95
96 FUNCTION {output.bibitem}
97 { newline$
98   "\bibitem{" write$
99   cite$ write$
100   "}" write$
101   newline$
102   ""
103   before.all 'output.state :=
104 }
105
106 FUNCTION {fin.entry}
107 { add.period$
108   write$
109   newline$
110 }
111
112 FUNCTION {new.block}
113 { output.state before.all =
114     'skip$
115     { after.block 'output.state := }
116   if$
117 }
118
119 FUNCTION {new.sentence}
120 { output.state after.block =
121     'skip$
122     { output.state before.all =
123  'skip$
124  { after.sentence 'output.state := }
125       if$
126     }
127   if$
128 }
129
130 FUNCTION {not}
131 {   { #0 }
132     { #1 }
133   if$
134 }
135
136 FUNCTION {and}
137 {   'skip$
138     { pop$ #0 }
139   if$
140 }
141
142 FUNCTION {or}
143 {   { pop$ #1 }
144     'skip$
145   if$
146 }
147
148 FUNCTION {new.block.checka}
149 { empty$
150     'skip$
151     'new.block
152   if$
153 }
154
155 FUNCTION {new.block.checkb}
156 { empty$
157   swap$ empty$
158   and
159     'skip$
160     'new.block
161   if$
162 }
163
164 FUNCTION {new.sentence.checka}
165 { empty$
166     'skip$
167     'new.sentence
168   if$
169 }
170
171 FUNCTION {new.sentence.checkb}
172 { empty$
173   swap$ empty$
174   and
175     'skip$
176     'new.sentence
177   if$
178 }
179
180 FUNCTION {field.or.null}
181 { duplicate$ empty$
182     { pop$ "" }
183     'skip$
184   if$
185 }
186
187 FUNCTION {emphasize}
188 { duplicate$ empty$
189     { pop$ "" }
190     { "{\em " swap$ * "}" * }
191   if$
192 }
193
194 INTEGERS { nameptr namesleft numnames }
195
196 FUNCTION {format.names}
197 { 's :=
198   #1 'nameptr :=
199   s num.names$ 'numnames :=
200   numnames 'namesleft :=
201     { namesleft #0 > }
202     { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
203       nameptr #1 >
204  { namesleft #1 >
205      { ", " * t * }
206      { numnames #2 >
207   { "," * }
208   'skip$
209        if$
210        t "others" =
211   { " et~al." * }
212   { " and " * t * }
213        if$
214      }
215    if$
216  }
217  't
218       if$
219       nameptr #1 + 'nameptr :=
220       namesleft #1 - 'namesleft :=
221     }
222   while$
223 }
224
225 FUNCTION {format.authors}
226 { author empty$
227     { "" }
228     { author format.names }
229   if$
230 }
231
232 FUNCTION {format.editors}
233 { editor empty$
234     { "" }
235     { editor format.names
236       editor num.names$ #1 >
237  { ", editors" * }
238  { ", editor" * }
239       if$
240     }
241   if$
242 }
243
244 FUNCTION {format.title}
245 { title empty$
246     { "" }
247     { title "t" change.case$ }
248   if$
249 }
250
251 FUNCTION {n.dashify}
252 { 't :=
253   ""
254     { t empty$ not }
255     { t #1 #1 substring$ "-" =
256  { t #1 #2 substring$ "--" = not
257      { "--" *
258        t #2 global.max$ substring$ 't :=
259      }
260      {   { t #1 #1 substring$ "-" = }
261   { "-" *
262     t #2 global.max$ substring$ 't :=
263   }
264        while$
265      }
266    if$
267  }
268  { t #1 #1 substring$ *
269    t #2 global.max$ substring$ 't :=
270  }
271       if$
272     }
273   while$
274 }
275
276 FUNCTION {format.date}
277 { year empty$
278     { month empty$
279  { "" }
280  { "there's a month but no year in " cite$ * warning$
281    month
282  }
283       if$
284     }
285     { month empty$
286  'year
287  { month " " * year * }
288       if$
289     }
290   if$
291 }
292
293 FUNCTION {format.btitle}
294 { title emphasize
295 }
296
297 FUNCTION {tie.or.space.connect}
298 { duplicate$ text.length$ #3 <
299     { "~" }
300     { " " }
301   if$
302   swap$ * *
303 }
304
305 FUNCTION {either.or.check}
306 { empty$
307     'pop$
308     { "can't use both " swap$ * " fields in " * cite$ * warning$ }
309   if$
310 }
311
312 FUNCTION {format.bvolume}
313 { volume empty$
314     { "" }
315     { "volume" volume tie.or.space.connect
316       series empty$
317  'skip$
318  { " of " * series emphasize * }
319       if$
320       "volume and number" number either.or.check
321     }
322   if$
323 }
324
325 FUNCTION {format.number.series}
326 { volume empty$
327     { number empty$
328  { series field.or.null }
329  { output.state mid.sentence =
330      { "number" }
331      { "Number" }
332    if$
333    number tie.or.space.connect
334    series empty$
335      { "there's a number but no series in " cite$ * warning$ }
336      { " in " * series * }
337    if$
338  }
339       if$
340     }
341     { "" }
342   if$
343 }
344
345 FUNCTION {format.edition}
346 { edition empty$
347     { "" }
348     { output.state mid.sentence =
349  { edition "l" change.case$ " edition" * }
350  { edition "t" change.case$ " edition" * }
351       if$
352     }
353   if$
354 }
355
356 INTEGERS { multiresult }
357
358 FUNCTION {multi.page.check}
359 { 't :=
360   #0 'multiresult :=
361     { multiresult not
362       t empty$ not
363       and
364     }
365     { t #1 #1 substring$
366       duplicate$ "-" =
367       swap$ duplicate$ "," =
368       swap$ "+" =
369       or or
370  { #1 'multiresult := }
371  { t #2 global.max$ substring$ 't := }
372       if$
373     }
374   while$
375   multiresult
376 }
377
378 FUNCTION {format.pages}
379 { pages empty$
380     { "" }
381     { pages multi.page.check
382  { "pages" pages n.dashify tie.or.space.connect }
383  { "page" pages tie.or.space.connect }
384       if$
385     }
386   if$
387 }
388
389 FUNCTION {format.vol.num.pages}
390 { volume field.or.null
391   number empty$
392     'skip$
393     { "(" number * ")" * *
394       volume empty$
395  { "there's a number but no volume in " cite$ * warning$ }
396  'skip$
397       if$
398     }
399   if$
400   pages empty$
401     'skip$
402     { duplicate$ empty$
403  { pop$ format.pages }
404  { ":" * pages n.dashify * }
405       if$
406     }
407   if$
408 }
409
410 FUNCTION {format.chapter.pages}
411 { chapter empty$
412     'format.pages
413     { type empty$
414  { "chapter" }
415  { type "l" change.case$ }
416       if$
417       chapter tie.or.space.connect
418       pages empty$
419  'skip$
420  { ", " * format.pages * }
421       if$
422     }
423   if$
424 }
425
426 FUNCTION {format.in.ed.booktitle}
427 { booktitle empty$
428     { "" }
429     { editor empty$
430  { "In " booktitle emphasize * }
431  { "In " format.editors * ", " * booktitle emphasize * }
432       if$
433     }
434   if$
435 }
436
437 FUNCTION {empty.misc.check}
438 { author empty$ title empty$ howpublished empty$
439   month empty$ year empty$ note empty$
440   and and and and and
441   key empty$ not and
442     { "all relevant fields are empty in " cite$ * warning$ }
443     'skip$
444   if$
445 }
446
447 FUNCTION {format.thesis.type}
448 { type empty$
449     'skip$
450     { pop$
451       type "t" change.case$
452     }
453   if$
454 }
455
456 FUNCTION {format.tr.number}
457 { type empty$
458     { "Technical Report" }
459     'type
460   if$
461   number empty$
462     { "t" change.case$ }
463     { number tie.or.space.connect }
464   if$
465 }
466
467 FUNCTION {format.article.crossref}
468 { key empty$
469     { journal empty$
470  { "need key or journal for " cite$ * " to crossref " * crossref *
471    warning$
472    ""
473  }
474  { "In {\em " journal * "\/}" * }
475       if$
476     }
477     { "In " key * }
478   if$
479   " \cite{" * crossref * "}" *
480 }
481
482 FUNCTION {format.crossref.editor}
483 { editor #1 "{vv~}{ll}" format.name$
484   editor num.names$ duplicate$
485   #2 >
486     { pop$ " et~al." * }
487     { #2 <
488  'skip$
489  { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
490      { " et~al." * }
491      { " and " * editor #2 "{vv~}{ll}" format.name$ * }
492    if$
493  }
494       if$
495     }
496   if$
497 }
498
499 FUNCTION {format.book.crossref}
500 { volume empty$
501     { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
502       "In "
503     }
504     { "Volume" volume tie.or.space.connect
505       " of " *
506     }
507   if$
508   editor empty$
509   editor field.or.null author field.or.null =
510   or
511     { key empty$
512  { series empty$
513      { "need editor, key, or series for " cite$ * " to crossref " *
514        crossref * warning$
515        "" *
516      }
517      { "{\em " * series * "\/}" * }
518    if$
519  }
520  { key * }
521       if$
522     }
523     { format.crossref.editor * }
524   if$
525   " \cite{" * crossref * "}" *
526 }
527
528 FUNCTION {format.incoll.inproc.crossref}
529 { editor empty$
530   editor field.or.null author field.or.null =
531   or
532     { key empty$
533  { booktitle empty$
534      { "need editor, key, or booktitle for " cite$ * " to crossref " *
535        crossref * warning$
536        ""
537      }
538      { "In {\em " booktitle * "\/}" * }
539    if$
540  }
541  { "In " key * }
542       if$
543     }
544     { "In " format.crossref.editor * }
545   if$
546   " \cite{" * crossref * "}" *
547 }
548
549 FUNCTION {article}
550 { output.bibitem
551   format.authors "author" output.check
552   new.block
553   format.title "title" output.check
554   new.block
555   crossref missing$
556     { journal emphasize "journal" output.check
557       format.vol.num.pages output
558       format.date "year" output.check
559     }
560     { format.article.crossref output.nonnull
561       format.pages output
562     }
563   if$
564   new.block
565   note output
566   fin.entry
567 }
568
569 FUNCTION {book}
570 { output.bibitem
571   author empty$
572     { format.editors "author and editor" output.check }
573     { format.authors output.nonnull
574       crossref missing$
575  { "author and editor" editor either.or.check }
576  'skip$
577       if$
578     }
579   if$
580   new.block
581   format.btitle "title" output.check
582   crossref missing$
583     { format.bvolume output
584       new.block
585       format.number.series output
586       new.sentence
587       publisher "publisher" output.check
588       address output
589     }
590     { new.block
591       format.book.crossref output.nonnull
592     }
593   if$
594   format.edition output
595   format.date "year" output.check
596   new.block
597   note output
598   fin.entry
599 }
600
601 FUNCTION {booklet}
602 { output.bibitem
603   format.authors output
604   new.block
605   format.title "title" output.check
606   howpublished address new.block.checkb
607   howpublished output
608   address output
609   format.date output
610   new.block
611   note output
612   fin.entry
613 }
614
615 FUNCTION {inbook}
616 { output.bibitem
617   author empty$
618     { format.editors "author and editor" output.check }
619     { format.authors output.nonnull
620       crossref missing$
621  { "author and editor" editor either.or.check }
622  'skip$
623       if$
624     }
625   if$
626   new.block
627   format.btitle "title" output.check
628   crossref missing$
629     { format.bvolume output
630       format.chapter.pages "chapter and pages" output.check
631       new.block
632       format.number.series output
633       new.sentence
634       publisher "publisher" output.check
635       address output
636     }
637     { format.chapter.pages "chapter and pages" output.check
638       new.block
639       format.book.crossref output.nonnull
640     }
641   if$
642   format.edition output
643   format.date "year" output.check
644   new.block
645   note output
646   fin.entry
647 }
648
649 FUNCTION {incollection}
650 { output.bibitem
651   format.authors "author" output.check
652   new.block
653   format.title "title" output.check
654   new.block
655   crossref missing$
656     { format.in.ed.booktitle "booktitle" output.check
657       format.bvolume output
658       format.number.series output
659       format.chapter.pages output
660       new.sentence
661       publisher "publisher" output.check
662       address output
663       format.edition output
664       format.date "year" output.check
665     }
666     { format.incoll.inproc.crossref output.nonnull
667       format.chapter.pages output
668     }
669   if$
670   new.block
671   note output
672   fin.entry
673 }
674
675 FUNCTION {inproceedings}
676 { output.bibitem
677   format.authors "author" output.check
678   new.block
679   format.title "title" output.check
680   new.block
681   crossref missing$
682     { format.in.ed.booktitle "booktitle" output.check
683       format.bvolume output
684       format.number.series output
685       format.pages output
686       address empty$
687  { organization publisher new.sentence.checkb
688    organization output
689    publisher output
690    format.date "year" output.check
691  }
692  { address output.nonnull
693    format.date "year" output.check
694    new.sentence
695    organization output
696    publisher output
697  }
698       if$
699     }
700     { format.incoll.inproc.crossref output.nonnull
701       format.pages output
702     }
703   if$
704   new.block
705   note output
706   fin.entry
707 }
708
709 FUNCTION {conference} { inproceedings }
710
711 FUNCTION {manual}
712 { output.bibitem
713   author empty$
714     { organization empty$
715  'skip$
716  { organization output.nonnull
717    address output
718  }
719       if$
720     }
721     { format.authors output.nonnull }
722   if$
723   new.block
724   format.btitle "title" output.check
725   author empty$
726     { organization empty$
727  { address new.block.checka
728    address output
729  }
730  'skip$
731       if$
732     }
733     { organization address new.block.checkb
734       organization output
735       address output
736     }
737   if$
738   format.edition output
739   format.date output
740   new.block
741   note output
742   fin.entry
743 }
744
745 FUNCTION {mastersthesis}
746 { output.bibitem
747   format.authors "author" output.check
748   new.block
749   format.title "title" output.check
750   new.block
751   "Master's thesis" format.thesis.type output.nonnull
752   school "school" output.check
753   address output
754   format.date "year" output.check
755   new.block
756   note output
757   fin.entry
758 }
759
760 FUNCTION {misc}
761 { output.bibitem
762   format.authors output
763   title howpublished new.block.checkb
764   format.title output
765   howpublished new.block.checka
766   howpublished output
767   format.date output
768   new.block
769   note output
770   fin.entry
771   empty.misc.check
772 }
773
774 FUNCTION {phdthesis}
775 { output.bibitem
776   format.authors "author" output.check
777   new.block
778   format.btitle "title" output.check
779   new.block
780   "PhD thesis" format.thesis.type output.nonnull
781   school "school" output.check
782   address output
783   format.date "year" output.check
784   new.block
785   note output
786   fin.entry
787 }
788
789 FUNCTION {proceedings}
790 { output.bibitem
791   editor empty$
792     { organization output }
793     { format.editors output.nonnull }
794   if$
795   new.block
796   format.btitle "title" output.check
797   format.bvolume output
798   format.number.series output
799   address empty$
800     { editor empty$
801  { publisher new.sentence.checka }
802  { organization publisher new.sentence.checkb
803    organization output
804  }
805       if$
806       publisher output
807       format.date "year" output.check
808     }
809     { address output.nonnull
810       format.date "year" output.check
811       new.sentence
812       editor empty$
813  'skip$
814  { organization output }
815       if$
816       publisher output
817     }
818   if$
819   new.block
820   note output
821   fin.entry
822 }
823
824 FUNCTION {techreport}
825 { output.bibitem
826   format.authors "author" output.check
827   new.block
828   format.title "title" output.check
829   new.block
830   format.tr.number output.nonnull
831   institution "institution" output.check
832   address output
833   format.date "year" output.check
834   new.block
835   note output
836   fin.entry
837 }
838
839 FUNCTION {unpublished}
840 { output.bibitem
841   format.authors "author" output.check
842   new.block
843   format.title "title" output.check
844   new.block
845   note "note" output.check
846   format.date output
847   fin.entry
848 }
849
850 FUNCTION {default.type} { misc }
851
852 MACRO {jan} {"Jan."}
853
854 MACRO {feb} {"Feb."}
855
856 MACRO {mar} {"Mar."}
857
858 MACRO {apr} {"Apr."}
859
860 MACRO {may} {"May"}
861
862 MACRO {jun} {"June"}
863
864 MACRO {jul} {"July"}
865
866 MACRO {aug} {"Aug."}
867
868 MACRO {sep} {"Sept."}
869
870 MACRO {oct} {"Oct."}
871
872 MACRO {nov} {"Nov."}
873
874 MACRO {dec} {"Dec."}
875
876 MACRO {acmcs} {"ACM Comput. Surv."}
877
878 MACRO {acta} {"Acta Inf."}
879
880 MACRO {cacm} {"Commun. ACM"}
881
882 MACRO {ibmjrd} {"IBM J. Res. Dev."}
883
884 MACRO {ibmsj} {"IBM Syst.~J."}
885
886 MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
887
888 MACRO {ieeetc} {"IEEE Trans. Comput."}
889
890 MACRO {ieeetcad}
891  {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
892
893 MACRO {ipl} {"Inf. Process. Lett."}
894
895 MACRO {jacm} {"J.~ACM"}
896
897 MACRO {jcss} {"J.~Comput. Syst. Sci."}
898
899 MACRO {scp} {"Sci. Comput. Programming"}
900
901 MACRO {sicomp} {"SIAM J. Comput."}
902
903 MACRO {tocs} {"ACM Trans. Comput. Syst."}
904
905 MACRO {tods} {"ACM Trans. Database Syst."}
906
907 MACRO {tog} {"ACM Trans. Gr."}
908
909 MACRO {toms} {"ACM Trans. Math. Softw."}
910
911 MACRO {toois} {"ACM Trans. Office Inf. Syst."}
912
913 MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
914
915 MACRO {tcs} {"Theoretical Comput. Sci."}
916
917 READ
918
919 FUNCTION {sortify}
920 { purify$
921   "l" change.case$
922 }
923
924 INTEGERS { len }
925
926 FUNCTION {chop.word}
927 { 's :=
928   'len :=
929   s #1 len substring$ =
930     { s len #1 + global.max$ substring$ }
931     's
932   if$
933 }
934
935 FUNCTION {sort.format.names}
936 { 's :=
937   #1 'nameptr :=
938   ""
939   s num.names$ 'numnames :=
940   numnames 'namesleft :=
941     { namesleft #0 > }
942     { nameptr #1 >
943  { "   " * }
944  'skip$
945       if$
946       s nameptr "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}" format.name$ 't :=
947       nameptr numnames = t "others" = and
948  { "et al" * }
949  { t sortify * }
950       if$
951       nameptr #1 + 'nameptr :=
952       namesleft #1 - 'namesleft :=
953     }
954   while$
955 }
956
957 FUNCTION {sort.format.title}
958 { 't :=
959   "A " #2
960     "An " #3
961       "The " #4 t chop.word
962     chop.word
963   chop.word
964   sortify
965   #1 global.max$ substring$
966 }
967
968 FUNCTION {author.sort}
969 { author empty$
970     { key empty$
971  { "to sort, need author or key in " cite$ * warning$
972    ""
973  }
974  { key sortify }
975       if$
976     }
977     { author sort.format.names }
978   if$
979 }
980
981 FUNCTION {author.editor.sort}
982 { author empty$
983     { editor empty$
984  { key empty$
985      { "to sort, need author, editor, or key in " cite$ * warning$
986        ""
987      }
988      { key sortify }
989    if$
990  }
991  { editor sort.format.names }
992       if$
993     }
994     { author sort.format.names }
995   if$
996 }
997
998 FUNCTION {author.organization.sort}
999 { author empty$
1000     { organization empty$
1001  { key empty$
1002      { "to sort, need author, organization, or key in " cite$ * warning$
1003        ""
1004      }
1005      { key sortify }
1006    if$
1007  }
1008  { "The " #4 organization chop.word sortify }
1009       if$
1010     }
1011     { author sort.format.names }
1012   if$
1013 }
1014
1015 FUNCTION {editor.organization.sort}
1016 { editor empty$
1017     { organization empty$
1018  { key empty$
1019      { "to sort, need editor, organization, or key in " cite$ * warning$
1020        ""
1021      }
1022      { key sortify }
1023    if$
1024  }
1025  { "The " #4 organization chop.word sortify }
1026       if$
1027     }
1028     { editor sort.format.names }
1029   if$
1030 }
1031
1032 FUNCTION {presort}
1033 { type$ "book" =
1034   type$ "inbook" =
1035   or
1036     'author.editor.sort
1037     { type$ "proceedings" =
1038  'editor.organization.sort
1039  { type$ "manual" =
1040      'author.organization.sort
1041      'author.sort
1042    if$
1043  }
1044       if$
1045     }
1046   if$
1047   "    "
1048   *
1049   year field.or.null sortify
1050   *
1051   "    "
1052   *
1053   title field.or.null
1054   sort.format.title
1055   *
1056   #1 entry.max$ substring$
1057   'sort.key$ :=
1058 }
1059
1060 ITERATE {presort}
1061
1062 SORT
1063
1064 STRINGS { longest.label }
1065
1066 INTEGERS { number.label longest.label.width }
1067
1068 FUNCTION {initialize.longest.label}
1069 { "" 'longest.label :=
1070   #1 'number.label :=
1071   #0 'longest.label.width :=
1072 }
1073
1074 FUNCTION {longest.label.pass}
1075 { number.label int.to.str$ 'label :=
1076   number.label #1 + 'number.label :=
1077   label width$ longest.label.width >
1078     { label 'longest.label :=
1079       label width$ 'longest.label.width :=
1080     }
1081     'skip$
1082   if$
1083 }
1084
1085 EXECUTE {initialize.longest.label}
1086
1087 ITERATE {longest.label.pass}
1088
1089 FUNCTION {begin.bib}
1090 { preamble$ empty$
1091     'skip$
1092     { preamble$ write$ newline$ }
1093   if$
1094   "\begin{thebibliography}{"  longest.label  * 
1095   "}\setlength{\itemsep}{-1ex}\small" * write$ newline$
1096 }
1097
1098 EXECUTE {begin.bib}
1099
1100 EXECUTE {init.state.consts}
1101
1102 ITERATE {call.type$}
1103
1104 FUNCTION {end.bib}
1105 { newline$
1106   "\end{thebibliography}" write$ newline$
1107 }
1108
1109 EXECUTE {end.bib}
1110
1111 % end of file ieee.bst
1112 % ---------------------------------------------------------------