Advertisement
Abhisek92

cas-model2-names.bst

Jun 16th, 2019
414
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 32.87 KB | None | 0 0
  1. %%
  2. %% This is file `model2-names.bst'  (Version 2.0),
  3. %%
  4. %% Copyright 2009-2013 Elsevier Ltd
  5. %%
  6. %% This file is part of the 'Elsarticle Bundle'.
  7. %% ---------------------------------------------
  8. %%
  9. %% It may be distributed under the conditions of the LaTeX Project Public
  10. %% License, either version 1.2 of this license or (at your option) any
  11. %% later version.  The latest version of this license is in
  12. %%    http://www.latex-project.org/lppl.txt
  13. %% and version 1.2 or later is part of all distributions of LaTeX
  14. %% version 1999/12/01 or later.
  15. %%
  16. %% $Id: model2-names.bst 217 2013-03-13 11:50:49Z rishi $
  17. %%
  18. %% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-2/model2-names.bst $
  19. %%
  20.  
  21. ENTRY
  22.   { address
  23.    archive
  24.    author
  25.    booktitle
  26.    chapter
  27.    collaboration
  28.    edition
  29.    editor
  30.    howpublished
  31.    institution
  32.    journal
  33.    key
  34.    month
  35.    note
  36.    number
  37.    organization
  38.    pages
  39.    publisher
  40.    school
  41.    series
  42.    title
  43.    type
  44.    volume
  45.    year
  46.    url
  47.    doi
  48.    eprint
  49.    pubmed
  50.  }
  51.  {}
  52.  { label extra.label sort.label short.list }
  53.  
  54. INTEGERS { output.state before.all mid.sentence after.sentence after.block }
  55.  
  56. STRINGS { urlprefix doiprefix eprintprefix pubmedprefix }
  57.  
  58. FUNCTION {init.web.variables}
  59. {
  60. "\URLprefix "     'urlprefix :=
  61. "\DOIprefix"      'doiprefix :=
  62. "\ArXivprefix  "   'eprintprefix :=
  63. "\Pubmedprefix "  'pubmedprefix :=
  64. }
  65.  
  66. FUNCTION {init.state.consts}
  67. { #0 'before.all :=
  68.  #1 'mid.sentence :=
  69.  #2 'after.sentence :=
  70.  #3 'after.block :=
  71. }
  72. STRINGS { s t}
  73. FUNCTION {output.comma}
  74. { ", " * write$}
  75.  
  76. FUNCTION {output.nonnull}
  77. { 's :=
  78.  output.state mid.sentence =
  79.    { ". " * write$ }
  80.    { output.state after.block =
  81.        { add.period$ write$
  82.          newline$
  83.          "\newblock " write$
  84.        }
  85.        { output.state before.all =
  86.            'write$
  87.            { ", " * write$ }
  88.          if$
  89.        }
  90.      if$
  91.      mid.sentence 'output.state :=
  92.    }
  93.  if$
  94.  s
  95. }
  96. FUNCTION {output.commanull}
  97. { 's :=
  98.  output.state mid.sentence =
  99.    { ", " * write$ }
  100.    { output.state after.block =
  101.        { ", " * write$
  102.          newline$
  103.          "\newblock " write$
  104.        }
  105.        { output.state before.all =
  106.            'write$
  107.            { add.period$ " " * write$ }
  108.          if$
  109.        }
  110.      if$
  111.      mid.sentence 'output.state :=
  112.    }
  113.  if$
  114.  s
  115. }
  116. FUNCTION {output}
  117. { duplicate$ empty$
  118.    'pop$
  119.    'output.nonnull
  120.  if$
  121. }
  122. FUNCTION {output.check}
  123. { 't :=
  124.  duplicate$ empty$
  125.    { pop$ "empty " t * " in " * cite$ * warning$ }
  126.    'output.nonnull
  127.  if$
  128. }
  129. FUNCTION {output.book.check}
  130. { 't :=
  131.  duplicate$ empty$
  132.    { pop$ "empty " t * " in " * cite$ * warning$ }
  133.    'output.nonnull
  134.  if$
  135. }
  136. FUNCTION {fin.entry}
  137. { add.period$
  138.  write$
  139.  newline$
  140. }
  141.  
  142. FUNCTION {new.block}
  143. { output.state before.all =
  144.    'skip$
  145.    { after.block 'output.state := }
  146.  if$
  147. }
  148. FUNCTION {new.sentence}
  149. { output.state after.block =
  150.    'skip$
  151.    { output.state before.all =
  152.        'skip$
  153.        { after.sentence 'output.state := }
  154.      if$
  155.    }
  156.  if$
  157. }
  158. FUNCTION {add.blank}
  159. {  " " * before.all 'output.state :=
  160. }
  161.  
  162. FUNCTION {date.block}
  163. {
  164.  new.block
  165. }
  166.  
  167. FUNCTION {not}
  168. {   { #0 }
  169.    { #1 }
  170.  if$
  171. }
  172. FUNCTION {and}
  173. {   'skip$
  174.    { pop$ #0 }
  175.  if$
  176. }
  177. FUNCTION {or}
  178. {   { pop$ #1 }
  179.    'skip$
  180.  if$
  181. }
  182. FUNCTION {new.block.checkb}
  183. { empty$
  184.  swap$ empty$
  185.  and
  186.    'skip$
  187.    'new.block
  188.  if$
  189. }
  190. FUNCTION {field.or.null}
  191. { duplicate$ empty$
  192.    { pop$ "" }
  193.    'skip$
  194.  if$
  195. }
  196. FUNCTION {emphasize}
  197. { duplicate$ empty$
  198.    { pop$ "" }
  199.    { "\textit{" swap$ * "}" * }
  200.  if$
  201. }
  202. FUNCTION {tie.or.space.prefix}
  203. { duplicate$ text.length$ #3 <
  204.    { "~" }
  205.    { " " }
  206.  if$
  207.  swap$
  208. }
  209.  
  210. FUNCTION {capitalize}
  211. { "u" change.case$ "t" change.case$ }
  212.  
  213. FUNCTION {space.word}
  214. { " " swap$ * " " * }
  215.  % Here are the language-specific definitions for explicit words.
  216.  % Each function has a name bbl.xxx where xxx is the English word.
  217.  % The language selected here is ENGLISH
  218. FUNCTION {bbl.and}
  219. { "and"}
  220.  
  221. FUNCTION {bbl.etal}
  222. { "et~al." }
  223.  
  224. FUNCTION {bbl.editors}
  225. { "Eds." }
  226.  
  227. FUNCTION {bbl.editor}
  228. { "Ed." }
  229.  
  230. FUNCTION {bbl.edby}
  231. { "edited by" }
  232.  
  233. FUNCTION {bbl.edition}
  234. { "ed." }
  235.  
  236. FUNCTION {bbl.volume}
  237. { "volume" }
  238.  
  239. FUNCTION {bbl.of}
  240. { "of" }
  241.  
  242. FUNCTION {bbl.number}
  243. { "number" }
  244.  
  245. FUNCTION {bbl.nr}
  246. { "no." }
  247.  
  248. FUNCTION {bbl.in}
  249. { "in" }
  250.  
  251. FUNCTION {bbl.pages}
  252. { "pp." }
  253.  
  254. FUNCTION {bbl.page}
  255. { "p." }
  256.  
  257. FUNCTION {bbl.chapter}
  258. { "chapter" }
  259.  
  260. FUNCTION {bbl.techrep}
  261. { "Technical Report" }
  262.  
  263. FUNCTION {bbl.mthesis}
  264. { "Master's thesis" }
  265.  
  266. FUNCTION {bbl.phdthesis}
  267. { "Ph.D. thesis" }
  268.  
  269. MACRO {jan} {"January"}
  270.  
  271. MACRO {feb} {"February"}
  272.  
  273. MACRO {mar} {"March"}
  274.  
  275. MACRO {apr} {"April"}
  276.  
  277. MACRO {may} {"May"}
  278.  
  279. MACRO {jun} {"June"}
  280.  
  281. MACRO {jul} {"July"}
  282.  
  283. MACRO {aug} {"August"}
  284.  
  285. MACRO {sep} {"September"}
  286.  
  287. MACRO {oct} {"October"}
  288.  
  289. MACRO {nov} {"November"}
  290.  
  291. MACRO {dec} {"December"}
  292.  
  293. MACRO {acmcs} {"ACM Comput. Surv."}
  294.  
  295. MACRO {acta} {"Acta Inf."}
  296.  
  297. MACRO {cacm} {"Commun. ACM"}
  298.  
  299. MACRO {ibmjrd} {"IBM J. Res. Dev."}
  300.  
  301. MACRO {ibmsj} {"IBM Syst.~J."}
  302.  
  303. MACRO {ieeese} {"IEEE Trans. Software Eng."}
  304.  
  305. MACRO {ieeetc} {"IEEE Trans. Comput."}
  306.  
  307. MACRO {ieeetcad}
  308. {"IEEE Trans. Comput. Aid. Des."}
  309.  
  310. MACRO {ipl} {"Inf. Process. Lett."}
  311.  
  312. MACRO {jacm} {"J.~ACM"}
  313.  
  314. MACRO {jcss} {"J.~Comput. Syst. Sci."}
  315.  
  316. MACRO {scp} {"Sci. Comput. Program."}
  317.  
  318. MACRO {sicomp} {"SIAM J. Comput."}
  319.  
  320. MACRO {tocs} {"ACM Trans. Comput. Syst."}
  321.  
  322. MACRO {tods} {"ACM Trans. Database Syst."}
  323.  
  324. MACRO {tog} {"ACM Trans. Graphic."}
  325.  
  326. MACRO {toms} {"ACM Trans. Math. Software"}
  327.  
  328. MACRO {toois} {"ACM Trans. Office Inf. Syst."}
  329.  
  330. MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
  331.  
  332. MACRO {tcs} {"Theor. Comput. Sci."}
  333.  
  334. %% Begin - Added on March 13, 2013
  335.  
  336. MACRO {aj} {"Astron. J."}
  337. MACRO {actaa} {"Acta Astron."}
  338. MACRO {araa} {"Annu. Rev. Astron. Astrophys."}
  339. MACRO {apj}  {"Astrophys. J."}
  340. MACRO {apjl} {"Astrophys. J. Lett."}
  341. MACRO {apjs} {"Astrophys. J. Suppl. S"}
  342. MACRO {ao} {"Appl. Optics"}
  343. MACRO {apss} {"Astrophys. Space Sci."}
  344. MACRO {aap} {"Astronom. Astrophys."}
  345. MACRO {aapr} {"Astron. Astrophys Rev"}
  346. MACRO {aaps} {"Astron. Astrophys. Sup."}
  347. MACRO {azh} {"Astron. Zh+"}
  348. MACRO {caa} {"Chinese Astron. Astr."}
  349. MACRO {icarus} {"Icarus"}
  350. MACRO {jcap} {"J. Cosmol. Astropart. Phys."}
  351. MACRO {jrasc} {"J. Roy. Astron. Soc. Can."}
  352. MACRO {memras} {"Memoirs of the RAS"}
  353. MACRO {mnras} {"Mon. Not. R. Astron. Soc."}
  354. MACRO {na} {"New Astron."}
  355. MACRO {nar} {"New Astron. Rev."}
  356. MACRO {pra} {"Phys. Rev. A"}
  357. MACRO {prb} {"Phys. Rev. B"}
  358. MACRO {prc} {"Phys. Rev. C"}
  359. MACRO {prd} {"Phys. Rev. D"}
  360. MACRO {pre} {"Phys. Rev. E"}
  361. MACRO {prl} {"Phys. Rev. Lett"}
  362. MACRO {pasa} {"Publ. Astron. Soc. Aust."}
  363. MACRO {pasp} {"Publ. Astron. Soc. Pac."}
  364. MACRO {pasj} {"Publ. Astron. Soc. Jpn."}
  365. MACRO {rmxaa} {"Rev. Mex. Astron. Astr."}
  366. MACRO {rjras} {"Q. J. Roy. Astron. Soc."}
  367. MACRO {skytel} {"Sky Telescope"}
  368. MACRO {solphys} {"Sol. Phys."}
  369. MACRO {sovast} {"Sov. Astron."}
  370. MACRO {ssr} {"Space Sci. Rev."}
  371. MACRO {zap} {"Zeitschrift fuer Astrophysik"}
  372. MACRO {nat} {"Nature"}
  373. MACRO {iaucirc} {"IAU Cirulars"}
  374. MACRO {gca} {"Geochim. Cosmochim. Ac."}
  375. MACRO {grl} {"Geophys. Res. Lett."}
  376. MACRO {jcp} {"J. Chem. Phys."}
  377. MACRO {jgr} {"J. Geophys. Res."}
  378. MACRO {jqsrt} {"J. Quant. Spectrosc. RA"}
  379. MACRO {nphysa} {"Nucl. Phys. A"}
  380. MACRO {physrep} {"Phys. Rep."}
  381. MACRO {physscr} {"Phys. Scrip."}
  382. MACRO {planss} {"Planet. Space Sci."}
  383. MACRO {baas} {"Bull. Aust. Acoust. Soc"}
  384. MACRO {aplett} {"Astrophys. Lett."}
  385. MACRO {procspie} {"Proc. SPIE"}
  386. MACRO {cjaa} {"Chinese J. Astron. Ast."}
  387. MACRO {fcp} {"Fundam. Cosm. Phys."}
  388. MACRO {memsai} {"Mem. Soc. Astron. Ital."}
  389. MACRO {bain} {"Bull. Astron. Inst. Neth., Suppl. Ser."}
  390.  
  391. %% End - Added on March 13, 2013
  392.  
  393.  
  394. FUNCTION {bibinfo.check}
  395. { swap$
  396.  duplicate$ missing$
  397.    {
  398.      pop$ pop$
  399.      ""
  400.    }
  401.    { duplicate$ empty$
  402.        {
  403.          swap$ pop$
  404.        }
  405.        { swap$
  406.          "\bibinfo{" swap$ * "}{" * swap$ * "}" *
  407.        }
  408.      if$
  409.    }
  410.  if$
  411. }
  412. FUNCTION {bibinfo.warn}
  413. { swap$
  414.  duplicate$ missing$
  415.    {
  416.      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
  417.      ""
  418.    }
  419.    { duplicate$ empty$
  420.        {
  421.          swap$ "empty " swap$ * " in " * cite$ * warning$
  422.        }
  423.        { swap$
  424.          pop$
  425.        }
  426.      if$
  427.    }
  428.  if$
  429. }
  430.  
  431. STRINGS  { bibinfo}
  432.  
  433. INTEGERS { nameptr namesleft numnames }
  434.  
  435. FUNCTION {format.names}
  436. { 'bibinfo :=
  437.  duplicate$ empty$ 'skip$ {
  438.  's :=
  439.  "" 't :=
  440.  #1 'nameptr :=
  441.  s num.names$ 'numnames :=
  442.  numnames 'namesleft :=
  443.    { namesleft #0 > }
  444.    { s nameptr
  445.      "{vv~}{ll}{, jj}{, f{.}.}"
  446.      format.name$
  447.      bibinfo bibinfo.check
  448.      't :=
  449.      nameptr #1 >
  450.        {
  451.          namesleft #1 >
  452.            { ", " * t * }
  453.            {
  454.              "," *
  455.              s nameptr "{ll}" format.name$ duplicate$ "others" =
  456.                { 't := }
  457.                { pop$ }
  458.              if$
  459.              t "others" =
  460.                {
  461.                  " " * bbl.etal *
  462.                }
  463.                { " " * t * }
  464.              if$
  465.            }
  466.          if$
  467.        }
  468.        't
  469.      if$
  470.      nameptr #1 + 'nameptr :=
  471.      namesleft #1 - 'namesleft :=
  472.    }
  473.  while$
  474.  } if$
  475. }
  476. FUNCTION {format.names.ed}
  477. {
  478.  format.names
  479. }
  480. FUNCTION {format.key}
  481. { empty$
  482.    { key field.or.null }
  483.    { "" }
  484.  if$
  485. }
  486.  
  487. FUNCTION {format.authors}
  488. { author "author" format.names
  489.    duplicate$ empty$ 'skip$
  490.    { collaboration "collaboration" bibinfo.check
  491.      duplicate$ empty$ 'skip$
  492.        { " (" swap$ * ")" * }
  493.      if$
  494.      *
  495.    }
  496.  if$
  497. }
  498. FUNCTION {get.bbl.editor}
  499. { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
  500. FUNCTION {format.editors}
  501. { editor "editor" format.names duplicate$ empty$ 'skip$
  502.    {
  503.      " " *
  504.      get.bbl.editor
  505.      capitalize
  506.   "(" swap$ * ")" *
  507.      *
  508.    }
  509.  if$
  510. }
  511. FUNCTION {format.note}
  512. {
  513. note empty$
  514.    { "" }
  515.    { note #1 #1 substring$
  516.      duplicate$ "{" =
  517.        'skip$
  518.        { output.state mid.sentence =
  519.          { "l" }
  520.          { "u" }
  521.        if$
  522.        change.case$
  523.        }
  524.      if$
  525.      note #2 global.max$ substring$ * "note" bibinfo.check
  526.    }
  527.  if$
  528. }
  529.  
  530. FUNCTION {format.title}
  531. { title
  532.  duplicate$ empty$ 'skip$
  533.    { "t" change.case$ }
  534.  if$
  535.  "title" bibinfo.check
  536. }
  537. FUNCTION {format.full.names}
  538. {'s :=
  539. "" 't :=
  540.  #1 'nameptr :=
  541.  s num.names$ 'numnames :=
  542.  numnames 'namesleft :=
  543.    { namesleft #0 > }
  544.    { s nameptr
  545.      "{vv~}{ll}" format.name$
  546.      't :=
  547.      nameptr #1 >
  548.        {
  549.          namesleft #1 >
  550.            { ", " * t * }
  551.            {
  552.              s nameptr "{ll}" format.name$ duplicate$ "others" =
  553.                { 't := }
  554.                { pop$ }
  555.              if$
  556.              t "others" =
  557.                {
  558.                  " " * bbl.etal *
  559.                }
  560.                {
  561.                  bbl.and
  562.                  space.word * t *
  563.                }
  564.              if$
  565.            }
  566.          if$
  567.        }
  568.        't
  569.      if$
  570.      nameptr #1 + 'nameptr :=
  571.      namesleft #1 - 'namesleft :=
  572.    }
  573.  while$
  574. }
  575. FUNCTION {author.editor.key.full}
  576. { author empty$
  577.    { editor empty$
  578.        { key empty$
  579.            { cite$ #1 #3 substring$ }
  580.            'key
  581.          if$
  582.        }
  583.        { editor format.full.names }
  584.      if$
  585.    }
  586.    { author format.full.names }
  587.  if$
  588. }
  589. FUNCTION {author.key.full}
  590. { author empty$
  591.    { key empty$
  592.         { cite$ #1 #3 substring$ }
  593.          'key
  594.      if$
  595.    }
  596.    { author format.full.names }
  597.  if$
  598. }
  599. FUNCTION {editor.key.full}
  600. { editor empty$
  601.    { key empty$
  602.         { cite$ #1 #3 substring$ }
  603.          'key
  604.      if$
  605.    }
  606.    { editor format.full.names }
  607.  if$
  608. }
  609. FUNCTION {make.full.names}
  610. { type$ "book" =
  611.  type$ "inbook" =
  612.  or
  613.    'author.editor.key.full
  614.    { type$ "proceedings" =
  615.        'editor.key.full
  616.        'author.key.full
  617.      if$
  618.    }
  619.  if$
  620. }
  621.  
  622. FUNCTION {output.bibitem}
  623. { newline$
  624.  "\bibitem[{" write$
  625.  label write$
  626.  ")" make.full.names duplicate$ short.list =
  627.     { pop$ }
  628.     { * }
  629.   if$
  630.  "}]{" * write$
  631.  cite$ write$
  632.  "}" write$
  633.  newline$
  634.  ""
  635.  before.all 'output.state :=
  636. }
  637. FUNCTION {n.dashify}
  638. {
  639.  't :=
  640.  ""
  641.    { t empty$ not }
  642.    { t #1 #1 substring$ "-" =
  643.        { t #1 #2 substring$ "--" = not
  644.            { "--" *
  645.              t #2 global.max$ substring$ 't :=
  646.            }
  647.            {   { t #1 #1 substring$ "-" = }
  648.                { "-" *
  649.                  t #2 global.max$ substring$ 't :=
  650.                }
  651.              while$
  652.            }
  653.          if$
  654.        }
  655.        { t #1 #1 substring$ *
  656.          t #2 global.max$ substring$ 't :=
  657.        }
  658.      if$
  659.    }
  660.  while$
  661. }
  662.  
  663. FUNCTION {word.in}
  664. { bbl.in %capitalize
  665.   ":" *
  666.   " " * }
  667.  
  668. FUNCTION {format.date}
  669. { year "year" bibinfo.check duplicate$ empty$
  670.    {
  671.    }
  672.    'skip$
  673.  if$
  674.  extra.label *
  675.  before.all 'output.state :=
  676.  ", " swap$ *
  677. }
  678. FUNCTION {format.btitle}
  679. { title "title" bibinfo.check
  680.  duplicate$ empty$ 'skip$
  681.    {
  682.    }
  683.  if$
  684. }
  685. FUNCTION {either.or.check}
  686. { empty$
  687.    'pop$
  688.    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  689.  if$
  690. }
  691. FUNCTION {format.bvolume}
  692. { volume empty$
  693.    { "" }
  694.    { bbl.volume volume tie.or.space.prefix
  695.      "volume" bibinfo.check * *
  696.      series "series" bibinfo.check
  697.      duplicate$ empty$ 'pop$
  698.        { swap$ bbl.of space.word * swap$
  699.          emphasize * }
  700.      if$
  701.      "volume and number" number either.or.check
  702.    }
  703.  if$
  704. }
  705. FUNCTION {format.number.series}
  706. { volume empty$
  707.    { number empty$
  708.        { series field.or.null }
  709.        { series empty$
  710.            { number "number" bibinfo.check }
  711.        { output.state mid.sentence =
  712.            { bbl.number }
  713.            { bbl.number capitalize }
  714.          if$
  715.          number tie.or.space.prefix "number" bibinfo.check * *
  716.          bbl.in space.word *
  717.          series "series" bibinfo.check *
  718.        }
  719.      if$
  720.    }
  721.      if$
  722.    }
  723.    { "" }
  724.  if$
  725. }
  726.  
  727. FUNCTION {format.edition}
  728. { edition duplicate$ empty$ 'skip$
  729.    {
  730.      output.state mid.sentence =
  731.        { "l" }
  732.        { "t" }
  733.      if$ change.case$
  734.      "edition" bibinfo.check
  735.      " " * bbl.edition *
  736.    }
  737.  if$
  738. }
  739. INTEGERS { multiresult }
  740. FUNCTION {multi.page.check}
  741. { 't :=
  742.  #0 'multiresult :=
  743.    { multiresult not
  744.      t empty$ not
  745.      and
  746.    }
  747.    { t #1 #1 substring$
  748.      duplicate$ "-" =
  749.      swap$ duplicate$ "," =
  750.      swap$ "+" =
  751.      or or
  752.        { #1 'multiresult := }
  753.        { t #2 global.max$ substring$ 't := }
  754.      if$
  755.    }
  756.  while$
  757.  multiresult
  758. }
  759. %FUNCTION {format.pages}
  760. %{ pages duplicate$ empty$ 'skip$
  761. %    { duplicate$ multi.page.check
  762. %        {
  763. %          n.dashify
  764. %        }
  765. %        {
  766. %        }
  767. %      if$
  768. %      "pages" bibinfo.check
  769. %    }
  770. %  if$
  771. %}
  772.  
  773. FUNCTION {format.pages}
  774. { pages duplicate$ empty$ 'skip$
  775.    { duplicate$ multi.page.check
  776.        {
  777.          bbl.pages swap$
  778.          n.dashify
  779.        }
  780.        {
  781.          bbl.page swap$
  782.        }
  783.      if$
  784.      tie.or.space.prefix
  785.      "pages" bibinfo.check
  786.      * *
  787.    }
  788.  if$
  789. }
  790.  
  791. FUNCTION {format.journal.pages}
  792. { pages duplicate$ empty$ 'pop$
  793.    { swap$ duplicate$ empty$
  794.        { pop$ pop$ format.pages }
  795.        {
  796.          ", " *
  797.          swap$
  798.          n.dashify
  799.          "pages" bibinfo.check
  800.          *
  801.        }
  802.      if$
  803.    }
  804.  if$
  805. }
  806. FUNCTION {format.vol.num.pages}
  807. { volume field.or.null
  808.  duplicate$ empty$ 'skip$
  809.    {
  810.      "volume" bibinfo.check
  811.    }
  812.  if$
  813. }
  814. FUNCTION {format.chapter.pages}
  815. { chapter empty$
  816.    { "" }
  817.    { type empty$
  818.        { bbl.chapter }
  819.        { type "l" change.case$
  820.          "type" bibinfo.check
  821.        }
  822.      if$
  823.      chapter tie.or.space.prefix
  824.      "chapter" bibinfo.check
  825.      * *
  826.    }
  827.  if$
  828. }
  829.  
  830. FUNCTION {format.booktitle}
  831. {
  832.  booktitle "booktitle" bibinfo.check
  833. }
  834. FUNCTION {format.in.ed.booktitle}
  835. { format.booktitle duplicate$ empty$ 'skip$
  836.    {
  837.      editor "editor" format.names.ed duplicate$ empty$ 'pop$
  838.        {
  839.          " " *
  840.          get.bbl.editor
  841.          capitalize
  842.          "(" swap$ * "), " *
  843.          * swap$
  844.          * }
  845.      if$
  846.      word.in swap$ *
  847.    }
  848.  if$
  849. }
  850. FUNCTION {format.thesis.type}
  851. { type duplicate$ empty$
  852.    'pop$
  853.    { swap$ pop$
  854.      "t" change.case$ "type" bibinfo.check
  855.    }
  856.  if$
  857. }
  858. FUNCTION {format.tr.number}
  859. { number "number" bibinfo.check
  860.  type duplicate$ empty$
  861.    { pop$ bbl.techrep }
  862.    'skip$
  863.  if$
  864.  "type" bibinfo.check
  865.  swap$ duplicate$ empty$
  866.    { pop$ "t" change.case$ }
  867.    { tie.or.space.prefix * * }
  868.  if$
  869. }
  870. FUNCTION {format.article.crossref}
  871. {
  872.  word.in
  873.  " \cite{" * crossref * "}" *
  874. }
  875. FUNCTION {format.book.crossref}
  876. { volume duplicate$ empty$
  877.    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
  878.      pop$ word.in
  879.    }
  880.    { bbl.volume
  881.      capitalize
  882.      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
  883.    }
  884.  if$
  885.  " \cite{" * crossref * "}" *
  886. }
  887. FUNCTION {format.incoll.inproc.crossref}
  888. {
  889.  word.in
  890.  " \cite{" * crossref * "}" *
  891. }
  892. FUNCTION {format.org.or.pub}
  893. { 't :=
  894.  ""
  895.  address empty$ t empty$ and
  896.    'skip$
  897.    {
  898.      t empty$
  899.        { address "address" bibinfo.check *
  900.        }
  901.        { t *
  902.          address empty$
  903.            'skip$
  904.            { ", " * address "address" bibinfo.check * }
  905.          if$
  906.        }
  907.      if$
  908.    }
  909.  if$
  910. }
  911. FUNCTION {format.publisher.address}
  912. { publisher "publisher" bibinfo.check format.org.or.pub
  913. }
  914. FUNCTION {format.organization.address}
  915. { organization "organization" bibinfo.check format.org.or.pub
  916. }
  917. FUNCTION {print.url}
  918. {url duplicate$ empty$
  919.   { pop$ "" }
  920.   { new.sentence
  921.     urlprefix "\url{" * swap$  * "}" *
  922.   }
  923.   if$
  924. }
  925.  
  926. FUNCTION {print.doi}
  927. {doi duplicate$ empty$
  928.   { pop$ "" }
  929.   { new.sentence
  930.     doiprefix "\doi{" * swap$  * "}" *
  931.   }
  932.   if$
  933. }
  934. FUNCTION {print.eprint}
  935. {eprint duplicate$ empty$
  936.   { pop$ "" }
  937.   { new.sentence
  938.     duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{\tt arXiv:" * swap$ * "}" *   }
  939.   if$
  940. }
  941.  
  942. FUNCTION {print.pubmed}
  943. {pubmed duplicate$ empty$
  944.   { pop$ "" }
  945.   { new.sentence
  946.     pubmedprefix "\Pubmed{" * swap$  * "}" *
  947.   }
  948.   if$
  949. }
  950.  
  951. FUNCTION {webpage}
  952. { "%Type = Webpage" write$
  953.   output.bibitem
  954.   format.authors "author" output.check
  955.   author format.key output
  956.   author empty$
  957.  {
  958.    format.title "title" output.check
  959.    new.block
  960.    format.date "year" output.check
  961.    date.block
  962.  }
  963.  {
  964.    format.date "year" output.check
  965.    date.block
  966.    format.title "title" output.check
  967.    new.block
  968. }
  969.  if$
  970.  print.url output
  971.  fin.entry
  972. }
  973.  
  974.  
  975. FUNCTION {article}
  976. { "%Type = Article" write$
  977.   output.bibitem
  978.   format.authors "author" output.check
  979.   author format.key output
  980.   format.date "year" output.check
  981.   date.block
  982.   format.title "title" output.check
  983.   new.block
  984.   crossref missing$
  985.    {
  986.      journal
  987.      "journal" bibinfo.check
  988.      "journal" output.check
  989.      add.blank
  990.      format.vol.num.pages output
  991.    }
  992.    { format.article.crossref output.nonnull
  993.    }
  994.  if$
  995.  format.journal.pages
  996.  new.block
  997.  print.url output
  998.  print.doi output
  999.  print.eprint output
  1000.  print.pubmed output
  1001.  format.note output
  1002.  fin.entry
  1003. }
  1004.  
  1005. FUNCTION {book}
  1006. { "%Type = Book" write$
  1007.   output.bibitem
  1008.   author empty$
  1009.    { format.editors "author and editor" output.check
  1010.      editor format.key output
  1011.    }
  1012.    { format.authors output.nonnull
  1013.      crossref missing$
  1014.        { "author and editor" editor either.or.check }
  1015.        'skip$
  1016.      if$
  1017.    }
  1018.  if$
  1019.  format.date "year" output.check
  1020.  date.block
  1021.  format.btitle "title" output.check
  1022.  crossref missing$
  1023.    { format.bvolume output
  1024.      new.block
  1025.      format.number.series output
  1026.      format.edition output
  1027.      new.sentence
  1028.      format.publisher.address output
  1029.    }
  1030.    {
  1031.      new.block
  1032.      format.book.crossref output.nonnull
  1033.    }
  1034.  if$
  1035.  new.block
  1036.  print.url output
  1037.  print.doi output
  1038.  print.eprint output
  1039.  print.pubmed output
  1040.  format.note output
  1041.  fin.entry
  1042. }
  1043.  
  1044. FUNCTION {booklet}
  1045. { "%Type = Booklet" write$
  1046.   output.bibitem
  1047.   format.authors output
  1048.   author format.key output
  1049.   format.date "year" output.check
  1050.   date.block
  1051.   format.title "title" output.check
  1052.   new.block
  1053.   howpublished "howpublished" bibinfo.check output
  1054.   address "address" bibinfo.check output
  1055.   new.block
  1056.   print.url output
  1057.   print.doi output
  1058.   print.eprint output
  1059.   print.pubmed output
  1060.   format.note output
  1061.   fin.entry
  1062. }
  1063.  
  1064. FUNCTION {inbook}
  1065. { "%Type = Inbook" write$
  1066.   output.bibitem
  1067.   author empty$
  1068.    { format.editors "author and editor" output.check
  1069.      editor format.key output
  1070.    }
  1071.    { format.authors output.nonnull
  1072.      crossref missing$
  1073.        { "author and editor" editor either.or.check }
  1074.        'skip$
  1075.      if$
  1076.    }
  1077.  if$
  1078.  format.date "year" output.check
  1079.  date.block
  1080.  format.btitle "title" output.check
  1081.  format.edition output
  1082.  crossref missing$
  1083.    {
  1084.      format.publisher.address output
  1085.      format.bvolume output
  1086.      format.chapter.pages "chapter and pages" output.check
  1087.      new.block
  1088.      format.number.series output
  1089.      new.sentence
  1090.    }
  1091.    {
  1092.      format.chapter.pages "chapter and pages" output.check
  1093.      new.block
  1094.      format.book.crossref output.nonnull
  1095.    }
  1096.  if$
  1097.  format.pages "pages" output.check
  1098.  new.block
  1099.  print.url output
  1100.  print.doi output
  1101.  print.eprint output
  1102.  print.pubmed output
  1103.  format.note output
  1104.  fin.entry
  1105. }
  1106.  
  1107. FUNCTION {incollection}
  1108. { "%Type = Incollection" write$
  1109.   output.bibitem
  1110.   format.authors "author" output.check
  1111.   author format.key output
  1112.   format.date "year" output.check
  1113.   date.block
  1114.   format.title "title" output.book.check
  1115.   new.sentence
  1116.   crossref missing$
  1117.    { format.in.ed.booktitle "booktitle" output.book.check
  1118.      format.edition output
  1119.      format.publisher.address output
  1120.      format.bvolume output
  1121.      format.number.series output
  1122.      format.chapter.pages output
  1123.      new.sentence
  1124.    }
  1125.    { format.incoll.inproc.crossref output.nonnull
  1126.      format.chapter.pages output
  1127.    }
  1128.  if$
  1129.  format.pages "pages" output.check
  1130.  new.block
  1131.  print.url output
  1132.  print.doi output
  1133.  print.eprint output
  1134.  print.pubmed output
  1135.  format.note output
  1136.  fin.entry
  1137. }
  1138.  
  1139. FUNCTION {inproceedings}
  1140. { "%Type = Inproceedings" write$
  1141.   output.bibitem
  1142.   format.authors "author" output.check
  1143.   author format.key output
  1144.   format.date "year" output.check
  1145.   date.block
  1146.   format.title "title" output.book.check
  1147.   new.sentence
  1148.   crossref missing$
  1149.    { format.in.ed.booktitle "booktitle" output.check
  1150.      new.sentence
  1151.      publisher empty$
  1152.        { format.organization.address output }
  1153.        { organization "organization" bibinfo.check output
  1154.          format.publisher.address output
  1155.        }
  1156.       if$
  1157. %      format.bvolume output
  1158. %      format.number.series output
  1159. %      format.pages output
  1160.     }
  1161.     { format.incoll.inproc.crossref output.nonnull
  1162.      format.pages output
  1163.    }
  1164.  if$
  1165.  format.pages "pages" output.check
  1166.  new.block
  1167.  print.url output
  1168.  print.doi output
  1169.  print.eprint output
  1170.  print.pubmed output
  1171.  format.note output
  1172.  fin.entry
  1173. }
  1174.  
  1175. FUNCTION {conference} { inproceedings }
  1176.  
  1177. FUNCTION {manual}
  1178. { "%Type = Manual" write$
  1179.   output.bibitem
  1180.   format.authors output
  1181.   author format.key output
  1182.   format.date "year" output.check
  1183.   date.block
  1184.   format.btitle "title" output.check
  1185.   format.edition output
  1186.   organization address new.block.checkb
  1187.   organization "organization" bibinfo.check output
  1188.   address "address" bibinfo.check output
  1189.   new.block
  1190.   print.url output
  1191.   print.doi output
  1192.   print.eprint output
  1193.   print.pubmed output
  1194.   format.note output
  1195.   fin.entry
  1196. }
  1197.  
  1198. FUNCTION {mastersthesis}
  1199. { "%Type = Masterthesis" write$
  1200.   output.bibitem
  1201.   format.authors "author" output.check
  1202.   author format.key output
  1203.   format.date "year" output.check
  1204.   date.block
  1205.   format.btitle
  1206.   "title" output.check
  1207.   new.block
  1208.   bbl.mthesis format.thesis.type output.nonnull
  1209.   school "school" bibinfo.warn output
  1210.   address "address" bibinfo.check output
  1211.   new.block
  1212.   print.url output
  1213.   print.doi output
  1214.   print.eprint output
  1215.   print.pubmed output
  1216.   format.note output
  1217.   fin.entry
  1218. }
  1219.  
  1220. FUNCTION {misc}
  1221. { "%Type = Misc" write$
  1222.   output.bibitem
  1223.   format.authors output
  1224.   author format.key output
  1225.   format.date "year" output.check
  1226.   date.block
  1227.   format.title output
  1228.   new.block
  1229.   howpublished "howpublished" bibinfo.check output
  1230.   new.block
  1231.   print.url output
  1232.   print.doi output
  1233.   print.eprint output
  1234.   print.pubmed output
  1235.   format.note output
  1236.   fin.entry
  1237. }
  1238.  
  1239. FUNCTION {phdthesis}
  1240. { "%Type = Phdthesis" write$
  1241.   output.bibitem
  1242.   format.authors "author" output.check
  1243.   author format.key output
  1244.   format.date "year" output.check
  1245.   date.block
  1246.   format.btitle
  1247.   "title" output.check
  1248.   new.block
  1249.   bbl.phdthesis format.thesis.type output.nonnull
  1250.   school "school" bibinfo.warn output
  1251.   address "address" bibinfo.check output
  1252.   new.block
  1253.   print.url output
  1254.   print.doi output
  1255.   print.eprint output
  1256.   print.pubmed output
  1257.   format.note output
  1258.   fin.entry
  1259. }
  1260.  
  1261. FUNCTION {proceedings}
  1262. { "%Type = Proceedings" write$
  1263.   output.bibitem
  1264.   format.editors output
  1265.   editor format.key output
  1266.   format.date "year" output.check
  1267.   date.block
  1268.   format.btitle "title" output.check
  1269.   format.bvolume output
  1270.   format.number.series output
  1271.   new.sentence
  1272.   publisher empty$
  1273.    { format.organization.address output }
  1274.    { organization "organization" bibinfo.check output
  1275.      format.publisher.address output
  1276.    }
  1277.  if$
  1278.  new.block
  1279.  print.url output
  1280.  print.doi output
  1281.  print.eprint output
  1282.  print.pubmed output
  1283.  format.note output
  1284.  fin.entry
  1285. }
  1286.  
  1287. FUNCTION {techreport}
  1288. { "%Type = Techreport" write$
  1289.   output.bibitem
  1290.   format.authors "author" output.check
  1291.   author format.key output
  1292.   format.date "year" output.check
  1293.   date.block
  1294.   format.btitle
  1295.   "title" output.check
  1296.   new.block
  1297.   format.tr.number output.nonnull
  1298.   institution "institution" bibinfo.warn output
  1299.   address "address" bibinfo.check output
  1300.   new.block
  1301.   print.url output
  1302.   print.doi output
  1303.   print.eprint output
  1304.   print.pubmed output
  1305.   format.note output
  1306.   fin.entry
  1307. }
  1308.  
  1309. FUNCTION {unpublished}
  1310. { "%Type = Unpublished" write$
  1311.   output.bibitem
  1312.   format.authors "author" output.check
  1313.   author format.key output
  1314.   format.date "year" output.check
  1315.   date.block
  1316.   format.title "title" output.check
  1317.   new.block
  1318.   print.url output
  1319.   print.doi output
  1320.   print.eprint output
  1321.   print.pubmed output
  1322.   format.note "note" output.check
  1323.   fin.entry
  1324. }
  1325.  
  1326. FUNCTION {default.type} { misc }
  1327. READ
  1328. FUNCTION {sortify}
  1329. { purify$
  1330.  "l" change.case$
  1331. }
  1332. INTEGERS { len }
  1333. FUNCTION {chop.word}
  1334. { 's :=
  1335.  'len :=
  1336.  s #1 len substring$ =
  1337.    { s len #1 + global.max$ substring$ }
  1338.    's
  1339.  if$
  1340. }
  1341. FUNCTION {format.lab.names}
  1342. { 's :=
  1343.  "" 't :=
  1344.  s #1 "{vv~}{ll}" format.name$
  1345.  s num.names$ duplicate$
  1346.  #2 >
  1347.    { pop$
  1348.      " " * bbl.etal *
  1349.    }
  1350.    { #2 <
  1351.        'skip$
  1352.        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
  1353.            {
  1354.              " " * bbl.etal *
  1355.            }
  1356.            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
  1357.              * }
  1358.          if$
  1359.        }
  1360.      if$
  1361.    }
  1362.  if$
  1363. }
  1364.  
  1365. FUNCTION {author.key.label}
  1366. { author empty$
  1367.    { key empty$
  1368.        { cite$ #1 #3 substring$ }
  1369.        'key
  1370.      if$
  1371.    }
  1372.    { author format.lab.names }
  1373.  if$
  1374. }
  1375.  
  1376. FUNCTION {author.editor.key.label}
  1377. { author empty$
  1378.    { editor empty$
  1379.        { key empty$
  1380.            { cite$ #1 #3 substring$ }
  1381.            'key
  1382.          if$
  1383.        }
  1384.        { editor format.lab.names }
  1385.      if$
  1386.    }
  1387.    { author format.lab.names }
  1388.  if$
  1389. }
  1390.  
  1391. FUNCTION {editor.key.label}
  1392. { editor empty$
  1393.    { key empty$
  1394.        { cite$ #1 #3 substring$ }
  1395.        'key
  1396.      if$
  1397.    }
  1398.    { editor format.lab.names }
  1399.  if$
  1400. }
  1401.  
  1402. FUNCTION {calc.short.authors}
  1403. { type$ "book" =
  1404.  type$ "inbook" =
  1405.  or
  1406.    'author.editor.key.label
  1407.    { type$ "proceedings" =
  1408.        'editor.key.label
  1409.        'author.key.label
  1410.      if$
  1411.    }
  1412.  if$
  1413.  'short.list :=
  1414. }
  1415. FUNCTION {calc.label}
  1416. { calc.short.authors
  1417.  short.list
  1418.  "("
  1419.  *
  1420.  year duplicate$ empty$
  1421.  short.list key field.or.null = or
  1422.     { pop$ "" }
  1423.     'skip$
  1424.  if$
  1425.  *
  1426.  'label :=
  1427. }
  1428.  
  1429. FUNCTION {sort.format.names}
  1430. { 's :=
  1431.  #1 'nameptr :=
  1432.  ""
  1433.  s num.names$ 'numnames :=
  1434.  numnames 'namesleft :=
  1435.    { namesleft #0 > }
  1436.    { s nameptr
  1437.      "{ll{ }}{  f{ }}{  jj{ }}"
  1438.      format.name$ 't :=
  1439.      nameptr #1 >
  1440.        {
  1441.          "   "  *
  1442.          namesleft #1 = t "others" = and
  1443.            { "zzzzz" * }
  1444.            { t sortify * }
  1445.          if$
  1446.        }
  1447.        { t sortify * }
  1448.      if$
  1449.      nameptr #1 + 'nameptr :=
  1450.      namesleft #1 - 'namesleft :=
  1451.    }
  1452.  while$
  1453. }
  1454. FUNCTION {sort.format.title}
  1455. { 't :=
  1456.  "A " #2
  1457.    "An " #3
  1458.      "The " #4 t chop.word
  1459.    chop.word
  1460.  chop.word
  1461.  sortify
  1462.  #1 global.max$ substring$
  1463. }
  1464. FUNCTION {author.sort}
  1465. { author empty$
  1466.    { key empty$
  1467.        { "to sort, need author or key in " cite$ * warning$
  1468.          ""
  1469.        }
  1470.        { key sortify }
  1471.      if$
  1472.    }
  1473.    { author sort.format.names }
  1474.  if$
  1475. }
  1476. FUNCTION {author.editor.sort}
  1477. { author empty$
  1478.    { editor empty$
  1479.        { key empty$
  1480.            { "to sort, need author, editor, or key in " cite$ * warning$
  1481.              ""
  1482.            }
  1483.            { key sortify }
  1484.          if$
  1485.        }
  1486.        { editor sort.format.names }
  1487.      if$
  1488.    }
  1489.    { author sort.format.names }
  1490.  if$
  1491. }
  1492. FUNCTION {editor.sort}
  1493. { editor empty$
  1494.    { key empty$
  1495.        { "to sort, need editor or key in " cite$ * warning$
  1496.          ""
  1497.        }
  1498.        { key sortify }
  1499.      if$
  1500.    }
  1501.    { editor sort.format.names }
  1502.  if$
  1503. }
  1504. FUNCTION {presort}
  1505. { calc.label
  1506.  label sortify
  1507.  "    "
  1508.  *
  1509.  type$ "book" =
  1510.  type$ "inbook" =
  1511.  or
  1512.    'author.editor.sort
  1513.    { type$ "proceedings" =
  1514.        'editor.sort
  1515.        'author.sort
  1516.      if$
  1517.    }
  1518.  if$
  1519.  #1 entry.max$ substring$
  1520.  'sort.label :=
  1521.  sort.label
  1522.  *
  1523.  "    "
  1524.  *
  1525.  title field.or.null
  1526.  sort.format.title
  1527.  *
  1528.  #1 entry.max$ substring$
  1529.  'sort.key$ :=
  1530. }
  1531. ITERATE {presort}
  1532. SORT
  1533. STRINGS { last.label next.extra }
  1534. INTEGERS { last.extra.num number.label }
  1535. FUNCTION {initialize.extra.label.stuff}
  1536. { #0 int.to.chr$ 'last.label :=
  1537.  "" 'next.extra :=
  1538.  #0 'last.extra.num :=
  1539.  #0 'number.label :=
  1540. }
  1541. FUNCTION {forward.pass}
  1542. { last.label label =
  1543.    { last.extra.num #1 + 'last.extra.num :=
  1544.      last.extra.num int.to.chr$ 'extra.label :=
  1545.    }
  1546.    { "a" chr.to.int$ 'last.extra.num :=
  1547.      "" 'extra.label :=
  1548.      label 'last.label :=
  1549.    }
  1550.  if$
  1551.  number.label #1 + 'number.label :=
  1552. }
  1553. FUNCTION {reverse.pass}
  1554. { next.extra "b" =
  1555.    { "a" 'extra.label := }
  1556.    'skip$
  1557.   if$
  1558.  extra.label 'next.extra :=
  1559.  extra.label
  1560.  duplicate$ empty$
  1561.    'skip$
  1562. %    { "{\natexlab{" swap$ * "}}" * }
  1563.     { "" swap$ * "" * }
  1564.  if$
  1565.  'extra.label :=
  1566.  label extra.label * 'label :=
  1567. }
  1568. EXECUTE {initialize.extra.label.stuff}
  1569. ITERATE {forward.pass}
  1570. REVERSE {reverse.pass}
  1571. FUNCTION {bib.sort.order}
  1572. { sort.label
  1573.  "    "
  1574.  *
  1575.  year field.or.null sortify
  1576.  *
  1577.  "    "
  1578.  *
  1579.  title field.or.null
  1580.  sort.format.title
  1581.  *
  1582.  #1 entry.max$ substring$
  1583.  'sort.key$ :=
  1584. }
  1585. ITERATE {bib.sort.order}
  1586. SORT
  1587. FUNCTION {begin.bib}
  1588. { preamble$ empty$
  1589.    'skip$
  1590.    { preamble$ write$ newline$ }
  1591.  if$
  1592.  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
  1593.  write$ newline$
  1594.  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
  1595.  write$ newline$
  1596.  "\providecommand{\url}[1]{\texttt{#1}}"
  1597.  write$ newline$
  1598.  "\providecommand{\href}[2]{#2}"
  1599.  write$ newline$
  1600.  "\providecommand{\path}[1]{#1}"
  1601.  write$ newline$
  1602.  "\providecommand{\DOIprefix}{doi:}"
  1603.  write$ newline$
  1604.  "\providecommand{\ArXivprefix}{arXiv:}"
  1605.  write$ newline$
  1606.  "\providecommand{\URLprefix}{URL: }"
  1607.  write$ newline$
  1608.  "\providecommand{\Pubmedprefix}{pmid:}"
  1609.  write$ newline$
  1610.  "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}"
  1611.  write$ newline$
  1612.  "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}"
  1613.  write$ newline$
  1614.  "\providecommand{\bibinfo}[2]{#2}"
  1615.  write$ newline$
  1616.     "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi"
  1617.  write$ newline$
  1618. }
  1619. EXECUTE {begin.bib}
  1620. EXECUTE {init.state.consts}
  1621. EXECUTE {init.web.variables}
  1622. ITERATE {call.type$}
  1623. FUNCTION {end.bib}
  1624. { newline$
  1625.  "\end{thebibliography}" write$ newline$
  1626. }
  1627. EXECUTE {end.bib}
  1628. %% End of customized bst file
  1629. %%
  1630. %% End of file `model2-names.bst'.
  1631. %%
  1632. %% Change log:
  1633. %% -----------
  1634. %% 22.04.2011
  1635. %%
  1636. %% 10.08.2012
  1637. %%   a. doi, url, eprint, pmid added
  1638. %%   b. Bibtype `webpage' defined
  1639. %%
  1640. %% 30.08.2012
  1641. %%   a. collaboration added.
  1642. %%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement