summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/gost/gost2008n.bst')
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008n.bst1846
1 files changed, 1044 insertions, 802 deletions
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'.