Advertisement
Guest User

bautzen.bst

a guest
Jan 4th, 2014
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.33 KB | None | 0 0
  1. %%
  2. %% This is file `bautzen.bst',
  3. %% generated with the docstrip utility.
  4. %%
  5. %% The original source files were:
  6. %%
  7. %% merlin.mbs (with options: `head,exlang,ay,har,harnm,nm-rvvc,nmlm,x2,m2,keyxyr,note-yr,jttl-rm,vnum-nr,volp-com,pgsep-p,jwdpg,jwdvol,num-xser,ser-vol,ser-ed,btit-rm,bt-rm,isbn,issn,edpar,german,pp,ed,ord,amper,and-xcom,xand,etal-xc,revdata,eprint,url,url-blk,nfss,,{}')
  8. %% german.mbs (with options: `exlang,ay,har,harnm,nm-rvvc,nmlm,x2,m2,keyxyr,note-yr,jttl-rm,vnum-nr,volp-com,pgsep-p,jwdpg,jwdvol,num-xser,ser-vol,ser-ed,btit-rm,bt-rm,isbn,issn,edpar,german,pp,ed,ord,amper,and-xcom,xand,etal-xc,revdata,eprint,url,url-blk,nfss,,{}')
  9. %% merlin.mbs (with options: `tail,exlang,ay,har,harnm,nm-rvvc,nmlm,x2,m2,keyxyr,note-yr,jttl-rm,vnum-nr,volp-com,pgsep-p,jwdpg,jwdvol,num-xser,ser-vol,ser-ed,btit-rm,bt-rm,isbn,issn,edpar,german,pp,ed,ord,amper,and-xcom,xand,etal-xc,revdata,eprint,url,url-blk,nfss,,{}')
  10. %% ----------------------------------------
  11. %% *** ba bautzen reference list style ***
  12. %%
  13. %% Copyright 1994-2011 Patrick W Daly
  14. % ===============================================================
  15. % IMPORTANT NOTICE:
  16. % This bibliographic style (bst) file has been generated from one or
  17. % more master bibliographic style (mbs) files, listed above.
  18. %
  19. % This generated file can be redistributed and/or modified under the terms
  20. % of the LaTeX Project Public License Distributed from CTAN
  21. % archives in directory macros/latex/base/lppl.txt; either
  22. % version 1 of the License, or any later version.
  23. % ===============================================================
  24. % Name and version information of the main mbs file:
  25. % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)]
  26. % For use with BibTeX version 0.99a or later
  27. %-------------------------------------------------------------------
  28. % This bibliography style file is intended for texts in
  29. % GERMAN
  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. % or: harvard.sty by Peter Williams and Thorsten Schnier
  34. % (needs natbib v5.3 or harvard v2.0.3)
  35. % The form of the bibitem entries is
  36. % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}...
  37. %---------------------------------------------------------------------
  38.  
  39. ENTRY
  40. { address
  41. archive
  42. author
  43. booktitle
  44. chapter
  45. collaboration
  46. edition
  47. editor
  48. eid
  49. eprint
  50. howpublished
  51. institution
  52. isbn
  53. issn
  54. journal
  55. key
  56. month
  57. note
  58. number
  59. numpages
  60. organization
  61. pages
  62. publisher
  63. school
  64. series
  65. title
  66. type
  67. url
  68. urldate
  69. volume
  70. year
  71. }
  72. {}
  73. { label extra.label sort.label short.list }
  74. INTEGERS { output.state before.all mid.sentence after.sentence after.block }
  75. FUNCTION {init.state.consts}
  76. { #0 'before.all :=
  77. #1 'mid.sentence :=
  78. #2 'after.sentence :=
  79. #3 'after.block :=
  80. }
  81. STRINGS { s t}
  82. FUNCTION {output.nonnull}
  83. { 's :=
  84. output.state mid.sentence =
  85. { ", " * write$ }
  86. { output.state after.block =
  87. { add.period$ write$
  88. newline$
  89. "\newblock " write$
  90. }
  91. { output.state before.all =
  92. 'write$
  93. { add.period$ " " * write$ }
  94. if$
  95. }
  96. if$
  97. mid.sentence 'output.state :=
  98. }
  99. if$
  100. s
  101. }
  102. FUNCTION {output}
  103. { duplicate$ empty$
  104. 'pop$
  105. 'output.nonnull
  106. if$
  107. }
  108. FUNCTION {output.check}
  109. { 't :=
  110. duplicate$ empty$
  111. { pop$ "empty " t * " in " * cite$ * warning$ }
  112. 'output.nonnull
  113. if$
  114. }
  115. FUNCTION {fin.entry}
  116. { add.period$
  117. write$
  118. newline$
  119. }
  120.  
  121. FUNCTION {new.block}
  122. { output.state before.all =
  123. 'skip$
  124. { after.block 'output.state := }
  125. if$
  126. }
  127. FUNCTION {new.sentence}
  128. { output.state after.block =
  129. 'skip$
  130. { output.state before.all =
  131. 'skip$
  132. { after.sentence 'output.state := }
  133. if$
  134. }
  135. if$
  136. }
  137. FUNCTION {add.blank}
  138. { " " * before.all 'output.state :=
  139. }
  140.  
  141. FUNCTION {date.block}
  142. {
  143. new.block
  144. }
  145.  
  146. FUNCTION {not}
  147. { { #0 }
  148. { #1 }
  149. if$
  150. }
  151. FUNCTION {and}
  152. { 'skip$
  153. { pop$ #0 }
  154. if$
  155. }
  156. FUNCTION {or}
  157. { { pop$ #1 }
  158. 'skip$
  159. if$
  160. }
  161. FUNCTION {new.block.checkb}
  162. { empty$
  163. swap$ empty$
  164. and
  165. 'skip$
  166. 'new.block
  167. if$
  168. }
  169. FUNCTION {field.or.null}
  170. { duplicate$ empty$
  171. { pop$ "" }
  172. 'skip$
  173. if$
  174. }
  175. FUNCTION {emphasize}
  176. { duplicate$ empty$
  177. { pop$ "" }
  178. { "\emph{" swap$ * "}" * }
  179. if$
  180. }
  181. FUNCTION {tie.or.space.prefix}
  182. { duplicate$ text.length$ #3 <
  183. { "~" }
  184. { " " }
  185. if$
  186. swap$
  187. }
  188.  
  189. FUNCTION {capitalize}
  190. { "u" change.case$ "t" change.case$ }
  191.  
  192. FUNCTION {space.word}
  193. { " " swap$ * " " * }
  194. % Here are the language-specific definitions for explicit words.
  195. % Each function has a name bbl.xxx where xxx is the English word.
  196. %-------------------------------------------------------------------
  197. % Begin module:
  198. % \ProvidesFile{german.mbs}[2003/11/06 4.2 (PWD)]
  199.  
  200. % The language selected here is GERMAN
  201. FUNCTION {bbl.and}
  202. { "und"}
  203.  
  204. FUNCTION {bbl.etal}
  205. { "et~al." }
  206.  
  207. FUNCTION {bbl.editors}
  208. { "Hg." }
  209.  
  210. FUNCTION {bbl.editor}
  211. { "Hg." }
  212.  
  213. FUNCTION {bbl.edby}
  214. { "herausgegeben von" }
  215.  
  216. FUNCTION {bbl.edition}
  217. { "Auf\/lage" }
  218.  
  219. FUNCTION {bbl.volume}
  220. { "Band" }
  221.  
  222. FUNCTION {bbl.of}
  223. { "von" }
  224.  
  225. FUNCTION {bbl.number}
  226. { "Nummer" }
  227.  
  228. FUNCTION {bbl.nr}
  229. { "Nr." }
  230.  
  231. FUNCTION {bbl.in}
  232. { "in" }
  233.  
  234. FUNCTION {bbl.pages}
  235. { "S." }
  236.  
  237. FUNCTION {bbl.page}
  238. { "S." }
  239.  
  240. FUNCTION {bbl.eidpp}
  241. { "Seiten" }
  242.  
  243. FUNCTION {bbl.chapter}
  244. { "Kapitel" }
  245.  
  246. FUNCTION {bbl.techrep}
  247. { "{Technischer Bericht}" }
  248.  
  249. FUNCTION {bbl.mthesis}
  250. { "Diplomarbeit" }
  251.  
  252. FUNCTION {bbl.phdthesis}
  253. { "Dissertation" }
  254.  
  255. FUNCTION {bbl.first}
  256. { "1." }
  257.  
  258. FUNCTION {bbl.second}
  259. { "2." }
  260.  
  261. FUNCTION {bbl.third}
  262. { "3." }
  263.  
  264. FUNCTION {bbl.fourth}
  265. { "4." }
  266.  
  267. FUNCTION {bbl.fifth}
  268. { "5." }
  269.  
  270. FUNCTION {bbl.th}
  271. { "." }
  272.  
  273. MACRO {jan} {"Januar"}
  274.  
  275. MACRO {feb} {"Februar"}
  276.  
  277. MACRO {mar} {"M\^^b{a}rz"}
  278.  
  279. MACRO {apr} {"April"}
  280.  
  281. MACRO {may} {"Mai"}
  282.  
  283. MACRO {jun} {"Juni"}
  284.  
  285. MACRO {jul} {"Juli"}
  286.  
  287. MACRO {aug} {"August"}
  288.  
  289. MACRO {sep} {"September"}
  290.  
  291. MACRO {oct} {"Oktober"}
  292.  
  293. MACRO {nov} {"November"}
  294.  
  295. MACRO {dec} {"Dezember"}
  296.  
  297. % End module: german.mbs
  298. %% Copyright 1994-2011 Patrick W Daly
  299. MACRO {acmcs} {"ACM Computing Surveys"}
  300.  
  301. MACRO {acta} {"Acta Informatica"}
  302.  
  303. MACRO {cacm} {"Communications of the ACM"}
  304.  
  305. MACRO {ibmjrd} {"IBM Journal of Research and Development"}
  306.  
  307. MACRO {ibmsj} {"IBM Systems Journal"}
  308.  
  309. MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
  310.  
  311. MACRO {ieeetc} {"IEEE Transactions on Computers"}
  312.  
  313. MACRO {ieeetcad}
  314. {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
  315.  
  316. MACRO {ipl} {"Information Processing Letters"}
  317.  
  318. MACRO {jacm} {"Journal of the ACM"}
  319.  
  320. MACRO {jcss} {"Journal of Computer and System Sciences"}
  321.  
  322. MACRO {scp} {"Science of Computer Programming"}
  323.  
  324. MACRO {sicomp} {"SIAM Journal on Computing"}
  325.  
  326. MACRO {tocs} {"ACM Transactions on Computer Systems"}
  327.  
  328. MACRO {tods} {"ACM Transactions on Database Systems"}
  329.  
  330. MACRO {tog} {"ACM Transactions on Graphics"}
  331.  
  332. MACRO {toms} {"ACM Transactions on Mathematical Software"}
  333.  
  334. MACRO {toois} {"ACM Transactions on Office Information Systems"}
  335.  
  336. MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
  337.  
  338. MACRO {tcs} {"Theoretical Computer Science"}
  339. FUNCTION {bibinfo.check}
  340. { swap$
  341. duplicate$ missing$
  342. {
  343. pop$ pop$
  344. ""
  345. }
  346. { duplicate$ empty$
  347. {
  348. swap$ pop$
  349. }
  350. { swap$
  351. pop$
  352. }
  353. if$
  354. }
  355. if$
  356. }
  357. FUNCTION {bibinfo.warn}
  358. { swap$
  359. duplicate$ missing$
  360. {
  361. swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
  362. ""
  363. }
  364. { duplicate$ empty$
  365. {
  366. swap$ "empty " swap$ * " in " * cite$ * warning$
  367. }
  368. { swap$
  369. pop$
  370. }
  371. if$
  372. }
  373. if$
  374. }
  375. FUNCTION {format.eprint}
  376. { eprint duplicate$ empty$
  377. 'skip$
  378. { "\eprint"
  379. archive empty$
  380. 'skip$
  381. { "[" * archive * "]" * }
  382. if$
  383. "{" * swap$ * "}" *
  384. }
  385. if$
  386. }
  387. FUNCTION {format.url}
  388. {
  389. url
  390. duplicate$ empty$
  391. { pop$ "" }
  392. { "\urlprefix\url{" swap$ * "}" * }
  393. if$
  394. }
  395.  
  396. FUNCTION {format.urldate}
  397. {
  398. urldate
  399. duplicate$ empty$
  400. { pop$ "" }
  401. { " Zugriff am: " swap$ * }
  402. if$
  403. }
  404.  
  405. INTEGERS { nameptr namesleft numnames }
  406.  
  407.  
  408. STRINGS { bibinfo}
  409.  
  410. FUNCTION {format.names}
  411. { 'bibinfo :=
  412. duplicate$ empty$ 'skip$ {
  413. 's :=
  414. "" 't :=
  415. #1 'nameptr :=
  416. s num.names$ 'numnames :=
  417. numnames 'namesleft :=
  418. { namesleft #0 > }
  419. { s nameptr
  420. "{vv~}{ll}{, jj}{, f{.}.}"
  421. format.name$
  422. bibinfo bibinfo.check
  423. 't :=
  424. nameptr #1 >
  425. {
  426. nameptr #2
  427. #1 + =
  428. numnames #2
  429. > and
  430. { "others" 't :=
  431. #1 'namesleft := }
  432. 'skip$
  433. if$
  434. namesleft #1 >
  435. { ", " * t * }
  436. {
  437. s nameptr "{ll}" format.name$ duplicate$ "others" =
  438. { 't := }
  439. { pop$ }
  440. if$
  441. "," *
  442. t "others" =
  443. {
  444. " " * bbl.etal *
  445. }
  446. { " " * t * }
  447. if$
  448. }
  449. if$
  450. }
  451. 't
  452. if$
  453. nameptr #1 + 'nameptr :=
  454. namesleft #1 - 'namesleft :=
  455. }
  456. while$
  457. } if$
  458. }
  459. FUNCTION {format.names.ed}
  460. {
  461. 'bibinfo :=
  462. duplicate$ empty$ 'skip$ {
  463. 's :=
  464. "" 't :=
  465. #1 'nameptr :=
  466. s num.names$ 'numnames :=
  467. numnames 'namesleft :=
  468. { namesleft #0 > }
  469. { s nameptr
  470. "{f{.}.~}{vv~}{ll}{ jj}"
  471. format.name$
  472. bibinfo bibinfo.check
  473. 't :=
  474. nameptr #1 >
  475. {
  476. namesleft #1 >
  477. { ", " * t * }
  478. {
  479. s nameptr "{ll}" format.name$ duplicate$ "others" =
  480. { 't := }
  481. { pop$ }
  482. if$
  483. "," *
  484. t "others" =
  485. {
  486.  
  487. " " * bbl.etal *
  488. }
  489. { " " * t * }
  490. if$
  491. }
  492. if$
  493. }
  494. 't
  495. if$
  496. nameptr #1 + 'nameptr :=
  497. namesleft #1 - 'namesleft :=
  498. }
  499. while$
  500. } if$
  501. }
  502. FUNCTION {format.key}
  503. { empty$
  504. { key field.or.null }
  505. { "" }
  506. if$
  507. }
  508.  
  509. FUNCTION {format.authors}
  510. { author "author" format.names
  511. duplicate$ empty$ 'skip$
  512. { collaboration "collaboration" bibinfo.check
  513. duplicate$ empty$ 'skip$
  514. { " (" swap$ * ")" * }
  515. if$
  516. *
  517. }
  518. if$
  519. }
  520. FUNCTION {get.bbl.editor}
  521. { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
  522.  
  523. FUNCTION {format.editors}
  524. { editor "editor" format.names duplicate$ empty$ 'skip$
  525. {
  526. " " *
  527. get.bbl.editor
  528. "(" swap$ * ")" *
  529. *
  530. }
  531. if$
  532. }
  533. FUNCTION {format.isbn}
  534. { isbn "isbn" bibinfo.check
  535. duplicate$ empty$ 'skip$
  536. {
  537. new.block
  538. "ISBN " swap$ *
  539. }
  540. if$
  541. }
  542.  
  543. FUNCTION {format.issn}
  544. { issn "issn" bibinfo.check
  545. duplicate$ empty$ 'skip$
  546. {
  547. new.block
  548. "ISSN " swap$ *
  549. }
  550. if$
  551. }
  552.  
  553. FUNCTION {format.note}
  554. {
  555. note empty$
  556. { "" }
  557. { note #1 #1 substring$
  558. duplicate$ "{" =
  559. 'skip$
  560. { output.state mid.sentence =
  561. { "l" }
  562. { "u" }
  563. if$
  564. change.case$
  565. }
  566. if$
  567. note #2 global.max$ substring$ * "note" bibinfo.check
  568. }
  569. if$
  570. }
  571.  
  572. FUNCTION {format.title}
  573. { title
  574. duplicate$ empty$ 'skip$
  575. { "t" change.case$ }
  576. if$
  577. "title" bibinfo.check
  578. }
  579. FUNCTION {format.full.names}
  580. {'s :=
  581. "" 't :=
  582. #1 'nameptr :=
  583. s num.names$ 'numnames :=
  584. numnames 'namesleft :=
  585. { namesleft #0 > }
  586. { s nameptr
  587. "{vv~}{ll}" format.name$
  588. 't :=
  589. nameptr #1 >
  590. {
  591. nameptr #2
  592. #1 + =
  593. numnames #2
  594. > and
  595. { "others" 't :=
  596. #1 'namesleft := }
  597. 'skip$
  598. if$
  599. namesleft #1 >
  600. { ", " * t * }
  601. {
  602. s nameptr "{ll}" format.name$ duplicate$ "others" =
  603. { 't := }
  604. { pop$ }
  605. if$
  606. t "others" =
  607. {
  608. " " * bbl.etal *
  609. }
  610. {
  611. "\harvardand{}"
  612. space.word * t *
  613. }
  614. if$
  615. }
  616. if$
  617. }
  618. 't
  619. if$
  620. nameptr #1 + 'nameptr :=
  621. namesleft #1 - 'namesleft :=
  622. }
  623. while$
  624. }
  625.  
  626. FUNCTION {author.editor.key.full}
  627. { author empty$
  628. { editor empty$
  629. { key empty$
  630. { cite$ #1 #3 substring$ }
  631. 'key
  632. if$
  633. }
  634. { editor format.full.names }
  635. if$
  636. }
  637. { author format.full.names }
  638. if$
  639. }
  640.  
  641. FUNCTION {author.key.full}
  642. { author empty$
  643. { key empty$
  644. { cite$ #1 #3 substring$ }
  645. 'key
  646. if$
  647. }
  648. { author format.full.names }
  649. if$
  650. }
  651.  
  652. FUNCTION {editor.key.full}
  653. { editor empty$
  654. { key empty$
  655. { cite$ #1 #3 substring$ }
  656. 'key
  657. if$
  658. }
  659. { editor format.full.names }
  660. if$
  661. }
  662.  
  663. FUNCTION {make.full.names}
  664. { type$ "book" =
  665. type$ "inbook" =
  666. or
  667. 'author.editor.key.full
  668. { type$ "proceedings" =
  669. 'editor.key.full
  670. 'author.key.full
  671. if$
  672. }
  673. if$
  674. }
  675.  
  676. FUNCTION {output.bibitem}
  677. { newline$
  678. "\harvarditem" write$
  679. make.full.names duplicate$ label =
  680. 'skip$
  681. { "[" label * "]" * write$ }
  682. if$
  683. "{" swap$ * "}{" * write$
  684. year duplicate$ empty$
  685. { pop$ "????" }
  686. 'skip$
  687. if$
  688. extra.label * "}{" * write$
  689. cite$ write$
  690. "}" write$
  691. newline$
  692. ""
  693. before.all 'output.state :=
  694. }
  695.  
  696. FUNCTION {if.digit}
  697. { duplicate$ "0" =
  698. swap$ duplicate$ "1" =
  699. swap$ duplicate$ "2" =
  700. swap$ duplicate$ "3" =
  701. swap$ duplicate$ "4" =
  702. swap$ duplicate$ "5" =
  703. swap$ duplicate$ "6" =
  704. swap$ duplicate$ "7" =
  705. swap$ duplicate$ "8" =
  706. swap$ "9" = or or or or or or or or or
  707. }
  708. FUNCTION {n.separate}
  709. { 't :=
  710. ""
  711. #0 'numnames :=
  712. { t empty$ not }
  713. { t #-1 #1 substring$ if.digit
  714. { numnames #1 + 'numnames := }
  715. { #0 'numnames := }
  716. if$
  717. t #-1 #1 substring$ swap$ *
  718. t #-2 global.max$ substring$ 't :=
  719. numnames #5 =
  720. { duplicate$ #1 #2 substring$ swap$
  721. #3 global.max$ substring$
  722. "." swap$ * *
  723. }
  724. 'skip$
  725. if$
  726. }
  727. while$
  728. }
  729. FUNCTION {n.dashify}
  730. {
  731. n.separate
  732. 't :=
  733. ""
  734. { t empty$ not }
  735. { t #1 #1 substring$ "-" =
  736. { t #1 #2 substring$ "--" = not
  737. { "--" *
  738. t #2 global.max$ substring$ 't :=
  739. }
  740. { { t #1 #1 substring$ "-" = }
  741. { "-" *
  742. t #2 global.max$ substring$ 't :=
  743. }
  744. while$
  745. }
  746. if$
  747. }
  748. { t #1 #1 substring$ *
  749. t #2 global.max$ substring$ 't :=
  750. }
  751. if$
  752. }
  753. while$
  754. }
  755.  
  756. FUNCTION {word.in}
  757. { bbl.in capitalize
  758. " " * }
  759.  
  760. FUNCTION {format.date}
  761. { year "year" bibinfo.check duplicate$ empty$
  762. {
  763. "empty year in " cite$ * "; set to ????" * warning$
  764. pop$ "????"
  765. }
  766. 'skip$
  767. if$
  768. extra.label *
  769. before.all 'output.state :=
  770. " \harvardyearleft " swap$ * "\harvardyearright{}" *
  771. }
  772. FUNCTION {format.btitle}
  773. { title "title" bibinfo.check
  774. duplicate$ empty$ 'skip$
  775. {
  776. }
  777. if$
  778. }
  779. FUNCTION {either.or.check}
  780. { empty$
  781. 'pop$
  782. { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  783. if$
  784. }
  785. FUNCTION {format.bvolume}
  786. { volume empty$
  787. { "" }
  788. { bbl.volume volume tie.or.space.prefix
  789. "volume" bibinfo.check * *
  790. series "series" bibinfo.check
  791. duplicate$ empty$ 'pop$
  792. { emphasize ", " * swap$ * }
  793. if$
  794. "volume and number" number either.or.check
  795. }
  796. if$
  797. }
  798. FUNCTION {format.number.series}
  799. { volume empty$
  800. { number empty$
  801. { series field.or.null }
  802. { series empty$
  803. { number "number" bibinfo.check }
  804. { output.state mid.sentence =
  805. { bbl.number }
  806. { bbl.number capitalize }
  807. if$
  808. number tie.or.space.prefix "number" bibinfo.check * *
  809. bbl.in space.word *
  810. series "series" bibinfo.check *
  811. }
  812. if$
  813. }
  814. if$
  815. }
  816. { "" }
  817. if$
  818. }
  819. FUNCTION {is.num}
  820. { chr.to.int$
  821. duplicate$ "0" chr.to.int$ < not
  822. swap$ "9" chr.to.int$ > not and
  823. }
  824.  
  825. FUNCTION {extract.num}
  826. { duplicate$ 't :=
  827. "" 's :=
  828. { t empty$ not }
  829. { t #1 #1 substring$
  830. t #2 global.max$ substring$ 't :=
  831. duplicate$ is.num
  832. { s swap$ * 's := }
  833. { pop$ "" 't := }
  834. if$
  835. }
  836. while$
  837. s empty$
  838. 'skip$
  839. { pop$ s }
  840. if$
  841. }
  842.  
  843. FUNCTION {convert.edition}
  844. { extract.num "l" change.case$ 's :=
  845. s "first" = s "1" = or
  846. { bbl.first 't := }
  847. { s "second" = s "2" = or
  848. { bbl.second 't := }
  849. { s "third" = s "3" = or
  850. { bbl.third 't := }
  851. { s "fourth" = s "4" = or
  852. { bbl.fourth 't := }
  853. { s "fifth" = s "5" = or
  854. { bbl.fifth 't := }
  855. { s #1 #1 substring$ is.num
  856. { s bbl.th * 't := }
  857. { edition 't := }
  858. if$
  859. }
  860. if$
  861. }
  862. if$
  863. }
  864. if$
  865. }
  866. if$
  867. }
  868. if$
  869. t
  870. }
  871.  
  872. FUNCTION {format.edition}
  873. { edition duplicate$ empty$ 'skip$
  874. {
  875. convert.edition
  876. output.state mid.sentence =
  877. { "l" }
  878. { "t" }
  879. if$ change.case$
  880. "edition" bibinfo.check
  881. " " * bbl.edition *
  882. }
  883. if$
  884. }
  885. INTEGERS { multiresult }
  886. FUNCTION {multi.page.check}
  887. { 't :=
  888. #0 'multiresult :=
  889. { multiresult not
  890. t empty$ not
  891. and
  892. }
  893. { t #1 #1 substring$
  894. duplicate$ "-" =
  895. swap$ duplicate$ "," =
  896. swap$ "+" =
  897. or or
  898. { #1 'multiresult := }
  899. { t #2 global.max$ substring$ 't := }
  900. if$
  901. }
  902. while$
  903. multiresult
  904. }
  905. FUNCTION {format.pages}
  906. { pages duplicate$ empty$ 'skip$
  907. { duplicate$ multi.page.check
  908. {
  909. bbl.pages swap$
  910. n.dashify
  911. }
  912. {
  913. bbl.page swap$
  914. }
  915. if$
  916. tie.or.space.prefix
  917. "pages" bibinfo.check
  918. * *
  919. }
  920. if$
  921. }
  922. FUNCTION {format.journal.pages}
  923. { pages duplicate$ empty$ 'pop$
  924. { swap$ duplicate$ empty$
  925. { pop$ pop$ format.pages }
  926. {
  927. ", " *
  928. swap$
  929. n.dashify
  930. pages multi.page.check
  931. 'bbl.pages
  932. 'bbl.page
  933. if$
  934. swap$ tie.or.space.prefix
  935. "pages" bibinfo.check
  936. * *
  937. *
  938. }
  939. if$
  940. }
  941. if$
  942. }
  943. FUNCTION {format.journal.eid}
  944. { eid "eid" bibinfo.check
  945. duplicate$ empty$ 'pop$
  946. { swap$ duplicate$ empty$ 'skip$
  947. {
  948. ", " *
  949. }
  950. if$
  951. swap$ *
  952. numpages empty$ 'skip$
  953. { bbl.eidpp numpages tie.or.space.prefix
  954. "numpages" bibinfo.check * *
  955. " (" swap$ * ")" * *
  956. }
  957. if$
  958. }
  959. if$
  960. }
  961. FUNCTION {format.vol.num.pages}
  962. { volume field.or.null
  963. duplicate$ empty$ 'skip$
  964. {
  965. bbl.volume swap$ tie.or.space.prefix
  966. "volume" bibinfo.check
  967. * *
  968. }
  969. if$
  970. number "number" bibinfo.check duplicate$ empty$ 'skip$
  971. {
  972. swap$ duplicate$ empty$
  973. { "there's a number but no volume in " cite$ * warning$ }
  974. 'skip$
  975. if$
  976. swap$
  977. ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
  978. }
  979. if$ *
  980. eid empty$
  981. { format.journal.pages }
  982. { format.journal.eid }
  983. if$
  984. }
  985.  
  986. FUNCTION {format.chapter.pages}
  987. { chapter empty$
  988. 'format.pages
  989. { type empty$
  990. { bbl.chapter }
  991. { type "l" change.case$
  992. "type" bibinfo.check
  993. }
  994. if$
  995. chapter tie.or.space.prefix
  996. "chapter" bibinfo.check
  997. * *
  998. pages empty$
  999. 'skip$
  1000. { ", " * format.pages * }
  1001. if$
  1002. }
  1003. if$
  1004. }
  1005.  
  1006. FUNCTION {format.booktitle}
  1007. {
  1008. booktitle "booktitle" bibinfo.check
  1009. }
  1010. FUNCTION {format.in.ed.booktitle}
  1011. { format.booktitle duplicate$ empty$ 'skip$
  1012. {
  1013. format.bvolume duplicate$ empty$ 'pop$
  1014. { ", " swap$ * * }
  1015. if$
  1016. editor "editor" format.names.ed duplicate$ empty$ 'pop$
  1017. {
  1018. " " *
  1019. get.bbl.editor
  1020. "(" swap$ * "), " *
  1021. * swap$
  1022. * }
  1023. if$
  1024. word.in swap$ *
  1025. }
  1026. if$
  1027. }
  1028. FUNCTION {format.thesis.type}
  1029. { type duplicate$ empty$
  1030. 'pop$
  1031. { swap$ pop$
  1032. "t" change.case$ "type" bibinfo.check
  1033. }
  1034. if$
  1035. }
  1036. FUNCTION {format.tr.number}
  1037. { number "number" bibinfo.check
  1038. type duplicate$ empty$
  1039. { pop$ bbl.techrep }
  1040. 'skip$
  1041. if$
  1042. "type" bibinfo.check
  1043. swap$ duplicate$ empty$
  1044. { pop$ "t" change.case$ }
  1045. { tie.or.space.prefix * * }
  1046. if$
  1047. }
  1048. FUNCTION {format.article.crossref}
  1049. {
  1050. word.in
  1051. " \cite{" * crossref * "}" *
  1052. }
  1053. FUNCTION {format.book.crossref}
  1054. { volume duplicate$ empty$
  1055. { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
  1056. pop$ word.in
  1057. }
  1058. { bbl.volume
  1059. capitalize
  1060. swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
  1061. }
  1062. if$
  1063. " \cite{" * crossref * "}" *
  1064. }
  1065. FUNCTION {format.incoll.inproc.crossref}
  1066. {
  1067. word.in
  1068. " \cite{" * crossref * "}" *
  1069. }
  1070. FUNCTION {format.org.or.pub}
  1071. { 't :=
  1072. ""
  1073. address empty$ t empty$ and
  1074. 'skip$
  1075. {
  1076. t empty$
  1077. { address "address" bibinfo.check *
  1078. }
  1079. { t *
  1080. address empty$
  1081. 'skip$
  1082. { ", " * address "address" bibinfo.check * }
  1083. if$
  1084. }
  1085. if$
  1086. }
  1087. if$
  1088. }
  1089. FUNCTION {format.publisher.address}
  1090. { publisher "publisher" bibinfo.warn format.org.or.pub
  1091. }
  1092.  
  1093. FUNCTION {format.organization.address}
  1094. { organization "organization" bibinfo.check format.org.or.pub
  1095. }
  1096.  
  1097. FUNCTION {article}
  1098. { output.bibitem
  1099. format.authors "author" output.check
  1100. author format.key output
  1101. new.block
  1102. format.title "title" output.check
  1103. new.block
  1104. crossref missing$
  1105. {
  1106. journal
  1107. "journal" bibinfo.check
  1108. "journal" output.check
  1109. format.vol.num.pages output
  1110. format.date "year" output.check
  1111. }
  1112. { format.article.crossref output.nonnull
  1113. format.pages output
  1114. }
  1115. if$
  1116. format.issn output
  1117. new.block
  1118. format.note output
  1119. format.eprint output
  1120. fin.entry
  1121. }
  1122. FUNCTION {book}
  1123. { output.bibitem
  1124. author empty$
  1125. { format.editors "author and editor" output.check
  1126. editor format.key output
  1127. }
  1128. { format.authors output.nonnull
  1129. crossref missing$
  1130. { "author and editor" editor either.or.check }
  1131. 'skip$
  1132. if$
  1133. }
  1134. if$
  1135. new.block
  1136. format.btitle "title" output.check
  1137. crossref missing$
  1138. { format.bvolume output
  1139. new.block
  1140. format.number.series output
  1141. new.sentence
  1142. format.publisher.address output
  1143. }
  1144. {
  1145. new.block
  1146. format.book.crossref output.nonnull
  1147. }
  1148. if$
  1149. format.edition output
  1150. format.date "year" output.check
  1151. format.isbn output
  1152. new.block
  1153. format.note output
  1154. format.eprint output
  1155. fin.entry
  1156. }
  1157. FUNCTION {booklet}
  1158. { output.bibitem
  1159. format.authors output
  1160. author format.key output
  1161. new.block
  1162. format.title "title" output.check
  1163. new.block
  1164. howpublished "howpublished" bibinfo.check output
  1165. address "address" bibinfo.check output
  1166. format.date "year" output.check
  1167. format.isbn output
  1168. new.block
  1169. format.note output
  1170. format.eprint output
  1171. fin.entry
  1172. }
  1173.  
  1174. FUNCTION {inbook}
  1175. { output.bibitem
  1176. author empty$
  1177. { format.editors "author and editor" output.check
  1178. editor format.key output
  1179. }
  1180. { format.authors output.nonnull
  1181. crossref missing$
  1182. { "author and editor" editor either.or.check }
  1183. 'skip$
  1184. if$
  1185. }
  1186. if$
  1187. new.block
  1188. format.btitle "title" output.check
  1189. crossref missing$
  1190. {
  1191. format.bvolume output
  1192. format.chapter.pages "chapter and pages" output.check
  1193. new.block
  1194. format.number.series output
  1195. new.sentence
  1196. format.publisher.address output
  1197. }
  1198. {
  1199. format.chapter.pages "chapter and pages" output.check
  1200. new.block
  1201. format.book.crossref output.nonnull
  1202. }
  1203. if$
  1204. format.edition output
  1205. format.date "year" output.check
  1206. crossref missing$
  1207. { format.isbn output }
  1208. 'skip$
  1209. if$
  1210. new.block
  1211. format.note output
  1212. format.eprint output
  1213. fin.entry
  1214. }
  1215.  
  1216. FUNCTION {incollection}
  1217. { output.bibitem
  1218. format.authors "author" output.check
  1219. author format.key output
  1220. new.block
  1221. format.title "title" output.check
  1222. new.block
  1223. crossref missing$
  1224. { format.in.ed.booktitle "booktitle" output.check
  1225. format.number.series output
  1226. format.chapter.pages output
  1227. new.sentence
  1228. format.publisher.address output
  1229. format.edition output
  1230. format.date "year" output.check
  1231. format.isbn output
  1232. }
  1233. { format.incoll.inproc.crossref output.nonnull
  1234. format.chapter.pages output
  1235. }
  1236. if$
  1237. new.block
  1238. format.note output
  1239. format.eprint output
  1240. fin.entry
  1241. }
  1242. FUNCTION {inproceedings}
  1243. { output.bibitem
  1244. format.authors "author" output.check
  1245. author format.key output
  1246. new.block
  1247. format.title "title" output.check
  1248. new.block
  1249. crossref missing$
  1250. { format.in.ed.booktitle "booktitle" output.check
  1251. format.number.series output
  1252. format.pages output
  1253. new.sentence
  1254. publisher empty$
  1255. { format.organization.address output }
  1256. { organization "organization" bibinfo.check output
  1257. format.publisher.address output
  1258. }
  1259. if$
  1260. format.date "year" output.check
  1261. format.isbn output
  1262. format.issn output
  1263. }
  1264. { format.incoll.inproc.crossref output.nonnull
  1265. format.pages output
  1266. }
  1267. if$
  1268. new.block
  1269. format.note output
  1270. format.eprint output
  1271. fin.entry
  1272. }
  1273. FUNCTION {conference} { inproceedings }
  1274. FUNCTION {manual}
  1275. { output.bibitem
  1276. format.authors output
  1277. author format.key output
  1278. new.block
  1279. format.btitle "title" output.check
  1280. organization address new.block.checkb
  1281. organization "organization" bibinfo.check output
  1282. address "address" bibinfo.check output
  1283. format.edition output
  1284. format.date "year" output.check
  1285. new.block
  1286. format.note output
  1287. format.eprint output
  1288. fin.entry
  1289. }
  1290.  
  1291. FUNCTION {mastersthesis}
  1292. { output.bibitem
  1293. format.authors "author" output.check
  1294. author format.key output
  1295. new.block
  1296. format.btitle
  1297. "title" output.check
  1298. new.block
  1299. bbl.mthesis format.thesis.type output.nonnull
  1300. school "school" bibinfo.warn output
  1301. address "address" bibinfo.check output
  1302. format.date "year" output.check
  1303. new.block
  1304. format.note output
  1305. format.eprint output
  1306. format.url output
  1307. fin.entry
  1308. }
  1309.  
  1310. FUNCTION {misc}
  1311. { output.bibitem
  1312. format.authors output
  1313. author format.key output
  1314. new.block
  1315. format.title output
  1316. new.block
  1317. howpublished "howpublished" bibinfo.check output
  1318. format.date "year" output.check
  1319. new.block
  1320. format.note output
  1321. format.eprint output
  1322. format.url output
  1323. format.urldate output
  1324. fin.entry
  1325. }
  1326. FUNCTION {phdthesis}
  1327. { output.bibitem
  1328. format.authors "author" output.check
  1329. author format.key output
  1330. new.block
  1331. format.btitle
  1332. "title" output.check
  1333. new.block
  1334. bbl.phdthesis format.thesis.type output.nonnull
  1335. school "school" bibinfo.warn output
  1336. address "address" bibinfo.check output
  1337. format.date "year" output.check
  1338. new.block
  1339. format.note output
  1340. format.eprint output
  1341. format.url output
  1342. fin.entry
  1343. }
  1344.  
  1345. FUNCTION {proceedings}
  1346. { output.bibitem
  1347. format.editors output
  1348. editor format.key output
  1349. new.block
  1350. format.btitle "title" output.check
  1351. format.bvolume output
  1352. format.number.series output
  1353. new.sentence
  1354. publisher empty$
  1355. { format.organization.address output }
  1356. { organization "organization" bibinfo.check output
  1357. format.publisher.address output
  1358. }
  1359. if$
  1360. format.date "year" output.check
  1361. format.isbn output
  1362. format.issn output
  1363. new.block
  1364. format.note output
  1365. format.eprint output
  1366. fin.entry
  1367. }
  1368.  
  1369. FUNCTION {techreport}
  1370. { output.bibitem
  1371. format.authors "author" output.check
  1372. author format.key output
  1373. new.block
  1374. format.title
  1375. "title" output.check
  1376. new.block
  1377. format.tr.number output.nonnull
  1378. institution "institution" bibinfo.warn output
  1379. address "address" bibinfo.check output
  1380. format.date "year" output.check
  1381. new.block
  1382. format.note output
  1383. format.eprint output
  1384. format.url output
  1385. fin.entry
  1386. }
  1387.  
  1388. FUNCTION {unpublished}
  1389. { output.bibitem
  1390. format.authors "author" output.check
  1391. author format.key output
  1392. new.block
  1393. format.title "title" output.check
  1394. format.date "year" output.check
  1395. new.block
  1396. format.note "note" output.check
  1397. format.eprint output
  1398. format.url output
  1399. fin.entry
  1400. }
  1401.  
  1402. FUNCTION {default.type} { misc }
  1403. READ
  1404. FUNCTION {sortify}
  1405. { purify$
  1406. "l" change.case$
  1407. }
  1408. INTEGERS { len }
  1409. FUNCTION {chop.word}
  1410. { 's :=
  1411. 'len :=
  1412. s #1 len substring$ =
  1413. { s len #1 + global.max$ substring$ }
  1414. 's
  1415. if$
  1416. }
  1417. FUNCTION {format.lab.names}
  1418. { 's :=
  1419. "" 't :=
  1420. s #1 "{vv~}{ll}" format.name$
  1421. s num.names$ duplicate$
  1422. #2 >
  1423. { pop$
  1424. " " * bbl.etal *
  1425. }
  1426. { #2 <
  1427. 'skip$
  1428. { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
  1429. {
  1430. " " * bbl.etal *
  1431. }
  1432. { " \harvardand{} " * s #2 "{vv~}{ll}" format.name$
  1433. * }
  1434. if$
  1435. }
  1436. if$
  1437. }
  1438. if$
  1439. }
  1440.  
  1441. FUNCTION {author.key.label}
  1442. { author empty$
  1443. { key empty$
  1444. { cite$ #1 #3 substring$ }
  1445. 'key
  1446. if$
  1447. }
  1448. { author format.lab.names }
  1449. if$
  1450. }
  1451.  
  1452. FUNCTION {author.editor.key.label}
  1453. { author empty$
  1454. { editor empty$
  1455. { key empty$
  1456. { cite$ #1 #3 substring$ }
  1457. 'key
  1458. if$
  1459. }
  1460. { editor format.lab.names }
  1461. if$
  1462. }
  1463. { author format.lab.names }
  1464. if$
  1465. }
  1466.  
  1467. FUNCTION {editor.key.label}
  1468. { editor empty$
  1469. { key empty$
  1470. { cite$ #1 #3 substring$ }
  1471. 'key
  1472. if$
  1473. }
  1474. { editor format.lab.names }
  1475. if$
  1476. }
  1477.  
  1478. FUNCTION {calc.short.authors}
  1479. { type$ "book" =
  1480. type$ "inbook" =
  1481. or
  1482. 'author.editor.key.label
  1483. { type$ "proceedings" =
  1484. 'editor.key.label
  1485. 'author.key.label
  1486. if$
  1487. }
  1488. if$
  1489. 'short.list :=
  1490. }
  1491.  
  1492. FUNCTION {calc.label}
  1493. { calc.short.authors
  1494. short.list
  1495. ", "
  1496. *
  1497. year duplicate$ empty$
  1498. short.list key field.or.null = or
  1499. { pop$ "" }
  1500. 'skip$
  1501. if$
  1502. *
  1503. 'label :=
  1504. }
  1505.  
  1506. FUNCTION {calc.short.label}
  1507. { calc.short.authors short.list
  1508. 'label :=
  1509. }
  1510. FUNCTION {sort.format.names}
  1511. { 's :=
  1512. #1 'nameptr :=
  1513. ""
  1514. s num.names$ 'numnames :=
  1515. numnames 'namesleft :=
  1516. { namesleft #0 > }
  1517. { s nameptr
  1518. "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
  1519. format.name$ 't :=
  1520. nameptr #1 >
  1521. {
  1522. nameptr #2
  1523. #1 + =
  1524. numnames #2
  1525. > and
  1526. { "others" 't :=
  1527. #1 'namesleft := }
  1528. 'skip$
  1529. if$
  1530. " " *
  1531. namesleft #1 = t "others" = and
  1532. { "zzzzz" 't := }
  1533. 'skip$
  1534. if$
  1535. t sortify *
  1536. }
  1537. { t sortify * }
  1538. if$
  1539. nameptr #1 + 'nameptr :=
  1540. namesleft #1 - 'namesleft :=
  1541. }
  1542. while$
  1543. }
  1544.  
  1545. FUNCTION {sort.format.title}
  1546. { 't :=
  1547. "A " #2
  1548. "An " #3
  1549. "The " #4 t chop.word
  1550. chop.word
  1551. chop.word
  1552. sortify
  1553. #1 global.max$ substring$
  1554. }
  1555. FUNCTION {author.sort}
  1556. { author empty$
  1557. { key empty$
  1558. { "to sort, need author or key in " cite$ * warning$
  1559. ""
  1560. }
  1561. { key sortify }
  1562. if$
  1563. }
  1564. { author sort.format.names }
  1565. if$
  1566. }
  1567. FUNCTION {author.editor.sort}
  1568. { author empty$
  1569. { editor empty$
  1570. { key empty$
  1571. { "to sort, need author, editor, or key in " cite$ * warning$
  1572. ""
  1573. }
  1574. { key sortify }
  1575. if$
  1576. }
  1577. { editor sort.format.names }
  1578. if$
  1579. }
  1580. { author sort.format.names }
  1581. if$
  1582. }
  1583. FUNCTION {editor.sort}
  1584. { editor empty$
  1585. { key empty$
  1586. { "to sort, need editor or key in " cite$ * warning$
  1587. ""
  1588. }
  1589. { key sortify }
  1590. if$
  1591. }
  1592. { editor sort.format.names }
  1593. if$
  1594. }
  1595. FUNCTION {presort}
  1596. { calc.label
  1597. label sortify
  1598. " "
  1599. *
  1600. type$ "book" =
  1601. type$ "inbook" =
  1602. or
  1603. 'author.editor.sort
  1604. { type$ "proceedings" =
  1605. 'editor.sort
  1606. 'author.sort
  1607. if$
  1608. }
  1609. if$
  1610. #1 entry.max$ substring$
  1611. 'sort.label :=
  1612. sort.label
  1613. *
  1614. " "
  1615. *
  1616. title field.or.null
  1617. sort.format.title
  1618. *
  1619. #1 entry.max$ substring$
  1620. 'sort.key$ :=
  1621. }
  1622.  
  1623. ITERATE {presort}
  1624. SORT
  1625. STRINGS { last.label next.extra }
  1626. INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }
  1627. FUNCTION {initialize.extra.label.stuff}
  1628. { #0 int.to.chr$ 'last.label :=
  1629. "" 'next.extra :=
  1630. #0 'last.extra.num :=
  1631. "a" chr.to.int$ #1 - 'last.extra.num.blank :=
  1632. last.extra.num.blank 'last.extra.num.extended :=
  1633. #0 'number.label :=
  1634. }
  1635. FUNCTION {forward.pass}
  1636. { last.label label =
  1637. { last.extra.num #1 + 'last.extra.num :=
  1638. last.extra.num "z" chr.to.int$ >
  1639. { "a" chr.to.int$ 'last.extra.num :=
  1640. last.extra.num.extended #1 + 'last.extra.num.extended :=
  1641. }
  1642. 'skip$
  1643. if$
  1644. last.extra.num.extended last.extra.num.blank >
  1645. { last.extra.num.extended int.to.chr$
  1646. last.extra.num int.to.chr$
  1647. * 'extra.label := }
  1648. { last.extra.num int.to.chr$ 'extra.label := }
  1649. if$
  1650. }
  1651. { "a" chr.to.int$ 'last.extra.num :=
  1652. "" 'extra.label :=
  1653. label 'last.label :=
  1654. }
  1655. if$
  1656. number.label #1 + 'number.label :=
  1657. }
  1658. FUNCTION {reverse.pass}
  1659. { next.extra "b" =
  1660. { "a" 'extra.label := }
  1661. 'skip$
  1662. if$
  1663. extra.label 'next.extra :=
  1664. extra.label
  1665. duplicate$ empty$
  1666. 'skip$
  1667. { "{\natexlab{" swap$ * "}}" * }
  1668. if$
  1669. 'extra.label :=
  1670. }
  1671. EXECUTE {initialize.extra.label.stuff}
  1672. ITERATE {forward.pass}
  1673. REVERSE {reverse.pass}
  1674. FUNCTION {bib.sort.order}
  1675. { sort.label
  1676. " "
  1677. *
  1678. year field.or.null sortify
  1679. *
  1680. " "
  1681. *
  1682. title field.or.null
  1683. sort.format.title
  1684. *
  1685. #1 entry.max$ substring$
  1686. 'sort.key$ :=
  1687. calc.short.label
  1688. }
  1689. ITERATE {bib.sort.order}
  1690. SORT
  1691. FUNCTION {begin.bib}
  1692. { preamble$ empty$
  1693. 'skip$
  1694. { preamble$ write$ newline$ }
  1695. if$
  1696. "\begin{thebibliography}{" number.label int.to.str$ * "}" *
  1697. write$ newline$
  1698. "\providecommand{\natexlab}[1]{#1}"
  1699. write$ newline$
  1700. "{\catcode`\|=0\catcode`\#=12\catcode`\@=11\catcode`\\=12" write$ newline$
  1701. "|immediate|write|@auxout{\expandafter\ifx\csname natexlab\endcsname\relax\gdef\natexlab#1{#1}\fi}}"
  1702. write$ newline$
  1703. "\providecommand{\url}[1]{\texttt{#1}}"
  1704. write$ newline$
  1705. "\providecommand{\urlprefix}{URL }"
  1706. write$ newline$
  1707. "\providecommand{\eprint}[2][]{\url{#2}}"
  1708. write$ newline$
  1709. }
  1710. EXECUTE {begin.bib}
  1711. EXECUTE {init.state.consts}
  1712. ITERATE {call.type$}
  1713. FUNCTION {end.bib}
  1714. { newline$
  1715. "\end{thebibliography}" write$ newline$
  1716. }
  1717. EXECUTE {end.bib}
  1718. %% End of customized bst file
  1719. %%
  1720. %% End of file `bautzen.bst'.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement