source: Backup NB/Talks/MEMPHYSetal/LAGUNA/EU I3/PhysicsLatex/Laguna-JCAP-beforeJCAP/JHEP-2-modif.bst @ 416

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