copernicus.bst 38 KB

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