Commit before breaking everything
[matches/honours.git] / thesis / styles / h-physrev.bst
1 ENTRY
2 { address
3 eprint
4 author
5 booktitle
6 chapter
7 collaboration
8 edition
9 editor
10 howpublished
11 institution
12 journal
13 key
14 month
15 note
16 number
17 organization
18 pages
19 publisher
20 school
21 series
22 title
23 type
24 volume
25 year
26 }
27 {}
28 { label }
29 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
30 FUNCTION {init.state.consts}
31 { #0 'before.all :=
32 #1 'mid.sentence :=
33 #2 'after.sentence :=
34 #3 'after.block :=
35 }
36 STRINGS { s t }
37 FUNCTION {output.nonnull}
38 { 's :=
39 output.state mid.sentence =
40 { ", " * write$ }
41 { output.state after.block =
42 { "," * write$
43 newline$
44 "\newblock " write$
45 }
46 { output.state before.all =
47 'write$
48 { add.period$ " " * write$ }
49 if$
50 }
51 if$
52 mid.sentence 'output.state :=
53 }
54 if$
55 s
56 }
57 FUNCTION {output}
58 { duplicate$ empty$
59 'pop$
60 'output.nonnull
61 if$
62 }
63 FUNCTION {output.check}
64 { 't :=
65 duplicate$ empty$
66 { pop$ "empty " t * " in " * cite$ * warning$ }
67 'output.nonnull
68 if$
69 }
70 FUNCTION {output.bibitem}
71 { newline$
72 "\bibitem{" write$
73 cite$ write$
74 "}" write$
75 newline$
76 ""
77 before.all 'output.state :=
78 }
79 FUNCTION {fin.entry}
80 { add.period$
81 write$
82 newline$
83 }
84 FUNCTION {new.block}
85 { output.state before.all =
86 'skip$
87 { after.block 'output.state := }
88 if$
89 }
90 FUNCTION {new.sentence}
91 { skip$
92 }
93 FUNCTION {not}
94 {   { #0 }
95 { #1 }
96 if$
97 }
98 FUNCTION {and}
99 {   'skip$
100 { pop$ #0 }
101 if$
102 }
103 FUNCTION {or}
104 {   { pop$ #1 }
105 'skip$
106 if$
107 }
108 FUNCTION {new.block.checka}
109 { empty$
110 'skip$
111 'new.block
112 if$
113 }
114 FUNCTION {new.block.checkb}
115 { empty$
116 swap$ empty$
117 and
118 'skip$
119 'new.block
120 if$
121 }
122 FUNCTION {new.sentence.checka}
123 { empty$
124 'skip$
125 'new.sentence
126 if$
127 }
128 FUNCTION {new.sentence.checkb}
129 { empty$
130 swap$ empty$
131 and
132 'skip$
133 'new.sentence
134 if$
135 }
136 FUNCTION {field.or.null}
137 { duplicate$ empty$
138 { pop$ "" }
139 'skip$
140 if$
141 }
142 FUNCTION {emphasize}
143 { duplicate$ empty$
144 { pop$ "" }
145 { "{\em " swap$ * "}" * }
146 if$
147 }
148 FUNCTION {embolden}
149 { duplicate$ empty$
150 { pop$ "" }
151 { "{\bf " swap$ * "}" * }
152 if$
153 }
154 FUNCTION {paren}
155 { duplicate$ empty$
156 { pop$ "" }
157 { "(" swap$ * ")" * }
158 if$
159 }
160 INTEGERS { nameptr namesleft numnames }
161 INTEGERS { etal }
162 FUNCTION {format.names}
163 { 's :=
164 #1 'nameptr :=
165 s num.names$ 'numnames :=
166 numnames #5 >
167 s numnames "{ll}" format.name$ "others" = numnames #1 > and
168 or 'etal :=
169 etal
170 { #1 #1 + 'namesleft := }
171 { numnames 'namesleft := }
172 if$
173 { namesleft #0 > }
174 { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
175 nameptr #1 >
176 { namesleft #1 >
177 { ", " * t * }
178 { nameptr #2 >
179 { "," * }
180 'skip$
181 if$
182 t "others" =
183 etal or
184 { " {\em et~al.}" * }
185 { " and " * t * }
186 if$
187 }
188 if$
189 }
190 't
191 if$
192 nameptr #1 + 'nameptr :=
193 namesleft #1 - 'namesleft :=
194 }
195 while$
196 }
197 FUNCTION {format.authors}
198 { author empty$
199 { "" }
200 { author format.names }
201 if$
202 }
203 FUNCTION {format.editors}
204 { editor empty$
205 { "" }
206 { editor format.names
207 editor num.names$ #1 >
208 { ", editors" * }
209 { ", editor" * }
210 if$
211 }
212 if$
213 }
214 FUNCTION {format.edited}
215 { editor empty$
216 { "" }
217 { "edited by " editor format.names * }
218 if$
219 }
220 FUNCTION {format.title}
221 { title empty$
222 { "" }
223 { title "t" change.case$ }
224 if$
225 }
226 FUNCTION {n.dashify}
227 { 't :=
228 ""
229 { t empty$ not }
230 { t #1 #1 substring$ "-" =
231 { t #1 #2 substring$ "--" = not
232 { "--" *
233 t #2 global.max$ substring$ 't :=
234 }
235 {   { t #1 #1 substring$ "-" = }
236 { "-" *
237 t #2 global.max$ substring$ 't :=
238 }
239 while$
240 }
241 if$
242 }
243 { t #1 #1 substring$ *
244 t #2 global.max$ substring$ 't :=
245 }
246 if$
247 }
248 while$
249 }
250 FUNCTION {first.page}
251 { 't :=
252 ""
253 {  t empty$ not t #1 #1 substring$ "-" = not and }
254 { t #1 #1 substring$ *
255 t #2 global.max$ substring$ 't :=
256 }
257 while$
258 }
259 FUNCTION {format.date}
260 { year empty$
261 { "" }
262 'year
263 if$
264 }
265 FUNCTION {format.btitle}
266 { title emphasize
267 }
268 FUNCTION {tie.or.space.connect}
269 { duplicate$ text.length$ #3 <
270 { "~" }
271 { " " }
272 if$
273 swap$ * *
274 }
275 FUNCTION {either.or.check}
276 { empty$
277 'pop$
278 { "can't use both " swap$ * " fields in " * cite$ * warning$ }
279 if$
280 }
281 FUNCTION {format.bvolume}
282 { volume empty$
283 { "" }
284 { series empty$
285 'skip$
286 { ", " series * }
287 if$
288 " Vol." volume tie.or.space.connect *
289 "volume and number" number either.or.check
290 }
291 if$
292 }
293 FUNCTION {format.number.series}
294 { volume empty$
295 { number empty$
296 { series field.or.null }
297 {  series empty$
298 { "there's a number but no series in " cite$ * warning$ }
299 { ", " series * }
300 if$
301 " No. " number tie.or.space.connect *
302 }
303 if$
304 }
305 { "" }
306 if$
307 }
308 FUNCTION {format.edition}
309 { edition empty$
310 { "" }
311 { output.state mid.sentence =
312 { ", " edition "l" change.case$ *  }
313 { ", " edition "t" change.case$ *  }
314 if$
315 " ed." *
316 }
317 if$
318 }
319 INTEGERS { multiresult }
320 FUNCTION {multi.page.check}
321 { 't :=
322 #0 'multiresult :=
323 { multiresult not
324 t empty$ not
325 and
326 }
327 { t #1 #1 substring$
328 duplicate$ "-" =
329 swap$ duplicate$ "," =
330 swap$ "+" =
331 or or
332 { #1 'multiresult := }
333 { t #2 global.max$ substring$ 't := }
334 if$
335 }
336 while$
337 multiresult
338 }
339 FUNCTION {format.pages}
340 { pages empty$
341 { "" }
342 { pages multi.page.check
343 { "pp." pages n.dashify tie.or.space.connect }
344 { "p." pages tie.or.space.connect }
345 if$
346 }
347 if$
348 }
349 FUNCTION {format.pages.a}
350 { pages empty$
351 { "" }
352 { "p." pages first.page tie.or.space.connect }
353 if$
354 }
355 FUNCTION {format.vol.num.pages}
356 { volume field.or.null embolden
357 " " swap$ * *
358 pages empty$
359 'skip$
360 { duplicate$ empty$
361 { pop$ format.pages.a }
362 { ", " * pages first.page * }
363 if$
364 }
365 if$
366 }
367 FUNCTION {format.chapter.pages}
368 { chapter empty$
369 'format.pages
370 { type empty$
371 { "chap." }
372 { type "l" change.case$ }
373 if$
374 chapter tie.or.space.connect
375 pages empty$
376 'skip$
377 { ", " * format.pages * }
378 if$
379 }
380 if$
381 }
382 FUNCTION {format.pub.addr.date}
383 { publisher empty$
384 { "" "empty publisher in " cite$ * warning$ }
385 { publisher
386 address empty$
387 'skip$
388 { ", " * address * }
389 if$
390 }
391 if$
392 year empty$
393 { "empty year in " cite$ * warning$ }
394 { ", " * year * }
395 if$
396 paren " " swap$ *
397 }
398 FUNCTION {format.book.entry}
399 { format.btitle
400 format.bvolume *
401 format.number.series *
402 format.edition *
403 format.pub.addr.date *
404 }
405 FUNCTION {format.inbook.entry}
406 { format.book.entry
407 ", " *
408 format.chapter.pages *
409 }
410 FUNCTION {format.in.ed.booktitle}
411 { booktitle empty$
412 { "" }
413 { editor empty$
414 { "in " booktitle emphasize * }
415 { "in " booktitle emphasize * ", " * format.edited * }
416 if$
417 }
418 if$
419 }
420 FUNCTION {empty.misc.check}
421 { author empty$ title empty$ howpublished empty$
422 month empty$ year empty$ note empty$
423 and and and and and
424 { "all relevant fields are empty in " cite$ * warning$ }
425 'skip$
426 if$
427 }
428 FUNCTION {format.thesis.type}
429 { type empty$
430 'skip$
431 { pop$
432 type "t" change.case$
433 }
434 if$
435 }
436 FUNCTION {format.inst.tr.num.date}
437 { institution empty$
438 { "" "empty institution in " cite$ * warning$ }
439 { institution }
440 if$
441 " Report No." *
442 number empty$
443 { "" }
444 { number tie.or.space.connect }
445 if$
446 year empty$
447 { "empty year in " cite$ * warning$ }
448 { ", " * year * " (unpublished)" * }
449 if$
450 }
451 FUNCTION {format.article.crossref}
452 { key empty$
453 { journal empty$
454 { "need key or journal for " cite$ * " to crossref " * crossref *
455 warning$
456 ""
457 }
458 { "In " journal * }
459 if$
460 }
461 { "In " key * }
462 if$
463 " \cite{" * crossref * "}" *
464 }
465 FUNCTION {format.crossref.editor}
466 { editor #1 "{vv~}{ll}" format.name$
467 editor num.names$ duplicate$
468 #2 >
469 { pop$ " {\em et~al.}" * }
470 { #2 <
471 'skip$
472 { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
473 { " {\em et~al.}" * }
474 { " and " * editor #2 "{vv~}{ll}" format.name$ * }
475 if$
476 }
477 if$
478 }
479 if$
480 }
481 FUNCTION {format.book.crossref}
482 { volume empty$
483 { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
484 "In "
485 }
486 { "Volume" volume tie.or.space.connect
487 " of " *
488 }
489 if$
490 editor empty$
491 editor field.or.null author field.or.null =
492 or
493 { key empty$
494 { series empty$
495 { "need editor, key, or series for " cite$ * " to crossref " *
496 crossref * warning$
497 "" *
498 }
499 { "{\em " * series * "\/}" * }
500 if$
501 }
502 { key * }
503 if$
504 }
505 { format.crossref.editor * }
506 if$
507 " \cite{" * crossref * "}" *
508 }
509 FUNCTION {format.incoll.inproc.crossref}
510 { editor empty$
511 editor field.or.null author field.or.null =
512 or
513 { key empty$
514 { booktitle empty$
515 { "need editor, key, or booktitle for " cite$ * " to crossref " *
516 crossref * warning$
517 ""
518 }
519 { "In {\em " booktitle * "\/}" * }
520 if$
521 }
522 { "In " key * }
523 if$
524 }
525 { "In " format.crossref.editor * }
526 if$
527 " \cite{" * crossref * "}" *
528 }
529 FUNCTION {article}
530 { output.bibitem
531 collaboration output
532 format.authors "author" output.check
533 new.block
534 crossref missing$
535 { journal field.or.null
536 format.vol.num.pages 
537 format.date empty$
538 'skip$
539 { duplicate$ empty$
540 { pop$ format.date paren }
541 { " " * format.date paren * }
542 if$
543 }
544 if$
545 output
546 }
547 { format.article.crossref output.nonnull
548 format.pages output
549 }
550 if$
551 eprint output
552 new.block
553 note output
554 fin.entry
555 }
556 FUNCTION {book}
557 { output.bibitem
558 collaboration output
559 author empty$
560 { format.editors "author and editor" output.check }
561 { format.authors output.nonnull
562 crossref missing$
563 { "author and editor" editor either.or.check }
564 'skip$
565 if$
566 }
567 if$
568 new.block
569 crossref missing$
570 { format.book.entry output }
571 { new.block
572 format.book.crossref output.nonnull
573 }
574 if$    
575 eprint output
576 new.block
577 note output
578 fin.entry
579 }
580 FUNCTION {booklet}
581 { output.bibitem
582 collaboration output
583 format.authors output
584 new.block
585 format.title "title" output.check
586 howpublished address new.block.checkb
587 howpublished output
588 address output
589 format.date output
590 eprint output
591 new.block
592 note output
593 fin.entry
594 }
595 FUNCTION {inbook}
596 { output.bibitem
597 collaboration output
598 author empty$
599 { format.editors "author and editor" output.check }
600 { format.authors output.nonnull
601 crossref missing$
602 { "author and editor" editor either.or.check }
603 'skip$
604 if$
605 }
606 if$
607 new.block
608 crossref missing$
609 { format.inbook.entry output }
610 { format.chapter.pages "chapter and pages" output.check
611 new.block
612 format.book.crossref output.nonnull
613 }
614 if$
615 eprint output
616 new.block
617 note output
618 fin.entry
619 }
620 FUNCTION {incollection}
621 { output.bibitem
622 collaboration output
623 format.authors "author" output.check
624 new.block
625 format.title "title" output.check
626 new.block
627 crossref missing$
628 { format.in.ed.booktitle "booktitle" output.check
629 format.bvolume output
630 format.number.series output
631 format.chapter.pages output
632 new.sentence
633 publisher "publisher" output.check
634 address output
635 format.edition output
636 format.date "year" output.check
637 }
638 { format.incoll.inproc.crossref output.nonnull
639 format.chapter.pages output
640 }
641 if$
642 eprint output
643 new.block
644 note output
645 fin.entry
646 }
647 FUNCTION {inproceedings}
648 { output.bibitem
649 collaboration output
650 format.authors "author" output.check
651 new.block
652 format.title "title" output.check
653 new.block
654 crossref missing$
655 { format.in.ed.booktitle "booktitle" output.check
656 format.bvolume output
657 format.number.series output
658 format.pages output
659 address empty$
660 { organization publisher new.sentence.checkb
661 organization output
662 publisher output
663 format.date "year" output.check
664 }
665 { address output.nonnull
666 format.date "year" output.check
667 new.sentence
668 organization output
669 publisher output
670 }
671 if$
672 }
673 { format.incoll.inproc.crossref output.nonnull
674 format.pages output
675 }
676 if$
677 eprint output
678 new.block
679 note output
680 fin.entry
681 }
682 FUNCTION {conference} { inproceedings }
683 FUNCTION {manual}
684 { output.bibitem
685 collaboration output
686 author empty$
687 { organization empty$
688 'skip$
689 { organization output.nonnull
690 address output
691 }
692 if$
693 }
694 { format.authors output.nonnull }
695 if$
696 new.block
697 format.btitle "title" output.check
698 author empty$
699 { organization empty$
700 { address new.block.checka
701 address output
702 }
703 'skip$
704 if$
705 }
706 { organization address new.block.checkb
707 organization output
708 address output
709 }
710 if$
711 format.edition output
712 format.date output
713 eprint output
714 new.block
715 note output
716 fin.entry
717 }
718 FUNCTION {mastersthesis}
719 { output.bibitem
720 format.authors "author" output.check
721 new.block
722 format.title "title" output.check
723 new.block
724 "Master's thesis" format.thesis.type output.nonnull
725 school "school" output.check
726 address output
727 format.date "year" output.check
728 eprint output
729 new.block
730 note output
731 fin.entry
732 }
733 FUNCTION {misc}
734 { output.bibitem
735 collaboration output
736 format.authors output
737 title howpublished new.block.checkb
738 format.title output
739 howpublished new.block.checka
740 howpublished output
741 format.date output
742 eprint output
743 new.block
744 note output
745 fin.entry
746 empty.misc.check
747 }
748 FUNCTION {phdthesis}
749 { output.bibitem
750 format.authors "author" output.check
751 new.block
752 format.btitle "title" output.check
753 new.block
754 "PhD thesis" format.thesis.type output.nonnull
755 school "school" output.check
756 address output
757 format.date "year" output.check
758 eprint output
759 new.block
760 note output
761 fin.entry
762 }
763 FUNCTION {proceedings}
764 { output.bibitem
765 collaboration output
766 editor empty$
767 { organization output }
768 { format.editors output.nonnull }
769 if$
770 new.block
771 format.btitle "title" output.check
772 format.bvolume output
773 format.number.series output
774 address empty$
775 { editor empty$
776 { publisher new.sentence.checka }
777 { organization publisher new.sentence.checkb
778 organization output
779 }
780 if$
781 publisher output
782 format.date "year" output.check
783 }
784 { address output.nonnull
785 format.date "year" output.check
786 new.sentence
787 editor empty$
788 'skip$
789 { organization output }
790 if$
791 publisher output
792 }
793 if$
794 eprint output
795 new.block
796 note output
797 fin.entry
798 }
799 FUNCTION {techreport}
800 { output.bibitem
801 collaboration output
802 format.authors "author" output.check
803 new.block
804 format.inst.tr.num.date output.nonnull
805 eprint output
806 new.block
807 note output
808 fin.entry
809 }
810 FUNCTION {unpublished}
811 { output.bibitem
812 collaboration output
813 format.authors "author" output.check
814 new.block
815 format.title "title" output.check
816 new.block
817 note "note" output.check
818 format.date output
819 fin.entry
820 }
821 FUNCTION {default.type} { misc }
822 MACRO {jan} {"Jan."}
823 MACRO {feb} {"Feb."}
824 MACRO {mar} {"Mar."}
825 MACRO {apr} {"Apr."}
826 MACRO {may} {"May"}
827 MACRO {jun} {"June"}
828 MACRO {jul} {"July"}
829 MACRO {aug} {"Aug."}
830 MACRO {sep} {"Sept."}
831 MACRO {oct} {"Oct."}
832 MACRO {nov} {"Nov."}
833 MACRO {dec} {"Dec."}
834 MACRO {acmcs} {"ACM Comput. Surv."}
835 MACRO {acta} {"Acta Inf."}
836 MACRO {cacm} {"Commun. ACM"}
837 MACRO {ibmjrd} {"IBM J. Res. Dev."}
838 MACRO {ibmsj} {"IBM Syst.~J."}
839 MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
840 MACRO {ieeetc} {"IEEE Trans. Comput."}
841 MACRO {ieeetcad}
842 {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
843 MACRO {ipl} {"Inf. Process. Lett."}
844 MACRO {jacm} {"J.~ACM"}
845 MACRO {jcss} {"J.~Comput. Syst. Sci."}
846 MACRO {scp} {"Sci. Comput. Programming"}
847 MACRO {sicomp} {"SIAM J. Comput."}
848 MACRO {tocs} {"ACM Trans. Comput. Syst."}
849 MACRO {tods} {"ACM Trans. Database Syst."}
850 MACRO {tog} {"ACM Trans. Gr."}
851 MACRO {toms} {"ACM Trans. Math. Softw."}
852 MACRO {toois} {"ACM Trans. Office Inf. Syst."}
853 MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
854 MACRO {tcs} {"Theoretical Comput. Sci."}
855 MACRO {advp} {"Adv. Phys."}
856 MACRO {ajp} {"Am. J. Phys."}
857 MACRO {ao} {"Appl. Opt."}
858 MACRO {apj} {"Astrophys. J."}
859 MACRO {apl} {"Appl. Phys. Lett."}
860 MACRO {arnps} {"Ann. Rev. Nucl. Sci."}
861 MACRO {arns} {"Ann. Rev. Nucl. Part. Sci."}
862 MACRO {baps} {"Bull. Am. Phys. Soc."}
863 MACRO {cpc} {"Computer Phys. Comm."}
864 MACRO {cppcf} {"Comments Plasma Phys. Controlled Fusion"}
865 MACRO {fed} {"Fusion Eng. Design"}
866 MACRO {ft} {"Fusion Tech."}
867 MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
868 MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
869 MACRO {ijimw} {"Int. J. Infrared Millimeter Waves"}
870 MACRO {ip} {"Infrared Phys."}
871 MACRO {jap} {"J. Appl. Phys."}
872 MACRO {jcp} {"J. Comput. Phys."}
873 MACRO {jetp} {"Sov. Phys.-JETP"}
874 MACRO {jfe} {"J. Fusion Energy"}
875 MACRO {jfm} {"J. Fluid Mech."}
876 MACRO {jgr} {"J. Geophys. Res."}
877 MACRO {jmp} {"J. Math. Phys."}
878 MACRO {jne} {"J. Nucl. Energy"}
879 MACRO {jnm} {"J. Nucl. Mater."}
880 MACRO {josa} {"J. Opt. Soc. Am."}
881 MACRO {jpg} {"J. Phys.~G: Nucl. and Part. Phys."}
882 MACRO {jphys} {"J. Phys"}
883 MACRO {jpp} {"J. Plasma Phys."}
884 MACRO {jpsj} {"J. Phys. Soc. Jpn"}
885 MACRO {jvst} {"J. Vac. Sci. Technol."}
886 MACRO {modphyslettA} {"Mod. Phys. Lett. A"}
887 MACRO {nedf} {"Nucl. Eng. Design/Fusion"}
888 MACRO {nf} {"Nucl. Fusion"}
889 MACRO {nim} {"Nucl. Instrum. Methods"}
890 MACRO {np} {"Nucl. Phys."}
891 MACRO {npb} {"Nucl. Phys.~B"}
892 MACRO {npbps} {"Nucl. Phys. B (Proc. Suppl.)"}
893 MACRO {nt/f} {"Nucl. Tech./Fusion"}
894 MACRO {pf} {"Phys. Fluids"}
895 MACRO {pl} {"Phys. Lett."}
896 MACRO {plb} {"Phys. Lett.~B"}
897 MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
898 MACRO {pp} {"Plasma Phys."}
899 MACRO {physrep} {"Phys. Rep."}
900 MACRO {physrev} {"Phys. Rev."}
901 MACRO {pr} {"Phys. Rev."}
902 MACRO {prd} {"Phys. Rev.~D"}
903 MACRO {prl} {"Phys. Rev. Lett."}
904 MACRO {procroysoc} {"Proc. Roy. Soc"}
905 MACRO {ps} {"Physica Scripta"}
906 MACRO {rmp} {"Rev. Mod. Phys."}
907 MACRO {rsi} {"Rev. Sci. Instrum."}
908 MACRO {sjnp} {"Sov. J. Nucl. Phys."}
909 MACRO {sjpp} {"Sov. J. Plasma Phys."}
910 MACRO {spd} {"Sov. Phys.-Dokl."}
911 MACRO {sptp} {"Sov. Phys.-Tech. Phys."}
912 MACRO {spu} {"Sov. Phys.-Usp."}
913 MACRO {zp} {"Z. Phys."}
914 MACRO {zpc} {"Z. Phys.~C"}
915 READ
916 STRINGS { longest.label }
917 INTEGERS { number.label longest.label.width }
918 FUNCTION {initialize.longest.label}
919 { "" 'longest.label :=
920 #1 'number.label :=
921 #0 'longest.label.width :=
922 }
923 FUNCTION {longest.label.pass}
924 { number.label int.to.str$ 'label :=
925 number.label #1 + 'number.label :=
926 label width$ longest.label.width >
927 { label 'longest.label :=
928 label width$ 'longest.label.width :=
929 }
930 'skip$
931 if$
932 }
933 EXECUTE {initialize.longest.label}
934 ITERATE {longest.label.pass}
935 FUNCTION {begin.bib}
936 { preamble$ empty$
937 'skip$
938 { preamble$ write$ newline$ }
939 if$
940 "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
941 }
942 EXECUTE {begin.bib}
943 EXECUTE {init.state.consts}
944 ITERATE {call.type$}
945 FUNCTION {end.bib}
946 { newline$
947 "\end{thebibliography}" write$ newline$
948 }
949 EXECUTE {end.bib}

UCC git Repository :: git.ucc.asn.au