%% %% This is file `gost780uv.bst', %% generated with the docstrip utility. %% %% The original source files were: %% %% plainv.dtx (with options: `gost780uv') %% %% Copyright 1996-2003 Maksym Polyakov. %% Version 2003.05.10 %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.2 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. %% %% Please, send bug reports via e-mail: %% polyama at auburn dot edu %% %% Modified by Konstantin Vorontsov, 2003, voron at ccas dot ru. %% %% %% This bibliography style attempts %% to format bibliography according to %% GOST 7.1-84 and GOST 7.80-00 %% %% For the Ukrainian|Russian bibliographic entries %% you need to create field %% language = {ukrainian|russian}. %% Default language is English. %% Field numpages for books must contain number of pages. %% Optional field url will format url (using hyperref, if loaded). %% %% See examples in examples.[pdf|zip] %% %% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic. %% bibtex8 -B -c .csf %% %% 06.06.2003 by Konstantin Vorontsov: %% New ENTRY "annote" added for output annotations. %% New ENTRY "abstract" is equivalent to "annote" for compatibility with JabRef. %% New commands \BibUrl, \BibAnnote added %% for customize urls and annotations. %% New commands \BibAuthor, \BibTitle added %% for customize authors and titles. %% New command \BibSection{cite}{title}{text} added %% for support sections in unsorted bibliography. %% ENTRY { address annote abstract author booktitle bookauthor chapter edition editor compiler howpublished institution journal key language month note number organization pages numpages publisher school series text title type url volume year } {} { label } INTEGERS { output.state before.all mid.sentence after.sentence after.block after.dblslash after.slash after.column after.semicolumn after.url} FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := #4 'after.dblslash := #5 'after.slash := #6 'after.column := #7 'after.semicolumn := } STRINGS { s t } FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ " " quote$ "--- " * * write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { output.state after.dblslash = { "~// " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.column = { ": " * write$ } { output.state after.semicolumn = { "; " * write$ } { add.period$ " " * write$ } if$ } if$ } if$ } if$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.dblslash} { output.state before.all = 'skip$ { after.dblslash 'output.state := } if$ } FUNCTION {new.slash} { output.state before.all = 'skip$ { after.slash 'output.state := } if$ } FUNCTION {new.column} { output.state before.all = 'skip$ { after.column 'output.state := } if$ } FUNCTION {new.semicolumn} { output.state before.all = 'skip$ { after.semicolumn 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {new.par} { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } FUNCTION {add.blank} { " " * before.all 'output.state := } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {non.stop} { duplicate$ "}" * add.period$ #-1 #1 substring$ "." = } FUNCTION {new.block.checka} { empty$ 'skip$ 'new.block if$ } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {new.sentence.checka} { empty$ 'skip$ 'new.sentence if$ } FUNCTION {new.sentence.checkb} { empty$ swap$ empty$ and 'skip$ 'new.sentence if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "\emph{" swap$ * "}" * } if$ } FUNCTION {BibAuthor} { duplicate$ empty$ { pop$ "" } { "\BibAuthor{" swap$ * "}" * } if$ } FUNCTION {BibTitle} { duplicate$ empty$ { pop$ "" } { "\BibTitle{" swap$ * "}" * } if$ } FUNCTION {space.word} { " " swap$ * " " * } FUNCTION {bbl.edby} % { "\bbledby{}" } { language empty$ {"Ed. by "} { language "ukrainian" = {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.\ }"} { language "russian" = {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"} {"language is not defined: " language "edited by" * * warning$ "edited by"} if$} if$} if$ } FUNCTION {bbl.cmplr} { language empty$ {"Compiler "} { language "ukrainian" = {"{\cyr\CYRU\cyrk\cyrl\.\ }"} { language "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"} {"language is not defined: " language "compiler" * * warning$ "compiler"} if$} if$} if$ } FUNCTION {bbl.edition} % { "\bbledition{}" } { language empty$ {"edition"} { language "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { language "russian" = {"{\cyr\cyri\cyrz\cyrd.}"} {"language is not defined: " language "edition" * * warning$ "edition"} if$} if$} if$ } FUNCTION {bbl.vvolume} % { "\bblVolume{}" } { language empty$ {"Volume"} { language "ukrainian" = language "russian" = or {"\CYRT\cyro\cyrm"} {"language is not defined: " language "Volume" * * warning$ "Volume"} if$} if$ } FUNCTION {bbl.vvol} % { "\bblVol{}" } { language empty$ {"Vol."} { language "ukrainian" = language "russian" = or {"\CYRT."} {"language is not defined: " language "Vol." * * warning$ "Vol."} if$} if$ } FUNCTION {bbl.iissue} % { "\bblIssue{}" } { language empty$ {"Issue"} { language "ukrainian" = {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"} { language "russian" = {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} {"language is not defined: " language * warning$ "Issue"} if$} if$} if$ } FUNCTION {bbl.iiss} % { "\bblIss{}" } { language empty$ {"Iss."} { language "ukrainian" = {"\CYRV\cyri\cyrp."} { language "russian" = {"\CYRV\cyrery\cyrp."} {"language is not defined: " language * warning$ "Issue"} if$} if$} if$ } FUNCTION {bbl.of} % { "\bblof{}" } { language empty$ {"of"} { language "ukrainian" = {"{\cyr\cyrii\cyrz}"} { language "russian" = {"{\cyr\cyri\cyrz}"} {"language is not defined: " language "of" * * warning$ "of"} if$} if$} if$ } FUNCTION {bbl.etal} % { "\bblof{}" } { language empty$ {"et~al."} { language "ukrainian" = {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { language "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} {"language is not defined: " language "at al" * * warning$ "at al."} if$} if$} if$ } FUNCTION {bbl.nnumber} % { "\bblNumber{}" } { language empty$ {"Number"} { language "ukrainian" = language "russian" = or {"\CYRN\cyro\cyrm\cyre\cyrr"} {"language is not defined: " language "Number" * * warning$ "Number"} if$} if$ } FUNCTION {bbl.number} % { "\bblnumber{}" } { language empty$ {"number"} { language "ukrainian" = language "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} {"language is not defined: " language "number" * * warning$ "number"} if$} if$ } FUNCTION {bbl.nr} % { "\bblno{}" } { language empty$ {"no."} { language "ukrainian" = language "russian" = or {"{\cyr\textnumero}"} {"language is not defined: " language "no." * * warning$ "no."} if$} if$ } FUNCTION {bbl.nnr} % { "\bblno{}" } { language empty$ {"No."} { language "ukrainian" = language "russian" = or {"{\cyr\textnumero}"} {"language is not defined: " language "No." * * warning$ "No."} if$} if$ } FUNCTION {bbl.in} % { "\bblin{}" } { language empty$ {"in"} { language "ukrainian" = language "russian" = or {"{\cyr\cyrv}"} {"language is not defined: " language "in" * * warning$ "in"} if$} if$ } FUNCTION {bbl.iin} % { "\bblIn{}" } { language empty$ {"In"} { language "ukrainian" = language "russian" = or {"\CYRV"} {"language is not defined: " language "In" * * warning$ "In"} if$} if$ } FUNCTION {bbl.pages} % { "\bblpp." } { language empty$ {"pp."} { language "ukrainian" = language "russian" = or {"{\cyr\cyrs.}"} {"language is not defined: " language "pp." * * warning$ "pp."} if$} if$ } FUNCTION {bbl.page} % { "\bblp." { language empty$ {"p."} { language "ukrainian" = language "russian" = or {"{\cyr\cyrs.}"} {"language is not defined: " language "p." * * warning$ "p."} if$} if$ } FUNCTION {bbl.ppages}% { "\bblPp." } { language empty$ {"Pp."} { language "ukrainian" = language "russian" = or {"{\cyr\CYRS.}"} {"language is not defined: " language "Pp." * * warning$ "Pp."} if$} if$ } FUNCTION {bbl.ppage} % { "\bblP." } { language empty$ {"P."} { language "ukrainian" = language "russian" = or {"{\cyr\CYRS.}"} {"language is not defined: " language "P." * * warning$ "P."} if$} if$ } FUNCTION {bbl.techrep} { "Tech. Rep." } FUNCTION {bbl.mthesis} { "Master's thesis" } FUNCTION {bbl.phdthesis} { "Ph.D. thesis" } INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { #1 "{vv~}{ll}{~jj}{,~ff}" format.name$ } FUNCTION {format.names.rev} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{ff}{~vv}{~ll}{, jj}" format.name$ 't := nameptr #1 > { nameptr #8 = numnames #8 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { t "others" = { " " * bbl.etal * } { ", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names BibAuthor} if$ } FUNCTION {format.bookauthors} { bookauthor empty$ { "" } { bookauthor format.names} if$ } FUNCTION {format.authors.after} { author empty$ { "" } { author format.names.rev} if$ } FUNCTION {format.bookauthors.after} { bookauthor empty$ { "" } { bookauthor format.names.rev} if$ } FUNCTION {format.editors.after} { editor empty$ { "" } { bbl.edby editor format.names.rev * } if$ } FUNCTION {format.compiler.after} { compiler empty$ { "" } { bbl.cmplr compiler format.names.rev * } if$ } FUNCTION {format.title} { title empty$ { "" } { title "t" change.case$ BibTitle } if$ } FUNCTION {output.address.publisher.date} { address empty$ 'skip$ { address output publisher empty$ 'skip$ { new.column } if$ } if$ publisher output year "year" output.check } FUNCTION {output.bibitem} { newline$ "\bibitem{" write$ cite$ write$ "}" write$ newline$ "\selectlanguageifdefined{" write$ language empty$ {"english" write$} {language write$} if$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {word.in} { bbl.iin " " * } FUNCTION {format.date} { year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ month } if$ } { month empty$ 'year { month " " * year * } if$ } if$ } FUNCTION {format.btitle} { title BibTitle } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {tie.connect} {"~" swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { bbl.vvol volume tie.connect series empty$ 'skip$ { bbl.of space.word * series emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { series empty$ { "there's a number but no series in " cite$ * warning$ bbl.nnr } { %new.dblslash new.sentence series bbl.nr tie.or.space.connect} if$ number tie.or.space.connect } if$ } { "" } if$ } FUNCTION {is.num} { chr.to.int$ duplicate$ "0" chr.to.int$ < not swap$ "9" chr.to.int$ > not and } FUNCTION {extract.num} { duplicate$ 't := "" 's := { t empty$ not } { t #1 #1 substring$ t #2 global.max$ substring$ 't := duplicate$ is.num { s swap$ * 's := } { pop$ "" 't := } if$ } while$ s empty$ 'skip$ { pop$ s } if$ } FUNCTION {convert.edition} { edition } FUNCTION {format.edition} { edition empty$ { "" } { output.state mid.sentence = { convert.edition "l" change.case$ " " * bbl.edition * } { convert.edition "t" change.case$ " " * bbl.edition * } if$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { bbl.ppages pages n.dashify tie.connect } { bbl.ppage pages tie.connect } if$ } if$ } FUNCTION {format.pages.page} { pages empty$ { numpages empty$ { "" } { numpages bbl.pages tie.connect } if$} { format.pages} if$ } FUNCTION {format.vol.num.pages} { volume field.or.null number empty$ 'skip$ { ", no." number tie.or.space.connect * volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ": " * pages n.dashify * } if$ } if$ } FUNCTION {format.volume} { volume empty$ { "" } { bbl.vvol volume tie.connect } if$ } FUNCTION {format.number} { number empty$ { "" } { bbl.nr number tie.connect } if$ } FUNCTION {empty.misc.check} { author empty$ title empty$ howpublished empty$ month empty$ year empty$ note empty$ and and and and and key empty$ not and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { bbl.techrep } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ } FUNCTION {author.before} { author empty$ 'skip$ {author num.names$ #8 < {format.authors output new.sentence} 'skip$ if$} if$ } FUNCTION {bookauthor.before} { bookauthor empty$ 'skip$ {bookauthor num.names$ #8 < {format.bookauthors output new.sentence} 'skip$ if$} if$ } FUNCTION {author.after} { author empty$ 'skip$ {format.authors.after output new.semicolumn } if$ } FUNCTION {bookauthor.after} { bookauthor empty$ 'skip$ {format.bookauthors.after output new.semicolumn } if$ } FUNCTION {editor.organization.after} { compiler empty$ {} { format.compiler.after output new.semicolumn } if$ editor empty$ {} { format.editors.after output new.semicolumn } if$ organization empty$ {} { organization output new.semicolumn } if$ } FUNCTION {format.url} { url empty$ { "" } { "\BibUrl{" url * "}" * } if$ } FUNCTION {fin.entry.std} { new.block note output new.par format.url output new.par annote empty$ { abstract empty$ { fin.entry } { "\BibAnnote{" output before.all 'output.state := abstract add.period$ output before.all 'output.state := "}" output write$ newline$ } if$ } { "\BibAnnote{" output before.all 'output.state := annote add.period$ output before.all 'output.state := "}" output write$ newline$ } if$ } FUNCTION {bibsection} { newline$ "\BibSection{" write$ cite$ write$ "}{" write$ title write$ "}{" write$ text empty$ 'skip$ { newline$ text write$ } if$ "}" write$ newline$ before.all 'output.state := } FUNCTION {article} { output.bibitem author.before format.title "title" output.check new.slash author.after new.dblslash journal emphasize "journal" output.check new.block format.date output new.block format.volume output format.number output new.block format.pages.page output fin.entry.std } FUNCTION {book} { output.bibitem author.before format.btitle "title" output.check new.slash author.after editor.organization.after new.sentence format.number.series output new.block format.edition output new.block output.address.publisher.date new.block format.bvolume output new.block format.pages.page output fin.entry.std } FUNCTION {booklet} { output.bibitem author.before format.title "title" output.check new.slash author.after editor.organization.after new.block howpublished output address output format.date output fin.entry.std } FUNCTION {inbook} { output.bibitem author.before format.btitle "title" output.check new.slash author.after new.dblslash bookauthor.before booktitle "booktitle" output.check new.slash bookauthor.after editor.organization.after new.block format.edition output new.block format.number.series output new.sentence output.address.publisher.date new.block format.bvolume output new.block format.pages.page output fin.entry.std } FUNCTION {incollection} { output.bibitem author.before new.sentence format.title "title" output.check new.slash author.after new.dblslash booktitle "booktitle" output.check new.slash editor.organization.after new.block output.address.publisher.date new.block format.bvolume output format.number.series output new.block format.pages.page output fin.entry.std } FUNCTION {inproceedings} { output.bibitem author.before new.sentence format.title "title" output.check new.dblslash booktitle "booktitle" output.check new.slash editor.organization.after new.block format.bvolume output format.number.series output new.block address empty$ { publisher output format.date "year" output.check } { address output.nonnull new.column publisher output format.date "year" output.check } if$ new.block format.pages.page output fin.entry.std } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem author empty$ { organization empty$ 'skip$ { organization output.nonnull address output } if$ } { format.authors output.nonnull } if$ new.block format.btitle "title" output.check author empty$ { organization empty$ { address new.block.checka address output } 'skip$ if$ } { organization address new.block.checkb organization output address output } if$ format.edition output format.date output fin.entry.std } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check new.block format.btitle "title" output.check new.block bbl.mthesis format.thesis.type output.nonnull school "school" output.check address output format.date "year" output.check fin.entry.std } FUNCTION {misc} { output.bibitem format.authors output title howpublished new.sentence.checkb format.title output howpublished new.block.checka howpublished output new.block format.date output fin.entry.std } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence format.btitle "title" output.check new.column bbl.phdthesis format.thesis.type output.nonnull new.slash school "school" output.check new.block output.address.publisher.date new.block format.pages.page output fin.entry.std } FUNCTION {proceedings} { output.bibitem format.btitle "title" output.check new.slash editor.organization.after new.block format.bvolume output format.number.series output address empty$ { publisher output format.date "year" output.check } { address output.nonnull format.date "year" output.check new.sentence publisher output } if$ fin.entry.std } FUNCTION {techreport} { output.bibitem author.before new.sentence format.title "title" output.check new.column format.tr.number output.nonnull new.slash author.after editor.organization.after new.block address output new.column %% institution "institution" output.check institution output format.date "year" output.check fin.entry.std } FUNCTION {unpublished} { output.bibitem author.before format.btitle "title" output.check new.slash author.after editor.organization.after fin.entry.std } FUNCTION {default.type} { misc } MACRO {jan} {"\bbljan{}"} MACRO {feb} {"\bblfeb{}"} MACRO {mar} {"\bblmar{}"} MACRO {apr} {"\bblapr{}"} MACRO {may} {"\bblmay{}"} MACRO {jun} {"\bbljun{}"} MACRO {jul} {"\bbljul{}"} MACRO {aug} {"\bblaug{}"} MACRO {sep} {"\bblsep{}"} MACRO {oct} {"\bbloct{}"} MACRO {nov} {"\bblnov{}"} MACRO {dec} {"\bbldec{}"} MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"} READ STRINGS { longest.label } INTEGERS { number.label longest.label.width } FUNCTION {initialize.longest.label} { "" 'longest.label := #1 'number.label := #0 'longest.label.width := } FUNCTION {longest.label.pass} { number.label int.to.str$ 'label := number.label #1 + 'number.label := label width$ longest.label.width > { label 'longest.label := label width$ 'longest.label.width := } 'skip$ if$ } EXECUTE {initialize.longest.label} ITERATE {longest.label.pass} FUNCTION {begin.bib} { "\begin{thebibliography}{" longest.label * "}" * write$ newline$ "\def\selectlanguageifdefined#1{" write$ newline$ "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$ "\else\language\csname l@#1\endcsname\fi}" write$ newline$ "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$ "\ifx\undefined\BibAuthor\def\BibAuthor#1{\emph{#1}}\else\fi" write$ newline$ "\ifx\undefined\BibTitle\def\BibTitle#1{#1}\else\fi" write$ newline$ "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$ "\ifx\undefined\BibAnnote\def\BibAnnote#1{}\else\fi" write$ newline$ "\ifx\undefined\BibSection\def\BibSection#1#2#3{}\else\fi" write$ newline$ preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %% %% End of file `gost780uv.bst'.