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