%% %% This is file `ugost2008.bst', %% generated with the docstrip utility. %% %% The original source files were: %% %% gost.dtx (with options: `bst,utf8,modern,eprint') %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% 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.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% Current version: 2012.02.02 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru %% or %% polyama at yahoo dot com %% %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. ENTRY { address annote author booktitle bookauthor chapter edition editor compiler howpublished institution journal key month note number organization pages publisher school series title medium % new in v.2. type volume year language booklanguage numpages url urldate isbn doi eprinttype % = archivePrefix eprintclass % = primaryClass eprint } {} { label } INTEGERS { output.state before.all mid.sentence after.sentence after.block after.dblslash after.slash after.column after.semicolumn } 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 } STRINGS { curlanguage } FUNCTION {change.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := "\selectlanguageifdefined{" curlanguage * "}" * } if$ } FUNCTION {output.nonnull} { swap$ output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ " \BibDash " write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { output.state after.dblslash = { "~//" * change.language * " " * 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$ } 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 {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 {new.dblslash.checka} { empty$ 'skip$ 'new.dblslash if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "\BibEmph{" swap$ * "}" * } if$ } FUNCTION {enclose.square.brackets} { } FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } FUNCTION {bracketise} { duplicate$ empty$ { pop$ "[]" } { "[" swap$ * "]" * } if$ } FUNCTION {parenthesify} { duplicate$ empty$ { pop$ "()" } { "(" swap$ * ")" * } if$ } FUNCTION {space.word} { " " swap$ * " " * } FUNCTION {bbl.edby} % { "\bbledby{}" } { curlanguage "english" = {"Ed.\ by"} { curlanguage "ukrainian" = {"Під ред."} { curlanguage "russian" = {"Под ред."} { curlanguage "german" = { "ed." } {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} FUNCTION {bbl.cmplr} { curlanguage "english" = { "Compiler"} { curlanguage "german" = { "Hrsg." } { curlanguage "ukrainian" = {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} {"language is not defined: " language "cmplr" * * warning$ "Compiler"} if$} if$} if$} if$} FUNCTION {bbl.edition} % { "\bbledition{}" } { curlanguage "english" = {"edition"} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = {"{изд.}"} { curlanguage "german" = {" {aus.}" } %%%% { "Aufl." } ?? { curlanguage "italian" = {"edizione"} { curlanguage "french" = {"\'{e}dition"} {"language is not defined: " language "edition" * * warning$ "edition"} if$} if$} if$} if$} if$} if$} FUNCTION {bbl.vvolume} % { "\bblVolume{}" } { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "Том" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } {"language is not defined: " language "vvolume" * * warning$ "Volume"} if$} if$} if$} FUNCTION {bbl.vvol} % { "\bblVol{}" } { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"Т."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } {"language is not defined: " language "vvol" * * warning$ "Vol."} if$} if$} if$} FUNCTION {bbl.iissue} % { "\bblIssue{}" } { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = {"Випуск"} { curlanguage "russian" = {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } {"language is not defined: " language "iissue" * * warning$ "Issue"} if$} if$} if$} if$} FUNCTION {bbl.iiss} % { "\bblIss{}" } { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = {"Вип."} { curlanguage "russian" = {"Вып."} { curlanguage "german" = {"{H.}"} {"language is not defined: " language "iiss" * * warning$ "Iss."} if$} if$} if$} if$} FUNCTION {bbl.of} % { "\bblof{}" } { curlanguage "english" = {"of"} { curlanguage "german" = { "von" } { curlanguage "ukrainian" = { "{із}" } { curlanguage "russian" = { "{из}" } {"language is not defined: " language "of" * * warning$ "of"} if$} if$} if$} if$} FUNCTION {bbl.etal} % { "\bblof{}" } { curlanguage "english" = {"et~al."} { curlanguage "german" = { "u.~a." } { curlanguage "ukrainian" = {"{та~ін.}"} { curlanguage "russian" = {"и~др."} {"language is not defined: " language "et~al" * * warning$ "et~al."} if$} if$} if$} if$} FUNCTION {bbl.nnumber} % { "\bblNumber{}" } { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } {"language is not defined: " language "nnumber" * * warning$ "Number"} if$} if$} if$} FUNCTION {bbl.number} % { "\bblnumber{}" } { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? {"language is not defined: " language "number" * * warning$ "number"} if$} if$} if$} FUNCTION {bbl.nr} % { "\bblno{}" } { curlanguage "english" = {"no."} { curlanguage "italian" = { "no" } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } {"language is not defined: " language "nr" * * warning$ "no."} if$} if$} if$} if$} FUNCTION {bbl.nnr} % { "\bblno{}" } { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } {"language is not defined: " language "nnr" * * warning$ "No."} if$} if$} if$} FUNCTION {bbl.in} % { "\bblin{}" } { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } {"language is not defined: " language "in" * * warning$ "in"} if$} if$} FUNCTION {bbl.iin} % { "\bblIn{}" } { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } {"language is not defined: " language "iin" * * warning$ "In"} if$} if$} FUNCTION {bbl.pages} % { "\bblpp." } { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{с.}"} { curlanguage "german" = {"S."} %%%% { "s." } {"language is not defined: " language "pages" * * warning$ "p."} if$} if$} if$} FUNCTION {bbl.page} % { "\bblp." { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{с.}"} { curlanguage "german" = {"S."} %%%% { "s." } {"language is not defined: " language "page" * * warning$ "p."} if$} if$} if$} FUNCTION {bbl.ppages}% { "\bblPp." } { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{С.}"} { curlanguage "german" = {"S."} {"language is not defined: " language "ppages" * * warning$ "P."} if$} if$} if$} FUNCTION {bbl.ppage} % { "\bblP." } { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{С.}"} { curlanguage "german" = {"S."} {"language is not defined: " language "ppage" * * warning$ "P."} if$} if$} if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} { curlanguage "ukrainian" = { "{дата звернення}" } { curlanguage "russian" = { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } { "language is not defined: " language "urldate" * * warning$ "online; accessed" } if$} if$} if$} if$} FUNCTION {bbl.techreport} % rename to bbl.techreport { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } { "language is not defined: " language "techrep" * * warning$ "Rep." } if$} if$} if$} FUNCTION {bbl.mthesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = { "Diss.~Mag." } { curlanguage "russian" = { "{Квалификационная работа магистра}" } { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } if$} if$} if$} FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = { "Diss.~Ph.\,D." } { curlanguage "russian" = { "{Дисс\ldots\ кандидата наук}" } { curlanguage "french" = { "Th\`{e}se de doctorat" } { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} if$} FUNCTION {bbl.dscithesis} { curlanguage "english" = { "Dr.\,Sci. dissertation" } { curlanguage "german" = { "Diss.~Dr." } { curlanguage "russian" = { "{Дисс\ldots\ доктора наук}" } { "language is not defined: " language "dscithesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } if$} if$} FUNCTION {bbl.nopublisher} { curlanguage "english" = { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } if$} if$} FUNCTION {bbl.nnopublisher} { curlanguage "english" = { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } if$} if$} FUNCTION {bbl.medium.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } { "language is not defined: " language "medium" * * warning$ "Text" } if$} if$} FUNCTION {bbl.medium.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } { "language is not defined: " language "medium" * * warning$ "Electronic resource" } if$} if$} if$} FUNCTION {bbl.chief} { curlanguage "english" = { "chief" } { curlanguage "russian" = { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } { "language is not defined: " language "chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = { "Executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } { "language is not defined: " language "medium" * * warning$ "Executor" } if$} if$} if$} FUNCTION {bbl.medium} { type$ "online" = { bbl.medium.elres } { bbl.medium.text } if$} INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{~jj}{~ff}" format.name$ 't := nameptr #1 > { nameptr #4 = numnames #4 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { t "others" = t "~others" = or { " " * bbl.etal * } { ", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } 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 #4 = numnames #4 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { t "others" = t "~others" = or { " " * bbl.etal * } { ", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names emphasize} 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}% always cuts to 4 persons if$ } FUNCTION {format.editors.after} { editor empty$ { "" } { bbl.edby "\ " * editor format.names.rev * } if$ } FUNCTION {format.chief.after} { editor empty$ { "" } { bbl.chief "\ " * editor format.names.rev * } if$ } FUNCTION {format.executor.after} { author empty$ { "" } { bbl.executor ": " * author format.names.rev * } if$ } FUNCTION {format.compiler.after} { compiler empty$ { "" } { bbl.cmplr "\ " * compiler format.names.rev * } if$ } FUNCTION {format.title} { title empty$ { "" } { title } if$ } FUNCTION {format.date} { year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ month } if$ } { month empty$ 'year { year ". \BibDash " month * * } if$ } if$ } FUNCTION {output.address.publisher} { address empty$ 'skip$ { address output publisher empty$ 'skip$ { new.column } if$ } if$ publisher output } FUNCTION {output.bibitem} { newline$ "\bibitem" write$ cite$ bracify write$ newline$ language empty$ { "english" 'curlanguage := } { language 'curlanguage := } if$ "\selectlanguageifdefined" curlanguage bracify * 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.btitle} { title } 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 " " * bbl.edition * } { convert.edition " " * 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.or.space.connect } if$ } FUNCTION {format.number} { number empty$ { "" } { bbl.nr number tie.or.space.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 } if$ } %% { "t" change.case$ } %% { "" } FUNCTION {format.techreport.type} { type empty$ { bbl.techreport } 'type if$ } FUNCTION {author.before} { author empty$ 'skip$ {author num.names$ #4 < {format.authors output new.sentence} 'skip$ if$} if$ } %%<*!long> %%FUNCTION {bookauthor.before} %%{ %% bookauthor empty$ %% 'skip$ %% {bookauthor num.names$ #4 < %% {format.bookauthors output %% new.sentence} %% 'skip$ %% if$} %% if$ %%} %% %%<*long> %%FUNCTION {bookauthor.before} %%{ %% bookauthor empty$ %% 'skip$ %% { format.bookauthors output %% new.sentence %% } %% if$ %%} %% FUNCTION {author.after} { author empty$ 'skip$ {author num.names$ #3 > {format.authors.after output new.semicolumn } 'skip$ if$} 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$ { "" } { "URL: \BibUrl{" url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } if$ * } if$ } FUNCTION {format.annote} { annote empty$ { "" } { after.sentence 'output.state := "\BibAnnote{" annote add.period$ * "}" * } if$ } FUNCTION {format.isbn} { isbn empty$ { "" } { "ISBN:~\href{http://isbndb.com/search-all.html?kw=" isbn * "}{" * isbn * "}" * } if$ } FUNCTION {add.doi} { duplicate$ empty$ 'skip$ { doi empty$ 'skip$ { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ } FUNCTION {add.medium} { } FUNCTION {format.eprint} { eprint empty$ { "" } { eprinttype empty$ { "" } { eprinttype "~: " *} if$ eprintclass empty$ { } { eprintclass * "/" *} if$ url empty$ { eprint * } { "\href{" * url * "}{" * eprint * "}" *} if$ } if$ } FUNCTION {output.eprint.url} { eprint empty$ { format.url output } { format.eprint output } if$ } FUNCTION {article} { output.bibitem author.before format.title add.medium "title" output.check new.slash author.after new.dblslash journal emphasize add.doi "journal" output.check % new in v.2 new.block format.date "year" output.check new.block format.volume output format.number output new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {book} { output.bibitem author.before format.btitle add.doi add.medium "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 format.date "year" output.check new.block format.bvolume output new.block format.pages.page output new.block format.isbn output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {booklet} { output.bibitem author.before format.title add.doi add.medium "title" output.check new.slash author.after editor.organization.after new.block howpublished output address output format.date "year" output.check new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {inbook} { output.bibitem author.before format.btitle add.doi add.medium "title" output.check new.slash author.after new.dblslash 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 format.date "year" output.check new.block format.bvolume output new.block format.pages.page output new.block format.isbn output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {incollection} { output.bibitem author.before new.sentence format.title add.doi add.medium "title" output.check new.slash author.after new.dblslash booktitle "booktitle" output.check new.slash editor.organization.after new.block output.address.publisher format.date "year" output.check new.block format.bvolume output format.number.series output new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {proceedings} { output.bibitem format.btitle add.doi add.medium "title" output.check new.slash editor.organization.after new.block format.bvolume output format.number.series output output.address.publisher format.date "year" output.check new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {inproceedings} { output.bibitem author.before new.sentence format.title add.doi add.medium "title" output.check new.slash author.after new.dblslash booktitle "booktitle" output.check new.slash editor.organization.after new.block format.bvolume output format.number.series output new.block output.address.publisher format.date "year" output.check new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {manual} { output.bibitem author empty$ { organization empty$ 'skip$ { organization output.nonnull address output } if$ } { format.authors output.nonnull } if$ new.block format.btitle add.doi add.medium "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 "year" output.check new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {misc} { output.bibitem format.authors output title howpublished new.sentence.checkb format.title add.medium output howpublished new.block.checka howpublished output new.block format.date "year" output.check new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {unpublished} { output.bibitem author.before format.btitle "title" output.check new.slash author.after editor.organization.after new.block format.date "year" output.check new.block note "note" output.check new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb format.title add.doi add.medium "title" output.check howpublished new.dblslash.checka howpublished enclose.square.brackets output editor.organization.after new.sentence new.block output.address.publisher format.date output new.block output.eprint.url new.sentence note output format.annote output fin.entry } FUNCTION {internet} {online} FUNCTION {www} {online} FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence format.btitle add.doi add.medium "title" output.check new.column type "type" output.check new.column number output new.slash format.authors.after output new.semicolumn school "school" output.check new.block output.address.publisher format.date "year" output.check new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem format.title add.doi add.medium "title" output.check new.column type "type" output.check new.column number output new.slash institution "institution" output.check new.semicolumn format.chief.after output % from editor field new.semicolumn format.executor.after output % from author field new.block address output new.column organization output format.date "year" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? output.eprint.url new.block note output format.annote output fin.entry } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence format.btitle add.doi add.medium "title" output.check new.column bbl.phdthesis format.thesis.type output.nonnull new.column number output new.slash format.authors.after output new.semicolumn school "school" output.check new.block output.address.publisher format.date "year" output.check new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence format.btitle add.doi add.medium "title" output.check new.column bbl.mthesis format.thesis.type output.nonnull new.column number output new.slash format.authors.after output new.semicolumn school "school" output.check new.block output.address.publisher format.date "year" output.check new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence format.btitle add.doi add.medium "title" output.check new.column bbl.dscithesis format.thesis.type output.nonnull new.column number output new.slash format.authors.after output new.semicolumn school "school" output.check new.block output.address.publisher format.date "year" output.check new.block format.pages.page output new.block note output new.sentence output.eprint.url format.annote output fin.entry } FUNCTION {conference} { inproceedings } %% format.url output FUNCTION {techreport} { output.bibitem format.title add.doi add.medium "title" output.check new.column format.techreport.type output new.column number output new.slash institution "institution" output.check new.semicolumn format.chief.after output % from editor field new.semicolumn format.executor.after output % from author field new.block address output new.column organization output format.date "year" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? output.eprint.url new.block note output format.annote output fin.entry } 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 {aa}{"Astron. \& Astrophys."} MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} MACRO {aj} {"Astron. J."} MACRO {aph} {"Acta Phys."} MACRO {advp} {"Adv. Phys."} MACRO {ajp} {"Amer. J. Phys."} MACRO {ajm} {"Amer. J. Math."} MACRO {amsci} {"Amer. Sci."} MACRO {anofd} {"Ann. Fluid Dyn."} MACRO {am} {"Ann. Math."} MACRO {ap} {"Ann. Phys. (NY)"} MACRO {adp} {"Ann. Phys. (Leipzig)"} MACRO {ao} {"Appl. Opt."} MACRO {apl} {"Appl. Phys. Lett."} MACRO {app} {"Astroparticle Phys."} MACRO {apj} {"Astrophys. J."} MACRO {apjsup} {"Astrophys. J. Suppl."} MACRO {apss} {"Astrophys. Space Sci."} MACRO {araa} {"Ann. Rev. Astron. Astrophys."} MACRO {baas} {"Bull. Amer. Astron. Soc."} MACRO {baps} {"Bull. Amer. Phys. Soc."} MACRO {cmp} {"Comm. Math. Phys."} MACRO {cpam} {"Commun. Pure Appl. Math."} MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} MACRO {cpc} {"Comp. Phys. Comm."} MACRO {cqg} {"Class. Quant. Grav."} MACRO {cra} {"C. R. Acad. Sci. A"} MACRO {fed} {"Fusion Eng. \& Design"} MACRO {ft} {"Fusion Tech."} MACRO {grg} {"Gen. Relativ. Gravit."} MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} MACRO {ip} {"Infrared Phys."} MACRO {irp} {"Infrared Phys."} MACRO {jap} {"J. Appl. Phys."} MACRO {jasa} {"J. Acoust. Soc. America"} MACRO {jcp} {"J. Comp. Phys."} MACRO {jchp} {"J. Chem. Phys."} MACRO {jetp} {"Sov. Phys.--JETP"} MACRO {jfe} {"J. Fusion Energy"} MACRO {jfm} {"J. Fluid Mech."} MACRO {jmp} {"J. Math. Phys."} MACRO {jne} {"J. Nucl. Energy"} MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} MACRO {jnm} {"J. Nucl. Mat."} MACRO {jpc} {"J. Phys. Chem."} MACRO {jpp} {"J. Plasma Phys."} MACRO {jpsj} {"J. Phys. Soc. Japan"} MACRO {jsi} {"J. Sci. Instrum."} MACRO {jvst} {"J. Vac. Sci. \& Tech."} MACRO {nat} {"Nature"} MACRO {nature} {"Nature"} MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} MACRO {nf} {"Nucl. Fusion"} MACRO {nim} {"Nucl. Inst. \& Meth."} MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} MACRO {np} {"Nucl. Phys."} MACRO {npb} {"Nucl. Phys. B"} MACRO {nt/f} {"Nucl. Tech./Fusion"} MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} MACRO {inc} {"Nuovo Cimento"} MACRO {nc} {"Nuovo Cimento"} MACRO {pf} {"Phys. Fluids"} MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} MACRO {pl} {"Phys. Lett."} MACRO {pla} {"Phys. Lett. A"} MACRO {plb} {"Phys. Lett. B"} MACRO {prep} {"Phys. Rep."} MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} MACRO {pp} {"Phys. Plasmas"} MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} MACRO {prl} {"Phys. Rev. Lett."} MACRO {pr} {"Phys. Rev."} MACRO {physrev} {"Phys. Rev."} MACRO {pra} {"Phys. Rev. A"} MACRO {prb} {"Phys. Rev. B"} MACRO {prc} {"Phys. Rev. C"} MACRO {prd} {"Phys. Rev. D"} MACRO {pre} {"Phys. Rev. E"} MACRO {ps} {"Phys. Scripta"} MACRO {procrsl} {"Proc. Roy. Soc. London"} MACRO {rmp} {"Rev. Mod. Phys."} MACRO {rsi} {"Rev. Sci. Inst."} MACRO {science} {"Science"} MACRO {sciam} {"Sci. Am."} MACRO {sam} {"Stud. Appl. Math."} MACRO {sjpp} {"Sov. J. Plasma Phys."} MACRO {spd} {"Sov. Phys.--Doklady"} MACRO {sptp} {"Sov. Phys.--Tech. Phys."} MACRO {spu} {"Sov. Phys.--Uspekhi"} MACRO {st} {"Sky and Telesc."} MACRO {appopt} {"Appl. Opt."} MACRO {bell} {"Bell Syst. Tech. J."} MACRO {ell} {"Electron. Lett."} MACRO {jasp} {"J. Appl. Spectr."} MACRO {jqe} {"IEEE J. Quantum Electron."} MACRO {jlwt} {"J. Lightwave Technol."} MACRO {jmo} {"J. Mod. Opt."} MACRO {josa} {"J. Opt. Soc. America"} MACRO {josaa} {"J. Opt. Soc. Amer.~A"} MACRO {josab} {"J. Opt. Soc. Amer.~B"} MACRO {jdp} {"J. Phys. (Paris)"} MACRO {oc} {"Opt. Commun."} MACRO {ol} {"Opt. Lett."} MACRO {os} {"Opt. Spectrosc."} MACRO {phtl} {"IEEE Photon. Technol. Lett."} MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} MACRO {sjot} {"Sov. J. Opt. Technol."} MACRO {sjqe} {"Sov. J. Quantum Electron."} MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} MACRO {stph} {"Sov. Phys.--Techn. Phys."} MACRO {stphl} {"Sov. Techn. Phys. Lett."} MACRO {vr} {"Vision Res."} MACRO {zph} {"Z. f. Physik"} MACRO {zphb} {"Z. f. Physik~B"} MACRO {zphd} {"Z. f. Physik~D"} MACRO {sse} {"Solid-State Electron."} MACRO {pss} {"Phys. Sol. State"} MACRO {sst} {"Semicond. Sci. Tech."} MACRO {nl} {"Nano Lett."} READ STRINGS { longest.label } INTEGERS { number.label longest.label.width } FUNCTION {initialize.longest.label} { "" 'longest.label := #1 'number.label := #0 'longest.label.width := } EXECUTE {initialize.longest.label} FUNCTION {forward.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$ } ITERATE {forward.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\selectlanguage{#1}\fi}" write$ newline$ "\providecommand*{\href}[2]{{\small #2}}" write$ newline$ "\providecommand*{\url}[1]{{\small #1}}" write$ newline$ "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em\fi" write$ newline$ "\cyrdash\hskip.2em\ignorespaces}" 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 `ugost2008.bst'.