agufull08.bst (42484B)
1 %% 2 %% This is file `agufull08.bst', 3 %% generated with the docstrip utility. 4 %% 5 %% The original source files were: 6 %% 7 %% merlin.mbs (with options: `head,ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') 8 %% physjour.mbs (with options: `ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') 9 %% geojour.mbs (with options: `ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') 10 %% photjour.mbs (with options: `ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') 11 %% merlin.mbs (with options: `tail,ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') 12 %% ---------------------------------------- 13 %% *** For journals of the American Geophysical Union *** 14 %% *** NOTE: this version does not limit the number of authors in ref list. 15 %% *** Use agu08.bst to limit authors to maximum 9. 16 %% *** 17 %% ---------------------------------------- 18 %% *** Version 3.1 from 2008/08/27 19 %% *** Multiple authors of same first author and year now in order of citation 20 %% *** and other minor fixes 21 %% *** Renamed to agu08.bst and agufull08.bst 22 %% *** 23 %% *** Version 3.0 from 2004/02/06 24 %% *** Changed date format for AGU journals 25 %% *** The date now appears in parentheses after authors 26 %% *** 27 %% *** Version 2.2 from 2003/06/26 28 %% *** (with bug fix from 2003/08/19) 29 %% *** Includes new fields eid and doi 30 %% *** The eid is what the AGU calls "citation number" 31 %% *** and doi is the DOI number; both of these are 32 %% *** used as substitution for page number 33 %% *** The issue number is now also included as 34 %% *** 84(3) for vol. 84, nr. 3 35 %% *** 36 %% *** Version 2.1d from 1999/05/20 37 %% *** Book editors done right as P. James (Ed.), 38 %% *** Missing italics with some authors fixed 39 %% *** 40 %% *** Version 2.1c from 1999/02/11 41 %% *** This version does not crash older BibTeX installations with 42 %% *** more than 3000 wiz-functions 43 %% *** 44 %% *** Version 2.1b from 1997/11/18 45 %% *** (page numbers over 9999 are broken with commas, as 12,345) 46 %% *** 47 %% *** Version 2.1a from 1997/05/26 48 %% *** (contains improvements from copy editor comments, 49 %% *** notes added with first word lowercase (bug in 2.1 fixed) 50 %% *** and journal `number' never output 51 %% *** abbreviation for grl corrected) 52 %% *** 53 %% 54 %% Copyright 1994-2008 Patrick W Daly 55 % =============================================================== 56 % IMPORTANT NOTICE: 57 % This bibliographic style (bst) file has been generated from one or 58 % more master bibliographic style (mbs) files, listed above. 59 % 60 % This generated file can be redistributed and/or modified under the terms 61 % of the LaTeX Project Public License Distributed from CTAN 62 % archives in directory macros/latex/base/lppl.txt; either 63 % version 1 of the License, or any later version. 64 % =============================================================== 65 % Name and version information of the main mbs file: 66 % \ProvidesFile{merlin.mbs}[2008/08/27 4.30 (PWD, AO, DPC)] 67 % For use with BibTeX version 0.99a or later 68 %------------------------------------------------------------------- 69 % This bibliography style file is intended for texts in ENGLISH 70 % This is an author-year citation style bibliography. As such, it is 71 % non-standard LaTeX, and requires a special package file to function properly. 72 % Such a package is natbib.sty by Patrick W. Daly 73 % The form of the \bibitem entries is 74 % \bibitem[Jones et al.(1990)]{key}... 75 % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... 76 % The essential feature is that the label (the part in brackets) consists 77 % of the author names, as they should appear in the citation, with the year 78 % in parentheses following. There must be no space before the opening 79 % parenthesis! 80 % With natbib v5.3, a full list of authors may also follow the year. 81 % In natbib.sty, it is possible to define the type of enclosures that is 82 % really wanted (brackets or parentheses), but in either case, there must 83 % be parentheses in the label. 84 % The \cite command functions as follows: 85 % \citet{key} ==>> Jones et al. (1990) 86 % \citet*{key} ==>> Jones, Baker, and Smith (1990) 87 % \citep{key} ==>> (Jones et al., 1990) 88 % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) 89 % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) 90 % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) 91 % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32) 92 % \citeauthor{key} ==>> Jones et al. 93 % \citeauthor*{key} ==>> Jones, Baker, and Smith 94 % \citeyear{key} ==>> 1990 95 %--------------------------------------------------------------------- 96 97 ENTRY 98 { address 99 author 100 booktitle 101 chapter 102 doi 103 edition 104 editor 105 eid 106 howpublished 107 institution 108 journal 109 key 110 month 111 note 112 number 113 organization 114 pages 115 publisher 116 school 117 series 118 title 119 type 120 volume 121 year 122 } 123 {} 124 { label extra.label sort.label short.list } 125 INTEGERS { output.state before.all mid.sentence after.sentence after.block } 126 FUNCTION {init.state.consts} 127 { #0 'before.all := 128 #1 'mid.sentence := 129 #2 'after.sentence := 130 #3 'after.block := 131 } 132 STRINGS { s t} 133 FUNCTION {output.nonnull} 134 { 's := 135 output.state mid.sentence = 136 { ", " * write$ } 137 { output.state after.block = 138 { add.period$ write$ 139 newline$ 140 "\newblock " write$ 141 } 142 { output.state before.all = 143 'write$ 144 { add.period$ " " * write$ } 145 if$ 146 } 147 if$ 148 mid.sentence 'output.state := 149 } 150 if$ 151 s 152 } 153 FUNCTION {output} 154 { duplicate$ empty$ 155 'pop$ 156 'output.nonnull 157 if$ 158 } 159 FUNCTION {output.check} 160 { 't := 161 duplicate$ empty$ 162 { pop$ "empty " t * " in " * cite$ * warning$ } 163 'output.nonnull 164 if$ 165 } 166 FUNCTION {fin.entry} 167 { add.period$ 168 write$ 169 newline$ 170 } 171 172 FUNCTION {new.block} 173 { output.state before.all = 174 'skip$ 175 { after.block 'output.state := } 176 if$ 177 } 178 FUNCTION {new.sentence} 179 { output.state after.block = 180 'skip$ 181 { output.state before.all = 182 'skip$ 183 { after.sentence 'output.state := } 184 if$ 185 } 186 if$ 187 } 188 FUNCTION {add.blank} 189 { " " * before.all 'output.state := 190 } 191 192 FUNCTION {date.block} 193 { 194 skip$ 195 } 196 197 FUNCTION {not} 198 { { #0 } 199 { #1 } 200 if$ 201 } 202 FUNCTION {and} 203 { 'skip$ 204 { pop$ #0 } 205 if$ 206 } 207 FUNCTION {or} 208 { { pop$ #1 } 209 'skip$ 210 if$ 211 } 212 FUNCTION {new.block.checkb} 213 { empty$ 214 swap$ empty$ 215 and 216 'skip$ 217 'new.block 218 if$ 219 } 220 FUNCTION {field.or.null} 221 { duplicate$ empty$ 222 { pop$ "" } 223 'skip$ 224 if$ 225 } 226 FUNCTION {emphasize} 227 { duplicate$ empty$ 228 { pop$ "" } 229 { "\textit{" swap$ * "}" * } 230 if$ 231 } 232 FUNCTION {cite.name.font} 233 { emphasize } 234 FUNCTION {tie.or.space.prefix} 235 { duplicate$ text.length$ #3 < 236 { "~" } 237 { " " } 238 if$ 239 swap$ 240 } 241 242 FUNCTION {capitalize} 243 { "u" change.case$ "t" change.case$ } 244 245 FUNCTION {space.word} 246 { " " swap$ * " " * } 247 % Here are the language-specific definitions for explicit words. 248 % Each function has a name bbl.xxx where xxx is the English word. 249 % The language selected here is ENGLISH 250 FUNCTION {bbl.and} 251 { "and"} 252 253 FUNCTION {bbl.etal} 254 { "et~al." } 255 256 FUNCTION {bbl.editors} 257 { "eds." } 258 259 FUNCTION {bbl.editor} 260 { "ed." } 261 262 FUNCTION {bbl.edby} 263 { "edited by" } 264 265 FUNCTION {bbl.edition} 266 { "ed." } 267 268 FUNCTION {bbl.volume} 269 { "vol." } 270 271 FUNCTION {bbl.of} 272 { "of" } 273 274 FUNCTION {bbl.number} 275 { "no." } 276 277 FUNCTION {bbl.nr} 278 { "no." } 279 280 FUNCTION {bbl.in} 281 { "in" } 282 283 FUNCTION {bbl.pages} 284 { "pp." } 285 286 FUNCTION {bbl.page} 287 { "p." } 288 289 FUNCTION {bbl.chapter} 290 { "chap." } 291 292 FUNCTION {bbl.techrep} 293 { "Tech. Rep." } 294 295 FUNCTION {bbl.mthesis} 296 { "Master's thesis" } 297 298 FUNCTION {bbl.phdthesis} 299 { "Ph.D. thesis" } 300 301 MACRO {jan} {"Jan."} 302 303 MACRO {feb} {"Feb."} 304 305 MACRO {mar} {"Mar."} 306 307 MACRO {apr} {"Apr."} 308 309 MACRO {may} {"May"} 310 311 MACRO {jun} {"Jun."} 312 313 MACRO {jul} {"Jul."} 314 315 MACRO {aug} {"Aug."} 316 317 MACRO {sep} {"Sep."} 318 319 MACRO {oct} {"Oct."} 320 321 MACRO {nov} {"Nov."} 322 323 MACRO {dec} {"Dec."} 324 325 %------------------------------------------------------------------- 326 % Begin module: 327 % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] 328 MACRO {aa}{"Astron. \& Astrophys."} 329 MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} 330 MACRO {aj} {"Astron. J."} 331 MACRO {aph} {"Acta Phys."} 332 MACRO {advp} {"Adv. Phys."} 333 MACRO {ajp} {"Amer. J. Phys."} 334 MACRO {ajm} {"Amer. J. Math."} 335 MACRO {amsci} {"Amer. Sci."} 336 MACRO {anofd} {"Ann. Fluid Dyn."} 337 MACRO {am} {"Ann. Math."} 338 MACRO {ap} {"Ann. Phys. (NY)"} 339 MACRO {adp} {"Ann. Phys. (Leipzig)"} 340 MACRO {ao} {"Appl. Opt."} 341 MACRO {apl} {"Appl. Phys. Lett."} 342 MACRO {app} {"Astroparticle Phys."} 343 MACRO {apj} {"Astrophys. J."} 344 MACRO {apjsup} {"Astrophys. J. Suppl."} 345 MACRO {apss} {"Astrophys. Space Sci."} 346 MACRO {araa} {"Ann. Rev. Astron. Astrophys."} 347 MACRO {baas} {"Bull. Amer. Astron. Soc."} 348 MACRO {baps} {"Bull. Amer. Phys. Soc."} 349 MACRO {cmp} {"Comm. Math. Phys."} 350 MACRO {cpam} {"Commun. Pure Appl. Math."} 351 MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} 352 MACRO {cpc} {"Comp. Phys. Comm."} 353 MACRO {cqg} {"Class. Quant. Grav."} 354 MACRO {cra} {"C. R. Acad. Sci. A"} 355 MACRO {fed} {"Fusion Eng. \& Design"} 356 MACRO {ft} {"Fusion Tech."} 357 MACRO {grg} {"Gen. Relativ. Gravit."} 358 MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} 359 MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} 360 MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} 361 MACRO {ip} {"Infrared Phys."} 362 MACRO {irp} {"Infrared Phys."} 363 MACRO {jap} {"J. Appl. Phys."} 364 MACRO {jasa} {"J. Acoust. Soc. America"} 365 MACRO {jcp} {"J. Comp. Phys."} 366 MACRO {jetp} {"Sov. Phys.--JETP"} 367 MACRO {jfe} {"J. Fusion Energy"} 368 MACRO {jfm} {"J. Fluid Mech."} 369 MACRO {jmp} {"J. Math. Phys."} 370 MACRO {jne} {"J. Nucl. Energy"} 371 MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} 372 MACRO {jnm} {"J. Nucl. Mat."} 373 MACRO {jpc} {"J. Phys. Chem."} 374 MACRO {jpp} {"J. Plasma Phys."} 375 MACRO {jpsj} {"J. Phys. Soc. Japan"} 376 MACRO {jsi} {"J. Sci. Instrum."} 377 MACRO {jvst} {"J. Vac. Sci. \& Tech."} 378 MACRO {nat} {"Nature"} 379 MACRO {nature} {"Nature"} 380 MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} 381 MACRO {nf} {"Nucl. Fusion"} 382 MACRO {nim} {"Nucl. Inst. \& Meth."} 383 MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} 384 MACRO {np} {"Nucl. Phys."} 385 MACRO {npb} {"Nucl. Phys. B"} 386 MACRO {nt/f} {"Nucl. Tech./Fusion"} 387 MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} 388 MACRO {inc} {"Nuovo Cimento"} 389 MACRO {nc} {"Nuovo Cimento"} 390 MACRO {pf} {"Phys. Fluids"} 391 MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} 392 MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} 393 MACRO {pl} {"Phys. Lett."} 394 MACRO {pla} {"Phys. Lett. A"} 395 MACRO {plb} {"Phys. Lett. B"} 396 MACRO {prep} {"Phys. Rep."} 397 MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} 398 MACRO {pp} {"Phys. Plasmas"} 399 MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} 400 MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} 401 MACRO {prl} {"Phys. Rev. Lett."} 402 MACRO {pr} {"Phys. Rev."} 403 MACRO {physrev} {"Phys. Rev."} 404 MACRO {pra} {"Phys. Rev. A"} 405 MACRO {prb} {"Phys. Rev. B"} 406 MACRO {prc} {"Phys. Rev. C"} 407 MACRO {prd} {"Phys. Rev. D"} 408 MACRO {pre} {"Phys. Rev. E"} 409 MACRO {ps} {"Phys. Scripta"} 410 MACRO {procrsl} {"Proc. Roy. Soc. London"} 411 MACRO {rmp} {"Rev. Mod. Phys."} 412 MACRO {rsi} {"Rev. Sci. Inst."} 413 MACRO {science} {"Science"} 414 MACRO {sciam} {"Sci. Am."} 415 MACRO {sam} {"Stud. Appl. Math."} 416 MACRO {sjpp} {"Sov. J. Plasma Phys."} 417 MACRO {spd} {"Sov. Phys.--Doklady"} 418 MACRO {sptp} {"Sov. Phys.--Tech. Phys."} 419 MACRO {spu} {"Sov. Phys.--Uspeki"} 420 MACRO {st} {"Sky and Telesc."} 421 % End module: physjour.mbs 422 %------------------------------------------------------------------- 423 % Begin module: 424 % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] 425 MACRO {aisr} {"Adv. Space Res."} 426 MACRO {ag} {"Ann. Geophys."} 427 MACRO {anigeo} {"Ann. Geofis."} 428 MACRO {angl} {"Ann. Glaciol."} 429 MACRO {andmet} {"Ann. d. Meteor."} 430 MACRO {andgeo} {"Ann. d. Geophys."} 431 MACRO {andphy} {"Ann. Phys.-Paris"} 432 MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} 433 MACRO {atph} {"Atm\'osphera"} 434 MACRO {aao} {"Atmos. Ocean"} 435 MACRO {ass}{"Astrophys. Space Sci."} 436 MACRO {atenv} {"Atmos. Environ."} 437 MACRO {aujag} {"Aust. J. Agr. Res."} 438 MACRO {aumet} {"Aust. Meteorol. Mag."} 439 MACRO {blmet} {"Bound.-Lay. Meteorol."} 440 MACRO {bams} {"Bull. Amer. Meteorol. Soc."} 441 MACRO {cch} {"Clim. Change"} 442 MACRO {cdyn} {"Clim. Dynam."} 443 MACRO {cbul} {"Climatol. Bull."} 444 MACRO {cap} {"Contrib. Atmos. Phys."} 445 MACRO {dsr} {"Deep-Sea Res."} 446 MACRO {dhz} {"Dtsch. Hydrogr. Z."} 447 MACRO {dao} {"Dynam. Atmos. Oceans"} 448 MACRO {eco} {"Ecology"} 449 MACRO {empl}{"Earth, Moon and Planets"} 450 MACRO {envres} {"Environ. Res."} 451 MACRO {envst} {"Environ. Sci. Technol."} 452 MACRO {ecms} {"Estuarine Coastal Mar. Sci."} 453 MACRO {expa}{"Exper. Astron."} 454 MACRO {geoint} {"Geofis. Int."} 455 MACRO {geopub} {"Geofys. Publ."} 456 MACRO {geogeo} {"Geol. Geofiz."} 457 MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} 458 MACRO {gfd} {"Geophys. Fluid Dyn."} 459 MACRO {geomag} {"Geophys. Mag."} 460 MACRO {georl} {"Geophys. Res. Lett."} 461 MACRO {grl} {"Geophys. Res. Lett."} 462 MACRO {ga} {"Geophysica"} 463 MACRO {gs} {"Geophysics"} 464 MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} 465 MACRO {ijawp} {"Int. J. Air Water Pollut."} 466 MACRO {ijc} {"Int. J. Climatol."} 467 MACRO {ijrs} {"Int. J. Remote Sens."} 468 MACRO {jam} {"J. Appl. Meteorol."} 469 MACRO {jaot} {"J. Atmos. Ocean. Technol."} 470 MACRO {jatp} {"J. Atmos. Terr. Phys."} 471 MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} 472 MACRO {jce} {"J. Climate"} 473 MACRO {jcam} {"J. Climate Appl. Meteor."} 474 MACRO {jcm} {"J. Climate Meteor."} 475 MACRO {jcy} {"J. Climatol."} 476 MACRO {jgr} {"J. Geophys. Res."} 477 MACRO {jga} {"J. Glaciol."} 478 MACRO {jh} {"J. Hydrol."} 479 MACRO {jmr} {"J. Mar. Res."} 480 MACRO {jmrj} {"J. Meteor. Res. Japan"} 481 MACRO {jm} {"J. Meteor."} 482 MACRO {jpo} {"J. Phys. Oceanogr."} 483 MACRO {jra} {"J. Rech. Atmos."} 484 MACRO {jaes} {"J. Aeronaut. Sci."} 485 MACRO {japca} {"J. Air Pollut. Control Assoc."} 486 MACRO {jas} {"J. Atmos. Sci."} 487 MACRO {jmts} {"J. Mar. Technol. Soc."} 488 MACRO {jmsj} {"J. Meteorol. Soc. Japan"} 489 MACRO {josj} {"J. Oceanogr. Soc. Japan"} 490 MACRO {jwm} {"J. Wea. Mod."} 491 MACRO {lao} {"Limnol. Oceanogr."} 492 MACRO {mwl} {"Mar. Wea. Log"} 493 MACRO {mau} {"Mausam"} 494 MACRO {meteor} {"``Meteor'' Forschungsergeb."} 495 MACRO {map} {"Meteorol. Atmos. Phys."} 496 MACRO {metmag} {"Meteor. Mag."} 497 MACRO {metmon} {"Meteor. Monogr."} 498 MACRO {metrun} {"Meteor. Rundsch."} 499 MACRO {metzeit} {"Meteor. Z."} 500 MACRO {metgid} {"Meteor. Gidrol."} 501 MACRO {mwr} {"Mon. Weather Rev."} 502 MACRO {nwd} {"Natl. Weather Dig."} 503 MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} 504 MACRO {npg} {"Nonlin. Proc. Geophys."} 505 MACRO {om} {"Oceanogr. Meteorol."} 506 MACRO {ocac} {"Oceanol. Acta"} 507 MACRO {oceanus} {"Oceanus"} 508 MACRO {paleoc} {"Paleoceanography"} 509 MACRO {pce} {"Phys. Chem. Earth"} 510 MACRO {pmg} {"Pap. Meteor. Geophys."} 511 MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} 512 MACRO {physzeit} {"Phys. Z."} 513 MACRO {pps} {"Planet. Space Sci."} 514 MACRO {pss} {"Planet. Space Sci."} 515 MACRO {pag} {"Pure Appl. Geophys."} 516 MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} 517 MACRO {quatres} {"Quat. Res."} 518 MACRO {rsci} {"Radio Sci."} 519 MACRO {rse} {"Remote Sens. Environ."} 520 MACRO {rgeo} {"Rev. Geophys."} 521 MACRO {rgsp} {"Rev. Geophys. Space Phys."} 522 MACRO {rdgeo} {"Rev. Geofis."} 523 MACRO {revmeta} {"Rev. Meteorol."} 524 MACRO {sgp}{"Surveys in Geophys."} 525 MACRO {sp} {"Solar Phys."} 526 MACRO {ssr} {"Space Sci. Rev."} 527 MACRO {tellus} {"Tellus"} 528 MACRO {tac} {"Theor. Appl. Climatol."} 529 MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} 530 MACRO {wrr} {"Water Resour. Res."} 531 MACRO {weather} {"Weather"} 532 MACRO {wafc} {"Weather Forecast."} 533 MACRO {ww} {"Weatherwise"} 534 MACRO {wmob} {"WMO Bull."} 535 MACRO {zeitmet} {"Z. Meteorol."} 536 % End module: geojour.mbs 537 %------------------------------------------------------------------- 538 % Begin module: 539 % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] 540 541 MACRO {appopt} {"Appl. Opt."} 542 MACRO {bell} {"Bell Syst. Tech. J."} 543 MACRO {ell} {"Electron. Lett."} 544 MACRO {jasp} {"J. Appl. Spectr."} 545 MACRO {jqe} {"IEEE J. Quantum Electron."} 546 MACRO {jlwt} {"J. Lightwave Technol."} 547 MACRO {jmo} {"J. Mod. Opt."} 548 MACRO {josa} {"J. Opt. Soc. America"} 549 MACRO {josaa} {"J. Opt. Soc. Amer.~A"} 550 MACRO {josab} {"J. Opt. Soc. Amer.~B"} 551 MACRO {jdp} {"J. Phys. (Paris)"} 552 MACRO {oc} {"Opt. Commun."} 553 MACRO {ol} {"Opt. Lett."} 554 MACRO {phtl} {"IEEE Photon. Technol. Lett."} 555 MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} 556 MACRO {sse} {"Solid-State Electron."} 557 MACRO {sjot} {"Sov. J. Opt. Technol."} 558 MACRO {sjqe} {"Sov. J. Quantum Electron."} 559 MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} 560 MACRO {stph} {"Sov. Phys.--Techn. Phys."} 561 MACRO {stphl} {"Sov. Techn. Phys. Lett."} 562 MACRO {vr} {"Vision Res."} 563 MACRO {zph} {"Z. f. Physik"} 564 MACRO {zphb} {"Z. f. Physik~B"} 565 MACRO {zphd} {"Z. f. Physik~D"} 566 567 MACRO {CLEO} {"CLEO"} 568 MACRO {ASSL} {"Adv. Sol.-State Lasers"} 569 MACRO {OSA} {"OSA"} 570 % End module: photjour.mbs 571 %% Copyright 1994-2008 Patrick W Daly 572 MACRO {acmcs} {"ACM Comput. Surv."} 573 574 MACRO {acta} {"Acta Inf."} 575 576 MACRO {cacm} {"Commun. ACM"} 577 578 MACRO {ibmjrd} {"IBM J. Res. Dev."} 579 580 MACRO {ibmsj} {"IBM Syst.~J."} 581 582 MACRO {ieeese} {"IEEE Trans. Software Eng."} 583 584 MACRO {ieeetc} {"IEEE Trans. Comput."} 585 586 MACRO {ieeetcad} 587 {"IEEE Trans. Comput. Aid. Des."} 588 589 MACRO {ipl} {"Inf. Process. Lett."} 590 591 MACRO {jacm} {"J.~ACM"} 592 593 MACRO {jcss} {"J.~Comput. Syst. Sci."} 594 595 MACRO {scp} {"Sci. Comput. Program."} 596 597 MACRO {sicomp} {"SIAM J. Comput."} 598 599 MACRO {tocs} {"ACM Trans. Comput. Syst."} 600 601 MACRO {tods} {"ACM Trans. Database Syst."} 602 603 MACRO {tog} {"ACM Trans. Graphic."} 604 605 MACRO {toms} {"ACM Trans. Math. Software"} 606 607 MACRO {toois} {"ACM Trans. Office Inf. Syst."} 608 609 MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} 610 611 MACRO {tcs} {"Theor. Comput. Sci."} 612 613 FUNCTION {bibinfo.check} 614 { swap$ 615 duplicate$ missing$ 616 { 617 pop$ pop$ 618 "" 619 } 620 { duplicate$ empty$ 621 { 622 swap$ pop$ 623 } 624 { swap$ 625 pop$ 626 } 627 if$ 628 } 629 if$ 630 } 631 FUNCTION {bibinfo.warn} 632 { swap$ 633 duplicate$ missing$ 634 { 635 swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ 636 "" 637 } 638 { duplicate$ empty$ 639 { 640 swap$ "empty " swap$ * " in " * cite$ * warning$ 641 } 642 { swap$ 643 pop$ 644 } 645 if$ 646 } 647 if$ 648 } 649 INTEGERS { nameptr namesleft numnames } 650 651 652 STRINGS { bibinfo} 653 654 FUNCTION {format.names} 655 { 'bibinfo := 656 duplicate$ empty$ 'skip$ { 657 's := 658 "" 't := 659 #1 'nameptr := 660 s num.names$ 'numnames := 661 numnames 'namesleft := 662 { namesleft #0 > } 663 { s nameptr 664 duplicate$ #1 > 665 { "{f.~}{vv~}{ll}{, jj}" } 666 { "{vv~}{ll}{, f.}{, jj}" } 667 if$ 668 format.name$ 669 bibinfo bibinfo.check 670 't := 671 nameptr #1 > 672 { 673 namesleft #1 > 674 { ", " * t * } 675 { 676 s nameptr "{ll}" format.name$ duplicate$ "others" = 677 { 't := } 678 { pop$ } 679 if$ 680 "," * 681 t "others" = 682 { 683 " " * bbl.etal * 684 } 685 { 686 bbl.and 687 space.word * t * 688 } 689 if$ 690 } 691 if$ 692 } 693 't 694 if$ 695 nameptr #1 + 'nameptr := 696 namesleft #1 - 'namesleft := 697 } 698 while$ 699 } if$ 700 } 701 FUNCTION {format.names.ed} 702 { 703 'bibinfo := 704 duplicate$ empty$ 'skip$ { 705 's := 706 "" 't := 707 #1 'nameptr := 708 s num.names$ 'numnames := 709 numnames 'namesleft := 710 { namesleft #0 > } 711 { s nameptr 712 "{f.~}{vv~}{ll}{, jj}" 713 format.name$ 714 bibinfo bibinfo.check 715 't := 716 nameptr #1 > 717 { 718 namesleft #1 > 719 { ", " * t * } 720 { 721 s nameptr "{ll}" format.name$ duplicate$ "others" = 722 { 't := } 723 { pop$ } 724 if$ 725 numnames #2 > 726 { "," * } 727 'skip$ 728 if$ 729 t "others" = 730 { 731 732 " " * bbl.etal * 733 } 734 { 735 bbl.and 736 space.word * t * 737 } 738 if$ 739 } 740 if$ 741 } 742 't 743 if$ 744 nameptr #1 + 'nameptr := 745 namesleft #1 - 'namesleft := 746 } 747 while$ 748 } if$ 749 } 750 FUNCTION {format.key} 751 { empty$ 752 { key field.or.null } 753 { "" } 754 if$ 755 } 756 757 FUNCTION {format.authors} 758 { author "author" format.names 759 } 760 FUNCTION {get.bbl.editor} 761 { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } 762 763 FUNCTION {format.editors} 764 { editor "editor" format.names duplicate$ empty$ 'skip$ 765 { 766 " " * 767 get.bbl.editor 768 capitalize 769 "(" swap$ * ")" * 770 * 771 } 772 if$ 773 } 774 FUNCTION {format.book.pages} 775 { pages "pages" bibinfo.check 776 duplicate$ empty$ 'skip$ 777 { " " * bbl.pages * } 778 if$ 779 } 780 FUNCTION {format.doi} 781 { doi empty$ 782 { "" } 783 { 784 "\doi{" doi * "}" * 785 } 786 if$ 787 } 788 FUNCTION {format.note} 789 { 790 note empty$ 791 { "" } 792 { note #1 #1 substring$ 793 duplicate$ "{" = 794 'skip$ 795 { output.state mid.sentence = 796 { "l" } 797 { "u" } 798 if$ 799 change.case$ 800 } 801 if$ 802 note #2 global.max$ substring$ * "note" bibinfo.check 803 } 804 if$ 805 } 806 807 FUNCTION {format.title} 808 { title 809 duplicate$ empty$ 'skip$ 810 { "t" change.case$ } 811 if$ 812 "title" bibinfo.check 813 } 814 FUNCTION {format.full.names} 815 {'s := 816 "" 't := 817 #1 'nameptr := 818 s num.names$ 'numnames := 819 numnames 'namesleft := 820 { namesleft #0 > } 821 { s nameptr 822 "{vv~}{ll}" format.name$ 823 't := 824 nameptr #1 > 825 { 826 namesleft #1 > 827 { ", " * t * } 828 { 829 s nameptr "{ll}" format.name$ duplicate$ "others" = 830 { 't := } 831 { pop$ } 832 if$ 833 t "others" = 834 { 835 " " * bbl.etal * 836 cite.name.font 837 } 838 { 839 numnames #2 > 840 { "," * } 841 'skip$ 842 if$ 843 bbl.and 844 space.word * t * 845 } 846 if$ 847 } 848 if$ 849 } 850 't 851 if$ 852 nameptr #1 + 'nameptr := 853 namesleft #1 - 'namesleft := 854 } 855 while$ 856 t "others" = 857 'skip$ 858 { cite.name.font } 859 if$ 860 } 861 862 FUNCTION {author.editor.key.full} 863 { author empty$ 864 { editor empty$ 865 { key empty$ 866 { cite$ #1 #3 substring$ } 867 'key 868 if$ 869 } 870 { editor format.full.names } 871 if$ 872 } 873 { author format.full.names } 874 if$ 875 } 876 877 FUNCTION {author.key.full} 878 { author empty$ 879 { key empty$ 880 { cite$ #1 #3 substring$ } 881 'key 882 if$ 883 } 884 { author format.full.names } 885 if$ 886 } 887 888 FUNCTION {editor.key.full} 889 { editor empty$ 890 { key empty$ 891 { cite$ #1 #3 substring$ } 892 'key 893 if$ 894 } 895 { editor format.full.names } 896 if$ 897 } 898 899 FUNCTION {make.full.names} 900 { type$ "book" = 901 type$ "inbook" = 902 or 903 'author.editor.key.full 904 { type$ "proceedings" = 905 'editor.key.full 906 'author.key.full 907 if$ 908 } 909 if$ 910 } 911 912 FUNCTION {output.bibitem} 913 { newline$ 914 "\bibitem[{" write$ 915 label write$ 916 ")" make.full.names duplicate$ short.list = 917 { pop$ } 918 { * } 919 if$ 920 "}]{" * write$ 921 cite$ write$ 922 "}" write$ 923 newline$ 924 "" 925 before.all 'output.state := 926 } 927 928 FUNCTION {if.digit} 929 { duplicate$ "0" = 930 swap$ duplicate$ "1" = 931 swap$ duplicate$ "2" = 932 swap$ duplicate$ "3" = 933 swap$ duplicate$ "4" = 934 swap$ duplicate$ "5" = 935 swap$ duplicate$ "6" = 936 swap$ duplicate$ "7" = 937 swap$ duplicate$ "8" = 938 swap$ "9" = or or or or or or or or or 939 } 940 FUNCTION {n.separate} 941 { 't := 942 "" 943 #0 'numnames := 944 { t empty$ not } 945 { t #-1 #1 substring$ if.digit 946 { numnames #1 + 'numnames := } 947 { #0 'numnames := } 948 if$ 949 t #-1 #1 substring$ swap$ * 950 t #-2 global.max$ substring$ 't := 951 numnames #5 = 952 { duplicate$ #1 #2 substring$ swap$ 953 #3 global.max$ substring$ 954 "," swap$ * * 955 } 956 'skip$ 957 if$ 958 } 959 while$ 960 } 961 FUNCTION {n.dashify} 962 { 963 n.separate 964 't := 965 "" 966 { t empty$ not } 967 { t #1 #1 substring$ "-" = 968 { t #1 #2 substring$ "--" = not 969 { "--" * 970 t #2 global.max$ substring$ 't := 971 } 972 { { t #1 #1 substring$ "-" = } 973 { "-" * 974 t #2 global.max$ substring$ 't := 975 } 976 while$ 977 } 978 if$ 979 } 980 { t #1 #1 substring$ * 981 t #2 global.max$ substring$ 't := 982 } 983 if$ 984 } 985 while$ 986 } 987 988 FUNCTION {word.in} 989 { bbl.in 990 " " * } 991 992 FUNCTION {format.date} 993 { year "year" bibinfo.check duplicate$ empty$ 994 { 995 } 996 'skip$ 997 if$ 998 extra.label * 999 before.all 'output.state := 1000 " (" swap$ * ")" * 1001 } 1002 FUNCTION {format.btitle} 1003 { title "title" bibinfo.check 1004 duplicate$ empty$ 'skip$ 1005 { 1006 emphasize 1007 } 1008 if$ 1009 } 1010 FUNCTION {either.or.check} 1011 { empty$ 1012 'pop$ 1013 { "can't use both " swap$ * " fields in " * cite$ * warning$ } 1014 if$ 1015 } 1016 FUNCTION {format.bvolume} 1017 { volume empty$ 1018 { "" } 1019 { bbl.volume volume tie.or.space.prefix 1020 "volume" bibinfo.check * * 1021 series "series" bibinfo.check 1022 duplicate$ empty$ 'pop$ 1023 { emphasize ", " * swap$ * } 1024 if$ 1025 "volume and number" number either.or.check 1026 } 1027 if$ 1028 } 1029 FUNCTION {format.number.series} 1030 { volume empty$ 1031 { number empty$ 1032 { series field.or.null } 1033 { series empty$ 1034 { number "number" bibinfo.check } 1035 { output.state mid.sentence = 1036 { bbl.number } 1037 { bbl.number capitalize } 1038 if$ 1039 number tie.or.space.prefix "number" bibinfo.check * * 1040 bbl.in space.word * 1041 series "series" bibinfo.check * 1042 } 1043 if$ 1044 } 1045 if$ 1046 } 1047 { "" } 1048 if$ 1049 } 1050 1051 FUNCTION {format.edition} 1052 { edition duplicate$ empty$ 'skip$ 1053 { 1054 output.state mid.sentence = 1055 { "l" } 1056 { "t" } 1057 if$ change.case$ 1058 "edition" bibinfo.check 1059 " " * bbl.edition * 1060 } 1061 if$ 1062 } 1063 INTEGERS { multiresult } 1064 FUNCTION {multi.page.check} 1065 { 't := 1066 #0 'multiresult := 1067 { multiresult not 1068 t empty$ not 1069 and 1070 } 1071 { t #1 #1 substring$ 1072 duplicate$ "-" = 1073 swap$ duplicate$ "," = 1074 swap$ "+" = 1075 or or 1076 { #1 'multiresult := } 1077 { t #2 global.max$ substring$ 't := } 1078 if$ 1079 } 1080 while$ 1081 multiresult 1082 } 1083 FUNCTION {format.pages} 1084 { pages duplicate$ empty$ 'skip$ 1085 { duplicate$ multi.page.check 1086 { 1087 bbl.pages swap$ 1088 n.dashify 1089 } 1090 { 1091 bbl.page swap$ 1092 } 1093 if$ 1094 tie.or.space.prefix 1095 "pages" bibinfo.check 1096 * * 1097 } 1098 if$ 1099 } 1100 FUNCTION {format.journal.pages} 1101 { pages duplicate$ empty$ 'pop$ 1102 { swap$ duplicate$ empty$ 1103 { pop$ pop$ format.pages } 1104 { 1105 ", " * 1106 swap$ 1107 n.dashify 1108 "pages" bibinfo.check 1109 * 1110 } 1111 if$ 1112 } 1113 if$ 1114 } 1115 FUNCTION {format.journal.eid} 1116 { eid "eid" bibinfo.check 1117 duplicate$ empty$ 'pop$ 1118 { swap$ duplicate$ empty$ 'skip$ 1119 { 1120 ", " * 1121 } 1122 if$ 1123 swap$ * 1124 } 1125 if$ 1126 } 1127 FUNCTION {format.vol.num.pages} 1128 { volume field.or.null 1129 duplicate$ empty$ 'skip$ 1130 { 1131 "volume" bibinfo.check 1132 } 1133 if$ 1134 emphasize 1135 number "number" bibinfo.check duplicate$ empty$ 'skip$ 1136 { 1137 swap$ duplicate$ empty$ 1138 { "there's a number but no volume in " cite$ * warning$ } 1139 'skip$ 1140 if$ 1141 swap$ 1142 "(" swap$ * ")" * 1143 } 1144 if$ * 1145 eid empty$ 1146 { format.journal.pages } 1147 { format.journal.eid } 1148 if$ 1149 } 1150 1151 FUNCTION {format.chapter.pages} 1152 { chapter empty$ 1153 'format.pages 1154 { type empty$ 1155 { bbl.chapter } 1156 { type "l" change.case$ 1157 "type" bibinfo.check 1158 } 1159 if$ 1160 chapter tie.or.space.prefix 1161 "chapter" bibinfo.check 1162 * * 1163 pages empty$ 1164 'skip$ 1165 { ", " * format.pages * } 1166 if$ 1167 } 1168 if$ 1169 } 1170 1171 FUNCTION {format.booktitle} 1172 { 1173 booktitle "booktitle" bibinfo.check 1174 emphasize 1175 } 1176 FUNCTION {format.in.ed.booktitle} 1177 { format.booktitle duplicate$ empty$ 'skip$ 1178 { 1179 format.bvolume duplicate$ empty$ 'pop$ 1180 { ", " swap$ * * } 1181 if$ 1182 editor "editor" format.names.ed duplicate$ empty$ 'pop$ 1183 { 1184 bbl.edby 1185 " " * swap$ * 1186 swap$ 1187 "," * 1188 " " * swap$ 1189 * } 1190 if$ 1191 word.in swap$ * 1192 } 1193 if$ 1194 } 1195 FUNCTION {format.thesis.type} 1196 { type duplicate$ empty$ 1197 'pop$ 1198 { swap$ pop$ 1199 "t" change.case$ "type" bibinfo.check 1200 } 1201 if$ 1202 } 1203 FUNCTION {format.tr.number} 1204 { number "number" bibinfo.check 1205 type duplicate$ empty$ 1206 { pop$ bbl.techrep } 1207 'skip$ 1208 if$ 1209 "type" bibinfo.check 1210 swap$ duplicate$ empty$ 1211 { pop$ "t" change.case$ } 1212 { tie.or.space.prefix * * } 1213 if$ 1214 } 1215 FUNCTION {format.article.crossref} 1216 { 1217 word.in 1218 " \cite{" * crossref * "}" * 1219 } 1220 FUNCTION {format.book.crossref} 1221 { volume duplicate$ empty$ 1222 { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 1223 pop$ word.in 1224 } 1225 { bbl.volume 1226 swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * 1227 } 1228 if$ 1229 " \cite{" * crossref * "}" * 1230 } 1231 FUNCTION {format.incoll.inproc.crossref} 1232 { 1233 word.in 1234 " \cite{" * crossref * "}" * 1235 } 1236 FUNCTION {format.org.or.pub} 1237 { 't := 1238 "" 1239 address empty$ t empty$ and 1240 'skip$ 1241 { 1242 t empty$ 1243 { address "address" bibinfo.check * 1244 } 1245 { t * 1246 address empty$ 1247 'skip$ 1248 { ", " * address "address" bibinfo.check * } 1249 if$ 1250 } 1251 if$ 1252 } 1253 if$ 1254 } 1255 FUNCTION {format.publisher.address} 1256 { publisher "publisher" bibinfo.warn format.org.or.pub 1257 } 1258 1259 FUNCTION {format.organization.address} 1260 { organization "organization" bibinfo.check format.org.or.pub 1261 } 1262 1263 FUNCTION {article} 1264 { output.bibitem 1265 format.authors "author" output.check 1266 author format.key output 1267 format.date "year" output.check 1268 date.block 1269 format.title "title" output.check 1270 crossref missing$ 1271 { 1272 journal 1273 "journal" bibinfo.check 1274 emphasize 1275 "journal" output.check 1276 format.vol.num.pages output 1277 format.doi output 1278 } 1279 { format.article.crossref output.nonnull 1280 format.pages output 1281 } 1282 if$ 1283 format.note output 1284 fin.entry 1285 } 1286 FUNCTION {book} 1287 { output.bibitem 1288 author empty$ 1289 { format.editors "author and editor" output.check 1290 editor format.key output 1291 } 1292 { format.authors output.nonnull 1293 crossref missing$ 1294 { "author and editor" editor either.or.check } 1295 'skip$ 1296 if$ 1297 } 1298 if$ 1299 format.date "year" output.check 1300 date.block 1301 format.btitle "title" output.check 1302 crossref missing$ 1303 { format.bvolume output 1304 format.number.series output 1305 format.edition output 1306 format.book.pages output 1307 format.publisher.address output 1308 } 1309 { 1310 format.book.crossref output.nonnull 1311 } 1312 if$ 1313 format.doi output 1314 format.note output 1315 fin.entry 1316 } 1317 FUNCTION {booklet} 1318 { output.bibitem 1319 format.authors output 1320 author format.key output 1321 format.date "year" output.check 1322 date.block 1323 format.title "title" output.check 1324 howpublished "howpublished" bibinfo.check output 1325 address "address" bibinfo.check output 1326 format.book.pages output 1327 format.doi output 1328 format.note output 1329 fin.entry 1330 } 1331 1332 FUNCTION {inbook} 1333 { output.bibitem 1334 author empty$ 1335 { format.editors "author and editor" output.check 1336 editor format.key output 1337 } 1338 { format.authors output.nonnull 1339 crossref missing$ 1340 { "author and editor" editor either.or.check } 1341 'skip$ 1342 if$ 1343 } 1344 if$ 1345 format.date "year" output.check 1346 date.block 1347 format.btitle "title" output.check 1348 crossref missing$ 1349 { 1350 format.bvolume output 1351 format.chapter.pages "chapter and pages" output.check 1352 format.number.series output 1353 format.edition output 1354 format.publisher.address output 1355 } 1356 { 1357 format.chapter.pages "chapter and pages" output.check 1358 format.book.crossref output.nonnull 1359 } 1360 if$ 1361 format.doi output 1362 format.note output 1363 fin.entry 1364 } 1365 1366 FUNCTION {incollection} 1367 { output.bibitem 1368 format.authors "author" output.check 1369 author format.key output 1370 format.date "year" output.check 1371 date.block 1372 format.title "title" output.check 1373 crossref missing$ 1374 { format.in.ed.booktitle "booktitle" output.check 1375 format.number.series output 1376 format.edition output 1377 format.chapter.pages output 1378 format.publisher.address output 1379 } 1380 { format.incoll.inproc.crossref output.nonnull 1381 format.chapter.pages output 1382 } 1383 if$ 1384 format.doi output 1385 format.note output 1386 fin.entry 1387 } 1388 FUNCTION {inproceedings} 1389 { output.bibitem 1390 format.authors "author" output.check 1391 author format.key output 1392 format.date "year" output.check 1393 date.block 1394 format.title "title" output.check 1395 crossref missing$ 1396 { format.in.ed.booktitle "booktitle" output.check 1397 format.number.series output 1398 format.pages output 1399 publisher empty$ 1400 { format.organization.address output } 1401 { organization "organization" bibinfo.check output 1402 format.publisher.address output 1403 } 1404 if$ 1405 } 1406 { format.incoll.inproc.crossref output.nonnull 1407 format.pages output 1408 } 1409 if$ 1410 format.doi output 1411 format.note output 1412 fin.entry 1413 } 1414 FUNCTION {conference} { inproceedings } 1415 FUNCTION {manual} 1416 { output.bibitem 1417 format.authors output 1418 author format.key output 1419 format.date "year" output.check 1420 date.block 1421 format.btitle "title" output.check 1422 organization "organization" bibinfo.check output 1423 address "address" bibinfo.check output 1424 format.edition output 1425 format.doi output 1426 format.note output 1427 fin.entry 1428 } 1429 1430 FUNCTION {mastersthesis} 1431 { output.bibitem 1432 format.authors "author" output.check 1433 author format.key output 1434 format.date "year" output.check 1435 date.block 1436 format.title 1437 "title" output.check 1438 bbl.mthesis format.thesis.type output.nonnull 1439 school "school" bibinfo.warn output 1440 address "address" bibinfo.check output 1441 format.doi output 1442 format.note output 1443 fin.entry 1444 } 1445 1446 FUNCTION {misc} 1447 { output.bibitem 1448 format.authors output 1449 author format.key output 1450 format.date "year" output.check 1451 date.block 1452 format.title output 1453 howpublished "howpublished" bibinfo.check output 1454 format.doi output 1455 format.note output 1456 fin.entry 1457 } 1458 FUNCTION {phdthesis} 1459 { output.bibitem 1460 format.authors "author" output.check 1461 author format.key output 1462 format.date "year" output.check 1463 date.block 1464 format.title 1465 "title" output.check 1466 bbl.phdthesis format.thesis.type output.nonnull 1467 school "school" bibinfo.warn output 1468 address "address" bibinfo.check output 1469 format.doi output 1470 format.note output 1471 fin.entry 1472 } 1473 1474 FUNCTION {proceedings} 1475 { output.bibitem 1476 format.editors output 1477 editor format.key output 1478 format.date "year" output.check 1479 date.block 1480 format.btitle "title" output.check 1481 format.bvolume output 1482 format.number.series output 1483 publisher empty$ 1484 { format.organization.address output } 1485 { organization "organization" bibinfo.check output 1486 format.publisher.address output 1487 } 1488 if$ 1489 format.doi output 1490 format.note output 1491 fin.entry 1492 } 1493 1494 FUNCTION {techreport} 1495 { output.bibitem 1496 format.authors "author" output.check 1497 author format.key output 1498 format.date "year" output.check 1499 date.block 1500 format.title 1501 "title" output.check 1502 format.tr.number emphasize output.nonnull 1503 institution "institution" bibinfo.warn output 1504 address "address" bibinfo.check output 1505 format.doi output 1506 format.note output 1507 fin.entry 1508 } 1509 1510 FUNCTION {unpublished} 1511 { output.bibitem 1512 format.authors "author" output.check 1513 author format.key output 1514 format.date "year" output.check 1515 date.block 1516 format.title "title" output.check 1517 format.doi output 1518 format.note "note" output.check 1519 fin.entry 1520 } 1521 1522 FUNCTION {default.type} { misc } 1523 READ 1524 FUNCTION {sortify} 1525 { purify$ 1526 "l" change.case$ 1527 } 1528 INTEGERS { len } 1529 FUNCTION {chop.word} 1530 { 's := 1531 'len := 1532 s #1 len substring$ = 1533 { s len #1 + global.max$ substring$ } 1534 's 1535 if$ 1536 } 1537 FUNCTION {format.lab.names} 1538 { 's := 1539 "" 't := 1540 s #1 "{vv~}{ll}" format.name$ 1541 s num.names$ duplicate$ 1542 #2 > 1543 { pop$ 1544 " " * bbl.etal * 1545 cite.name.font 1546 "others" 't := 1547 } 1548 { #2 < 1549 'skip$ 1550 { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1551 { 1552 " " * bbl.etal * 1553 cite.name.font 1554 "others" 't := 1555 } 1556 { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ 1557 * } 1558 if$ 1559 } 1560 if$ 1561 } 1562 if$ 1563 t "others" = 1564 'skip$ 1565 { cite.name.font } 1566 if$ 1567 } 1568 1569 FUNCTION {author.key.label} 1570 { author empty$ 1571 { key empty$ 1572 { cite$ #1 #3 substring$ } 1573 'key 1574 if$ 1575 } 1576 { author format.lab.names } 1577 if$ 1578 } 1579 1580 FUNCTION {author.editor.key.label} 1581 { author empty$ 1582 { editor empty$ 1583 { key empty$ 1584 { cite$ #1 #3 substring$ } 1585 'key 1586 if$ 1587 } 1588 { editor format.lab.names } 1589 if$ 1590 } 1591 { author format.lab.names } 1592 if$ 1593 } 1594 1595 FUNCTION {editor.key.label} 1596 { editor empty$ 1597 { key empty$ 1598 { cite$ #1 #3 substring$ } 1599 'key 1600 if$ 1601 } 1602 { editor format.lab.names } 1603 if$ 1604 } 1605 1606 FUNCTION {calc.short.authors} 1607 { type$ "book" = 1608 type$ "inbook" = 1609 or 1610 'author.editor.key.label 1611 { type$ "proceedings" = 1612 'editor.key.label 1613 'author.key.label 1614 if$ 1615 } 1616 if$ 1617 'short.list := 1618 } 1619 1620 FUNCTION {calc.label} 1621 { calc.short.authors 1622 short.list 1623 "(" 1624 * 1625 year duplicate$ empty$ 1626 short.list key field.or.null = or 1627 { pop$ "" } 1628 'skip$ 1629 if$ 1630 * 1631 'label := 1632 } 1633 1634 FUNCTION {sort.format.names} 1635 { 's := 1636 #1 'nameptr := 1637 "" 1638 s num.names$ 'numnames := 1639 numnames 'namesleft := 1640 { namesleft #0 > } 1641 { s nameptr 1642 "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" 1643 format.name$ 't := 1644 nameptr #1 > 1645 { 1646 " " * 1647 namesleft #1 = t "others" = and 1648 { "zzzzz" 't := } 1649 'skip$ 1650 if$ 1651 numnames #2 > nameptr #2 = and 1652 { "zz" * year field.or.null * " " * 1653 #1 'namesleft := 1654 } 1655 { t sortify * } 1656 if$ 1657 } 1658 { t sortify * } 1659 if$ 1660 nameptr #1 + 'nameptr := 1661 namesleft #1 - 'namesleft := 1662 } 1663 while$ 1664 } 1665 1666 FUNCTION {sort.format.title} 1667 { 't := 1668 "A " #2 1669 "An " #3 1670 "The " #4 t chop.word 1671 chop.word 1672 chop.word 1673 sortify 1674 #1 global.max$ substring$ 1675 } 1676 FUNCTION {author.sort} 1677 { author empty$ 1678 { key empty$ 1679 { "to sort, need author or key in " cite$ * warning$ 1680 "" 1681 } 1682 { key sortify } 1683 if$ 1684 } 1685 { author sort.format.names } 1686 if$ 1687 } 1688 FUNCTION {author.editor.sort} 1689 { author empty$ 1690 { editor empty$ 1691 { key empty$ 1692 { "to sort, need author, editor, or key in " cite$ * warning$ 1693 "" 1694 } 1695 { key sortify } 1696 if$ 1697 } 1698 { editor sort.format.names } 1699 if$ 1700 } 1701 { author sort.format.names } 1702 if$ 1703 } 1704 FUNCTION {editor.sort} 1705 { editor empty$ 1706 { key empty$ 1707 { "to sort, need editor or key in " cite$ * warning$ 1708 "" 1709 } 1710 { key sortify } 1711 if$ 1712 } 1713 { editor sort.format.names } 1714 if$ 1715 } 1716 FUNCTION {presort} 1717 { calc.label 1718 label sortify 1719 " " 1720 * 1721 type$ "book" = 1722 type$ "inbook" = 1723 or 1724 'author.editor.sort 1725 { type$ "proceedings" = 1726 'editor.sort 1727 'author.sort 1728 if$ 1729 } 1730 if$ 1731 #1 entry.max$ substring$ 1732 'sort.label := 1733 sort.label 1734 * 1735 #1 entry.max$ substring$ 1736 'sort.key$ := 1737 } 1738 1739 ITERATE {presort} 1740 SORT 1741 STRINGS { last.label next.extra } 1742 INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } 1743 FUNCTION {initialize.extra.label.stuff} 1744 { #0 int.to.chr$ 'last.label := 1745 "" 'next.extra := 1746 #0 'last.extra.num := 1747 "a" chr.to.int$ #1 - 'last.extra.num.blank := 1748 last.extra.num.blank 'last.extra.num.extended := 1749 #0 'number.label := 1750 } 1751 FUNCTION {forward.pass} 1752 { last.label label = 1753 { last.extra.num #1 + 'last.extra.num := 1754 last.extra.num "z" chr.to.int$ > 1755 { "a" chr.to.int$ 'last.extra.num := 1756 last.extra.num.extended #1 + 'last.extra.num.extended := 1757 } 1758 'skip$ 1759 if$ 1760 last.extra.num.extended last.extra.num.blank > 1761 { last.extra.num.extended int.to.chr$ 1762 last.extra.num int.to.chr$ 1763 * 'extra.label := } 1764 { last.extra.num int.to.chr$ 'extra.label := } 1765 if$ 1766 } 1767 { "a" chr.to.int$ 'last.extra.num := 1768 "" 'extra.label := 1769 label 'last.label := 1770 } 1771 if$ 1772 number.label #1 + 'number.label := 1773 } 1774 FUNCTION {reverse.pass} 1775 { next.extra "b" = 1776 { "a" 'extra.label := } 1777 'skip$ 1778 if$ 1779 extra.label 'next.extra := 1780 extra.label 1781 duplicate$ empty$ 1782 'skip$ 1783 { "{\natexlab{" swap$ * "}}" * } 1784 if$ 1785 'extra.label := 1786 label extra.label * 'label := 1787 } 1788 EXECUTE {initialize.extra.label.stuff} 1789 ITERATE {forward.pass} 1790 REVERSE {reverse.pass} 1791 FUNCTION {bib.sort.order} 1792 { sort.label 1793 " " 1794 * 1795 year field.or.null sortify 1796 * 1797 #1 entry.max$ substring$ 1798 'sort.key$ := 1799 } 1800 ITERATE {bib.sort.order} 1801 SORT 1802 FUNCTION {begin.bib} 1803 { preamble$ empty$ 1804 'skip$ 1805 { preamble$ write$ newline$ } 1806 if$ 1807 "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1808 write$ newline$ 1809 "\providecommand{\natexlab}[1]{#1}" 1810 write$ newline$ 1811 "\expandafter\ifx\csname urlstyle\endcsname\relax" 1812 write$ newline$ 1813 " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" 1814 write$ newline$ 1815 " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" 1816 write$ newline$ 1817 } 1818 EXECUTE {begin.bib} 1819 EXECUTE {init.state.consts} 1820 ITERATE {call.type$} 1821 FUNCTION {end.bib} 1822 { newline$ 1823 "\end{thebibliography}" write$ newline$ 1824 } 1825 EXECUTE {end.bib} 1826 %% End of customized bst file 1827 %% 1828 %% End of file `agufull08.bst'.