diff options
author | Karl Berry <karl@freefriends.org> | 2020-12-29 02:19:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-12-29 02:19:51 +0000 |
commit | dd043fc7ae752f93f55607d6376c17a22205b60b (patch) | |
tree | 9adc98c02c5168e31376ac34ba82a09e6f0e9576 | |
parent | 109901a7a158f32a32f423045b6981221735f55d (diff) |
gost (28dec20)
git-svn-id: svn://tug.org/texlive/trunk@57251 c570f23f-e606-0410-a88d-b1316a301751
209 files changed, 20748 insertions, 19717 deletions
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2003.bst b/Master/texmf-dist/bibtex/bst/gost/gost2003.bst index ff477b544c5..c6c8cee68f8 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2003.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2003.bst @@ -6,28 +6,20 @@ %% %% gost.dtx (with options: `bst,strict,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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2003.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.1-2003 for bibliographic records. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,13 +272,6 @@ FUNCTION {or} if$ } - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -309,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -323,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"{\cyrii}"} + { curlanguage "russian" = + {"{\cyri}"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -604,7 +702,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -618,20 +719,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -640,12 +744,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -654,13 +758,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -668,36 +772,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -706,7 +797,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -715,7 +806,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -724,7 +815,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -737,7 +828,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -751,7 +842,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -763,19 +854,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -797,7 +888,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -813,7 +904,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -829,7 +920,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -837,152 +928,385 @@ FUNCTION {bbl.priority} if$ } -INTEGERS { nameptr namesleft numnames } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} -FUNCTION {format.names} -{ - #1 "{vv~}{ll}{~jj}{,~f.}" format.name$ -} +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} -FUNCTION {format.names.rev} -{ - 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{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 enclose.square.brackets * } - { ", " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names emphasize} - if$ -} +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} -FUNCTION {format.bookauthors} -{ bookauthor empty$ - { "" } - { bookauthor format.names} - if$ -} +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} -FUNCTION {format.authors.after} -{ author empty$ - { "" } - { author format.names.rev} +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } if$ } -FUNCTION {format.bookauthors.after} -{ bookauthor empty$ - { "" } - { bookauthor format.names.rev}% always cuts to 4 persons +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } if$ } -FUNCTION {format.editors.after} -{ editor empty$ - { "" } - { bbl.edby "\ " * editor format.names.rev * } +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } if$ } - -FUNCTION {format.chief.after} -{ editor empty$ - { "" } - { bbl.chief "\ " * editor format.names.rev * } +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.executor.after} -{ author empty$ - { "" } - { bbl.executor ": " * author format.names.rev * } +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.compiler.after} -{ compiler empty$ - { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } if$ } FUNCTION {format.month} { month empty$ { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} if$ } FUNCTION {format.date} -{ year empty$ +{ year.or.date.to.year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ @@ -991,51 +1315,153 @@ FUNCTION {format.date} if$ } { month empty$ - 'year - { year ". \BibDash " format.month * * } + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } if$ } if$ } -FUNCTION {address.or.location} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{,~f.}" + format.name$ +} + +FUNCTION {fmt.names.three} { - address empty$ - { location } - { address } - if$ + 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{,~f.}" + 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 bracketise *} + { ", " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ } -FUNCTION {specialitycode.or.number} +FUNCTION {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{,~f.}" + format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " * bbl.etal bracketise *} + { " " bbl.and " " * * * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} { - specialitycode empty$ - { number } - { specialitycode } + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.first + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } + if$ +} + +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } if$ } + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + FUNCTION {output.address.publisher} { address empty$ { bbl.nnoaddress publisher empty$ - { "~: " * bbl.nopublisher * enclose.square.brackets } - { enclose.square.brackets "~: " * publisher * } + { "~: " * bbl.nopublisher * bracketise } + { bracketise "~: " * publisher * } if$ } { address output new.colon publisher empty$ - { bbl.nopublisher enclose.square.brackets } + { bbl.nopublisher bracketise } { publisher } if$ } @@ -1043,88 +1469,26 @@ FUNCTION {output.address.publisher} output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1153,30 +1517,6 @@ FUNCTION {format.number.series} 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 @@ -1193,38 +1533,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1245,15 +1553,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1316,6 +1615,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1336,78 +1648,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.first 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ - {format.authors.after output - new.semicolon } + {author num.names$ #1 > + { author fmt.names.all output + new.semicolon + } + 'skip$ + if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.all output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1458,7 +1753,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1468,9 +1763,13 @@ FUNCTION {add.media} { duplicate$ empty$ 'skip$ { media empty$ - { " " * bbl.media.text enclose.square.brackets * } - { " " * bbl.media enclose.square.brackets * } - if$ + { type$ "online" = + { " " * bbl.media.online bracketise * } + { " " * bbl.media.text bracketise * } + if$ + } + { " " * bbl.media bracketise * } + if$ } if$ } @@ -1550,14 +1849,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1574,18 +1874,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1603,15 +1906,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1623,22 +1929,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1656,18 +1965,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1684,14 +1996,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1702,22 +2021,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1737,10 +2060,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1757,7 +2082,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1770,6 +2095,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1777,9 +2104,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1794,7 +2121,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1807,13 +2134,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1824,13 +2153,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1841,12 +2173,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka - howpublished enclose.square.brackets output - editor.organization.after + howpublished bracketise output + editor.organization.rest new.sentence new.block output.address.publisher @@ -1865,25 +2199,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1893,13 +2226,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1908,14 +2242,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1928,9 +2262,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1939,13 +2273,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1955,12 +2290,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1969,13 +2303,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1985,12 +2320,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -1999,13 +2333,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2015,7 +2350,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2023,7 +2357,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2032,14 +2366,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2064,96 +2398,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2196,47 +2530,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - STRINGS { longest.label } INTEGERS { number.label longest.label.width } @@ -2273,15 +2606,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2304,5 +2629,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2003.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst b/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst index e89eaf2280b..9a81ec68ccd 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst @@ -6,28 +6,20 @@ %% %% gost.dtx (with options: `bst,strict,eprint,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2003s.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.1-2003 for bibliographic records. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,23 +272,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -319,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -333,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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 {bbl.edby} % { "\bbledby{}" } +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"{\cyrii}"} + { curlanguage "russian" = + {"{\cyri}"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -614,7 +712,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -628,20 +729,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -650,12 +754,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -664,13 +768,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -678,36 +782,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -716,7 +807,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -725,7 +816,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -734,7 +825,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -747,7 +838,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -761,7 +852,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -773,19 +864,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -807,7 +898,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -823,7 +914,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -839,7 +930,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -847,152 +938,385 @@ FUNCTION {bbl.priority} if$ } -INTEGERS { nameptr namesleft numnames } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} -FUNCTION {format.names} -{ - #1 "{vv~}{ll}{~jj}{,~f.}" format.name$ -} +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} -FUNCTION {format.names.rev} -{ - 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{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 enclose.square.brackets * } - { ", " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names emphasize} - if$ -} +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} -FUNCTION {format.bookauthors} -{ bookauthor empty$ - { "" } - { bookauthor format.names} - if$ -} +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} -FUNCTION {format.authors.after} -{ author empty$ - { "" } - { author format.names.rev} +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } if$ } -FUNCTION {format.bookauthors.after} -{ bookauthor empty$ - { "" } - { bookauthor format.names.rev}% always cuts to 4 persons +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } if$ } -FUNCTION {format.editors.after} -{ editor empty$ - { "" } - { bbl.edby "\ " * editor format.names.rev * } +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } if$ } - -FUNCTION {format.chief.after} -{ editor empty$ - { "" } - { bbl.chief "\ " * editor format.names.rev * } +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.executor.after} -{ author empty$ - { "" } - { bbl.executor ": " * author format.names.rev * } +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.compiler.after} -{ compiler empty$ - { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } if$ } FUNCTION {format.month} { month empty$ { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} if$ } FUNCTION {format.date} -{ year empty$ +{ year.or.date.to.year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ @@ -1001,51 +1325,153 @@ FUNCTION {format.date} if$ } { month empty$ - 'year - { year ". \BibDash " format.month * * } + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } if$ } if$ } -FUNCTION {address.or.location} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{,~f.}" + format.name$ +} + +FUNCTION {fmt.names.three} { - address empty$ - { location } - { address } - if$ + 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{,~f.}" + 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 bracketise *} + { ", " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ } -FUNCTION {specialitycode.or.number} +FUNCTION {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{,~f.}" + format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " * bbl.etal bracketise *} + { " " bbl.and " " * * * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} { - specialitycode empty$ - { number } - { specialitycode } + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.first + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } if$ } + +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + FUNCTION {output.address.publisher} { address empty$ { bbl.nnoaddress publisher empty$ - { "~: " * bbl.nopublisher * enclose.square.brackets } - { enclose.square.brackets "~: " * publisher * } + { "~: " * bbl.nopublisher * bracketise } + { bracketise "~: " * publisher * } if$ } { address output new.colon publisher empty$ - { bbl.nopublisher enclose.square.brackets } + { bbl.nopublisher bracketise } { publisher } if$ } @@ -1053,88 +1479,26 @@ FUNCTION {output.address.publisher} output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1163,30 +1527,6 @@ FUNCTION {format.number.series} 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 @@ -1203,38 +1543,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1255,15 +1563,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1326,6 +1625,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1346,78 +1658,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.first 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ - {format.authors.after output - new.semicolon } + {author num.names$ #1 > + { author fmt.names.all output + new.semicolon + } + 'skip$ + if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.all output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1468,7 +1763,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1478,9 +1773,13 @@ FUNCTION {add.media} { duplicate$ empty$ 'skip$ { media empty$ - { " " * bbl.media.text enclose.square.brackets * } - { " " * bbl.media enclose.square.brackets * } - if$ + { type$ "online" = + { " " * bbl.media.online bracketise * } + { " " * bbl.media.text bracketise * } + if$ + } + { " " * bbl.media bracketise * } + if$ } if$ } @@ -1560,14 +1859,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1584,18 +1884,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1613,15 +1916,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1633,22 +1939,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1666,18 +1975,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1694,14 +2006,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1712,22 +2031,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1747,10 +2070,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1767,7 +2092,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1780,6 +2105,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1787,9 +2114,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1804,7 +2131,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1817,13 +2144,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1834,13 +2163,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1851,12 +2183,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka - howpublished enclose.square.brackets output - editor.organization.after + howpublished bracketise output + editor.organization.rest new.sentence new.block output.address.publisher @@ -1875,25 +2209,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1903,13 +2236,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1918,14 +2252,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1938,9 +2272,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1949,13 +2283,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1965,12 +2300,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1979,13 +2313,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1995,12 +2330,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2009,13 +2343,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2025,7 +2360,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2033,7 +2367,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2042,14 +2376,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2074,96 +2408,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2206,49 +2540,47 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ "l" change.case$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2335,10 +2667,9 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } + } if$ } - FUNCTION {presort}%#1 { author.title.sort @@ -2397,15 +2728,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2428,5 +2751,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2003s.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008.bst index 4b069dd1ee9..982092264c5 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2008.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2008.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,modern,eprint') +%% gost.dtx (with options: `bst,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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2008.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,13 +272,6 @@ FUNCTION {or} if$ } - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -309,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -323,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"{\cyrii}"} + { curlanguage "russian" = + {"{\cyri}"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -604,7 +702,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -618,20 +719,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -640,12 +744,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -654,13 +758,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -668,36 +772,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -706,7 +797,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -715,7 +806,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -724,7 +815,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -737,7 +828,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -751,7 +842,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -763,19 +854,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -797,7 +888,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -813,7 +904,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -829,7 +920,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -837,69 +928,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~f.}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}{~jj}{~f.}" 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$ - } + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{~f.}" + 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~f.}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -912,145 +1396,57 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.three * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } - if$ -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } + { bbl.compiler "\ " * compiler fmt.names.three * } if$ } -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1064,88 +1460,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1174,30 +1508,6 @@ FUNCTION {format.number.series} 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 @@ -1214,38 +1524,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1266,15 +1544,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1337,6 +1606,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1357,81 +1639,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1482,7 +1744,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1493,7 +1755,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1574,14 +1836,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1598,18 +1861,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1627,15 +1893,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1647,22 +1916,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1680,18 +1952,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1708,14 +1983,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1726,22 +2008,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1761,10 +2047,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1781,7 +2069,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1794,6 +2082,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1801,9 +2091,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1818,7 +2108,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1831,13 +2121,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1848,13 +2140,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1865,12 +2160,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1889,25 +2186,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1917,13 +2213,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1932,14 +2229,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1952,9 +2249,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1963,13 +2260,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1979,12 +2277,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1993,13 +2290,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2009,12 +2307,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2023,13 +2320,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2039,7 +2337,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2047,7 +2344,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2056,14 +2353,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2088,96 +2385,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2220,47 +2517,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - STRINGS { longest.label } INTEGERS { number.label longest.label.width } @@ -2297,15 +2593,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2328,5 +2616,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2008.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst index df29d18687e..1dcc6a5621b 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,modern,eprint,long') +%% gost.dtx (with options: `bst,eprint,long') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2008l.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,13 +272,6 @@ FUNCTION {or} if$ } - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -309,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -323,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"{\cyrii}"} + { curlanguage "russian" = + {"{\cyri}"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -604,7 +702,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -618,20 +719,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -640,12 +744,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -654,13 +758,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -668,36 +772,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -706,7 +797,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -715,7 +806,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -724,7 +815,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -737,7 +828,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -751,7 +842,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -763,19 +854,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -797,7 +888,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -813,7 +904,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -829,7 +920,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -837,69 +928,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~f.}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}{~jj}{~f.}" 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$ - } + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{~f.}" + 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~f.}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -912,145 +1396,52 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + { author fmt.names.all } if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.all emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.all * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } + { bbl.compiler "\ " * compiler fmt.names.all * } if$ } -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } - if$ -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1064,88 +1455,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1174,30 +1503,6 @@ FUNCTION {format.number.series} 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 @@ -1214,38 +1519,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1266,15 +1539,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1337,6 +1601,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1357,69 +1634,48 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ - { format.authors output - new.sentence + { author fmt.names.all output.nonnull + %new.sentence } if$ } -%%<*!long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% {bookauthor num.names$ #4 < -%% {format.bookauthors output -%% new.sentence} -%% 'skip$ -%% if$} -%% if$ -%%} -%%</!long> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} { } - -FUNCTION {bookauthor.after} +FUNCTION {output.author.rest} +{ +} + +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1470,7 +1726,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1481,7 +1737,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1562,14 +1818,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1586,18 +1843,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1615,15 +1875,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1635,22 +1898,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1668,18 +1934,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1696,14 +1965,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1714,22 +1990,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1749,10 +2029,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1769,7 +2051,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1782,6 +2064,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1789,9 +2073,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1806,7 +2090,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1819,13 +2103,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1836,13 +2122,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1853,12 +2142,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1877,25 +2168,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1905,13 +2195,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1920,14 +2211,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1940,9 +2231,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1951,13 +2242,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1967,12 +2259,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1981,13 +2272,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1997,12 +2289,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2011,13 +2302,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2027,7 +2319,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2035,7 +2326,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2044,14 +2335,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2076,96 +2367,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2208,47 +2499,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - STRINGS { longest.label } INTEGERS { number.label longest.label.width } @@ -2285,15 +2575,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2316,5 +2598,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2008l.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst index 952e2c2c78f..ae1ae5fe703 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,modern,eprint,long,sort') +%% gost.dtx (with options: `bst,eprint,long,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2008ls.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,23 +272,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -319,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -333,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} % { "\bbledby{}" } +FUNCTION {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"{\cyrii}"} + { curlanguage "russian" = + {"{\cyri}"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -614,7 +712,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -628,20 +729,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -650,12 +754,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -664,13 +768,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -678,36 +782,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -716,7 +807,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -725,7 +816,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -734,7 +825,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -747,7 +838,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -761,7 +852,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -773,19 +864,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -807,7 +898,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -823,7 +914,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -839,7 +930,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -847,69 +938,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~f.}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}{~jj}{~f.}" 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$ - } + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{~f.}" + 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~f.}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -922,145 +1406,52 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + { author fmt.names.all } if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.all emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.all * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } + { bbl.compiler "\ " * compiler fmt.names.all * } if$ } -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1074,88 +1465,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1184,30 +1513,6 @@ FUNCTION {format.number.series} 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 @@ -1224,38 +1529,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1276,15 +1549,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1347,6 +1611,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1367,69 +1644,48 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ - { format.authors output - new.sentence + { author fmt.names.all output.nonnull + %new.sentence } if$ } -%%<*!long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% {bookauthor num.names$ #4 < -%% {format.bookauthors output -%% new.sentence} -%% 'skip$ -%% if$} -%% if$ -%%} -%%</!long> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} { } - -FUNCTION {bookauthor.after} +FUNCTION {output.author.rest} +{ +} + +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1480,7 +1736,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1491,7 +1747,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1572,14 +1828,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1596,18 +1853,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1625,15 +1885,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1645,22 +1908,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1678,18 +1944,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1706,14 +1975,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1724,22 +2000,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1759,10 +2039,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1779,7 +2061,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1792,6 +2074,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1799,9 +2083,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1816,7 +2100,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1829,13 +2113,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1846,13 +2132,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1863,12 +2152,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1887,25 +2178,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1915,13 +2205,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1930,14 +2221,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1950,9 +2241,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1961,13 +2252,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1977,12 +2269,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1991,13 +2282,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2007,12 +2299,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2021,13 +2312,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2037,7 +2329,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2045,7 +2336,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2054,14 +2345,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2086,96 +2377,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2218,49 +2509,47 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ "l" change.case$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2347,10 +2636,9 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } + } if$ } - FUNCTION {presort}%#1 { author.title.sort @@ -2409,15 +2697,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2440,5 +2720,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2008ls.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst index a58695ba507..b24d569d36e 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,modern,natbib,eprint') +%% gost.dtx (with options: `bst,natbib,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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2008n.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. %%------------------------------------------------------------------- @@ -37,7 +29,7 @@ %% The form of the \bibitem entries is %% \bibitem[Jones et al.(1990)]{key}... %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... -%% where the label part (in brackets) consists of the author names, +%% where the label part [in brackets] consists of the author names, %% as they should appear in the citation, with the year in parentheses following. %% There must be no space before the opening parenthesis! %% A full list of authors may also follow the year. @@ -47,11 +39,11 @@ %% The \cite command functions as follows: %% \citet{key} => Jones et al. (1990) %% \citet*{key} => Jones, Baker, and Smith (1990) -%% \cite{key} => (Jones et al., 1990) -%% \cite*{key} => (Jones, Baker, and Smith, 1990) -%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) -%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) -%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) +%% \cite{key} => (Jones et al., 1990) +%% \cite*{key} => (Jones, Baker, and Smith, 1990) +%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) +%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) +%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) %% \citeauthor{key} => Jones et al. %% \citeauthor*{key} => Jones, Baker, and Smith %% \citeyear{key} => 1990 @@ -93,15 +85,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -126,8 +118,23 @@ ENTRY {} { label extra.label sort.label short.list } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -140,11 +147,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -169,7 +183,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -203,7 +217,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -282,23 +298,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -345,9 +344,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -359,7 +370,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} % { "\bbledby{}" } +FUNCTION {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} -FUNCTION {bbl.and} % { "\bbland{}" } +FUNCTION {bbl.and} { curlanguage "english" = - {"and"} + {"and"} { curlanguage "german" = { "und" } { curlanguage "ukrainian" = {"{\cyrii}"} { curlanguage "russian" = {"{\cyri}"} - {"language is not defined: " language "and" * * warning$ "and"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -654,7 +738,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -668,20 +755,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -690,12 +780,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -704,13 +794,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -718,36 +808,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -756,7 +833,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -765,7 +842,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -774,7 +851,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -787,7 +864,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -801,7 +878,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -813,19 +890,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -847,7 +924,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -863,7 +940,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -879,7 +956,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -887,32 +964,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~f.}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{~f.}" + 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 {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := { namesleft #0 > } { s nameptr - "{vv~}{ll}{~jj}{~f.}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~f.}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -925,55 +1432,76 @@ FUNCTION {format.names} while$ } -FUNCTION {format.lab.names} -{ 's := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - %{ pop$ " et~al." * } - { pop$ " " bbl.etal * * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * s #2 "{vv~}{ll}" format.name$ * } - { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } +} + +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + +FUNCTION {fmt.names.brief} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + { s nameptr "{vv~}{ll}" 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 * } + { + numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " bbl.etal * * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -986,17 +1514,29 @@ FUNCTION {format.names.rev} while$ } -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } +FUNCTION {format.names.key} +{ 's := + set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " " bbl.etal * * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " " bbl.etal * * } + { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } if$ } -FUNCTION {format.authors} -{ author empty$ +FUNCTION {format.key} +{ empty$ + { key field.or.null } { "" } - { author format.names emphasize} if$ } @@ -1007,10 +1547,9 @@ FUNCTION {author.key.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } - FUNCTION {author.editor.key.label} { author empty$ { editor empty$ @@ -1020,10 +1559,10 @@ FUNCTION {author.editor.key.label} { "{}" key * } %% Bug in bibtex8 ?? if$ } - { editor format.lab.names } + { editor format.names.key } if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1038,7 +1577,7 @@ FUNCTION {author.key.organization.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1053,14 +1592,12 @@ FUNCTION {editor.key.organization.label} 'key if$ } - { editor format.lab.names } + { editor format.names.key } if$ } -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or +FUNCTION {calc.short.list} +{ type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label @@ -1076,11 +1613,11 @@ FUNCTION {calc.short.authors} } FUNCTION {calc.label} -{ calc.short.authors +{ calc.short.list short.list "(" * - year duplicate$ empty$ + year.or.date.to.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1089,138 +1626,36 @@ FUNCTION {calc.label} 'label := } - -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 "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month +FUNCTION {calc.long.list} %% called 1 time only +{ type$ "book" = type$ "inbook" = or + %'format.author.editor.brief + { author empty$ + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ } + { author fmt.names.brief } if$ } - { month empty$ - 'year - { year ". \BibDash " format.month * * } + { type$ "proceedings" = + %'format.editor.brief + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ + } + %'format.author.brief + { author empty$ + { "" } + { author fmt.names.brief } + if$ + } if$ } if$ - extra.label * % new in v.1.2 } -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1234,173 +1669,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - -FUNCTION {format.full.names} -{'s := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - curlanguage "english" = - and - { "," * } - 'skip$ - if$ - t "others" = - %t "~others" = - %or - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * t * } - { " " bbl.and " " * * * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ -%% language empty$ -%% { "english" 'curlanguage := } -%% {language 'curlanguage := } -%% if$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid 'curlanguage := } - if$ +{ + set.language + newline$ + "\bibitem" write$ + label extra.label * ")" * + calc.long.list * + bracketise write$ + cite$ bracify write$ + newline$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ "" before.all 'output.state := } + %% author.key.label %% year parenthesify * %% "; lbl:" label * * -%% "; mfn:" make.full.names * * - -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$ -} +%% "; mfn:" calc.long.list * * FUNCTION {format.bvolume} { volume empty$ @@ -1408,7 +1696,7 @@ FUNCTION {format.bvolume} { bbl.vvol volume tie.connect series empty$ 'skip$ - { bbl.of space.word * series emphasize * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1437,30 +1725,6 @@ FUNCTION {format.number.series} 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 @@ -1477,38 +1741,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1529,15 +1761,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1600,6 +1823,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1620,81 +1856,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1745,7 +1961,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1756,7 +1972,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1837,15 +2053,16 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before + output.author.head + %new.sentence author format.key output - format.title add.media "title" output.check + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1862,19 +2079,22 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1892,16 +2112,19 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1913,23 +2136,26 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1947,19 +2173,22 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1977,14 +2206,21 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1995,23 +2231,27 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -2031,11 +2271,13 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ author format.key output new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -2052,7 +2294,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2065,6 +2307,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -2072,9 +2316,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull author format.key output new.semicolon holder output.nonnull @@ -2090,7 +2334,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -2103,14 +2347,16 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k author format.key output title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2121,14 +2367,17 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle "title" output.check + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -2139,13 +2388,15 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -2164,26 +2415,25 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2193,14 +2443,15 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -2209,14 +2460,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2229,10 +2480,10 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -2241,13 +2492,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2257,13 +2509,12 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -2272,13 +2523,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2288,13 +2540,12 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2303,13 +2554,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2319,7 +2571,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2327,7 +2578,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output new.colon format.techreport.type output @@ -2337,14 +2588,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2369,96 +2620,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2501,50 +2752,48 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ "l" change.case$ } - INTEGERS { seq.num } FUNCTION {init.seq} @@ -2618,7 +2867,7 @@ FUNCTION {reverse.pass} { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := - label extra.label * 'label := + %%%label extra.label * 'label := } REVERSE {reverse.pass} @@ -2641,15 +2890,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2673,5 +2914,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2008n.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst index ab98c1f6606..12199d503fa 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,modern,natbib,eprint,sort') +%% gost.dtx (with options: `bst,natbib,eprint,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2008ns.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. %%------------------------------------------------------------------- @@ -37,7 +29,7 @@ %% The form of the \bibitem entries is %% \bibitem[Jones et al.(1990)]{key}... %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... -%% where the label part (in brackets) consists of the author names, +%% where the label part [in brackets] consists of the author names, %% as they should appear in the citation, with the year in parentheses following. %% There must be no space before the opening parenthesis! %% A full list of authors may also follow the year. @@ -47,11 +39,11 @@ %% The \cite command functions as follows: %% \citet{key} => Jones et al. (1990) %% \citet*{key} => Jones, Baker, and Smith (1990) -%% \cite{key} => (Jones et al., 1990) -%% \cite*{key} => (Jones, Baker, and Smith, 1990) -%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) -%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) -%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) +%% \cite{key} => (Jones et al., 1990) +%% \cite*{key} => (Jones, Baker, and Smith, 1990) +%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) +%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) +%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) %% \citeauthor{key} => Jones et al. %% \citeauthor*{key} => Jones, Baker, and Smith %% \citeyear{key} => 1990 @@ -93,15 +85,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -126,8 +118,23 @@ ENTRY {} { label extra.label sort.label short.list } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -140,11 +147,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -169,7 +183,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -203,7 +217,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -282,23 +298,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -345,9 +344,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -359,7 +370,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +INTEGERS { multiresult } -FUNCTION {bbl.edby} % { "\bbledby{}" } +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} -FUNCTION {bbl.and} % { "\bbland{}" } +FUNCTION {bbl.and} { curlanguage "english" = - {"and"} + {"and"} { curlanguage "german" = { "und" } { curlanguage "ukrainian" = {"{\cyrii}"} { curlanguage "russian" = {"{\cyri}"} - {"language is not defined: " language "and" * * warning$ "and"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -654,7 +738,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -668,20 +755,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -690,12 +780,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -704,13 +794,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -718,36 +808,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -756,7 +833,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -765,7 +842,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -774,7 +851,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -787,7 +864,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -801,7 +878,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -813,19 +890,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -847,7 +924,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -863,7 +940,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -879,7 +956,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -887,32 +964,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~f.}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{~f.}" + 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 {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := { namesleft #0 > } { s nameptr - "{vv~}{ll}{~jj}{~f.}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~f.}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -925,55 +1432,76 @@ FUNCTION {format.names} while$ } -FUNCTION {format.lab.names} -{ 's := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - %{ pop$ " et~al." * } - { pop$ " " bbl.etal * * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * s #2 "{vv~}{ll}" format.name$ * } - { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } +} + +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + +FUNCTION {fmt.names.brief} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + { s nameptr "{vv~}{ll}" 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 * } + { + numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " bbl.etal * * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -986,17 +1514,29 @@ FUNCTION {format.names.rev} while$ } -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } +FUNCTION {format.names.key} +{ 's := + set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " " bbl.etal * * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " " bbl.etal * * } + { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } if$ } -FUNCTION {format.authors} -{ author empty$ +FUNCTION {format.key} +{ empty$ + { key field.or.null } { "" } - { author format.names emphasize} if$ } @@ -1007,10 +1547,9 @@ FUNCTION {author.key.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } - FUNCTION {author.editor.key.label} { author empty$ { editor empty$ @@ -1020,10 +1559,10 @@ FUNCTION {author.editor.key.label} { "{}" key * } %% Bug in bibtex8 ?? if$ } - { editor format.lab.names } + { editor format.names.key } if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1038,7 +1577,7 @@ FUNCTION {author.key.organization.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1053,14 +1592,12 @@ FUNCTION {editor.key.organization.label} 'key if$ } - { editor format.lab.names } + { editor format.names.key } if$ } -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or +FUNCTION {calc.short.list} +{ type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label @@ -1076,11 +1613,11 @@ FUNCTION {calc.short.authors} } FUNCTION {calc.label} -{ calc.short.authors +{ calc.short.list short.list "(" * - year duplicate$ empty$ + year.or.date.to.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1089,138 +1626,36 @@ FUNCTION {calc.label} 'label := } - -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 "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month +FUNCTION {calc.long.list} %% called 1 time only +{ type$ "book" = type$ "inbook" = or + %'format.author.editor.brief + { author empty$ + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ } + { author fmt.names.brief } if$ } - { month empty$ - 'year - { year ". \BibDash " format.month * * } + { type$ "proceedings" = + %'format.editor.brief + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ + } + %'format.author.brief + { author empty$ + { "" } + { author fmt.names.brief } + if$ + } if$ } if$ - extra.label * % new in v.1.2 -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ } -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1234,173 +1669,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - -FUNCTION {format.full.names} -{'s := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - curlanguage "english" = - and - { "," * } - 'skip$ - if$ - t "others" = - %t "~others" = - %or - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * t * } - { " " bbl.and " " * * * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ -%% language empty$ -%% { "english" 'curlanguage := } -%% {language 'curlanguage := } -%% if$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid 'curlanguage := } - if$ +{ + set.language + newline$ + "\bibitem" write$ + label extra.label * ")" * + calc.long.list * + bracketise write$ + cite$ bracify write$ + newline$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ "" before.all 'output.state := } + %% author.key.label %% year parenthesify * %% "; lbl:" label * * -%% "; mfn:" make.full.names * * - -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$ -} +%% "; mfn:" calc.long.list * * FUNCTION {format.bvolume} { volume empty$ @@ -1408,7 +1696,7 @@ FUNCTION {format.bvolume} { bbl.vvol volume tie.connect series empty$ 'skip$ - { bbl.of space.word * series emphasize * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1437,30 +1725,6 @@ FUNCTION {format.number.series} 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 @@ -1477,38 +1741,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1529,15 +1761,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1600,6 +1823,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1620,81 +1856,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1745,7 +1961,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1756,7 +1972,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1837,15 +2053,16 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before + output.author.head + %new.sentence author format.key output - format.title add.media "title" output.check + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1862,19 +2079,22 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1892,16 +2112,19 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1913,23 +2136,26 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1947,19 +2173,22 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1977,14 +2206,21 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1995,23 +2231,27 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -2031,11 +2271,13 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ author format.key output new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -2052,7 +2294,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2065,6 +2307,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -2072,9 +2316,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull author format.key output new.semicolon holder output.nonnull @@ -2090,7 +2334,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -2103,14 +2347,16 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k author format.key output title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2121,14 +2367,17 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle "title" output.check + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -2139,13 +2388,15 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -2164,26 +2415,25 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2193,14 +2443,15 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -2209,14 +2460,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2229,10 +2480,10 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -2241,13 +2492,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2257,13 +2509,12 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -2272,13 +2523,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2288,13 +2540,12 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2303,13 +2554,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2319,7 +2571,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2327,7 +2578,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output new.colon format.techreport.type output @@ -2337,14 +2588,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2369,96 +2620,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2501,49 +2752,47 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ "l" change.case$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2625,40 +2874,7 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } - if$ -} -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } + } if$ } @@ -2678,7 +2894,6 @@ FUNCTION {editor.organization.sort} { editor sort.format.names } if$ } - FUNCTION {presort}%#2 { calc.label label sortify @@ -2752,7 +2967,7 @@ FUNCTION {reverse.pass} { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := - label extra.label * 'label := + %%%label extra.label * 'label := } REVERSE {reverse.pass} @@ -2775,15 +2990,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2807,5 +3014,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2008ns.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst index 5f659547847..cc9ed9ee472 100644 --- a/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst +++ b/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,modern,eprint,sort') +%% gost.dtx (with options: `bst,eprint,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from gost2008s.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,23 +272,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -319,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -333,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} + {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr} {"{\cyr\CYRU\cyrk\cyrl.}"} { curlanguage "russian" = {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{\cyr\cyrv\cyri\cyrd.}"} { curlanguage "russian" = @@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRT\cyro\cyrm" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or {"\CYRT."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"\CYRV\cyrery\cyrp."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{\cyr\cyrii\cyrz}" } { curlanguage "russian" = { "{\cyr\cyri\cyrz}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} { curlanguage "russian" = {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"{\cyrii}"} + { curlanguage "russian" = + {"{\cyri}"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRN\cyro\cyrm\cyre\cyrr" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\textnumero}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{\cyr\cyrv}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "\CYRV" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\cyrs.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or {"{\cyr\CYRS.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -614,7 +712,10 @@ FUNCTION {bbl.url} { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -628,20 +729,23 @@ FUNCTION {bbl.urldate} { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -650,12 +754,12 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" + { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -664,13 +768,13 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " "\cyrn\cyra\cyru\cyrk}" * } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -678,36 +782,23 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -716,7 +807,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -725,7 +816,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -734,7 +825,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -747,7 +838,7 @@ FUNCTION {bbl.media.eresource} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -761,7 +852,7 @@ FUNCTION {bbl.media.online} { curlanguage "ukrainian" = { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -773,19 +864,19 @@ FUNCTION {bbl.chief} { "\cyrr\cyru\cyrk." } { curlanguage "ukrainian" = { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } { curlanguage "ukrainian" = { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -807,7 +898,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -823,7 +914,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -839,7 +930,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -847,69 +938,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"\CYRS\cyrii\cyrch."} + { curlanguage "russian" = + { "\CYRYA\cyrn\cyrv." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"\CYRL\cyryu\cyrt."} + { curlanguage "russian" = + { "\CYRF\cyre\cyrv\cyrr." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"\CYRB\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrr\cyrt" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"\CYRK\cyrv\cyrii\cyrt."} + { curlanguage "russian" = + { "\CYRA\cyrp\cyrr." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"\CYRT\cyrr\cyra\cyrv."} + { curlanguage "russian" = + { "\CYRM\cyra\cyrishrt" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"\CYRCH\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrn\cyrsftsn" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrp."} + { curlanguage "russian" = + { "\CYRI\cyryu\cyrl\cyrsftsn" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"\CYRS\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRA\cyrv\cyrg\." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"\CYRV\cyre\cyrr."} + { curlanguage "russian" = + { "\CYRS\cyre\cyrn\cyrt." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"\CYRZH\cyro\cyrn."} + { curlanguage "russian" = + { "\CYRO\cyrk\cyrt." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"\CYRL\cyri\cyrs."} + { curlanguage "russian" = + { "\CYRN\cyro\cyrya\cyrb." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"\CYRG\cyrr\cyru\cyrd."} + { curlanguage "russian" = + { "\CYRD\cyre\cyrk." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google \CYRK\cyrn\cyri\cyrg\cyri"} + { curlanguage "russian" = + { "Google \CYRK\cyrn\cyri\cyrg\cyri" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~f.}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}{~jj}{~f.}" 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$ - } + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~jj}{~f.}" + 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~f.}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -922,145 +1406,57 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.three * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } + { bbl.compiler "\ " * compiler fmt.names.three * } if$ } -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1074,88 +1470,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1184,30 +1518,6 @@ FUNCTION {format.number.series} 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 @@ -1224,38 +1534,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1276,15 +1554,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1347,6 +1616,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type "t" change.case$ } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1367,81 +1649,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1492,7 +1754,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1503,7 +1765,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1584,14 +1846,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1608,18 +1871,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1637,15 +1903,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1657,22 +1926,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1690,18 +1962,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1718,14 +1993,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1736,22 +2018,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1771,10 +2057,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1791,7 +2079,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1804,6 +2092,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1811,9 +2101,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1828,7 +2118,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1841,13 +2131,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1858,13 +2150,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1875,12 +2170,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1899,25 +2196,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1927,13 +2223,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1942,14 +2239,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1962,9 +2259,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1973,13 +2270,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1989,12 +2287,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -2003,13 +2300,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2019,12 +2317,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2033,13 +2330,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2049,7 +2347,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2057,7 +2354,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2066,14 +2363,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2098,96 +2395,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2230,49 +2527,47 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"\CYRU\CYRF\CYRN"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ "l" change.case$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2359,10 +2654,9 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } + } if$ } - FUNCTION {presort}%#1 { author.title.sort @@ -2421,15 +2715,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2452,5 +2738,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `gost2008s.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost780.bst b/Master/texmf-dist/bibtex/bst/gost/gost780.bst deleted file mode 100644 index 7fd695a88a2..00000000000 --- a/Master/texmf-dist/bibtex/bst/gost/gost780.bst +++ /dev/null @@ -1,2229 +0,0 @@ -%% -%% This is file `gost780.bst', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gost.dtx (with options: `bst') -%% -%% 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: 1.2j, 2017.01.12 -%% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> -%% - - - -%% -%% This bibstyle attempts to format bibliography according to -%% GOST 7.1-2003 for bibliographic records. - -ENTRY - { address - annote - author - booktitle - bookauthor - chapter - edition - editor - compiler - howpublished - institution - journal - key - %major % new in v.1.2i, alias for speciality, not implemented - majorcode % new in v.1.2i, alias for specialitycode - month - note - number - organization - pages - eid % new in v1.2c - publisher - school % alias for institution - series - %speciality % new in v.1.2i, eqv. to major in biblatex-gost, not implemented yet... - specialitycode % new in v.1.2i, alias of number, eqv. to majorcode in biblatex-gost - title - %medium % new in v1.2; renamed to media. - media % new in v1.2f - type - volume - year - language - langid % new in v1.2c - booklanguage - %date % not implemented yet... - pagetotal - url - urldate - isbn - doi - eprinttype % = archivePrefix - eprintclass % = primaryClass - eprint - % new in v1.2f: - % appear in biblatex: - %addendum % not implemented yet... - holder % see patent - location % new in v.1.2i, alias of address - %subtitle % not implemented yet... - titleaddon % new in v.1.2i, see @thesis - %version % not implemented yet... - % Appear in biblatex-gost for @patent entry: - authorcountry % country of the patent authors - credits % statement of responsibility, other than provided in Biblatex - ipc % Code of the International Patent Classification - %media % General material designation NOTE: medium in the above - requestnumber % Registration number of the application to the patent document - publicationdate % Date of publication - publication % and information on the official gazette, which published patent - prioritydate % Information about the convention priority: the date of filing of the application, - prioritynumber % number and - prioritycountry % country name of convention priority. - requestdate % ?? - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := - #4 'after.dblslash := - #5 'after.slash := - #6 'after.colon := - #7 'after.semicolon := -} - -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.colon = - { ": " * write$ } - { output.state after.semicolon = - { "; " * 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.colon} -{ output.state before.all = - 'skip$ - { after.colon 'output.state := } - if$ -} - -FUNCTION {new.semicolon} -{ output.state before.all = - 'skip$ - { after.semicolon '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 {bracify} -{ duplicate$ empty$ - { pop$ "{}" } - { "{" swap$ * "}" * } - if$ -} - -FUNCTION {enclose.square.brackets} -{ - duplicate$ empty$ - { pop$ "" } - { "[" swap$ * "]" * } - if$ -} - -FUNCTION {enclose.round.brackets} -{ - duplicate$ empty$ - { pop$ "" } - { "(" swap$ * ")" * } - if$ -} - -FUNCTION {space.word} -{ " " swap$ * " " * } - -FUNCTION {bbl.edby} % { "\bbledby{}" } -{ curlanguage "english" = - {"Ed.\ by"} - { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} - { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} - { 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" = - {"{\cyr\CYRU\cyrk\cyrl.}"} - { curlanguage "russian" = - {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} - if$} - if$} - if$} -if$} - -FUNCTION {bbl.edition} % { "\bbledition{}" } -{ curlanguage "english" = - {"edition"} - { curlanguage "ukrainian" = - {"{\cyr\cyrv\cyri\cyrd.}"} - { curlanguage "russian" = - {"{\cyr\cyri\cyrz\cyrd.}"} - { 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 - { "\CYRT\cyro\cyrm" } - { 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 - {"\CYRT."} - { curlanguage "german" = - {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} - if$} - if$} -if$} - -FUNCTION {bbl.iissue} % { "\bblIssue{}" } -{ curlanguage "english" = - {"Issue"} - { curlanguage "ukrainian" = - {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"} - { curlanguage "russian" = - {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} - { 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" = - {"\CYRV\cyri\cyrp."} - { curlanguage "russian" = - {"\CYRV\cyrery\cyrp."} - { 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" = - { "{\cyr\cyrii\cyrz}" } - { curlanguage "russian" = - { "{\cyr\cyri\cyrz}" } - {"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" = - {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} - { curlanguage "russian" = - {"{\cyr\cyri~\cyrd\cyrr.}"} - {"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 - { "\CYRN\cyro\cyrm\cyre\cyrr" } - { 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 - {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} - { 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 - { "{\cyr\textnumero}" } - { 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 - { "{\cyr\textnumero}" } - { 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 - { "{\cyr\cyrv}" } - {"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 - { "\CYRV" } - {"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 - {"{\cyr\cyrs.}"} - { 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 - {"{\cyr\cyrs.}"} - { 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 - {"{\cyr\CYRS.}"} - { 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 - {"{\cyr\CYRS.}"} - { curlanguage "german" = - {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} - if$} - if$} -if$} - -FUNCTION {bbl.url} -{ curlanguage "english" = - {"Access mode"} - { curlanguage "ukrainian" = - { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyru}" } - { curlanguage "russian" = - { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } - { curlanguage "german" = - { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } - if$} - if$} - if$} -if$} -FUNCTION {bbl.urldate} -{ curlanguage "english" = - {"online; accessed"} - { curlanguage "ukrainian" = - { "{\cyrd\cyra\cyrt\cyra\ \cyrz\cyrv\cyre\cyrr\cyrn\cyre\cyrn\cyrn\cyrya}" } - { curlanguage "russian" = - { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } - { 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" = - { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } - if$} - if$} -if$} - -FUNCTION {bbl.mathesis} -{ curlanguage "english" = - { "Master's thesis" } - { curlanguage "german" = - { "Diss.~Mag." } - { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" - "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * - "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "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" = - { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " - "\cyrn\cyra\cyru\cyrk}" * } - { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } - if$} - if$} - if$} -if$} - -FUNCTION {bbl.docthesis} -{ curlanguage "english" = - { "Dr.\,Sci. dissertation" } - { curlanguage "german" = - { "Diss.~Dr." } - { curlanguage "russian" = - { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " - "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } - if$} - if$} -if$} - -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - -FUNCTION {bbl.nnoaddress} -{ curlanguage "english" = - { "S.\ l." } - { curlanguage "russian" = - { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } - if$} -if$} - -FUNCTION {bbl.nopublisher} -{ curlanguage "english" = - { "s.\ n." } - { curlanguage "russian" = - { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } - if$} -if$} - -FUNCTION {bbl.nnopublisher} -{ curlanguage "english" = - { "S.\ n." } - { curlanguage "russian" = - { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } - if$} -if$} - -FUNCTION {bbl.media.text} -{ curlanguage "english" = - { "Text" } - { curlanguage "russian" = curlanguage "ukrainian" = or - { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } - if$} -if$} - -FUNCTION {bbl.media.eresource} -{ curlanguage "english" = - { "Electronic resource" } - { curlanguage "russian" = - { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { curlanguage "ukrainian" = - { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } - if$} - if$} -if$} - -FUNCTION {bbl.media.online} -{ curlanguage "english" = - { "Electronic resource online" } - { curlanguage "russian" = - { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyrn}" * } - { curlanguage "ukrainian" = - { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } - if$} - if$} -if$} - -FUNCTION {bbl.chief} -{ curlanguage "english" = - { "chief" } - { curlanguage "russian" = - { "\cyrr\cyru\cyrk." } - { curlanguage "ukrainian" = - { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } - if$} - if$} -if$} - -FUNCTION {bbl.executor} -{ curlanguage "english" = - { "Executor" } - { curlanguage "russian" = - { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } - { curlanguage "ukrainian" = - { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } - if$} - if$} -if$} - -FUNCTION {bbl.media} -{ media "online" = - { bbl.media.online } - { media "eresource" = - { bbl.media.eresource } - { bbl.media.text } - if$} -if$} - -FUNCTION {bbl.req} -{ - curlanguage "english" = - { "req." } - { curlanguage "german" = - { "ang." } - { curlanguage "russian" = - { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } - if$ - } - if$ - } - if$ -} - -FUNCTION {bbl.publ} -{ - curlanguage "english" = - { "publ." } - { curlanguage "german" = - { "ausg." } - { curlanguage "russian" = - { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } - if$ - } - if$ - } - if$ -} - -FUNCTION {bbl.priority} -{ - curlanguage "english" = - { "priority" } - { curlanguage "german" = - { "Prioritat" } - { curlanguage "russian" = - { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } - if$ - } - if$ - } - if$ -} - -INTEGERS { nameptr namesleft numnames } - - -FUNCTION {format.names} -{ - #1 "{vv~}{ll}{~jj}{,~f.}" format.name$ -} - - -FUNCTION {format.names.rev} -{ - 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{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 "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } - if$ -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} -FUNCTION {output.address.publisher} -{ - address empty$ location empty$ and - 'skip$ - { address.or.location output - publisher empty$ - 'skip$ - { new.colon } - if$ - } - if$ - publisher output -} - -FUNCTION {output.address.publisher.date} -{ - output.address.publisher - format.date output -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem" write$ - cite$ bracify write$ - newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 "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} -{ eid empty$ - { - pages empty$ - { "" } - { pages multi.page.check - { bbl.ppages pages n.dashify tie.connect } - { bbl.ppage pages tie.connect } - if$ - } - if$ - } - { eid multi.page.check - { bbl.ppages eid n.dashify tie.connect } - { bbl.ppage eid tie.connect } - if$ - } - if$ -} - -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} -FUNCTION {format.pages.page} -{ eid empty$ - { pages empty$ - { pagetotal empty$ - { "" } - { pagetotal bbl.pages tie.connect } - if$ - } - { format.pages} - 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$ -} - -%%<!utf8> bbl.thesis.type "t" change.case$ -%%<utf8> bbl.thesis.type -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - bbl.thesis.type - } - if$ -} -%%<!utf8> { "t" change.case$ } -%%<utf8> { "" } - -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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} -{ - author empty$ - 'skip$ - {format.authors.after output - new.semicolon } - if$ -} - -FUNCTION {bookauthor.after} -{ - bookauthor empty$ - 'skip$ - {format.bookauthors.after output - new.semicolon } - if$ -} - -FUNCTION {editor.organization.after} -{ - compiler empty$ - {} - { format.compiler.after output - new.semicolon - } - if$ - editor empty$ - {} - { format.editors.after output - new.semicolon - } - if$ - organization empty$ - {} - {organization output - new.semicolon - } - if$ -} - -FUNCTION {format.url} -{ url empty$ - { "" } - { - "\BibUrl{ " url * "}" * - urldate empty$ - { "" } - { " (" bbl.urldate * ": " * urldate * ")" * } - if$ * - } - if$ -} - -FUNCTION {output.url} -{ - url empty$ - 'skip$ - { format.url output } - 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} { } - -FUNCTION {add.media} -{ duplicate$ empty$ - 'skip$ - { media empty$ - 'skip$ - { " " * bbl.media enclose.square.brackets * } - if$ - } - if$ -} - - -FUNCTION {output.eprint.url} -{ - format.url output -} - -FUNCTION {add.number} -{ duplicate$ empty$ - { "" } - { bbl.nr swap$ tie.or.space.connect } - if$ -} - -FUNCTION {format.type.number} -{ - type empty$ - { "" } - { - number empty$ - { "" } - { type number tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.requestdate} -{ requestdate empty$ - { "" } - { bbl.req requestdate tie.or.space.connect } - if$ -} - -FUNCTION {format.publicationdate} -{ publicationdate empty$ - { "" } - { bbl.publ publicationdate tie.or.space.connect } - if$ -} - -FUNCTION {format.prioritydate} -{ prioritydate empty$ - { "" } - { bbl.priority prioritydate tie.or.space.connect } - if$ -} - -FUNCTION {article} -{ - output.bibitem - author.before - format.title add.media "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.media "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 - note output - new.sentence - output.eprint.url - format.annote output - fin.entry -} - -FUNCTION {booklet} -{ - output.bibitem - author.before - format.title add.doi add.media "title" output.check - new.slash - author.after - editor.organization.after - new.block - howpublished output - address.or.location 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.media "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 - 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.media "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.media "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.media "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.media "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 {patent} -{ - output.bibitem - title add.media output.nonnull - new.colon - format.type.number output - add.blank - address.or.location output - new.colon - ipc output - new.slash - format.authors.after "author" output.check - add.blank - authorcountry enclose.round.brackets output.nonnull - new.semicolon - holder output.nonnull - new.semicolon - credits output.nonnull - new.block - requestnumber add.number output - new.semicolon - format.requestdate output - new.semicolon - format.publicationdate output - publication output - new.semicolon - format.prioritydate output - prioritynumber output - prioritycountry enclose.round.brackets output - new.block - note output - new.sentence - output.url - format.annote output - new.block - pagetotal output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - title howpublished new.sentence.checkb - format.title add.media 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.media "title" output.check - howpublished new.dblslash.checka - howpublished 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 "title" output.check - new.colon - bbl.phdthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -%% format.techrep.type.number output.nonnull -%% format.url output -FUNCTION {report} -{ - output.bibitem - format.title add.doi add.media "title" output.check - new.colon - type "type" output.check - new.colon - number output - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.semicolon - format.chief.after output % from editor field - new.semicolon - format.executor.after output % from author field - new.block - address.or.location output - new.colon - 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 "title" output.check - new.colon - bbl.phdthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - new.sentence - format.btitle "title" output.check - new.colon - bbl.mathesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -FUNCTION {docthesis} -{ output.bibitem - format.authors "author" output.check - new.sentence - format.btitle "title" output.check - new.colon - bbl.docthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -%% format.url output - -FUNCTION {techreport} -{ - output.bibitem - format.title add.doi add.media "title" output.check - new.colon - format.techreport.type output - new.colon - number output - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.semicolon - format.chief.after output % from editor field - new.semicolon - format.executor.after output % from author field - new.block - address.or.location output - new.colon - 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} {"Jan."} -MACRO {feb} {"Feb."} -MACRO {mar} {"Mar."} -MACRO {apr} {"Apr."} -MACRO {may} {"May"} -MACRO {jun} {"Jun."} -MACRO {jul} {"Jul."} -MACRO {aug} {"Aug."} -MACRO {sep} {"Sep."} -MACRO {oct} {"Oct."} -MACRO {nov} {"Nov."} -MACRO {dec} {"Dec."} -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 {pop} {"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 {st} {"Sky and Telesc."} -MACRO {cjp} {"Czech. J. Phys."} -MACRO {el} {"Europhys. Lett."} -MACRO {en} {"Europhys. News"} -MACRO {fujitsustj} {"FUJITSU Sci. Tech. J."} -MACRO {ieeeed} {"IEEE Trans. Electron Devices"} -MACRO {ieeeim} {"IEEE Trans. Instrum. Meas."} -MACRO {ieeejqe} {"IEEE J. Quantum Electron."} -MACRO {ieeem} {"IEEE Trans. Magn."} -MACRO {ieeeptl} {"IEEE Photonic Technol. Lett."} -MACRO {ieeeuffc} {"IEEE Trans. Ultrason., Ferroelect., Freq. Cont."} -MACRO {jem} {"J. Electron. Mater."} -MACRO {jes} {"J. Electrochem. Soc."} -MACRO {jetplett} {"JETP Lett."} -MACRO {jjap} {"Japan. J. Appl. Phys."} -MACRO {jpha} {"J. Phys. A: Math. Gen."} -MACRO {jphb} {"J. Phys. B: At. Mol. Opt. Phys."} -MACRO {jphbold} {"J. Phys. B: At. Mol. Phys."} -MACRO {jphc} {"J. Phys.: Condens. Matter"} -MACRO {jphcold} {"J. Phys. C: Solid State Phys."} -MACRO {jphd} {"J. Phys. D: Appl. Phys."} -MACRO {jvsta} {"J. Vac. Sci. Technol. A"} -MACRO {jvstb} {"J. Vac. Sci. Technol. B"} -MACRO {me} {"Microelectron. Eng."} -MACRO {necrd} {"NEC Res.{\&} Develop."} -MACRO {pa} {"Physica A"} -MACRO {pb} {"Physica B"} -MACRO {pc} {"Physica C"} -MACRO {pd} {"Physica D"} -MACRO {procieee} {"Proc. IEEE"} -MACRO {procspie} {"Proc. SPIE"} -MACRO {pssa} {"Phys. Stat. Sol. A"} -MACRO {pssb} {"Phys. Stat. Sol. B"} -MACRO {rpp} {"Rep. Progr. Phys."} -MACRO {sm} {"Synthet. Metal"} -MACRO {sost} {"Solid State Technol."} -MACRO {ss} {"Surf. Sci."} -MACRO {ssc} {"Solid State Commun."} -MACRO {sst} {"Semicond. Sci. Technol."} -MACRO {suplatt} {"Superlatt. Microstr."} -MACRO {sust} {"Supercond. Sci. Technol."} -MACRO {znat} {"Z. Naturforsch."} -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 {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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} -MACRO {ufn} {"\CYRU\CYRF\CYRN"} -MACRO {pu} {"Phys.--Uspekhi"} -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."} - -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}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ - "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ - "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ - "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ - "\renewcommand{\newblock}{\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 `gost780.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/gost780s.bst b/Master/texmf-dist/bibtex/bst/gost/gost780s.bst deleted file mode 100644 index 00b3526f45e..00000000000 --- a/Master/texmf-dist/bibtex/bst/gost/gost780s.bst +++ /dev/null @@ -1,2353 +0,0 @@ -%% -%% This is file `gost780s.bst', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gost.dtx (with options: `bst,sort') -%% -%% 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: 1.2j, 2017.01.12 -%% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> -%% - - - -%% -%% This bibstyle attempts to format bibliography according to -%% GOST 7.1-2003 for bibliographic records. - -ENTRY - { address - annote - author - booktitle - bookauthor - chapter - edition - editor - compiler - howpublished - institution - journal - key - %major % new in v.1.2i, alias for speciality, not implemented - majorcode % new in v.1.2i, alias for specialitycode - month - note - number - organization - pages - eid % new in v1.2c - publisher - school % alias for institution - series - %speciality % new in v.1.2i, eqv. to major in biblatex-gost, not implemented yet... - specialitycode % new in v.1.2i, alias of number, eqv. to majorcode in biblatex-gost - title - %medium % new in v1.2; renamed to media. - media % new in v1.2f - type - volume - year - language - langid % new in v1.2c - booklanguage - %date % not implemented yet... - pagetotal - url - urldate - isbn - doi - eprinttype % = archivePrefix - eprintclass % = primaryClass - eprint - % new in v1.2f: - % appear in biblatex: - %addendum % not implemented yet... - holder % see patent - location % new in v.1.2i, alias of address - %subtitle % not implemented yet... - titleaddon % new in v.1.2i, see @thesis - %version % not implemented yet... - % Appear in biblatex-gost for @patent entry: - authorcountry % country of the patent authors - credits % statement of responsibility, other than provided in Biblatex - ipc % Code of the International Patent Classification - %media % General material designation NOTE: medium in the above - requestnumber % Registration number of the application to the patent document - publicationdate % Date of publication - publication % and information on the official gazette, which published patent - prioritydate % Information about the convention priority: the date of filing of the application, - prioritynumber % number and - prioritycountry % country name of convention priority. - requestdate % ?? - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := - #4 'after.dblslash := - #5 'after.slash := - #6 'after.colon := - #7 'after.semicolon := -} - -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.colon = - { ": " * write$ } - { output.state after.semicolon = - { "; " * 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.colon} -{ output.state before.all = - 'skip$ - { after.colon 'output.state := } - if$ -} - -FUNCTION {new.semicolon} -{ output.state before.all = - 'skip$ - { after.semicolon '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$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - 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 {bracify} -{ duplicate$ empty$ - { pop$ "{}" } - { "{" swap$ * "}" * } - if$ -} - -FUNCTION {enclose.square.brackets} -{ - duplicate$ empty$ - { pop$ "" } - { "[" swap$ * "]" * } - if$ -} - -FUNCTION {enclose.round.brackets} -{ - duplicate$ empty$ - { pop$ "" } - { "(" swap$ * ")" * } - if$ -} - -FUNCTION {space.word} -{ " " swap$ * " " * } - -FUNCTION {bbl.edby} % { "\bbledby{}" } -{ curlanguage "english" = - {"Ed.\ by"} - { curlanguage "ukrainian" = - {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} - { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} - { 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" = - {"{\cyr\CYRU\cyrk\cyrl.}"} - { curlanguage "russian" = - {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} - if$} - if$} - if$} -if$} - -FUNCTION {bbl.edition} % { "\bbledition{}" } -{ curlanguage "english" = - {"edition"} - { curlanguage "ukrainian" = - {"{\cyr\cyrv\cyri\cyrd.}"} - { curlanguage "russian" = - {"{\cyr\cyri\cyrz\cyrd.}"} - { 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 - { "\CYRT\cyro\cyrm" } - { 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 - {"\CYRT."} - { curlanguage "german" = - {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} - if$} - if$} -if$} - -FUNCTION {bbl.iissue} % { "\bblIssue{}" } -{ curlanguage "english" = - {"Issue"} - { curlanguage "ukrainian" = - {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"} - { curlanguage "russian" = - {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} - { 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" = - {"\CYRV\cyri\cyrp."} - { curlanguage "russian" = - {"\CYRV\cyrery\cyrp."} - { 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" = - { "{\cyr\cyrii\cyrz}" } - { curlanguage "russian" = - { "{\cyr\cyri\cyrz}" } - {"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" = - {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"} - { curlanguage "russian" = - {"{\cyr\cyri~\cyrd\cyrr.}"} - {"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 - { "\CYRN\cyro\cyrm\cyre\cyrr" } - { 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 - {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} - { 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 - { "{\cyr\textnumero}" } - { 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 - { "{\cyr\textnumero}" } - { 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 - { "{\cyr\cyrv}" } - {"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 - { "\CYRV" } - {"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 - {"{\cyr\cyrs.}"} - { 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 - {"{\cyr\cyrs.}"} - { 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 - {"{\cyr\CYRS.}"} - { 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 - {"{\cyr\CYRS.}"} - { curlanguage "german" = - {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} - if$} - if$} -if$} - -FUNCTION {bbl.url} -{ curlanguage "english" = - {"Access mode"} - { curlanguage "ukrainian" = - { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyru}" } - { curlanguage "russian" = - { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" } - { curlanguage "german" = - { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } - if$} - if$} - if$} -if$} -FUNCTION {bbl.urldate} -{ curlanguage "english" = - {"online; accessed"} - { curlanguage "ukrainian" = - { "{\cyrd\cyra\cyrt\cyra\ \cyrz\cyrv\cyre\cyrr\cyrn\cyre\cyrn\cyrn\cyrya}" } - { curlanguage "russian" = - { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" } - { 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" = - { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } - if$} - if$} -if$} - -FUNCTION {bbl.mathesis} -{ curlanguage "english" = - { "Master's thesis" } - { curlanguage "german" = - { "Diss.~Mag." } - { curlanguage "russian" = - { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" - "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * - "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } - { "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" = - { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " - "\cyrn\cyra\cyru\cyrk}" * } - { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } - if$} - if$} - if$} -if$} - -FUNCTION {bbl.docthesis} -{ curlanguage "english" = - { "Dr.\,Sci. dissertation" } - { curlanguage "german" = - { "Diss.~Dr." } - { curlanguage "russian" = - { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " - "\cyrn\cyra\cyru\cyrk}" * } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } - if$} - if$} -if$} - -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type "t" change.case$ } - if$} - if$} -if$} - -FUNCTION {bbl.nnoaddress} -{ curlanguage "english" = - { "S.\ l." } - { curlanguage "russian" = - { "{\cyr\CYRB.\ \cyrm.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } - if$} -if$} - -FUNCTION {bbl.nopublisher} -{ curlanguage "english" = - { "s.\ n." } - { curlanguage "russian" = - { "{\cyr\cyrb.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } - if$} -if$} - -FUNCTION {bbl.nnopublisher} -{ curlanguage "english" = - { "S.\ n." } - { curlanguage "russian" = - { "{\cyr\CYRB.\ \cyri.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } - if$} -if$} - -FUNCTION {bbl.media.text} -{ curlanguage "english" = - { "Text" } - { curlanguage "russian" = curlanguage "ukrainian" = or - { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "media" * * warning$ "Text" } - if$} -if$} - -FUNCTION {bbl.media.eresource} -{ curlanguage "english" = - { "Electronic resource" } - { curlanguage "russian" = - { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { curlanguage "ukrainian" = - { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } - if$} - if$} -if$} - -FUNCTION {bbl.media.online} -{ curlanguage "english" = - { "Electronic resource online" } - { curlanguage "russian" = - { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyrn}" * } - { curlanguage "ukrainian" = - { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " - "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } - if$} - if$} -if$} - -FUNCTION {bbl.chief} -{ curlanguage "english" = - { "chief" } - { curlanguage "russian" = - { "\cyrr\cyru\cyrk." } - { curlanguage "ukrainian" = - { "\cyrr\cyru\cyrk." } - { "language is not defined: " language "chief" * * warning$ "chief" } - if$} - if$} -if$} - -FUNCTION {bbl.executor} -{ curlanguage "english" = - { "Executor" } - { curlanguage "russian" = - { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } - { curlanguage "ukrainian" = - { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } - { "language is not defined: " language "executor" * * warning$ "executor" } - if$} - if$} -if$} - -FUNCTION {bbl.media} -{ media "online" = - { bbl.media.online } - { media "eresource" = - { bbl.media.eresource } - { bbl.media.text } - if$} -if$} - -FUNCTION {bbl.req} -{ - curlanguage "english" = - { "req." } - { curlanguage "german" = - { "ang." } - { curlanguage "russian" = - { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } - { "language is not defined: " language "req" * * warning$ "req" } - if$ - } - if$ - } - if$ -} - -FUNCTION {bbl.publ} -{ - curlanguage "english" = - { "publ." } - { curlanguage "german" = - { "ausg." } - { curlanguage "russian" = - { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } - if$ - } - if$ - } - if$ -} - -FUNCTION {bbl.priority} -{ - curlanguage "english" = - { "priority" } - { curlanguage "german" = - { "Prioritat" } - { curlanguage "russian" = - { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } - { "language is not defined: " language "priority" * * warning$ "priority" } - if$ - } - if$ - } - if$ -} - -INTEGERS { nameptr namesleft numnames } - - -FUNCTION {format.names} -{ - #1 "{vv~}{ll}{~jj}{,~f.}" format.name$ -} - - -FUNCTION {format.names.rev} -{ - 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := - "{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 "t" change.case$ } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "\CYRYA\cyrn\cyrv." } - { month "Feb." = - { "\CYRF\cyre\cyrv\cyrr." } - { month "Mar." = - { "\CYRM\cyra\cyrr\cyrt" } - { month "Apr." = - { "\CYRA\cyrp\cyrr." } - { month "May" = - { "\CYRM\cyra\cyrishrt" } - { month "Jun." = - { "\CYRI\cyryu\cyrn\cyrsftsn" } - { month "Jul." = - { "\CYRI\cyryu\cyrl\cyrsftsn" } - { month "Aug." = - { "\CYRA\cyrv\cyrg\." } - { month "Sep." = - { "\CYRS\cyre\cyrn\cyrt." } - { month "Oct." = - { "\CYRO\cyrk\cyrt." } - { month "Nov." = - { "\CYRN\cyro\cyrya\cyrb." } - { month "Dec." = - { "\CYRD\cyre\cyrk." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } - if$ -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} -FUNCTION {output.address.publisher} -{ - address empty$ location empty$ and - 'skip$ - { address.or.location output - publisher empty$ - 'skip$ - { new.colon } - if$ - } - if$ - publisher output -} - -FUNCTION {output.address.publisher.date} -{ - output.address.publisher - format.date output -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem" write$ - cite$ bracify write$ - newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 "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} -{ eid empty$ - { - pages empty$ - { "" } - { pages multi.page.check - { bbl.ppages pages n.dashify tie.connect } - { bbl.ppage pages tie.connect } - if$ - } - if$ - } - { eid multi.page.check - { bbl.ppages eid n.dashify tie.connect } - { bbl.ppage eid tie.connect } - if$ - } - if$ -} - -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} -FUNCTION {format.pages.page} -{ eid empty$ - { pages empty$ - { pagetotal empty$ - { "" } - { pagetotal bbl.pages tie.connect } - if$ - } - { format.pages} - 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$ -} - -%%<!utf8> bbl.thesis.type "t" change.case$ -%%<utf8> bbl.thesis.type -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - bbl.thesis.type - } - if$ -} -%%<!utf8> { "t" change.case$ } -%%<utf8> { "" } - -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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} -{ - author empty$ - 'skip$ - {format.authors.after output - new.semicolon } - if$ -} - -FUNCTION {bookauthor.after} -{ - bookauthor empty$ - 'skip$ - {format.bookauthors.after output - new.semicolon } - if$ -} - -FUNCTION {editor.organization.after} -{ - compiler empty$ - {} - { format.compiler.after output - new.semicolon - } - if$ - editor empty$ - {} - { format.editors.after output - new.semicolon - } - if$ - organization empty$ - {} - {organization output - new.semicolon - } - if$ -} - -FUNCTION {format.url} -{ url empty$ - { "" } - { - "\BibUrl{ " url * "}" * - urldate empty$ - { "" } - { " (" bbl.urldate * ": " * urldate * ")" * } - if$ * - } - if$ -} - -FUNCTION {output.url} -{ - url empty$ - 'skip$ - { format.url output } - 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} { } - -FUNCTION {add.media} -{ duplicate$ empty$ - 'skip$ - { media empty$ - 'skip$ - { " " * bbl.media enclose.square.brackets * } - if$ - } - if$ -} - - -FUNCTION {output.eprint.url} -{ - format.url output -} - -FUNCTION {add.number} -{ duplicate$ empty$ - { "" } - { bbl.nr swap$ tie.or.space.connect } - if$ -} - -FUNCTION {format.type.number} -{ - type empty$ - { "" } - { - number empty$ - { "" } - { type number tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.requestdate} -{ requestdate empty$ - { "" } - { bbl.req requestdate tie.or.space.connect } - if$ -} - -FUNCTION {format.publicationdate} -{ publicationdate empty$ - { "" } - { bbl.publ publicationdate tie.or.space.connect } - if$ -} - -FUNCTION {format.prioritydate} -{ prioritydate empty$ - { "" } - { bbl.priority prioritydate tie.or.space.connect } - if$ -} - -FUNCTION {article} -{ - output.bibitem - author.before - format.title add.media "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.media "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 - note output - new.sentence - output.eprint.url - format.annote output - fin.entry -} - -FUNCTION {booklet} -{ - output.bibitem - author.before - format.title add.doi add.media "title" output.check - new.slash - author.after - editor.organization.after - new.block - howpublished output - address.or.location 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.media "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 - 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.media "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.media "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.media "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.media "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 {patent} -{ - output.bibitem - title add.media output.nonnull - new.colon - format.type.number output - add.blank - address.or.location output - new.colon - ipc output - new.slash - format.authors.after "author" output.check - add.blank - authorcountry enclose.round.brackets output.nonnull - new.semicolon - holder output.nonnull - new.semicolon - credits output.nonnull - new.block - requestnumber add.number output - new.semicolon - format.requestdate output - new.semicolon - format.publicationdate output - publication output - new.semicolon - format.prioritydate output - prioritynumber output - prioritycountry enclose.round.brackets output - new.block - note output - new.sentence - output.url - format.annote output - new.block - pagetotal output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - title howpublished new.sentence.checkb - format.title add.media 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.media "title" output.check - howpublished new.dblslash.checka - howpublished 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 "title" output.check - new.colon - bbl.phdthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -%% format.techrep.type.number output.nonnull -%% format.url output -FUNCTION {report} -{ - output.bibitem - format.title add.doi add.media "title" output.check - new.colon - type "type" output.check - new.colon - number output - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.semicolon - format.chief.after output % from editor field - new.semicolon - format.executor.after output % from author field - new.block - address.or.location output - new.colon - 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 "title" output.check - new.colon - bbl.phdthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - new.sentence - format.btitle "title" output.check - new.colon - bbl.mathesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -FUNCTION {docthesis} -{ output.bibitem - format.authors "author" output.check - new.sentence - format.btitle "title" output.check - new.colon - bbl.docthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -%% format.url output - -FUNCTION {techreport} -{ - output.bibitem - format.title add.doi add.media "title" output.check - new.colon - format.techreport.type output - new.colon - number output - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.semicolon - format.chief.after output % from editor field - new.semicolon - format.executor.after output % from author field - new.block - address.or.location output - new.colon - 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} {"Jan."} -MACRO {feb} {"Feb."} -MACRO {mar} {"Mar."} -MACRO {apr} {"Apr."} -MACRO {may} {"May"} -MACRO {jun} {"Jun."} -MACRO {jul} {"Jul."} -MACRO {aug} {"Aug."} -MACRO {sep} {"Sep."} -MACRO {oct} {"Oct."} -MACRO {nov} {"Nov."} -MACRO {dec} {"Dec."} -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 {pop} {"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 {st} {"Sky and Telesc."} -MACRO {cjp} {"Czech. J. Phys."} -MACRO {el} {"Europhys. Lett."} -MACRO {en} {"Europhys. News"} -MACRO {fujitsustj} {"FUJITSU Sci. Tech. J."} -MACRO {ieeeed} {"IEEE Trans. Electron Devices"} -MACRO {ieeeim} {"IEEE Trans. Instrum. Meas."} -MACRO {ieeejqe} {"IEEE J. Quantum Electron."} -MACRO {ieeem} {"IEEE Trans. Magn."} -MACRO {ieeeptl} {"IEEE Photonic Technol. Lett."} -MACRO {ieeeuffc} {"IEEE Trans. Ultrason., Ferroelect., Freq. Cont."} -MACRO {jem} {"J. Electron. Mater."} -MACRO {jes} {"J. Electrochem. Soc."} -MACRO {jetplett} {"JETP Lett."} -MACRO {jjap} {"Japan. J. Appl. Phys."} -MACRO {jpha} {"J. Phys. A: Math. Gen."} -MACRO {jphb} {"J. Phys. B: At. Mol. Opt. Phys."} -MACRO {jphbold} {"J. Phys. B: At. Mol. Phys."} -MACRO {jphc} {"J. Phys.: Condens. Matter"} -MACRO {jphcold} {"J. Phys. C: Solid State Phys."} -MACRO {jphd} {"J. Phys. D: Appl. Phys."} -MACRO {jvsta} {"J. Vac. Sci. Technol. A"} -MACRO {jvstb} {"J. Vac. Sci. Technol. B"} -MACRO {me} {"Microelectron. Eng."} -MACRO {necrd} {"NEC Res.{\&} Develop."} -MACRO {pa} {"Physica A"} -MACRO {pb} {"Physica B"} -MACRO {pc} {"Physica C"} -MACRO {pd} {"Physica D"} -MACRO {procieee} {"Proc. IEEE"} -MACRO {procspie} {"Proc. SPIE"} -MACRO {pssa} {"Phys. Stat. Sol. A"} -MACRO {pssb} {"Phys. Stat. Sol. B"} -MACRO {rpp} {"Rep. Progr. Phys."} -MACRO {sm} {"Synthet. Metal"} -MACRO {sost} {"Solid State Technol."} -MACRO {ss} {"Surf. Sci."} -MACRO {ssc} {"Solid State Commun."} -MACRO {sst} {"Semicond. Sci. Technol."} -MACRO {suplatt} {"Superlatt. Microstr."} -MACRO {sust} {"Supercond. Sci. Technol."} -MACRO {znat} {"Z. Naturforsch."} -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 {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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} -MACRO {ufn} {"\CYRU\CYRF\CYRN"} -MACRO {pu} {"Phys.--Uspekhi"} -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."} - -READ - - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - -%% ===================================== -%% This version from old Gost package -%%<*!natbib> -FUNCTION {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { " " * } - 'skip$ - if$ - s nameptr - "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" - format.name$ 't := - nameptr numnames = t "others" = and - { "et al" * } - %{ bbl.etal * } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} -%%</!natbib> -%% This version from plainnat.bst -%% It ignores second and subsequent authors but include year. -%%<*natbib> -%%</natbib> -%% ===================================== - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word % Removes "The " if any - chop.word % Removes "An " if any - chop.word % Removes "A " if any - sortify - #1 global.max$ substring$ -} - -%% ===================================== -%% This version from old gost package. -%% -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { - author num.names$ #4 < - {author sort.format.names } - {title sort.format.title} - if$ - } - if$ -} -%% This version from plainnat.bst -%% ===================================== - -FUNCTION {author.title.sort} -{ author empty$ - { title empty$ - { key empty$ - { "to sort, need author, title, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { title sort.format.title } - if$ - } - { - author num.names$ #4 < - {author sort.format.names } - {title sort.format.title} - if$ - } - if$ -} - -FUNCTION {presort}%#1 -{ - author.title.sort - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - - -ITERATE {presort} - -SORT - - -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}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ - "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ - "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ - "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ - "\renewcommand{\newblock}{\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 `gost780s.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst index 7e070613b9c..c5dbc01bb35 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst @@ -6,28 +6,20 @@ %% %% gost.dtx (with options: `bst,utf8,strict,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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2003.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.1-2003 for bibliographic records. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,13 +272,6 @@ FUNCTION {or} if$ } - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -309,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -323,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"і"} + { curlanguage "russian" = + {"и"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -604,7 +702,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -618,20 +719,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -640,10 +744,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -652,12 +756,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -665,35 +769,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -702,7 +793,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -711,7 +802,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -720,7 +811,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -731,7 +822,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -743,7 +834,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -755,19 +846,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -789,7 +880,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -805,7 +896,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -821,7 +912,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -829,151 +920,385 @@ FUNCTION {bbl.priority} if$ } -INTEGERS { nameptr namesleft numnames } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} -FUNCTION {format.names} -{ - #1 "{vv~}{ll}{~jj}{,~ff}" format.name$ -} +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} -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 enclose.square.brackets * } - { ", " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names emphasize} - if$ -} +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} -FUNCTION {format.bookauthors} -{ bookauthor empty$ - { "" } - { bookauthor format.names} - if$ -} +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} -FUNCTION {format.authors.after} -{ author empty$ - { "" } - { author format.names.rev} +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } if$ } -FUNCTION {format.bookauthors.after} -{ bookauthor empty$ - { "" } - { bookauthor format.names.rev}% always cuts to 4 persons +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } if$ } -FUNCTION {format.editors.after} -{ editor empty$ - { "" } - { bbl.edby "\ " * editor format.names.rev * } +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } if$ } - -FUNCTION {format.chief.after} -{ editor empty$ - { "" } - { bbl.chief "\ " * editor format.names.rev * } +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.executor.after} -{ author empty$ - { "" } - { bbl.executor ": " * author format.names.rev * } +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.compiler.after} -{ compiler empty$ - { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.title} -{ title empty$ - { "" } - { title } +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } if$ } FUNCTION {format.month} { month empty$ { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} if$ } FUNCTION {format.date} -{ year empty$ +{ year.or.date.to.year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ @@ -982,51 +1307,153 @@ FUNCTION {format.date} if$ } { month empty$ - 'year - { year ". \BibDash " format.month * * } + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } if$ } if$ } -FUNCTION {address.or.location} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{,~ff}" + format.name$ +} + +FUNCTION {fmt.names.three} { - address empty$ - { location } - { address } - if$ + '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 bracketise *} + { ", " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ } -FUNCTION {specialitycode.or.number} +FUNCTION {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{,~ff}" + format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " * bbl.etal bracketise *} + { " " bbl.and " " * * * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} { - specialitycode empty$ - { number } - { specialitycode } + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.first + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } + if$ +} + +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } if$ } + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + FUNCTION {output.address.publisher} { address empty$ { bbl.nnoaddress publisher empty$ - { "~: " * bbl.nopublisher * enclose.square.brackets } - { enclose.square.brackets "~: " * publisher * } + { "~: " * bbl.nopublisher * bracketise } + { bracketise "~: " * publisher * } if$ } { address output new.colon publisher empty$ - { bbl.nopublisher enclose.square.brackets } + { bbl.nopublisher bracketise } { publisher } if$ } @@ -1034,88 +1461,26 @@ FUNCTION {output.address.publisher} output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1144,30 +1509,6 @@ FUNCTION {format.number.series} 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 @@ -1184,38 +1525,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1236,15 +1545,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1307,6 +1607,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1327,78 +1640,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.first 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ - {format.authors.after output - new.semicolon } + {author num.names$ #1 > + { author fmt.names.all output + new.semicolon + } + 'skip$ + if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.all output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1449,7 +1745,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1459,9 +1755,13 @@ FUNCTION {add.media} { duplicate$ empty$ 'skip$ { media empty$ - { " " * bbl.media.text enclose.square.brackets * } - { " " * bbl.media enclose.square.brackets * } - if$ + { type$ "online" = + { " " * bbl.media.online bracketise * } + { " " * bbl.media.text bracketise * } + if$ + } + { " " * bbl.media bracketise * } + if$ } if$ } @@ -1541,14 +1841,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1565,18 +1866,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1594,15 +1898,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1614,22 +1921,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1647,18 +1957,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1675,14 +1988,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1693,22 +2013,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1728,10 +2052,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1748,7 +2074,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1761,6 +2087,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1768,9 +2096,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1785,7 +2113,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1798,13 +2126,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1815,13 +2145,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1832,12 +2165,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka - howpublished enclose.square.brackets output - editor.organization.after + howpublished bracketise output + editor.organization.rest new.sentence new.block output.address.publisher @@ -1856,25 +2191,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1884,13 +2218,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1899,14 +2234,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1919,9 +2254,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1930,13 +2265,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1946,12 +2282,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1960,13 +2295,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1976,12 +2312,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -1990,13 +2325,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2006,7 +2342,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2014,7 +2349,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2023,14 +2358,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2055,96 +2390,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2187,47 +2522,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - STRINGS { longest.label } INTEGERS { number.label longest.label.width } @@ -2264,15 +2598,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2295,5 +2621,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2003.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst index c9d7cd74a71..26b40f1c930 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst @@ -6,28 +6,20 @@ %% %% gost.dtx (with options: `bst,utf8,strict,eprint,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2003s.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.1-2003 for bibliographic records. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,23 +272,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -319,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -333,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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 {bbl.edby} % { "\bbledby{}" } +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"і"} + { curlanguage "russian" = + {"и"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -614,7 +712,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -628,20 +729,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -650,10 +754,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -662,12 +766,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -675,35 +779,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -712,7 +803,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -721,7 +812,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -730,7 +821,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -741,7 +832,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -753,7 +844,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -765,19 +856,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -799,7 +890,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -815,7 +906,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -831,7 +922,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -839,151 +930,385 @@ FUNCTION {bbl.priority} if$ } -INTEGERS { nameptr namesleft numnames } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} -FUNCTION {format.names} -{ - #1 "{vv~}{ll}{~jj}{,~ff}" format.name$ -} +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} -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 enclose.square.brackets * } - { ", " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names emphasize} - if$ -} +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} -FUNCTION {format.bookauthors} -{ bookauthor empty$ - { "" } - { bookauthor format.names} - if$ -} +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} -FUNCTION {format.authors.after} -{ author empty$ - { "" } - { author format.names.rev} +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } if$ } -FUNCTION {format.bookauthors.after} -{ bookauthor empty$ - { "" } - { bookauthor format.names.rev}% always cuts to 4 persons +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } if$ } -FUNCTION {format.editors.after} -{ editor empty$ - { "" } - { bbl.edby "\ " * editor format.names.rev * } +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } if$ } - -FUNCTION {format.chief.after} -{ editor empty$ - { "" } - { bbl.chief "\ " * editor format.names.rev * } +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.executor.after} -{ author empty$ - { "" } - { bbl.executor ": " * author format.names.rev * } +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.compiler.after} -{ compiler empty$ - { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } if$ } -FUNCTION {format.title} -{ title empty$ - { "" } - { title } +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } if$ } FUNCTION {format.month} { month empty$ { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} if$ } FUNCTION {format.date} -{ year empty$ +{ year.or.date.to.year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ @@ -992,51 +1317,153 @@ FUNCTION {format.date} if$ } { month empty$ - 'year - { year ". \BibDash " format.month * * } + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } if$ } if$ } -FUNCTION {address.or.location} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{,~ff}" + format.name$ +} + +FUNCTION {fmt.names.three} { - address empty$ - { location } - { address } - if$ + '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 bracketise *} + { ", " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ } -FUNCTION {specialitycode.or.number} +FUNCTION {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{,~ff}" + format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " * bbl.etal bracketise *} + { " " bbl.and " " * * * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} { - specialitycode empty$ - { number } - { specialitycode } + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.first + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } if$ } + +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + FUNCTION {output.address.publisher} { address empty$ { bbl.nnoaddress publisher empty$ - { "~: " * bbl.nopublisher * enclose.square.brackets } - { enclose.square.brackets "~: " * publisher * } + { "~: " * bbl.nopublisher * bracketise } + { bracketise "~: " * publisher * } if$ } { address output new.colon publisher empty$ - { bbl.nopublisher enclose.square.brackets } + { bbl.nopublisher bracketise } { publisher } if$ } @@ -1044,88 +1471,26 @@ FUNCTION {output.address.publisher} output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1154,30 +1519,6 @@ FUNCTION {format.number.series} 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 @@ -1194,38 +1535,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1246,15 +1555,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1317,6 +1617,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1337,78 +1650,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.first 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ - {format.authors.after output - new.semicolon } + {author num.names$ #1 > + { author fmt.names.all output + new.semicolon + } + 'skip$ + if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.all output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1459,7 +1755,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1469,9 +1765,13 @@ FUNCTION {add.media} { duplicate$ empty$ 'skip$ { media empty$ - { " " * bbl.media.text enclose.square.brackets * } - { " " * bbl.media enclose.square.brackets * } - if$ + { type$ "online" = + { " " * bbl.media.online bracketise * } + { " " * bbl.media.text bracketise * } + if$ + } + { " " * bbl.media bracketise * } + if$ } if$ } @@ -1551,14 +1851,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1575,18 +1876,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1604,15 +1908,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1624,22 +1931,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1657,18 +1967,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1685,14 +1998,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1703,22 +2023,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1738,10 +2062,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1758,7 +2084,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1771,6 +2097,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1778,9 +2106,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1795,7 +2123,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1808,13 +2136,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1825,13 +2155,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1842,12 +2175,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka - howpublished enclose.square.brackets output - editor.organization.after + howpublished bracketise output + editor.organization.rest new.sentence new.block output.address.publisher @@ -1866,25 +2201,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1894,13 +2228,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1909,14 +2244,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1929,9 +2264,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1940,13 +2275,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1956,12 +2292,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1970,13 +2305,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1986,12 +2322,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2000,13 +2335,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2016,7 +2352,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2024,7 +2359,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2033,14 +2368,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2065,96 +2400,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2197,48 +2532,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2325,10 +2658,9 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } + } if$ } - FUNCTION {presort}%#1 { author.title.sort @@ -2387,15 +2719,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2418,5 +2742,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2003s.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst index 6b37bab8ee4..7aeeecb8ba1 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,utf8,modern,eprint') +%% gost.dtx (with options: `bst,utf8,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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2008.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,13 +272,6 @@ FUNCTION {or} if$ } - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -309,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -323,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"і"} + { curlanguage "russian" = + {"и"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -604,7 +702,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -618,20 +719,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -640,10 +744,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -652,12 +756,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -665,35 +769,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -702,7 +793,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -711,7 +802,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -720,7 +811,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -731,7 +822,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -743,7 +834,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -755,19 +846,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -789,7 +880,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -805,7 +896,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -821,7 +912,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -829,68 +920,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~ff}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { '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$ - } + { 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -903,145 +1388,57 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.three * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } - if$ -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } + { bbl.compiler "\ " * compiler fmt.names.three * } if$ } -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1055,88 +1452,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1165,30 +1500,6 @@ FUNCTION {format.number.series} 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 @@ -1205,38 +1516,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1257,15 +1536,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1328,6 +1598,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1348,81 +1631,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1473,7 +1736,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1484,7 +1747,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1565,14 +1828,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1589,18 +1853,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1618,15 +1885,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1638,22 +1908,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1671,18 +1944,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1699,14 +1975,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1717,22 +2000,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1752,10 +2039,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1772,7 +2061,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1785,6 +2074,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1792,9 +2083,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1809,7 +2100,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1822,13 +2113,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1839,13 +2132,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1856,12 +2152,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1880,25 +2178,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1908,13 +2205,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1923,14 +2221,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1943,9 +2241,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1954,13 +2252,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1970,12 +2269,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1984,13 +2282,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2000,12 +2299,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2014,13 +2312,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2030,7 +2329,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2038,7 +2336,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2047,14 +2345,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2079,96 +2377,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2211,47 +2509,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - STRINGS { longest.label } INTEGERS { number.label longest.label.width } @@ -2288,15 +2585,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2319,5 +2608,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2008.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst index 33c38ca1c03..087a0d7178a 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,utf8,modern,eprint,long') +%% gost.dtx (with options: `bst,utf8,eprint,long') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2008l.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,13 +272,6 @@ FUNCTION {or} if$ } - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -309,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -323,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"і"} + { curlanguage "russian" = + {"и"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -604,7 +702,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -618,20 +719,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -640,10 +744,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -652,12 +756,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -665,35 +769,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -702,7 +793,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -711,7 +802,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -720,7 +811,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -731,7 +822,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -743,7 +834,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -755,19 +846,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -789,7 +880,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -805,7 +896,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -821,7 +912,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -829,68 +920,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~ff}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { '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$ - } + { 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -903,145 +1388,52 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + { author fmt.names.all } if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.all emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.all * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } + { bbl.compiler "\ " * compiler fmt.names.all * } if$ } -FUNCTION {format.title} -{ title empty$ - { "" } - { title } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } - if$ -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1055,88 +1447,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1165,30 +1495,6 @@ FUNCTION {format.number.series} 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 @@ -1205,38 +1511,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1257,15 +1531,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1328,6 +1593,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1348,69 +1626,48 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ - { format.authors output - new.sentence + { author fmt.names.all output.nonnull + %new.sentence } if$ } -%%<*!long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% {bookauthor num.names$ #4 < -%% {format.bookauthors output -%% new.sentence} -%% 'skip$ -%% if$} -%% if$ -%%} -%%</!long> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} { } - -FUNCTION {bookauthor.after} +FUNCTION {output.author.rest} +{ +} + +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1461,7 +1718,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1472,7 +1729,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1553,14 +1810,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1577,18 +1835,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1606,15 +1867,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1626,22 +1890,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1659,18 +1926,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1687,14 +1957,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1705,22 +1982,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head new.sentence - format.title add.doi add.media "title" output.check + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1740,10 +2021,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1760,7 +2043,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1773,6 +2056,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1780,9 +2065,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1797,7 +2082,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1810,13 +2095,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1827,13 +2114,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1844,12 +2134,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1868,25 +2160,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1896,13 +2187,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1911,14 +2203,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1931,9 +2223,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1942,13 +2234,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1958,12 +2251,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1972,13 +2264,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1988,12 +2281,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2002,13 +2294,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2018,7 +2311,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2026,7 +2318,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2035,14 +2327,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2067,96 +2359,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2199,47 +2491,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - STRINGS { longest.label } INTEGERS { number.label longest.label.width } @@ -2276,15 +2567,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2307,5 +2590,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2008l.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst index 73136bbe492..5a0633e8d19 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,utf8,modern,eprint,longlist,sort') +%% gost.dtx (with options: `bst,utf8,eprint,long,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2008ls.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,23 +272,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -319,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -333,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"і"} + { curlanguage "russian" = + {"и"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -614,7 +712,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -628,20 +729,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -650,10 +754,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -662,12 +766,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -675,35 +779,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -712,7 +803,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -721,7 +812,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -730,7 +821,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -741,7 +832,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -753,7 +844,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -765,19 +856,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -799,7 +890,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -815,7 +906,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -831,7 +922,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -839,68 +930,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~ff}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { '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$ - } + { 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -913,145 +1398,52 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + { author fmt.names.all } if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.all emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.all * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.all * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } + { bbl.compiler "\ " * compiler fmt.names.all * } if$ } -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1065,88 +1457,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1175,30 +1505,6 @@ FUNCTION {format.number.series} 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 @@ -1215,38 +1521,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1267,15 +1541,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1338,6 +1603,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1358,81 +1636,48 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ - {author num.names$ #4 < - {format.authors output - new.sentence} - 'skip$ - if$} + { author fmt.names.all output.nonnull + %new.sentence + } if$ } -%%<*!long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% {bookauthor num.names$ #4 < -%% {format.bookauthors output -%% new.sentence} -%% 'skip$ -%% if$} -%% if$ -%%} -%%</!long> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { - author empty$ - 'skip$ - {author num.names$ #3 > - {format.authors.after output - new.semicolon } - 'skip$ - if$} - if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1483,7 +1728,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1494,7 +1739,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1575,14 +1820,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1599,18 +1845,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1628,15 +1877,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1648,22 +1900,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1681,18 +1936,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1709,14 +1967,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1727,22 +1992,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1762,10 +2031,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1782,7 +2053,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1795,6 +2066,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1802,9 +2075,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1819,7 +2092,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1832,13 +2105,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1849,13 +2124,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1866,12 +2144,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1890,25 +2170,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1918,13 +2197,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1933,14 +2213,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1953,9 +2233,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1964,13 +2244,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1980,12 +2261,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1994,13 +2274,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2010,12 +2291,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2024,13 +2304,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2040,7 +2321,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2048,7 +2328,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2057,14 +2337,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2089,96 +2369,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2221,48 +2501,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2349,10 +2627,9 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } + } if$ } - FUNCTION {presort}%#1 { author.title.sort @@ -2411,15 +2688,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2442,5 +2711,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2008ls.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst index 296c8d812ac..1e451663086 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,utf8,modern,natbib,eprint') +%% gost.dtx (with options: `bst,utf8,natbib,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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2008n.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. %%------------------------------------------------------------------- @@ -37,7 +29,7 @@ %% The form of the \bibitem entries is %% \bibitem[Jones et al.(1990)]{key}... %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... -%% where the label part (in brackets) consists of the author names, +%% where the label part [in brackets] consists of the author names, %% as they should appear in the citation, with the year in parentheses following. %% There must be no space before the opening parenthesis! %% A full list of authors may also follow the year. @@ -47,11 +39,11 @@ %% The \cite command functions as follows: %% \citet{key} => Jones et al. (1990) %% \citet*{key} => Jones, Baker, and Smith (1990) -%% \cite{key} => (Jones et al., 1990) -%% \cite*{key} => (Jones, Baker, and Smith, 1990) -%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) -%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) -%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) +%% \cite{key} => (Jones et al., 1990) +%% \cite*{key} => (Jones, Baker, and Smith, 1990) +%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) +%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) +%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) %% \citeauthor{key} => Jones et al. %% \citeauthor*{key} => Jones, Baker, and Smith %% \citeyear{key} => 1990 @@ -93,15 +85,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -126,8 +118,23 @@ ENTRY {} { label extra.label sort.label short.list } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -140,11 +147,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -169,7 +183,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -203,7 +217,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -282,23 +298,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -345,9 +344,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -359,7 +370,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} % { "\bbledby{}" } +FUNCTION {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} -FUNCTION {bbl.and} % { "\bbland{}" } +FUNCTION {bbl.and} { curlanguage "english" = - {"and"} + {"and"} { curlanguage "german" = { "und" } { curlanguage "ukrainian" = {"і"} { curlanguage "russian" = {"и"} - {"language is not defined: " language "and" * * warning$ "and"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -654,7 +738,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -668,20 +755,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -690,10 +780,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -702,12 +792,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -715,35 +805,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -752,7 +829,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -761,7 +838,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -770,7 +847,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -781,7 +858,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -793,7 +870,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -805,19 +882,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -839,7 +916,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -855,7 +932,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -871,7 +948,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -879,32 +956,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~ff}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { '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 {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := { namesleft #0 > } { s nameptr - "{vv~}{ll}{~jj}{~ff}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -917,54 +1424,76 @@ FUNCTION {format.names} while$ } -FUNCTION {format.lab.names} -{ 's := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - %{ pop$ " et~al." * } - { pop$ " " bbl.etal * * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * s #2 "{vv~}{ll}" format.name$ * } - { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } +} + +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + +FUNCTION {fmt.names.brief} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + { s nameptr "{vv~}{ll}" 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 * } + { + numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " bbl.etal * * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -977,17 +1506,29 @@ FUNCTION {format.names.rev} while$ } -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } +FUNCTION {format.names.key} +{ 's := + set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " " bbl.etal * * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " " bbl.etal * * } + { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } if$ } -FUNCTION {format.authors} -{ author empty$ +FUNCTION {format.key} +{ empty$ + { key field.or.null } { "" } - { author format.names emphasize} if$ } @@ -998,10 +1539,9 @@ FUNCTION {author.key.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } - FUNCTION {author.editor.key.label} { author empty$ { editor empty$ @@ -1011,10 +1551,10 @@ FUNCTION {author.editor.key.label} { "{}" key * } %% Bug in bibtex8 ?? if$ } - { editor format.lab.names } + { editor format.names.key } if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1029,7 +1569,7 @@ FUNCTION {author.key.organization.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1044,14 +1584,12 @@ FUNCTION {editor.key.organization.label} 'key if$ } - { editor format.lab.names } + { editor format.names.key } if$ } -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or +FUNCTION {calc.short.list} +{ type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label @@ -1067,11 +1605,11 @@ FUNCTION {calc.short.authors} } FUNCTION {calc.label} -{ calc.short.authors +{ calc.short.list short.list "(" * - year duplicate$ empty$ + year.or.date.to.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1080,138 +1618,36 @@ FUNCTION {calc.label} 'label := } - -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.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month +FUNCTION {calc.long.list} %% called 1 time only +{ type$ "book" = type$ "inbook" = or + %'format.author.editor.brief + { author empty$ + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ } + { author fmt.names.brief } if$ } - { month empty$ - 'year - { year ". \BibDash " format.month * * } + { type$ "proceedings" = + %'format.editor.brief + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ + } + %'format.author.brief + { author empty$ + { "" } + { author fmt.names.brief } + if$ + } if$ } if$ - extra.label * % new in v.1.2 } -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1225,173 +1661,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - -FUNCTION {format.full.names} -{'s := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - curlanguage "english" = - and - { "," * } - 'skip$ - if$ - t "others" = - %t "~others" = - %or - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * t * } - { " " bbl.and " " * * * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ -%% language empty$ -%% { "english" 'curlanguage := } -%% {language 'curlanguage := } -%% if$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid 'curlanguage := } - if$ +{ + set.language + newline$ + "\bibitem" write$ + label extra.label * ")" * + calc.long.list * + bracketise write$ + cite$ bracify write$ + newline$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ "" before.all 'output.state := } + %% author.key.label %% year parenthesify * %% "; lbl:" label * * -%% "; mfn:" make.full.names * * - -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$ -} +%% "; mfn:" calc.long.list * * FUNCTION {format.bvolume} { volume empty$ @@ -1399,7 +1688,7 @@ FUNCTION {format.bvolume} { bbl.vvol volume tie.connect series empty$ 'skip$ - { bbl.of space.word * series emphasize * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1428,30 +1717,6 @@ FUNCTION {format.number.series} 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 @@ -1468,38 +1733,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1520,15 +1753,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1591,6 +1815,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1611,81 +1848,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1736,7 +1953,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1747,7 +1964,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1828,15 +2045,16 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before + output.author.head + %new.sentence author format.key output - format.title add.media "title" output.check + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1853,19 +2071,22 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1883,16 +2104,19 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1904,23 +2128,26 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1938,19 +2165,22 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1968,14 +2198,21 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1986,23 +2223,27 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -2022,11 +2263,13 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ author format.key output new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -2043,7 +2286,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2056,6 +2299,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -2063,9 +2308,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull author format.key output new.semicolon holder output.nonnull @@ -2081,7 +2326,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -2094,14 +2339,16 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k author format.key output title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2112,14 +2359,17 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle "title" output.check + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -2130,13 +2380,15 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -2155,26 +2407,25 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2184,14 +2435,15 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -2200,14 +2452,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2220,10 +2472,10 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -2232,13 +2484,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2248,13 +2501,12 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -2263,13 +2515,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2279,13 +2532,12 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2294,13 +2546,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2310,7 +2563,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2318,7 +2570,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output new.colon format.techreport.type output @@ -2328,14 +2580,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2360,96 +2612,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2492,49 +2744,47 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ } - INTEGERS { seq.num } FUNCTION {init.seq} @@ -2608,7 +2858,7 @@ FUNCTION {reverse.pass} { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := - label extra.label * 'label := + %%%label extra.label * 'label := } REVERSE {reverse.pass} @@ -2631,15 +2881,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2663,5 +2905,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2008n.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst index a0fd79862f6..e5eb726239c 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,utf8,modern,natbib,eprint,sort') +%% gost.dtx (with options: `bst,utf8,natbib,eprint,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2008ns.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. %%------------------------------------------------------------------- @@ -37,7 +29,7 @@ %% The form of the \bibitem entries is %% \bibitem[Jones et al.(1990)]{key}... %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... -%% where the label part (in brackets) consists of the author names, +%% where the label part [in brackets] consists of the author names, %% as they should appear in the citation, with the year in parentheses following. %% There must be no space before the opening parenthesis! %% A full list of authors may also follow the year. @@ -47,11 +39,11 @@ %% The \cite command functions as follows: %% \citet{key} => Jones et al. (1990) %% \citet*{key} => Jones, Baker, and Smith (1990) -%% \cite{key} => (Jones et al., 1990) -%% \cite*{key} => (Jones, Baker, and Smith, 1990) -%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) -%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) -%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) +%% \cite{key} => (Jones et al., 1990) +%% \cite*{key} => (Jones, Baker, and Smith, 1990) +%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) +%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) +%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) %% \citeauthor{key} => Jones et al. %% \citeauthor*{key} => Jones, Baker, and Smith %% \citeyear{key} => 1990 @@ -93,15 +85,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -126,8 +118,23 @@ ENTRY {} { label extra.label sort.label short.list } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -140,11 +147,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -169,7 +183,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -203,7 +217,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -282,23 +298,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -345,9 +344,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -359,7 +370,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +INTEGERS { multiresult } -FUNCTION {bbl.edby} % { "\bbledby{}" } +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} -FUNCTION {bbl.and} % { "\bbland{}" } +FUNCTION {bbl.and} { curlanguage "english" = - {"and"} + {"and"} { curlanguage "german" = { "und" } { curlanguage "ukrainian" = {"і"} { curlanguage "russian" = {"и"} - {"language is not defined: " language "and" * * warning$ "and"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -654,7 +738,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -668,20 +755,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -690,10 +780,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -702,12 +792,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -715,35 +805,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -752,7 +829,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -761,7 +838,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -770,7 +847,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -781,7 +858,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -793,7 +870,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -805,19 +882,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -839,7 +916,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -855,7 +932,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -871,7 +948,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -879,32 +956,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~ff}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { '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 {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := { namesleft #0 > } { s nameptr - "{vv~}{ll}{~jj}{~ff}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -917,54 +1424,76 @@ FUNCTION {format.names} while$ } -FUNCTION {format.lab.names} -{ 's := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - %{ pop$ " et~al." * } - { pop$ " " bbl.etal * * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * s #2 "{vv~}{ll}" format.name$ * } - { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } +} + +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } + { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } + { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +FUNCTION {format.executor.rest} +{ author empty$ + { "" } + { bbl.executor ": " * author fmt.names.three * } + if$ +} + +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } + { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + +FUNCTION {fmt.names.brief} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + { s nameptr "{vv~}{ll}" 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 * } + { + numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " bbl.etal * * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -977,17 +1506,29 @@ FUNCTION {format.names.rev} while$ } -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } +FUNCTION {format.names.key} +{ 's := + set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " " bbl.etal * * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " " bbl.etal * * } + { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } if$ } -FUNCTION {format.authors} -{ author empty$ +FUNCTION {format.key} +{ empty$ + { key field.or.null } { "" } - { author format.names emphasize} if$ } @@ -998,10 +1539,9 @@ FUNCTION {author.key.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } - FUNCTION {author.editor.key.label} { author empty$ { editor empty$ @@ -1011,10 +1551,10 @@ FUNCTION {author.editor.key.label} { "{}" key * } %% Bug in bibtex8 ?? if$ } - { editor format.lab.names } + { editor format.names.key } if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1029,7 +1569,7 @@ FUNCTION {author.key.organization.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -1044,14 +1584,12 @@ FUNCTION {editor.key.organization.label} 'key if$ } - { editor format.lab.names } + { editor format.names.key } if$ } -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or +FUNCTION {calc.short.list} +{ type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label @@ -1067,11 +1605,11 @@ FUNCTION {calc.short.authors} } FUNCTION {calc.label} -{ calc.short.authors +{ calc.short.list short.list "(" * - year duplicate$ empty$ + year.or.date.to.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1080,138 +1618,36 @@ FUNCTION {calc.label} 'label := } - -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.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month +FUNCTION {calc.long.list} %% called 1 time only +{ type$ "book" = type$ "inbook" = or + %'format.author.editor.brief + { author empty$ + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ } + { author fmt.names.brief } if$ } - { month empty$ - 'year - { year ". \BibDash " format.month * * } + { type$ "proceedings" = + %'format.editor.brief + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ + } + %'format.author.brief + { author empty$ + { "" } + { author fmt.names.brief } + if$ + } if$ } if$ - extra.label * % new in v.1.2 -} - -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ } -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1225,173 +1661,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - -FUNCTION {format.full.names} -{'s := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - curlanguage "english" = - and - { "," * } - 'skip$ - if$ - t "others" = - %t "~others" = - %or - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * t * } - { " " bbl.and " " * * * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ -%% language empty$ -%% { "english" 'curlanguage := } -%% {language 'curlanguage := } -%% if$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid 'curlanguage := } - if$ +{ + set.language + newline$ + "\bibitem" write$ + label extra.label * ")" * + calc.long.list * + bracketise write$ + cite$ bracify write$ + newline$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ "" before.all 'output.state := } + %% author.key.label %% year parenthesify * %% "; lbl:" label * * -%% "; mfn:" make.full.names * * - -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$ -} +%% "; mfn:" calc.long.list * * FUNCTION {format.bvolume} { volume empty$ @@ -1399,7 +1688,7 @@ FUNCTION {format.bvolume} { bbl.vvol volume tie.connect series empty$ 'skip$ - { bbl.of space.word * series emphasize * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1428,30 +1717,6 @@ FUNCTION {format.number.series} 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 @@ -1468,38 +1733,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1520,15 +1753,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1591,6 +1815,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1611,81 +1848,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1736,7 +1953,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1747,7 +1964,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1828,15 +2045,16 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before + output.author.head + %new.sentence author format.key output - format.title add.media "title" output.check + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1853,19 +2071,22 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1883,16 +2104,19 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1904,23 +2128,26 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1938,19 +2165,22 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1968,14 +2198,21 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1986,23 +2223,27 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -2022,11 +2263,13 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ author format.key output new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -2043,7 +2286,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2056,6 +2299,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -2063,9 +2308,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull author format.key output new.semicolon holder output.nonnull @@ -2081,7 +2326,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -2094,14 +2339,16 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k author format.key output title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -2112,14 +2359,17 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before + output.author.head + new.sentence author format.key output - format.btitle "title" output.check + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -2130,13 +2380,15 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -2155,26 +2407,25 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2184,14 +2435,15 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -2200,14 +2452,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2220,10 +2472,10 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -2232,13 +2484,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2248,13 +2501,12 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -2263,13 +2515,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2279,13 +2532,12 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2294,13 +2546,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2310,7 +2563,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2318,7 +2570,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check title format.key output new.colon format.techreport.type output @@ -2328,14 +2580,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2360,96 +2612,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2492,48 +2744,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2615,40 +2865,7 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } - if$ -} -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } + } if$ } @@ -2668,7 +2885,6 @@ FUNCTION {editor.organization.sort} { editor sort.format.names } if$ } - FUNCTION {presort}%#2 { calc.label label sortify @@ -2742,7 +2958,7 @@ FUNCTION {reverse.pass} { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := - label extra.label * 'label := + %%%label extra.label * 'label := } REVERSE {reverse.pass} @@ -2765,15 +2981,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2797,5 +3005,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2008ns.bst'. diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst index 33ccfa26718..bc48ca87210 100644 --- a/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst +++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst @@ -4,30 +4,22 @@ %% %% The original source files were: %% -%% gost.dtx (with options: `bst,utf8,modern,eprint,sort') +%% gost.dtx (with options: `bst,utf8,eprint,sort') %% -%% 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. +%% IMPORTANT NOTICE: %% -%% This file has the LPPL maintenance status "maintained". -%% Maintained by Igor A. Kotelnikov. +%% For the copyright see the source file. %% -%% Current version: 1.2j, 2017.01.12 +%% Any modified versions of this file must be renamed +%% with new filenames distinct from ugost2008s.bst. %% -%% Please, send bug report via e-mail: -%% kia999 at mail dot ru <Igor Kotelnikov> -%% or -%% polyama at yahoo dot com <Maksym Polyakov> +%% For distribution of the original source see the terms +%% for copying and modification in the file gost.dtx. %% - - - -%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -67,15 +59,15 @@ ENTRY language langid % new in v1.2c booklanguage - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -100,8 +92,23 @@ ENTRY {} { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j FUNCTION {init.state.consts} { #0 'before.all := @@ -114,11 +121,18 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -143,7 +157,7 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = @@ -177,7 +191,9 @@ FUNCTION {output} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -256,23 +272,6 @@ FUNCTION {or} if$ } -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - FUNCTION {new.block.checka} { empty$ 'skip$ @@ -319,9 +318,21 @@ FUNCTION {field.or.null} if$ } +%% +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {spaces.around} +{ " " swap$ * " " * } + FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -333,7 +344,7 @@ FUNCTION {bracify} if$ } -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets} if$ } -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets} if$ } -FUNCTION {space.word} -{ " " swap$ * " " * } +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {tie.connect} + {"~" swap$ * * + } -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +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$ +} + +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 {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = - {"Під ред."} + {"під ред."} { curlanguage "russian" = - {"Под ред."} + {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr} {"{Укл.}"} { curlanguage "russian" = {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} if$} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = {"{вид.}"} { curlanguage "russian" = @@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } if$} if$} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { 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"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { 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."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} if$} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} if$} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" } { "{із}" } { curlanguage "russian" = { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} if$} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" } {"{та~ін.}"} { curlanguage "russian" = {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} if$} +FUNCTION {bbl.and} +{ curlanguage "english" = + {"and"} + { curlanguage "german" = + { "und" } + { curlanguage "ukrainian" = + {"і"} + { curlanguage "russian" = + {"и"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} + if$} + if$} + if$} +if$} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} if$} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { 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."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { 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."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { 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."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { 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."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} @@ -614,7 +712,10 @@ FUNCTION {bbl.url} { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -628,20 +729,23 @@ FUNCTION {bbl.urldate} { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = { "Bericht" } { curlanguage "russian" = { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -650,10 +754,10 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = - { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } + { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -662,12 +766,12 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = - { "{дис.\ \ldots\ канд. наук}" } + { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -675,35 +779,22 @@ if$} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } - { type } - if$} - if$} -if$} - FUNCTION {bbl.nnoaddress} { curlanguage "english" = { "S.\ l." } { curlanguage "russian" = { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -712,7 +803,7 @@ FUNCTION {bbl.nopublisher} { "s.\ n." } { curlanguage "russian" = { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -721,7 +812,7 @@ FUNCTION {bbl.nnopublisher} { "S.\ n." } { curlanguage "russian" = { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -730,7 +821,7 @@ FUNCTION {bbl.media.text} { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -741,7 +832,7 @@ FUNCTION {bbl.media.eresource} { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -753,7 +844,7 @@ FUNCTION {bbl.media.online} { "{Электронный ресурс онлайн}" } { curlanguage "ukrainian" = { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -765,19 +856,19 @@ FUNCTION {bbl.chief} { "{рук.}" } { curlanguage "ukrainian" = { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -799,7 +890,7 @@ FUNCTION {bbl.req} { "ang." } { curlanguage "russian" = { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -815,7 +906,7 @@ FUNCTION {bbl.publ} { "ausg." } { curlanguage "russian" = { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -831,7 +922,7 @@ FUNCTION {bbl.priority} { "Prioritat" } { curlanguage "russian" = { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -839,68 +930,462 @@ FUNCTION {bbl.priority} if$ } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = + {"Січ."} % Січень + { curlanguage "russian" = + { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = + {"Лют."} % Лютий + { curlanguage "russian" = + { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = + {"Бер."} % Березень + { curlanguage "russian" = + { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} + +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = + {"Квіт."} % квітень + { curlanguage "russian" = + { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = + {"Трав."} % травень + { curlanguage "russian" = + { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = + {"Чер."} % червень + { curlanguage "russian" = + { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = + {"Липень"} %Липень + { curlanguage "russian" = + { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = + {"Серпень"} % Серпень + { curlanguage "russian" = + { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = + {"Вер."} % вересень + { curlanguage "russian" = + { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = + {"Жов."} % жовтень + { curlanguage "russian" = + { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = + {"Лис."} % листопад + { curlanguage "russian" = + { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = + {"Груд."} % грудень + { curlanguage "russian" = + { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = + {"ArXiv"} + { curlanguage "russian" = + { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = + {"JSTOR"} + { curlanguage "russian" = + { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = + {"PubMed"} + { curlanguage "russian" = + { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = + {"Google Книги"} + { curlanguage "russian" = + { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = + {"Handle.Net"} + { curlanguage "russian" = + { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { + date text.length$ #3 > + { + date #1 #4 substring$ 'y := + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.month} +{ + date empty$ + { date } + { + date text.length$ #6 > + { + date #6 #2 substring$ 'm := + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {date.to.day} +{ + date empty$ + { date } + { + date text.length$ #10 = + { + date #9 #2 substring$ 'd := + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +FUNCTION {year.or.date.to.year} +{ + year empty$ + { + date.to.year + } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +FUNCTION {format.date} +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } +FUNCTION {fmt.names.first} +{ #1 + "{vv~}{ll}{~jj}{~ff}" + format.name$ +} -FUNCTION {format.names} +FUNCTION {fmt.names.three} { '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$ - } + { 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$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } while$ } - -FUNCTION {format.names.rev} -{ - 's := +FUNCTION {fmt.names.all} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := + "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or { " " * bbl.etal * } - { ", " * t * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -913,145 +1398,57 @@ FUNCTION {format.names.rev} 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} +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ + {author num.names$ #4 < + { + author fmt.names.three + } + { "" } %%%'skip$ + if$} if$ } -FUNCTION {format.bookauthors.after} +FUNCTION {format.bookauthors.rest} { bookauthor empty$ { "" } - { bookauthor format.names.rev}% always cuts to 4 persons + { bookauthor fmt.names.three emphasize } if$ } -FUNCTION {format.editors.after} +FUNCTION {format.editors.rest} { editor empty$ { "" } - { bbl.edby "\ " * editor format.names.rev * } + { bbl.edby "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.chief.after} +FUNCTION {format.chief.rest} { editor empty$ { "" } - { bbl.chief "\ " * editor format.names.rev * } + { bbl.chief "\ " * editor fmt.names.three * } if$ } -FUNCTION {format.executor.after} +FUNCTION {format.executor.rest} { author empty$ { "" } - { bbl.executor ": " * author format.names.rev * } + { bbl.executor ": " * author fmt.names.three * } if$ } -FUNCTION {format.compiler.after} +FUNCTION {format.compiler.rest} { compiler empty$ { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title } - if$ -} - -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = - { "Янв." } - { month "Feb." = - { "Фев." } - { month "Mar." = - { "Март" } - { month "Apr." = - { "Апр." } - { month "May" = - { "Май" } - { month "Jun." = - { "Июнь" } - { month "Jul." = - { "Июль" } - { month "Aug." = - { "Авг." } - { month "Sep." = - { "Сент." } - { month "Oct." = - { "Окт." } - { month "Nov." = - { "Нояб." } - { month "Dec." = - { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month - } - if$ - } - { month empty$ - 'year - { year ". \BibDash " format.month * * } - if$ - } + { bbl.compiler "\ " * compiler fmt.names.three * } if$ } -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ -} - -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -1065,88 +1462,26 @@ FUNCTION {output.address.publisher} if$ publisher output } - - FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid '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 * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -1175,30 +1510,6 @@ FUNCTION {format.number.series} 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 @@ -1215,38 +1526,6 @@ FUNCTION {format.edition} 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} { eid empty$ { @@ -1267,15 +1546,6 @@ FUNCTION {format.pages} if$ } -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -1338,6 +1608,19 @@ FUNCTION {empty.misc.check} if$ } +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } + { type } + if$} + if$} +if$} + %%<!utf8> bbl.thesis.type "t" change.case$ %%<utf8> bbl.thesis.type FUNCTION {format.thesis.type} @@ -1358,81 +1641,61 @@ FUNCTION {format.techreport.type} if$ } -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ {author num.names$ #4 < - {format.authors output - new.sentence} + { + author fmt.names.three 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> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -FUNCTION {author.after} +FUNCTION {output.author.rest} { author empty$ 'skip$ {author num.names$ #3 > - {format.authors.after output - new.semicolon } + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ } -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { + bookauthor fmt.names.three output + new.semicolon + } if$ } -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -1483,7 +1746,7 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ @@ -1494,7 +1757,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -1575,14 +1838,15 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before - format.title add.media "title" output.check + output.author.head + %new.sentence + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -1599,18 +1863,21 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1628,15 +1895,18 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before - format.title add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1648,22 +1918,25 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before - format.btitle add.doi add.media "title" output.check + output.author.head + new.sentence + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -1681,18 +1954,21 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -1709,14 +1985,21 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -1727,22 +2010,26 @@ FUNCTION {proceedings} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check 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 @@ -1762,10 +2049,12 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -1782,7 +2071,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1795,6 +2084,8 @@ FUNCTION {patent} { output.bibitem title add.media output.nonnull + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -1802,9 +2093,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull new.semicolon holder output.nonnull new.semicolon @@ -1819,7 +2110,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -1832,13 +2123,15 @@ FUNCTION {patent} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -1849,13 +2142,16 @@ FUNCTION {misc} FUNCTION {unpublished} { output.bibitem - author.before - format.btitle "title" output.check + output.author.head + new.sentence + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -1866,12 +2162,14 @@ FUNCTION {unpublished} FUNCTION {online} { output.bibitem - format.authors output + format.author output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k howpublished new.dblslash.checka howpublished output - editor.organization.after + editor.organization.rest new.sentence new.block output.address.publisher @@ -1890,25 +2188,24 @@ FUNCTION {webpage} {online} FUNCTION {electronic} {online} FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon - %%type "type" output.check bbl.phdthesis format.thesis.type output.nonnull new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1918,13 +2215,14 @@ FUNCTION {thesis} format.annote output fin.entry } - %% format.techrep.type.number output.nonnull %% format.url output FUNCTION {report} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon type "type" output.check new.colon @@ -1933,14 +2231,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -1953,9 +2251,9 @@ FUNCTION {report} FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -1964,13 +2262,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -1980,12 +2279,11 @@ FUNCTION {phdthesis} format.annote output fin.entry } - FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -1994,13 +2292,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2010,12 +2309,11 @@ FUNCTION {mastersthesis} format.annote output fin.entry } - FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -2024,13 +2322,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -2040,7 +2339,6 @@ FUNCTION {docthesis} format.annote output fin.entry } - FUNCTION {conference} { inproceedings } %% format.url output @@ -2048,7 +2346,7 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon format.techreport.type output new.colon @@ -2057,14 +2355,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -2089,96 +2387,96 @@ MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} MACRO {cjp} {"Czech. J. Phys."} MACRO {el} {"Europhys. Lett."} @@ -2221,48 +2519,46 @@ MACRO {sst} {"Semicond. Sci. Technol."} MACRO {suplatt} {"Superlatt. Microstr."} MACRO {sust} {"Supercond. Sci. Technol."} MACRO {znat} {"Z. Naturforsch."} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +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 {nl} {"Nano Lett."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} READ - FUNCTION {sortify} { purify$ } - %% ===================================== %% This version from old Gost package %%<*!natbib> @@ -2349,10 +2645,9 @@ FUNCTION {author.title.sort} {author sort.format.names } {title sort.format.title} if$ - } + } if$ } - FUNCTION {presort}%#1 { author.title.sort @@ -2411,15 +2706,7 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ @@ -2442,5 +2729,6 @@ FUNCTION {end.bib} EXECUTE {end.bib} +\endinput %% %% End of file `ugost2008s.bst'. diff --git a/Master/texmf-dist/doc/bibtex/gost/README b/Master/texmf-dist/doc/bibtex/gost/README new file mode 100644 index 00000000000..c3d90383353 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/README @@ -0,0 +1,28 @@ +------------------------------------------------------------------- +GOST is a bundle of BibTEX styles to format references according to +the State Standards on information, librarianship and publishing +(GOST) issued by The Russian Federation and Interstate Committee +of former USSR States. + +Current version is 1.2k, 2020.12.25. + +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt + +E-mail: kia999@mail.ru +------------------------------------------------------------------- + +## Version history + +### Version 1.2k (2020.12.25) +1. All stuff is now generated from `gost.dtx`. + +2. Limited support of the `date` field added. + +3. Formatting of `doi` field updated: `http://dx.doi.org` changed +to `https://doi.org`. + +4. Documentation and examples update (thanks to Leonid Sinev). + +5. Formatting of @inproceedings and @proceedings improved. + diff --git a/Master/texmf-dist/doc/bibtex/gost/README.md b/Master/texmf-dist/doc/bibtex/gost/README.md index 6a70110f211..3c94a3c806b 100644 --- a/Master/texmf-dist/doc/bibtex/gost/README.md +++ b/Master/texmf-dist/doc/bibtex/gost/README.md @@ -1,315 +1,317 @@ -GOST is a bundle of BibTeX styles designed to match the State Standards (GOST) -on information, librarianship and publishing issued by The Russian Federation -and Interstate Committee of former USSR States. - -It 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. - -The System of Standards includes: -GOST 7.0.5-2008 Bibliographic reference. - General requirements and rules of making. +------------------------------------------------------------------- +GOST is a bundle of BibTEX styles to format references according to +the State Standards on information, librarianship and publishing +(GOST) issued by The Russian Federation and Interstate Committee +of former USSR States. + +Current version is 1.2k, 2020.12.25. + +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt + +E-mail: kia999@mail.ru +------------------------------------------------------------------- +The System of State Standards includes: +``` +GOST 7.80 -2000 Bibliographic record. + Heading. General requirements and rules. +GOST 7.83 -2001 Electronic editions. Basic types and imprint. GOST 7.1 -2003 Bibliographic record. Bibliographic description. General requirements and rules. -GOST 7.80 -2000 Bibliographic record. - Heading. General requirements and rules. GOST 7.11 -2004 Bibliographic description and references. - Rules for the abbreviation of words and word combinations - in foreign European languages. -GOST 7.83 -2001 Electronic editions. Basic types and imprint. + Rules for the abbreviation of words and word + combinations in foreign European languages. +GOST 7.0.5-2008 Bibliographic reference. + General requirements and rules of making. +``` Etc. -GOST comprises 16 BibTeX styles to format bibliography in English, Russian -and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both 8-bit -and Unicode (UTF-8) versions of each BibTeX style, in each case offering -a choice of sorted and unsorted. Further, 2 more styles, |gost780| and -|gost780s| styles (not conforming to effective standards) are retained -for backwards compatibility. - -All BibTeX styles are derived from same master file |gost.dtx| by applying -different set of options as shown in the table below. - ------------------------------------------------------------------------- - Style | utf8 | strict | modern | eprint | long | sort | natbib ------------------------------------------------------------------------- - gost780 | | | | | | | - gost780s | | | | | | + | ------------------------------------------------------------------------- - gost2003 | | + | | + | | | - gost2003s | | + | | + | | + | - gost2008 | | | + | + | | | - gost2008n | | | + | + | | | + - gost2008l | | | + | + | + | | - gost2008s | | | + | + | | + | - gost2008ns | | | + | + | | + | + - gost2008ls | | | + | + | + | + | ------------------------------------------------------------------------- - ugost2003 | + | + | | + | | | - ugost2003s | + | + | | + | | + | - ugost2008 | + | | + | + | | | - ugost2008n | + | | + | + | | | + - ugost2008l | + | | + | + | + | | - ugost2008s | + | | + | + | | + | - ugost2008ns | + | | + | + | | + | + - ugost2008ls | + | | + | + | + | + | ------------------------------------------------------------------------- - Style | utf8 | strict | modern | eprint | long | sort | natbib ------------------------------------------------------------------------- - -|Gost2008| style is recommended for most applications. It corresponds to the +Currently, GOST contains 16 BibTeX styles to format bibliography in English, +Russian and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both +8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case +offering a choice of sorted and unsorted. + +All styles in the GOST bundle are derived from single master file +`gost.dtx` by applying different set of options as shown in the table below. + + Style | utf8 | strict | eprint | long | sort | natbib +:--------------|:----:|:------:|:------:|:----:|:----:|:------: + gost2003 | | + | + | | | + gost2003s | | + | + | | + | + gost2008 | | | + | | | + gost2008n | | | + | | | + + gost2008l | | | + | + | | + gost2008s | | | + | | + | + gost2008ns | | | + | | + | + + gost2008ls | | | + | + | + | + ugost2003 | + | + | + | | | + ugost2003s | + | + | + | | + | + ugost2008 | + | | + | | | + ugost2008n | + | | + | | | + + ugost2008l | + | | + | + | | + ugost2008s | + | | + | | + | + ugost2008ns | + | | + | | + | + + ugost2008ls | + | | + | + | + | + **Style** |**utf8**|**strict**|**eprint**|**long**|**sort**|**natbib** + +`Gost2008` style is recommended for most applications. It corresponds to the currently effective Standard 7.0.5-2008. Librarians should use the style -|gost2003| instead of |gost2008| to compile a library catalog to meet the +`gost2003` instead of `gost2008` to compile a library catalog to meet the Standard 7.1-2003. Use of other styles is best explained through the meaning of options used to compile those styles from the master source. -Two styles, |gost780| and |gost780s|, generated without |modern| and -|strict| options, are retained for backward compatibility. They do not -conform the Standards 7.0.5-2008 and 7.1-2003 cited above. - -The |strict| option provides conformance to the Standard 7.1-2003. The -styles compiled with that option bear the name |gost2003| with possible -suffixes |s|, |l|, |n| as explained below. These styles are intended +The `strict` option provides conformance to the Standard 7.1-2003. The +bibstyles compiled with that option bear the name `gost2003` with possible +suffixes `s`, `l`, `n` as explained below. These styles are intended primarily for the librarians who compose a library catalog. -The |modern| option meets the Standard 7.0.5-2008 which can be thought -off as a relaxed version of the Standard 7.1-2003. The styles compiled with -that option bear the name |gost2008| with possible suffixes |s|, |l|, |n|. -The |strict| option has precedence over |modern| so that a style compiled -with both options will resemble mainly the |gost2003| style rather than -|gost2008|. +The bibstyles compiled without `strict` option meets the Standard 7.0.5-2008 +which can be thought off as a relaxed version of the Standards 7.1-2003. These +bibstyles bear the name `gost2008` with possible suffixes `s`, `l`, `n`. If the number of authors exceeds 4, modern styles cut the list of authors -to at most 4 persons as prescibed by the Standards. The option -|long| overrides this rule to provide backward compatibility with the -package disser by Stanislab Kruchinin. Two styles, |gost2008l| and -|gost2008ls|, compiled with the option |long| mimic behavior of the styles -|gost705| and |gost705s| from the disser package. Major -effect of the |long| option is that the list of authors always +to at most 4 persons as prescibed by the Standards. Option +`long` overrides this rule to provide backward compatibility with the +package disser by Stanislab Kruchinin. Two styles, `gost2008l` and +`gost2008ls`, compiled with the option `long` mimic behavior of the styles +`gost705` and `gost705s` from the disser package. Major +effect of the `long` option is that the list of authors always precedes book or article title no matter how long is it. -Modern styles compiled without |long| place long list of authors behind -the title. The names of styles compiled with the option |long| has the -suffix |l|. Recall that those styles do not conform effective Standards and +Modern styles compiled without `long` place long list of authors behind +the title. The names of styles compiled with the option `long` has the +suffix `l`. Recall that those styles do not conform effective Standards and their use is discouraged. -The |eprint| option enables formatting electronic publications. In particular, -it enables |eprint|, |eprinttype|, |eprintclass|, and |doi| fields for a -bibliographic entry. The styles, generated without the |eprint| option, -just ignore these fields. Starting from the version 1.2 of the GOST package, -all modern styles are compiled with this option included, and therefore the -suffix |e| which designated this option in earlier versions is not appended -to the name of style any more. +The `eprint` option enables formatting electronic publications. In particular, +it enables `eprint`, `eprinttype`, `eprintclass`, and `doi` fields for a +bibliographic entry. The styles generated without the `eprint` option, +ignore the these fields. Starting from the +version 1.2 of the GOST package, all modern styles are compiled with this +option included, and the suffix `e` which designated +this option in earlier versions is not appended to the name of style +any more. -The |natbib| option provides compatibility with the |natbib| package. The names -of styles compiled with the option |natbib| bear the suffix |n|. Currently -4 styles with that option are available for public use. +The `natbib` option provides compatibility with the `natbib` package. The names +of styles compiled with the option `natbib` bear the suffix `n`. Currently +4 styles with that option are available for beta testing. -The |sort| option enables sorting bibliographic references by author names -and titles of references. The names of styles compiled with the option |sort| -bear the suffix |s|. Sorting does not work as expected for databases in -unicode encoding (see below). - -Finally, the |utf8| option produces bibliographic styles in unicode rather -that in 8-bit encoding. Names of those styles bear the prefix |u|. +The `sort` option enables sorting bibliographic references by author names +and references titles. The names of styles compiled with the option `sort` +bear the suffix `s`. +Finally, the `utf8` option produces bibliographic styles in unicode rather +that in 8-bit encoding. Names of those styles bear the prefix `u`. Beyond bibliographic style, GOST bundle contains CS files (codepage and sorting order). ----------------------------------------------------------------- - Encoding | CSF Sorting order ----------------------------------------------------------------- - cp866 | ruscii.csf Cyrillic first, Latin - cp1251 | cp1251.csf Cyrillic first, Latin - koi8-u | koi8u.csf Cyrillic first, Latin - utf8 | utf8cyrillic.csf Cyrillic first, Latin ----------------------------------------------------------------- +Encoding | CSF |Sorting order +-----------------|----------------------|----------------------- + cp866 | ruscii.csf |Cyrillic first, Latin + cp1251 | cp1251.csf |Cyrillic first, Latin + koi8-u | koi8u.csf |Cyrillic first, Latin + utf8 | utf8cyrillic.csf |Cyrillic first, Latin In addition, BibTeX8 distribution comes with few more CSFs. ----------------------------------------------------------------- - Encoding | CSF Sorting order ----------------------------------------------------------------- - cp866 | cp866rus.csf Latin first, Cyrillic ----------------------------------------------------------------- - - -How to use - -1. Select bibliography style by adding appropriate \bibliographystyle - declaration to your source file <filename>.tex, e.g. - - \bibliographystyle{gost2008} - \bibliography{database} - -2. Add the field language="ukrainian" or language="russian" to the - bibliographic entries in Ukrainian or Russian languages in your - database; English is the default language. German, Italian and - French are partially supported. - -3. To compile list of references from your database use bibtex8.exe - rather than bibtex.exe. Depending on the codepage of your - bibliographic database, indicate one of the CS files - listed above as option to bibtex8.exe. Run LaTeX, then run - bibTeX8 and again LaTeX: - - latex <filename>.tex - bibtex8 -B -c <csf_file>.csf <filename>.aux - latex <filename>.tex + Encoding | CSF |Sorting order +-----------------|----------------------|----------------------- + cp866 | cp866rus.csf |Latin first, Cyrillic + +## How to use + +1. Select bibliography style by adding appropriate `\bibliographystyle` +declaration to your source file \file{<filename>.tex}, e.g. +```tex +\bibliographystyle{gost2008} +\bibliography{database} +``` + +2. Add the field `language="ukrainian"` or `language="russian"` to the +bibliographic entries in Ukrainian or Russian languages in your +database; English is the default language. German, Italian and +French are partially supported. + +3. To compile list of references from your database use `bibtex8.exe` +rather than `bibtex.exe`. Depending on the codepage of your +bibliographic database, indicate one of the CS files +listed above as option to `bibtex8.exe`. Run LaTeX, then run +`bibTeX8` and LaTeX again: +```console +latex <filename>.tex +bibtex8 -B -c <csf_file>.csf <filename>.aux +latex <filename>.tex +``` + +4. For details on preparing bibliographic database see examples in +`gost*.pdf` and `ugost*.pdf`. + +5. `ugost*` styles are primarily intended for use +with unicode compilers (`xelatex` and `lualatex`). They +should be preferred as well when using 8bit compilers +(`latex` and `pdflatex`) if source file is in `utf8` encoding. + +6. Neither `bibtex.exe` nor `bibtex8.exe` provides +correct sorting order of unicode text. It means that using +`ugost2008s` or `ugost2008ns` may produce unexpected result +for documents in `utf8` encoding. + +7. `Bibtex8` fails to change case of a string if it contains Cyrillic +letter in unicode. Therefore `ugost2008*` styles do not change case of +titles and other parts of bibliographic record while 8-bit styles +do the case change where appropriate. + +8. Either `bibtex.exe` or `bibtex8.exe` fail to cut Cyrillic names to +initials. Therefore `ugost2008*` styles do not modify name of +authors. + +9. Package `natbib` is required when choosing styles with +suffix `n` in their names. + +## Customization -4. For details on preparing bibliographic database see - examples in |gost*.pdf|. +Every GOST style defines few commands to format some parts of a +reference. You can redefine these commands prior to +the `\bibliography{<bibtex_style>}` command. Initial +definitions are listed below. +```tex +\providecommand*{\url}[1]{{\small #1}} +\providecommand*{\BibUrl}[1]{\url{#1}} +\providecommand{\BibAnnote}[1]{} +\providecommand*{\BibEmph}[1]{#1} +``` -5. Ugost*.bst styles are primarily intended for use - with unicode compilers (xelatex and lualatex). They - should be preferred as well when using 8bit compilers - (latex and pdflatex) if source file is in utf8 encoding. +By default, gost styles separate logical parts of a bibliography +record by a period and cyrdash (`. "---`). It is legitimate to drop +that dash by overriding the command `\BibDash` as follows +```tex +\providecommand*{\BibDash}{} +``` -6. Neither bibtex.exe nor bibtex8.exe provide - correct sorting order of unicode text. It means that using - ugost2008s or any other style ended with `s' in - its name may produce unexpected result for utf8 documents. +By default, `\BibDash` is equivalent to the shorthand `"---` +defined by the babel package with the option `russian`. +It prints a so called Cyrillic dash (`\cyrdash`), +which is 20 % shorter then ordinary LaTeX dash (`---`), and puts +unbreakable space before `\cyrdash` so that dash never appears +in the beginning of a line. -7. Bibtex8 fails to change case of a string if it contains Cyrillic - letter in unicode. Therefore ugost2008* styles do not change case of - titles and other parts of bibliographic record while 8-bit styles - do the case change where appropriate. +## Where to get from -8. Either |bibtex8| or |Bibtex8| fail to cut Cyrillic names to - initials. Therefore |ugost2008*| styles do not modify the name of - authors. +1. [http://ctan.org/pkg/gost](http://ctan.org/pkg/gost). -9. Package |natbib| should be loaded when using styles with - suffix |n| in their names. +2. [http://github.com/kia999/gost](http://github.com/kia999/gost) +Run +```tex.exe gost.dtx``` + to produce .bst styles. -Customization +Run +```pdllatex.exe gost.dtx +makeindex -r -s gind.ist gost +makeindex -r -s gglo.ist -o gost.gls gost.glo +pdflatex gost.dtx +pdflatex gost.dtx +``` +to produce .bst styles and documentation. -Every GOST style defines few commands to format some parts of a -reference. You can redefine these commands prior to -the \bibliography{<bibtex_style>} command. Initial -definitions are listed below. - - \providecommand*{\url}[1]{{\small #1}} - \providecommand*{\BibUrl}[1]{\url{#1}} - \providecommand{\BibAnnote}[1]{} - \providecommand*{\BibEmph}[1]{#1} +## Version history -By default, gost styles separate logical parts of a bibliography -record by a period and cyrdash (. "---). It is legitimate to drop -that dash by overriding the command \BibDash as follows +### Version 1.2k (2020.12.25) +1. All stuff is now generated from `gost.dtx`. - \providecommand*{\BibDash}{} +2. Limited support of the `date` field added. -By default, \BibDash is equivalent to the shorthand "--- -introduced by the babel package with the option russian. -It prints a so called Cyrillic dash (\cyrdash), which is -20% shorter than ordinary LaTeX dash (---), and puts -unbreakable space before \cyrdash so that the dash never -appears at the beginning of a line. +3. Formatting of `doi` field updated: `http://dx.doi.org` changed +to `https://doi.org`. +4. Documentation and examples update (thanks to Leonid Sinev). -Where to get from +5. Formatting of @inproceedings and @proceedings improved. -1. http://mirror.ctan.org/biblio/bibtex/contrib/gost/ -2. http://ctan.org/pkg/gost - -What's new in version 1.2i (2017.01.12) +### Version 1.2i (2017.01.12) 1. Documentation and examples update (thanks to Leonid Sinev). -2, Restored @MastersThesis instead of @MasterThesis (thanks to Leonid Sinev). - -3. Media="eresource" field is introduced in addition to the media="online" and - media="text"; if present, the media field is not ignored any more in - modern bst-styles compiled without the strict option. +2. Restored `@MastersThesis` instead of `@MasterThesis` (thanks to Leonid Sinev). -4. Location field is introduced as an alias of address field. +3. `media="eresource"` is introduced in addition to `media="online"` and +`media="text"`; if present, the `media` field is not ignored any more in +modern bst-styles compiled without the `strict` option. -5. @DSCISTHESIS entry renamed to @DOCTHESIS. +4. `location` field is introduced as an alias of `address` field. -6. School field is now treated as an alias of institution. +5. `@DSCISTHESIS` entry renamed to `@DOCTHESIS`. -7. Specialitycode is added for @THESIS and similar entries; number is treated as - alias of specialitycode. +6. `school` field in `@THESIS` and similar entries is replaced by +`institution` to comply with `biblatex-gost` style. -8. Type field in THESIS and similar entries can now accept three values - (mathesis, phdthesis, docthesis) which are translated to built-in - language-sensitive strings; any other value is reproduced literally. +7. `specialitycode` is added for `@THESIS` and similar entries; + number is treated as alias of specialitycode. +8. `type` field in `@THESIS` and similar entries can now accept three values + (`mathesis`, `phdthesis`, `docthesis`) which are translated to built-in + language-sensitive strings; any other value is reproduced literally. -What's new in version 1.2h (2016.08.21) +### Version 1.2h (2016.08.21) 1. Minor changes in documentation. - -What's new in version 1.2g (2016.07.25) +### Version 1.2g (2016.07.25) 1. Minor changes in documentation. +### Version 1.2f (2016.07.11) -What's new in version 1.2f (2016.07.11) - -1. Support for |@patent| entry added (thanks to Stanislav Kruchinin). +1. Support for `@patent` entry added (thanks to Stanislav Kruchinin). 2. medium field renamed to media field. - -What's new in version 1.2e (2016.07.07) +### Version 1.2e (2016.07.07) 1. Hard coded "URL" string replaced with a language sensitive string (thanks to Roman Budnyi). - -What's new in version 1.2d (2016.02.18) +### Version 1.2d (2016.02.18) 1. jan, feb, mar, e.t.c. month macros fixed; 2. New macro format.month. 3. \cyrdash is now faked via \ProvideTextCommandDefault if not defined. - -What's new in version 1.2c (2015.01.10) +### Version 1.2c (2015.01.10) 1. langid field added; language field supported for backward compatibility. 2. eid field added, it has priority over pages field; 3. Fix Gost2003: "--- replaced by \BibDash; 4. Spacing around \BibDash improved. - -What's new in version 1.2b (2014.01.19) +### Version 1.2b (2014.01.19) 1. numpages renamed to pagetotal. - -What's new in version 1.2a (2012.08.31) +### Version 1.2a (2012.08.31) 1. \cyrdash is now defined via \ProvideTextCommand rather than \providecommand. - -What's new in version 1.2 (2012.02.22) +### Version 1.2 (2012.02.22) 1. Code refactoring. All styles are now generated from single source file. -2. Support for GOST-7.1-2003. The field |medium| is added to reflect type - of material. For most entry types |medium| defaults to |text|. -3. Support for |natbib| package. -4. All modern styles are now compiled with the |eprint| option. - +2. Support for GOST-7.1-2003. The field `medium` is added to reflect type + of material. For most entry types `medium` defaults to `text`. +3. Support for `natbib` package. +4. All modern styles are now compiled with the `eprint` option. -What's new in version 1.1 (2012.01.21) +### Version 1.1 (2012.01.21) 1. Support for GOST 7.0.5-2008 and GOST 7.1-2003 is provided. -2. |@Online| entry is added to format a reference to electronic +2. `@Online` entry is added to format a reference to electronic resource on Internet. -3. |@MastersThesis| entry is added to format a reference to master's thesis. - |@DSciThesis| entry is added to format a reference to doctor of +3. `@MastersThesis` entry is added to format a reference to master's thesis. + `@DSciThesis` entry is added to format a reference to doctor of sciences thesis. -4. |Urldate|, |eprint|, |eprintclass|, |eprinttype| fields are added. +4. `Urldate`, `eprint`, `eprintclass`, `eprinttype` fields are added. - -Version history +### Earlier version history 2012.08.31 \cyrdash is now defined via \ProvideTextCommand. 2012.02.22 Support for |natbib| package. @@ -317,11 +319,13 @@ Version history 2005.08.12 First version uploaded to CTAN. 2003.06.06 First public version. +### Older versions + +See `gost.pdf`. +### Bug reports -Please, send feature requests and bug reports via e-mail: - kia999 at mail dot ru <Igor A. Kotelnikov> -or - polyama at yahoo dot com <Maksym Polyakov> +Please, submit feature requests and issue reports via + [https://github.com/kia999/GOST/issues](https://github.com/kia999/GOST/issues). Happy BibTeXing! diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib deleted file mode 100644 index d595539ba9a..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib +++ /dev/null @@ -1,10 +0,0 @@ -@BOOK{Poems82, - title = { . , - , : }, - compiler = {. and . }, - address = {.}, - publisher = {. }, - year = {1982}, - pagetotal = {224}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib index 8801a77719d..d595539ba9a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib @@ -1,9 +1,10 @@ -@BOOK{HistLit82, - title = { : 4 .}, - organization = { , - .~.\ (.)}, +@BOOK{Poems82, + title = { . , + , : }, + compiler = {. and . }, address = {.}, + publisher = {. }, year = {1982}, - volume = {3: }, - pagetotal = {876}, + pagetotal = {224}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib index 261cb270893..8801a77719d 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib @@ -1,10 +1,9 @@ -@BOOK{Landau:eldin, - author = {. . and . . }, - title = { : 10 .}, - publisher = {. .\ .\ .-.\ .}, +@BOOK{HistLit82, + title = { : 4 .}, + organization = { , - .~.\ (.)}, address = {.}, - year = {1992}, - volume = {VIII. }, - edition = {3-, .}, + year = {1982}, + volume = {3: }, + pagetotal = {876}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib index cd31d23bec8..261cb270893 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib @@ -1,12 +1,10 @@ -@BOOK{BRLS94, - title = { ii -i - i : 4 .}, - organization = {.\ i. I- i.}, - address = {i}, - publisher = { i i}, - year = {1994}, - volume = {2: . 1900--1917 .}, - editor = {. . and I. . }, - pagetotal = {440}, +@BOOK{Landau:eldin, + author = {. . and . . }, + title = { : 10 .}, + publisher = {. .\ .\ .-.\ .}, + address = {.}, + year = {1992}, + volume = {VIII. }, + edition = {3-, .}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib index 5c3f395b641..cd31d23bec8 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib @@ -1,9 +1,12 @@ -@BOOK{Grosse80, - author = {, . and , .}, - title = { : .\ .}, - address = {.}, - publisher = {}, - year = {1980}, - pagetotal = {392}, +@BOOK{BRLS94, + title = { ii -i + i : 4 .}, + organization = {.\ i. I- i.}, + address = {i}, + publisher = { i i}, + year = {1994}, + volume = {2: . 1900--1917 .}, + editor = {. . and I. . }, + pagetotal = {440}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib index 4711209121b..5c3f395b641 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib @@ -1,11 +1,9 @@ -@BOOK{GOST7184, - key = {}, - title = { 7.1-84. . - . - --- 7.1-76~; . 01.01.86.}, +@BOOK{Grosse80, + author = {, . and , .}, + title = { : .\ .}, address = {.}, - publisher = {- }, - year = {1984}, - pagetotal = {78}, + publisher = {}, + year = {1980}, + pagetotal = {392}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib deleted file mode 100644 index 13a5a7e4c5a..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib +++ /dev/null @@ -1,11 +0,0 @@ -@INBOOK{Zeyts70, - author = {, .}, - title = { }, - booktitle = { }, - bookauthor = {, . and , .}, - address = {.}, - publisher = {}, - year = {1970}, - pages = {172--186}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib index ec178f2f01b..13a5a7e4c5a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib @@ -1,12 +1,11 @@ -@INCOLLECTION{Ponoomarenko76, - author = {, . .}, - title = { - }, - booktitle = { - }, - address = {}, - publisher = { }, - year = {1976}, - pages = {3-16}, +@INBOOK{Zeyts70, + author = {, .}, + title = { }, + booktitle = { }, + bookauthor = {, . and , .}, + address = {.}, + publisher = {}, + year = {1970}, + pages = {172--186}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib index 8db207bd87a..ec178f2f01b 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib @@ -1,10 +1,12 @@ -@ARTICLE{Malikov92, - author = {, . . and , . .}, - title = { - }, - journal = { }, - year = {1992}, - number = {6}, - pages = {34-38}, +@INCOLLECTION{Ponoomarenko76, + author = {, . .}, + title = { + }, + booktitle = { + }, + address = {}, + publisher = { }, + year = {1976}, + pages = {3-16}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib index 39e1d292b47..8db207bd87a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib @@ -1,11 +1,10 @@ -@ARTICLE{Ponomarenko86a, - author = {, . . and , . .}, - title = { - }, - journal = {.\ .\ . .\ .-.\ .\ }, - year = {1986}, - volume = {7}, +@ARTICLE{Malikov92, + author = {, . . and , . .}, + title = { + }, + journal = { }, + year = {1992}, number = {6}, - pages = {79-83}, + pages = {34-38}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib deleted file mode 100644 index 5351992600a..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib +++ /dev/null @@ -1,8 +0,0 @@ -@ARTICLE{dixit.pindyck:options, - title = {The Options Approach to Capital Investment}, - author = {Avinash K. Dixit and Robert S. Pindyck}, - journal = {Harvard Business Review}, - year = {1995}, - month = {May-June}, - pages = {105--115}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib deleted file mode 100644 index 4407d93cf37..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib +++ /dev/null @@ -1,10 +0,0 @@ -@ARTICLE{RosGaz-article, - title = { - }, - journal = { }, - year = {1997}, - month = {19 }, - pages = {4}, - note = { . }, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib index 67a509d4972..39e1d292b47 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib @@ -1,11 +1,11 @@ -@INBOOK{Dolmatovskiy88, - author = {, . .}, - title = {}, - booktitle = {}, - edition = {3-}, - address = {.}, - year = {1988}, - volume = {30}, - pages = {72}, +@ARTICLE{Ponomarenko86a, + author = {, . . and , . .}, + title = { + }, + journal = {.\ .\ . .\ .-.\ .\ }, + year = {1986}, + volume = {7}, + number = {6}, + pages = {79-83}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib index 46d45239281..5351992600a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib @@ -1,14 +1,8 @@ -@INPROCEEDINGS{Ponomarenko88, - author = {, . . and , . .}, - title = { - - }, - booktitle = { .\ .\ - << >> ( 88)}, - volume = {1}, - address = {}, - publisher = { }, - year = {1988}, - pages = {149-153}, - language = {russian}, +@ARTICLE{dixit.pindyck:options, + title = {The Options Approach to Capital Investment}, + author = {Avinash K. Dixit and Robert S. Pindyck}, + journal = {Harvard Business Review}, + year = {1995}, + month = {May-June}, + pages = {105--115}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib index 59d5fd3c678..4407d93cf37 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib @@ -1,9 +1,10 @@ -@INPROCEEDINGS{Melikov95, - author = {Melikov, A. Z. and Ponomarenko, L. A.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, +@ARTICLE{RosGaz-article, + title = { + }, + journal = { }, + year = {1997}, + month = {19 }, + pages = {4}, + note = { . }, + language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib deleted file mode 100644 index 510df37e95e..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib +++ /dev/null @@ -1,28 +0,0 @@ -@INPROCEEDINGS{Gojchuk98, - author = {, . .}, - title = { 㳿 - }, - booktitle = { - }, - editor = {, . . and others}, - address = {.}, - publisher = {}, - year = {1998}, - series = {. 8: ˳}, - pages = {168--173}, - language = {ukrainian}, -} - -@INPROCEEDINGS{Polyakov98a, - author = {. . }, - title = { - }, - crossref = {Gojchuk98}, - annote = { - . - - - - }, - pages = {213--220}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib deleted file mode 100644 index ee783d526df..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib +++ /dev/null @@ -1,16 +0,0 @@ -@INPROCEEDINGS{TranskSpivrob99:Purich, - author = {, }, - title = {{}-{} : - }, - language = {russian}, - booktitle = { - {} {}-{} {}: {} - }, - editor = {, .}, - address = {}, - publisher = { }, - organization = { }, - year = {1999}, - pagetotal = {196}, - booklanguage = {ukrainian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib index b3e88b84d27..67a509d4972 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib @@ -1,14 +1,11 @@ -@PHDTHESIS{Luus82, - author = {, }, - title = { - , - - }, - type = { }, - number = {05.05.04}, - institution = {.\ .\ -}, +@INBOOK{Dolmatovskiy88, + author = {, . .}, + title = {}, + booktitle = {}, + edition = {3-}, address = {.}, - year = {1982}, - pagetotal = {212}, + year = {1988}, + volume = {30}, + pages = {72}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib new file mode 100644 index 00000000000..46d45239281 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib @@ -0,0 +1,14 @@ +@INPROCEEDINGS{Ponomarenko88, + author = {, . . and , . .}, + title = { + + }, + booktitle = { .\ .\ + << >> ( 88)}, + volume = {1}, + address = {}, + publisher = { }, + year = {1988}, + pages = {149-153}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib index 8919d9102ec..59d5fd3c678 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib @@ -1,11 +1,9 @@ -@BOOK{Ponomarenko76, - author = {, . . and , . .}, - title = { - - }, - address = {.}, - year = {1976}, - pagetotal = {37}, - language = {russian}, - note = {(./ . - ; 76-76)}, +@INPROCEEDINGS{Melikov95, + author = {Melikov, A. Z. and Ponomarenko, L. A.}, + title = {On the approach to optimal control + of queuing systems with multiple classes of customers}, + booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, + address = {Wroclaw (Poland)}, + year = {1995}, + pages = {507-515}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib index 7f94e041da6..510df37e95e 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib @@ -1,15 +1,28 @@ -@REPORT{Report81-rep, - title = { - {-2-12-} - {-2-12-Dz}}, - institution = {.\ .\ - .\ -}, - address = {.}, - organization = {}, - year = {1981}, - pagetotal = {90}, - type = { {}}, - editor = {, . .}, - author = {, . . and others}, - note = {.\ 119692}, - language = {russian}, +@INPROCEEDINGS{Gojchuk98, + author = {, . .}, + title = { 㳿 + }, + booktitle = { + }, + editor = {, . . and others}, + address = {.}, + publisher = {}, + year = {1998}, + series = {. 8: ˳}, + pages = {168--173}, + language = {ukrainian}, +} + +@INPROCEEDINGS{Polyakov98a, + author = {. . }, + title = { + }, + crossref = {Gojchuk98}, + annote = { + . + + + + }, + pages = {213--220}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib index 2e8efb67260..ee783d526df 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib @@ -1,11 +1,16 @@ -@BOOK{CatalogMamals81, - title = { . - "--- }, - organization = { , .\ -}, - editor = {. . and . . }, - address = {.}, - publisher = {, .\ -}, - year = {1981}, - pagetotal = {456}, +@INPROCEEDINGS{TranskSpivrob99:Purich, + author = {, }, + title = {{}-{} : + }, language = {russian}, + booktitle = { + {} {}-{} {}: {} + }, + editor = {, .}, + address = {}, + publisher = { }, + organization = { }, + year = {1999}, + pagetotal = {196}, + booklanguage = {ukrainian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib index 62820b280e3..5f413581359 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib @@ -1,12 +1,9 @@ -@BOOK{Instr86, - title = { - ~: - 34-70-044-85~: . . . . - 01.10.85~: - 01.01.86 01.01.95}, - organization = {- }, - address = {.}, - year = {1986}, - pagetotal = {43}, - language = {russian}, +@INPROCEEDINGS{Selikov95, + author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.}, + title = {On the approach to optimal control + of queuing systems with multiple classes of customers}, + booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, + address = {Wroclaw (Poland)}, + year = {1995}, + pages = {507-515}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27.bib index 002f8f4fb41..23f0867c99b 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20c.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27.bib @@ -1,13 +1,3 @@ -@INPROCEEDINGS{Selikov95, - author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, -} - @INPROCEEDINGS{Selikov+95, author = {, A. Z. and , L. A. and , L. S. and , . .}, title = {On the approach to optimal control diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib index 530ca4e2eb8..4711209121b 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib @@ -1,25 +1,11 @@ -@BOOK{IsaacNewton, - author = {Newton, {\relax Sir Isaac}}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - publisher = {William Innys}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {eresource}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, +@BOOK{GOST7184, + key = {}, + title = { 7.1-84. . + . + --- 7.1-76~; . 01.01.86.}, + address = {.}, + publisher = {- }, + year = {1984}, + pagetotal = {78}, + language = {russian}, } - -@BOOK{IsaacNewton-sl:sn, - author = {{\relax Sir I}saac Newton}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {online}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, -} -% publisher = {William Innys}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib deleted file mode 100644 index 856f3848993..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib +++ /dev/null @@ -1,32 +0,0 @@ -@BOOK{Encyclopedia, - title = { }, - publisher = { . .}, - year = {1996}, - address = {.}, - note = {1 . . (CD-ROM)}, - language = {russian}, - media = {eresource}, -} - -@ARTICLE{Nasirova, - title = { }, - author = {, . .}, - language = {russian}, - note = { : http://vestnik.fa.ru/4(28)2003/4.html}, - number = {4}, - year = {2003}, - journal = { }, - media2 = {eresource}, - media = {online}, -} - -@BOOK{kremlincd, - title = { }, - titleaddon = {. }, - language = {russian}, - note = {CD-ROM}, - date = {2007}, - location = {.}, - publisher = { }, - media = {eresource}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib index 416cb5b91c9..b3e88b84d27 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib @@ -1,15 +1,14 @@ -@ARTICLE{PhysRevLett.101.085006, - author = {Kotelnikov, Igor and Rom\'e, Massimiliano}, - volume = {101}, - journal = {Phys. Rev. Lett.}, - month = {Aug}, - pagetotal = {4}, - title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap}, - year = {2008}, - doi = {10.1103/PhysRevLett.101.085006}, - issue = {8}, - publisher = {American Physical Society}, - pages = {085006}, +@PHDTHESIS{Luus82, + author = {, }, + title = { + , + + }, + type = { }, + number = {05.05.04}, + institution = {.\ .\ -}, + address = {.}, + year = {1982}, + pagetotal = {212}, + language = {russian}, } - -% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib index 836bc7e5add..9eefa82a93f 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib @@ -1,27 +1,11 @@ -@ARTICLE{1998PhRvE..57.7111K, - author = {{Kinney}, R.~M. and {McWilliams}, J.~C.}, - title = {{Turbulent cascades in anisotropic magnetohydrodynamics}}, - journal = pre, - keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation}, - year = {1998}, - month = jun, - volume = {57}, - pages = {7111-7121}, - doi = {10.1103/PhysRevE.57.7111}, - adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System}, -} - -@ARTICLE{1998UFN, - author = {, . . and , . .}, - title = { }, - journal = ufn, - keywords = { , }, - year = {2015}, - month = jul, - volume = {185}, - pages = {753-771}, +@DOCTHESIS{KIA95-default, + author = {, }, + title = { + }, + number = {01.04.08}, + institution = {- .\ .~. }, + address = {}, + year = {1995}, + pagetotal = {350}, language = {russian}, - doi = {10.3367/UFNr.0185.201507c.0753}, - url = {http://ufn.ru/ru/articles/2015/7/c/}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib index 4ea961f0685..15cb434e7cf 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib @@ -1,40 +1,7 @@ -@PATENT{patent1, - author = {. . }, - authorcountry = {}, - title = { -}, - media = {text}, - type = {}, - number = {1095735}, - location = {. }, - ipc = {\ensuremath{^7} B 64 G 1/00}, - holder = { /, .}, - credits = {. . .}, - requestnumber = {000108705/28}, - requestdate = {07.04.2000}, - publicationdate = {10.03.2001}, - publication = {. 7 (I .)}, - prioritydate= {09.04.1999}, - prioritynumber = {09/289, 037}, - prioritycountry = {}, - pagetotal = {5 .~: .}, - language = {russian}, +@MASTERSTHESIS{mastersthesis-minimal, + title = {Mastering Thesis Writing}, + author = {{\'{E}}douard Masterly}, + year = {1988}, + institution = {Stanford University}, } -@PATENT{patent2, - author = {. . }, - authorcountry = {}, - title = { }, - media = {text}, - type = {.}, - number = {2000131736/09}, - location = {. }, - ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00}, - holder = { . .-. - .}, - credits = {. . .}, - requestnumber = {000108705/28}, - date = {18.12.2000}, - publicationdate = {20.08.2002}, - publication = {. 23 (II .)}, - pagetotal = {2 .~: .}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex32.bib index 49be1815053..7db20865644 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21b.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex32.bib @@ -1,10 +1,3 @@ -@MASTERSTHESIS{mastersthesis-minimal, - title = {Mastering Thesis Writing}, - author = {{\'{E}}douard Masterly}, - year = {1988}, - institution = {Stanford University}, -} - @MASTERSTHESIS{mastersthesis-full, title = {Mastering Thesis Writing}, author = {{\'{E}}douard Masterly}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex33.bib index 9eefa82a93f..3f2df895717 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21a.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex33.bib @@ -1,11 +1,12 @@ -@DOCTHESIS{KIA95-default, +@THESIS{KIA85-autoref, author = {, }, title = { }, + type = {.\ .\ .\ .\ .\ - .-.\ }, number = {01.04.08}, - institution = {- .\ .~. }, + school = {- .\ .~. }, address = {}, year = {1995}, - pagetotal = {350}, + pagetotal = {17}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib new file mode 100644 index 00000000000..3c05cebc8c1 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib @@ -0,0 +1,13 @@ +@THESIS{vishnyakov:thesis1, + title = { }, + author = {, }, + date = {2002}, + langid = {russian}, + language = {russian}, + location = {.}, + speciality = {. }, + number = {08.00.13}, + pagetotal = {234}, + titleaddon = { 12.02.02~: . 24.06.02}, +} + diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib new file mode 100644 index 00000000000..b35b4136c8c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib @@ -0,0 +1,16 @@ +@THESIS{vishnyakov:thesis2, + title = { }, + author = {, }, + type = {phdthesis}, + addendum = {.: . 220---230.~--- 04200204433}, + _year = {2002}, + date = {2002-02-04}, + langid = {russian}, + language = {russian}, + location = {.}, + speciality = {. }, + specialitycode = {08.00.13}, + media = {text}, + pagetotal = {234}, + titleaddon = { 12.02.02~: . 24.06.02}, +}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib new file mode 100644 index 00000000000..fa82e73af4e --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib @@ -0,0 +1,14 @@ +@THESIS{Skvortsov:2008, + title = { }, + author = {, }, + type = {docthesis}, + _year = {2008}, + institution = { . .\,.~}, + langid = {russian}, + language = {russian}, + location = {}, + speciality = {.-. }, + specialitycode = {01.04.02}, + media = {text}, + pagetotal = {224}, +}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib new file mode 100644 index 00000000000..8919d9102ec --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib @@ -0,0 +1,11 @@ +@BOOK{Ponomarenko76, + author = {, . . and , . .}, + title = { + + }, + address = {.}, + year = {1976}, + pagetotal = {37}, + language = {russian}, + note = {(./ . - ; 76-76)}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib new file mode 100644 index 00000000000..7f94e041da6 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib @@ -0,0 +1,15 @@ +@REPORT{Report81-rep, + title = { + {-2-12-} + {-2-12-Dz}}, + institution = {.\ .\ - .\ -}, + address = {.}, + organization = {}, + year = {1981}, + pagetotal = {90}, + type = { {}}, + editor = {, . .}, + author = {, . . and others}, + note = {.\ 119692}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex39.bib index 4d0612148f6..4d0612148f6 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24a.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex39.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex40.bib index e9377071aa2..e9377071aa2 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24b.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex40.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib new file mode 100644 index 00000000000..2e8efb67260 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib @@ -0,0 +1,11 @@ +@BOOK{CatalogMamals81, + title = { . + "--- }, + organization = { , .\ -}, + editor = {. . and . . }, + address = {.}, + publisher = {, .\ -}, + year = {1981}, + pagetotal = {456}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib new file mode 100644 index 00000000000..62820b280e3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib @@ -0,0 +1,12 @@ +@BOOK{Instr86, + title = { + ~: + 34-70-044-85~: . . . . + 01.10.85~: + 01.01.86 01.01.95}, + organization = {- }, + address = {.}, + year = {1986}, + pagetotal = {43}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib new file mode 100644 index 00000000000..40de893bd1b --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib @@ -0,0 +1,22 @@ +@PATENT{patent1, + author = {. . }, + authorcountry = {}, + title = { -}, + media = {text}, + type = {}, + number = {1095735}, + location = {. }, + ipc = {\ensuremath{^7} B 64 G 1/00}, + holder = { /, .}, + credits = {. . .}, + requestnumber = {000108705/28}, + requestdate = {07.04.2000}, + publicationdate = {10.03.2001}, + publication = {. 7 (I .)}, + prioritydate= {09.04.1999}, + prioritynumber = {09/289, 037}, + prioritycountry = {}, + pagetotal = {5 .~: .}, + language = {russian}, +} + diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib new file mode 100644 index 00000000000..9ca3de08fc6 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib @@ -0,0 +1,18 @@ +@PATENT{patent2, + author = {. . }, + authorcountry = {}, + title = { }, + media = {text}, + type = {.}, + number = {2000131736/09}, + location = {. }, + ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00}, + holder = { . .-. - .}, + credits = {. . .}, + requestnumber = {000108705/28}, + date = {18.12.2000}, + publicationdate = {20.08.2002}, + publication = {. 23 (II .)}, + pagetotal = {2 .~: .}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex45.bib index 35f92171c2a..35f92171c2a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27c.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex45.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib new file mode 100644 index 00000000000..3589fcd0874 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib @@ -0,0 +1,12 @@ +@BOOK{IsaacNewton, + author = {Newton, {\relax Sir Isaac}}, + title = {Opticks, or a treatise of the reflections, + refractions, inflections and colours of light}, + publisher = {William Innys}, + url = {http://books.google.com/books?id=XXu4AkRVBBoC}, + media = {eresource}, + year = {1730}, + pagetotal = {382}, + eprint = {XXu4AkRVBBoC}, + eprinttype = {Google Books}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib new file mode 100644 index 00000000000..72aefbac201 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib @@ -0,0 +1,12 @@ +@BOOK{IsaacNewton-sl:sn, + author = {{\relax Sir I}saac Newton}, + title = {Opticks, or a treatise of the reflections, + refractions, inflections and colours of light}, + url = {http://books.google.com/books?id=XXu4AkRVBBoC}, + media = {online}, + year = {1730}, + pagetotal = {382}, + eprint = {XXu4AkRVBBoC}, + eprinttype = {Google Books}, +} +% publisher = {William Innys}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib new file mode 100644 index 00000000000..72500872ba3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib @@ -0,0 +1,9 @@ +@BOOK{Encyclopedia, + title = { }, + publisher = { . .}, + year = {1996}, + address = {.}, + note = {1 . . (CD-ROM)}, + language = {russian}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib new file mode 100644 index 00000000000..b60055b4303 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib @@ -0,0 +1,11 @@ +@ARTICLE{Nasirova, + title = { }, + author = {, . .}, + language = {russian}, + note = { : http://vestnik.fa.ru/4(28)2003/4.html}, + number = {4}, + year = {2003}, + journal = { }, + media2 = {eresource}, + media = {online}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib new file mode 100644 index 00000000000..4994b0995ee --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib @@ -0,0 +1,10 @@ +@BOOK{kremlincd, + title = { }, + titleaddon = {. }, + language = {russian}, + note = {CD-ROM}, + date = {2007}, + location = {.}, + publisher = { }, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib new file mode 100644 index 00000000000..416cb5b91c9 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib @@ -0,0 +1,15 @@ +@ARTICLE{PhysRevLett.101.085006, + author = {Kotelnikov, Igor and Rom\'e, Massimiliano}, + volume = {101}, + journal = {Phys. Rev. Lett.}, + month = {Aug}, + pagetotal = {4}, + title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap}, + year = {2008}, + doi = {10.1103/PhysRevLett.101.085006}, + issue = {8}, + publisher = {American Physical Society}, + pages = {085006}, +} + +% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib new file mode 100644 index 00000000000..1a02f1ba402 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib @@ -0,0 +1,7 @@ +@ONLINE{wiki:latex, + author = {Wikipedia}, + title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia}, + year = {2012}, + url = {http://en.wikipedia.org/wiki/LaTeX}, + urldate = {25.01.2012}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex53.bib index 9b58759802c..282bc401d28 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27a.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex53.bib @@ -1,11 +1,3 @@ -@ONLINE{wiki:latex, - author = {Wikipedia}, - title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia}, - year = {2012}, - url = {http://en.wikipedia.org/wiki/LaTeX}, - urldate = {25.01.2012}, -} - @ONLINE{wiki:latex-2, author = {Wikipedia}, title = {{\LaTeX}}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex54.bib index d298189634a..d298189634a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27b.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex54.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib new file mode 100644 index 00000000000..e6aad14b23c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib @@ -0,0 +1,13 @@ +@ARTICLE{1998PhRvE..57.7111K, + author = {{Kinney}, R.~M. and {McWilliams}, J.~C.}, + title = {{Turbulent cascades in anisotropic magnetohydrodynamics}}, + journal = pre, + keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation}, + year = {1998}, + month = jun, + volume = {57}, + pages = {7111-7121}, + doi = {10.1103/PhysRevE.57.7111}, + adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib new file mode 100644 index 00000000000..fc159fccf25 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib @@ -0,0 +1,13 @@ +@ARTICLE{1998UFN, + author = {, . . and , . .}, + title = { }, + journal = ufn, + keywords = { , }, + year = {2015}, + month = jul, + volume = {185}, + pages = {753-771}, + language = {russian}, + doi = {10.3367/UFNr.0185.201507c.0753}, + url = {http://ufn.ru/ru/articles/2015/7/c/}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib new file mode 100644 index 00000000000..d15c8a59ff6 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib @@ -0,0 +1,9 @@ +@ONLINE{cs.SE:30073, + title = {Cutting equal sticks from different sticks}, + howpublished = {Computer Science Stack Exchange}, + url = {http://cs.stackexchange.com/q/30073}, + urldate = {2014-11-26}, + author = {Erel Segal-Halevi}, + date = {2014-09-17}, + nameaddon = {\url{http://cs.stackexchange.com/users/1342/}}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib new file mode 100644 index 00000000000..b8cc3036b78 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib @@ -0,0 +1,10 @@ +@MISC{CS:30073, + title = {Cutting equal sticks from different sticks}, + author = {Erel Segal-Halevi}, + howpublished = {Computer Science Stack Exchange}, + url = {http://cs.stackexchange.com/q/30073}, + urldate = {2014-11-26}, + year = {2014}, + authorurl = {http://cs.stackexchange.com/users/1342/}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib new file mode 100644 index 00000000000..d22b7662771 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib @@ -0,0 +1,9 @@ +@ONLINE{nos_weeralarm_2009, + title = {Weeralarm en verkeeralarm ingetrokken}, + url = {http://nos.nl/l/124074}, + urldate = {2014-02-12}, + author = {{NOS}}, + date = {2009-12-20}, + keywords = {gladheid, ijs, ongeluk, openbaar vervoer, schiphol, sneeuw}, + titleaddon = {{NOS.nl}}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib new file mode 100644 index 00000000000..dfa25c04480 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib @@ -0,0 +1,11 @@ +@ARTICLE{gibbard, + title = {Morality in Living}, + author = {Gibbard, Allan}, + number = {1}, + pages = {140--164}, + subtitle = {{K}orsgaard's {K}antian Lectures}, + titleaddon = {review of The Sources of Normativity, by {C}hristine {M.} {K}orsgaard}, + volume = {110}, + year = {1999}, + journal = {Ethics}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib new file mode 100644 index 00000000000..1f24356e3d1 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib @@ -0,0 +1,8 @@ +@BOOK{Williams2002, + title = {Free as in Freedom}, + author = {Williams, Sam}, + publisher = {O'Reilly Media}, + year = {2002}, + isbn = {0-596-00287-4}, + titleaddon = {Richard Stallman's Crusade for Free Software}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib new file mode 100644 index 00000000000..8956232df63 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib @@ -0,0 +1,10 @@ +@ONLINE{kruse, + title = {Framework for Sustainable Soil Management: Literature Review and Synthesis}, + url = {http://www.swcs.org/documents/filelibrary/BeyondTliteraturereview.pdf}, + urldate = {2008-08-03}, + year = {2007}, + author = {John S. Kruse}, + publisher = {Soil and Water Conservation Society}, + address = {Ankeny (IA)}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib new file mode 100644 index 00000000000..0ea4915ef23 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib @@ -0,0 +1,17 @@ +@PROCEEDINGS{tmma, + title = {Towards Mechanized Mathematical Assistants}, + editor = {Manuel Kauers and Manfred Kerber and Robert Miner and Wolfgang + Windsteiger}, + isbn = {978-3-540-73083-5}, + language = {english}, + location = {Berlin Heidelberg}, + number = {Volume 4573}, + pagetotal = {410}, + publisher = {Springer}, + series = {Lecture Notes in Computer Science}, + titleaddon = {14th Symposium, Calculemus 2007, 6th International Conference, MKM 2007, + Hagenberg, Austria, June 27-30, 2007. Proceedings}, + year = {2007}, + issn = {0302-9743}, + langid = {english}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib new file mode 100644 index 00000000000..5ab7df8a1d0 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib @@ -0,0 +1,12 @@ +@BOOK{dekart:soch, + title = { }, + author = {, }, + publisher = {}, + date = {1989/1994}, + ids = {dekart_soch}, + langid = {russian}, + language = {russian}, + location = {.}, + origlanguage = {latin and french}, + titleaddon = {. . .}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib new file mode 100644 index 00000000000..62be5113212 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib @@ -0,0 +1,21 @@ +@INPROCEEDINGS{moraux, + title = {Le \emph{De Anima} dans la tradition gr{\`e}cque}, + author = {Moraux, Paul}, + booktitle = {Aristotle on Mind and the Senses}, + date = {1979}, + editor = {Lloyd, G. E. R. and Owen, G. E. L.}, + booktitleaddon = {Proceedings of the Seventh Symposium Aristotelicum}, + eventdate = {1975}, + language = {french}, + location = {Cambridge}, + pages = {281-324}, + publisher = cup, + subtitle = {Quelques aspects de l'interpretation du trait{\'e}, de + Theophraste {\`a} Themistius}, + annotation = {This is a typical \texttt{inproceedings} entry. Note the + \texttt{booksubtitle}, \texttt{shorttitle}, + \texttt{indextitle}, and \texttt{indexsorttitle} fields. Also + note the \texttt{eventdate} field.}, + keywords = {secondary}, + langid = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib new file mode 100644 index 00000000000..cb0b4df545e --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib @@ -0,0 +1,8 @@ +@MANUAL{mc:lfcn-400, + title = {Ceramic Low Pass Filter}, + note = {Rev. H}, + number = {LFCN-400+}, + organization = {Mini-Circuits}, + titleaddon = {50~\(\Omega\), DC to 400~{MHz}}, + url = {http://www.minicircuits.com/pdfs/LFCN-400.pdf}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib new file mode 100644 index 00000000000..4efe0949d49 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib @@ -0,0 +1,8 @@ +@MISC{scpi-99, + title = {Standard Commands for Programmable Instruments (SCPI)}, + month = {may}, + note = {Version 1999.0}, + organization = {SCPI Consortium}, + titleaddon = {Volume 1: Syntax and Style}, + year = {1999}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib new file mode 100644 index 00000000000..90489fe4874 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib @@ -0,0 +1,9 @@ +@ARTICLE{scpi-04, + title = {Standard Digital Interface for Programmable Instrumentation}, + doi = {10.1109/ieeestd.2004.95390}, + month = {may}, + pages = {0\_1--0\_5}, + titleaddon = {Part 2: Codes, Formats, Protocols and Common Commands (Adoption of IEEE Std 488.2-1992)}, + year = {2004}, + journal = {IEC 60488-2 First edition 2004-05; IEEE 488.2}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib new file mode 100644 index 00000000000..f130889538f --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib @@ -0,0 +1,14 @@ +@TECHREPORT{Drake1948, + title = {Results obtained during accelerated transonic tests of + the {Bell} {XS-1} airplane in flights to a {MACH} number of + 0.92}, + author = {Drake, Huber M. and McLaughlin, Milton D. and Goodman, + Harold R.}, + institution = {NASA Dryden Flight Research Center}, + location = {Edwards, CA}, + month = {1}, + number = {NACA-RM-L8A05A}, + url = {http://www.nasa.gov/centers/dryden/pdf/87528main_RM-L8A05A.pdf}, + year = {1948}, + language = {english}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib new file mode 100644 index 00000000000..d1a1b604e28 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib @@ -0,0 +1,11 @@ +@THESIS{geer, + title = {Earl, Saint, Bishop, Skald~-- and Music~: The {Orkney Earldom} + of the Twelfth Century. {A} Musicological + Study}, + author = {de Geer, Ingrid}, + type = {phdthesis}, + date = {1985}, + institution = {Uppsala Universitet}, + langid = {english}, + location = {Uppsala}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib new file mode 100644 index 00000000000..328bf3c8844 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib @@ -0,0 +1,9 @@ +@THESIS{loh, + title = {High-Resolution Micromachined Interferometric Accelerometer}, + author = {Loh, Nin C.}, + type = {mathesis}, + date = {1992}, + institution = {Massachusetts Institute of Technology}, + langid = {english}, + location = {Cambridge, Mass.}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib new file mode 100644 index 00000000000..077c6db7a7d --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib @@ -0,0 +1,16 @@ +@BOOK{Duebner1878, + title = {Scholia in Theocritum, Nicandrum et Oppianum}, + author = {D\"{u}bner, F. and Bussemaker, U. Cats}, + publisher = {Editore Ambrosio Firmin--Didot}, + year = {1878}, + location = {Parisiis}, +} + +@INBOOK{Bussemaker1878, + title = {Scholia et Paraphrases in Nicandrum et Oppianum}, + author = {Bussemaker, U. Cats}, + pages = {243--364}, + crossref = {Duebner1878}, + titleaddon = {Partim nunc primum edidit, partim collatis cod. mss., + emendavit, annotatione critica instruxit et indices confecit}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib new file mode 100644 index 00000000000..6f002a228af --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib @@ -0,0 +1,20 @@ +@THESIS{Deluz1972, + title = {\emph{Liber de quibusdam ultramarinis partibus et praecipuede + Terra sancta} de Guillaume de Boldensele (1336) ; suivi de la traduction de + Fr\`{e}re Jean Le Long (1351)}, + author = {Christiane Deluz}, + school = {Paris-IV}, + type = {phdthesis}, + year = {1972}, + editor = {Mollat du Jourdin, Michel}, + volumes = {2}, +} + +@BOOK{GuilielmusdeBoldensele, + title = {Liber de quibusdam ultramarinis partibus et praecipue de + Terra sancta}, + author = {{Guilielmus de Boldensele}}, + volume = {2}, + crossref = {Deluz1972}, + pages = {195-291}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib new file mode 100644 index 00000000000..58cf26825a7 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib @@ -0,0 +1,14 @@ +@ARTICLE{veilahti:abm, + title = {Alain Badiou's Mistake~--- Two Postulates of Dialectic Materialism}, + author = {Antti Veilahti}, + date = {2013-01-10}, + eprint = {1301.1203v2}, + eprintclass = {math.CT}, + eprinttype = {arXiv}, + language = {english}, + month = jan, + year = {2013}, + journal = {ArXiv e-prints}, + langid = {english}, + pagetotal = {41+1}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib new file mode 100644 index 00000000000..daac54701d2 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib @@ -0,0 +1,10 @@ +@ONLINE{wassenberg, + title = {Faster Radix Sort via Virtual Memory and Write-Combining}, + author = {Wassenberg, Jan and Sanders, Peter}, + date = {2010-08-17}, + eprint = {1008.2849v1}, + eprintclass = {cs.DS}, + eprinttype = {arxiv}, + langid = {english}, + version = {1}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib new file mode 100644 index 00000000000..d691dba09ff --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib @@ -0,0 +1,18 @@ +@ARTICLE{Lisi1995, + title = {A solitary wave solution of the {M}axwell-{D}irac equations}, + author = {{Lisi}, A.~G.}, + doi = {10.1088/0305-4470/28/18/026}, + eprint = {9410244}, + eprintclass = {hep-th}, + eprinttype = {arxiv}, + month = {sep}, + number = {18}, + pages = {5385--5392}, + url = {http://stacks.iop.org/0305-4470/28/5385}, + volume = {28}, + year = {1995}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, + adsurl = {http://adsabs.harvard.edu/abs/1995JPhA...28.5385L}, + journal = {Journal of Physics A: Mathematical and General}, + publisher = {{IOP} Publishing}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib deleted file mode 100644 index f3c17bdef33..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib +++ /dev/null @@ -1,606 +0,0 @@ -@BOOK{Vasylenko92, - author = {, . .}, - title = { : }, - address = {.}, - publisher = { }, - year = {1992}, - pagetotal = {430}, - language = {ukrainian}, -} -@BOOK{Afanasyev92, - author = {, . . and , . .}, - title = { - }, - address = {.}, - publisher = {}, - year = {1992}, - pagetotal = {190}, - language = {russian}, -} -@BOOK{Makilov91, - author = {, . . and , . . - and , . .}, - title = { - }, - address = {.}, - publisher = {}, - year = {1991}, - pagetotal = {265}, - language = {russian}, -} -@BOOK{Ponomarenko86, - title = { }, - author = {. . and . . - and . . and . . }, - editor = {. . }, - address = {.}, - publisher = {}, - year = {1986}, - pagetotal = {144}, - language = {russian}, -} -@BOOK{Belousova81, - title = { - }, - author = {, . . and , . . - and , . . and others}, - address = {.}, - publisher = {}, - year = {1981}, - pagetotal = {62}, - language = {russian}, -} -@BOOK{BibOp91, - title = { : - }, - organization = {. . . - . - .~.~. }, - edition = {2-, .}, - address = {.}, - publisher = {.~}, - year = {1991}, - pagetotal = {224}, - language = {russian}, -} -@BOOK{Poems82, - title = { . , - , : }, - compiler = {. and . }, - address = {.}, - publisher = {. }, - year = {1982}, - pagetotal = {224}, - language = {russian}, -} -@BOOK{HistLit82, - title = { : 4 .}, - organization = { , - .~.\ (.)}, - address = {.}, - year = {1982}, - volume = {3: }, - pagetotal = {876}, - language = {russian}, -} -@BOOK{Landau:eldin, - author = {. . and . . }, - title = { : 10 .}, - publisher = {. .\ .\ .-.\ .}, - address = {.}, - year = {1992}, - volume = {VIII. }, - edition = {3-, .}, - language = {russian}, -} -@BOOK{BRLS94, - title = { ii -i - i : 4 .}, - organization = {.\ i. I- i.}, - address = {i}, - publisher = { i i}, - year = {1994}, - volume = {2: . 1900--1917 .}, - editor = {. . and I. . }, - pagetotal = {440}, - language = {russian}, -} -@BOOK{Grosse80, - author = {, . and , .}, - title = { : .\ .}, - address = {.}, - publisher = {}, - year = {1980}, - pagetotal = {392}, - language = {russian}, -} -@BOOK{GOST7184, - key = {}, - title = { 7.1-84. . - . - --- 7.1-76~; . 01.01.86.}, - address = {.}, - publisher = {- }, - year = {1984}, - pagetotal = {78}, - language = {russian}, -} -@BOOK{ObchTech93, - title = { : ...}, - address = {.}, - publisher = {}, - year = {1993}, - pagetotal = {99}, - language = {ukrainian}, -} -@BOOK{Bibdelo86, - title = { : . }, - composer = {. . and . . }, - edition = {2- .}, - address = {.}, - publisher = {}, - year = {1986}, - pagetotal = {224}, - language = {russian}, -} -@INBOOK{Ponomarenko79, - author = {, . .}, - title = { }, - booktitle = { - }, - address = {.}, - publisher = {}, - year = {1979}, - pages = {141-148}, - language = {russian}, -} -@INBOOK{Zeyts70, - author = {, .}, - title = { }, - booktitle = { }, - bookauthor = {, . and , .}, - address = {.}, - publisher = {}, - year = {1970}, - pages = {172--186}, - language = {russian}, -} -@INCOLLECTION{Ponoomarenko76, - author = {, . .}, - title = { - }, - booktitle = { - }, - address = {}, - publisher = { }, - year = {1976}, - pages = {3-16}, - language = {russian}, -} -@ARTICLE{Malikov92, - author = {, . . and , . .}, - title = { - }, - journal = { }, - year = {1992}, - number = {6}, - pages = {34-38}, - language = {russian}, -} -@ARTICLE{Ponomarenko86a, - author = {, . . and , . .}, - title = { - }, - journal = {.\ .\ . .\ .-.\ .\ }, - year = {1986}, - volume = {7}, - number = {6}, - pages = {79-83}, - language = {russian}, -} -@ARTICLE{dixit.pindyck:options, - title = {The Options Approach to Capital Investment}, - author = {Avinash K. Dixit and Robert S. Pindyck}, - journal = {Harvard Business Review}, - year = {1995}, - month = {May-June}, - pages = {105--115}, -} -@ARTICLE{RosGaz-article, - title = { - }, - journal = { }, - year = {1997}, - month = {19 }, - pages = {4}, - note = { . }, - language = {russian}, -} -@INBOOK{Dolmatovskiy88, - author = {, . .}, - title = {}, - booktitle = {}, - edition = {3-}, - address = {.}, - year = {1988}, - volume = {30}, - pages = {72}, - language = {russian}, -} -@INPROCEEDINGS{Ponomarenko88, - author = {, . . and , . .}, - title = { - - }, - booktitle = { .\ .\ - << >> ( 88)}, - volume = {1}, - address = {}, - publisher = { }, - year = {1988}, - pages = {149-153}, - language = {russian}, -} -@INPROCEEDINGS{Melikov95, - author = {Melikov, A. Z. and Ponomarenko, L. A.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, -} -@INPROCEEDINGS{Gojchuk98, - author = {, . .}, - title = { 㳿 - }, - booktitle = { - }, - editor = {, . . and others}, - address = {.}, - publisher = {}, - year = {1998}, - series = {. 8: ˳}, - pages = {168--173}, - language = {ukrainian}, -} - -@INPROCEEDINGS{Polyakov98a, - author = {. . }, - title = { - }, - crossref = {Gojchuk98}, - annote = { - . - - - - }, - pages = {213--220}, -} -@INPROCEEDINGS{TranskSpivrob99:Purich, - author = {, }, - title = {{}-{} : - }, - language = {russian}, - booktitle = { - {} {}-{} {}: {} - }, - editor = {, .}, - address = {}, - publisher = { }, - organization = { }, - year = {1999}, - pagetotal = {196}, - booklanguage = {ukrainian}, -} -@INPROCEEDINGS{Selikov95, - author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, -} - -@INPROCEEDINGS{Selikov+95, - author = {, A. Z. and , L. A. and , L. S. and , . .}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, - language = {russian}, -} -@PHDTHESIS{Luus82, - author = {, }, - title = { - , - - }, - type = { }, - number = {05.05.04}, - institution = {.\ .\ -}, - address = {.}, - year = {1982}, - pagetotal = {212}, - language = {russian}, -} -@DOCTHESIS{KIA95-default, - author = {, }, - title = { - }, - number = {01.04.08}, - institution = {- .\ .~. }, - address = {}, - year = {1995}, - pagetotal = {350}, - language = {russian}, -} -@MASTERSTHESIS{mastersthesis-minimal, - title = {Mastering Thesis Writing}, - author = {{\'{E}}douard Masterly}, - year = {1988}, - institution = {Stanford University}, -} - -@MASTERSTHESIS{mastersthesis-full, - title = {Mastering Thesis Writing}, - author = {{\'{E}}douard Masterly}, - month = jun, - note = {This is a full MASTERSTHESIS entry}, - type = {Master's project}, - year = {1988}, - address = {English Department}, - institution = {Stanford University}, -} -@BOOK{Ponomarenko76, - author = {, . . and , . .}, - title = { - - }, - address = {.}, - year = {1976}, - pagetotal = {37}, - language = {russian}, - note = {(./ . - ; 76-76)}, -} -@REPORT{Report81-rep, - title = { - {-2-12-} - {-2-12-Dz}}, - institution = {.\ .\ - .\ -}, - address = {.}, - organization = {}, - year = {1981}, - pagetotal = {90}, - type = { {}}, - editor = {, . .}, - author = {, . . and others}, - note = {.\ 119692}, - language = {russian}, -} -@REPORT{Report81b-rep-notype, - title = { - {-2-12-} - {-2-12-Dz}}, - institution = {.\ .\ - .\ -}, - address = {.}, - organization = {}, - year = {1981}, - pagetotal = {90}, - note = {.\ 119692}, - language = {russian}, -} -@TECHREPORT{Report81-techrep, - title = { - {-2-12-} - {-2-12-Dz}}, - institution = {.\ .\ - .\ -}, - address = {.}, - organization = {}, - year = {1981}, - pagetotal = {90}, - editor = {, . .}, - author = {, . . and others}, - note = {.\ 119692}, - language = {russian}, -} -@BOOK{CatalogMamals81, - title = { . - "--- }, - organization = { , .\ -}, - editor = {. . and . . }, - address = {.}, - publisher = {, .\ -}, - year = {1981}, - pagetotal = {456}, - language = {russian}, -} -@BOOK{Instr86, - title = { - ~: - 34-70-044-85~: . . . . - 01.10.85~: - 01.01.86 01.01.95}, - organization = {- }, - address = {.}, - year = {1986}, - pagetotal = {43}, - language = {russian}, -} -@ONLINE{wiki:latex, - author = {Wikipedia}, - title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia}, - year = {2012}, - url = {http://en.wikipedia.org/wiki/LaTeX}, - urldate = {25.01.2012}, -} - -@ONLINE{wiki:latex-2, - author = {Wikipedia}, - title = {{\LaTeX}}, - howpublished = {Wikipedia, The Free Encyclopedia}, - year = {2012}, - eprint = {wiki/LaTeX}, - eprinttype = {WikiPedia}, - url = {http://en.wikipedia.org/wiki/LaTeX}, - urldate = {25.01.2012}, -} -@ONLINE{phys:moodle, - author = {, . .}, - title = { }, - howpublished = { }, - organization = {}, - year = {2012}, - url = {http://www.phys.nsu.ru/moodle/}, - urldate = {16.01.2012}, - language = {russian}, -} -@MISC{EXFOR, - author = {IAEA}, - title = {{EXFOR}---Experimental Nuclear Reaction Data }, - url = {http://www-nds.iaea.org/exfor}, - address = {P.O. Box 100, Wagramer Strasse 5, A-1400 Vienna, Austria}, - year = {2012}, - media = {eresource} -} -@BOOK{IsaacNewton, - author = {Newton, {\relax Sir Isaac}}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - publisher = {William Innys}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {eresource}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, -} - -@BOOK{IsaacNewton-sl:sn, - author = {{\relax Sir I}saac Newton}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {online}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, -} -% publisher = {William Innys}, -@BOOK{Encyclopedia, - title = { }, - publisher = { . .}, - year = {1996}, - address = {.}, - note = {1 . . (CD-ROM)}, - language = {russian}, - media = {eresource}, -} - -@ARTICLE{Nasirova, - title = { }, - author = {, . .}, - language = {russian}, - note = { : http://vestnik.fa.ru/4(28)2003/4.html}, - number = {4}, - year = {2003}, - journal = { }, - media2 = {eresource}, - media = {online}, -} - -@BOOK{kremlincd, - title = { }, - titleaddon = {. }, - language = {russian}, - note = {CD-ROM}, - date = {2007}, - location = {.}, - publisher = { }, - media = {eresource}, -} -@ARTICLE{PhysRevLett.101.085006, - author = {Kotelnikov, Igor and Rom\'e, Massimiliano}, - volume = {101}, - journal = {Phys. Rev. Lett.}, - month = {Aug}, - pagetotal = {4}, - title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap}, - year = {2008}, - doi = {10.1103/PhysRevLett.101.085006}, - issue = {8}, - publisher = {American Physical Society}, - pages = {085006}, -} - -% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006}, -@ARTICLE{1998PhRvE..57.7111K, - author = {{Kinney}, R.~M. and {McWilliams}, J.~C.}, - title = {{Turbulent cascades in anisotropic magnetohydrodynamics}}, - journal = pre, - keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation}, - year = {1998}, - month = jun, - volume = {57}, - pages = {7111-7121}, - doi = {10.1103/PhysRevE.57.7111}, - adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System}, -} - -@ARTICLE{1998UFN, - author = {, . . and , . .}, - title = { }, - journal = ufn, - keywords = { , }, - year = {2015}, - month = jul, - volume = {185}, - pages = {753-771}, - language = {russian}, - doi = {10.3367/UFNr.0185.201507c.0753}, - url = {http://ufn.ru/ru/articles/2015/7/c/}, -} -@PATENT{patent1, - author = {. . }, - authorcountry = {}, - title = { -}, - media = {text}, - type = {}, - number = {1095735}, - location = {. }, - ipc = {\ensuremath{^7} B 64 G 1/00}, - holder = { /, .}, - credits = {. . .}, - requestnumber = {000108705/28}, - requestdate = {07.04.2000}, - publicationdate = {10.03.2001}, - publication = {. 7 (I .)}, - prioritydate= {09.04.1999}, - prioritynumber = {09/289, 037}, - prioritycountry = {}, - pagetotal = {5 .~: .}, - language = {russian}, -} - -@PATENT{patent2, - author = {. . }, - authorcountry = {}, - title = { }, - media = {text}, - type = {.}, - number = {2000131736/09}, - location = {. }, - ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00}, - holder = { . .-. - .}, - credits = {. . .}, - requestnumber = {000108705/28}, - date = {18.12.2000}, - publicationdate = {20.08.2002}, - publication = {. 23 (II .)}, - pagetotal = {2 .~: .}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex index 71ca5986810..416e3baf217 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex @@ -1,8 +1,5 @@ \documentclass[a4paper]{article} - % cmap inputenc, utf8 -\usepackage{cmap} \usepackage[T2A]{fontenc} -\usepackage[cp1251]{inputenc} \usepackage[russian]{babel} \usepackage{bibunits,verbatim,geometry,ifpdf} @@ -93,18 +90,20 @@ \bibentry{ex06} \subsection{Compiler} -\bibentry{ex06a} +\bibentry{ex07} \subsection{Multiple-volume publications} -\bibentry{ex07} \bibentry{ex08} \bibentry{ex09} +\bibentry{ex10} +\bibentry{ex64} \subsection{Translated} -\bibentry{ex10} +\bibentry{ex11} \subsection{Collections} \bibentry{ex12} +\bibentry{ex63} \subsection{Dictionary} \bibentry{ex13} @@ -114,82 +113,112 @@ \subsection{Book} \bibentry{ex14} -\bibentry{ex14a} +\bibentry{ex15} +\bibentry{ex61} \subsection{Collection} -\bibentry{ex15} +\bibentry{ex16} \subsection{Journal} -\bibentry{ex16} \bibentry{ex17} -\bibentry{ex17a} +\bibentry{ex18} +\bibentry{ex19} +\bibentry{ex60} +\bibentry{ex68} +\bibentry{ex74} +\bibentry{ex76} \subsection{Newspaper} -\bibentry{ex17b} +\bibentry{ex20} \subsection{Encyclopedia} -\bibentry{ex18} +\bibentry{ex21} \subsection{Proceedings} -\bibentry{ex19} -\bibentry{ex20} +\bibentry{ex22} +\bibentry{ex23} +\bibentry{ex65} \subsubsection{With crossreference} -\bibentry{ex20a} +\bibentry{ex24} +\bibentry{ex72} +\bibentry{ex73} \subsubsection{With multiple languages} -\bibentry{ex20b} +\bibentry{ex25} +\bibentry{ex26} +\bibentry{ex27} \section{Others} \subsection{Standard} -\bibentry{ex11} +\bibentry{ex28} \subsection{Dissertation} -\bibentry{ex21} -\bibentry{ex21a} -\bibentry{ex21b} +\bibentry{ex29} +\bibentry{ex30} +\bibentry{ex31} +\bibentry{ex32} Allowed built-in values of \verb|type| field in \verb|@THESIS| entry are \verb|mathesis| for masters thesis, \verb|phdthesis| for Ph.D. thesis, and \verb|docthesis| for doctor of sciences dissertation. Any other value of \verb|type| is reproduced literally. -\bibentry{ex22} -\bibentry{ex22a} +\bibentry{ex33} +\bibentry{ex34} +\bibentry{ex35} +\bibentry{ex36} +\bibentry{ex70} +\bibentry{ex71} \subsection{Preprint} -\bibentry{ex23} +\bibentry{ex37} \subsection{Report} -\bibentry{ex24} -\bibentry{ex24a} -\bibentry{ex24b} +\bibentry{ex38} +\bibentry{ex39} +\bibentry{ex40} \subsection{Catalog} -\bibentry{ex25} +\bibentry{ex41} \subsection{Instruction} -\bibentry{ex26} +\bibentry{ex42} +\bibentry{ex67} \subsection{Patent} -\bibentry{ex31} +\bibentry{ex43} +\bibentry{ex44} \section{Electronic resources} \subsection{Common Fields} \verb|Url|, \verb|eprint|, \verb|doi| and \verb|media| fields can be assigned to any entry. Allowed values of \verb|media| are \verb|online|, \verb|eresource| and \verb|text| (default). -\bibentry{ex27c} -\bibentry{ex28} -\bibentry{ex28a} -\bibentry{ex29} +\bibentry{ex45} +\bibentry{ex46} +\bibentry{ex47} +\bibentry{ex48} +\bibentry{ex49} +\bibentry{ex50} +\bibentry{ex51} +\bibentry{ex58} +\bibentry{ex66} +\bibentry{ex69} \subsection{Online Entry} -\bibentry{ex27a} -\bibentry{ex27b} +\bibentry{ex52} +\bibentry{ex53} +\bibentry{ex54} +\bibentry{ex57} +\bibentry{ex59} +\bibentry{ex62} +\bibentry{ex75} + \section{Use of macros} \texttt{jan}, \texttt{feb}, \texttt{mar},\ldots{} \texttt{dec} macros in \texttt{month} field are automatically translated to Russian or English if necessary. Other languages are not supported. -\bibentry{ex30} +\bibentry{ex55} +\bibentry{ex56} -\end{document}
\ No newline at end of file +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf Binary files differindex ec6e396e081..bba2f56b117 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex index 1dbe684d6c5..4f660f66098 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex @@ -1,4 +1,6 @@ \edef\mybibstyle{gost2003} + % cmap inputenc, +\RequirePackage{cmap} \RequirePackage[cp1251]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ @@ -11,6 +13,6 @@ This is style is intended for composing bibliographic catalogs and descriptions. . - + } \input gost
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf Binary files differindex 7732e939b6a..26c5c7a9701 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex index 9e095c5c58e..6e458700d5a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex @@ -1,4 +1,6 @@ \edef\mybibstyle{gost2008} + % cmap inputenc, +\RequirePackage{cmap} \RequirePackage[cp1251]{inputenc} \newcommand*{\mytitle}{The GOST bundle: customization} \newcommand{\mydescription}{ diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf Binary files differindex 317bc4d6161..125ac26156b 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex index 6f74b26e901..3a1dbae78a8 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex @@ -1,4 +1,6 @@ \edef\mybibstyle{gost2008} + % cmap inputenc, +\RequirePackage{cmap} \RequirePackage[cp1251]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf Binary files differindex c2b666f2159..4dc6275164e 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex index 2ba60bb037d..4e8e1a4f733 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex @@ -1,4 +1,6 @@ \edef\mybibstyle{gost2008l} + % cmap inputenc, +\RequirePackage{cmap} \RequirePackage[cp1251]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ @@ -11,6 +13,6 @@ Note: this style do not conform State Standard. - : . + : . } \input gost diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf Binary files differindex fc7d40fd5af..9faf6d62d1c 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex index db27fa6ee14..91f4326f070 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex @@ -1,6 +1,10 @@ -% !Mode:: "TeX:UTF-8" \newcommand*{\mybibstyle}{gost2008n} +%\newcommand*{\mybibstyle}{unsrtnat} +%plainnat +%unsrtnat + % cmap inputenc, +\RequirePackage{cmap} \RequirePackage[cp1251]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} @@ -15,14 +19,12 @@ } \documentclass[a4paper]{article} -\usepackage[cp1251]{inputenc} \usepackage[T2A]{fontenc} \usepackage[ukrainian,russian]{babel} \usepackage{natbib} \usepackage{geometry,ifpdf} \ifpdf \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} \else \usepackage[hypertex]{hyperref} \fi @@ -65,7 +67,6 @@ HistLit82, Landau:eldin, BRLS94, Grosse80, -GOST7184, ObchTech93, Bibdelo86, Ponomarenko79, @@ -77,27 +78,63 @@ dixit.pindyck:options, RosGaz-article, Dolmatovskiy88, Ponomarenko88, -Melikov95, Selikov95, Selikov+95, +Melikov95, Gojchuk98, Polyakov98a, TranskSpivrob99:Purich, +Selikov95, +Selikov+95, +GOST7184, Luus82, KIA95-default, +mastersthesis-minimal, +mastersthesis-full, KIA85-autoref, +vishnyakov:thesis1, +vishnyakov:thesis2, +Skvortsov:2008, Ponomarenko76, Report81-rep, Report81b-rep-notype, Report81-techrep, CatalogMamals81, Instr86, -wiki:latex, -wiki:latex-2, -phys:moodle, +patent1, +patent2, EXFOR, IsaacNewton, IsaacNewton-sl:sn, -PhysRevLett.101.085006} - +Encyclopedia, +Nasirova, +kremlincd, +PhysRevLett.101.085006, +wiki:latex, +wiki:latex-2, +phys:moodle, +1998PhRvE..57.7111K, +1998UFN, +cs.SE:30073, +CS:30073, +nos_weeralarm_2009, +gibbard, +Williams2002, +kruse, +tmma, +dekart:soch, +moraux, +mc:lfcn-400, +scpi-99, +scpi-04, +Drake1948, +geer, +loh, +Duebner1878, +Bussemaker1878, +Deluz1972, +GuilielmusdeBoldensele, +veilahti:abm, +wassenberg, +Lisi1995} \verb|\cite|\par \cite{\allrefs} @@ -109,10 +146,82 @@ PhysRevLett.101.085006} \verb|\citeauthor*|\par \citeauthor*{\allrefs} - \bibliographystyle{\mybibstyle} -\bibliography{bib/examples} +\bibliography{bib/ex01,% +bib/ex02,% +bib/ex03,% +bib/ex04,% +bib/ex05,% +bib/ex06,% +bib/ex07,% +bib/ex08,% +bib/ex09,% +bib/ex10,% +bib/ex11,% +bib/ex12,% +bib/ex13,% +bib/ex14,% +bib/ex15,% +bib/ex16,% +bib/ex17,% +bib/ex18,% +bib/ex19,% +bib/ex20,% +bib/ex21,% +bib/ex22,% +bib/ex23,% +bib/ex24,% +bib/ex25,% +bib/ex26,% +bib/ex27,% +bib/ex28,% +bib/ex29,% +bib/ex30,% +bib/ex31,% +bib/ex32,% +bib/ex33,% +bib/ex34,% +bib/ex35,% +bib/ex36,% +bib/ex37,% +bib/ex38,% +bib/ex39,% +bib/ex40,% +bib/ex41,% +bib/ex42,% +bib/ex43,% +bib/ex44,% +bib/ex45,% +bib/ex46,% +bib/ex47,% +bib/ex48,% +bib/ex49,% +bib/ex50,% +bib/ex51,% +bib/ex52,% +bib/ex53,% +bib/ex54,% +bib/ex55,% +bib/ex56,% +bib/ex57,% +bib/ex58,% +bib/ex59,% +bib/ex60,% +bib/ex61,% +bib/ex62,% +bib/ex63,% +bib/ex64,% +bib/ex65,% +bib/ex66,% +bib/ex67,% +bib/ex68,% +bib/ex69,% +bib/ex70,% +bib/ex71,% +bib/ex72,% +bib/ex73,% +bib/ex74,% +bib/ex75,% +bib/ex76} \end{document} - - diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf Binary files differindex 6349c96af53..ddefc85941e 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex index 7b1613b8ff4..6e9e63132da 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex @@ -1,6 +1,10 @@ -% !Mode:: "TeX:UTF-8" \newcommand*{\mybibstyle}{gost2008ns} +%\newcommand*{\mybibstyle}{plainnat} +%plainnat +%unsrtnat + % cmap inputenc, +\RequirePackage{cmap} \RequirePackage[cp1251]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} @@ -15,14 +19,12 @@ } \documentclass[a4paper]{article} -\usepackage[cp1251]{inputenc} \usepackage[T2A]{fontenc} \usepackage[ukrainian,russian]{babel} \usepackage{natbib} \usepackage{geometry,ifpdf} \ifpdf \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} \else \usepackage[hypertex]{hyperref} \fi @@ -71,7 +73,6 @@ HistLit82, Landau:eldin, BRLS94, Grosse80, -GOST7184, ObchTech93, Bibdelo86, Ponomarenko79, @@ -83,27 +84,65 @@ dixit.pindyck:options, RosGaz-article, Dolmatovskiy88, Ponomarenko88, -Melikov95, Selikov95, Selikov+95, +Melikov95, Gojchuk98, Polyakov98a, TranskSpivrob99:Purich, +Selikov95, +Selikov+95, +GOST7184, Luus82, KIA95-default, +mastersthesis-minimal, +mastersthesis-full, KIA85-autoref, +vishnyakov:thesis1, +vishnyakov:thesis2, +Skvortsov:2008, Ponomarenko76, Report81-rep, Report81b-rep-notype, Report81-techrep, CatalogMamals81, Instr86, -wiki:latex, -wiki:latex-2, -phys:moodle, +patent1, +patent2, EXFOR, IsaacNewton, IsaacNewton-sl:sn, -PhysRevLett.101.085006} - +Encyclopedia, +Nasirova, +kremlincd, +PhysRevLett.101.085006, +wiki:latex, +wiki:latex-2, +phys:moodle, +1998PhRvE..57.7111K, +1998UFN, +cs.SE:30073, +CS:30073, +nos_weeralarm_2009, +gibbard, +Williams2002, +kruse, +tmma, +dekart:soch, +moraux, +mc:lfcn-400, +scpi-99, +scpi-04, +Drake1948, +geer, +loh, +Duebner1878, +Bussemaker1878, +Deluz1972, +GuilielmusdeBoldensele, +veilahti:abm, +wassenberg, +Lisi1995} + +\verb|\cite|\par \citep{\allrefs} \verb|\citep|\par \citep{\allrefs} @@ -113,10 +152,82 @@ PhysRevLett.101.085006} \verb|\citeauthor*|\par \citeauthor*{\allrefs} - \bibliographystyle{\mybibstyle} -\bibliography{bib/examples} +\bibliography{bib/ex01,% +bib/ex02,% +bib/ex03,% +bib/ex04,% +bib/ex05,% +bib/ex06,% +bib/ex07,% +bib/ex08,% +bib/ex09,% +bib/ex10,% +bib/ex11,% +bib/ex12,% +bib/ex13,% +bib/ex14,% +bib/ex15,% +bib/ex16,% +bib/ex17,% +bib/ex18,% +bib/ex19,% +bib/ex20,% +bib/ex21,% +bib/ex22,% +bib/ex23,% +bib/ex24,% +bib/ex25,% +bib/ex26,% +bib/ex27,% +bib/ex28,% +bib/ex29,% +bib/ex30,% +bib/ex31,% +bib/ex32,% +bib/ex33,% +bib/ex34,% +bib/ex35,% +bib/ex36,% +bib/ex37,% +bib/ex38,% +bib/ex39,% +bib/ex40,% +bib/ex41,% +bib/ex42,% +bib/ex43,% +bib/ex44,% +bib/ex45,% +bib/ex46,% +bib/ex47,% +bib/ex48,% +bib/ex49,% +bib/ex50,% +bib/ex51,% +bib/ex52,% +bib/ex53,% +bib/ex54,% +bib/ex55,% +bib/ex56,% +bib/ex57,% +bib/ex58,% +bib/ex59,% +bib/ex60,% +bib/ex61,% +bib/ex62,% +bib/ex63,% +bib/ex64,% +bib/ex65,% +bib/ex66,% +bib/ex67,% +bib/ex68,% +bib/ex69,% +bib/ex70,% +bib/ex71,% +bib/ex72,% +bib/ex73,% +bib/ex74,% +bib/ex75,% +bib/ex76} \end{document} - - diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdf Binary files differnew file mode 100644 index 00000000000..e9f95cce091 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex new file mode 100644 index 00000000000..f678c78588c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex @@ -0,0 +1,331 @@ +\newcommand*{\mybibstyle}{gost2008s} + + % cmap inputenc, +\RequirePackage{cmap} +\RequirePackage[cp1251]{inputenc} + +\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} +\newcommand{\mydescription}{ + Example of a bibliography using the style \texttt{\mybibstyle.bst} + and \texttt{natbib} package. + No customization is applied. + + + \texttt{\mybibstyle.bst} \texttt{natbib}. + . +} + +\documentclass[a4paper]{article} +\usepackage[T2A]{fontenc} +\usepackage[ukrainian,russian]{babel} +\usepackage{geometry,ifpdf} +\ifpdf + \usepackage[pdftex,hyperindex,unicode]{hyperref} +\else + \usepackage[hypertex]{hyperref} +\fi +\usepackage{color} +\definecolor{darkblue}{rgb}{0,0,.6} +\hypersetup{ + pdftitle = {\mytitle}, + pdfauthor = {Igor A. Kotelnikov}, + pdfsubject = {GOST, BibTeX}, + pdfstartview = {FitH}, +% pdfborder = {0 0 0}, +% bookmarksopen = true, + bookmarksnumbered = true, +% bookmarksopenlevel = 2, + colorlinks = true, linkcolor = darkblue, + citecolor = darkblue, filecolor = darkblue, + menucolor = darkblue, urlcolor = darkblue +} + +\makeatletter +\renewcommand{\@biblabel}[1]{#1.} +\makeatother + +\begin{document} + +\title{\mytitle} +\maketitle +\begin{abstract} + \mydescription +\end{abstract} + +%\verb|\cite{*}| \cite{*} +% +%\verb|\citep{*}| \citep{*} +% +%\verb|\citet{*}| \citet{*} + +\newcommand{\allrefs}{Vasylenko92, +Afanasyev92, +Makilov91, +Ponomarenko86, +Belousova81, +BibOp91, +Poems82, +HistLit82, +Landau:eldin, +BRLS94, +Grosse80, +ObchTech93, +Bibdelo86, +Ponomarenko79, +Zeyts70, +Ponoomarenko76, +Malikov92, +Ponomarenko86a, +dixit.pindyck:options, +RosGaz-article, +Dolmatovskiy88, +Ponomarenko88, +Melikov95, +Gojchuk98, +Polyakov98a, +TranskSpivrob99:Purich, +Selikov95, +Selikov+95, +GOST7184, +Luus82, +KIA95-default, +mastersthesis-minimal, +mastersthesis-full, +KIA85-autoref, +vishnyakov:thesis1, +vishnyakov:thesis2, +Skvortsov:2008, +Ponomarenko76, +Report81-rep, +Report81b-rep-notype, +Report81-techrep, +CatalogMamals81, +Instr86, +patent1, +patent2, +EXFOR, +IsaacNewton, +IsaacNewton-sl:sn, +Encyclopedia, +Nasirova, +kremlincd, +PhysRevLett.101.085006, +wiki:latex, +wiki:latex-2, +phys:moodle, +1998PhRvE..57.7111K, +1998UFN, +cs.SE:30073, +CS:30073, +nos_weeralarm_2009, +gibbard, +Williams2002, +kruse, +tmma, +dekart:soch, +moraux, +mc:lfcn-400, +scpi-99, +scpi-04, +Drake1948, +geer, +loh, +Duebner1878, +Bussemaker1878, +Deluz1972, +GuilielmusdeBoldensele, +veilahti:abm, +wassenberg, +Lisi1995} + +\cite{\allrefs} + +\bibliographystyle{\mybibstyle} +\bibliography{bib/ex01,% +bib/ex02,% +bib/ex03,% +bib/ex04,% +bib/ex05,% +bib/ex06,% +bib/ex07,% +bib/ex08,% +bib/ex09,% +bib/ex10,% +bib/ex11,% +bib/ex12,% +bib/ex13,% +bib/ex14,% +bib/ex15,% +bib/ex16,% +bib/ex17,% +bib/ex18,% +bib/ex19,% +bib/ex20,% +bib/ex21,% +bib/ex22,% +bib/ex23,% +bib/ex24,% +bib/ex25,% +bib/ex26,% +bib/ex27,% +bib/ex28,% +bib/ex29,% +bib/ex30,% +bib/ex31,% +bib/ex32,% +bib/ex33,% +bib/ex34,% +bib/ex35,% +bib/ex36,% +bib/ex37,% +bib/ex38,% +bib/ex39,% +bib/ex40,% +bib/ex41,% +bib/ex42,% +bib/ex43,% +bib/ex44,% +bib/ex45,% +bib/ex46,% +bib/ex47,% +bib/ex48,% +bib/ex49,% +bib/ex50,% +bib/ex51,% +bib/ex52,% +bib/ex53,% +bib/ex54,% +bib/ex55,% +bib/ex56,% +bib/ex57,% +bib/ex58,% +bib/ex59,% +bib/ex60,% +bib/ex61,% +bib/ex62,% +bib/ex63,% +bib/ex64,% +bib/ex65,% +bib/ex66,% +bib/ex67,% +bib/ex68,% +bib/ex69,% +bib/ex70,% +bib/ex71,% +bib/ex72,% +bib/ex73,% +bib/ex74,% +bib/ex75,% +bib/ex76} + +\end{document} + + + + + +\newcommand*{\mybibstyle}{gost2008s} + +\RequirePackage[cp1251]{inputenc} + +\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} +\newcommand{\mydescription}{ + Example of a bibliography using the style \texttt{\mybibstyle.bst}. + No customization is applied. + + + \texttt{\mybibstyle.bst}. + . +} + +\documentclass[a4paper]{article} +\usepackage[cp1251]{inputenc} +\usepackage[T2A]{fontenc} +\usepackage[ukrainian,russian]{babel} +%\usepackage{natbib} +\usepackage{geometry,ifpdf} +\ifpdf + \usepackage[pdftex,hyperindex,unicode]{hyperref} + \usepackage{cmap} +\else + \usepackage[hypertex]{hyperref} +\fi +\usepackage{color} +\definecolor{darkblue}{rgb}{0,0,.6} +\hypersetup{ + pdftitle = {\mytitle}, + pdfauthor = {Igor A. Kotelnikov}, + pdfsubject = {GOST, BibTeX}, + pdfstartview = {FitH}, +% pdfborder = {0 0 0}, +% bookmarksopen = true, + bookmarksnumbered = true, +% bookmarksopenlevel = 2, + colorlinks = true, linkcolor = darkblue, + citecolor = darkblue, filecolor = darkblue, + menucolor = darkblue, urlcolor = darkblue +} + +\makeatletter +\renewcommand{\@biblabel}[1]{#1.} +\makeatother + +\begin{document} + +\title{\mytitle} +\maketitle +\begin{abstract} + \mydescription +\end{abstract} + +\newcommand{\allrefs}{Vasylenko92, +Afanasyev92, +Makilov91, +Ponomarenko86, +Belousova81, +BibOp91, +Poems82, +HistLit82, +Landau:eldin, +BRLS94, +Grosse80, +GOST7184, +ObchTech93, +Bibdelo86, +Ponomarenko79, +Zeyts70, +Ponoomarenko76, +Malikov92, +Ponomarenko86a, +dixit.pindyck:options, +RosGaz-article, +Dolmatovskiy88, +Ponomarenko88, +Melikov95, +Gojchuk98, +Polyakov98a, +TranskSpivrob99:Purich, +Luus82, +KIA95-default, +KIA85-autoref, +Ponomarenko76, +Report81-rep, +Report81b-rep-notype, +Report81-techrep, +CatalogMamals81, +Instr86, +wiki:latex, +wiki:latex-2, +phys:moodle, +EXFOR, +IsaacNewton, +IsaacNewton-sl:sn, +PhysRevLett.101.085006} + +\nocite{*} +\cite{\allrefs} + +\bibliographystyle{\mybibstyle} +\bibliography{bib/examples} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdf Binary files differdeleted file mode 100644 index b24f7d2e3d7..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex deleted file mode 100644 index 2d9e4aa9d89..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex +++ /dev/null @@ -1,15 +0,0 @@ -\edef\mybibstyle{gost780} -\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} -\newcommand{\mydescription}{ - Example of a bibliography using the style \texttt{\mybibstyle.bst}. - \texttt{\mybibstyle.bst}. - - - \texttt{\mybibstyle.bst}. - - Note: this is obsolete style. - - : . - -} -\input gost
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd index 7fa6c61ce35..677fbd04862 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd +++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd @@ -1,18 +1,9 @@ @echo ⮢ 䠩 ਬ @echo ========================== -@echo २ ।饣 饣 䠩 - -rename .\bib\examples.bib examples.bak - -@echo 쪨 䠩 让 - -copy .\bib\ex*.bib .\bib\examples.bib - @echo ᪠ ਬ -for %%f in (gost7*.tex) do pdflatex -quiet %%f -for %%f in (gost200*.tex) do pdflatex -quiet %%f +for %%f in (gost200*.tex) do pdflatex %%f @echo ᪠ ࠡ⪠ bibtex8 *.aux, ⮣ '㤠 㤥' @@ -20,10 +11,9 @@ for %%f in (gost*.aux) do bibtex8 -B -c cp1251.csf %%f @echo ᪠ ਬ (室 bibtex8) -for %%f in (gost7*.tex) do pdflatex %%f for %%f in (gost200*.tex) do pdflatex %%f -for %%f in (gost2008-nat*.tex) do pdflatex %%f -for %%f in (gost2008-sort*.tex) do pdflatex %%f +pdflatex gost2008n.tex +pdflatex gost2008ns.tex @echo ⪠ 㦭 䠩 diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib deleted file mode 100644 index e4e96e837ca..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib +++ /dev/null @@ -1,10 +0,0 @@ -@BOOK{Poems82, - title = {Стихи о музыке. Русские, - советские, зарубежные поэты: Сборник}, - compiler = {А. Бирюкова and В. Татаринов}, - address = {М.}, - publisher = {Сов. композитор}, - year = {1982}, - pagetotal = {224}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib index b9191a04062..e4e96e837ca 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib @@ -1,9 +1,10 @@ -@BOOK{HistLit82, - title = {История русской литературы: В 4 т.}, - organization = {АН СССР, Ин-т рус.~лит.\ (Пушкин.дом)}, +@BOOK{Poems82, + title = {Стихи о музыке. Русские, + советские, зарубежные поэты: Сборник}, + compiler = {А. Бирюкова and В. Татаринов}, address = {М.}, + publisher = {Сов. композитор}, year = {1982}, - volume = {3: Расцвет реализма}, - pagetotal = {876}, + pagetotal = {224}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib index deffa99448d..b9191a04062 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib @@ -1,10 +1,9 @@ -@BOOK{Landau:eldin, - author = {Л. Д. Ландау and Е. М. Лифшиц}, - title = {Теоретическая физика: учебное пособие в 10 т.}, - publisher = {Наука. Гл.\ ред.\ физ.-мат.\ лит.}, +@BOOK{HistLit82, + title = {История русской литературы: В 4 т.}, + organization = {АН СССР, Ин-т рус.~лит.\ (Пушкин.дом)}, address = {М.}, - year = {1992}, - volume = {VIII. Электродинамика сплошных сред}, - edition = {3-е, испр.}, + year = {1982}, + volume = {3: Расцвет реализма}, + pagetotal = {876}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib index b465fc9aeae..deffa99448d 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib @@ -1,12 +1,10 @@ -@BOOK{BRLS94, - title = {Нарысы па гiсторыi беларуска-рускiх - лiтаратурных сувязей: У 4 кн.}, - organization = {Акад.\ навук Беларусi. Iн-т лiт.}, - address = {Мiнск}, - publisher = {Навука i тэхнiка}, - year = {1994}, - volume = {2: Пачатак ХХ ст. 1900--1917 гг.}, - editor = {В. А. Каваленка and I. Я. Навуменка}, - pagetotal = {440}, +@BOOK{Landau:eldin, + author = {Л. Д. Ландау and Е. М. Лифшиц}, + title = {Теоретическая физика: учебное пособие в 10 т.}, + publisher = {Наука. Гл.\ ред.\ физ.-мат.\ лит.}, + address = {М.}, + year = {1992}, + volume = {VIII. Электродинамика сплошных сред}, + edition = {3-е, испр.}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib index ebda00a86e9..b465fc9aeae 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib @@ -1,9 +1,12 @@ -@BOOK{Grosse80, - author = {Гроссе, Э. and Вайсмангель, Х.}, - title = {Химия для любознательных: Пер.\ с нем.}, - address = {М.}, - publisher = {Химия}, - year = {1980}, - pagetotal = {392}, +@BOOK{BRLS94, + title = {Нарысы па гiсторыi беларуска-рускiх + лiтаратурных сувязей: У 4 кн.}, + organization = {Акад.\ навук Беларусi. Iн-т лiт.}, + address = {Мiнск}, + publisher = {Навука i тэхнiка}, + year = {1994}, + volume = {2: Пачатак ХХ ст. 1900--1917 гг.}, + editor = {В. А. Каваленка and I. Я. Навуменка}, + pagetotal = {440}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib index 16a1d96e615..ebda00a86e9 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib @@ -1,11 +1,9 @@ -@BOOK{GOST7184, - key = {ГОСТ}, - title = {ГОСТ 7.1-84. Библиографическое описание документа. - Общие требования и правила составления. - --- Взамен ГОСТ 7.1-76~; введ. 01.01.86.}, +@BOOK{Grosse80, + author = {Гроссе, Э. and Вайсмангель, Х.}, + title = {Химия для любознательных: Пер.\ с нем.}, address = {М.}, - publisher = {Изд-во стандартов}, - year = {1984}, - pagetotal = {78}, + publisher = {Химия}, + year = {1980}, + pagetotal = {392}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib deleted file mode 100644 index 7d086ef71ff..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib +++ /dev/null @@ -1,11 +0,0 @@ -@INBOOK{Zeyts70, - author = {Зейтц, Ф.}, - title = {О приведении пространственных групп}, - booktitle = {Симметрия в твердом теле}, - bookauthor = {Нокс, Р. and Голд, А.}, - address = {М.}, - publisher = {Наука}, - year = {1970}, - pages = {172--186}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib index e73a2859d70..7d086ef71ff 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib @@ -1,12 +1,11 @@ -@INCOLLECTION{Ponoomarenko76, - author = {Пономаренко, Л. А.}, - title = {Структура системы прерывания с ситуационными - приоритетами в АСУТП станов горячей прокатки}, - booktitle = {Разработка автоматизированных систем управления - технологическими процессами}, - address = {Тбилиси}, - publisher = {Сабчота Сакартвело}, - year = {1976}, - pages = {3-16}, +@INBOOK{Zeyts70, + author = {Зейтц, Ф.}, + title = {О приведении пространственных групп}, + booktitle = {Симметрия в твердом теле}, + bookauthor = {Нокс, Р. and Голд, А.}, + address = {М.}, + publisher = {Наука}, + year = {1970}, + pages = {172--186}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib index d3396fb15a2..e73a2859d70 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib @@ -1,10 +1,12 @@ -@ARTICLE{Malikov92, - author = {Меликов, А. З. and Пономаренко, Л. А.}, - title = {Оптимизация цифровой сети интегрального обслуживания - с конечным числом пользователей и блокировками}, - journal = {Автоматика и телемеханика}, - year = {1992}, - number = {6}, - pages = {34-38}, +@INCOLLECTION{Ponoomarenko76, + author = {Пономаренко, Л. А.}, + title = {Структура системы прерывания с ситуационными + приоритетами в АСУТП станов горячей прокатки}, + booktitle = {Разработка автоматизированных систем управления + технологическими процессами}, + address = {Тбилиси}, + publisher = {Сабчота Сакартвело}, + year = {1976}, + pages = {3-16}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib index 00f2d3e8697..d3396fb15a2 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib @@ -1,11 +1,10 @@ -@ARTICLE{Ponomarenko86a, - author = {Пономаренко, Л. А. and Меликов, А. З.}, - title = {Ситуационное управление многоканальной системой - с переменной структурой обслуживания неоднородного потока}, - journal = {Изв.\ АН Азерб.\ Респ. Сер.\ физ.-техн.\ и мат.\ наук}, - year = {1986}, - volume = {7}, +@ARTICLE{Malikov92, + author = {Меликов, А. З. and Пономаренко, Л. А.}, + title = {Оптимизация цифровой сети интегрального обслуживания + с конечным числом пользователей и блокировками}, + journal = {Автоматика и телемеханика}, + year = {1992}, number = {6}, - pages = {79-83}, + pages = {34-38}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib deleted file mode 100644 index 5351992600a..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib +++ /dev/null @@ -1,8 +0,0 @@ -@ARTICLE{dixit.pindyck:options, - title = {The Options Approach to Capital Investment}, - author = {Avinash K. Dixit and Robert S. Pindyck}, - journal = {Harvard Business Review}, - year = {1995}, - month = {May-June}, - pages = {105--115}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib deleted file mode 100644 index b9584ca4123..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib +++ /dev/null @@ -1,10 +0,0 @@ -@ARTICLE{RosGaz-article, - title = {Федеральный закон о внесении изменений - и дополнений в Семейный кодекс Российской Федерации}, - journal = {Российская газета}, - year = {1997}, - month = {19 нояб}, - pages = {4}, - note = {Российская Федерация. Законы}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib index 7c305452e68..00f2d3e8697 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib @@ -1,11 +1,11 @@ -@INBOOK{Dolmatovskiy88, - author = {Долматовский, Ю. А.}, - title = {Электромобиль}, - booktitle = {БСЭ}, - edition = {3-е}, - address = {М.}, - year = {1988}, - volume = {30}, - pages = {72}, +@ARTICLE{Ponomarenko86a, + author = {Пономаренко, Л. А. and Меликов, А. З.}, + title = {Ситуационное управление многоканальной системой + с переменной структурой обслуживания неоднородного потока}, + journal = {Изв.\ АН Азерб.\ Респ. Сер.\ физ.-техн.\ и мат.\ наук}, + year = {1986}, + volume = {7}, + number = {6}, + pages = {79-83}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib index 8a9d3979f7f..5351992600a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib @@ -1,14 +1,8 @@ -@INPROCEEDINGS{Ponomarenko88, - author = {Пономаренко, Л. А. and Жучкова, И. В.}, - title = {Оптимальное назначение приоритетов - при организации доступа в локальных - вычислительных сетях АСУТП}, - booktitle = {Труды Междунар.\ конф.\ - <<Локальные вычислительные сети>> (ЛОКСЕТЬ 88)}, - volume = {1}, - address = {Рига}, - publisher = {ИЭВТ АН Латвии}, - year = {1988}, - pages = {149-153}, - language = {russian}, +@ARTICLE{dixit.pindyck:options, + title = {The Options Approach to Capital Investment}, + author = {Avinash K. Dixit and Robert S. Pindyck}, + journal = {Harvard Business Review}, + year = {1995}, + month = {May-June}, + pages = {105--115}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib index 59d5fd3c678..b9584ca4123 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib @@ -1,9 +1,10 @@ -@INPROCEEDINGS{Melikov95, - author = {Melikov, A. Z. and Ponomarenko, L. A.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, +@ARTICLE{RosGaz-article, + title = {Федеральный закон о внесении изменений + и дополнений в Семейный кодекс Российской Федерации}, + journal = {Российская газета}, + year = {1997}, + month = {19 нояб}, + pages = {4}, + note = {Российская Федерация. Законы}, + language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib deleted file mode 100644 index cf0f2c1c930..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib +++ /dev/null @@ -1,28 +0,0 @@ -@INPROCEEDINGS{Gojchuk98, - author = {Гойчук, А. Ф.}, - title = {Особливості етіології і патогенезу поперечного раку - дуба звичайного в Україні}, - booktitle = {Науковий вісник Національного - аграрного університету}, - editor = {Мельничука, Д. О. and others}, - address = {К.}, - publisher = {НАУ}, - year = {1998}, - series = {Вип. 8: Лісівництво}, - pages = {168--173}, - language = {ukrainian}, -} - -@INPROCEEDINGS{Polyakov98a, - author = {М. О. Поляков}, - title = {Системний ефект агрегування лісосік в управлінні - лісовими ресурсами на регіональному рівні}, - crossref = {Gojchuk98}, - annote = {Розглянуто ефект агрегування елементарних - господарських одиниць на розмір розрахункової лісосіки. - Запропоновано метод визначення максимально допустимого розміру - рубання за площею на рівні регіону в контексті системи - державного регулювання лісокористування для умов ринкової - економіки}, - pages = {213--220}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib deleted file mode 100644 index 804f156ba17..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib +++ /dev/null @@ -1,16 +0,0 @@ -@INPROCEEDINGS{TranskSpivrob99:Purich, - author = {Пурич, Штефан}, - title = {{Р}умынско-{У}краинское трансграничное сотрудничество: - проблемы и перспективы}, - language = {russian}, - booktitle = {Транскордонне співробітництво у поліетнічних регіонах - {С}хідної та {П}івденно-{С}хідної {Є}вропи: {М}атеріали наукового - симпозіуму}, - editor = {Макара, Ю.}, - address = {Чернівці}, - publisher = {Золоті литаври}, - organization = {Буковинський політологічний центр}, - year = {1999}, - pagetotal = {196}, - booklanguage = {ukrainian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib index a6769ddfb48..7c305452e68 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib @@ -1,14 +1,11 @@ -@PHDTHESIS{Luus82, - author = {Луус, Роман Аркадьевич}, - title = {Исследование оборудования с пневмовакуумным - приводом для захвата, перемещения и фиксации - при обработке пористых и легкоповреждаемых - строительных изделий}, - type = {Диссертация на соискание ученой степени кандидата технических наук}, - number = {05.05.04}, - institution = {Моск.\ строит.\ ин-т}, +@INBOOK{Dolmatovskiy88, + author = {Долматовский, Ю. А.}, + title = {Электромобиль}, + booktitle = {БСЭ}, + edition = {3-е}, address = {М.}, - year = {1982}, - pagetotal = {212}, + year = {1988}, + volume = {30}, + pages = {72}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib index d2e55c91b32..8a9d3979f7f 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib @@ -1,12 +1,14 @@ -@THESIS{KIA85-autoref, - author = {Котельников, Игорь Александрович}, - title = {Теория магнитного удержания двухкомпонентной плазмы - в открытых ловушках}, - type = {Автореф.\ дис.\ на соиск.\ учен.\ степ.\ д-ра физ.-мат.\ наук}, - number = {01.04.08}, - school = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН}, - address = {Новосибирск}, - year = {1995}, - pagetotal = {17}, +@INPROCEEDINGS{Ponomarenko88, + author = {Пономаренко, Л. А. and Жучкова, И. В.}, + title = {Оптимальное назначение приоритетов + при организации доступа в локальных + вычислительных сетях АСУТП}, + booktitle = {Труды Междунар.\ конф.\ + <<Локальные вычислительные сети>> (ЛОКСЕТЬ 88)}, + volume = {1}, + address = {Рига}, + publisher = {ИЭВТ АН Латвии}, + year = {1988}, + pages = {149-153}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib deleted file mode 100644 index 9569e1bb2d5..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib +++ /dev/null @@ -1,46 +0,0 @@ -@THESIS{vishnyakov:thesis1, - title = {Модели и методы оценки коммерческих банков в условиях неопределенности}, - author = {Вишняков, Илья Владимирович}, - year = {2002}, - date = {2002-02-04}, - langid = {russian}, - language = {russian}, - location = {М.}, - speciality = {экон. наук}, - number = {08.00.13}, - pagetotal = {234}, - titleaddon = {защищена 12.02.02~: утв. 24.06.02}, -} - -@THESIS{vishnyakov:thesis2, - title = {Модели и методы оценки коммерческих банков в условиях неопределенности}, - author = {Вишняков, Илья Владимирович}, - type = {phdthesis}, - addendum = {Библиогр.: с. 220---230.~--- 04200204433}, - _year = {2002}, - date = {2002-02-04}, - langid = {russian}, - language = {russian}, - location = {М.}, - speciality = {экон. наук}, - specialitycode = {08.00.13}, - media = {text}, - pagetotal = {234}, - titleaddon = {защищена 12.02.02~: утв. 24.06.02}, -} - - -@THESIS{Skvortsov:2008, - title = {Флуктуационные и интерференционные эффекты в мезоскопических системах}, - author = {Скворцов, Михаил Андреевич}, - type = {docthesis}, - _year = {2008}, - institution = {ИТФ им. Л.\,Д.~Ландау}, - langid = {russian}, - language = {russian}, - location = {Черноголовка}, - speciality = {физ.-мат. наук}, - specialitycode = {01.04.02}, - media = {text}, - pagetotal = {224}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib index 950f353aef1..59d5fd3c678 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib @@ -1,11 +1,9 @@ -@BOOK{Ponomarenko76, - author = {Пономаренко, Л. А. and Буадзе, В. В.}, - title = {Математические модели и алгоритмы сбора - и обработки информации в АСУТП непрерывных - станов горячей прокатки}, - address = {К.}, - year = {1976}, - pagetotal = {37}, - language = {russian}, - note = {(Препр./ АН Украины. Ин-т кибернетики; 76-76)}, +@INPROCEEDINGS{Melikov95, + author = {Melikov, A. Z. and Ponomarenko, L. A.}, + title = {On the approach to optimal control + of queuing systems with multiple classes of customers}, + booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, + address = {Wroclaw (Poland)}, + year = {1995}, + pages = {507-515}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib index f1bd612b343..cf0f2c1c930 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib @@ -1,15 +1,28 @@ -@REPORT{Report81-rep, - title = {Проведение испытаний и исследований - теплотехнических свойств камер {КХС-2-12-ВЗ} - и {КХС-2-12-КЗІО}}, - institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти}, - address = {М.}, - organization = {ВИНИТИ}, - year = {1981}, - pagetotal = {90}, - type = {Отчет о {НИР}}, - editor = {Путин, В. В.}, - author = {Медведев, Д. А. and others}, - note = {Инв.\ № В 119692}, - language = {russian}, +@INPROCEEDINGS{Gojchuk98, + author = {Гойчук, А. Ф.}, + title = {Особливості етіології і патогенезу поперечного раку + дуба звичайного в Україні}, + booktitle = {Науковий вісник Національного + аграрного університету}, + editor = {Мельничука, Д. О. and others}, + address = {К.}, + publisher = {НАУ}, + year = {1998}, + series = {Вип. 8: Лісівництво}, + pages = {168--173}, + language = {ukrainian}, +} + +@INPROCEEDINGS{Polyakov98a, + author = {М. О. Поляков}, + title = {Системний ефект агрегування лісосік в управлінні + лісовими ресурсами на регіональному рівні}, + crossref = {Gojchuk98}, + annote = {Розглянуто ефект агрегування елементарних + господарських одиниць на розмір розрахункової лісосіки. + Запропоновано метод визначення максимально допустимого розміру + рубання за площею на рівні регіону в контексті системи + державного регулювання лісокористування для умов ринкової + економіки}, + pages = {213--220}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib index cc599b52b7b..804f156ba17 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib @@ -1,11 +1,16 @@ -@BOOK{CatalogMamals81, - title = {Каталог млекопитающих СССР. - Плиоцен "--- современность}, - organization = {АН СССР, Зоол.\ ин-т}, - editor = {И. М. Громова and Г. И. Барановой}, - address = {Л.}, - publisher = {Наука, Ленинг.\ отд-ние}, - year = {1981}, - pagetotal = {456}, +@INPROCEEDINGS{TranskSpivrob99:Purich, + author = {Пурич, Штефан}, + title = {{Р}умынско-{У}краинское трансграничное сотрудничество: + проблемы и перспективы}, language = {russian}, + booktitle = {Транскордонне співробітництво у поліетнічних регіонах + {С}хідної та {П}івденно-{С}хідної {Є}вропи: {М}атеріали наукового + симпозіуму}, + editor = {Макара, Ю.}, + address = {Чернівці}, + publisher = {Золоті литаври}, + organization = {Буковинський політологічний центр}, + year = {1999}, + pagetotal = {196}, + booklanguage = {ukrainian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib index cff85edfbe4..5f413581359 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib @@ -1,12 +1,9 @@ -@BOOK{Instr86, - title = {Типовая инструкция по эксплуатации - топливоотдачи тепловых электростанций~: - ТИ 34-70-044-85~: Утв. Гл. техн. упр. - по эксплуатации энергосистем 01.10.85~: - Срок действия установлен с 01.01.86 до 01.01.95}, - organization = {М-во энергетики и электрификации СССР}, - address = {М.}, - year = {1986}, - pagetotal = {43}, - language = {russian}, +@INPROCEEDINGS{Selikov95, + author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.}, + title = {On the approach to optimal control + of queuing systems with multiple classes of customers}, + booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, + address = {Wroclaw (Poland)}, + year = {1995}, + pages = {507-515}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27.bib index bdd9cdd95b0..ab7431fd326 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20c.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27.bib @@ -1,13 +1,3 @@ -@INPROCEEDINGS{Selikov95, - author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, -} - @INPROCEEDINGS{Selikov+95, author = {Селиков, A. Z. and Пономарь, L. A. and Крамаренко, L. S. and Золкин, Л. Ю.}, title = {On the approach to optimal control diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib index 530ca4e2eb8..16a1d96e615 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib @@ -1,25 +1,11 @@ -@BOOK{IsaacNewton, - author = {Newton, {\relax Sir Isaac}}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - publisher = {William Innys}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {eresource}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, +@BOOK{GOST7184, + key = {ГОСТ}, + title = {ГОСТ 7.1-84. Библиографическое описание документа. + Общие требования и правила составления. + --- Взамен ГОСТ 7.1-76~; введ. 01.01.86.}, + address = {М.}, + publisher = {Изд-во стандартов}, + year = {1984}, + pagetotal = {78}, + language = {russian}, } - -@BOOK{IsaacNewton-sl:sn, - author = {{\relax Sir I}saac Newton}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {online}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, -} -% publisher = {William Innys}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib deleted file mode 100644 index de6e440d0af..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib +++ /dev/null @@ -1,32 +0,0 @@ -@BOOK{Encyclopedia, - title = {Художественная энциклопедия зарубежного классического искусства}, - publisher = {Большая Рос. энцикл.}, - year = {1996}, - address = {М.}, - note = {1 электрон. опт. диск (CD-ROM)}, - language = {russian}, - media = {eresource}, -} - -@ARTICLE{Nasirova, - title = {Модели государственного регулирования страховой деятельности}, - author = {Насырова, Г. А.}, - language = {russian}, - note = {Режим доступа: http://vestnik.fa.ru/4(28)2003/4.html}, - number = {4}, - year = {2003}, - journal = {Вестник Финансовой академии}, - media2 = {eresource}, - media = {online}, -} - -@BOOK{kremlincd, - title = {Московский Кремль}, - titleaddon = {трехмер. путеводитель}, - language = {russian}, - note = {CD-ROM}, - date = {2007}, - location = {М.}, - publisher = {Новый Диск}, - media = {eresource}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib index 416cb5b91c9..a6769ddfb48 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib @@ -1,15 +1,14 @@ -@ARTICLE{PhysRevLett.101.085006, - author = {Kotelnikov, Igor and Rom\'e, Massimiliano}, - volume = {101}, - journal = {Phys. Rev. Lett.}, - month = {Aug}, - pagetotal = {4}, - title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap}, - year = {2008}, - doi = {10.1103/PhysRevLett.101.085006}, - issue = {8}, - publisher = {American Physical Society}, - pages = {085006}, +@PHDTHESIS{Luus82, + author = {Луус, Роман Аркадьевич}, + title = {Исследование оборудования с пневмовакуумным + приводом для захвата, перемещения и фиксации + при обработке пористых и легкоповреждаемых + строительных изделий}, + type = {Диссертация на соискание ученой степени кандидата технических наук}, + number = {05.05.04}, + institution = {Моск.\ строит.\ ин-т}, + address = {М.}, + year = {1982}, + pagetotal = {212}, + language = {russian}, } - -% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib index b9e2ce43b5b..9464e2b0086 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib @@ -1,27 +1,11 @@ -@ARTICLE{1998PhRvE..57.7111K, - author = {{Kinney}, R.~M. and {McWilliams}, J.~C.}, - title = {{Turbulent cascades in anisotropic magnetohydrodynamics}}, - journal = pre, - keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation}, - year = {1998}, - month = jun, - volume = {57}, - pages = {7111-7121}, - doi = {10.1103/PhysRevE.57.7111}, - adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System}, -} - -@ARTICLE{1998UFN, - author = {Котельников, И. А. and Астрелин, В. Т.}, - title = {Теория плазменного эмиттера положительных ионов}, - journal = ufn, - keywords = {плазменный эмиттер, критерий Бома}, - year = {2015}, - month = jul, - volume = {185}, - pages = {753-771}, +@DOCTHESIS{KIA95-default, + author = {Котельников, Игорь Александрович}, + title = {Теория магнитного удержания двухкомпонентной плазмы + в открытых ловушках}, + number = {01.04.08}, + institution = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН}, + address = {Новосибирск}, + year = {1995}, + pagetotal = {350}, language = {russian}, - doi = {10.3367/UFNr.0185.201507c.0753}, - url = {http://ufn.ru/ru/articles/2015/7/c/}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib index 7c86f15b6e0..15cb434e7cf 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib @@ -1,40 +1,7 @@ -@PATENT{patent1, - author = {Э. В. Тернер}, - authorcountry = {США}, - title = {Одноразовая ракета-носитель}, - media = {text}, - type = {заявка}, - number = {1095735}, - location = {Рос. Федерация}, - ipc = {МПК\ensuremath{^7} B 64 G 1/00}, - holder = {заявитель Спейс Системз/Лорал, инк.}, - credits = {патент. поверенный Егорова Г. Б.}, - requestnumber = {000108705/28}, - requestdate = {07.04.2000}, - publicationdate = {10.03.2001}, - publication = {Бюл. № 7 (I ч.)}, - prioritydate= {09.04.1999}, - prioritynumber = {09/289, 037}, - prioritycountry = {США}, - pagetotal = {5 с.~: ил.}, - language = {russian}, +@MASTERSTHESIS{mastersthesis-minimal, + title = {Mastering Thesis Writing}, + author = {{\'{E}}douard Masterly}, + year = {1988}, + institution = {Stanford University}, } -@PATENT{patent2, - author = {В. И. Чугаева}, - authorcountry = {РФ}, - title = {Приемопередающее устройство}, - media = {text}, - type = {пат.}, - number = {2000131736/09}, - location = {Рос. Федерация}, - ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00}, - holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.}, - credits = {патент. поверенный Егорова Г. Б.}, - requestnumber = {000108705/28}, - date = {18.12.2000}, - publicationdate = {20.08.2002}, - publication = {Бюл. № 23 (II ч.)}, - pagetotal = {2 с.~: ил.}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex32.bib index 49be1815053..7db20865644 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21b.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex32.bib @@ -1,10 +1,3 @@ -@MASTERSTHESIS{mastersthesis-minimal, - title = {Mastering Thesis Writing}, - author = {{\'{E}}douard Masterly}, - year = {1988}, - institution = {Stanford University}, -} - @MASTERSTHESIS{mastersthesis-full, title = {Mastering Thesis Writing}, author = {{\'{E}}douard Masterly}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex33.bib index 9464e2b0086..d2e55c91b32 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21a.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex33.bib @@ -1,11 +1,12 @@ -@DOCTHESIS{KIA95-default, +@THESIS{KIA85-autoref, author = {Котельников, Игорь Александрович}, title = {Теория магнитного удержания двухкомпонентной плазмы в открытых ловушках}, + type = {Автореф.\ дис.\ на соиск.\ учен.\ степ.\ д-ра физ.-мат.\ наук}, number = {01.04.08}, - institution = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН}, + school = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН}, address = {Новосибирск}, year = {1995}, - pagetotal = {350}, + pagetotal = {17}, language = {russian}, } diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib new file mode 100644 index 00000000000..6d6ddb490dd --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib @@ -0,0 +1,13 @@ +@THESIS{vishnyakov:thesis1, + title = {Модели и методы оценки коммерческих банков в условиях неопределенности}, + author = {Вишняков, Илья Владимирович}, + date = {2002}, + langid = {russian}, + language = {russian}, + location = {М.}, + speciality = {экон. наук}, + number = {08.00.13}, + pagetotal = {234}, + titleaddon = {защищена 12.02.02~: утв. 24.06.02}, +} + diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib new file mode 100644 index 00000000000..c77e99b46ec --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib @@ -0,0 +1,16 @@ +@THESIS{vishnyakov:thesis2, + title = {Модели и методы оценки коммерческих банков в условиях неопределенности}, + author = {Вишняков, Илья Владимирович}, + type = {phdthesis}, + addendum = {Библиогр.: с. 220---230.~--- 04200204433}, + _year = {2002}, + date = {2002-02-04}, + langid = {russian}, + language = {russian}, + location = {М.}, + speciality = {экон. наук}, + specialitycode = {08.00.13}, + media = {text}, + pagetotal = {234}, + titleaddon = {защищена 12.02.02~: утв. 24.06.02}, +}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib new file mode 100644 index 00000000000..88f70967cdc --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib @@ -0,0 +1,14 @@ +@THESIS{Skvortsov:2008, + title = {Флуктуационные и интерференционные эффекты в мезоскопических системах}, + author = {Скворцов, Михаил Андреевич}, + type = {docthesis}, + _year = {2008}, + institution = {ИТФ им. Л.\,Д.~Ландау}, + langid = {russian}, + language = {russian}, + location = {Черноголовка}, + speciality = {физ.-мат. наук}, + specialitycode = {01.04.02}, + media = {text}, + pagetotal = {224}, +}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib new file mode 100644 index 00000000000..950f353aef1 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib @@ -0,0 +1,11 @@ +@BOOK{Ponomarenko76, + author = {Пономаренко, Л. А. and Буадзе, В. В.}, + title = {Математические модели и алгоритмы сбора + и обработки информации в АСУТП непрерывных + станов горячей прокатки}, + address = {К.}, + year = {1976}, + pagetotal = {37}, + language = {russian}, + note = {(Препр./ АН Украины. Ин-т кибернетики; 76-76)}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib new file mode 100644 index 00000000000..f1bd612b343 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib @@ -0,0 +1,15 @@ +@REPORT{Report81-rep, + title = {Проведение испытаний и исследований + теплотехнических свойств камер {КХС-2-12-ВЗ} + и {КХС-2-12-КЗІО}}, + institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти}, + address = {М.}, + organization = {ВИНИТИ}, + year = {1981}, + pagetotal = {90}, + type = {Отчет о {НИР}}, + editor = {Путин, В. В.}, + author = {Медведев, Д. А. and others}, + note = {Инв.\ № В 119692}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex39.bib index c8c698a48a5..c8c698a48a5 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24a.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex39.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex40.bib index c900abee931..c900abee931 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24b.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex40.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib new file mode 100644 index 00000000000..cc599b52b7b --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib @@ -0,0 +1,11 @@ +@BOOK{CatalogMamals81, + title = {Каталог млекопитающих СССР. + Плиоцен "--- современность}, + organization = {АН СССР, Зоол.\ ин-т}, + editor = {И. М. Громова and Г. И. Барановой}, + address = {Л.}, + publisher = {Наука, Ленинг.\ отд-ние}, + year = {1981}, + pagetotal = {456}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib new file mode 100644 index 00000000000..cff85edfbe4 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib @@ -0,0 +1,12 @@ +@BOOK{Instr86, + title = {Типовая инструкция по эксплуатации + топливоотдачи тепловых электростанций~: + ТИ 34-70-044-85~: Утв. Гл. техн. упр. + по эксплуатации энергосистем 01.10.85~: + Срок действия установлен с 01.01.86 до 01.01.95}, + organization = {М-во энергетики и электрификации СССР}, + address = {М.}, + year = {1986}, + pagetotal = {43}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib new file mode 100644 index 00000000000..4dd4ff9c799 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib @@ -0,0 +1,22 @@ +@PATENT{patent1, + author = {Э. В. Тернер}, + authorcountry = {США}, + title = {Одноразовая ракета-носитель}, + media = {text}, + type = {заявка}, + number = {1095735}, + location = {Рос. Федерация}, + ipc = {МПК\ensuremath{^7} B 64 G 1/00}, + holder = {заявитель Спейс Системз/Лорал, инк.}, + credits = {патент. поверенный Егорова Г. Б.}, + requestnumber = {000108705/28}, + requestdate = {07.04.2000}, + publicationdate = {10.03.2001}, + publication = {Бюл. № 7 (I ч.)}, + prioritydate= {09.04.1999}, + prioritynumber = {09/289, 037}, + prioritycountry = {США}, + pagetotal = {5 с.~: ил.}, + language = {russian}, +} + diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib new file mode 100644 index 00000000000..fa775b73689 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib @@ -0,0 +1,18 @@ +@PATENT{patent2, + author = {В. И. Чугаева}, + authorcountry = {РФ}, + title = {Приемопередающее устройство}, + media = {text}, + type = {пат.}, + number = {2000131736/09}, + location = {Рос. Федерация}, + ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00}, + holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.}, + credits = {патент. поверенный Егорова Г. Б.}, + requestnumber = {000108705/28}, + date = {18.12.2000}, + publicationdate = {20.08.2002}, + publication = {Бюл. № 23 (II ч.)}, + pagetotal = {2 с.~: ил.}, + language = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex45.bib index 35f92171c2a..35f92171c2a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27c.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex45.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib new file mode 100644 index 00000000000..3589fcd0874 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib @@ -0,0 +1,12 @@ +@BOOK{IsaacNewton, + author = {Newton, {\relax Sir Isaac}}, + title = {Opticks, or a treatise of the reflections, + refractions, inflections and colours of light}, + publisher = {William Innys}, + url = {http://books.google.com/books?id=XXu4AkRVBBoC}, + media = {eresource}, + year = {1730}, + pagetotal = {382}, + eprint = {XXu4AkRVBBoC}, + eprinttype = {Google Books}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib new file mode 100644 index 00000000000..72aefbac201 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib @@ -0,0 +1,12 @@ +@BOOK{IsaacNewton-sl:sn, + author = {{\relax Sir I}saac Newton}, + title = {Opticks, or a treatise of the reflections, + refractions, inflections and colours of light}, + url = {http://books.google.com/books?id=XXu4AkRVBBoC}, + media = {online}, + year = {1730}, + pagetotal = {382}, + eprint = {XXu4AkRVBBoC}, + eprinttype = {Google Books}, +} +% publisher = {William Innys}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib new file mode 100644 index 00000000000..5cee65582fa --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib @@ -0,0 +1,9 @@ +@BOOK{Encyclopedia, + title = {Художественная энциклопедия зарубежного классического искусства}, + publisher = {Большая Рос. энцикл.}, + year = {1996}, + address = {М.}, + note = {1 электрон. опт. диск (CD-ROM)}, + language = {russian}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib new file mode 100644 index 00000000000..8ab460145ee --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib @@ -0,0 +1,11 @@ +@ARTICLE{Nasirova, + title = {Модели государственного регулирования страховой деятельности}, + author = {Насырова, Г. А.}, + language = {russian}, + note = {Режим доступа: http://vestnik.fa.ru/4(28)2003/4.html}, + number = {4}, + year = {2003}, + journal = {Вестник Финансовой академии}, + media2 = {eresource}, + media = {online}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib new file mode 100644 index 00000000000..99ac9313ff4 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib @@ -0,0 +1,10 @@ +@BOOK{kremlincd, + title = {Московский Кремль}, + titleaddon = {трехмер. путеводитель}, + language = {russian}, + note = {CD-ROM}, + date = {2007}, + location = {М.}, + publisher = {Новый Диск}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib new file mode 100644 index 00000000000..416cb5b91c9 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib @@ -0,0 +1,15 @@ +@ARTICLE{PhysRevLett.101.085006, + author = {Kotelnikov, Igor and Rom\'e, Massimiliano}, + volume = {101}, + journal = {Phys. Rev. Lett.}, + month = {Aug}, + pagetotal = {4}, + title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap}, + year = {2008}, + doi = {10.1103/PhysRevLett.101.085006}, + issue = {8}, + publisher = {American Physical Society}, + pages = {085006}, +} + +% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib new file mode 100644 index 00000000000..1a02f1ba402 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib @@ -0,0 +1,7 @@ +@ONLINE{wiki:latex, + author = {Wikipedia}, + title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia}, + year = {2012}, + url = {http://en.wikipedia.org/wiki/LaTeX}, + urldate = {25.01.2012}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex53.bib index 9b58759802c..282bc401d28 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27a.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex53.bib @@ -1,11 +1,3 @@ -@ONLINE{wiki:latex, - author = {Wikipedia}, - title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia}, - year = {2012}, - url = {http://en.wikipedia.org/wiki/LaTeX}, - urldate = {25.01.2012}, -} - @ONLINE{wiki:latex-2, author = {Wikipedia}, title = {{\LaTeX}}, diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex54.bib index c903934e1d0..c903934e1d0 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27b.bib +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex54.bib diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib new file mode 100644 index 00000000000..e6aad14b23c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib @@ -0,0 +1,13 @@ +@ARTICLE{1998PhRvE..57.7111K, + author = {{Kinney}, R.~M. and {McWilliams}, J.~C.}, + title = {{Turbulent cascades in anisotropic magnetohydrodynamics}}, + journal = pre, + keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation}, + year = {1998}, + month = jun, + volume = {57}, + pages = {7111-7121}, + doi = {10.1103/PhysRevE.57.7111}, + adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib new file mode 100644 index 00000000000..cd7366ac7f3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib @@ -0,0 +1,13 @@ +@ARTICLE{1998UFN, + author = {Котельников, И. А. and Астрелин, В. Т.}, + title = {Теория плазменного эмиттера положительных ионов}, + journal = ufn, + keywords = {плазменный эмиттер, критерий Бома}, + year = {2015}, + month = jul, + volume = {185}, + pages = {753-771}, + language = {russian}, + doi = {10.3367/UFNr.0185.201507c.0753}, + url = {http://ufn.ru/ru/articles/2015/7/c/}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib new file mode 100644 index 00000000000..d15c8a59ff6 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib @@ -0,0 +1,9 @@ +@ONLINE{cs.SE:30073, + title = {Cutting equal sticks from different sticks}, + howpublished = {Computer Science Stack Exchange}, + url = {http://cs.stackexchange.com/q/30073}, + urldate = {2014-11-26}, + author = {Erel Segal-Halevi}, + date = {2014-09-17}, + nameaddon = {\url{http://cs.stackexchange.com/users/1342/}}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib new file mode 100644 index 00000000000..b8cc3036b78 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib @@ -0,0 +1,10 @@ +@MISC{CS:30073, + title = {Cutting equal sticks from different sticks}, + author = {Erel Segal-Halevi}, + howpublished = {Computer Science Stack Exchange}, + url = {http://cs.stackexchange.com/q/30073}, + urldate = {2014-11-26}, + year = {2014}, + authorurl = {http://cs.stackexchange.com/users/1342/}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib new file mode 100644 index 00000000000..d22b7662771 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib @@ -0,0 +1,9 @@ +@ONLINE{nos_weeralarm_2009, + title = {Weeralarm en verkeeralarm ingetrokken}, + url = {http://nos.nl/l/124074}, + urldate = {2014-02-12}, + author = {{NOS}}, + date = {2009-12-20}, + keywords = {gladheid, ijs, ongeluk, openbaar vervoer, schiphol, sneeuw}, + titleaddon = {{NOS.nl}}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib new file mode 100644 index 00000000000..dfa25c04480 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib @@ -0,0 +1,11 @@ +@ARTICLE{gibbard, + title = {Morality in Living}, + author = {Gibbard, Allan}, + number = {1}, + pages = {140--164}, + subtitle = {{K}orsgaard's {K}antian Lectures}, + titleaddon = {review of The Sources of Normativity, by {C}hristine {M.} {K}orsgaard}, + volume = {110}, + year = {1999}, + journal = {Ethics}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib new file mode 100644 index 00000000000..1f24356e3d1 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib @@ -0,0 +1,8 @@ +@BOOK{Williams2002, + title = {Free as in Freedom}, + author = {Williams, Sam}, + publisher = {O'Reilly Media}, + year = {2002}, + isbn = {0-596-00287-4}, + titleaddon = {Richard Stallman's Crusade for Free Software}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib new file mode 100644 index 00000000000..8956232df63 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib @@ -0,0 +1,10 @@ +@ONLINE{kruse, + title = {Framework for Sustainable Soil Management: Literature Review and Synthesis}, + url = {http://www.swcs.org/documents/filelibrary/BeyondTliteraturereview.pdf}, + urldate = {2008-08-03}, + year = {2007}, + author = {John S. Kruse}, + publisher = {Soil and Water Conservation Society}, + address = {Ankeny (IA)}, + media = {eresource}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib new file mode 100644 index 00000000000..0ea4915ef23 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib @@ -0,0 +1,17 @@ +@PROCEEDINGS{tmma, + title = {Towards Mechanized Mathematical Assistants}, + editor = {Manuel Kauers and Manfred Kerber and Robert Miner and Wolfgang + Windsteiger}, + isbn = {978-3-540-73083-5}, + language = {english}, + location = {Berlin Heidelberg}, + number = {Volume 4573}, + pagetotal = {410}, + publisher = {Springer}, + series = {Lecture Notes in Computer Science}, + titleaddon = {14th Symposium, Calculemus 2007, 6th International Conference, MKM 2007, + Hagenberg, Austria, June 27-30, 2007. Proceedings}, + year = {2007}, + issn = {0302-9743}, + langid = {english}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib new file mode 100644 index 00000000000..d3524f030a3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib @@ -0,0 +1,12 @@ +@BOOK{dekart:soch, + title = {Сочинения в двух томах}, + author = {Декарт, Рене}, + publisher = {Мысль}, + date = {1989/1994}, + ids = {dekart_soch}, + langid = {russian}, + language = {russian}, + location = {М.}, + origlanguage = {latin and french}, + titleaddon = {пер. с лат. и фр.}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib new file mode 100644 index 00000000000..8875ad7860f --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib @@ -0,0 +1,21 @@ +@INPROCEEDINGS{moraux, + title = {Le \emph{De Anima} dans la tradition gr{\`e}cque}, + author = {Moraux, Paul}, + booktitle = {Aristotle on Mind and the Senses}, + date = {1979}, + editor = {Lloyd, G. E. R. and Owen, G. E. L.}, + booktitleaddon = {Proceedings of the Seventh Symposium Aristotelicum}, + eventdate = {1975}, + language = {french}, + location = {Cambridge}, + pages = {281-324}, + publisher = cup, + subtitle = {Quelques aspects de l'interpretation du trait{\'e}, de + Theophraste {\`a} Themistius}, + annotation = {This is a typical \texttt{inproceedings} entry. Note the + \texttt{booksubtitle}, \texttt{shorttitle}, + \texttt{indextitle}, and \texttt{indexsorttitle} fields. Also + note the \texttt{eventdate} field.}, + keywords = {secondary}, + langid = {russian}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib new file mode 100644 index 00000000000..cb0b4df545e --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib @@ -0,0 +1,8 @@ +@MANUAL{mc:lfcn-400, + title = {Ceramic Low Pass Filter}, + note = {Rev. H}, + number = {LFCN-400+}, + organization = {Mini-Circuits}, + titleaddon = {50~\(\Omega\), DC to 400~{MHz}}, + url = {http://www.minicircuits.com/pdfs/LFCN-400.pdf}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib new file mode 100644 index 00000000000..4efe0949d49 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib @@ -0,0 +1,8 @@ +@MISC{scpi-99, + title = {Standard Commands for Programmable Instruments (SCPI)}, + month = {may}, + note = {Version 1999.0}, + organization = {SCPI Consortium}, + titleaddon = {Volume 1: Syntax and Style}, + year = {1999}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib new file mode 100644 index 00000000000..90489fe4874 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib @@ -0,0 +1,9 @@ +@ARTICLE{scpi-04, + title = {Standard Digital Interface for Programmable Instrumentation}, + doi = {10.1109/ieeestd.2004.95390}, + month = {may}, + pages = {0\_1--0\_5}, + titleaddon = {Part 2: Codes, Formats, Protocols and Common Commands (Adoption of IEEE Std 488.2-1992)}, + year = {2004}, + journal = {IEC 60488-2 First edition 2004-05; IEEE 488.2}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib new file mode 100644 index 00000000000..f130889538f --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib @@ -0,0 +1,14 @@ +@TECHREPORT{Drake1948, + title = {Results obtained during accelerated transonic tests of + the {Bell} {XS-1} airplane in flights to a {MACH} number of + 0.92}, + author = {Drake, Huber M. and McLaughlin, Milton D. and Goodman, + Harold R.}, + institution = {NASA Dryden Flight Research Center}, + location = {Edwards, CA}, + month = {1}, + number = {NACA-RM-L8A05A}, + url = {http://www.nasa.gov/centers/dryden/pdf/87528main_RM-L8A05A.pdf}, + year = {1948}, + language = {english}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib new file mode 100644 index 00000000000..b64866e246b --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib @@ -0,0 +1,10 @@ +@THESIS{geer, + title = {Earl, Saint, Bishop, Skald~-- and Music~: The {Orkney Earldom} + of the Twelfth Century. {A} Musicological Study}, + author = {de Geer, Ingrid}, + type = {phdthesis}, + date = {1985}, + institution = {Uppsala Universitet}, + langid = {english}, + location = {Uppsala}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib new file mode 100644 index 00000000000..328bf3c8844 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib @@ -0,0 +1,9 @@ +@THESIS{loh, + title = {High-Resolution Micromachined Interferometric Accelerometer}, + author = {Loh, Nin C.}, + type = {mathesis}, + date = {1992}, + institution = {Massachusetts Institute of Technology}, + langid = {english}, + location = {Cambridge, Mass.}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib new file mode 100644 index 00000000000..636df657d75 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib @@ -0,0 +1,18 @@ +@BOOK{Duebner1878, + title = {Scholia in Theocritum, Nicandrum et Oppianum}, + author = {D\"{u}bner, F. and Bussemaker, U. Cats}, + publisher = {Editore Ambrosio Firmin--Didot}, + year = {1878}, + location = {Parisiis}, + langid = {french}, +} + +@INBOOK{Bussemaker1878, + title = {Scholia et Paraphrases in Nicandrum et Oppianum}, + author = {Bussemaker, U. Cats}, + pages = {243--364}, + crossref = {Duebner1878}, + titleaddon = {Partim nunc primum edidit, partim collatis cod. mss., emendavit, + annotatione critica instruxit et indices confecit}, + langid = {french}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib new file mode 100644 index 00000000000..669ebfbeb47 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib @@ -0,0 +1,22 @@ +@THESIS{Deluz1972, + title = {\emph{Liber de quibusdam ultramarinis partibus et praecipuede + Terra sancta} de Guillaume de Boldensele (1336) ; suivi de la traduction de + Fr\`{e}re Jean Le Long (1351)}, + author = {Christiane Deluz}, + school = {Paris-IV}, + type = {phdthesis}, + year = {1972}, + editor = {Mollat du Jourdin, Michel}, + volumes = {2}, + langid = {french}, +} + +@BOOK{GuilielmusdeBoldensele, + title = {Liber de quibusdam ultramarinis partibus et praecipue de + Terra sancta}, + author = {{Guilielmus de Boldensele}}, + volume = {2}, + crossref = {Deluz1972}, + pages = {195-291}, + langid = {french}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib new file mode 100644 index 00000000000..58cf26825a7 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib @@ -0,0 +1,14 @@ +@ARTICLE{veilahti:abm, + title = {Alain Badiou's Mistake~--- Two Postulates of Dialectic Materialism}, + author = {Antti Veilahti}, + date = {2013-01-10}, + eprint = {1301.1203v2}, + eprintclass = {math.CT}, + eprinttype = {arXiv}, + language = {english}, + month = jan, + year = {2013}, + journal = {ArXiv e-prints}, + langid = {english}, + pagetotal = {41+1}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib new file mode 100644 index 00000000000..daac54701d2 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib @@ -0,0 +1,10 @@ +@ONLINE{wassenberg, + title = {Faster Radix Sort via Virtual Memory and Write-Combining}, + author = {Wassenberg, Jan and Sanders, Peter}, + date = {2010-08-17}, + eprint = {1008.2849v1}, + eprintclass = {cs.DS}, + eprinttype = {arxiv}, + langid = {english}, + version = {1}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib new file mode 100644 index 00000000000..d691dba09ff --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib @@ -0,0 +1,18 @@ +@ARTICLE{Lisi1995, + title = {A solitary wave solution of the {M}axwell-{D}irac equations}, + author = {{Lisi}, A.~G.}, + doi = {10.1088/0305-4470/28/18/026}, + eprint = {9410244}, + eprintclass = {hep-th}, + eprinttype = {arxiv}, + month = {sep}, + number = {18}, + pages = {5385--5392}, + url = {http://stacks.iop.org/0305-4470/28/5385}, + volume = {28}, + year = {1995}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, + adsurl = {http://adsabs.harvard.edu/abs/1995JPhA...28.5385L}, + journal = {Journal of Physics A: Mathematical and General}, + publisher = {{IOP} Publishing}, +} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib deleted file mode 100644 index c017576999b..00000000000 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib +++ /dev/null @@ -1,664 +0,0 @@ -@BOOK{Vasylenko92, - author = {Василенко, М. В.}, - title = {Теорія коливань: Навчальний посібник}, - address = {К.}, - publisher = {Вища школа}, - year = {1992}, - pagetotal = {430}, - language = {ukrainian}, -} -@BOOK{Afanasyev92, - author = {Афанасьев, В. В. and Василевский, О. Н.}, - title = {Расчеты электрических цепей - на программируемых микрокалькуляторах}, - address = {М.}, - publisher = {Энергоиздат}, - year = {1992}, - pagetotal = {190}, - language = {russian}, -} -@BOOK{Makilov91, - author = {Меликов, А. З. and Пономаренко, Л. А. - and Рюмшин, П. А.}, - title = {Математические модели многопотоковых - систем обслуживания}, - address = {К.}, - publisher = {Техніка}, - year = {1991}, - pagetotal = {265}, - language = {russian}, -} -@BOOK{Ponomarenko86, - title = {Основы создания гибких атоматизированных производств}, - author = {Л. А. Пономаренко and Л. В. Адамович - and В. Т. Музычук and А. Е. Гридасов}, - editor = {Б. Б. Тимофеева}, - address = {К.}, - publisher = {Техніка}, - year = {1986}, - pagetotal = {144}, - language = {russian}, -} -@BOOK{Belousova81, - title = {Системный анализ инфраструктуры - как элемент народного хозяйства}, - author = {Белоусова, Н. И. and Вишняк, Е. И. - and Левит, В. Ю. and others}, - address = {М.}, - publisher = {Экономика}, - year = {1981}, - pagetotal = {62}, - language = {russian}, -} -@BOOK{BibOp91, - title = {Составление библиографического описания: - Краткие правила}, - organization = {Междувед. каталогизац. комис. - при Гос. б-ке СССР им.~В.~И. Ленина}, - edition = {2-е, доп.}, - address = {М.}, - publisher = {Кн.~палата}, - year = {1991}, - pagetotal = {224}, - language = {russian}, -} -@BOOK{Poems82, - title = {Стихи о музыке. Русские, - советские, зарубежные поэты: Сборник}, - compiler = {А. Бирюкова and В. Татаринов}, - address = {М.}, - publisher = {Сов. композитор}, - year = {1982}, - pagetotal = {224}, - language = {russian}, -} -@BOOK{HistLit82, - title = {История русской литературы: В 4 т.}, - organization = {АН СССР, Ин-т рус.~лит.\ (Пушкин.дом)}, - address = {М.}, - year = {1982}, - volume = {3: Расцвет реализма}, - pagetotal = {876}, - language = {russian}, -} -@BOOK{Landau:eldin, - author = {Л. Д. Ландау and Е. М. Лифшиц}, - title = {Теоретическая физика: учебное пособие в 10 т.}, - publisher = {Наука. Гл.\ ред.\ физ.-мат.\ лит.}, - address = {М.}, - year = {1992}, - volume = {VIII. Электродинамика сплошных сред}, - edition = {3-е, испр.}, - language = {russian}, -} -@BOOK{BRLS94, - title = {Нарысы па гiсторыi беларуска-рускiх - лiтаратурных сувязей: У 4 кн.}, - organization = {Акад.\ навук Беларусi. Iн-т лiт.}, - address = {Мiнск}, - publisher = {Навука i тэхнiка}, - year = {1994}, - volume = {2: Пачатак ХХ ст. 1900--1917 гг.}, - editor = {В. А. Каваленка and I. Я. Навуменка}, - pagetotal = {440}, - language = {russian}, -} -@BOOK{Grosse80, - author = {Гроссе, Э. and Вайсмангель, Х.}, - title = {Химия для любознательных: Пер.\ с нем.}, - address = {М.}, - publisher = {Химия}, - year = {1980}, - pagetotal = {392}, - language = {russian}, -} -@BOOK{GOST7184, - key = {ГОСТ}, - title = {ГОСТ 7.1-84. Библиографическое описание документа. - Общие требования и правила составления. - --- Взамен ГОСТ 7.1-76~; введ. 01.01.86.}, - address = {М.}, - publisher = {Изд-во стандартов}, - year = {1984}, - pagetotal = {78}, - language = {russian}, -} -@BOOK{ObchTech93, - title = {Обчислювальна і прикладна математика: Зб.наук.пр.}, - address = {К.}, - publisher = {Либідь}, - year = {1993}, - pagetotal = {99}, - language = {ukrainian}, -} -@BOOK{Bibdelo86, - title = {Библиотечное дело: Терминол. словарь}, - composer = {И. М. Суслова and Л. Н. Уланова}, - edition = {2-е изд.}, - address = {М.}, - publisher = {Книга}, - year = {1986}, - pagetotal = {224}, - language = {russian}, -} -@INBOOK{Ponomarenko79, - author = {Пономаренко, Л. А.}, - title = {Организующая система}, - booktitle = {Автоматизация технологических процессов - в прокатном производстве}, - address = {М.}, - publisher = {Металлургия}, - year = {1979}, - pages = {141-148}, - language = {russian}, -} -@INBOOK{Zeyts70, - author = {Зейтц, Ф.}, - title = {О приведении пространственных групп}, - booktitle = {Симметрия в твердом теле}, - bookauthor = {Нокс, Р. and Голд, А.}, - address = {М.}, - publisher = {Наука}, - year = {1970}, - pages = {172--186}, - language = {russian}, -} -@INCOLLECTION{Ponoomarenko76, - author = {Пономаренко, Л. А.}, - title = {Структура системы прерывания с ситуационными - приоритетами в АСУТП станов горячей прокатки}, - booktitle = {Разработка автоматизированных систем управления - технологическими процессами}, - address = {Тбилиси}, - publisher = {Сабчота Сакартвело}, - year = {1976}, - pages = {3-16}, - language = {russian}, -} -@ARTICLE{Malikov92, - author = {Меликов, А. З. and Пономаренко, Л. А.}, - title = {Оптимизация цифровой сети интегрального обслуживания - с конечным числом пользователей и блокировками}, - journal = {Автоматика и телемеханика}, - year = {1992}, - number = {6}, - pages = {34-38}, - language = {russian}, -} -@ARTICLE{Ponomarenko86a, - author = {Пономаренко, Л. А. and Меликов, А. З.}, - title = {Ситуационное управление многоканальной системой - с переменной структурой обслуживания неоднородного потока}, - journal = {Изв.\ АН Азерб.\ Респ. Сер.\ физ.-техн.\ и мат.\ наук}, - year = {1986}, - volume = {7}, - number = {6}, - pages = {79-83}, - language = {russian}, -} -@ARTICLE{dixit.pindyck:options, - title = {The Options Approach to Capital Investment}, - author = {Avinash K. Dixit and Robert S. Pindyck}, - journal = {Harvard Business Review}, - year = {1995}, - month = {May-June}, - pages = {105--115}, -} -@ARTICLE{RosGaz-article, - title = {Федеральный закон о внесении изменений - и дополнений в Семейный кодекс Российской Федерации}, - journal = {Российская газета}, - year = {1997}, - month = {19 нояб}, - pages = {4}, - note = {Российская Федерация. Законы}, - language = {russian}, -} -@INBOOK{Dolmatovskiy88, - author = {Долматовский, Ю. А.}, - title = {Электромобиль}, - booktitle = {БСЭ}, - edition = {3-е}, - address = {М.}, - year = {1988}, - volume = {30}, - pages = {72}, - language = {russian}, -} -@INPROCEEDINGS{Ponomarenko88, - author = {Пономаренко, Л. А. and Жучкова, И. В.}, - title = {Оптимальное назначение приоритетов - при организации доступа в локальных - вычислительных сетях АСУТП}, - booktitle = {Труды Междунар.\ конф.\ - <<Локальные вычислительные сети>> (ЛОКСЕТЬ 88)}, - volume = {1}, - address = {Рига}, - publisher = {ИЭВТ АН Латвии}, - year = {1988}, - pages = {149-153}, - language = {russian}, -} -@INPROCEEDINGS{Melikov95, - author = {Melikov, A. Z. and Ponomarenko, L. A.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, -} -@INPROCEEDINGS{Gojchuk98, - author = {Гойчук, А. Ф.}, - title = {Особливості етіології і патогенезу поперечного раку - дуба звичайного в Україні}, - booktitle = {Науковий вісник Національного - аграрного університету}, - editor = {Мельничука, Д. О. and others}, - address = {К.}, - publisher = {НАУ}, - year = {1998}, - series = {Вип. 8: Лісівництво}, - pages = {168--173}, - language = {ukrainian}, -} - -@INPROCEEDINGS{Polyakov98a, - author = {М. О. Поляков}, - title = {Системний ефект агрегування лісосік в управлінні - лісовими ресурсами на регіональному рівні}, - crossref = {Gojchuk98}, - annote = {Розглянуто ефект агрегування елементарних - господарських одиниць на розмір розрахункової лісосіки. - Запропоновано метод визначення максимально допустимого розміру - рубання за площею на рівні регіону в контексті системи - державного регулювання лісокористування для умов ринкової - економіки}, - pages = {213--220}, -} -@INPROCEEDINGS{TranskSpivrob99:Purich, - author = {Пурич, Штефан}, - title = {{Р}умынско-{У}краинское трансграничное сотрудничество: - проблемы и перспективы}, - language = {russian}, - booktitle = {Транскордонне співробітництво у поліетнічних регіонах - {С}хідної та {П}івденно-{С}хідної {Є}вропи: {М}атеріали наукового - симпозіуму}, - editor = {Макара, Ю.}, - address = {Чернівці}, - publisher = {Золоті литаври}, - organization = {Буковинський політологічний центр}, - year = {1999}, - pagetotal = {196}, - booklanguage = {ukrainian}, -} -@INPROCEEDINGS{Selikov95, - author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, -} - -@INPROCEEDINGS{Selikov+95, - author = {Селиков, A. Z. and Пономарь, L. A. and Крамаренко, L. S. and Золкин, Л. Ю.}, - title = {On the approach to optimal control - of queuing systems with multiple classes of customers}, - booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.}, - address = {Wroclaw (Poland)}, - year = {1995}, - pages = {507-515}, - language = {russian}, -} -@PHDTHESIS{Luus82, - author = {Луус, Роман Аркадьевич}, - title = {Исследование оборудования с пневмовакуумным - приводом для захвата, перемещения и фиксации - при обработке пористых и легкоповреждаемых - строительных изделий}, - type = {Диссертация на соискание ученой степени кандидата технических наук}, - number = {05.05.04}, - institution = {Моск.\ строит.\ ин-т}, - address = {М.}, - year = {1982}, - pagetotal = {212}, - language = {russian}, -} -@DOCTHESIS{KIA95-default, - author = {Котельников, Игорь Александрович}, - title = {Теория магнитного удержания двухкомпонентной плазмы - в открытых ловушках}, - number = {01.04.08}, - institution = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН}, - address = {Новосибирск}, - year = {1995}, - pagetotal = {350}, - language = {russian}, -} -@MASTERSTHESIS{mastersthesis-minimal, - title = {Mastering Thesis Writing}, - author = {{\'{E}}douard Masterly}, - year = {1988}, - institution = {Stanford University}, -} - -@MASTERSTHESIS{mastersthesis-full, - title = {Mastering Thesis Writing}, - author = {{\'{E}}douard Masterly}, - month = jun, - note = {This is a full MASTERSTHESIS entry}, - type = {Master's project}, - year = {1988}, - address = {English Department}, - institution = {Stanford University}, -} -@THESIS{KIA85-autoref, - author = {Котельников, Игорь Александрович}, - title = {Теория магнитного удержания двухкомпонентной плазмы - в открытых ловушках}, - type = {Автореф.\ дис.\ на соиск.\ учен.\ степ.\ д-ра физ.-мат.\ наук}, - number = {01.04.08}, - school = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН}, - address = {Новосибирск}, - year = {1995}, - pagetotal = {17}, - language = {russian}, -} -@THESIS{vishnyakov:thesis1, - title = {Модели и методы оценки коммерческих банков в условиях неопределенности}, - author = {Вишняков, Илья Владимирович}, - year = {2002}, - date = {2002-02-04}, - langid = {russian}, - language = {russian}, - location = {М.}, - speciality = {экон. наук}, - number = {08.00.13}, - pagetotal = {234}, - titleaddon = {защищена 12.02.02~: утв. 24.06.02}, -} - -@THESIS{vishnyakov:thesis2, - title = {Модели и методы оценки коммерческих банков в условиях неопределенности}, - author = {Вишняков, Илья Владимирович}, - type = {phdthesis}, - addendum = {Библиогр.: с. 220---230.~--- 04200204433}, - _year = {2002}, - date = {2002-02-04}, - langid = {russian}, - language = {russian}, - location = {М.}, - speciality = {экон. наук}, - specialitycode = {08.00.13}, - media = {text}, - pagetotal = {234}, - titleaddon = {защищена 12.02.02~: утв. 24.06.02}, -} - - -@THESIS{Skvortsov:2008, - title = {Флуктуационные и интерференционные эффекты в мезоскопических системах}, - author = {Скворцов, Михаил Андреевич}, - type = {docthesis}, - _year = {2008}, - institution = {ИТФ им. Л.\,Д.~Ландау}, - langid = {russian}, - language = {russian}, - location = {Черноголовка}, - speciality = {физ.-мат. наук}, - specialitycode = {01.04.02}, - media = {text}, - pagetotal = {224}, -} -@BOOK{Ponomarenko76, - author = {Пономаренко, Л. А. and Буадзе, В. В.}, - title = {Математические модели и алгоритмы сбора - и обработки информации в АСУТП непрерывных - станов горячей прокатки}, - address = {К.}, - year = {1976}, - pagetotal = {37}, - language = {russian}, - note = {(Препр./ АН Украины. Ин-т кибернетики; 76-76)}, -} -@REPORT{Report81-rep, - title = {Проведение испытаний и исследований - теплотехнических свойств камер {КХС-2-12-ВЗ} - и {КХС-2-12-КЗІО}}, - institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти}, - address = {М.}, - organization = {ВИНИТИ}, - year = {1981}, - pagetotal = {90}, - type = {Отчет о {НИР}}, - editor = {Путин, В. В.}, - author = {Медведев, Д. А. and others}, - note = {Инв.\ № В 119692}, - language = {russian}, -} -@REPORT{Report81b-rep-notype, - title = {Проведение испытаний и исследований - теплотехнических свойств камер {КХС-2-12-ВЗ} - и {КХС-2-12-КЗІО}}, - institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти}, - address = {М.}, - organization = {ВИНИТИ}, - year = {1981}, - pagetotal = {90}, - note = {Инв.\ № В 119692}, - language = {russian}, -} -@TECHREPORT{Report81-techrep, - title = {Проведение испытаний и исследований - теплотехнических свойств камер {КХС-2-12-ВЗ} - и {КХС-2-12-КЗІО}}, - institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти}, - address = {М.}, - organization = {ВИНИТИ}, - year = {1981}, - pagetotal = {90}, - editor = {Путин, В. В.}, - author = {Медведев, Д. А. and others}, - note = {Инв.\ № В 119692}, - language = {russian}, -} -@BOOK{CatalogMamals81, - title = {Каталог млекопитающих СССР. - Плиоцен "--- современность}, - organization = {АН СССР, Зоол.\ ин-т}, - editor = {И. М. Громова and Г. И. Барановой}, - address = {Л.}, - publisher = {Наука, Ленинг.\ отд-ние}, - year = {1981}, - pagetotal = {456}, - language = {russian}, -} -@BOOK{Instr86, - title = {Типовая инструкция по эксплуатации - топливоотдачи тепловых электростанций~: - ТИ 34-70-044-85~: Утв. Гл. техн. упр. - по эксплуатации энергосистем 01.10.85~: - Срок действия установлен с 01.01.86 до 01.01.95}, - organization = {М-во энергетики и электрификации СССР}, - address = {М.}, - year = {1986}, - pagetotal = {43}, - language = {russian}, -} -@ONLINE{wiki:latex, - author = {Wikipedia}, - title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia}, - year = {2012}, - url = {http://en.wikipedia.org/wiki/LaTeX}, - urldate = {25.01.2012}, -} - -@ONLINE{wiki:latex-2, - author = {Wikipedia}, - title = {{\LaTeX}}, - howpublished = {Wikipedia, The Free Encyclopedia}, - year = {2012}, - eprint = {wiki/LaTeX}, - eprinttype = {WikiPedia}, - url = {http://en.wikipedia.org/wiki/LaTeX}, - urldate = {25.01.2012}, -} -@ONLINE{phys:moodle, - author = {Черкасский, В. С.}, - title = {Классная комната}, - howpublished = {Физический факультет}, - organization = {НГУ}, - year = {2012}, - url = {http://www.phys.nsu.ru/moodle/}, - urldate = {16.01.2012}, - language = {russian}, -} -@MISC{EXFOR, - author = {IAEA}, - title = {{EXFOR}---Experimental Nuclear Reaction Data }, - url = {http://www-nds.iaea.org/exfor}, - address = {P.O. Box 100, Wagramer Strasse 5, A-1400 Vienna, Austria}, - year = {2012}, - media = {eresource} -} -@BOOK{IsaacNewton, - author = {Newton, {\relax Sir Isaac}}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - publisher = {William Innys}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {eresource}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, -} - -@BOOK{IsaacNewton-sl:sn, - author = {{\relax Sir I}saac Newton}, - title = {Opticks, or a treatise of the reflections, - refractions, inflections and colours of light}, - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - media = {online}, - year = {1730}, - pagetotal = {382}, - eprint = {XXu4AkRVBBoC}, - eprinttype = {Google Books}, -} -% publisher = {William Innys}, -@BOOK{Encyclopedia, - title = {Художественная энциклопедия зарубежного классического искусства}, - publisher = {Большая Рос. энцикл.}, - year = {1996}, - address = {М.}, - note = {1 электрон. опт. диск (CD-ROM)}, - language = {russian}, - media = {eresource}, -} - -@ARTICLE{Nasirova, - title = {Модели государственного регулирования страховой деятельности}, - author = {Насырова, Г. А.}, - language = {russian}, - note = {Режим доступа: http://vestnik.fa.ru/4(28)2003/4.html}, - number = {4}, - year = {2003}, - journal = {Вестник Финансовой академии}, - media2 = {eresource}, - media = {online}, -} - -@BOOK{kremlincd, - title = {Московский Кремль}, - titleaddon = {трехмер. путеводитель}, - language = {russian}, - note = {CD-ROM}, - date = {2007}, - location = {М.}, - publisher = {Новый Диск}, - media = {eresource}, -} -@ARTICLE{PhysRevLett.101.085006, - author = {Kotelnikov, Igor and Rom\'e, Massimiliano}, - volume = {101}, - journal = {Phys. Rev. Lett.}, - month = {Aug}, - pagetotal = {4}, - title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap}, - year = {2008}, - doi = {10.1103/PhysRevLett.101.085006}, - issue = {8}, - publisher = {American Physical Society}, - pages = {085006}, -} - -% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006}, -@ARTICLE{1998PhRvE..57.7111K, - author = {{Kinney}, R.~M. and {McWilliams}, J.~C.}, - title = {{Turbulent cascades in anisotropic magnetohydrodynamics}}, - journal = pre, - keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation}, - year = {1998}, - month = jun, - volume = {57}, - pages = {7111-7121}, - doi = {10.1103/PhysRevE.57.7111}, - adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System}, -} - -@ARTICLE{1998UFN, - author = {Котельников, И. А. and Астрелин, В. Т.}, - title = {Теория плазменного эмиттера положительных ионов}, - journal = ufn, - keywords = {плазменный эмиттер, критерий Бома}, - year = {2015}, - month = jul, - volume = {185}, - pages = {753-771}, - language = {russian}, - doi = {10.3367/UFNr.0185.201507c.0753}, - url = {http://ufn.ru/ru/articles/2015/7/c/}, -} -@PATENT{patent1, - author = {Э. В. Тернер}, - authorcountry = {США}, - title = {Одноразовая ракета-носитель}, - media = {text}, - type = {заявка}, - number = {1095735}, - location = {Рос. Федерация}, - ipc = {МПК\ensuremath{^7} B 64 G 1/00}, - holder = {заявитель Спейс Системз/Лорал, инк.}, - credits = {патент. поверенный Егорова Г. Б.}, - requestnumber = {000108705/28}, - requestdate = {07.04.2000}, - publicationdate = {10.03.2001}, - publication = {Бюл. № 7 (I ч.)}, - prioritydate= {09.04.1999}, - prioritynumber = {09/289, 037}, - prioritycountry = {США}, - pagetotal = {5 с.~: ил.}, - language = {russian}, -} - -@PATENT{patent2, - author = {В. И. Чугаева}, - authorcountry = {РФ}, - title = {Приемопередающее устройство}, - media = {text}, - type = {пат.}, - number = {2000131736/09}, - location = {Рос. Федерация}, - ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00}, - holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.}, - credits = {патент. поверенный Егорова Г. Б.}, - requestnumber = {000108705/28}, - date = {18.12.2000}, - publicationdate = {20.08.2002}, - publication = {Бюл. № 23 (II ч.)}, - pagetotal = {2 с.~: ил.}, - language = {russian}, -} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd index 817e4e38529..9a6eabb4b2c 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd @@ -1,18 +1,9 @@ @echo ⮢ 䠩 ਬ @echo ========================== -@echo २ ।饣 饣 䠩 - -rename .\bib\examples.bib examples.bak - -@echo 쪨 䠩 让 - -copy .\bib\ex*.bib .\bib\examples.bib - @echo ᪠ ਬ -for %%f in (ugost7*.tex) do pdflatex -quiet %%f -for %%f in (ugost200*.tex) do pdflatex -quiet %%f +for %%f in (ugost200*.tex) do pdflatex %%f @echo ᪠ ࠡ⪠ bibtex8 *.aux, ⮣ '㤠 㤥' @@ -20,10 +11,10 @@ for %%f in (ugost*.aux) do bibtex8 -B -c utf8cyrillic.csf %%f @echo ᪠ ਬ (室 bibtex8) -for %%f in (ugost7*.tex) do pdflatex %%f for %%f in (ugost200*.tex) do pdflatex %%f -for %%f in (ugost2008-nat*.tex) do pdflatex %%f -for %%f in (ugost2008-sort*.tex) do pdflatex %%f +pdflatex ugost2008n.tex +pdflatex ugost2008ns.tex +pdflatex ugost2008s.tex @echo ⪠ 㦭 䠩 diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex index 27482cbd26b..416e3baf217 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex @@ -1,6 +1,5 @@ \documentclass[a4paper]{article} \usepackage[T2A]{fontenc} -\usepackage[utf8]{inputenc} \usepackage[russian]{babel} \usepackage{bibunits,verbatim,geometry,ifpdf} @@ -36,7 +35,6 @@ \ifpdf \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} \else \usepackage[hypertex]{hyperref} \fi @@ -68,12 +66,12 @@ \end{bibunit} } -%\title{\mytitle} -%\maketitle -%\begin{abstract} -% \mydescription -%\end{abstract} -% +\title{\mytitle} +\maketitle +\begin{abstract} + \mydescription +\end{abstract} + \bibliographyunit[\section] \bibliographystyle{\mybibstyle} @@ -92,18 +90,20 @@ \bibentry{ex06} \subsection{Compiler} -\bibentry{ex06a} +\bibentry{ex07} \subsection{Multiple-volume publications} -\bibentry{ex07} \bibentry{ex08} \bibentry{ex09} +\bibentry{ex10} +\bibentry{ex64} \subsection{Translated} -\bibentry{ex10} +\bibentry{ex11} \subsection{Collections} \bibentry{ex12} +\bibentry{ex63} \subsection{Dictionary} \bibentry{ex13} @@ -113,82 +113,112 @@ \subsection{Book} \bibentry{ex14} -\bibentry{ex14a} +\bibentry{ex15} +\bibentry{ex61} \subsection{Collection} -\bibentry{ex15} +\bibentry{ex16} \subsection{Journal} -\bibentry{ex16} \bibentry{ex17} -\bibentry{ex17a} +\bibentry{ex18} +\bibentry{ex19} +\bibentry{ex60} +\bibentry{ex68} +\bibentry{ex74} +\bibentry{ex76} \subsection{Newspaper} -\bibentry{ex17b} +\bibentry{ex20} \subsection{Encyclopedia} -\bibentry{ex18} +\bibentry{ex21} \subsection{Proceedings} -\bibentry{ex19} -\bibentry{ex20} +\bibentry{ex22} +\bibentry{ex23} +\bibentry{ex65} \subsubsection{With crossreference} -\bibentry{ex20a} +\bibentry{ex24} +\bibentry{ex72} +\bibentry{ex73} \subsubsection{With multiple languages} -\bibentry{ex20b} +\bibentry{ex25} +\bibentry{ex26} +\bibentry{ex27} \section{Others} \subsection{Standard} -\bibentry{ex11} +\bibentry{ex28} \subsection{Dissertation} -\bibentry{ex21} -\bibentry{ex21a} -\bibentry{ex21b} +\bibentry{ex29} +\bibentry{ex30} +\bibentry{ex31} +\bibentry{ex32} Allowed built-in values of \verb|type| field in \verb|@THESIS| entry are \verb|mathesis| for masters thesis, \verb|phdthesis| for Ph.D. thesis, and \verb|docthesis| for doctor of sciences dissertation. Any other value of \verb|type| is reproduced literally. -\bibentry{ex22} -\bibentry{ex22a} +\bibentry{ex33} +\bibentry{ex34} +\bibentry{ex35} +\bibentry{ex36} +\bibentry{ex70} +\bibentry{ex71} \subsection{Preprint} -\bibentry{ex23} +\bibentry{ex37} \subsection{Report} -\bibentry{ex24} -\bibentry{ex24a} -\bibentry{ex24b} +\bibentry{ex38} +\bibentry{ex39} +\bibentry{ex40} \subsection{Catalog} -\bibentry{ex25} +\bibentry{ex41} \subsection{Instruction} -\bibentry{ex26} +\bibentry{ex42} +\bibentry{ex67} \subsection{Patent} -\bibentry{ex31} +\bibentry{ex43} +\bibentry{ex44} \section{Electronic resources} \subsection{Common Fields} \verb|Url|, \verb|eprint|, \verb|doi| and \verb|media| fields can be assigned to any entry. Allowed values of \verb|media| are \verb|online|, \verb|eresource| and \verb|text| (default). -\bibentry{ex27c} -\bibentry{ex28} -\bibentry{ex28a} -\bibentry{ex29} +\bibentry{ex45} +\bibentry{ex46} +\bibentry{ex47} +\bibentry{ex48} +\bibentry{ex49} +\bibentry{ex50} +\bibentry{ex51} +\bibentry{ex58} +\bibentry{ex66} +\bibentry{ex69} \subsection{Online Entry} -\bibentry{ex27a} -\bibentry{ex27b} +\bibentry{ex52} +\bibentry{ex53} +\bibentry{ex54} +\bibentry{ex57} +\bibentry{ex59} +\bibentry{ex62} +\bibentry{ex75} + \section{Use of macros} \texttt{jan}, \texttt{feb}, \texttt{mar},\ldots{} \texttt{dec} macros in \texttt{month} field are automatically translated to Russian or English if necessary. Other languages are not supported. -\bibentry{ex30} +\bibentry{ex55} +\bibentry{ex56} -\end{document}
\ No newline at end of file +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf Binary files differindex 63575d6143b..bb4b3c848b8 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex index b8c34901b4a..8fbf24987e5 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex @@ -1,6 +1,7 @@ \edef\mybibstyle{ugost2003} -\RequirePackage[utf8]{inputenc} + % cmap надо грузить до inputenc, чтобы работал поиск \RequirePackage{cmap} +\RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ Example bibliographic description using the style \texttt{\mybibstyle.bst}. @@ -12,7 +13,6 @@ This is style is intended for composing bibliographic catalogs and descriptions. Данный стиль предназначен для составления библиотечных каталогов и описаний. - -} -\input ugost +} +\input ugost
\ No newline at end of file diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf Binary files differindex e2787ae9a70..f8569730695 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex index e56f03aa02c..7cc40f0af98 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex @@ -1,4 +1,6 @@ \edef\mybibstyle{ugost2008} + % cmap надо грузить до inputenc, чтобы работал поиск +\RequirePackage{cmap} \RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: customization} \newcommand{\mydescription}{ diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf Binary files differindex 091c78e2b27..d8b0d8b3079 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex index 1044a71e75d..b7e36e55d2e 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex @@ -1,6 +1,7 @@ \edef\mybibstyle{ugost2008} -\RequirePackage[utf8]{inputenc} + % cmap надо грузить до inputenc, чтобы работал поиск \RequirePackage{cmap} +\RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ Example of a bibliography using the style \texttt{\mybibstyle.bst}. diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf Binary files differindex de8bc07265e..f9aa54515e3 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex index 8d2fdda89f9..155f7eece0b 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex @@ -1,6 +1,7 @@ \edef\mybibstyle{ugost2008l} -\RequirePackage[utf8]{inputenc} + % cmap надо грузить до inputenc, чтобы работал поиск \RequirePackage{cmap} +\RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ Example of a bibliography using the style \texttt{\mybibstyle.bst}. @@ -12,7 +13,6 @@ Note: this style do not conform State Standard. - Внимание: данный не удовлетворяет ГОСТу. + Внимание: данный стиль не удовлетворяет ГОСТу. } \input ugost - diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf Binary files differindex 04e9ecefa6e..dc3e8ad234a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex index b11a8624a9b..ab87f304ec5 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex @@ -1,8 +1,8 @@ -% !Mode:: "TeX:UTF-8" \newcommand*{\mybibstyle}{ugost2008n} -\RequirePackage[utf8]{inputenc} + % cmap надо грузить до inputenc, чтобы работал поиск \RequirePackage{cmap} +\RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ @@ -16,14 +16,12 @@ } \documentclass[a4paper]{article} -\usepackage[utf8]{inputenc} \usepackage[T2A]{fontenc} \usepackage[ukrainian,russian]{babel} \usepackage{natbib} \usepackage{geometry,ifpdf} \ifpdf \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} \else \usepackage[hypertex]{hyperref} \fi @@ -55,12 +53,6 @@ \mydescription \end{abstract} -%\verb|\cite{*}| \cite{*} -% -%\verb|\citep{*}| \citep{*} -% -%\verb|\citet{*}| \citet{*} - \newcommand{\allrefs}{Vasylenko92, Afanasyev92, Makilov91, @@ -72,7 +64,6 @@ HistLit82, Landau:eldin, BRLS94, Grosse80, -GOST7184, ObchTech93, Bibdelo86, Ponomarenko79, @@ -84,27 +75,65 @@ dixit.pindyck:options, RosGaz-article, Dolmatovskiy88, Ponomarenko88, -Melikov95, Selikov95, Selikov+95, +Melikov95, Gojchuk98, Polyakov98a, TranskSpivrob99:Purich, +Selikov95, +Selikov+95, +GOST7184, Luus82, KIA95-default, +mastersthesis-minimal, +mastersthesis-full, KIA85-autoref, +vishnyakov:thesis1, +vishnyakov:thesis2, +Skvortsov:2008, Ponomarenko76, Report81-rep, Report81b-rep-notype, Report81-techrep, CatalogMamals81, Instr86, -wiki:latex, -wiki:latex-2, -phys:moodle, +patent1, +patent2, EXFOR, IsaacNewton, IsaacNewton-sl:sn, -PhysRevLett.101.085006} - +Encyclopedia, +Nasirova, +kremlincd, +PhysRevLett.101.085006, +wiki:latex, +wiki:latex-2, +phys:moodle, +1998PhRvE..57.7111K, +1998UFN, +cs.SE:30073, +CS:30073, +nos_weeralarm_2009, +gibbard, +Williams2002, +kruse, +tmma, +dekart:soch, +moraux, +mc:lfcn-400, +scpi-99, +scpi-04, +Drake1948, +geer, +loh, +Duebner1878, +Bussemaker1878, +Deluz1972, +GuilielmusdeBoldensele, +veilahti:abm, +wassenberg, +Lisi1995} + +\verb|\cite|\par \cite{\allrefs} \verb|\citep|\par \citep{\allrefs} @@ -115,8 +144,81 @@ PhysRevLett.101.085006} \verb|\citeauthor*|\par \citeauthor*{\allrefs} \bibliographystyle{\mybibstyle} -\bibliography{bib/examples} +\bibliography{bib/ex01,% +bib/ex02,% +bib/ex03,% +bib/ex04,% +bib/ex05,% +bib/ex06,% +bib/ex07,% +bib/ex08,% +bib/ex09,% +bib/ex10,% +bib/ex11,% +bib/ex12,% +bib/ex13,% +bib/ex14,% +bib/ex15,% +bib/ex16,% +bib/ex17,% +bib/ex18,% +bib/ex19,% +bib/ex20,% +bib/ex21,% +bib/ex22,% +bib/ex23,% +bib/ex24,% +bib/ex25,% +bib/ex26,% +bib/ex27,% +bib/ex28,% +bib/ex29,% +bib/ex30,% +bib/ex31,% +bib/ex32,% +bib/ex33,% +bib/ex34,% +bib/ex35,% +bib/ex36,% +bib/ex37,% +bib/ex38,% +bib/ex39,% +bib/ex40,% +bib/ex41,% +bib/ex42,% +bib/ex43,% +bib/ex44,% +bib/ex45,% +bib/ex46,% +bib/ex47,% +bib/ex48,% +bib/ex49,% +bib/ex50,% +bib/ex51,% +bib/ex52,% +bib/ex53,% +bib/ex54,% +bib/ex55,% +bib/ex56,% +bib/ex57,% +bib/ex58,% +bib/ex59,% +bib/ex60,% +bib/ex61,% +bib/ex62,% +bib/ex63,% +bib/ex64,% +bib/ex65,% +bib/ex66,% +bib/ex67,% +bib/ex68,% +bib/ex69,% +bib/ex70,% +bib/ex71,% +bib/ex72,% +bib/ex73,% +bib/ex74,% +bib/ex75,% +bib/ex76} \end{document} - - diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf Binary files differindex 47eb226140b..418d9072a4a 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex index 7956c2146f8..838474df168 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex @@ -1,8 +1,8 @@ -% !Mode:: "TeX:UTF-8" \newcommand*{\mybibstyle}{ugost2008ns} -\RequirePackage[utf8]{inputenc} + % cmap надо грузить до inputenc, чтобы работал поиск \RequirePackage{cmap} +\RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ @@ -16,14 +16,12 @@ } \documentclass[a4paper]{article} -\usepackage[utf8]{inputenc} \usepackage[T2A]{fontenc} \usepackage[ukrainian,russian]{babel} \usepackage{natbib} \usepackage{geometry,ifpdf} \ifpdf \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} \else \usepackage[hypertex]{hyperref} \fi @@ -72,7 +70,6 @@ HistLit82, Landau:eldin, BRLS94, Grosse80, -GOST7184, ObchTech93, Bibdelo86, Ponomarenko79, @@ -84,27 +81,65 @@ dixit.pindyck:options, RosGaz-article, Dolmatovskiy88, Ponomarenko88, -Melikov95, Selikov95, Selikov+95, +Melikov95, Gojchuk98, Polyakov98a, TranskSpivrob99:Purich, +Selikov95, +Selikov+95, +GOST7184, Luus82, KIA95-default, +mastersthesis-minimal, +mastersthesis-full, KIA85-autoref, +vishnyakov:thesis1, +vishnyakov:thesis2, +Skvortsov:2008, Ponomarenko76, Report81-rep, Report81b-rep-notype, Report81-techrep, CatalogMamals81, Instr86, -wiki:latex, -wiki:latex-2, -phys:moodle, +patent1, +patent2, EXFOR, IsaacNewton, IsaacNewton-sl:sn, -PhysRevLett.101.085006} - +Encyclopedia, +Nasirova, +kremlincd, +PhysRevLett.101.085006, +wiki:latex, +wiki:latex-2, +phys:moodle, +1998PhRvE..57.7111K, +1998UFN, +cs.SE:30073, +CS:30073, +nos_weeralarm_2009, +gibbard, +Williams2002, +kruse, +tmma, +dekart:soch, +moraux, +mc:lfcn-400, +scpi-99, +scpi-04, +Drake1948, +geer, +loh, +Duebner1878, +Bussemaker1878, +Deluz1972, +GuilielmusdeBoldensele, +veilahti:abm, +wassenberg, +Lisi1995} + +\verb|\cite|\par \citep{\allrefs} \verb|\citep|\par \citep{\allrefs} @@ -114,10 +149,82 @@ PhysRevLett.101.085006} \verb|\citeauthor*|\par \citeauthor*{\allrefs} - \bibliographystyle{\mybibstyle} -\bibliography{bib/examples} +\bibliography{bib/ex01,% +bib/ex02,% +bib/ex03,% +bib/ex04,% +bib/ex05,% +bib/ex06,% +bib/ex07,% +bib/ex08,% +bib/ex09,% +bib/ex10,% +bib/ex11,% +bib/ex12,% +bib/ex13,% +bib/ex14,% +bib/ex15,% +bib/ex16,% +bib/ex17,% +bib/ex18,% +bib/ex19,% +bib/ex20,% +bib/ex21,% +bib/ex22,% +bib/ex23,% +bib/ex24,% +bib/ex25,% +bib/ex26,% +bib/ex27,% +bib/ex28,% +bib/ex29,% +bib/ex30,% +bib/ex31,% +bib/ex32,% +bib/ex33,% +bib/ex34,% +bib/ex35,% +bib/ex36,% +bib/ex37,% +bib/ex38,% +bib/ex39,% +bib/ex40,% +bib/ex41,% +bib/ex42,% +bib/ex43,% +bib/ex44,% +bib/ex45,% +bib/ex46,% +bib/ex47,% +bib/ex48,% +bib/ex49,% +bib/ex50,% +bib/ex51,% +bib/ex52,% +bib/ex53,% +bib/ex54,% +bib/ex55,% +bib/ex56,% +bib/ex57,% +bib/ex58,% +bib/ex59,% +bib/ex60,% +bib/ex61,% +bib/ex62,% +bib/ex63,% +bib/ex64,% +bib/ex65,% +bib/ex66,% +bib/ex67,% +bib/ex68,% +bib/ex69,% +bib/ex70,% +bib/ex71,% +bib/ex72,% +bib/ex73,% +bib/ex74,% +bib/ex75,% +bib/ex76} \end{document} - - diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf Binary files differindex 739a5db4f6a..d1458ee5139 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex index 827e8ccd03c..f337b268635 100644 --- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex +++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex @@ -1,11 +1,12 @@ -% !Mode:: "TeX:UTF-8" \newcommand*{\mybibstyle}{ugost2008s} + % cmap надо грузить до inputenc, чтобы работал поиск +\RequirePackage{cmap} \RequirePackage[utf8]{inputenc} \newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst} \newcommand{\mydescription}{ - Example of a bibliography using the style \texttt{\mybibstyle.bst}. + Example of a bibliography using the style \texttt{\mybibstyle.bst}. No customization is applied. Пример оформления списка литературы с помощью стиля @@ -14,14 +15,11 @@ } \documentclass[a4paper]{article} -\usepackage[utf8]{inputenc} \usepackage[T2A]{fontenc} \usepackage[ukrainian,russian]{babel} -%\usepackage{natbib} \usepackage{geometry,ifpdf} \ifpdf \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} \else \usepackage[hypertex]{hyperref} \fi @@ -64,7 +62,6 @@ HistLit82, Landau:eldin, BRLS94, Grosse80, -GOST7184, ObchTech93, Bibdelo86, Ponomarenko79, @@ -80,27 +77,139 @@ Melikov95, Gojchuk98, Polyakov98a, TranskSpivrob99:Purich, +Selikov95, +Selikov+95, +GOST7184, Luus82, KIA95-default, +mastersthesis-minimal, +mastersthesis-full, KIA85-autoref, +vishnyakov:thesis1, +vishnyakov:thesis2, +Skvortsov:2008, Ponomarenko76, Report81-rep, Report81b-rep-notype, Report81-techrep, CatalogMamals81, Instr86, -wiki:latex, -wiki:latex-2, -phys:moodle, +patent1, +patent2, EXFOR, IsaacNewton, IsaacNewton-sl:sn, -PhysRevLett.101.085006} +Encyclopedia, +Nasirova, +kremlincd, +PhysRevLett.101.085006, +wiki:latex, +wiki:latex-2, +phys:moodle, +1998PhRvE..57.7111K, +1998UFN, +cs.SE:30073, +CS:30073, +nos_weeralarm_2009, +gibbard, +Williams2002, +kruse, +tmma, +dekart:soch, +moraux, +mc:lfcn-400, +scpi-99, +scpi-04, +Drake1948, +geer, +loh, +Duebner1878, +Bussemaker1878, +Deluz1972, +GuilielmusdeBoldensele, +veilahti:abm, +wassenberg, +Lisi1995} \nocite{*} \cite{\allrefs} \bibliographystyle{\mybibstyle} -\bibliography{bib/examples} +\bibliography{bib/ex01,% +bib/ex02,% +bib/ex03,% +bib/ex04,% +bib/ex05,% +bib/ex06,% +bib/ex07,% +bib/ex08,% +bib/ex09,% +bib/ex10,% +bib/ex11,% +bib/ex12,% +bib/ex13,% +bib/ex14,% +bib/ex15,% +bib/ex16,% +bib/ex17,% +bib/ex18,% +bib/ex19,% +bib/ex20,% +bib/ex21,% +bib/ex22,% +bib/ex23,% +bib/ex24,% +bib/ex25,% +bib/ex26,% +bib/ex27,% +bib/ex28,% +bib/ex29,% +bib/ex30,% +bib/ex31,% +bib/ex32,% +bib/ex33,% +bib/ex34,% +bib/ex35,% +bib/ex36,% +bib/ex37,% +bib/ex38,% +bib/ex39,% +bib/ex40,% +bib/ex41,% +bib/ex42,% +bib/ex43,% +bib/ex44,% +bib/ex45,% +bib/ex46,% +bib/ex47,% +bib/ex48,% +bib/ex49,% +bib/ex50,% +bib/ex51,% +bib/ex52,% +bib/ex53,% +bib/ex54,% +bib/ex55,% +bib/ex56,% +bib/ex57,% +bib/ex58,% +bib/ex59,% +bib/ex60,% +bib/ex61,% +bib/ex62,% +bib/ex63,% +bib/ex64,% +bib/ex65,% +bib/ex66,% +bib/ex67,% +bib/ex68,% +bib/ex69,% +bib/ex70,% +bib/ex71,% +bib/ex72,% +bib/ex73,% +bib/ex74,% +bib/ex75,% +bib/ex76} \end{document} diff --git a/Master/texmf-dist/doc/bibtex/gost/gost.pdf b/Master/texmf-dist/doc/bibtex/gost/gost.pdf Binary files differindex 296cadade9a..54b03652f90 100644 --- a/Master/texmf-dist/doc/bibtex/gost/gost.pdf +++ b/Master/texmf-dist/doc/bibtex/gost/gost.pdf diff --git a/Master/texmf-dist/source/bibtex/gost/gost.dtx b/Master/texmf-dist/source/bibtex/gost/gost.dtx index ba678e3abd6..4b8aba2e9a6 100644 --- a/Master/texmf-dist/source/bibtex/gost/gost.dtx +++ b/Master/texmf-dist/source/bibtex/gost/gost.dtx @@ -1,18 +1,15 @@ -% \iffalse +% \iffalse meta-comment +% !TEX program = pdfLaTeX % !Mode:: "DTX:UNIX:UTF-8" % -% This is the source file for the GOST package -% to be used with BibTeX8. +% This is the source file for the GOST bundle used with BibTeX. +% +% Current version is 1.2k, 2020.12.25. +% % It contains set of bibliographic style that % attempt to format the bibliography according to % GOST R 7.0.5-2008 with some conventional modifications. % -% Copyright 2012-2017 Igor A. Kotelnikov. -% Version 1.2i -% -% Copyright 1996-2005 Maksym Polyakov. -% Version 2005.08.12 -% % For a bibliographic entry in Russian you need % to add the field % language = {russian}. @@ -28,12 +25,11 @@ % Requires 8-bit bibtex with switch -B and csf file supporting cyrillic. % bibtex8 -B -c <encoding>.csf <your_document> % -% % Download from -% CTAN:macros/latex/contrib/gost/gost.dtx +% http://ctan.org/pkg/gost % % To unpack run -% latex gost.ins +% tex gost.dtx % % To produce the documentation run % pdflatex gost.dtx @@ -42,57 +38,518 @@ % pdflatex gost.dtx % pdflatex gost.dtx % -% TeX Directory Structure -% -% Move all *.bst files to TDS:bibtex/bst/gost -% Move all *.csf files to TDS:bibtex/csf/gost -% Move all *.pdf files to TDS:doc/bibtex/gost -% Move gost.dtx and gost.ins to TDS:source/bibtex/gost/ -% -% $Id: gost.dtx, v.2017/01/12 kia999 $ -% -%<*driver> -\ProvidesFile{gost.dtx}% - [2017/01/12 v.1.2i Bibliography styles for GOST R 7.0.5-2008.] +%<*internal> +\iffalse +%</internal> +%<*readmemd|readme> +------------------------------------------------------------------- +GOST is a bundle of BibTEX styles to format references according to +the State Standards on information, librarianship and publishing +(GOST) issued by The Russian Federation and Interstate Committee +of former USSR States. + +Current version is 1.2k, 2020.12.25. + +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt + +E-mail: kia999@mail.ru +------------------------------------------------------------------- +%</readmemd|readme> +%<*readmemd> +The System of State Standards includes: +``` +GOST 7.80 -2000 Bibliographic record. + Heading. General requirements and rules. +GOST 7.83 -2001 Electronic editions. Basic types and imprint. +GOST 7.1 -2003 Bibliographic record. + Bibliographic description. + General requirements and rules. +GOST 7.11 -2004 Bibliographic description and references. + Rules for the abbreviation of words and word + combinations in foreign European languages. +GOST 7.0.5-2008 Bibliographic reference. + General requirements and rules of making. +``` +Etc. + +Currently, GOST contains 16 BibTeX styles to format bibliography in English, +Russian and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both +8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case +offering a choice of sorted and unsorted. + +All styles in the GOST bundle are derived from single master file +`gost.dtx` by applying different set of options as shown in the table below. + + Style | utf8 | strict | eprint | long | sort | natbib +:--------------|:----:|:------:|:------:|:----:|:----:|:------: + gost2003 | | + | + | | | + gost2003s | | + | + | | + | + gost2008 | | | + | | | + gost2008n | | | + | | | + + gost2008l | | | + | + | | + gost2008s | | | + | | + | + gost2008ns | | | + | | + | + + gost2008ls | | | + | + | + | + ugost2003 | + | + | + | | | + ugost2003s | + | + | + | | + | + ugost2008 | + | | + | | | + ugost2008n | + | | + | | | + + ugost2008l | + | | + | + | | + ugost2008s | + | | + | | + | + ugost2008ns | + | | + | | + | + + ugost2008ls | + | | + | + | + | + **Style** |**utf8**|**strict**|**eprint**|**long**|**sort**|**natbib** + +`Gost2008` style is recommended for most applications. It corresponds to the +currently effective Standard 7.0.5-2008. Librarians should use the style +`gost2003` instead of `gost2008` to compile a library catalog to meet the +Standard 7.1-2003. Use of other styles is best explained through +the meaning of options used to compile those styles from the master source. + +The `strict` option provides conformance to the Standard 7.1-2003. The +bibstyles compiled with that option bear the name `gost2003` with possible +suffixes `s`, `l`, `n` as explained below. These styles are intended +primarily for the librarians who compose a library catalog. + +The bibstyles compiled without `strict` option meets the Standard 7.0.5-2008 +which can be thought off as a relaxed version of the Standards 7.1-2003. These +bibstyles bear the name `gost2008` with possible suffixes `s`, `l`, `n`. + +If the number of authors exceeds 4, modern styles cut the list of authors +to at most 4 persons as prescibed by the Standards. Option +`long` overrides this rule to provide backward compatibility with the +package disser by Stanislab Kruchinin. Two styles, `gost2008l` and +`gost2008ls`, compiled with the option `long` mimic behavior of the styles +`gost705` and `gost705s` from the disser package. Major +effect of the `long` option is that the list of authors always +precedes book or article title no matter how long is it. +Modern styles compiled without `long` place long list of authors behind +the title. The names of styles compiled with the option `long` has the +suffix `l`. Recall that those styles do not conform effective Standards and +their use is discouraged. + +The `eprint` option enables formatting electronic publications. In particular, +it enables `eprint`, `eprinttype`, `eprintclass`, and `doi` fields for a +bibliographic entry. The styles generated without the `eprint` option, +ignore the these fields. Starting from the +version 1.2 of the GOST package, all modern styles are compiled with this +option included, and the suffix `e` which designated +this option in earlier versions is not appended to the name of style +any more. + +The `natbib` option provides compatibility with the `natbib` package. The names +of styles compiled with the option `natbib` bear the suffix `n`. Currently +4 styles with that option are available for beta testing. + +The `sort` option enables sorting bibliographic references by author names +and references titles. The names of styles compiled with the option `sort` +bear the suffix `s`. + +Finally, the `utf8` option produces bibliographic styles in unicode rather +that in 8-bit encoding. Names of those styles bear the prefix `u`. + +Beyond bibliographic style, GOST bundle contains CS files (codepage and +sorting order). + +Encoding | CSF |Sorting order +-----------------|----------------------|----------------------- + cp866 | ruscii.csf |Cyrillic first, Latin + cp1251 | cp1251.csf |Cyrillic first, Latin + koi8-u | koi8u.csf |Cyrillic first, Latin + utf8 | utf8cyrillic.csf |Cyrillic first, Latin + +In addition, BibTeX8 distribution comes with few more CSFs. + + Encoding | CSF |Sorting order +-----------------|----------------------|----------------------- + cp866 | cp866rus.csf |Latin first, Cyrillic + +## How to use + +1. Select bibliography style by adding appropriate `\bibliographystyle` +declaration to your source file \file{<filename>.tex}, e.g. +```tex +\bibliographystyle{gost2008} +\bibliography{database} +``` + +2. Add the field `language="ukrainian"` or `language="russian"` to the +bibliographic entries in Ukrainian or Russian languages in your +database; English is the default language. German, Italian and +French are partially supported. + +3. To compile list of references from your database use `bibtex8.exe` +rather than `bibtex.exe`. Depending on the codepage of your +bibliographic database, indicate one of the CS files +listed above as option to `bibtex8.exe`. Run LaTeX, then run +`bibTeX8` and LaTeX again: +```console +latex <filename>.tex +bibtex8 -B -c <csf_file>.csf <filename>.aux +latex <filename>.tex +``` + +4. For details on preparing bibliographic database see examples in +`gost*.pdf` and `ugost*.pdf`. + +5. `ugost*` styles are primarily intended for use +with unicode compilers (`xelatex` and `lualatex`). They +should be preferred as well when using 8bit compilers +(`latex` and `pdflatex`) if source file is in `utf8` encoding. + +6. Neither `bibtex.exe` nor `bibtex8.exe` provides +correct sorting order of unicode text. It means that using +`ugost2008s` or `ugost2008ns` may produce unexpected result +for documents in `utf8` encoding. + +7. `Bibtex8` fails to change case of a string if it contains Cyrillic +letter in unicode. Therefore `ugost2008*` styles do not change case of +titles and other parts of bibliographic record while 8-bit styles +do the case change where appropriate. + +8. Either `bibtex.exe` or `bibtex8.exe` fail to cut Cyrillic names to +initials. Therefore `ugost2008*` styles do not modify name of +authors. + +9. Package `natbib` is required when choosing styles with +suffix `n` in their names. + +## Customization + +Every GOST style defines few commands to format some parts of a +reference. You can redefine these commands prior to +the `\bibliography{<bibtex_style>}` command. Initial +definitions are listed below. +```tex +\providecommand*{\url}[1]{{\small #1}} +\providecommand*{\BibUrl}[1]{\url{#1}} +\providecommand{\BibAnnote}[1]{} +\providecommand*{\BibEmph}[1]{#1} +``` + +By default, gost styles separate logical parts of a bibliography +record by a period and cyrdash (`. "---`). It is legitimate to drop +that dash by overriding the command `\BibDash` as follows +```tex +\providecommand*{\BibDash}{} +``` + +By default, `\BibDash` is equivalent to the shorthand `"---` +defined by the babel package with the option `russian`. +It prints a so called Cyrillic dash (`\cyrdash`), +which is 20 % shorter then ordinary LaTeX dash (`---`), and puts +unbreakable space before `\cyrdash` so that dash never appears +in the beginning of a line. + +## Where to get from + +1. [http://ctan.org/pkg/gost](http://ctan.org/pkg/gost). + +2. [http://github.com/kia999/gost](http://github.com/kia999/gost) + +Run +```tex.exe gost.dtx``` + to produce .bst styles. + +Run +```pdllatex.exe gost.dtx +makeindex -r -s gind.ist gost +makeindex -r -s gglo.ist -o gost.gls gost.glo +pdflatex gost.dtx +pdflatex gost.dtx +``` +to produce .bst styles and documentation. +%</readmemd> +%<*readmemd|readme> + +## Version history + +### Version 1.2k (2020.12.25) +1. All stuff is now generated from `gost.dtx`. + +2. Limited support of the `date` field added. + +3. Formatting of `doi` field updated: `http://dx.doi.org` changed +to `https://doi.org`. + +4. Documentation and examples update (thanks to Leonid Sinev). + +5. Formatting of @inproceedings and @proceedings improved. + +%</readmemd|readme> +%<*readmemd> + +### Version 1.2i (2017.01.12) + +1. Documentation and examples update (thanks to Leonid Sinev). + +2. Restored `@MastersThesis` instead of `@MasterThesis` (thanks to Leonid Sinev). + +3. `media="eresource"` is introduced in addition to `media="online"` and +`media="text"`; if present, the `media` field is not ignored any more in +modern bst-styles compiled without the `strict` option. + +4. `location` field is introduced as an alias of `address` field. + +5. `@DSCISTHESIS` entry renamed to `@DOCTHESIS`. + +6. `school` field in `@THESIS` and similar entries is replaced by +`institution` to comply with `biblatex-gost` style. + +7. `specialitycode` is added for `@THESIS` and similar entries; + number is treated as alias of specialitycode. + +8. `type` field in `@THESIS` and similar entries can now accept three values + (`mathesis`, `phdthesis`, `docthesis`) which are translated to built-in + language-sensitive strings; any other value is reproduced literally. + + +### Version 1.2h (2016.08.21) + +1. Minor changes in documentation. + + +### Version 1.2g (2016.07.25) + +1. Minor changes in documentation. + + +### Version 1.2f (2016.07.11) + +1. Support for `@patent` entry added (thanks to Stanislav Kruchinin). +2. medium field renamed to media field. + + +### Version 1.2e (2016.07.07) + +1. Hard coded "URL" string replaced with a language sensitive string + (thanks to Roman Budnyi). -\documentclass{ltxdoc} +### Version 1.2d (2016.02.18) + +1. jan, feb, mar, e.t.c. month macros fixed; +2. New macro format.month. +3. \cyrdash is now faked via \ProvideTextCommandDefault if not defined. + + +### Version 1.2c (2015.01.10) + +1. langid field added; language field supported for backward compatibility. +2. eid field added, it has priority over pages field; +3. Fix Gost2003: "--- replaced by \BibDash; +4. Spacing around \BibDash improved. + + +### Version 1.2b (2014.01.19) + +1. numpages renamed to pagetotal. + + +### Version 1.2a (2012.08.31) + +1. \cyrdash is now defined via \ProvideTextCommand rather than \providecommand. + + +### Version 1.2 (2012.02.22) + +1. Code refactoring. All styles are now generated from single source file. +2. Support for GOST-7.1-2003. The field `medium` is added to reflect type + of material. For most entry types `medium` defaults to `text`. +3. Support for `natbib` package. +4. All modern styles are now compiled with the `eprint` option. + + +### Version 1.1 (2012.01.21) + +1. Support for GOST 7.0.5-2008 and GOST 7.1-2003 is provided. +2. `@Online` entry is added to format a reference to electronic + resource on Internet. +3. `@MastersThesis` entry is added to format a reference to master's thesis. + `@DSciThesis` entry is added to format a reference to doctor of + sciences thesis. +4. `Urldate`, `eprint`, `eprintclass`, `eprinttype` fields are added. + + +### Earlier version history + +2012.08.31 \cyrdash is now defined via \ProvideTextCommand. +2012.02.22 Support for |natbib| package. +2012.02.02 Adaptation to GOST 7.0.5, electronic publishing. +2005.08.12 First version uploaded to CTAN. +2003.06.06 First public version. + + + +### Older versions + +See `gost.pdf`. + + +### Bug reports + +Please, submit feature requests and issue reports via + [https://github.com/kia999/GOST/issues](https://github.com/kia999/GOST/issues). + +Happy BibTeXing! +%</readmemd> +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +------------------------------------------------------------------- +This file is a part of GOST package, which is a bundle of BibTEX +styles to format bibliographic references according to the State +Standards on information, librarianship and publishing (GOST) +issued by The Russian Federation and Interstate Committee of former +USSR States. + +Current version is 1.2k, 2020.12.25. + +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt + +E-mail: kia999@mail.ru +------------------------------------------------------------------- +\endpreamble +\postamble +------------------------------------------------------------------- +Copyright 2012-2020 Igor A. Kotelnikov. +Copyright 2017 Leonid Sinev. +Version 1.2k* + +Copyright 1996-2005 Maksym Polyakov. +Version 2005.08.12 + +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Igor A. Kotelnikov. + +Current version is 1.2k, 2020.12.25. + +Please, send bug report via e-mail: kia999@mail.ru <Igor Kotelnikov> +------------------------------------------------------------------- +This work consists of the file gost.dtx +and the derived files gost.ins, + gost.pdf, + gost*.bst (8 files), + ugost*.bst (8 files), + README.md. +It also contains a lot of examples (*.tex, *.pdf, *.bib files). +------------------------------------------------------------------- +\endpostamble +%</internal> +%<*install> +\input docstrip +\usedir{source/bibtex/gost} +\askonceonly +\ProvidesFile{gost.ins}[2020/12/25 1.2k Russian support for the Babel system] +\generate{% +%% +%% BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*. + \file{gost2003.bst} {\from{gost.dtx} {bst,strict,eprint}} +%% +%% BST styles that mimics GOST 7.0.5-2008 for bibliographic *references* + \file{gost2008.bst} {\from{gost.dtx} {bst,eprint}} + \file{gost2008l.bst} {\from{gost.dtx} {bst,eprint,long}} +%% +%% Same styles with sorting + \file{gost2003s.bst} {\from{gost.dtx} {bst,strict,eprint,sort}} +%% + \file{gost2008s.bst} {\from{gost.dtx} {bst,eprint,sort}} + \file{gost2008ls.bst} {\from{gost.dtx} {bst,eprint,long,sort}} +%% ` +%% -------------------------------------------------------------------------- +%% Unicode BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*. + \file{ugost2003.bst} {\from{gost.dtx} {bst,utf8,strict,eprint}} +%% +%% Unicode BST styles that mimics GOST 7.0.5-2008 for bibliographic *references* + \file{ugost2008.bst} {\from{gost.dtx} {bst,utf8,eprint}} + \file{ugost2008l.bst} {\from{gost.dtx} {bst,utf8,eprint,long}} +%% +%% Same styles with sorting + \file{ugost2003s.bst} {\from{gost.dtx} {bst,utf8,strict,eprint,sort}} +%% + \file{ugost2008s.bst} {\from{gost.dtx} {bst,utf8,eprint,sort}} + \file{ugost2008ls.bst} {\from{gost.dtx} {bst,utf8,eprint,long,sort}} +%% +%% -------------------------------------------------------------------------- +%% Experimental styles compatible with natbib package. +%% + \file{gost2008n.bst} {\from{gost.dtx} {bst,natbib,eprint}} + \file{gost2008ns.bst} {\from{gost.dtx} {bst,natbib,eprint,sort}} +%% + \file{ugost2008n.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint}} + \file{ugost2008ns.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint,sort}} +} +%</install> +%<install>\endbatchfile +%<*internal> +\usedir{source/bibtex/gost} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{source/doc/gost} +\generate{ + \file{README.}{\from{\jobname.dtx}{readme}} + \file{README.md}{\from{\jobname.dtx}{readmemd}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> +%<*driver> +\ProvidesFile{gost.dtx}[2020/12/23 v.1.2k BibTEX support for GOST bibliographies] +\NeedsTeXFormat{LaTeX2e} +\documentclass{ltxdoc} \usepackage{geometry} -\usepackage{makeidx} -\ifpdf - \usepackage[pdftex,hyperindex,unicode]{hyperref} - \usepackage{cmap} +\usepackage{ifluatex,ifxetex} +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0 + \usepackage{fontspec} + \defaultfontfeatures{Ligatures={TeX},Renderer=Basic} + \setmainfont{CMU Serif} + \setsansfont{CMU Sans Serif} + \setmonofont{CMU Typewriter Text} \else - %\usepackage[hypertex]{hyperref} - \usepackage{hyperref} + \usepackage[utf8]{inputenc} % UTF-8: PDFLaTeX + \usepackage[T2A]{fontenc} + \usepackage{cmap} \fi -\usepackage{color} -\definecolor{darkblue}{rgb}{0,0,.6} -\hypersetup{ - pdftitle = {The GOST package}, - pdfauthor = {Igor A. Kotelnikov}, - pdfsubject = {BibTeX, GOST}, - pdfstartview = {FitH}, -% pdfborder = {0 0 0}, -% bookmarksopen = true, - bookmarksnumbered = true, -% bookmarksopenlevel = 2, - colorlinks = true, linkcolor = darkblue, - citecolor = darkblue, filecolor = darkblue, - menucolor = darkblue, urlcolor = darkblue -} - - -\usepackage[utf8]{inputenc} -\usepackage[T2A]{fontenc} \usepackage[russian,english]{babel} - -\MakeShortVerb{\|} - +\usepackage{makeidx}\makeindex +%\usepackage{xcolor} +%\definecolor{darkblue}{rgb}{0,0,.6} +\usepackage[ + unicode + ,pdfusetitle + ,colorlinks = true + %,linkcolor = darkblue + %,citecolor = darkblue, filecolor = darkblue + %,menucolor = darkblue, urlcolor = darkblue + ,bookmarksnumbered = true, + ,pdfdisplaydoctitle = true% display document title instead of file + ,pdfpagemode = UseOutlines% (show bookmarks) +]{hyperref} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\file#1{\texttt{#1}} \def\pkg#1{\textsf{#1}} \def\cmd#1{\texttt{#1}} +\newcommand{\note}[2][N$\!\!$B: ]{\textcolor{red}{\ensuremath{\langle}#1#2\ensuremath{\rangle}}} +% \newcommand\DescribeEntry[1]{% \DescribeMacro{#1}\index{Entry!\texttt{#1}}% } @@ -102,34 +559,17 @@ \newcommand\DescribeField[1]{% \DescribeMacro{#1}\index{Field!\texttt{#1}}% } - - -\GetFileInfo{gost.dtx} +% +%\OnlyDescription % uncomment to hide the Implementation section \EnableCrossrefs -%\DisableCrossrefs % Say \DisableCrossrefs if index is ready -\RecordChanges % Gather update information -\CodelineIndex % Index code by line number -%\PageIndex % Index code by page number - -\title{The GOST package} - -\author{ - Igor A. Kotelnikov\thanks{\texttt{kia999@mail.ru}} -} - -\date{\filedate, \fileversion} - -\makeindex - +\CodelineIndex +\RecordChanges \begin{document} - \maketitle - \DocInput{gost.dtx} + \DocInput{\jobname.dtx} \end{document} %</driver> % \fi % -% \CheckSum{592} -% % \DoNotIndex{\cyra,\cyrb,\cyrv,\cyrg,\cyrd,\cyre} % \DoNotIndex{\CYRP,\cyrii,\cyrr,\cyre,\cyro,\CYRU,\cyrk,\cyrl,\CYRS,\cyrs|} % \DoNotIndex{\cyrt,\cyri,\cyrz,\CYRT,\cyrm} @@ -137,9 +577,20 @@ % \DoNotIndex{\cyrp,\cyrs,\cyrshch,\cyru,\CYRV,\cyrya} % \DoNotIndex{\CYRA,\CYRB,\cyrch,\CYRE,\CYREREV,\CYRF,\cyrf,\CYRI,\cyrishrt} % \DoNotIndex{\CYRO,\CYRR,\cyrsftsn,\CYRYA,\cyryu,\cyrzh} +% \DoNotIndex{\CYRCH, \CYRG, \CYRL, \CYRZH} % \DoNotIndex{\z@skip,\z@} -% \DoNotIndex{\|,\~,\ } -% \DoNotIndex{\\&,\',\(,\),\`,\\,\/,\.} +% \DoNotIndex{\|,\~,\ ,\,} +% +% \begingroup +% \makeatletter +% \lccode`9=32\relax +% \lowercase{%^^A +% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A +% }%^^A +% \expandafter\endgroup\x +% \expandafter\DoNotIndex\expandafter{\string\&} +% +% \DoNotIndex{\',\(,\),\`,\\,\/,\.} % \DoNotIndex{\begin,\DeclareUTFcharacter} % \DoNotIndex{\csname,\def} % \DoNotIndex{\else,\endcsname,\end} @@ -150,7 +601,17 @@ % \DoNotIndex{\providecommand,\ProvideTextCommandDefault,\relax,\renewcommand} % \DoNotIndex{\selectlanguage,\selectlanguageifdefined,\small,\textemdash} % \DoNotIndex{\textnumero,\unskip,\url,\UTFencname} -% \DoNotIndex{\,,\catcode,\cite,\citeauthor,\citet,\citeyear,\href,\hskip,\ifdim} +% \DoNotIndex{\catcode,\cite,\citeauthor,\citet,\citeyear,\href,\hskip,\ifdim} +% +%\GetFileInfo{\jobname.ins} +% +%\title{The GOST package} +%\author{ +% Igor Kotelnikov\thanks{E-mail: kia999@mail.ru}, +% Leonid Sinev +%} +%\date{Version \fileversion\ released \filedate} +%\maketitle % % \begin{abstract} % @@ -161,13 +622,12 @@ % It comprises 16 BibTeX styles to format bibliography in English, Russian % and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both 8-bit % and Unicode (UTF-8) versions of each BibTeX style, in each case offering -% a choice of sorted and unsorted. Further, 2 more styles, |gost780| and -% |gost780s| styles (not conforming to effective standards) are retained -% for backwards compatibility. +% a choice of sorted and unsorted. % % \end{abstract} % -% \section{Introduction} +% \section{Introduction}\label{s1} +% % The package was initially developed by Maksym Polyakov. It was later % updated by Igor Kotelnikov to the present status and some code was borrowed % from \pkg{disser} package developed by Stanislav Kruchinin and unpublished @@ -179,63 +639,58 @@ % % The System of Standards includes: % \begin{description} -% \item[GOST 7.0.5-2008] -% Bibliographic reference. -% General requirements and rules of making. +% \item[GOST 7.80 -2000] +% Bibliographic record. +% Heading. General requirements and rules. +% \item[GOST 7.83 -2001] +% Electronic editions. Basic types and imprint. % \item[GOST 7.1 -2003] % Bibliographic record. % Bibliographic description. % General requirements and rules. -% \item[GOST 7.80 -2000] -% Bibliographic record. -% Heading. General requirements and rules. % \item[GOST 7.11 -2004] % Bibliographic description and references. % Rules for the abbreviation of words and word combinations % in foreign European languages. -% \item[GOST 7.83 -2001] -% Electronic editions. Basic types and imprint. +% \item[GOST 7.0.5-2008] +% Bibliographic reference. +% General requirements and rules of making. % \end{description} -% ect. +% Etc. % % Currently, GOST contains 16 BibTeX styles to format bibliography in English, % Russian and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both % 8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case -% offering a choice of sorted and unsorted. Further, 2 styles, |gost780| and -% |gost780s| styles (which do not conform to effective standards) are retained -% for backwards compatibility. +% offering a choice of sorted and unsorted. % % All styles in the GOST bundle are derived from single master file % \file{gost.dtx} by applying different set of options as shown in the table % below. % % \begin{verbatim} -%------------------------------------------------------------------------ -% Style | utf8 | strict | modern | eprint | long | sort | natbib -%------------------------------------------------------------------------ -% gost780 | | | | | | | -% gost780s | | | | | | + | -%------------------------------------------------------------------------ -% gost2003 | | + | | + | | | -% gost2003s | | + | | + | | + | -% gost2008 | | | + | + | | | -% gost2008n | | | + | + | | | + -% gost2008l | | | + | + | + | | -% gost2008s | | | + | + | | + | -% gost2008ns | | | + | + | | + | + -% gost2008ls | | | + | + | + | + | -%------------------------------------------------------------------------ -% ugost2003 | + | + | | + | | | -% ugost2003s | + | + | | + | | + | -% ugost2008 | + | | + | + | | | -% ugost2008n | + | | + | + | | | + -% ugost2008l | + | | + | + | + | | -% ugost2008s | + | | + | + | | + | -% ugost2008ns | + | | + | + | | + | + -% ugost2008ls | + | | + | + | + | + | -%------------------------------------------------------------------------ -% Style | utf8 | strict | modern | eprint | long | sort | natbib -%------------------------------------------------------------------------ +%--------------------------------------------------------------- +% Style | utf8 | strict | eprint | long | sort | natbib +%--------------------------------------------------------------- +% gost2003 | | + | + | | | +% gost2003s | | + | + | | + | +% gost2008 | | | + | | | +% gost2008n | | | + | | | + +% gost2008l | | | + | + | | +% gost2008s | | | + | | + | +% gost2008ns | | | + | | + | + +% gost2008ls | | | + | + | + | +%--------------------------------------------------------------- +% ugost2003 | + | + | + | | | +% ugost2003s | + | + | + | | + | +% ugost2008 | + | | + | | | +% ugost2008n | + | | + | | | + +% ugost2008l | + | | + | + | | +% ugost2008s | + | | + | | + | +% ugost2008ns | + | | + | | + | + +% ugost2008ls | + | | + | + | + | +%--------------------------------------------------------------- +% Style | utf8 | strict | eprint | long | sort | natbib +%--------------------------------------------------------------- % \end{verbatim} % % |Gost2008| style is recommended for most applications. It corresponds to the @@ -244,21 +699,14 @@ % Standard 7.1-2003. Use of other styles is best explained through % the meaning of options used to compile those styles from the master source. % -% Two styles, |gost780| and |gost780s|, compiled without |modern| and |strict| -% options, are retained for backward compatibility. They do not conform -% the Standards 7.0.5-2008 and 7.1-2003 cited above. -% % The |strict| option provides conformance to the Standard 7.1-2003. The -% styles compiled with that option bear the name |gost2003| with possible +% bibstyles compiled with that option bear the name |gost2003| with possible % suffixes |s|, |l|, |n| as explained below. These styles are intended % primarily for the librarians who compose a library catalog. % -% The |modern| option meets the Standard 7.0.5-2008 which can be thought -% off as a relaxed version of the Standards 7.1-2003. The styles compiled with -% that option bear the name |gost2008| with possible suffixes |s|, |l|, |n|. -% The |strict| option has precedence over |modern| so that a style compiled -% with both options will resemble mainly the |gost2003| style rather than -% |gost2008|. +% The bibstyles compiled without |strict| option meets the Standard 7.0.5-2008 +% which can be thought off as a relaxed version of the Standards 7.1-2003. These +% bibstyles bear the name |gost2008| with possible suffixes |s|, |l|, |n|. % % If the number of authors exceeds 4, modern styles cut the list of authors % to at most 4 persons as prescibed by the Standards. Option @@ -298,25 +746,25 @@ % sorting order). % \begin{verbatim} % ---------------------------------------------------------------- -% Encoding | CSF Sorting order +% Encoding | CSF | Sorting order % ---------------------------------------------------------------- -% cp866 | ruscii.csf Cyrillic first, Latin -% cp1251 | cp1251.csf Cyrillic first, Latin -% koi8-u | koi8u.csf Cyrillic first, Latin -% utf8 | utf8cyrillic.csf Cyrillic first, Latin +% cp866 | ruscii.csf | Cyrillic first, Latin +% cp1251 | cp1251.csf | Cyrillic first, Latin +% koi8-u | koi8u.csf | Cyrillic first, Latin +% utf8 | utf8cyrillic.csf | Cyrillic first, Latin % ---------------------------------------------------------------- % \end{verbatim} % -% In addition, BibTeX8 distribution comes with few more CSFs. +% In addition, \BibTeX8 distribution comes with few more CSFs. % \begin{verbatim} -% ---------------------------------------------------------------- -% Encoding | CSF Sorting order -% ---------------------------------------------------------------- -% cp866 | cp866rus.csf Latin first, Cyrillic -% ---------------------------------------------------------------- +% --------------------------------------------------------------- +% Encoding | CSF | Sorting order +% --------------------------------------------------------------- +% cp866 | cp866rus.csf | Latin first, Cyrillic +% --------------------------------------------------------------- % \end{verbatim} % -% \subsection{How to use} +% \section{How to use}\label{s2} % % \begin{enumerate} % \item @@ -328,7 +776,7 @@ % \end{verbatim} % % \item -% Add the field |language="ukrainian"| or |language="russian"| to the +% Add the field |langid="ukrainian"| or |langid="russian"| to the % bibliographic entries in Ukrainian or Russian languages in your % database; English is the default language. German, Italian and % French are partially supported. @@ -344,11 +792,11 @@ % bibtex8 -B -c <csf_file>.csf <filename>.aux % latex <filename>.tex % \end{verbatim} - +% % \item % For details on preparing bibliographic database see examples in -% \file{gost*.pdf}. - +% \file{gost*.pdf} and \file{ugost*.pdf}. +% % \item % \file{ugost*} styles are primarily intended for use % with unicode compilers (\file{xelatex} and \file{lualatex}). They @@ -368,7 +816,7 @@ % do the case change where appropriate. % % \item -% Either \file{bibtex8} or \file{Bibtex8} fail to cut Cyrillic names to +% Either \file{bibtex.exe} or \file{bibtex8.exe} fail to cut Cyrillic names to % initials. Therefore \file{ugost2008*} styles do not modify name of % authors. % @@ -379,7 +827,7 @@ % \end{enumerate} % % -% \subsection{Customization} +% \section{Customization}\label{s3} % % Every GOST style defines few commands to format some parts of a % reference. You can redefine these commands prior to @@ -407,21 +855,41 @@ % unbreakable space before |\cyrdash| so that dash never appears % in the beginning of a line. % -% \subsection{Where to get} +% \section{Where to get}\label{s4} % % \begin{enumerate} % \item -% \href{http://mirror.ctan.org/biblio/bibtex/contrib/gost/} -% {CTAN:biblio/bibtex/contrib/gost}. +% \href{http://ctan.org/pkg/gost}{http://ctan.org/pkg/gost}. % \item -% \href{http://ctan.org/pkg/gost} -% {CTAN:pkg/gost}. +% \href{http://github.com/kia999/gost}{http://github.com/kia999/gost}. % \end{enumerate} % % -% \subsection{Version history} +% \section{Version history}\label{s5} +% +% \subsection*{Version 1.2k (2020.12.25)} +% +% \begin{enumerate} +% \item +% All stuff is now generated from |gost.dtx|. +% +% \item +% Limited support of the |date| field added. +% +% \item +% Formatting of |doi| field updated: |http://dx.doi.org| changed +% to |https://doi.org|. +% +% \item +% Restricted support of |date| field added. +% +% \item +% Documentation and examples update (thanks to Leonid Sinev). +% +% \end{enumerate} +% % -% \subsubsection*{Version 1.2i (2017.01.12)} +% \subsection*{Version 1.2i (2017.01.12)} % % \begin{enumerate} % \item @@ -448,7 +916,7 @@ % \end{enumerate} % % -% \subsubsection*{Version 1.2h (2016.08.21)} +% \subsection*{Version 1.2h (2016.08.21)} % % \begin{enumerate} % \item @@ -457,7 +925,7 @@ % \end{enumerate} % % -% \subsubsection*{Version 1.2g (2016.07.25)} +% \subsection*{Version 1.2g (2016.07.25)} % % \begin{enumerate} % \item @@ -466,7 +934,7 @@ % \end{enumerate} % % -% \subsubsection*{Version 1.2f (2016.07.12)} +% \subsection*{Version 1.2f (2016.07.12)} % % \begin{enumerate} % \item @@ -474,10 +942,10 @@ % % \item % |medium| field renamed to |media| field for compatibility with biblatex. - +% % \end{enumerate} % -% \subsubsection*{Version 1.2e (2016.07.07)} +% \subsection*{Version 1.2e (2016.07.07)} % % \begin{enumerate} % \item @@ -486,17 +954,17 @@ % % \end{enumerate} % -% \subsubsection*{Version 1.2d (2015.02.18)} +% \subsection*{Version 1.2d (2015.02.18)} % % \begin{enumerate} % \item % jan, feb, etc. macros fixed. % % \item -% New macro format.month. +% New macro |format.month|. % \end{enumerate} % -% \subsubsection*{Version 1.2c (2015.01.10)} +% \subsection*{Version 1.2c (2015.01.10)} % % \begin{enumerate} % \item @@ -524,7 +992,7 @@ % % \end{enumerate} % -% \subsubsection*{Version 1.2a (2012.08.31)} +% \subsection*{Version 1.2a (2012.08.31)} % % \begin{enumerate} % @@ -534,7 +1002,7 @@ % % \end{enumerate} % -% \subsubsection*{Version 1.2 (2012.02.22)} +% \subsection*{Version 1.2 (2012.02.22)} % % \begin{enumerate} % \item @@ -553,7 +1021,7 @@ % \end{enumerate} % % -% \subsubsection*{Version 1.1 (2012.01.21)} +% \subsection*{Version 1.1 (2012.01.21)} % % \begin{enumerate} % \item @@ -575,7 +1043,7 @@ % % \end{enumerate} % -% \subsubsection{Older versions} +% \subsection{Older versions} % % \begin{enumerate} % \item[2012.02.22] Support for |natbib| package. @@ -595,7 +1063,7 @@ % \PrintIndex % } % -% \section{Implementation} +% \section{Implementation}\label{s6} % % We need Russian fonts to produce documentation of the code below. % Therefore we switch current language to Russian by issuing the command @@ -605,10 +1073,12 @@ % % \begin{macrocode} %<*bst> -%% +% \end{macrocode} +% +% \begin{macrocode} %% This bibstyle attempts to format bibliography according to -%<!modern>%% GOST 7.1-2003 for bibliographic records. -%<modern>%% GOST 7.0.5-2008 for bibliographic reference. +%<strict>%% GOST 7.1-2003 for bibliographic records. +%<!strict>%% GOST 7.0.5-2008 for bibliographic reference. %<*natbib>%% %%------------------------------------------------------------------- %% This is an author-year citation style bibliography. @@ -617,7 +1087,7 @@ %% The form of the \bibitem entries is %% \bibitem[Jones et al.(1990)]{key}... %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... -%% where the label part (in brackets) consists of the author names, +%% where the label part [in brackets] consists of the author names, %% as they should appear in the citation, with the year in parentheses following. %% There must be no space before the opening parenthesis! %% A full list of authors may also follow the year. @@ -627,11 +1097,11 @@ %% The \cite command functions as follows: %% \citet{key} => Jones et al. (1990) %% \citet*{key} => Jones, Baker, and Smith (1990) -%% \cite{key} => (Jones et al., 1990) -%% \cite*{key} => (Jones, Baker, and Smith, 1990) -%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) -%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) -%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) +%% \cite{key} => (Jones et al., 1990) +%% \cite*{key} => (Jones, Baker, and Smith, 1990) +%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2) +%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990) +%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32) %% \citeauthor{key} => Jones et al. %% \citeauthor*{key} => Jones, Baker, and Smith %% \citeyear{key} => 1990 @@ -639,10 +1109,13 @@ %</natbib> % \end{macrocode} -% \subsection{Fields} +% \subsection{Fields}\label{s6.1} % -% Enlist all entry types allowed in a bibliographic database. -% Most entries are common for many standard bst styles. +% Enlist all entry fields allowed in a bibliographic database. +% Most fields are common for many standard |bst| styles. Nonlisted fields +% are just ignored by \BibTeX. +% \changes{v1.2i}{12 Jan 2017}{field \texttt{date} added} +% \changes{v1.2i}{12 Jan 2017}{field \texttt{specialitycode} added} % \changes{v1.2f}{12 Jul 2016}{entry \texttt{patent} added} % \changes{v1.2c}{18 Jan 2015}{entry field \texttt{langid} added} % \changes{v1.2c}{18 Jan 2015}{entry field \texttt{eid} added} @@ -687,18 +1160,20 @@ ENTRY booklanguage % \end{macrocode} % Entries borrowed from biblatex. -% \changes{v1.2b}{19 Jan 2014}{entry field \texttt{numpages} renamed to \texttt{pagetotal}} -% \changes{v1.2}{26 Jan 2012}{entry fields \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype} added} +% \changes{v1.2b}{19 Jan 2014}{entry field \texttt{numpages} renamed to +% \texttt{pagetotal}} +% \changes{v1.2}{26 Jan 2012}{entry fields \texttt{eprint}, \texttt{eprintclass}, +% \texttt{eprinttype} added} % \begin{macrocode} - %date % not implemented yet... + date % new in v1.2i pagetotal url urldate isbn doi + eprint eprinttype % = archivePrefix eprintclass % = primaryClass - eprint % new in v1.2f: % appear in biblatex: %addendum % not implemented yet... @@ -725,13 +1200,36 @@ ENTRY %<natbib> { label extra.label sort.label short.list } % \end{macrocode} -% Declare internal variables and constants used in to format references. +% +% \subsection{Output functions}\label{s6.2} +% +% Declare internal variables and constants used for formatting bibliographic +% records. Other variables are defined below when needed. % \begin{macrocode} -INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.colon after.semicolon } +INTEGERS { + output.state + before.all + mid.sentence + after.sentence + after.block + after.dblslash + after.slash + after.colon + after.semicolon +} + +STRINGS { curlanguage } + +STRINGS { s t } + +STRINGS { y m d } % new in v.1.2j % \end{macrocode} +% % \DescribeFunction{init.state.consts}% +% Set constants that designate various output states which are kept by +% `output.state` integer. The latter is checked and updated by a set of functions +% such as `output` to be defined below. % \begin{macrocode} FUNCTION {init.state.consts} { #0 'before.all := @@ -744,18 +1242,31 @@ FUNCTION {init.state.consts} #7 'after.semicolon := } -STRINGS { s t } - -STRINGS { curlanguage } - % \end{macrocode} % -% \subsection{Formatting functions} +% \DescribeFunction{set.language} +% Sets current language |curlanguage|. +% Called by |bibitem.output| before any other function. +% \begin{macrocode} +FUNCTION {set.language} +{ langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } + if$ +} + +% \end{macrocode} % -% \DescribeFunction{change.language} -% Declare function to switch language. +% \DescribeFunction{reset.language} +% Reset current language to |booklanguage| if provided. Called by +% |output.nonnull| after double slash so that the rest of the record is formatted +% with |booklanguage|. % \begin{macrocode} -FUNCTION {change.language} +FUNCTION {reset.language} { booklanguage empty$ { "" } { booklanguage 'curlanguage := @@ -768,9 +1279,10 @@ FUNCTION {change.language} % \end{macrocode} % -% Declare functions to output various parts of bibliographic record. +% Declare various functions to output various parts of a bibliographic record. +% % \DescribeFunction{output.nonnull} -% Function |output.nonnull| writes to output buffer the last literal in the stack +% Writes the last literal in the stack to output buffer % assuming that it is not empty and adds an appropriate punctuation symbol. % \changes{v1.2c}{17 Jan 2015}{fix Gost2003: \texttt{"}\texttt{-}\texttt{-}\texttt{-} replaced by macro \cs{BibDash}} % \begin{macrocode} @@ -788,15 +1300,13 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.dblslash = - { "~//" * change.language * " " * write$ } + { "~//" * reset.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.colon = -%<!(strict|modern)> { ": " * write$ } -%<strict|modern> { "~: " * write$ } + { "~: " * write$ } { output.state after.semicolon = -%<!(strict|modern)> { "; " * write$ } -%<strict|modern> { "~; " * write$ } + { "~; " * write$ } { add.period$ " " * write$ } if$ } @@ -817,11 +1327,8 @@ FUNCTION {output.nonnull} % \end{macrocode} % % \DescribeFunction{output} -% Function |output| calls |output.nonnul| is the last literal string in the stack -% if it is not empty; otherwise it discards the literal. -% Function |output.check| do the same but also warns if the indicated field is -% empty. -% \DescribeFunction{output.check} +% Calls |output.nonnull| if the last literal string in the stack +% is not empty; otherwise it discards the literal. % \begin{macrocode} FUNCTION {output} { duplicate$ empty$ @@ -830,10 +1337,19 @@ FUNCTION {output} if$ } +% \end{macrocode} +% +% \DescribeFunction{output.check} +% Does the same but also warns if the indicated field is empty. Needs two +% literals in the stack: the field and the name of the field, e.g., +% |author "author" output.check|. +% \begin{macrocode} FUNCTION {output.check} { 't := duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } + { pop$ + "empty " t * " in " * cite$ * warning$ + } 'output.nonnull if$ } @@ -852,11 +1368,12 @@ FUNCTION {fin.entry} % \end{macrocode} % +% Declare a family of functions to put punctuation marks depending on the current +% status of the output stack. +% % \DescribeFunction{new.block}% -% Declare family of functions to put punctuation marks depending of current -% status of output stack. The just check output state and revert it another -% state if required. Checking output state prevents occasional doubling of -% punctuation marks. +% This just checks output state and revert it to another state if required. +% Checking output state prevents occasional doubling of punctuation marks. % \begin{macrocode} FUNCTION {new.block} { output.state before.all = @@ -920,6 +1437,7 @@ FUNCTION {new.sentence} } % \end{macrocode} +% % \DescribeFunction{add.blank}% % \begin{macrocode} FUNCTION {add.blank} @@ -928,8 +1446,11 @@ FUNCTION {add.blank} % \end{macrocode} % -% \DescribeFunction{not} +% \subsection{Logical functions and various checks}\label{s6.3} +% % Declare few logical functions. +% +% \DescribeFunction{not} % \begin{macrocode} FUNCTION {not} { { #0 } @@ -956,34 +1477,19 @@ FUNCTION {or} } % \end{macrocode} -% \DescribeFunction{chop.word} -% The function |chop.word| in |substr len str chop.word| removes given substring -% |substr| of length |len| from the beginning of the string |str|. -% \begin{macrocode} -%<*sort|natbib> -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} -%</sort|natbib> - -% \end{macrocode} +% % \DescribeFunction{non.stop} +% \note{What's the hell? Never used.} % \begin{macrocode} -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - +%FUNCTION {non.stop} +%{ duplicate$ +% "}" * add.period$ +% #-1 #1 substring$ "." = +%} +% % \end{macrocode} % \DescribeFunction{new.block.checka} +% Adds |new.block| if the last literal in stack is not empty. % \begin{macrocode} FUNCTION {new.block.checka} { empty$ @@ -994,6 +1500,7 @@ FUNCTION {new.block.checka} % \end{macrocode} % \DescribeFunction{new.block.checkb} +% Adds |new.block| if either of the two last literals in the stack is not empty. % \begin{macrocode} FUNCTION {new.block.checkb} { empty$ @@ -1006,6 +1513,7 @@ FUNCTION {new.block.checkb} % \end{macrocode} % \DescribeFunction{new.sentence.checka} +% Adds |new.sentence| if the last literal in stack is not empty. % \begin{macrocode} FUNCTION {new.sentence.checka} { empty$ @@ -1016,6 +1524,7 @@ FUNCTION {new.sentence.checka} % \end{macrocode} % \DescribeFunction{new.sentence.checkb} +% Adds |new.sentence| if either of the two last literals in the stack is not empty. % \begin{macrocode} FUNCTION {new.sentence.checkb} { empty$ @@ -1040,6 +1549,7 @@ FUNCTION {new.dblslash.checka} % \end{macrocode} % \DescribeFunction{field.or.null} +% Replaces an empty field with null string |""|. % \begin{macrocode} FUNCTION {field.or.null} { duplicate$ empty$ @@ -1049,14 +1559,40 @@ FUNCTION {field.or.null} } % \end{macrocode} +%% +% \DescribeFunction{either.or.check} +% \note{Move upwards} +% \begin{macrocode} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +% \end{macrocode} +% +% \subsection{String Functions}\label{s6.4} +% +% \DescribeFunction{spaces.around} +% Inserts a space before and after last literal in the stack. +% \begin{macrocode} +FUNCTION {spaces.around} +{ " " swap$ * " " * } + +% \end{macrocode} % % \DescribeFunction{emphasize} -% Declare function to emphasize last string in stack. +% Emphasizes the last literal in the stack if it is not empty. +% v1.2k: |emphasize| now returns empty field if last literal in the stack +% was empty. +% \changes{v1.2k}{25 Dec 2020}{function emphasize modified} % \changes{v0.8}{10 Aug 2003}{macro \cs{BibEmph} added} % \begin{macrocode} FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } + %{ pop$ "" } + 'skip$ % v.1.2k { "\BibEmph{" swap$ * "}" * } if$ } @@ -1065,7 +1601,8 @@ FUNCTION {emphasize} % % \DescribeFunction{bracify} % New in v.1.2. An idea borrowed from apsrev4-1.bst. -% Declare function to enclose last word by braces even if empty. +% Encloses last literal in the stack by braces even if it is empty. Note that +% braces are normally not printed by \LaTeX. % \begin{macrocode} FUNCTION {bracify} { duplicate$ empty$ @@ -1075,10 +1612,12 @@ FUNCTION {bracify} } % \end{macrocode} -% \DescribeFunction{enclose.square.brackets} -% This and the next functions are used to enclose last word by brackets. +% \DescribeFunction{bracketise} +% This and the next functions are used to enclose last word by square and round +% brackets. In contrast to |bracify| function they push null string if the +% last literal is empty. % \begin{macrocode} -FUNCTION {enclose.square.brackets} +FUNCTION {bracketise} { duplicate$ empty$ { pop$ "" } @@ -1087,9 +1626,9 @@ FUNCTION {enclose.square.brackets} } % \end{macrocode} -% \DescribeFunction{enclose.round.brackets} +% \DescribeFunction{paranthesify} % \begin{macrocode} -FUNCTION {enclose.round.brackets} +FUNCTION {paranthesify} { duplicate$ empty$ { pop$ "" } @@ -1099,40 +1638,189 @@ FUNCTION {enclose.round.brackets} % \end{macrocode} % -% \DescribeFunction{space.word} -% |space.word| inserts space before last string in stack. +% \DescribeFunction{chop.word} +% +% The function |chop.word| in the context `\emph{sstr} \emph{len} \emph{str} +% |chop.word|' tries to remove given substring \emph{sstr} of the length \emph{len} +% from the beginning of the string \emph{str}. It trims \emph{str} only if first +% \emph{len} symbols in \emph{str} coinsides with \emph{sstr}. +% See examples in Section~\ref{s6.6}. % \begin{macrocode} -FUNCTION {space.word} -{ " " swap$ * " " * } +%<*sort|natbib> +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +%</sort|natbib> % \end{macrocode} % -% \subsection{Standard abbreviations} +% \DescribeFunction{is.num} +% Currently not used. +% +% \note{Можно использовать для проверки года, извлечённого из |date|.} +% \begin{macrocode} +%<*debug> +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +%</debug> +% \end{macrocode} +% +% \DescribeFunction{extract.num} +% Currently not used. +% \begin{macrocode} +%<*debug> +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$ +} + +%</debug> +% \end{macrocode} +% +% \DescribeFunction{tie.connect} +% Inserts unbreakable space between last two literals in the stack. +% \begin{macrocode} +FUNCTION {tie.connect} + {"~" swap$ * * + } + +% \end{macrocode} +% +% \DescribeFunction{tie.or.space.connect} +% Inserts space or unbreakable space between last two literals in the stack +% depending on the length of last literal. +% \begin{macrocode} +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +% \end{macrocode} +% +% \DescribeFunction{n.dashify} +% \begin{macrocode} +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$ +} + +% \end{macrocode} +% +% \DescribeFunction{multi.page.check} +% Returns 1 if the last literal (usually |page|) contains either `|-|', `|,|' +% or `|+|'; otherwise returns 0. +% Used in connection with |n.dashify|. +% +% \note{Заметим несогласованность функций |multi.page.check| и +% |n.dashify|. Последняя функция проверяет дефис, а первая ещё и минус и +% запятую.} +% +% \begin{macrocode} +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 +} + +% \end{macrocode} +% +% +% \subsection{Language-sensitive abbreviations}\label{s6.5} % % Declare language-sensitive abbreviations. +% We provide two versions of any abbreviation for unicode and non-Unicode styles. +% The language-sensitive functions push to the stack a string that depends of the +% the current value of the string |curlanguage|. It is set for every entry by +% |output.bibitem| function. Abbreviations for |russian|, |ukrainian| and |english| +% values of the string |curlanguage| are always provided, and sometimes for +% |french| and |german|. +% % \DescribeFunction{bbl.edby} % \begin{macrocode} -FUNCTION {bbl.edby} % { "\bbledby{}" } +FUNCTION {bbl.edby} { curlanguage "english" = - {"Ed.\ by"} + {"ed.\ by"} { curlanguage "ukrainian" = -%<!utf8> {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} -%<utf8> {"Під ред."} +%<!utf8> {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"} +%<utf8> {"під ред."} { curlanguage "russian" = -%<!utf8> {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"} -%<utf8> {"Под ред."} +%<!utf8> {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"} +%<utf8> {"под ред."} { curlanguage "german" = { "ed." } - {"language is not defined: " language "edby" * * warning$ "Ed.\ by"} + {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"} if$} if$} if$} if$} % \end{macrocode} -% \DescribeFunction{bbl.cmplr} +% \DescribeFunction{bbl.compiler} % \begin{macrocode} -FUNCTION {bbl.cmplr} +FUNCTION {bbl.compiler} { curlanguage "english" = { "Compiler"} { curlanguage "german" = @@ -1143,7 +1831,7 @@ FUNCTION {bbl.cmplr} { curlanguage "russian" = %<!utf8> {"{\cyr\CYRS\cyro\cyrs\cyrt.}"} %<utf8> {"{Сост.}"} - {"language is not defined: " language "cmplr" * * warning$ "Compiler"} + {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"} if$} if$} if$} @@ -1152,9 +1840,9 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.edition} % \begin{macrocode} -FUNCTION {bbl.edition} % { "\bbledition{}" } +FUNCTION {bbl.edition} { curlanguage "english" = - {"edition"} + {"ed."} { curlanguage "ukrainian" = %<!utf8> {"{\cyr\cyrv\cyri\cyrd.}"} %<utf8> {"{вид.}"} @@ -1167,7 +1855,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" } {"edizione"} { curlanguage "french" = {"\'{e}dition"} - {"language is not defined: " language "edition" * * warning$ "edition"} + {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."} if$} if$} if$} @@ -1178,7 +1866,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.vvolume} % \begin{macrocode} -FUNCTION {bbl.vvolume} % { "\bblVolume{}" } +FUNCTION {bbl.vvolume} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Volume"} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1186,7 +1874,7 @@ FUNCTION {bbl.vvolume} % { "\bblVolume{}" } %<utf8> { "Том" } { curlanguage "german" = {"{Band}"} %%%% { "Volumen" } - {"language is not defined: " language "vvolume" * * warning$ "Volume"} + {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"} if$} if$} if$} @@ -1194,7 +1882,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.vvol} % \begin{macrocode} -FUNCTION {bbl.vvol} % { "\bblVol{}" } +FUNCTION {bbl.vvol} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"Vol."} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1202,7 +1890,7 @@ FUNCTION {bbl.vvol} % { "\bblVol{}" } %<utf8> {"Т."} { curlanguage "german" = {"{Bd.}"} %%%% { "Vol." } - {"language is not defined: " language "vvol" * * warning$ "Vol."} + {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."} if$} if$} if$} @@ -1210,7 +1898,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.iissue} % \begin{macrocode} -FUNCTION {bbl.iissue} % { "\bblIssue{}" } +FUNCTION {bbl.iissue} { curlanguage "english" = {"Issue"} { curlanguage "ukrainian" = @@ -1221,7 +1909,7 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" } %<utf8> {"Выпуск"} { curlanguage "german" = {"{Heft}"} %%%% { "Ausgabe" } - {"language is not defined: " language "iissue" * * warning$ "Issue"} + {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"} if$} if$} if$} @@ -1230,7 +1918,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.iiss} % \begin{macrocode} -FUNCTION {bbl.iiss} % { "\bblIss{}" } +FUNCTION {bbl.iiss} { curlanguage "english" = {"Iss."} { curlanguage "ukrainian" = @@ -1241,7 +1929,7 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" } %<utf8> {"Вып."} { curlanguage "german" = {"{H.}"} - {"language is not defined: " language "iiss" * * warning$ "Iss."} + {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."} if$} if$} if$} @@ -1250,7 +1938,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.of} % \begin{macrocode} -FUNCTION {bbl.of} % { "\bblof{}" } +FUNCTION {bbl.of} { curlanguage "english" = {"of"} { curlanguage "german" = @@ -1261,7 +1949,7 @@ FUNCTION {bbl.of} % { "\bblof{}" } { curlanguage "russian" = %<!utf8> { "{\cyr\cyri\cyrz}" } %<utf8> { "{из}" } - {"language is not defined: " language "of" * * warning$ "of"} + {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"} if$} if$} if$} @@ -1270,7 +1958,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.etal} % \begin{macrocode} -FUNCTION {bbl.etal} % { "\bblof{}" } +FUNCTION {bbl.etal} { curlanguage "english" = {"et~al."} { curlanguage "german" = @@ -1281,7 +1969,7 @@ FUNCTION {bbl.etal} % { "\bblof{}" } { curlanguage "russian" = %<!utf8> {"{\cyr\cyri~\cyrd\cyrr.}"} %<utf8> {"и~др."} - {"language is not defined: " language "et~al" * * warning$ "et~al."} + {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."} if$} if$} if$} @@ -1290,10 +1978,9 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.and} % \begin{macrocode} -%<*natbib> -FUNCTION {bbl.and} % { "\bbland{}" } +FUNCTION {bbl.and} { curlanguage "english" = - {"and"} + {"and"} { curlanguage "german" = { "und" } { curlanguage "ukrainian" = @@ -1302,17 +1989,19 @@ FUNCTION {bbl.and} % { "\bbland{}" } { curlanguage "russian" = %<!utf8> {"{\cyri}"} %<utf8> {"и"} - {"language is not defined: " language "and" * * warning$ "and"} + { curlanguage "french" = + {"et"} + {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"} + if$} if$} if$} if$} if$} -%</natbib> % \end{macrocode} % \DescribeFunction{bbl.nnumber} % \begin{macrocode} -FUNCTION {bbl.nnumber} % { "\bblNumber{}" } +FUNCTION {bbl.nnumber} { curlanguage "english" = {"Number"} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1320,7 +2009,7 @@ FUNCTION {bbl.nnumber} % { "\bblNumber{}" } %<utf8> { "{Номер}" } { curlanguage "german" = {"{Heft}"} %%% { "Anzahl" } - {"language is not defined: " language "nnumber" * * warning$ "Number"} + {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"} if$} if$} if$} @@ -1328,7 +2017,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.number} % \begin{macrocode} -FUNCTION {bbl.number} % { "\bblnumber{}" } +FUNCTION {bbl.number} { curlanguage "english" = {"number"} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1336,7 +2025,7 @@ FUNCTION {bbl.number} % { "\bblnumber{}" } %<utf8> {"{номер}"} { curlanguage "german" = {"{Heft}"} %%% { "anzahl" }??? - {"language is not defined: " language "number" * * warning$ "number"} + {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"} if$} if$} if$} @@ -1344,17 +2033,20 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.nr} % \begin{macrocode} -FUNCTION {bbl.nr} % { "\bblno{}" } +FUNCTION {bbl.nr} { curlanguage "english" = {"no."} { curlanguage "italian" = - { "no" } + { "no." } { curlanguage "ukrainian" = curlanguage "russian" = or %<!utf8> { "{\cyr\textnumero}" } %<utf8> { "{№}" } { curlanguage "german" = - {"{H.}"} %%% { "an." } - {"language is not defined: " language "nr" * * warning$ "no."} + {"{nu.}"} %%% { "an." } + { curlanguage "french" = + { "no." } + {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."} + if$} if$} if$} if$} @@ -1363,7 +2055,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.nnr} % \begin{macrocode} -FUNCTION {bbl.nnr} % { "\bblno{}" } +FUNCTION {bbl.nnr} { curlanguage "english" = {"No."} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1371,7 +2063,7 @@ FUNCTION {bbl.nnr} % { "\bblno{}" } %<utf8> { "{№}" } { curlanguage "german" = {"{H.}"} %%% { "an." } - {"language is not defined: " language "nnr" * * warning$ "No."} + {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."} if$} if$} if$} @@ -1379,33 +2071,34 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.in} % \begin{macrocode} -FUNCTION {bbl.in} % { "\bblin{}" } +FUNCTION {bbl.in} { curlanguage "english" = curlanguage "german" = or {"in"} { curlanguage "ukrainian" = curlanguage "russian" = or %<!utf8> { "{\cyr\cyrv}" } %<utf8> { "{в}" } - {"language is not defined: " language "in" * * warning$ "in"} + {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"} if$} if$} % \end{macrocode} % \DescribeFunction{bbl.iin} +% Currently not used. % \begin{macrocode} -FUNCTION {bbl.iin} % { "\bblIn{}" } +FUNCTION {bbl.iin} { curlanguage "english" = curlanguage "german" = or {"In"} { curlanguage "ukrainian" = curlanguage "russian" = or %<!utf8> { "\CYRV" } %<utf8> { "{В}" } - {"language is not defined: " language "iin" * * warning$ "In"} + {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"} if$} if$} % \end{macrocode} % \DescribeFunction{bbl.pages} % \begin{macrocode} -FUNCTION {bbl.pages} % { "\bblpp." } +FUNCTION {bbl.pages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} %%% {"pp."} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1413,7 +2106,7 @@ FUNCTION {bbl.pages} % { "\bblpp." } %<utf8> {"{с.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "pages" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."} if$} if$} if$} @@ -1421,7 +2114,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.page} % \begin{macrocode} -FUNCTION {bbl.page} % { "\bblp." +FUNCTION {bbl.page} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"p."} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1429,7 +2122,7 @@ FUNCTION {bbl.page} % { "\bblp." %<utf8> {"{с.}"} { curlanguage "german" = {"S."} %%%% { "s." } - {"language is not defined: " language "page" * * warning$ "p."} + {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."} if$} if$} if$} @@ -1437,7 +2130,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.ppages} % \begin{macrocode} -FUNCTION {bbl.ppages}% { "\bblPp." } +FUNCTION {bbl.ppages} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} %%%% { "Pp." } { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1445,7 +2138,7 @@ FUNCTION {bbl.ppages}% { "\bblPp." } %<utf8> {"{С.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppages" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."} if$} if$} if$} @@ -1453,7 +2146,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.ppage} % \begin{macrocode} -FUNCTION {bbl.ppage} % { "\bblP." } +FUNCTION {bbl.ppage} { curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or {"P."} { curlanguage "ukrainian" = curlanguage "russian" = or @@ -1461,14 +2154,14 @@ FUNCTION {bbl.ppage} % { "\bblP." } %<utf8> {"{С.}"} { curlanguage "german" = {"S."} - {"language is not defined: " language "ppage" * * warning$ "P."} + {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."} if$} if$} if$} % \end{macrocode} -% Next function was added in version 2016.07.07. % \DescribeFunction{bbl.url} +% Added in version 2016.07.07. % \changes{v1.2e}{07 Jul 2016}{\texttt{bbl.url} added to replace URL string} % \begin{macrocode} FUNCTION {bbl.url} @@ -1482,14 +2175,17 @@ FUNCTION {bbl.url} %<utf8> { "{Режим доступа}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "Mode d'acc\`{e}s" } + { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" } + if$} if$} if$} if$} if$} % \end{macrocode} -% Next function was added in version 2012.01.15. % \DescribeFunction{bbl.urldate} +% Added in version 2012.01.15. % \changes{v1.2}{13 Feb 2012}{fix \texttt{bbl.urldate} for ukrainian (Andrey Shvajkoy)} % \begin{macrocode} FUNCTION {bbl.urldate} @@ -1503,7 +2199,10 @@ FUNCTION {bbl.urldate} %<utf8> { "{дата обращения}" } { curlanguage "german" = { "{online; abgerufen}" } - { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + { curlanguage "french" = + { "{en ligne; acc\'{e}d\'{e}}" } + { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" } + if$} if$} if$} if$} @@ -1512,7 +2211,7 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.techreport} % \begin{macrocode} -FUNCTION {bbl.techreport} % rename to bbl.techreport +FUNCTION {bbl.techreport} { curlanguage "english" = { "Rep." } { curlanguage "german" = @@ -1520,7 +2219,7 @@ FUNCTION {bbl.techreport} % rename to bbl.techreport { curlanguage "russian" = %<!utf8> { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" } %<utf8> { "{Отчет}" } - { "language is not defined: " language "techrep" * * warning$ "Rep." } + { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." } if$} if$} if$} @@ -1532,13 +2231,13 @@ FUNCTION {bbl.mathesis} { curlanguage "english" = { "Master's thesis" } { curlanguage "german" = - { "Diss.~Mag." } + { "diss.~mag." } { curlanguage "russian" = -%<!utf8> { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" +%<!utf8> { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri" %<!utf8> "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " * %<!utf8> "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * } -%<utf8> { "{Квалификационная работа магистра}" } - { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" } +%<utf8> { "{квалификационная работа магистра}" } + { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" } if$} if$} if$} @@ -1551,14 +2250,14 @@ FUNCTION {bbl.phdthesis} { curlanguage "english" = { "Ph.\,D. thesis" } { curlanguage "german" = - { "Diss.~Ph.\,D." } + { "diss.~Ph.\,D." } { curlanguage "russian" = %<!utf8> { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. " %<!utf8> "\cyrn\cyra\cyru\cyrk}" * } -%<utf8> { "{дис.\ \ldots\ канд. наук}" } +%<utf8> { "{дис.\ \ldots\ канд.\ наук}" } { curlanguage "french" = - { "Th\`{e}se de doctorat" } - { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" } + { "th\`{e}se de doctorat" } + { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" } if$} if$} if$} @@ -1569,36 +2268,20 @@ if$} % \begin{macrocode} FUNCTION {bbl.docthesis} { curlanguage "english" = - { "Dr.\,Sci. dissertation" } + { "dr.\,sci. dissertation" } { curlanguage "german" = - { "Diss.~Dr." } + { "diss.~dr." } { curlanguage "russian" = %<!utf8> { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ " %<!utf8> "\cyrn\cyra\cyru\cyrk}" * } %<utf8> { "{дис.\ \ldots\ д-ра наук}" } - { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" } + { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" } if$} if$} if$} % \end{macrocode} -% \DescribeFunction{bbl.thesis.type`} -% \begin{macrocode} -FUNCTION {bbl.thesis.type} -{ type "mathesis" = - { bbl.mathesis } - { type "phdthesis" = - { bbl.phdthesis } - { type "docthesis" = - { bbl.docthesis } - %%{ "!!!" type * "t" change.case$ } -%<!utf8> { type "t" change.case$ } -%<utf8> { type } - if$} - if$} -if$} - -% \end{macrocode} +% % \DescribeFunction{bbl.nnoaddress} % \begin{macrocode} FUNCTION {bbl.nnoaddress} @@ -1607,7 +2290,7 @@ FUNCTION {bbl.nnoaddress} { curlanguage "russian" = %<!utf8> { "{\cyr\CYRB.\ \cyrm.}" } %<utf8> { "{Б.\ м.}" } - { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." } + { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." } if$} if$} @@ -1620,7 +2303,7 @@ FUNCTION {bbl.nopublisher} { curlanguage "russian" = %<!utf8> { "{\cyr\cyrb.\ \cyri.}" } %<utf8> { "{б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." } if$} if$} @@ -1633,7 +2316,7 @@ FUNCTION {bbl.nnopublisher} { curlanguage "russian" = %<!utf8> { "{\cyr\CYRB.\ \cyri.}" } %<utf8> { "{Б.\ и.}" } - { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." } + { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." } if$} if$} @@ -1646,7 +2329,7 @@ FUNCTION {bbl.media.text} { curlanguage "russian" = curlanguage "ukrainian" = or %<!utf8> { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } %<utf8> { "{Текст}" } - { "language is not defined: " language "media" * * warning$ "Text" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" } if$} if$} @@ -1664,7 +2347,7 @@ FUNCTION {bbl.media.eresource} %<!utf8> { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " %<!utf8> "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * } %<utf8> { "{Електронний ресурс}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -1684,7 +2367,7 @@ FUNCTION {bbl.media.online} %<!utf8> { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ " %<!utf8> "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * } %<utf8> { "{Електронний ресурс онлайн}" } - { "language is not defined: " language "media" * * warning$ "Electronic resource" } + { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -1701,7 +2384,7 @@ FUNCTION {bbl.chief} { curlanguage "ukrainian" = %<!utf8> { "\cyrr\cyru\cyrk." } %<utf8> { "{рук.}" } - { "language is not defined: " language "chief" * * warning$ "chief" } + { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" } if$} if$} if$} @@ -1711,14 +2394,14 @@ if$} % \begin{macrocode} FUNCTION {bbl.executor} { curlanguage "english" = - { "Executor" } + { "executor" } { curlanguage "russian" = %<!utf8> { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" } %<utf8> { "{исполн.}" } { curlanguage "ukrainian" = %<!utf8> { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" } %<utf8> { "{виконавець}" } - { "language is not defined: " language "executor" * * warning$ "executor" } + { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" } if$} if$} if$} @@ -1726,11 +2409,6 @@ if$} % \end{macrocode} % \DescribeFunction{bbl.media} % \begin{macrocode} -%FUNCTION {bbl.media} -%{ type$ "online" = -% { bbl.media.eresource } -% { bbl.media.text } -%if$} FUNCTION {bbl.media} { media "online" = { bbl.media.online } @@ -1752,7 +2430,7 @@ FUNCTION {bbl.req} { curlanguage "russian" = %<!utf8> { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" } %<utf8> { "{заявл.}" } - { "language is not defined: " language "req" * * warning$ "req" } + { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" } if$ } if$ @@ -1772,7 +2450,7 @@ FUNCTION {bbl.publ} { curlanguage "russian" = %<!utf8> { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" } %<utf8> { "{опубл.}" } - { "language is not defined: " language "publication" * * warning$ "publication" } + { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" } if$ } if$ @@ -1792,7 +2470,7 @@ FUNCTION {bbl.priority} { curlanguage "russian" = %<!utf8> { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" } %<utf8> { "{приоритет}" } - { "language is not defined: " language "priority" * * warning$ "priority" } + { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" } if$ } if$ @@ -1802,68 +2480,675 @@ FUNCTION {bbl.priority} % \end{macrocode} % -% \subsection{Formatting functions} % -% Declare functions to format separate elements of bibliographic reference. +% \DescribeFunction{bbl.jan} +% \DescribeFunction{bbl.feb} +% \DescribeFunction{bbl.mar} +% \DescribeFunction{bbl.apr} +% \DescribeFunction{bbl.may} +% \DescribeFunction{bbl.jun} +% \DescribeFunction{bbl.jul} +% \DescribeFunction{bbl.aug} +% \DescribeFunction{bbl.sep} +% \DescribeFunction{bbl.oct} +% \DescribeFunction{bbl.nov} +% \DescribeFunction{bbl.dec} +% New in version 1.2k. +% \changes{v1.2k}{22 Jan 2017}{added \texttt{bbl.jan}, \texttt{bbl.feb}, etc.} % \begin{macrocode} -INTEGERS { nameptr namesleft numnames } +FUNCTION {bbl.jan} +{ curlanguage "english" = + {"Jan."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRS\cyrii\cyrch."} +%<utf8> {"Січ."} % Січень + { curlanguage "russian" = +%<!utf8> { "\CYRYA\cyrn\cyrv." } +%<utf8> { "Янв." } + { curlanguage "german" = + { "Jan." } % Januar + { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.feb} +{ curlanguage "english" = + {"Feb."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRL\cyryu\cyrt."} +%<utf8> {"Лют."} % Лютий + { curlanguage "russian" = +%<!utf8> { "\CYRF\cyre\cyrv\cyrr." } +%<utf8> { "Фев." } + { curlanguage "german" = + {"Feb."} % Februar + {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."} + if$} + if$} + if$} +if$} +FUNCTION {bbl.mar} +{ curlanguage "english" = + {"Mar."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRB\cyre\cyrr."} +%<utf8> {"Бер."} % Березень + { curlanguage "russian" = +%<!utf8> { "\CYRM\cyra\cyrr\cyrt" } +%<utf8> { "Март" } + { curlanguage "german" = + {"März"} % März + {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."} + if$} + if$} + if$} +if$} +FUNCTION {bbl.apr} +{ curlanguage "english" = + {"Apr."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRK\cyrv\cyrii\cyrt."} +%<utf8> {"Квіт."} % квітень + { curlanguage "russian" = +%<!utf8> { "\CYRA\cyrp\cyrr." } +%<utf8> { "Апр." } + { curlanguage "german" = + {"Apr."} % April + { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.may} +{ curlanguage "english" = + {"May"} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRT\cyrr\cyra\cyrv."} +%<utf8> {"Трав."} % травень + { curlanguage "russian" = +%<!utf8> { "\CYRM\cyra\cyrishrt" } +%<utf8> { "Май" } + { curlanguage "german" = + {"Mai"} + { "language is not defined: bbl.may for " curlanguage * warning$ "May" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jun} +{ curlanguage "english" = + {"June"} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRCH\cyre\cyrr."} +%<utf8> {"Чер."} % червень + { curlanguage "russian" = +%<!utf8> { "\CYRI\cyryu\cyrn\cyrsftsn" } +%<utf8> { "Июнь" } + { curlanguage "german" = + {"Juni"} + { "language is not defined: bbl.jun for " curlanguage * warning$ "June" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jul} +{ curlanguage "english" = + {"July"} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRL\cyri\cyrp."} +%<utf8> {"Липень"} %Липень + { curlanguage "russian" = +%<!utf8> { "\CYRI\cyryu\cyrl\cyrsftsn" } +%<utf8> { "Июль" } + { curlanguage "german" = + {"Juli"} + { "language is not defined: bbl.jul for " curlanguage * warning$ "July" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.aug} +{ curlanguage "english" = + {"Aug."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRS\cyre\cyrr."} +%<utf8> {"Серпень"} % Серпень + { curlanguage "russian" = +%<!utf8> { "\CYRA\cyrv\cyrg\." } +%<utf8> { "Авг." } + { curlanguage "german" = + {"Aug."} % August + { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.sep} +{ curlanguage "english" = + {"Sep."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRV\cyre\cyrr."} +%<utf8> {"Вер."} % вересень + { curlanguage "russian" = +%<!utf8> { "\CYRS\cyre\cyrn\cyrt." } +%<utf8> { "Сент." } + { curlanguage "german" = + {"Sep."} % September + { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.oct} +{ curlanguage "english" = + {"Oct."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRZH\cyro\cyrn."} +%<utf8> {"Жов."} % жовтень + { curlanguage "russian" = +%<!utf8> { "\CYRO\cyrk\cyrt." } +%<utf8> { "Окт." } + { curlanguage "german" = + {"Okt."} % Oktober + { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.nov} +{ curlanguage "english" = + {"Nov."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRL\cyri\cyrs."} +%<utf8> {"Лис."} % листопад + { curlanguage "russian" = +%<!utf8> { "\CYRN\cyro\cyrya\cyrb." } +%<utf8> { "Нояб." } + { curlanguage "german" = + {"Nov."} % November + { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.dec} +{ curlanguage "english" = + {"Dec."} + { curlanguage "ukrainian" = +%<!utf8> {"\CYRG\cyrr\cyru\cyrd."} +%<utf8> {"Груд."} % грудень + { curlanguage "russian" = +%<!utf8> { "\CYRD\cyre\cyrk." } +%<utf8> { "Дек." } + { curlanguage "german" = + {"Dez."} % Dezember + { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." } + if$} + if$} + if$} +if$} +% \end{macrocode} +% +% \DescribeFunction{bbl.arxiv} +% \DescribeFunction{bbl.jstor} +% \DescribeFunction{bbl.pubmed} +% \DescribeFunction{bbl.googlebooks} +% \DescribeFunction{bbl.hdl} +% New in version 1.2k. +% \changes{v1.2k}{25 Dec 2020}{added \texttt{bbl.arxiv}, \texttt{bbl.jstor}, etc.} +% \begin{macrocode} +FUNCTION {bbl.arxiv} +{ curlanguage "english" = + { "ArXiv" } + { curlanguage "ukrainian" = +%<!utf8> {"ArXiv"} +%<utf8> {"ArXiv"} + { curlanguage "russian" = +%<!utf8> { "ArXiv" } +%<utf8> { "ArXiv" } + { curlanguage "german" = + { "ArXiv" } + { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.jstor} +{ curlanguage "english" = + { "JSTOR" } + { curlanguage "ukrainian" = +%<!utf8> {"JSTOR"} +%<utf8> {"JSTOR"} + { curlanguage "russian" = +%<!utf8> { "JSTOR" } +%<utf8> { "JSTOR" } + { curlanguage "german" = + { "JSTOR" } + { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.pubmed} +{ curlanguage "english" = + { "PubMed" } + { curlanguage "ukrainian" = +%<!utf8> {"PubMed"} +%<utf8> {"PubMed"} + { curlanguage "russian" = +%<!utf8> { "PubMed" } +%<utf8> { "PubMed" } + { curlanguage "german" = + { "PubMed" } + { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.googlebooks} +{ curlanguage "english" = + { "Google Books" } + { curlanguage "ukrainian" = +%<!utf8> {"Google \CYRK\cyrn\cyri\cyrg\cyri"} +%<utf8> {"Google Книги"} + { curlanguage "russian" = +%<!utf8> { "Google \CYRK\cyrn\cyri\cyrg\cyri" } +%<utf8> { "Google Книги" } + { curlanguage "german" = + { "Google Books" } + { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" } + if$} + if$} + if$} +if$} + +FUNCTION {bbl.hdl} +{ curlanguage "english" = + { "Handle.Net" } + { curlanguage "ukrainian" = +%<!utf8> {"Handle.Net"} +%<utf8> {"Handle.Net"} + { curlanguage "russian" = +%<!utf8> { "Handle.Net" } +%<utf8> { "Handle.Net" } + { curlanguage "german" = + { "Handle.Net" } + { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" } + if$} + if$} + if$} +if$} % \end{macrocode} % -% \DescribeFunction{format.names} -% Function |format.names| has 2 version. -% First is for bibliographic records rather then for bibliographic references. -% It is used for \file{.bst} styles compiled without the |modern| option. -% It format every name as `LastName, F. S.'. -% Historically, this version was used first for earlier styles included into -% GOST bundle. % -% \textbf{Important note} +% \subsection{Aliases}\label{s6.10} % -% Neither \file{bibtex} nor \file{bibtex8} can handle unicoded text without -% troubles. In particular, they fail to reduce a Cyrillic name to initials. -% Therefore we avoid using |f.| primitive when option |utf8| is in effect. +% Aliases to some fields are introduced with the help of +% \emph{field1}|.or.|\emph{field2} functions. +% +% \DescribeFunction{address.or.location} +% Pushes |address| field if not empty; otherwise pushes |location| value even +% if it is empty. +% \changes{v1.2i}{02 Jan 2017}{\texttt{location} field added as alias to \texttt{address} field} +% \begin{macrocode} +%FUNCTION {address.or.location} +%{ +% address empty$ +% { location empty$ +% 'skip$ +% { location } +% if$ } +% { address } +% if$ +%} +FUNCTION {address.or.location} +{ + address empty$ + { location } + { address } + if$ +} + +% \end{macrocode} +% +% \DescribeFunction{specialitycode.or.number} +% Pushed |specialitycode| value if not empty; otherwise +% returns |number| value even if the latter is empty. +% \changes{v1.2i}{13 Jan 2017}{\texttt{number} field is now alias to \texttt{specialitycode}} +% \begin{macrocode} +FUNCTION {specialitycode.or.number} +{ + specialitycode empty$ + { number } + { specialitycode } + if$ +} + +% \end{macrocode} +% +% \DescribeFunction{institution.or.school} +% Pushes |institution| value if not empty; otherwise +% returns |school| value even if the latter is empty. +% \changes{v1.2i}{13 Jan 2017}{\texttt{school} field is now alias to \texttt{instituttion}} +% \begin{macrocode} +FUNCTION {institution.or.school} +{ + institution empty$ + { school} + { institution } + if$ +} +% \end{macrocode} +% +% +% \subsection{Formatting dates}\label{s6.7} +% +% \note{NEEDS to be located before natbib labels. This is experimental section. +% Needs to be upgraded.} +% +% \DescribeFunction{date.to.year} +% New in version 1.2k. Extracts year from date. Currently, only the date +% of the form either |YYYY-MM-DD|, or |YYYY-MM|, or |YYYY| can be processed as +% expected. Returns |date| if it is empty or has wrong format. +% \changes{v1.2j}{15 Jan 2017}{new function \texttt{date.to.year}} +% \begin{macrocode} +FUNCTION {date.to.year} +{ + date empty$ + { date } + { +%<*debug> + "date.to.year::: date in " cite$ * " =" * date * warning$ + "date.to.year::: length of date is " date text.length$ int.to.str$ * warning$ +%</debug> + date text.length$ #3 > + { + date #1 #4 substring$ 'y := +%<*debug> + ":::::: y=" y * warning$ +%</debug> + y + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +% \end{macrocode} +% +% \DescribeFunction{date.to.month} +% New in version 1.2k. Extracts month from date. +% Returns |date| if it is empty or has wrong format. +% \changes{v1.2j}{15 Jan 2017}{new function \texttt{date.to.month}} +% \begin{macrocode} +FUNCTION {date.to.month} +{ + date empty$ + { date } + { +%<*debug> + "date.to.month::: date in " cite$ * " =" * date * warning$ + "date.to.month::: length of date is " date text.length$ int.to.str$ * warning$ +%</debug> + date text.length$ #6 > + { + date #6 #2 substring$ 'm := +%<*debug> + ":::::: m=" m * warning$ +%</debug> + m + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} + +% \end{macrocode} +% +% \DescribeFunction{date.to.day} +% New in version 1.2k. Extracts year from date. +% Returns |date| if it is empty or has wrong format. +% \changes{v1.2j}{15 Jan 2017}{new function \texttt{date.to.day}} +% \begin{macrocode} +FUNCTION {date.to.day} +{ + date empty$ + { date } + { +%<*debug> + "date.to.day::: date in " cite$ * " =" * date * warning$ + "date.to.day::: length of date is " date text.length$ int.to.str$ * warning$ +%</debug> + date text.length$ #10 = + { + date #9 #2 substring$ 'd := +%<*debug> + ":::::: d=" d * warning$ +%</debug> + d + } + { + "wrong format of date in " cite$ * ": date=" * date * warning$ + date + } + if$ + } + if$ +} +% \end{macrocode} +% +% \DescribeFunction{year.or.date.to.year} +% New in version 1.2k. Returns |year| if not empty; otherwise call |date.to.year|. +% +% \note{ВОЗМОЖНО, ПОДОБНЫЕ ФУНКЦИИ ЛУЧШЕ назвать \texttt{this.year}.} +% \changes{v1.2j}{15 Jan 2017}{new function \texttt{year.or.date.to.year}} % \begin{macrocode} -%<*!modern> -FUNCTION {format.names} +FUNCTION {year.or.date.to.year} { -%<!utf8> #1 "{vv~}{ll}{~jj}{,~f.}" format.name$ -%<utf8> #1 "{vv~}{ll}{~jj}{,~ff}" format.name$ + year empty$ + { +%<*debug> + "year.or.date.to.year::: empty year in " cite$ * warning$ +%</debug> + date.to.year + } + { year } + if$ +} + +% \end{macrocode} +% +% \DescribeFunction{format.month} +% Reads |month| field and translate standard +% English abbreviation of months (as defined by |jan|, |feb|, etc. macros below) +% to current language. +% \note{НАДО ИЗОБРЕСТИ ЧТО-ТО ВРОДЕ |month.or.date.to.month| +% (|this.month|).} +% \changes{v1.2i}{29 Dec 2016}{typo fix in \texttt{format.month}} +% \begin{macrocode} +FUNCTION {format.month} +{ month empty$ + { "" } + { month "Jan." = + { bbl.jan } + { month "Feb." = + { bbl.feb } + { month "Mar." = + { bbl.mar } + { month "Apr." = + { bbl.apr } + { month "May" = + { bbl.may } + { month "Jun." = + { bbl.jun } + { month "Jul." = + { bbl.jul } + { month "Aug." = + { bbl.aug } + { month "Sep." = + { bbl.sep } + { month "Oct." = + { "Окт." } + { month "Nov." = + { bbl.nov } + { month "Dec." = + { bbl.dec } + { + "unknown month in " cite$ * warning$ + month + } + if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} + if$ +} +% \end{macrocode} +% +% \DescribeFunction{format.date} +% \changes{v1.2c}{17 Jan 2015}{fix Gost2003: \texttt{"}\texttt{-}\texttt{-}\texttt{-} replaced by macro \cs{BibDash}} +% \changes{v1.2j}{15 Jan 2017}{extraction of year from date added} +% \begin{macrocode} +FUNCTION {format.date} +%{ year empty$ +{ year.or.date.to.year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + format.month + } + if$ + } + { month empty$ +% 'year +% { year ". \BibDash " format.month * * } + 'year.or.date.to.year + { year.or.date.to.year ". \BibDash " format.month * * } + if$ + } + if$ } -%</!modern> + +% \end{macrocode} +% +% +% \subsection{Formatting names}\label{s6.6} +% +% Declare functions to format separate elements of a bibliographic reference. +% +% \textbf{Important note} +% +% Neither \file{bibtex} nor \file{bibtex8} can handle unicoded text without +% troubles. In particular, they fail to reduce a Cyrillic name to initials. +% Therefore we avoid using |f.| primitive (which trims first name to first letter) +% when option |utf8| is in effect; in the latter caase |ff| primitive is called +% instead. +% +% \begin{macrocode} +INTEGERS { nameptr namesleft numnames } + % \end{macrocode} -% Second version drops comma from output so that every name is formatted -% as `LastName F. S.'. It also substitutes 4th and following names by -% localized term `et al'. +% +% \DescribeFunction{fmt.names.first} +% \DescribeFunction{fmt.names.three} +% \DescribeFunction{fmt.names.all} +% New version of functions formating names. Function name indicates number +% of persons printed. These functions look for last literal in the stack +% which should not be empty; hence, they should be called by other functions +% that checks if the last literal is empty. % \begin{macrocode} -%<*modern> -FUNCTION {format.names} +FUNCTION {fmt.names.first} +{ #1 +%<strict&!utf8> "{vv~}{ll}{~jj}{,~f.}" +%<strict&utf8> "{vv~}{ll}{~jj}{,~ff}" +%<!strict&!utf8> "{vv~}{ll}{~jj}{~f.}" +%<!strict&utf8> "{vv~}{ll}{~jj}{~ff}" + format.name$ +} + +FUNCTION {fmt.names.three} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := + { namesleft #0 > } + { s nameptr +%<strict&!utf8> "{vv~}{ll}{~jj}{,~f.}" +%<strict&utf8> "{vv~}{ll}{~jj}{,~ff}" +%<!strict&!utf8> "{vv~}{ll}{~jj}{~f.}" +%<!strict&utf8> "{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 +%<!strict> { " " * bbl.etal * } +%<strict> { " " * bbl.etal bracketise *} + { ", " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {fmt.names.all} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := { namesleft #0 > } { s nameptr -%<!utf8> "{vv~}{ll}{~jj}{~f.}" format.name$ 't := -%<utf8> "{vv~}{ll}{~jj}{~ff}" format.name$ 't := + %"{vv~}{ll}" format.name$ 't := +%<strict&!utf8> "{vv~}{ll}{~jj}{,~f.}" +%<strict&utf8> "{vv~}{ll}{~jj}{,~ff}" +%<!strict&!utf8> "{vv~}{ll}{~jj}{~f.}" +%<!strict&utf8> "{vv~}{ll}{~jj}{~ff}" + format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or + { numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or %<!strict> { " " * bbl.etal * } -%<strict> { " " * bbl.etal enclose.square.brackets *} - { ", " * t * } +%<strict> { " " * bbl.etal bracketise *} + { " " bbl.and " " * * * t * } if$ } if$ @@ -1875,72 +3160,185 @@ FUNCTION {format.names} } while$ } -%</modern> % \end{macrocode} -% \DescribeFunction{format.lab.names} -% Declare function to go to optional argument of |\bibitem| in -% the styles generated with the option |natbib|. +% +% +% \subsection{Formatting names (cont.)}\label{s6.9} +% +% \DescribeFunction{format.author} +% Formats a list of authors for the heading part of a bibliographic record +% by appying either |fmt.names.first|, |fmt.names.three| or |fmt.names.all| to +% the field |author|, if it is not empty; % otherwise it pushes empty |author|. +% This allows making a check as in the case of +% |format.author "author" output.check|. +% +% \note{Однако заметим, что все другие +% функции |format....| пустое поле замещают пустой строкой.} % \begin{macrocode} -%<*natbib> -FUNCTION {format.lab.names} -{ 's := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - %{ pop$ " et~al." * } - { pop$ " " bbl.etal * * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * s #2 "{vv~}{ll}" format.name$ * } - { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } +%FUNCTION {format.author} +%{ author empty$ +% %%%{ "" } % < v.1.2k +% { author } % v.1.2k +% %{ author format.names emphasize} % 1st if strict, <=3 otherwise +%%<long> { author fmt.names.all emphasize} +%%<!long&strict> { author fmt.names.first emphasize} +%%<!long&!strict> { author fmt.names.three emphasize} +% if$ +%} +FUNCTION {format.author} +{ + author empty$ + { author } %%%'skip$ +%<*long> + { author fmt.names.all } +%</long> +%<*!long> + {author num.names$ #4 < + { +%<strict> author fmt.names.first +%<!strict> author fmt.names.three + } + { "" } %%%'skip$ + if$} +%</!long> if$ } -%</natbib> % \end{macrocode} -% \DescribeFunction{format.names.rev} -% Declare function to format names for authors/bookauthors list after title and etc. -% Note that |format.names.rev| cuts list of names to at most 4 persons. -% We do not cut names to initials in this list. +% +% \DescribeFunction{format.bookauthors} +% Is used only once by |bookauthor.head| called in |inbook| entry. +% \note{Not used anymore!} +% \begin{macrocode} +%<*debug> +%FUNCTION {format.bookauthors} +%{ bookauthor empty$ +% { "" } +% { bookauthor format.names}% cuts to 4 persons if |!strict| option +% if$ +%} +% +%</debug> +% \end{macrocode} +% +% \DescribeFunction{format.author.rest} +% Formats |author| to be placed after a slash in the zone of responsibiloty of +% a bibliographic record. In contrast to |output.author.rest| does not check +% number of items in the |author| field; it is recommended to use +% |output.author.rest| instead whenever possible. +% \note{Not used any more.} % \begin{macrocode} -FUNCTION {format.names.rev} +%<*debug> +FUNCTION {format.author.rest} { - 's := +%<*long> + %%% Does this work? + %%%skip$ % this seemed to work + %%% "" % this seemed to work +%</long> +%<*!long> + author empty$ + %%%{ "" } % < v.1.2k + { author } % v.1.2k + { author fmt.names.three } + if$ +%</!long> +} + +%</debug> +% \end{macrocode} +% \DescribeFunction{format.bookauthors.rest} +% \begin{macrocode} +FUNCTION {format.bookauthors.rest} +{ bookauthor empty$ + { "" } +%<long> { bookauthor fmt.names.all emphasize } +%<!long> { bookauthor fmt.names.three emphasize } + if$ +} + +% \end{macrocode} +% \DescribeFunction{format.editors.rest} +% \begin{macrocode} +FUNCTION {format.editors.rest} +{ editor empty$ + { "" } +%<long> { bbl.edby "\ " * editor fmt.names.all * } +%<!long> { bbl.edby "\ " * editor fmt.names.three * } + if$ +} + +% \end{macrocode} +% \DescribeFunction{format.chief.rest} +% Formats |editor| field for |report| and |techreport| entries. +% \begin{macrocode} +FUNCTION {format.chief.rest} +{ editor empty$ + { "" } +%<long> { bbl.chief "\ " * editor fmt.names.all * } +%<!long> { bbl.chief "\ " * editor fmt.names.three * } + if$ +} + +% \end{macrocode} +% \DescribeFunction{format.executor.rest} +% \begin{macrocode} +FUNCTION {format.executor.rest} +{ author empty$ + { "" } +%<long> { bbl.executor ": " * author fmt.names.all * } +%<!long> { bbl.executor ": " * author fmt.names.three * } + if$ +} + +% \end{macrocode} +% \DescribeFunction{format.compiler.rest} +% \begin{macrocode} +FUNCTION {format.compiler.rest} +{ compiler empty$ + { "" } +%<long> { bbl.compiler "\ " * compiler fmt.names.all * } +%<!long> { bbl.compiler "\ " * compiler fmt.names.three * } + if$ +} + +% \end{macrocode} +% +% +% \subsection{Formatting natbib keys}\label{s6.8} +% +% \begin{macrocode} +%<*natbib> +% \end{macrocode} +% +% \DescribeFunction{fmt.names.brief} +% Formats all names like |fmt.names.all| except that first name of every person is dropped +% (dropped |ff| and |f.| modifiers). +% +% \note{Вероятно, нужно сократить число персон до 3х максимум. Что говорит ГОСТ? +% Где используется это? В метке ссылки это расгиренный список авторов после +% краткого списка и года в необязательном аргументе \cs{bibitem}.} +% \begin{macrocode} +FUNCTION {fmt.names.brief} +{ 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr -%<!utf8> %"{f.}{~vv}{~ll}{, jj}" format.name$ 't := -%<!utf8> "{ff}{~vv}{~ll}{, jj}" format.name$ 't := -%<utf8> "{ff}{~vv}{~ll}{, jj}" format.name$ 't := + { s nameptr "{vv~}{ll}" format.name$ 't := nameptr #1 > - { nameptr #4 = - numnames #4 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ + { namesleft #1 > { ", " * t * } - { t "others" = - t "~others" = - or -%<!strict> { " " * bbl.etal * } -%<strict> { " " * bbl.etal enclose.square.brackets * } - { ", " * t * } + { + numnames #2 > curlanguage "english" = and + { "," * } + 'skip$ + if$ + t "others" = t "~others" = or + { " " bbl.etal * * } + { " " bbl.and " " * * * t * } if$ } if$ @@ -1954,32 +3352,52 @@ FUNCTION {format.names.rev} } % \end{macrocode} -% \DescribeFunction{format.key} -% Function to substitute empty field (usually, author name) with the |key| field. +% +% \DescribeFunction{format.names.key} +% Declares function to go to left part of optional argument of |\bibitem| in +% the bibstyles generated with the option |natbib|. It cuts the list of person +% to 2 at most and drops first name of every person. % \begin{macrocode} -%<*natbib> -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } +FUNCTION {format.names.key} +{ 's := + set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " " bbl.etal * * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " " bbl.etal * * } + { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } if$ } -%</natbib> % \end{macrocode} -% \DescribeFunction{format.authors} +% +% \DescribeFunction{format.key} +% Substitute an empty last literal in the stack (usually, |author|) with the |key| field +% if provided. Used as a heading of bibliographic record of |author| is empty. % \begin{macrocode} -FUNCTION {format.authors} -{ author empty$ +FUNCTION {format.key} +{ empty$ + { key field.or.null } { "" } - { author format.names emphasize} if$ } % \end{macrocode} +% % \DescribeFunction{author.key.label} +% Composes a key to be used as a reference label with natbib +% styles. If |author| field is empty an attempt is made to retrieve |key| field. +% If it is also empty 3 first letters are retreived from the citation key |cite$|. +% If |author| field is not empty |format.names.key| defined above is called. % \begin{macrocode} -%<*natbib> FUNCTION {author.key.label} { author empty$ { key empty$ @@ -1987,10 +3405,17 @@ FUNCTION {author.key.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } - +% \end{macrocode} +% +% \DescribeFunction{author.editor.key.label} +% \DescribeFunction{author.key.organization.label} +% \DescribeFunction{editor.key.organization.label} +% These functions operate similarly but engage a different set of fields. They +% are called below by |calc.short.list|. +% \begin{macrocode} FUNCTION {author.editor.key.label} { author empty$ { editor empty$ @@ -2000,10 +3425,10 @@ FUNCTION {author.editor.key.label} { "{}" key * } %% Bug in bibtex8 ?? if$ } - { editor format.lab.names } + { editor format.names.key } if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -2018,7 +3443,7 @@ FUNCTION {author.key.organization.label} 'key if$ } - { author format.lab.names } + { author format.names.key } if$ } @@ -2033,14 +3458,20 @@ FUNCTION {editor.key.organization.label} 'key if$ } - { editor format.lab.names } + { editor format.names.key } if$ } -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or +% \end{macrocode} +% +% \DescribeFunction{calc.short.list} +% Calculates |short.list| for |\bibitem| label in natbib styles depending on the type of entry. +% +% \note{Нужна внимательная ревизия логики вычислений. В общем-то, она имеет значения в особом +% случае, когда поле |author| пустое. } +% \begin{macrocode} +FUNCTION {calc.short.list} +{ type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label @@ -2055,12 +3486,21 @@ FUNCTION {calc.short.authors} 'short.list := } +% \end{macrocode} +% +% \DescribeFunction{calc.label} +% +% \note{Вопреки названию, вычисляет только часть метки в [] для +% \cs{bibitem}. Скобка после года не закрыта, так как еще может +% быть добавлено a, b, \dots. Лучше перенести весь код |output.bibitem|. } +% \begin{macrocode} FUNCTION {calc.label} -{ calc.short.authors +{ calc.short.list short.list "(" * - year duplicate$ empty$ +% year duplicate$ empty$ + year.or.date.to.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -2069,243 +3509,57 @@ FUNCTION {calc.label} 'label := } -%</natbib> - -% \end{macrocode} -% \DescribeFunction{format.bookauthors} -% This function is used only once, in |bookauthor.before|, and the latter is -% used only in |inbook| entry. -% \begin{macrocode} -FUNCTION {format.bookauthors} -{ bookauthor empty$ - { "" } - { bookauthor format.names} - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.authors.after} -% \begin{macrocode} -FUNCTION {format.authors.after} -{ author empty$ - { "" } - { author format.names.rev} - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.bookauthors.after} -% \begin{macrocode} -FUNCTION {format.bookauthors.after} -{ bookauthor empty$ - { "" } - { bookauthor format.names.rev}% always cuts to 4 persons - if$ -} - % \end{macrocode} -% \DescribeFunction{format.editors.after} -% \begin{macrocode} -FUNCTION {format.editors.after} -{ editor empty$ - { "" } - { bbl.edby "\ " * editor format.names.rev * } - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.chief.after} -% \begin{macrocode} -FUNCTION {format.chief.after} -{ editor empty$ - { "" } - { bbl.chief "\ " * editor format.names.rev * } - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.executor.after} -% \begin{macrocode} -FUNCTION {format.executor.after} -{ author empty$ - { "" } - { bbl.executor ": " * author format.names.rev * } - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.compiler.after} -% \begin{macrocode} -FUNCTION {format.compiler.after} -{ compiler empty$ - { "" } - { bbl.cmplr "\ " * compiler format.names.rev * } - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.title} -% \textbf{Important note} -% \ -% Neither \file{bibtex} nor \file{bibtex8} can handle unicoded text without -% troubles. In particular, \file{bibtex8} fails to change case of a string if it -% contains Cyrillic letter. Therefore we avoid using |change.case$| when -% option |utf8| is in effect. -% \begin{macrocode} -FUNCTION {format.title} -{ title empty$ - { "" } -%<!utf8> { title "t" change.case$ } -%<utf8> { title } - if$ -} - -% \end{macrocode} -% \DescribeFunction{format.month} -% New in version 1.2d. This macro reads month field and translate English names -% of months to Russian if current language is Russian. -% \changes{v1.2i}{29 Dec 2016}{typo fix in \texttt{format.month}} -% \begin{macrocode} -FUNCTION {format.month} -{ month empty$ - { "" } - { curlanguage "russian" = - { month "Jan." = -%<!utf8> { "\CYRYA\cyrn\cyrv." } -%<utf8> { "Янв." } - { month "Feb." = -%<!utf8> { "\CYRF\cyre\cyrv\cyrr." } -%<utf8> { "Фев." } - { month "Mar." = -%<!utf8> { "\CYRM\cyra\cyrr\cyrt" } -%<utf8> { "Март" } - { month "Apr." = -%<!utf8> { "\CYRA\cyrp\cyrr." } -%<utf8> { "Апр." } - { month "May" = -%<!utf8> { "\CYRM\cyra\cyrishrt" } -%<utf8> { "Май" } - { month "Jun." = -%<!utf8> { "\CYRI\cyryu\cyrn\cyrsftsn" } -%<utf8> { "Июнь" } - { month "Jul." = -%<!utf8> { "\CYRI\cyryu\cyrl\cyrsftsn" } -%<utf8> { "Июль" } - { month "Aug." = -%<!utf8> { "\CYRA\cyrv\cyrg\." } -%<utf8> { "Авг." } - { month "Sep." = -%<!utf8> { "\CYRS\cyre\cyrn\cyrt." } -%<utf8> { "Сент." } - { month "Oct." = -%<!utf8> { "\CYRO\cyrk\cyrt." } -%<utf8> { "Окт." } - { month "Nov." = -%<!utf8> { "\CYRN\cyro\cyrya\cyrb." } -%<utf8> { "Нояб." } - { month "Dec." = -%<!utf8> { "\CYRD\cyre\cyrk." } -%<utf8> { "Дек." } - { month } - if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$} - { month } - if$} - if$ -} -% \end{macrocode} -% \DescribeFunction{format.date} -% \changes{v1.2c}{17 Jan 2015}{fix Gost2003: \texttt{"}\texttt{-}\texttt{-}\texttt{-} replaced by macro \cs{BibDash}} +% +% \DescribeFunction{calc.long.list} +% In case of |natbib| option, we need |calc.long.list| to compose +% |output.bibitem|, and the latter, in its turn, requires some more functions. % \begin{macrocode} -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - format.month +FUNCTION {calc.long.list} %% called 1 time only +{ type$ "book" = type$ "inbook" = or + %'format.author.editor.brief + { author empty$ + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ } + { author fmt.names.brief } if$ } - { month empty$ - 'year - { year ". \BibDash " format.month * * } + { type$ "proceedings" = + %'format.editor.brief + { editor empty$ + { "" } + { editor fmt.names.brief } + if$ + } + %'format.author.brief + { author empty$ + { "" } + { author fmt.names.brief } + if$ + } if$ } if$ -%<natbib> extra.label * % new in v.1.2 -} - -% \end{macrocode} -% \DescribeFunction{address.or.location} -% New function in version 1.2i. Returns |address| value if not empty; otherwise -% returns |location| value even if the latter is empty. -% \changes{v1.2i}{02 Jan 2017}{\texttt{location} field added as alias to \texttt{address} field} -% \begin{macrocode} -%FUNCTION {address.or.location} -%{ -% address empty$ -% { location empty$ -% 'skip$ -% { location } -% if$ } -% { address } -% if$ -%} -FUNCTION {address.or.location} -{ - address empty$ - { location } - { address } - if$ } % \end{macrocode} % -% \DescribeFunction{specialitycode.or.number} -% New function in version 1.2i. Returns |specialitycode| value if not empty; otherwise -% returns |number| value even if the latter is empty. -% \changes{v1.2i}{13 Jan 2017}{\texttt{number} field is now alias to \texttt{specialitycode}} % \begin{macrocode} -FUNCTION {specialitycode.or.number} -{ - specialitycode empty$ - { number } - { specialitycode } - if$ -} - +%</natbib> % \end{macrocode} % -% \DescribeFunction{institution.or.school} -% New function in version 1.2i. Returns |institution| value if not empty; otherwise -% returns |school| value even if the latter is empty. -% \changes{v1.2i}{13 Jan 2017}{\texttt{school} field is now alias to \texttt{instituttion}} -% \begin{macrocode} -FUNCTION {institution.or.school} -{ - institution empty$ - { school} - { institution } - if$ -} -% \end{macrocode} % -% \DescribeFunction{format.address.publisher} -% \DescribeFunction{format.address.publisher.date} +% \subsection{Output functions (continued)}\label{s6.11} +% +% \DescribeFunction{output.address.publisher} +% Outputs |address| (or |location|) and |publisher| fields separated by colon +% if both fields are available; otherwise outputs that field which is not +% empty. % \begin{macrocode} %<*!strict> -%FUNCTION {output.address.publisher} -%{ -% address empty$ -% 'skip$ -% { address output -% publisher empty$ -% 'skip$ -% { new.colon } -% if$ -% } -% if$ -% publisher output -%} FUNCTION {output.address.publisher} { address empty$ location empty$ and @@ -2327,15 +3581,15 @@ FUNCTION {output.address.publisher} { bbl.nnoaddress publisher empty$ - { "~: " * bbl.nopublisher * enclose.square.brackets } - { enclose.square.brackets "~: " * publisher * } + { "~: " * bbl.nopublisher * bracketise } + { bracketise "~: " * publisher * } if$ } { address output new.colon publisher empty$ - { bbl.nopublisher enclose.square.brackets } + { bbl.nopublisher bracketise } { publisher } if$ } @@ -2344,175 +3598,44 @@ FUNCTION {output.address.publisher} } %</strict> - -% \end{macrocode} -% \DescribeFunction{output.address.publisher.date} -% |Otput.address.publisher.date| is used in old styles. -% New styles use |output.address.publisher|. -% \begin{macrocode} -%<*!(modern|strict)> -FUNCTION {output.address.publisher.date} -{ - output.address.publisher - format.date output -} -%</!(modern|strict)> - % \end{macrocode} +% % \DescribeFunction{output.bibitem} +% Is called at the beginning of any entry. It sets |curlanguage| +% string variable based on |langid| or |language| field. % \changes{v1.2c}{18 Jan 2015}{entry field \texttt{langid} added} % \begin{macrocode} -%<*!natbib> FUNCTION {output.bibitem} -{ newline$ +{ + set.language + newline$ "\bibitem" write$ +%<*natbib> + label extra.label * ")" * + calc.long.list * + bracketise write$ +%</natbib> cite$ bracify write$ newline$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid 'curlanguage := } - if$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ "" before.all 'output.state := } -%</!natbib> % \end{macrocode} -% \DescribeFunction{format.full.names} -% \DescribeFunction{author.full} -% \DescribeFunction{editor.full} -% \DescribeFunction{author.editor.full} -% \DescribeFunction{make.full.names} -% \DescribeFunction{output.bibitem} -% In case of |natbib| option, we need |make.full.names| to compose -% |output.bibitem|, and the latter in its turn requires some more functions. +% % \begin{macrocode} %<*natbib> -FUNCTION {format.full.names} -{'s := - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - curlanguage "english" = - and - { "," * } - 'skip$ - if$ - t "others" = - %t "~others" = - %or - %{ " et~al." * } - { " " bbl.etal * * } - %{ " and " * t * } - { " " bbl.and " " * * * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - -% ======================================= -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ -%% language empty$ -%% { "english" 'curlanguage := } -%% {language 'curlanguage := } -%% if$ - langid empty$ - { language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } - if$ - } - { langid 'curlanguage := } - if$ - "\selectlanguageifdefined" curlanguage bracify * write$ - newline$ - "" - before.all 'output.state := -} -% ======================================= %FUNCTION {output.bibitem} %{ newline$ % "\bibitem" write$ %% author.key.label %% year parenthesify * %% "; lbl:" label * * -%% "; mfn:" make.full.names * * +%% "; mfn:" calc.long.list * * % label -% make.full.names * +% calc.long.list * % bracketise write$ % cite$ bracify write$ % newline$ @@ -2525,83 +3648,20 @@ FUNCTION {output.bibitem} % "" % before.all 'output.state := %} -% ======================================= -%</natbib> - -% \end{macrocode} -% \DescribeFunction{n.dashify} -% \begin{macrocode} -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$ -} - -% \end{macrocode} -% \DescribeFunction{word.in} -% \begin{macrocode} -FUNCTION {word.in} -{ bbl.iin - " " * } - -% \end{macrocode} -% \DescribeFunction{format.btitle} -% \begin{macrocode} -FUNCTION {format.btitle} -{ title -} - -% \end{macrocode} -% \DescribeFunction{tie.or.space.connect} -% \begin{macrocode} -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -% \end{macrocode} -% \DescribeFunction{tie.connect} -% Declare function to insert unbreakable space before last word in stack. -% \begin{macrocode} -FUNCTION {tie.connect} - {"~" - swap$ * * - } - - -% \end{macrocode} -% \DescribeFunction{either.or.chec} -% \begin{macrocode} -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} +%</natbib> % \end{macrocode} +% +% +% \subsection{Formatting title, booktitle, etc.}\label{s6.13} +% +% \textbf{Important note} +% +% Neither \file{bibtex.exe} nor \file{bibtex8.exe} can handle unicoded text without +% troubles. In particular, \file{bibtex8} fails to change case of a string if it +% contains Cyrillic letter. Therefore we avoid using |change.case$| when +% option |utf8| is applied. +% % \DescribeFunction{format.bvolume} % \begin{macrocode} FUNCTION {format.bvolume} @@ -2610,7 +3670,7 @@ FUNCTION {format.bvolume} { bbl.vvol volume tie.connect series empty$ 'skip$ - { bbl.of space.word * series emphasize * } + { bbl.of spaces.around * series emphasize * } if$ "volume and number" number either.or.check } @@ -2643,39 +3703,13 @@ FUNCTION {format.number.series} } % \end{macrocode} -% \DescribeFunction{is.num} -% \begin{macrocode} -FUNCTION {is.num} -{ chr.to.int$ - duplicate$ "0" chr.to.int$ < not - swap$ "9" chr.to.int$ > not and -} - -% \end{macrocode} -% \DescribeFunction{extract.num} -% \begin{macrocode} -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$ -} - -%<*debug> -% \end{macrocode} +% % \DescribeFunction{eng.ord} +% Is not currently used. +% \note{Note that |bbl.st|, |bbl.nd|, |bbl.rd|, |bbl.th| +% are not defined.} % \begin{macrocode} +%<*debug> FUNCTION {eng.ord} { duplicate$ "1" swap$ * #-2 #1 substring$ "1" = @@ -2699,6 +3733,7 @@ FUNCTION {eng.ord} %</debug> % \end{macrocode} +% % \DescribeFunction{convert.edition} % \begin{macrocode} FUNCTION {convert.edition} @@ -2732,6 +3767,7 @@ FUNCTION {convert.edition} } % \end{macrocode} +% % \DescribeFunction{format.edition} % \begin{macrocode} FUNCTION {format.edition} @@ -2747,45 +3783,11 @@ FUNCTION {format.edition} if$ } -INTEGERS { multiresult } - -% \end{macrocode} -% \DescribeFunction{multi.page.check} -% \begin{macrocode} -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 -} - % \end{macrocode} +% % \DescribeFunction{format.pages} % \changes{v1.2c}{18 Jan 2015}{entry field \texttt{eid} added} % \begin{macrocode} -%%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} { eid empty$ { @@ -2807,19 +3809,11 @@ FUNCTION {format.pages} } % \end{macrocode} +% % \DescribeFunction{format.pages.page} % \changes{v1.2c}{18 Jan 2015}{entry field \texttt{eid} added} % \changes{v1.2b}{19 Jan 2014}{entry field \texttt{numpages} renamed to \texttt{pagetotal}} % \begin{macrocode} -%%FUNCTION {format.pages.page} -%%{ pages empty$ -%% { pagetotal empty$ -%% { "" } -%% { pagetotal bbl.pages tie.connect } -%% if$} -%% { format.pages} -%% if$ -%%} FUNCTION {format.pages.page} { eid empty$ { pages empty$ @@ -2836,6 +3830,7 @@ FUNCTION {format.pages.page} } % \end{macrocode} +% % \DescribeFunction{format.vol.num.pages} % \begin{macrocode} FUNCTION {format.vol.num.pages} @@ -2861,6 +3856,7 @@ FUNCTION {format.vol.num.pages} } % \end{macrocode} +% % \DescribeFunction{format.volume} % \begin{macrocode} FUNCTION {format.volume} @@ -2880,10 +3876,11 @@ FUNCTION {format.number} if$ } -%<*debug> % \end{macrocode} +% % \DescribeFunction{format.chapter.pages} % \begin{macrocode} +%<*debug> FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages @@ -2902,6 +3899,7 @@ FUNCTION {format.chapter.pages} %</debug> % \end{macrocode} +% % \DescribeFunction{empty.misc.check} % \begin{macrocode} FUNCTION {empty.misc.check} @@ -2915,6 +3913,28 @@ FUNCTION {empty.misc.check} } % \end{macrocode} +% +% \DescribeFunction{bbl.thesis.type} +% +% \note{ЭТУ ФУНКЦИЮ ПЕРЕНЕСТИ КУДА-ТО ВНИЗ ближе к |format.thesis.type| +% И объединить с ней (?)} +% \begin{macrocode} +FUNCTION {bbl.thesis.type} +{ type "mathesis" = + { bbl.mathesis } + { type "phdthesis" = + { bbl.phdthesis } + { type "docthesis" = + { bbl.docthesis } + %%{ "!!!" type * "t" change.case$ } +%<!utf8> { type "t" change.case$ } +%<utf8> { type } + if$} + if$} +if$} + +% \end{macrocode} +% % \DescribeFunction{format.thesis.type} % \begin{macrocode} %FUNCTION {format.thesis.type} @@ -2935,6 +3955,7 @@ FUNCTION {format.thesis.type} if$ } % \end{macrocode} +% % \DescribeFunction{format.techrep.type.number} % Function to format report type and number. % \begin{macrocode} @@ -2959,156 +3980,108 @@ FUNCTION {format.techreport.type} % \end{macrocode} % -% \DescribeFunction{author.before} -% Declare the function |author.before| to format list -% of authors in heading of a bibliographic record. -% If the number of authors is 4 or larger, some styles skip -% the list of authors in the beginning of the bibliographic -% record, while other styles always print that list. -% So, we need two version of |author.before|. -% -% First version is used if \file{.bst} style is compiled without option -% |long|. It skips authors if their number is greater than or equal to 4 -% or if the author field is empty. Note that GOST requires for a long list of -% authors to be reduced. Hence this first version is preferable. -% Note also that |format.names| cuts list of names -% to 4 person at most in case if |modern| option is used. and |format.authors| -% just emphasizes |format.names|. +% \DescribeFunction{output.author.head} +% Formats and writes list of authors in the heading of a bibliographic record. +% The GOST bibstyles skip the list of authors in the beginning of the +% bibliographic record if the number of authors is 4 or larger except for the +% styles with suffix |l| which prints all authors in the +% heading. The bibstyles compiled with the option |struct| print at most 1 person +% name in the heading. % \begin{macrocode} -%<*!long> -FUNCTION {author.before} +FUNCTION {output.author.head} { author empty$ 'skip$ +%<*long> + { author fmt.names.all output.nonnull + %new.sentence + } +%</long> +%<*!long> {author num.names$ #4 < - {format.authors output - new.sentence} + { +%<strict> author fmt.names.first output +%<!strict> author fmt.names.three output + new.sentence + } 'skip$ if$} - if$ -} %</!long> -% \end{macrocode} -% Second version is used if \file{.bst} style is compiled with the option -% |long|. It skips only if the author field is empty. -% \begin{macrocode} -%<*long> -FUNCTION {author.before} -{ - author empty$ - 'skip$ - { format.authors output - new.sentence - } if$ } -%</long> % \end{macrocode} -% \DescribeFunction{bookauthor.before} -% There are also 2 version of the function |bookauthor.before|. +% +% \DescribeFunction{bookauthor.head} +% There are also 2 version of the function |bookauthor.head|. % Not used anymore! % \begin{macrocode} -%%<*!long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% {bookauthor num.names$ #4 < -%% {format.bookauthors output -%% new.sentence} -%% 'skip$ -%% if$} -%% if$ -%%} -%%</!long> -%%<*long> -%%FUNCTION {bookauthor.before} -%%{ -%% bookauthor empty$ -%% 'skip$ -%% { format.bookauthors output -%% new.sentence -%% } -%% if$ -%%} -%%</long> - -% \end{macrocode} -% -% \DescribeFunction{author.after} -% Functions |author.after| and |bookauthor.after| also have by 2 versions. -% They are used to write authors list after the title followed by a slash. -% In modern styles, compiled with option |modern|, the list of authors is -% always cut to at most 4 persons. The cut is performed first by -% |format.names.rev|, which is called by |format.authors.after|. For old styles, -% |author.after| just outputs formatted string whereas for new style it -% skips the string if the number of authors exceeds 3 (and author list is not -% printed before the title). -% \begin{macrocode} -%<*!modern> -FUNCTION {author.after} +% \end{macrocode} +% +% \DescribeFunction{output.author.rest} +% Writes the rest of authors list after the entry title followed by a slash. +% In modern bibstyles, the list of authors in the heading part of a bibliographic +% record is cut to either 3 persons (if no |!strict| option is applied) or 1 +% person (if |strict| option). By idea, |output.author.rest| should print the rest +% of the authors in the |author| field but currently it also repeats the persons +% printed in the heading part. |output.author.rest| returns a null string (|""|) +% if all persons are printed in the heading part of the record. Note that all +% persons are alwats printed in the heading part if |long| option is applied. +% \begin{macrocode} +FUNCTION {output.author.rest} { - author empty$ - 'skip$ - {format.authors.after output - new.semicolon } - if$ -} -%</!modern> -%<*modern> %<*!long> -FUNCTION {author.after} -{ author empty$ 'skip$ - {author num.names$ #3 > - {format.authors.after output - new.semicolon } +%<strict> {author num.names$ #1 > +%<!strict> {author num.names$ #3 > + { author fmt.names.all output + new.semicolon + } 'skip$ if$} if$ -} %</!long> -%<*long> -FUNCTION {author.after} { } -%</long> -%</modern> +} % \end{macrocode} -% \DescribeFunction{bookauthor.after} +% +% \DescribeFunction{bookauthor.rest} % This function is used only in |inbook| entry. It always cuts list to 4 persons -% since |format.bookauthors.after| does that. +% since |format.bookauthors.rest| does that. % \begin{macrocode} -FUNCTION {bookauthor.after} +FUNCTION {bookauthor.rest} { bookauthor empty$ 'skip$ - {format.bookauthors.after output - new.semicolon } + { +%<strict> bookauthor fmt.names.all output +%<!strict> bookauthor fmt.names.three output + new.semicolon + } if$ } % \end{macrocode} -% \DescribeFunction{editor.organization.after} +% \DescribeFunction{editor.organization.rest} % \begin{macrocode} -FUNCTION {editor.organization.after} +FUNCTION {editor.organization.rest} { compiler empty$ {} - { format.compiler.after output + { format.compiler.rest output new.semicolon } if$ editor empty$ {} - { format.editors.after output + { format.editors.rest output.nonnull new.semicolon } if$ organization empty$ {} - {organization output + {organization output.nonnull new.semicolon } if$ @@ -3122,8 +4095,7 @@ FUNCTION {format.url} { url empty$ { "" } { -%<!(modern|strict)> "\BibUrl{ " url * "}" * -%<modern|strict> bbl.url ": \BibUrl{" * url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -3157,8 +4129,9 @@ FUNCTION {format.annote} } % \end{macrocode} +% % \DescribeFunction{format.isbn} -% Do we really need to provide electronic search for ISNB? +% \note{Do we really need to provide electronic search for ISBN?} % \begin{macrocode} FUNCTION {format.isbn} { @@ -3171,6 +4144,7 @@ FUNCTION {format.isbn} } % \end{macrocode} +% % \DescribeFunction{add.doi} % The Digital Object Identifier (DOI) System is for identifying content % objects in the digital environment. DOI names are assigned to any entity @@ -3180,7 +4154,8 @@ FUNCTION {format.isbn} % including where to find it, but its DOI name will not change. % % Function |add.doi| embraces last string in stack into hyperlink -% that links it to specified |doi| identificator at http://dx.doi.org/ web-site. +% that links it to specified |doi| identificator at https://doi.org/ web-site. +% \changes{v1.2k}{25 Dec 2020}{formatting of \texttt{doi} field updated} % \begin{macrocode} %<*eprint> FUNCTION {add.doi} @@ -3188,13 +4163,14 @@ FUNCTION {add.doi} 'skip$ { doi empty$ 'skip$ - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * } if$ } if$ } %</eprint> % \end{macrocode} +% % If \file{.bst} style is compiled without |eprint| option, we just ignore % |doi| field. % \begin{macrocode} @@ -3203,6 +4179,7 @@ FUNCTION {add.doi} { } %</!eprint> % \end{macrocode} +% % \DescribeFunction{add.media} % New in version 1.2. Adds |media| field if |strict| options is in effect. % If the |media| field is empty |add.media| prints a value based on the |type| @@ -3215,7 +4192,7 @@ FUNCTION {add.media} 'skip$ { media empty$ 'skip$ - { " " * bbl.media enclose.square.brackets * } + { " " * bbl.media bracketise * } if$ } if$ @@ -3226,9 +4203,13 @@ FUNCTION {add.media} { duplicate$ empty$ 'skip$ { media empty$ - { " " * bbl.media.text enclose.square.brackets * } - { " " * bbl.media enclose.square.brackets * } - if$ + { type$ "online" = + { " " * bbl.media.online bracketise * } + { " " * bbl.media.text bracketise * } + if$ + } + { " " * bbl.media bracketise * } + if$ } if$ } @@ -3236,7 +4217,7 @@ FUNCTION {add.media} % \end{macrocode} % -% \subsection{Electronic Publishing Information} +% \subsection{Electronic Publishing Information}\label{s6.14} % % The biblatex package provides three fields for electronic publishing % information: |eprint|, |eprinttype|, and |eprintclass|. The |eprint| field @@ -3259,7 +4240,7 @@ FUNCTION {add.media} % repository, service, or system. % Also see eprinttype and eprintclass. % -% This function should use url. TO BE DONE YET. +% \note{This function should use url. TO BE DONE YET.} % \changes{v1.2}{26 Jan 2012}{entry fields \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype}} % \begin{macrocode} %<*eprint> @@ -3386,6 +4367,7 @@ FUNCTION {format.publicationdate} } % \end{macrocode} +% % \DescribeFunction{format.prioritydate} % \begin{macrocode} FUNCTION {format.prioritydate} @@ -3437,15 +4419,16 @@ FUNCTION {format.prioritydate} FUNCTION {article} { output.bibitem - author.before + output.author.head + %new.sentence %<natbib> author format.key output - format.title add.media "title" output.check + title add.media "title" output.check new.slash - author.after + output.author.rest new.dblslash - journal emphasize add.doi "journal" output.check % new in v.2 + journal emphasize add.doi "journal" output.check % new in v1.2 new.block - format.date "year" output.check + format.date "year/date" output.check new.block format.volume output format.number output @@ -3461,6 +4444,7 @@ FUNCTION {article} } % \end{macrocode} +% % \DescribeFunction{book} % A single-volume book with one or more authors where the authors share credit for % the work as a whole. In biblatex, this entry type also covers the function @@ -3478,19 +4462,22 @@ FUNCTION {article} FUNCTION {book} { output.bibitem - author.before + output.author.head + new.sentence %<natbib> author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.sentence format.number.series output new.block format.edition output new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -3507,6 +4494,7 @@ FUNCTION {book} } % \end{macrocode} +% % \DescribeFunction{booklet} % A book-like work without a formal publisher or sponsoring institution. Use the % field howpublished to supply publishing information in free format, if applicable. @@ -3522,16 +4510,19 @@ FUNCTION {book} FUNCTION {booklet} { output.bibitem - author.before + output.author.head + new.sentence %<natbib> author format.key output - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block howpublished output address.or.location output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -3542,6 +4533,7 @@ FUNCTION {booklet} } % \end{macrocode} +% % \DescribeFunction{inbook} % A part of a book which forms a self-contained unit with its own title. % Note that the profile of this entry type is different from standard BibTeX. @@ -3558,24 +4550,27 @@ FUNCTION {booklet} FUNCTION {inbook} { output.bibitem - author.before + output.author.head + new.sentence %<natbib> author format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash -% bookauthor.before +% bookauthor.head booktitle "booktitle" output.check new.slash - bookauthor.after - editor.organization.after + bookauthor.rest + editor.organization.rest new.block format.edition output new.block format.number.series output new.sentence output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output new.block @@ -3592,6 +4587,7 @@ FUNCTION {inbook} } % \end{macrocode} +% % \DescribeFunction{incollection} % A contribution to a collection which forms a self-contained unit with a distinct % author and title. The author refers to the title, the editor to the booktitle, @@ -3609,19 +4605,22 @@ FUNCTION {inbook} FUNCTION {incollection} { output.bibitem - author.before + output.author.head + new.sentence %<natbib> author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after + editor.organization.rest new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.bvolume output format.number.series output @@ -3655,14 +4654,21 @@ FUNCTION {proceedings} { output.bibitem %<natbib> editor format.key output - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - editor.organization.after + editor.organization.rest + new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k + format.date "year/date" output.check new.block format.bvolume output format.number.series output - output.address.publisher - format.date "year" output.check + new.block + format.pages.page output + %%%output.address.publisher % 1.2k moved upper new.block note output new.sentence @@ -3673,6 +4679,7 @@ FUNCTION {proceedings} } % \end{macrocode} +% % \DescribeFunction{inproceedings} % An article in a conference proceedings. This type is similar to @incollection. It % supports an optional organization field. @@ -3688,32 +4695,37 @@ FUNCTION {proceedings} % \begin{macrocode} FUNCTION {inproceedings} { output.bibitem - author.before + output.author.head + new.sentence %<natbib> author format.key output new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after + output.author.rest new.dblslash booktitle "booktitle" output.check new.slash - editor.organization.after - new.block - format.bvolume output - format.number.series output + editor.organization.rest new.block + output.address.publisher % 1.2k moved from below + new.block % added in v.1.2k % address empty$ % { publisher output -% format.date "year" output.check +% format.date "year/date" output.check % } % { address output.nonnull % new.colon % publisher output -% format.date "year" output.check +% format.date "year/date" output.check % } % if$ - output.address.publisher - format.date "year" output.check +% output.address.publisher % moved upper in v.1.2k + format.date "year/date" output.check + new.block + format.bvolume output + format.number.series output new.block format.pages.page output new.block @@ -3747,11 +4759,13 @@ FUNCTION {manual} } if$ } - { format.authors output.nonnull } + { format.author output.nonnull } if$ %<natbib> author format.key output new.block - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k author empty$ { organization empty$ { @@ -3768,7 +4782,7 @@ FUNCTION {manual} } if$ format.edition output - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -3795,10 +4809,9 @@ FUNCTION {manual} FUNCTION {patent} { output.bibitem -% title output.nonnull title add.media output.nonnull -% add.blank -% media enclose.square.brackets output % S.Kruchinin's version + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon format.type.number output add.blank @@ -3806,9 +4819,9 @@ FUNCTION {patent} new.colon ipc output new.slash - format.authors.after "author" output.check + format.author "author" output.check add.blank - authorcountry enclose.round.brackets output.nonnull + authorcountry paranthesify output.nonnull %<natbib> author format.key output new.semicolon holder output.nonnull @@ -3824,7 +4837,7 @@ FUNCTION {patent} new.semicolon format.prioritydate output prioritynumber output - prioritycountry enclose.round.brackets output + prioritycountry paranthesify output new.block note output new.sentence @@ -3837,22 +4850,25 @@ FUNCTION {patent} % \end{macrocode} % \DescribeFunction{misc} -% A fallback type for entries which do not fit into any other category. Use the field -% howpublished to supply publishing information in free format, if applicable. The -% field type may be useful as well. author, editor, and year are omissible. +% A fallback type for entries which do not fit into any other category. +% Use the field howpublished to supply publishing information in free format, +% if applicable. The field type may be useful as well. |author|, |editor|, and +% |year| are omissible. % % Required fields: author/editor, title, year/date. % \begin{macrocode} FUNCTION {misc} { output.bibitem - format.authors output + %format.author output % < v.1.2k + output.author.head % v.1.2k + %new.sentence % v.1.2k %<natbib> author format.key output title howpublished new.sentence.checkb - format.title add.media output + title add.media output howpublished new.block.checka howpublished output new.block - format.date "year" output.check + format.date "year/date" output.check new.block note output new.sentence @@ -3863,6 +4879,7 @@ FUNCTION {misc} } % \end{macrocode} +% % \DescribeFunction{unpublished} % A work with an author and a title which has not been formally published, such % as a manuscript or the script of a talk. Use the fields howpublished and note to @@ -3875,14 +4892,17 @@ FUNCTION {misc} % \begin{macrocode} FUNCTION {unpublished} { output.bibitem - author.before + output.author.head + new.sentence %<natbib> author format.key output - format.btitle "title" output.check + title "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.slash - author.after - editor.organization.after + output.author.rest + editor.organization.rest new.block - format.date "year" output.check + format.date "year/date" output.check new.block note "note" output.check new.sentence @@ -3893,6 +4913,7 @@ FUNCTION {unpublished} } % \end{macrocode} +% % \DescribeFunction{online} % An online resource. Author, editor, and year are omissible. % This entry type is intended for sources such as web sites which are intrinsically @@ -3908,15 +4929,17 @@ FUNCTION {unpublished} % \begin{macrocode} FUNCTION {online} { output.bibitem - format.authors output + format.author output %<natbib> author format.key output title howpublished new.sentence.checkb - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k % howpublished new.block.checka howpublished new.dblslash.checka %<!strict> howpublished output -%<strict> howpublished enclose.square.brackets output - editor.organization.after +%<strict> howpublished bracketise output + editor.organization.rest new.sentence new.block output.address.publisher @@ -3958,52 +4981,27 @@ FUNCTION {electronic} {online} % % \changes{v1.2}{02 Feb 2012}{\texttt{@thesis} entry} % \begin{macrocode} -%<*!(modern|strict)> FUNCTION {thesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check %<natbib> author format.key output new.sentence - format.btitle "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} -%</!(modern|strict)> -%<*modern|strict> -FUNCTION {thesis} -{ output.bibitem - format.authors "author" output.check -%<natbib> author format.key output - new.sentence - format.btitle add.doi add.media "title" output.check new.colon - %%type "type" output.check - bbl.phdthesis format.thesis.type output.nonnull - new.colon - %%number output % code of the speciality specialitycode.or.number output % code of the speciality, new in v.1.2i new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours from the head zone + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -4014,8 +5012,6 @@ FUNCTION {thesis} format.annote output fin.entry } -%</modern|strict> - % \end{macrocode} % % \DescribeFunction{report} @@ -4035,20 +5031,20 @@ FUNCTION {thesis} %FUNCTION {report} %{ % output.bibitem -% author.before +% output.author.head % new.sentence -% format.title add.doi add.media "title" output.check +% title add.doi add.media "title" output.check % new.colon %% format.techrep.type.number output.nonnull % type "type" output.check % new.slash -% author.after -% editor.organization.after +% output.author.rest +% editor.organization.rest % new.block % address output % new.colon % institution "institution" output.check -% format.date "year" output.check +% format.date "year/date" output.check % new.block % note output % new.block % v.2 @@ -4062,10 +5058,12 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem -% author.before +% output.author.head % new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check %<natbib> title format.key output + new.colon % added in v.1.2k + titleaddon output % added in v.1.2k new.colon % format.techrep.type.number output.nonnull % type "type" output.check @@ -4077,14 +5075,14 @@ FUNCTION {report} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -4108,35 +5106,12 @@ FUNCTION {report} % Similar to @thesis except that the type field is optional and defaults to the localized % term `PhD thesis'. You may still use the type field to override that. % \begin{macrocode} -%<*!(modern|strict)> -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - new.sentence - format.btitle "title" output.check - new.colon - bbl.phdthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} -%</!(modern|strict)> -%<*modern|strict> FUNCTION {phdthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check %<natbib> author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.phdthesis format.thesis.type output.nonnull new.colon @@ -4145,13 +5120,14 @@ FUNCTION {phdthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -4162,44 +5138,18 @@ FUNCTION {phdthesis} format.annote output fin.entry } -%</modern|strict> - % \end{macrocode} % \DescribeFunction{mastersthesis} % Similar to |@thesis| except that the type field is optional and defaults to the localized % term `Master's thesis'. You may still use the type field to override that. % \changes{v1.2i}{29 Dec 2016}{entry \texttt{@MastersThesis} added again (see v1.1)} % \begin{macrocode} -%<*!(modern|strict)> -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check -%<natbib> author format.key output - new.sentence - format.btitle "title" output.check - new.colon - bbl.mathesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} -%</!(modern|strict)> -%<*modern|strict> FUNCTION {mastersthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check %<natbib> author format.key output new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.mathesis format.thesis.type output.nonnull new.colon @@ -4208,13 +5158,14 @@ FUNCTION {mastersthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicates athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -4225,44 +5176,18 @@ FUNCTION {mastersthesis} format.annote output fin.entry } -%</modern|strict> - % \end{macrocode} % \DescribeFunction{docthesis} % Similar to |@thesis| except that the type field is optional and defaults to the localized % term `Doctor's of sciences thesis'. You may still use the type field to override that. % \changes{v1.2i}{02 Jan 2017}{\texttt{@dscithesis} entry renamed to \texttt{@docthesis}} % \begin{macrocode} -%<*!(modern|strict)> FUNCTION {docthesis} { output.bibitem - format.authors "author" output.check + format.author "author" output.check %<natbib> author format.key output new.sentence - format.btitle "title" output.check - new.colon - bbl.docthesis format.thesis.type output.nonnull - new.slash - %institution "institution" output.check - institution.or.school "institution/school" output.check - new.block - output.address.publisher.date - new.block - format.pages.page output - note output - new.sentence - format.url output - format.annote output - fin.entry -} -%</!(modern|strict)> -%<*modern|strict> -FUNCTION {docthesis} -{ output.bibitem - format.authors "author" output.check -%<natbib> author format.key output - new.sentence - format.btitle add.doi add.media "title" output.check + title add.doi add.media "title" output.check new.colon bbl.docthesis format.thesis.type output.nonnull new.colon @@ -4271,13 +5196,14 @@ FUNCTION {docthesis} new.colon titleaddon output % date of defence and approvement; new in v.1.2i new.slash - format.authors.after output + %%%format.author.rest output %% dupplicate athours + output.author.rest %% prints if num.names$ > 3 or > 1 new.semicolon %institution "institution" output.check institution.or.school "institution/school" output.check new.block output.address.publisher - format.date "year" output.check + format.date "year/date" output.check new.block format.pages.page output new.block @@ -4288,8 +5214,6 @@ FUNCTION {docthesis} format.annote output fin.entry } -%</modern|strict> - % \end{macrocode} % \DescribeFunction{conference} % \begin{macrocode} @@ -4305,19 +5229,19 @@ FUNCTION {conference} { inproceedings } %FUNCTION {techreport} %{ % output.bibitem -% author.before +% output.author.head % new.sentence -% format.title add.doi add.media "title" output.check +% title add.doi add.media "title" output.check % new.colon % format.techrep.type.number output.nonnull % new.slash -% author.after -% editor.organization.after +% output.author.rest +% editor.organization.rest % new.block % address output % new.colon % institution "institution" output.check -% format.date "year" output.check +% format.date "year/date" output.check % new.block % note output % new.block % v.2 @@ -4332,9 +5256,9 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem -% author.before +% output.author.head % new.sentence - format.title add.doi add.media "title" output.check + title add.doi add.media "title" output.check %<natbib> title format.key output new.colon % format.techrep.type.number output.nonnull @@ -4348,14 +5272,14 @@ FUNCTION {techreport} %institution "institution" output.check institution.or.school "institution/school" output.check new.semicolon - format.chief.after output % from editor field + format.chief.rest output % from editor field new.semicolon - format.executor.after output % from author field + format.executor.rest output % from author field new.block address.or.location output new.colon organization output - format.date "year" output.check + format.date "year/date" output.check new.block % v.2 format.pages.page output % v.2 new.sentence % или new.block ? @@ -4400,96 +5324,96 @@ MACRO {dec} {"Dec."} % % Borrowed from \file{physjour.mbs} of package \pkg{custom-bib}. % \begin{macrocode} -MACRO {aa}{"Astron. \& Astrophys."} -MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} -MACRO {aj} {"Astron. J."} +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 {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 {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 {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 {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 {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 {pop} {"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 {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 {pop} {"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 {sciam} {"Sci.\ Am."} +MACRO {sam} {"Stud.\ Appl.\ Math."} MACRO {st} {"Sky and Telesc."} % \end{macrocode} % @@ -4544,26 +5468,26 @@ MACRO {znat} {"Z. Naturforsch."} % % Borrowed from \file{photjour.mbs}. % \begin{macrocode} -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 {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 {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."} MACRO {vr} {"Vision Res."} -MACRO {zph} {"Z. f. Physik"} -MACRO {zphb} {"Z. f. Physik~B"} -MACRO {zphd} {"Z. f. Physik~D"} +MACRO {zph} {"Z.\ f.\ Physik"} +MACRO {zphb} {"Z.\ f.\ Physik~B"} +MACRO {zphd} {"Z.\ f.\ Physik~D"} % \end{macrocode} % % \subsubsection{Physics of condensed Matter} @@ -4575,20 +5499,20 @@ MACRO {nl} {"Nano Lett."} % \end{macrocode} % % \subsubsection{Soviet and Russian journals} -% To be extended. +% \note{To be extended.} % \begin{macrocode} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} +MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."} +MACRO {spd} {"Sov.\ Phys.--Doklady"} +MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."} +MACRO {spu} {"Sov.\ Phys.--Uspekhi"} %<!utf8>MACRO {ufn} {"\CYRU\CYRF\CYRN"} %<utf8>MACRO {ufn} {"УФН"} MACRO {pu} {"Phys.--Uspekhi"} -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 {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."} % \end{macrocode} % % \subsection{Main cycle} @@ -4605,7 +5529,6 @@ READ % titles. % \begin{macrocode} %<*sort|natbib> - % \end{macrocode} % \DescribeFunction{sortify} % \begin{macrocode} @@ -4614,7 +5537,6 @@ FUNCTION {sortify} %<!utf8> "l" change.case$ } %</sort|natbib> - % \end{macrocode} % \DescribeFunction{sort.format.names} % \begin{macrocode} @@ -4740,8 +5662,8 @@ FUNCTION {author.sort} % \end{macrocode} % \DescribeFunction{author.title.sort} +% The function |author.title.sort| is used in the |presort| function only. % \begin{macrocode} -%<*!natbib|natbib> FUNCTION {author.title.sort} { author empty$ { title empty$ @@ -4763,41 +5685,49 @@ FUNCTION {author.title.sort} } if$ } -%</!natbib|natbib> -%<*natbib|natbib> -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } - if$ -} +% \end{macrocode} +% +% \DescribeFunction{author.editor.sort} +% \DescribeFunction{author.organization.sort} +% \DescribeFunction{editor.organization.sort} +% The function |author.editor.sort|, |author.organization.sort|, +% |editor.organization.sort| are not currently used. See commented +% text in function |presort|\#2. \note{WE NEED TO CORRECT THAT!} +% \begin{macrocode} +%<*natbib> +%FUNCTION {author.editor.sort} +%{ author empty$ +% { editor empty$ +% { key empty$ +% { "to sort, need author, editor, or key in " cite$ * warning$ +% "" +% } +% { key sortify } +% if$ +% } +% { editor sort.format.names } +% if$ +% } +% { author sort.format.names } +% if$ +%} +% +%FUNCTION {author.organization.sort} +%{ author empty$ +% { organization empty$ +% { key empty$ +% { "to sort, need author, organization, or key in " cite$ * warning$ +% "" +% } +% { key sortify } +% if$ +% } +% { "The " #4 organization chop.word sortify } +% if$ +% } +% { author sort.format.names } +% if$ +%} FUNCTION {editor.organization.sort} { editor empty$ @@ -4815,13 +5745,15 @@ FUNCTION {editor.organization.sort} { editor sort.format.names } if$ } -%</natbib|natbib> - - +%</natbib> % \end{macrocode} +% % \DescribeFunction{presort} % Function to compute |sort.key$|. % What is the space string \verb*|" "| for? +% Version \#1 is for `sort` and `!natbib` options. +% Version \#2 is for `sort` and `natbib` options. +% Version \#3 is for `!sort` and `natbib` options. % \begin{macrocode} %<*!natbib> FUNCTION {presort}%#1 @@ -5013,7 +5945,7 @@ FUNCTION {reverse.pass} { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := - label extra.label * 'label := + %%%label extra.label * 'label := } REVERSE {reverse.pass} @@ -5047,20 +5979,10 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ -%<*modern|!modern> - %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$ - %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash} - %"\let\cyrdash\textemdash" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$ "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$ - %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$ - %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$ - %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$ "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$ "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$ "\renewcommand{\newblock}{\ignorespaces}" write$ newline$ -%</modern|!modern> %<natbib> "\providecommand{\natexlab}[1]{#1}" write$ newline$ preamble$ empty$ 'skip$ @@ -5086,12 +6008,12 @@ FUNCTION {end.bib} EXECUTE {end.bib} -%</bst> % \end{macrocode} % -% That's all, Folks! +% \begin{macrocode} +%</bst> +% \end{macrocode} % -% \PrintChanges -% \Finale +%\CheckSum{802} % -% \endinput +%\Finale diff --git a/Master/texmf-dist/source/bibtex/gost/gost.ins b/Master/texmf-dist/source/bibtex/gost/gost.ins index e7a41aeab8b..86b29058d46 100644 --- a/Master/texmf-dist/source/bibtex/gost/gost.ins +++ b/Master/texmf-dist/source/bibtex/gost/gost.ins @@ -1,81 +1,92 @@ - \input docstrip - -\keepsilent - -\preamble - -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: 1.2j, 2017.01.12 - -Please, send bug report via e-mail: - kia999 at mail dot ru <Igor Kotelnikov> -or - polyama at yahoo dot com <Maksym Polyakov> - -\endpreamble - -\def\mypostamble{% - \MetaPrefix ^^J% - \MetaPrefix\space End of file `\outFileName'.% - } -\usepostamble\mypostamble +%% +%% This is file `gost.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% gost.dtx (with options: `install') +%% ------------------------------------------------------------------- +%% This file is a part of GOST package, which is a bundle of BibTEX +%% styles to format bibliographic references according to the State +%% Standards on information, librarianship and publishing (GOST) +%% issued by The Russian Federation and Interstate Committee of former +%% USSR States. +%% +%% Current version is 1.2k, 2020.12.25. +%% +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% +%% E-mail: kia999@mail.ru +%% ------------------------------------------------------------------- +\input docstrip +\usedir{source/bibtex/gost} \askonceonly +\ProvidesFile{gost.ins}[2020/12/25 1.2k Russian support for the Babel system] \generate{% -% -% BST styles that mimics obsoleate version of GOST 7.8.0 for bibliographic *records* - \file{gost780.bst} {\from{gost.dtx} {bst}} -% -% BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*. +%% +%% BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*. \file{gost2003.bst} {\from{gost.dtx} {bst,strict,eprint}} -% -% BST styles that mimics GOST 7.0.5-2008 for bibliographic *references* - \file{gost2008.bst} {\from{gost.dtx} {bst,modern,eprint}} - \file{gost2008l.bst} {\from{gost.dtx} {bst,modern,eprint,long}} -% -% Same style with sorting - \file{gost780s.bst} {\from{gost.dtx} {bst,sort}} -% +%% +%% BST styles that mimics GOST 7.0.5-2008 for bibliographic *references* + \file{gost2008.bst} {\from{gost.dtx} {bst,eprint}} + \file{gost2008l.bst} {\from{gost.dtx} {bst,eprint,long}} +%% +%% Same styles with sorting \file{gost2003s.bst} {\from{gost.dtx} {bst,strict,eprint,sort}} -% - \file{gost2008s.bst} {\from{gost.dtx} {bst,modern,eprint,sort}} - \file{gost2008ls.bst} {\from{gost.dtx} {bst,modern,eprint,long,sort}} -% ` -% ----------------------------------------------------------------------------------------- -% Unicode BST styles that mimics obsolete version of GOST 7.8.0 for bibliographic *records* -% \file{ugost780.bst} {\from{gost.dtx} {bst,utf8}} -% -% Unicode BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*. +%% + \file{gost2008s.bst} {\from{gost.dtx} {bst,eprint,sort}} + \file{gost2008ls.bst} {\from{gost.dtx} {bst,eprint,long,sort}} +%% ` +%% -------------------------------------------------------------------------- +%% Unicode BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*. \file{ugost2003.bst} {\from{gost.dtx} {bst,utf8,strict,eprint}} -% -% Unicode BST styles that mimics GOST 7.0.5-2008 for bibliographic *references* - \file{ugost2008.bst} {\from{gost.dtx} {bst,utf8,modern,eprint}} - \file{ugost2008l.bst} {\from{gost.dtx} {bst,utf8,modern,eprint,long}} -% -% Same style with sorting -% \file{ugost780s.bst} {\from{gost.dtx} {bst,utf8,sort}} -% +%% +%% Unicode BST styles that mimics GOST 7.0.5-2008 for bibliographic *references* + \file{ugost2008.bst} {\from{gost.dtx} {bst,utf8,eprint}} + \file{ugost2008l.bst} {\from{gost.dtx} {bst,utf8,eprint,long}} +%% +%% Same styles with sorting \file{ugost2003s.bst} {\from{gost.dtx} {bst,utf8,strict,eprint,sort}} -% - \file{ugost2008s.bst} {\from{gost.dtx} {bst,utf8,modern,eprint,sort}} - \file{ugost2008ls.bst} {\from{gost.dtx} {bst,utf8,modern,eprint,longlist,sort}} -% -% ----------------------------------------------------------------------------------------- -% Experimental style compatible with natbib package. -% - \file{gost2008n.bst} {\from{gost.dtx} {bst,modern,natbib,eprint}} - \file{gost2008ns.bst} {\from{gost.dtx} {bst,modern,natbib,eprint,sort}} -% - \file{ugost2008n.bst} {\from{gost.dtx} {bst,utf8,modern,natbib,eprint}} - \file{ugost2008ns.bst} {\from{gost.dtx} {bst,utf8,modern,natbib,eprint,sort}} +%% + \file{ugost2008s.bst} {\from{gost.dtx} {bst,utf8,eprint,sort}} + \file{ugost2008ls.bst} {\from{gost.dtx} {bst,utf8,eprint,long,sort}} +%% +%% -------------------------------------------------------------------------- +%% Experimental styles compatible with natbib package. +%% + \file{gost2008n.bst} {\from{gost.dtx} {bst,natbib,eprint}} + \file{gost2008ns.bst} {\from{gost.dtx} {bst,natbib,eprint,sort}} +%% + \file{ugost2008n.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint}} + \file{ugost2008ns.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint,sort}} } \endbatchfile +%% ------------------------------------------------------------------- +%% Copyright 2012-2020 Igor A. Kotelnikov. +%% Copyright 2017 Leonid Sinev. +%% Version 1.2k* +%% +%% Copyright 1996-2005 Maksym Polyakov. +%% Version 2005.08.12 +%% +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Igor A. Kotelnikov. +%% +%% Current version is 1.2k, 2020.12.25. +%% +%% Please, send bug report via e-mail: kia999@mail.ru <Igor Kotelnikov> +%% ------------------------------------------------------------------- +%% This work consists of the file gost.dtx +%% and the derived files gost.ins, +%% gost.pdf, +%% gost*.bst (8 files), +%% ugost*.bst (8 files), +%% README.md. +%% It also contains a lot of examples (*.tex, *.pdf, *.bib files). +%% ------------------------------------------------------------------- +%% +%% End of file `gost.ins'. diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index a97a2e0c370..70e0fd87300 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1561,6 +1561,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`); 'frenchle' => '&POST_rmsymlink', 'ghsystem' => '&POSTghsystem', 'glossaries' => '&POST_do_man', + 'gost' => '&POSTgost', 'grotesq' => '&POSTgrotesq', 'grverb' => '&POSTgrverb', 'guide-latex-fr' => '&POST_rmsymlink', @@ -2873,7 +2874,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'gbt7714' => 'tex -8bit', 'geometry' => 'tex', 'german' => 'tex', - 'gost' => 'latex', # requires interaction + 'gost' => 'latex', # \ProvidesFile 'grabbox' => 'tex', 'graphics-pln' => "env TEXINPUTS=$Master/texmf-dist/source/latex/base: latex", 'grffile' => 'tex', @@ -6467,6 +6468,11 @@ sub POSTghsystem { &SYSTEM ("$MV language pictures $dstdir/"); } +sub POSTgost { + print "POST$package - move csf files\n"; + &mv_with_mkdir ("csf/*", "$DEST/bibtex/csf/$package"); +} + sub POSTgrotesq { print "POST$package - move files\n"; &xchdir ($DEST); |