source: Backup NB/Talks/MEMPHYSetal/LAGUNA/EU I3/PhysicsLatex/Laguna-before-xarchiv/apsrev.bst @ 416

Last change on this file since 416 was 416, checked in by campagne, 16 years ago
File size: 43.1 KB
Line 
1%%
2%% This is file `apsrev.bst',
3%% generated with the docstrip utility.
4%%
5%% The original source files were:
6%%
7%% merlin.mbs  (with options: `head,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
8%% physjour.mbs  (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
9%% geojour.mbs  (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
10%% photjour.mbs  (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
11%% merlin.mbs  (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
12%% ----------------------------------------
13%% *** REVTeX-compatible apsrev.bst 1702 ***
14%%
15%% Copyright 1994-2000 Patrick W Daly
16 % ===============================================================
17 % IMPORTANT NOTICE:
18 % This bibliographic style (bst) file has been generated from one or
19 % more master bibliographic style (mbs) files, listed above.
20 %
21 % This generated file can be redistributed and/or modified under the terms
22 % of the LaTeX Project Public License Distributed from CTAN
23 % archives in directory macros/latex/base/lppl.txt; either
24 % version 1 of the License, or any later version.
25 % ===============================================================
26 % Name and version information of the main mbs file:
27 % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)]
28 %   For use with BibTeX version 0.99a or later
29 %-------------------------------------------------------------------
30 % This bibliography style file is intended for texts in ENGLISH
31 % This is an author-year citation style bibliography. As such, it is
32 % non-standard LaTeX, and requires a special package file to function properly.
33 % Such a package is    natbib.sty   by Patrick W. Daly
34 % The form of the \bibitem entries is
35 %   \bibitem[Jones et al.(1990)]{key}...
36 %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
37 % The essential feature is that the label (the part in brackets) consists
38 % of the author names, as they should appear in the citation, with the year
39 % in parentheses following. There must be no space before the opening
40 % parenthesis!
41 % With natbib v5.3, a full list of authors may also follow the year.
42 % In natbib.sty, it is possible to define the type of enclosures that is
43 % really wanted (brackets or parentheses), but in either case, there must
44 % be parentheses in the label.
45 % The \cite command functions as follows:
46 %   \citet{key} ==>>                Jones et al. (1990)
47 %   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
48 %   \citep{key} ==>>                (Jones et al., 1990)
49 %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
50 %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
51 %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
52 %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., p. 32)
53 %   \citeauthor{key} ==>>           Jones et al.
54 %   \citeauthor*{key} ==>>          Jones, Baker, and Smith
55 %   \citeyear{key} ==>>             1990
56 %---------------------------------------------------------------------
57
58ENTRY
59  { address
60    archive
61    author
62    booktitle
63    chapter
64    collaboration
65    edition
66    editor
67    eid
68    eprint
69    howpublished
70    institution
71    isbn
72    issn
73    journal
74    key
75    month
76    note
77    number
78    numpages
79    organization
80    pages
81    publisher
82    school
83    series
84    title
85    type
86    url
87    volume
88    year
89  }
90  {}
91  { label extra.label sort.label short.list }
92INTEGERS { output.state before.all mid.sentence after.sentence after.block }
93FUNCTION {init.state.consts}
94{ #0 'before.all :=
95  #1 'mid.sentence :=
96  #2 'after.sentence :=
97  #3 'after.block :=
98}
99STRINGS { s t}
100FUNCTION {output.nonnull}
101{ 's :=
102  output.state mid.sentence =
103    { ", " * write$ }
104    { output.state after.block =
105        { add.period$ write$
106          newline$
107          "\newblock " write$
108        }
109        { output.state before.all =
110            'write$
111            { add.period$ " " * write$ }
112          if$
113        }
114      if$
115      mid.sentence 'output.state :=
116    }
117  if$
118  s
119}
120FUNCTION {output}
121{ duplicate$ empty$
122    'pop$
123    'output.nonnull
124  if$
125}
126FUNCTION {output.check}
127{ 't :=
128  duplicate$ empty$
129    { pop$ "empty " t * " in " * cite$ * warning$ }
130    'output.nonnull
131  if$
132}
133FUNCTION {fin.entry}
134{ add.period$
135  write$
136  newline$
137}
138
139FUNCTION {new.block}
140{ output.state before.all =
141    'skip$
142    { after.block 'output.state := }
143  if$
144}
145FUNCTION {new.sentence}
146{ output.state after.block =
147    'skip$
148    { output.state before.all =
149        'skip$
150        { after.sentence 'output.state := }
151      if$
152    }
153  if$
154}
155FUNCTION {add.blank}
156{  " " * before.all 'output.state :=
157}
158
159FUNCTION {date.block}
160{
161  skip$
162}
163
164FUNCTION {not}
165{   { #0 }
166    { #1 }
167  if$
168}
169FUNCTION {and}
170{   'skip$
171    { pop$ #0 }
172  if$
173}
174FUNCTION {or}
175{   { pop$ #1 }
176    'skip$
177  if$
178}
179FUNCTION {new.block.checkb}
180{ empty$
181  swap$ empty$
182  and
183    'skip$
184    'new.block
185  if$
186}
187FUNCTION {field.or.null}
188{ duplicate$ empty$
189    { pop$ "" }
190    'skip$
191  if$
192}
193FUNCTION {emphasize}
194{ duplicate$ empty$
195    { pop$ "" }
196    { "\emph{" swap$ * "}" * }
197  if$
198}
199FUNCTION {bolden}
200{ duplicate$ empty$
201    { pop$ "" }
202    { "\textbf{" swap$ * "}" * }
203  if$
204}
205FUNCTION {bib.name.font}
206{ duplicate$ empty$
207  { pop$ "" }
208  { "\bibnamefont{" swap$ * "}" * }
209  if$
210}
211FUNCTION {bib.fname.font}
212{ duplicate$ empty$
213  { pop$ "" }
214  { "\bibfnamefont{" swap$ * "}" * }
215  if$
216}
217FUNCTION {cite.name.font}
218{ duplicate$ empty$
219  { pop$ "" }
220  { "\citenamefont{" swap$ * "}" * }
221  if$
222}
223FUNCTION {tie.or.space.prefix}
224{ duplicate$ text.length$ #3 <
225    { "~" }
226    { " " }
227  if$
228  swap$
229}
230
231FUNCTION {capitalize}
232{ "u" change.case$ "t" change.case$ }
233
234FUNCTION {space.word}
235{ " " swap$ * " " * }
236 % Here are the language-specific definitions for explicit words.
237 % Each function has a name bbl.xxx where xxx is the English word.
238 % The language selected here is ENGLISH
239FUNCTION {bbl.and}
240{ "and"}
241
242FUNCTION {bbl.etal}
243{ "et~al." }
244
245FUNCTION {bbl.editors}
246{ "eds." }
247
248FUNCTION {bbl.editor}
249{ "ed." }
250
251FUNCTION {bbl.edby}
252{ "edited by" }
253
254FUNCTION {bbl.edition}
255{ "ed." }
256
257FUNCTION {bbl.volume}
258{ "vol." }
259
260FUNCTION {bbl.of}
261{ "of" }
262
263FUNCTION {bbl.number}
264{ "no." }
265
266FUNCTION {bbl.nr}
267{ "no." }
268
269FUNCTION {bbl.in}
270{ "in" }
271
272FUNCTION {bbl.pages}
273{ "pp." }
274
275FUNCTION {bbl.page}
276{ "p." }
277
278FUNCTION {bbl.eidpp}
279{ "pages" }
280
281FUNCTION {bbl.chapter}
282{ "chap." }
283
284FUNCTION {bbl.techrep}
285{ "Tech. Rep." }
286
287FUNCTION {bbl.mthesis}
288{ "Master's thesis" }
289
290FUNCTION {bbl.phdthesis}
291{ "Ph.D. thesis" }
292
293FUNCTION {bbl.first}
294{ "1st" }
295
296FUNCTION {bbl.second}
297{ "2nd" }
298
299FUNCTION {bbl.third}
300{ "3rd" }
301
302FUNCTION {bbl.fourth}
303{ "4th" }
304
305FUNCTION {bbl.fifth}
306{ "5th" }
307
308FUNCTION {bbl.st}
309{ "st" }
310
311FUNCTION {bbl.nd}
312{ "nd" }
313
314FUNCTION {bbl.rd}
315{ "rd" }
316
317FUNCTION {bbl.th}
318{ "th" }
319
320MACRO {jan} {"Jan."}
321
322MACRO {feb} {"Feb."}
323
324MACRO {mar} {"Mar."}
325
326MACRO {apr} {"Apr."}
327
328MACRO {may} {"May"}
329
330MACRO {jun} {"Jun."}
331
332MACRO {jul} {"Jul."}
333
334MACRO {aug} {"Aug."}
335
336MACRO {sep} {"Sep."}
337
338MACRO {oct} {"Oct."}
339
340MACRO {nov} {"Nov."}
341
342MACRO {dec} {"Dec."}
343
344FUNCTION {eng.ord}
345{ duplicate$ "1" swap$ *
346  #-2 #1 substring$ "1" =
347     { bbl.th * }
348     { duplicate$ #-1 #1 substring$
349       duplicate$ "1" =
350         { pop$ bbl.st * }
351         { duplicate$ "2" =
352             { pop$ bbl.nd * }
353             { "3" =
354                 { bbl.rd * }
355                 { bbl.th * }
356               if$
357             }
358           if$
359          }
360       if$
361     }
362   if$
363}
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390 %-------------------------------------------------------------------
391
392 % Begin module:
393
394
395 % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)]
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531MACRO {aa}{"Astron. \& Astrophys."}
532
533
534MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
535
536
537MACRO {aj} {"Astron. J."}
538
539
540MACRO {aph} {"Acta Phys."}
541
542MACRO {advp} {"Adv. Phys."}
543
544MACRO {ajp} {"Amer. J. Phys."}
545
546MACRO {ajm} {"Amer. J. Math."}
547
548MACRO {amsci} {"Amer. Sci."}
549
550MACRO {anofd} {"Ann. Fluid Dyn."}
551
552MACRO {am} {"Ann. Math."}
553
554MACRO {ap} {"Ann. Phys. (NY)"}
555
556MACRO {adp} {"Ann. Phys. (Leipzig)"}
557
558MACRO {ao} {"Appl. Opt."}
559
560MACRO {apl} {"Appl. Phys. Lett."}
561
562MACRO {app} {"Astroparticle Phys."}
563
564MACRO {apj} {"Astrophys. J."}
565
566
567MACRO {apjsup} {"Astrophys. J. Suppl."}
568
569
570MACRO {apss} {"Astrophys. Space Sci."}
571
572
573MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
574
575
576MACRO {baas} {"Bull. Amer. Astron. Soc."}
577
578
579MACRO {baps} {"Bull. Amer. Phys. Soc."}
580
581MACRO {cmp} {"Comm. Math. Phys."}
582
583MACRO {cpam} {"Commun. Pure Appl. Math."}
584
585MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
586
587MACRO {cpc} {"Comp. Phys. Comm."}
588
589MACRO {cqg} {"Class. Quant. Grav."}
590
591MACRO {cra} {"C. R. Acad. Sci. A"}
592
593MACRO {fed} {"Fusion Eng. \& Design"}
594
595MACRO {ft} {"Fusion Tech."}
596
597MACRO {grg} {"Gen. Relativ. Gravit."}
598
599MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
600
601MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
602
603MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
604
605MACRO {ip} {"Infrared Phys."}
606
607MACRO {irp} {"Infrared Phys."}
608
609MACRO {jap} {"J. Appl. Phys."}
610
611MACRO {jasa} {"J. Acoust. Soc. America"}
612
613MACRO {jcp} {"J. Comp. Phys."}
614
615MACRO {jetp} {"Sov. Phys.--JETP"}
616
617MACRO {jfe} {"J. Fusion Energy"}
618
619MACRO {jfm} {"J. Fluid Mech."}
620
621MACRO {jmp} {"J. Math. Phys."}
622
623MACRO {jne} {"J. Nucl. Energy"}
624
625MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
626
627MACRO {jnm} {"J. Nucl. Mat."}
628
629MACRO {jpc} {"J. Phys. Chem."}
630
631MACRO {jpp} {"J. Plasma Phys."}
632
633MACRO {jpsj} {"J. Phys. Soc. Japan"}
634
635MACRO {jsi} {"J. Sci. Instrum."}
636
637MACRO {jvst} {"J. Vac. Sci. \& Tech."}
638
639MACRO {nat} {"Nature"}
640
641MACRO {nature} {"Nature"}
642
643
644
645MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
646
647MACRO {nf} {"Nucl. Fusion"}
648
649MACRO {nim} {"Nucl. Inst. \& Meth."}
650
651MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
652
653MACRO {np} {"Nucl. Phys."}
654
655MACRO {npb} {"Nucl. Phys. B"}
656
657MACRO {nt/f} {"Nucl. Tech./Fusion"}
658
659MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
660
661MACRO {inc} {"Nuovo Cimento"}
662
663MACRO {nc} {"Nuovo Cimento"}
664
665MACRO {pf} {"Phys. Fluids"}
666
667MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
668
669MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
670
671MACRO {pl} {"Phys. Lett."}
672
673MACRO {pla} {"Phys. Lett. A"}
674
675MACRO {plb} {"Phys. Lett. B"}
676
677MACRO {prep} {"Phys. Rep."}
678
679MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
680
681MACRO {pp} {"Phys. Plasmas"}
682
683MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
684
685MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
686
687MACRO {prl} {"Phys. Rev. Lett."}
688
689MACRO {pr} {"Phys. Rev."}
690
691MACRO {physrev} {"Phys. Rev."}
692
693MACRO {pra} {"Phys. Rev. A"}
694
695MACRO {prb} {"Phys. Rev. B"}
696
697MACRO {prc} {"Phys. Rev. C"}
698
699MACRO {prd} {"Phys. Rev. D"}
700
701MACRO {pre} {"Phys. Rev. E"}
702
703MACRO {ps} {"Phys. Scripta"}
704
705MACRO {procrsl} {"Proc. Roy. Soc. London"}
706
707MACRO {rmp} {"Rev. Mod. Phys."}
708
709MACRO {rsi} {"Rev. Sci. Inst."}
710
711MACRO {science} {"Science"}
712
713
714MACRO {sciam} {"Sci. Am."}
715
716MACRO {sam} {"Stud. Appl. Math."}
717
718MACRO {sjpp} {"Sov. J. Plasma Phys."}
719
720MACRO {spd} {"Sov. Phys.--Doklady"}
721
722MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
723
724MACRO {spu} {"Sov. Phys.--Uspeki"}
725
726MACRO {st} {"Sky and Telesc."}
727
728
729
730
731
732 % End module: physjour.mbs
733
734
735
736 %-------------------------------------------------------------------
737 % Begin module:
738 % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)]
739MACRO {aisr} {"Adv. Space Res."}
740MACRO {ag} {"Ann. Geophys."}
741MACRO {anigeo} {"Ann. Geofis."}
742MACRO {angl} {"Ann. Glaciol."}
743MACRO {andmet} {"Ann. d. Meteor."}
744MACRO {andgeo} {"Ann. d. Geophys."}
745MACRO {andphy} {"Ann. Phys.-Paris"}
746MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
747MACRO {atph} {"Atm\'osphera"}
748MACRO {aao} {"Atmos. Ocean"}
749MACRO {ass}{"Astrophys. Space Sci."}
750MACRO {atenv} {"Atmos. Environ."}
751MACRO {aujag} {"Aust. J. Agr. Res."}
752MACRO {aumet} {"Aust. Meteorol. Mag."}
753MACRO {blmet} {"Bound.-Lay. Meteorol."}
754MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
755MACRO {cch} {"Clim. Change"}
756MACRO {cdyn} {"Clim. Dynam."}
757MACRO {cbul} {"Climatol. Bull."}
758MACRO {cap} {"Contrib. Atmos. Phys."}
759MACRO {dsr} {"Deep-Sea Res."}
760MACRO {dhz} {"Dtsch. Hydrogr. Z."}
761MACRO {dao} {"Dynam. Atmos. Oceans"}
762MACRO {eco} {"Ecology"}
763MACRO {empl}{"Earth, Moon and Planets"}
764MACRO {envres} {"Environ. Res."}
765MACRO {envst} {"Environ. Sci. Technol."}
766MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
767MACRO {expa}{"Exper. Astron."}
768MACRO {geoint} {"Geofis. Int."}
769MACRO {geopub} {"Geofys. Publ."}
770MACRO {geogeo} {"Geol. Geofiz."}
771MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
772MACRO {gfd} {"Geophys. Fluid Dyn."}
773MACRO {geomag} {"Geophys. Mag."}
774MACRO {georl} {"Geophys. Res. Lett."}
775MACRO {grl} {"Geophys. Res. Lett."}
776MACRO {ga} {"Geophysica"}
777MACRO {gs} {"Geophysics"}
778MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
779MACRO {ijawp} {"Int. J. Air Water Pollut."}
780MACRO {ijc} {"Int. J. Climatol."}
781MACRO {ijrs} {"Int. J. Remote Sens."}
782MACRO {jam} {"J. Appl. Meteorol."}
783MACRO {jaot} {"J. Atmos. Ocean. Technol."}
784MACRO {jatp} {"J. Atmos. Terr. Phys."}
785MACRO {jce} {"J. Climate"}
786MACRO {jcam} {"J. Climate Appl. Meteor."}
787MACRO {jcm} {"J. Climate Meteor."}
788MACRO {jcy} {"J. Climatol."}
789MACRO {jgr} {"J. Geophys. Res."}
790MACRO {jga} {"J. Glaciol."}
791MACRO {jh} {"J. Hydrol."}
792MACRO {jmr} {"J. Mar. Res."}
793MACRO {jmrj} {"J. Meteor. Res. Japan"}
794MACRO {jm} {"J. Meteor."}
795MACRO {jpo} {"J. Phys. Oceanogr."}
796MACRO {jra} {"J. Rech. Atmos."}
797MACRO {jaes} {"J. Aeronaut. Sci."}
798MACRO {japca} {"J. Air Pollut. Control Assoc."}
799MACRO {jas} {"J. Atmos. Sci."}
800MACRO {jmts} {"J. Mar. Technol. Soc."}
801MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
802MACRO {josj} {"J. Oceanogr. Soc. Japan"}
803MACRO {jwm} {"J. Wea. Mod."}
804MACRO {lao} {"Limnol. Oceanogr."}
805MACRO {mwl} {"Mar. Wea. Log"}
806MACRO {mau} {"Mausam"}
807MACRO {meteor} {"``Meteor'' Forschungsergeb."}
808MACRO {map} {"Meteorol. Atmos. Phys."}
809MACRO {metmag} {"Meteor. Mag."}
810MACRO {metmon} {"Meteor. Monogr."}
811MACRO {metrun} {"Meteor. Rundsch."}
812MACRO {metzeit} {"Meteor. Z."}
813MACRO {metgid} {"Meteor. Gidrol."}
814MACRO {mwr} {"Mon. Weather Rev."}
815MACRO {nwd} {"Natl. Weather Dig."}
816MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
817MACRO {npg} {"Nonlin. Proc. Geophys."}
818MACRO {om} {"Oceanogr. Meteorol."}
819MACRO {ocac} {"Oceanol. Acta"}
820MACRO {oceanus} {"Oceanus"}
821MACRO {paleoc} {"Paleoceanography"}
822MACRO {pce} {"Phys. Chem. Earth"}
823MACRO {pmg} {"Pap. Meteor. Geophys."}
824MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
825MACRO {physzeit} {"Phys. Z."}
826MACRO {pps} {"Planet. Space Sci."}
827MACRO {pss} {"Planet. Space Sci."}
828MACRO {pag} {"Pure Appl. Geophys."}
829MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
830MACRO {quatres} {"Quat. Res."}
831MACRO {rsci} {"Radio Sci."}
832MACRO {rse} {"Remote Sens. Environ."}
833MACRO {rgeo} {"Rev. Geophys."}
834MACRO {rgsp} {"Rev. Geophys. Space Phys."}
835MACRO {rdgeo} {"Rev. Geofis."}
836MACRO {revmeta} {"Rev. Meteorol."}
837MACRO {sgp}{"Surveys in Geophys."}
838MACRO {sp} {"Solar Phys."}
839MACRO {ssr} {"Space Sci. Rev."}
840MACRO {tellus} {"Tellus"}
841MACRO {tac} {"Theor. Appl. Climatol."}
842MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
843MACRO {wrr} {"Water Resour. Res."}
844MACRO {weather} {"Weather"}
845MACRO {wafc} {"Weather Forecast."}
846MACRO {ww} {"Weatherwise"}
847MACRO {wmob} {"WMO Bull."}
848MACRO {zeitmet} {"Z. Meteorol."}
849 % End module: geojour.mbs
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875 %-------------------------------------------------------------------
876
877 % Begin module:
878
879
880 % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985MACRO {appopt} {"Appl. Opt."}
986
987MACRO {bell} {"Bell Syst. Tech. J."}
988
989MACRO {ell} {"Electron. Lett."}
990
991MACRO {jasp} {"J. Appl. Spectr."}
992
993MACRO {jqe} {"IEEE J. Quantum Electron."}
994
995MACRO {jlwt} {"J. Lightwave Technol."}
996
997MACRO {jmo} {"J. Mod. Opt."}
998
999MACRO {josa} {"J. Opt. Soc. America"}
1000
1001MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
1002
1003MACRO {josab} {"J. Opt. Soc. Amer.~B"}
1004
1005MACRO {jdp} {"J. Phys. (Paris)"}
1006
1007MACRO {oc} {"Opt. Commun."}
1008
1009MACRO {ol} {"Opt. Lett."}
1010
1011MACRO {phtl} {"IEEE Photon. Technol. Lett."}
1012
1013MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
1014
1015MACRO {sse} {"Solid-State Electron."}
1016
1017MACRO {sjot} {"Sov. J. Opt. Technol."}
1018
1019MACRO {sjqe} {"Sov. J. Quantum Electron."}
1020
1021MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
1022
1023MACRO {stph} {"Sov. Phys.--Techn. Phys."}
1024
1025MACRO {stphl} {"Sov. Techn. Phys. Lett."}
1026
1027MACRO {vr} {"Vision Res."}
1028
1029MACRO {zph} {"Z. f. Physik"}
1030
1031MACRO {zphb} {"Z. f. Physik~B"}
1032
1033MACRO {zphd} {"Z. f. Physik~D"}
1034
1035MACRO {CLEO} {"CLEO"}
1036
1037MACRO {ASSL} {"Adv. Sol.-State Lasers"}
1038
1039MACRO {OSA}  {"OSA"}
1040
1041
1042
1043
1044 % End module: photjour.mbs
1045
1046
1047
1048%% Copyright 1994-2000 Patrick W Daly
1049MACRO {acmcs} {"ACM Comput. Surv."}
1050
1051MACRO {acta} {"Acta Inf."}
1052
1053MACRO {cacm} {"Commun. ACM"}
1054
1055MACRO {ibmjrd} {"IBM J. Res. Dev."}
1056
1057MACRO {ibmsj} {"IBM Syst.~J."}
1058
1059MACRO {ieeese} {"IEEE Trans. Software Eng."}
1060
1061MACRO {ieeetc} {"IEEE Trans. Comput."}
1062
1063MACRO {ieeetcad}
1064 {"IEEE Trans. Comput. Aid. Des."}
1065
1066MACRO {ipl} {"Inf. Process. Lett."}
1067
1068MACRO {jacm} {"J.~ACM"}
1069
1070MACRO {jcss} {"J.~Comput. Syst. Sci."}
1071
1072MACRO {scp} {"Sci. Comput. Program."}
1073
1074MACRO {sicomp} {"SIAM J. Comput."}
1075
1076MACRO {tocs} {"ACM Trans. Comput. Syst."}
1077
1078MACRO {tods} {"ACM Trans. Database Syst."}
1079
1080MACRO {tog} {"ACM Trans. Graphic."}
1081
1082MACRO {toms} {"ACM Trans. Math. Software"}
1083
1084MACRO {toois} {"ACM Trans. Office Inf. Syst."}
1085
1086MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
1087
1088MACRO {tcs} {"Theor. Comput. Sci."}
1089
1090FUNCTION {bibinfo.check}
1091{ swap$
1092  duplicate$ missing$
1093    {
1094      pop$ pop$
1095      ""
1096    }
1097    { duplicate$ empty$
1098        {
1099          swap$ pop$
1100        }
1101        { swap$
1102          "\bibinfo{" swap$ * "}{" * swap$ * "}" *
1103        }
1104      if$
1105    }
1106  if$
1107}
1108FUNCTION {bibinfo.warn}
1109{ swap$
1110  duplicate$ missing$
1111    {
1112      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
1113      ""
1114    }
1115    { duplicate$ empty$
1116        {
1117          swap$ "empty " swap$ * " in " * cite$ * warning$
1118        }
1119        { swap$
1120          "\bibinfo{" swap$ * "}{" * swap$ * "}" *
1121        }
1122      if$
1123    }
1124  if$
1125}
1126FUNCTION {format.eprint}
1127{ eprint duplicate$ empty$
1128    'skip$
1129    { "\eprint"
1130      archive empty$
1131        'skip$
1132        { "[" * archive * "]" * }
1133      if$
1134      "{" * swap$ * "}" *
1135    }
1136  if$
1137}
1138FUNCTION {format.url}
1139{ url empty$
1140    { "" }
1141    { "\urlprefix\url{" url * "}" * }
1142  if$
1143}
1144
1145STRINGS  { bibinfo}
1146INTEGERS { nameptr namesleft numnames }
1147
1148FUNCTION {format.names}
1149{ 'bibinfo :=
1150  duplicate$ empty$ 'skip$ {
1151  's :=
1152  "" 't :=
1153  #1 'nameptr :=
1154  s num.names$ 'numnames :=
1155  numnames 'namesleft :=
1156    { namesleft #0 > }
1157    { s nameptr
1158      "{f.}" format.name$ duplicate$ empty$ 'skip$
1159        { tie.or.space.prefix bib.fname.font swap$ * }
1160      if$
1161      s nameptr
1162      "{vv~}{ll}" format.name$ bib.name.font *
1163      s nameptr
1164      "{jj}" format.name$ duplicate$ empty$ 'skip$
1165        { bib.fname.font ", " swap$ * }
1166      if$
1167      *
1168      bibinfo bibinfo.check
1169      't :=
1170      nameptr #1 >
1171        {
1172          nameptr #0
1173          #10 +
1174          #1 + =
1175          numnames #0
1176          #10 +
1177          > and
1178            { "others" 't :=
1179              #1 'namesleft := }
1180            'skip$
1181          if$
1182          namesleft #1 >
1183            { ", " * t * }
1184            {
1185              numnames #2 >
1186                { "," * }
1187                'skip$
1188              if$
1189              s nameptr "{ll}" format.name$ duplicate$ "others" =
1190                { 't := }
1191                { pop$ }
1192              if$
1193              t "others" =
1194                {
1195                  " " * bbl.etal bib.name.font *
1196                }
1197                {
1198                  bbl.and
1199                  bib.name.font
1200                  space.word * t *
1201                }
1202              if$
1203            }
1204          if$
1205        }
1206        't
1207      if$
1208      nameptr #1 + 'nameptr :=
1209      namesleft #1 - 'namesleft :=
1210    }
1211  while$
1212  } if$
1213}
1214FUNCTION {format.names.ed}
1215{
1216  format.names
1217}
1218FUNCTION {format.key}
1219{ empty$
1220    { key field.or.null }
1221    { "" }
1222  if$
1223}
1224
1225FUNCTION {format.authors}
1226{ author "author" format.names
1227    duplicate$ empty$ 'skip$
1228    { collaboration "collaboration" bibinfo.check
1229      duplicate$ empty$ 'skip$
1230        { " (" swap$ * ")" * }
1231      if$
1232      *
1233    }
1234  if$
1235}
1236FUNCTION {get.bbl.editor}
1237{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
1238
1239FUNCTION {format.editors}
1240{ editor "editor" format.names duplicate$ empty$ 'skip$
1241    {
1242      "," *
1243      " " *
1244      get.bbl.editor
1245      *
1246    }
1247  if$
1248}
1249FUNCTION {format.isbn}
1250{ isbn "isbn" bibinfo.check
1251  duplicate$ empty$ 'skip$
1252    {
1253      "ISBN " swap$ *
1254    }
1255  if$
1256}
1257
1258FUNCTION {format.issn}
1259{ issn "issn" bibinfo.check
1260  duplicate$ empty$ 'skip$
1261    {
1262      "ISSN " swap$ *
1263    }
1264  if$
1265}
1266
1267FUNCTION {format.note}
1268{
1269 note empty$
1270    { "" }
1271    { note #1 #1 substring$
1272      duplicate$ "{" =
1273        'skip$
1274        { output.state mid.sentence =
1275          { "l" }
1276          { "u" }
1277        if$
1278        change.case$
1279        }
1280      if$
1281      note #2 global.max$ substring$ * "note" bibinfo.check
1282    }
1283  if$
1284}
1285
1286FUNCTION {format.title}
1287{ title
1288  duplicate$ empty$
1289    { skip$ }
1290    { "t" change.case$ }
1291  if$
1292  "title" bibinfo.check
1293  duplicate$ empty$ 'skip$
1294    {
1295      emphasize
1296    }
1297  if$
1298}
1299
1300FUNCTION {format.full.names}
1301{'s :=
1302 "" 't :=
1303  #1 'nameptr :=
1304  s num.names$ 'numnames :=
1305  numnames 'namesleft :=
1306    { namesleft #0 > }
1307    { s nameptr
1308      "{vv~}{ll}" format.name$
1309      't :=
1310      nameptr #1 >
1311        {
1312          nameptr #0
1313          #10 +
1314          #1 + =
1315          numnames #0
1316          #10 +
1317          > and
1318            { "others" 't :=
1319              #1 'namesleft := }
1320            'skip$
1321          if$
1322          namesleft #1 >
1323            { ", " * t * }
1324            {
1325              s nameptr "{ll}" format.name$ duplicate$ "others" =
1326                { 't := }
1327                { pop$ }
1328              if$
1329              t "others" =
1330                {
1331                  " " * bbl.etal *
1332                  cite.name.font
1333                }
1334                {
1335                  numnames #2 >
1336                    { "," * }
1337                    'skip$
1338                  if$
1339                  bbl.and
1340                  space.word * t *
1341                }
1342              if$
1343            }
1344          if$
1345        }
1346        't
1347      if$
1348      nameptr #1 + 'nameptr :=
1349      namesleft #1 - 'namesleft :=
1350    }
1351  while$
1352  t "others" =
1353    'skip$
1354    { cite.name.font }
1355  if$
1356}
1357
1358FUNCTION {author.editor.key.full}
1359{ author empty$
1360    { editor empty$
1361        { key empty$
1362            { cite$ #1 #3 substring$ }
1363            'key
1364          if$
1365        }
1366        { editor format.full.names }
1367      if$
1368    }
1369    { author format.full.names }
1370  if$
1371}
1372
1373FUNCTION {author.key.full}
1374{ author empty$
1375    { key empty$
1376         { cite$ #1 #3 substring$ }
1377          'key
1378      if$
1379    }
1380    { author format.full.names }
1381  if$
1382}
1383
1384FUNCTION {editor.key.full}
1385{ editor empty$
1386    { key empty$
1387         { cite$ #1 #3 substring$ }
1388          'key
1389      if$
1390    }
1391    { editor format.full.names }
1392  if$
1393}
1394
1395FUNCTION {make.full.names}
1396{ type$ "book" =
1397  type$ "inbook" =
1398  or
1399    'author.editor.key.full
1400    { type$ "proceedings" =
1401        'editor.key.full
1402        'author.key.full
1403      if$
1404    }
1405  if$
1406}
1407
1408FUNCTION {output.bibitem}
1409{ newline$
1410  "\bibitem[{" write$
1411  label write$
1412  ")" make.full.names duplicate$ short.list =
1413     { pop$ }
1414     { * }
1415   if$
1416  "}]{" * write$
1417  cite$ write$
1418  "}" write$
1419  newline$
1420  ""
1421  before.all 'output.state :=
1422}
1423
1424FUNCTION {n.dashify}
1425{
1426  't :=
1427  ""
1428    { t empty$ not }
1429    { t #1 #1 substring$ "-" =
1430        { t #1 #2 substring$ "--" = not
1431            { "--" *
1432              t #2 global.max$ substring$ 't :=
1433            }
1434            {   { t #1 #1 substring$ "-" = }
1435                { "-" *
1436                  t #2 global.max$ substring$ 't :=
1437                }
1438              while$
1439            }
1440          if$
1441        }
1442        { t #1 #1 substring$ *
1443          t #2 global.max$ substring$ 't :=
1444        }
1445      if$
1446    }
1447  while$
1448}
1449
1450FUNCTION {word.in}
1451{ bbl.in
1452  " " * }
1453
1454FUNCTION {format.date}
1455{ year "year" bibinfo.check duplicate$ empty$
1456    {
1457      "empty year in " cite$ * "; set to ????" * warning$
1458       pop$ "????"
1459    }
1460    'skip$
1461  if$
1462  extra.label *
1463  before.all 'output.state :=
1464  " (" swap$ * ")" *
1465}
1466FUNCTION {format.date.misc}
1467{
1468  year empty$ 'skip$ {
1469  format.date "year" output.check
1470  } if$
1471}
1472FUNCTION {format.btitle}
1473{ title "title" bibinfo.check
1474  duplicate$ empty$ 'skip$
1475    {
1476      emphasize
1477    }
1478  if$
1479}
1480FUNCTION {either.or.check}
1481{ empty$
1482    'pop$
1483    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
1484  if$
1485}
1486FUNCTION {format.bvolume}
1487{ volume empty$
1488    { "" }
1489    { bbl.volume volume tie.or.space.prefix
1490      "volume" bibinfo.check * *
1491      series "series" bibinfo.check
1492      duplicate$ empty$ 'pop$
1493        { swap$ bbl.of space.word * swap$
1494          emphasize * }
1495      if$
1496      "volume and number" number either.or.check
1497    }
1498  if$
1499}
1500FUNCTION {format.number.series}
1501{ volume empty$
1502    { number empty$
1503        { series field.or.null }
1504        { series empty$
1505            { number "number" bibinfo.check }
1506        { output.state mid.sentence =
1507            { bbl.number }
1508            { bbl.number capitalize }
1509          if$
1510          number tie.or.space.prefix "number" bibinfo.check * *
1511          bbl.in space.word *
1512          series "series" bibinfo.check *
1513        }
1514      if$
1515    }
1516      if$
1517    }
1518    { "" }
1519  if$
1520}
1521FUNCTION {is.num}
1522{ chr.to.int$
1523  duplicate$ "0" chr.to.int$ < not
1524  swap$ "9" chr.to.int$ > not and
1525}
1526
1527FUNCTION {extract.num}
1528{ duplicate$ 't :=
1529  "" 's :=
1530  { t empty$ not }
1531  { t #1 #1 substring$
1532    t #2 global.max$ substring$ 't :=
1533    duplicate$ is.num
1534      { s swap$ * 's := }
1535      { pop$ "" 't := }
1536    if$
1537  }
1538  while$
1539  s empty$
1540    'skip$
1541    { pop$ s }
1542  if$
1543}
1544
1545FUNCTION {convert.edition}
1546{ extract.num "l" change.case$ 's :=
1547  s "first" = s "1" = or
1548    { bbl.first 't := }
1549    { s "second" = s "2" = or
1550        { bbl.second 't := }
1551        { s "third" = s "3" = or
1552            { bbl.third 't := }
1553            { s "fourth" = s "4" = or
1554                { bbl.fourth 't := }
1555                { s "fifth" = s "5" = or
1556                    { bbl.fifth 't := }
1557                    { s #1 #1 substring$ is.num
1558                        { s eng.ord 't := }
1559                        { edition 't := }
1560                      if$
1561                    }
1562                  if$
1563                }
1564              if$
1565            }
1566          if$
1567        }
1568      if$
1569    }
1570  if$
1571  t
1572}
1573
1574FUNCTION {format.edition}
1575{ edition duplicate$ empty$ 'skip$
1576    {
1577      convert.edition
1578      output.state mid.sentence =
1579        { "l" }
1580        { "t" }
1581      if$ change.case$
1582      "edition" bibinfo.check
1583      " " * bbl.edition *
1584    }
1585  if$
1586}
1587INTEGERS { multiresult }
1588FUNCTION {multi.page.check}
1589{ 't :=
1590  #0 'multiresult :=
1591    { multiresult not
1592      t empty$ not
1593      and
1594    }
1595    { t #1 #1 substring$
1596      duplicate$ "-" =
1597      swap$ duplicate$ "," =
1598      swap$ "+" =
1599      or or
1600        { #1 'multiresult := }
1601        { t #2 global.max$ substring$ 't := }
1602      if$
1603    }
1604  while$
1605  multiresult
1606}
1607FUNCTION {format.pages}
1608{ pages duplicate$ empty$ 'skip$
1609    { duplicate$ multi.page.check
1610        {
1611          bbl.pages swap$
1612          n.dashify
1613        }
1614        {
1615          bbl.page swap$
1616        }
1617      if$
1618      tie.or.space.prefix
1619      "pages" bibinfo.check
1620      * *
1621    }
1622  if$
1623}
1624FUNCTION {first.page}
1625{ 't :=
1626  ""
1627    {  t empty$ not t #1 #1 substring$ "-" = not and }
1628    { t #1 #1 substring$ *
1629      t #2 global.max$ substring$ 't :=
1630    }
1631  while$
1632}
1633
1634FUNCTION {format.journal.pages}
1635{ pages duplicate$ empty$ 'pop$
1636    { swap$ duplicate$ empty$
1637        { pop$ pop$ format.pages }
1638        {
1639          ", " *
1640          swap$
1641          first.page
1642          "pages" bibinfo.check
1643          *
1644        }
1645      if$
1646    }
1647  if$
1648}
1649FUNCTION {format.journal.eid}
1650{ eid "eid" bibinfo.check
1651  duplicate$ empty$ 'skip$
1652    { swap$ duplicate$ empty$ 'skip$
1653      {
1654          ", " *
1655      }
1656      if$
1657      swap$
1658      numpages empty$ 'skip$
1659        { bbl.eidpp numpages tie.or.space.prefix
1660          "numpages" bibinfo.check * *
1661          " (" swap$ * ")" * *
1662        }
1663      if$
1664    }
1665  if$ *
1666}
1667FUNCTION {format.vol.num.pages}
1668{ volume field.or.null
1669  duplicate$ empty$ 'skip$
1670    {
1671      "volume" bibinfo.check
1672    }
1673  if$
1674  bolden
1675  eid empty$
1676    { format.journal.pages }
1677    { format.journal.eid }
1678  if$
1679}
1680
1681FUNCTION {format.chapter.pages}
1682{ chapter empty$
1683    'format.pages
1684    { type empty$
1685        { bbl.chapter }
1686        { type "l" change.case$
1687          "type" bibinfo.check
1688        }
1689      if$
1690      chapter tie.or.space.prefix
1691      "chapter" bibinfo.check
1692      * *
1693      pages empty$
1694        'skip$
1695        { ", " * format.pages * }
1696      if$
1697    }
1698  if$
1699}
1700
1701FUNCTION {format.booktitle}
1702{
1703  booktitle "booktitle" bibinfo.check
1704  emphasize
1705}
1706FUNCTION {format.in.ed.booktitle}
1707{ format.booktitle duplicate$ empty$ 'skip$
1708    {
1709      editor "editor" format.names.ed duplicate$ empty$ 'pop$
1710        {
1711          bbl.edby
1712          " " * swap$ *
1713          swap$
1714          "," *
1715          " " * swap$
1716          * }
1717      if$
1718      word.in swap$ *
1719    }
1720  if$
1721}
1722FUNCTION {format.thesis.type}
1723{ type duplicate$ empty$
1724    'pop$
1725    { swap$ pop$
1726      "t" change.case$ "type" bibinfo.check
1727    }
1728  if$
1729}
1730FUNCTION {format.tr.number}
1731{ number "number" bibinfo.check
1732  type duplicate$ empty$
1733    { pop$ bbl.techrep }
1734    'skip$
1735  if$
1736  "type" bibinfo.check
1737  swap$ duplicate$ empty$
1738    { pop$ "t" change.case$ }
1739    { tie.or.space.prefix * * }
1740  if$
1741}
1742FUNCTION {format.article.crossref}
1743{
1744  word.in
1745  " \cite{" * crossref * "}" *
1746}
1747FUNCTION {format.book.crossref}
1748{ volume duplicate$ empty$
1749    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
1750      pop$ word.in
1751    }
1752    { bbl.volume
1753      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
1754    }
1755  if$
1756  " \cite{" * crossref * "}" *
1757}
1758FUNCTION {format.incoll.inproc.crossref}
1759{
1760  word.in
1761  " \cite{" * crossref * "}" *
1762}
1763FUNCTION {format.org.or.pub}
1764{ 't :=
1765  ""
1766      add.blank "(" *
1767      t empty$
1768        { address "address" bibinfo.check *
1769        }
1770        { t *
1771          address empty$
1772            'skip$
1773            { ", " * address "address" bibinfo.check * }
1774          if$
1775        }
1776      if$
1777      year duplicate$ empty$
1778        { "empty year in " cite$ * "; set to ????" * warning$
1779           pop$ "????" }
1780        { "year" bibinfo.check extra.label * }
1781      if$
1782      t empty$ address empty$ and
1783        { * }
1784        { ", " swap$ * * }
1785      if$
1786      ")" *
1787}
1788FUNCTION {format.publisher.address}
1789{ publisher "publisher" bibinfo.warn format.org.or.pub
1790}
1791
1792FUNCTION {format.organization.address}
1793{ organization "organization" bibinfo.check format.org.or.pub
1794}
1795
1796FUNCTION {article}
1797{ output.bibitem
1798  format.authors "author" output.check
1799  author format.key output
1800  crossref missing$
1801    {
1802     ""
1803      journal
1804      duplicate$ empty$
1805      { pop$ pop$ } {
1806        "journal" bibinfo.check
1807        * "journal" output.check
1808      add.blank
1809      } if$
1810      format.vol.num.pages output
1811      format.date "year" output.check
1812    }
1813    { format.article.crossref output.nonnull
1814      format.pages output
1815    }
1816  if$
1817  format.issn output
1818  format.note output
1819  format.eprint output
1820  format.url output
1821  fin.entry
1822}
1823FUNCTION {book}
1824{ output.bibitem
1825  author empty$
1826    { format.editors "author and editor" output.check
1827      editor format.key output
1828    }
1829    { format.authors output.nonnull
1830      crossref missing$
1831        { "author and editor" editor either.or.check }
1832        'skip$
1833      if$
1834    }
1835  if$
1836  format.btitle "title" output.check
1837  crossref missing$
1838    { format.bvolume output
1839      format.number.series output
1840      format.publisher.address output
1841    }
1842    {
1843      format.book.crossref output.nonnull
1844      format.date "year" output.check
1845    }
1846  if$
1847  format.edition output
1848  format.isbn output
1849  format.note output
1850  format.eprint output
1851  format.url output
1852  fin.entry
1853}
1854FUNCTION {booklet}
1855{ output.bibitem
1856  format.authors output
1857  author format.key output
1858  format.title "title" output.check
1859  howpublished "howpublished" bibinfo.check output
1860  address "address" bibinfo.check output
1861  format.date "year" output.check
1862  format.isbn output
1863  format.note output
1864  format.eprint output
1865  format.url output
1866  fin.entry
1867}
1868
1869FUNCTION {inbook}
1870{ output.bibitem
1871  author empty$
1872    { format.editors "author and editor" output.check
1873      editor format.key output
1874    }
1875    { format.authors output.nonnull
1876      crossref missing$
1877        { "author and editor" editor either.or.check }
1878        'skip$
1879      if$
1880    }
1881  if$
1882  format.btitle "title" output.check
1883  crossref missing$
1884    {
1885      format.publisher.address output
1886      format.bvolume output
1887      format.chapter.pages "chapter and pages" output.check
1888      format.number.series output
1889    }
1890    {
1891      format.chapter.pages "chapter and pages" output.check
1892      format.book.crossref output.nonnull
1893      format.date "year" output.check
1894    }
1895  if$
1896  format.edition output
1897  crossref missing$
1898    { format.isbn output }
1899    'skip$
1900  if$
1901  format.note output
1902  format.eprint output
1903  format.url output
1904  fin.entry
1905}
1906
1907FUNCTION {incollection}
1908{ output.bibitem
1909  format.authors "author" output.check
1910  author format.key output
1911  crossref missing$
1912    { format.in.ed.booktitle "booktitle" output.check
1913      format.publisher.address output
1914      format.bvolume output
1915      format.number.series output
1916      format.chapter.pages output
1917      format.edition output
1918      format.isbn output
1919    }
1920    { format.incoll.inproc.crossref output.nonnull
1921      format.chapter.pages output
1922    }
1923  if$
1924  format.note output
1925  format.eprint output
1926  format.url output
1927  fin.entry
1928}
1929FUNCTION {inproceedings}
1930{ output.bibitem
1931  format.authors "author" output.check
1932  author format.key output
1933  crossref missing$
1934    { format.in.ed.booktitle "booktitle" output.check
1935      publisher empty$
1936        { format.organization.address output }
1937        { organization "organization" bibinfo.check output
1938          format.publisher.address output
1939        }
1940      if$
1941      format.bvolume output
1942      format.number.series output
1943      format.pages output
1944      format.isbn output
1945      format.issn output
1946    }
1947    { format.incoll.inproc.crossref output.nonnull
1948      format.pages output
1949    }
1950  if$
1951  format.note output
1952  format.eprint output
1953  format.url output
1954  fin.entry
1955}
1956FUNCTION {conference} { inproceedings }
1957FUNCTION {manual}
1958{ output.bibitem
1959  format.authors output
1960  author format.key output
1961  format.btitle "title" output.check
1962  organization "organization" bibinfo.check output
1963  address "address" bibinfo.check output
1964  format.edition output
1965  format.date "year" output.check
1966  format.note output
1967  format.eprint output
1968  format.url output
1969  fin.entry
1970}
1971
1972FUNCTION {mastersthesis}
1973{ output.bibitem
1974  format.authors "author" output.check
1975  author format.key output
1976  bbl.mthesis format.thesis.type output.nonnull
1977  school "school" bibinfo.warn output
1978  address "address" bibinfo.check output
1979  format.date "year" output.check
1980  format.note output
1981  format.eprint output
1982  format.url output
1983  fin.entry
1984}
1985
1986FUNCTION {misc}
1987{ output.bibitem
1988  format.authors output
1989  author format.key output
1990  format.title output
1991  howpublished "howpublished" bibinfo.check output
1992  format.date.misc
1993  format.note output
1994  format.eprint output
1995  format.url output
1996  fin.entry
1997}
1998FUNCTION {phdthesis}
1999{ output.bibitem
2000  format.authors "author" output.check
2001  author format.key output
2002  bbl.phdthesis format.thesis.type output.nonnull
2003  school "school" bibinfo.warn output
2004  address "address" bibinfo.check output
2005  format.date "year" output.check
2006  format.note output
2007  format.eprint output
2008  format.url output
2009  fin.entry
2010}
2011
2012FUNCTION {proceedings}
2013{ output.bibitem
2014  format.editors output
2015  editor format.key output
2016  format.btitle "title" output.check
2017  format.bvolume output
2018  format.number.series output
2019  publisher empty$
2020    { format.organization.address output }
2021    { organization "organization" bibinfo.check output
2022      format.publisher.address output
2023    }
2024  if$
2025  format.isbn output
2026  format.issn output
2027  format.note output
2028  format.eprint output
2029  format.url output
2030  fin.entry
2031}
2032
2033FUNCTION {techreport}
2034{ output.bibitem
2035  format.authors "author" output.check
2036  author format.key output
2037  format.tr.number output.nonnull
2038  institution "institution" bibinfo.warn output
2039  address "address" bibinfo.check output
2040  format.date "year" output.check
2041  format.note output
2042  format.eprint output
2043  format.url output
2044  fin.entry
2045}
2046
2047FUNCTION {unpublished}
2048{ output.bibitem
2049  format.authors "author" output.check
2050  author format.key output
2051  format.date.misc
2052  format.note "note" output.check
2053  format.eprint output
2054  format.url output
2055  fin.entry
2056}
2057
2058FUNCTION {default.type} { misc }
2059READ
2060FUNCTION {sortify}
2061{ purify$
2062  "l" change.case$
2063}
2064INTEGERS { len }
2065FUNCTION {chop.word}
2066{ 's :=
2067  'len :=
2068  s #1 len substring$ =
2069    { s len #1 + global.max$ substring$ }
2070    's
2071  if$
2072}
2073FUNCTION {format.lab.names}
2074{ 's :=
2075  "" 't :=
2076  s #1 "{vv~}{ll}" format.name$
2077  s num.names$ duplicate$
2078  #2 >
2079    { pop$
2080      " " * bbl.etal *
2081      cite.name.font
2082      "others" 't :=
2083    }
2084    { #2 <
2085        'skip$
2086        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
2087            {
2088              " " * bbl.etal *
2089              cite.name.font
2090              "others" 't :=
2091            }
2092            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
2093              * }
2094          if$
2095        }
2096      if$
2097    }
2098  if$
2099  t "others" =
2100    'skip$
2101    { cite.name.font }
2102  if$
2103}
2104
2105FUNCTION {author.key.label}
2106{ author empty$
2107    { key empty$
2108        { cite$ #1 #3 substring$ }
2109        'key
2110      if$
2111    }
2112    { author format.lab.names }
2113  if$
2114}
2115
2116FUNCTION {author.editor.key.label}
2117{ author empty$
2118    { editor empty$
2119        { key empty$
2120            { cite$ #1 #3 substring$ }
2121            'key
2122          if$
2123        }
2124        { editor format.lab.names }
2125      if$
2126    }
2127    { author format.lab.names }
2128  if$
2129}
2130
2131FUNCTION {editor.key.label}
2132{ editor empty$
2133    { key empty$
2134        { cite$ #1 #3 substring$ }
2135        'key
2136      if$
2137    }
2138    { editor format.lab.names }
2139  if$
2140}
2141
2142FUNCTION {calc.short.authors}
2143{ type$ "book" =
2144  type$ "inbook" =
2145  or
2146    'author.editor.key.label
2147    { type$ "proceedings" =
2148        'editor.key.label
2149        'author.key.label
2150      if$
2151    }
2152  if$
2153  'short.list :=
2154}
2155
2156FUNCTION {calc.label}
2157{ calc.short.authors
2158  short.list
2159  "("
2160  *
2161  year duplicate$ empty$
2162  short.list key field.or.null = or
2163     { pop$ "" }
2164     'skip$
2165  if$
2166  *
2167  'label :=
2168}
2169
2170FUNCTION {sort.format.names}
2171{ 's :=
2172  #1 'nameptr :=
2173  ""
2174  s num.names$ 'numnames :=
2175  numnames 'namesleft :=
2176    { namesleft #0 > }
2177    { s nameptr
2178      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
2179      format.name$ 't :=
2180      nameptr #1 >
2181        {
2182          nameptr #0
2183          #10 +
2184          #1 + =
2185          numnames #0
2186          #10 +
2187          > and
2188            { "others" 't :=
2189              #1 'namesleft := }
2190            'skip$
2191          if$
2192          "   "  *
2193          namesleft #1 = t "others" = and
2194            { "zzzzz" * }
2195            { t sortify * }
2196          if$
2197        }
2198        { t sortify * }
2199      if$
2200      nameptr #1 + 'nameptr :=
2201      namesleft #1 - 'namesleft :=
2202    }
2203  while$
2204}
2205
2206FUNCTION {sort.format.title}
2207{ 't :=
2208  "A " #2
2209    "An " #3
2210      "The " #4 t chop.word
2211    chop.word
2212  chop.word
2213  sortify
2214  #1 global.max$ substring$
2215}
2216FUNCTION {author.sort}
2217{ author empty$
2218    { key empty$
2219        { "to sort, need author or key in " cite$ * warning$
2220          ""
2221        }
2222        { key sortify }
2223      if$
2224    }
2225    { author sort.format.names }
2226  if$
2227}
2228FUNCTION {author.editor.sort}
2229{ author empty$
2230    { editor empty$
2231        { key empty$
2232            { "to sort, need author, editor, or key in " cite$ * warning$
2233              ""
2234            }
2235            { key sortify }
2236          if$
2237        }
2238        { editor sort.format.names }
2239      if$
2240    }
2241    { author sort.format.names }
2242  if$
2243}
2244FUNCTION {editor.sort}
2245{ editor empty$
2246    { key empty$
2247        { "to sort, need editor or key in " cite$ * warning$
2248          ""
2249        }
2250        { key sortify }
2251      if$
2252    }
2253    { editor sort.format.names }
2254  if$
2255}
2256INTEGERS { seq.num }
2257FUNCTION {init.seq}
2258{ #0 'seq.num :=}
2259EXECUTE {init.seq}
2260FUNCTION {int.to.fix}
2261{ "000000000" swap$ int.to.str$ *
2262  #-1 #10 substring$
2263}
2264FUNCTION {presort}
2265{ calc.label
2266  label sortify
2267  "    "
2268  *
2269  seq.num #1 + 'seq.num :=
2270  seq.num  int.to.fix
2271  'sort.label :=
2272  sort.label
2273  *
2274  "    "
2275  *
2276  title field.or.null
2277  sort.format.title
2278  *
2279  #1 entry.max$ substring$
2280  'sort.key$ :=
2281}
2282
2283ITERATE {presort}
2284SORT
2285STRINGS { last.label next.extra }
2286INTEGERS { last.extra.num number.label }
2287FUNCTION {initialize.extra.label.stuff}
2288{ #0 int.to.chr$ 'last.label :=
2289  "" 'next.extra :=
2290  #0 'last.extra.num :=
2291  #0 'number.label :=
2292}
2293FUNCTION {forward.pass}
2294{ last.label label =
2295    { last.extra.num #1 + 'last.extra.num :=
2296      last.extra.num int.to.chr$ 'extra.label :=
2297    }
2298    { "a" chr.to.int$ 'last.extra.num :=
2299      "" 'extra.label :=
2300      label 'last.label :=
2301    }
2302  if$
2303  number.label #1 + 'number.label :=
2304}
2305FUNCTION {reverse.pass}
2306{ next.extra "b" =
2307    { "a" 'extra.label := }
2308    'skip$
2309  if$
2310  extra.label 'next.extra :=
2311  extra.label
2312  duplicate$ empty$
2313    'skip$
2314    { "{\natexlab{" swap$ * "}}" * }
2315  if$
2316  'extra.label :=
2317  label extra.label * 'label :=
2318}
2319EXECUTE {initialize.extra.label.stuff}
2320ITERATE {forward.pass}
2321REVERSE {reverse.pass}
2322FUNCTION {bib.sort.order}
2323{ sort.label
2324  "    "
2325  *
2326  year field.or.null sortify
2327  *
2328  "    "
2329  *
2330  title field.or.null
2331  sort.format.title
2332  *
2333  #1 entry.max$ substring$
2334  'sort.key$ :=
2335}
2336ITERATE {bib.sort.order}
2337SORT
2338FUNCTION {begin.bib}
2339{ preamble$ empty$
2340    'skip$
2341    { preamble$ write$ newline$ }
2342  if$
2343  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
2344  write$ newline$
2345  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
2346  write$ newline$
2347  "\expandafter\ifx\csname bibnamefont\endcsname\relax"
2348  write$ newline$
2349  "  \def\bibnamefont#1{#1}\fi"
2350  write$ newline$
2351  "\expandafter\ifx\csname bibfnamefont\endcsname\relax"
2352  write$ newline$
2353  "  \def\bibfnamefont#1{#1}\fi"
2354  write$ newline$
2355  "\expandafter\ifx\csname citenamefont\endcsname\relax"
2356  write$ newline$
2357  "  \def\citenamefont#1{#1}\fi"
2358  write$ newline$
2359  "\expandafter\ifx\csname url\endcsname\relax"
2360  write$ newline$
2361  "  \def\url#1{\texttt{#1}}\fi"
2362  write$ newline$
2363  "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
2364  write$ newline$
2365  "\providecommand{\bibinfo}[2]{#2}"
2366  write$ newline$
2367  "\providecommand{\eprint}[2][]{\url{#2}}"
2368  write$ newline$
2369}
2370EXECUTE {begin.bib}
2371EXECUTE {init.state.consts}
2372ITERATE {call.type$}
2373FUNCTION {end.bib}
2374{ newline$
2375  "\end{thebibliography}" write$ newline$
2376}
2377EXECUTE {end.bib}
2378%% End of customized bst file
2379%%
2380%% End of file `apsrev.bst'.
Note: See TracBrowser for help on using the repository browser.