summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-12-29 02:19:51 +0000
committerKarl Berry <karl@freefriends.org>2020-12-29 02:19:51 +0000
commitdd043fc7ae752f93f55607d6376c17a22205b60b (patch)
tree9adc98c02c5168e31376ac34ba82a09e6f0e9576 /Master/texmf-dist/bibtex
parent109901a7a158f32a32f423045b6981221735f55d (diff)
gost (28dec20)
git-svn-id: svn://tug.org/texlive/trunk@57251 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex')
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2003.bst1578
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2003s.bst1602
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008.bst1585
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008l.bst1577
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst1601
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008n.bst1846
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst1882
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008s.bst1609
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost780.bst2229
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost780s.bst2353
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2003.bst1579
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst1603
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008.bst1586
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst1578
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst1610
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst1847
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst1883
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst1610
18 files changed, 15526 insertions, 15632 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'.