diff --git a/bibtex/bst/gost/gost2003.bst b/bibtex/bst/gost/gost2003.bst index 1cedcea..c83bb6d 100644 --- a/bibtex/bst/gost/gost2003.bst +++ b/bibtex/bst/gost/gost2003.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.80-2000 for bibliographic records. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -110,7 +133,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ - " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c + " \BibDash " write$ newline$ "\newblock " write$ } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,28 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} -{ duplicate$ empty$ - { pop$ "" } - { "[" swap$ * "]" * } - if$ -} - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -572,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -669,23 +703,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -709,17 +743,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -875,7 +957,7 @@ FUNCTION {format.date} } { month empty$ 'year - { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } + { year ". \BibDash " format.month * * } if$ } if$ @@ -893,7 +975,7 @@ FUNCTION {output.address.publisher} } { address output - new.column + new.colon publisher empty$ { bbl.nopublisher enclose.square.brackets } { publisher } @@ -905,20 +987,6 @@ FUNCTION {output.address.publisher} -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1251,7 +1319,7 @@ FUNCTION {author.after} author empty$ 'skip$ {format.authors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1260,7 +1328,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1269,19 +1337,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1290,7 +1358,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1299,6 +1367,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1329,14 +1405,14 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} +FUNCTION {add.media} { duplicate$ empty$ 'skip$ - { medium empty$ - { " " * bbl.medium enclose.square.brackets * } - { " " * medium enclose.square.brackets * } -%% { bbl.medium enclose.square.brackets * } -%% { medium enclose.square.brackets * } + { media empty$ + { " " * bbl.media enclose.square.brackets * } + { " " * media enclose.square.brackets * } +%% { bbl.media enclose.square.brackets * } +%% { media enclose.square.brackets * } if$ } if$ @@ -1373,11 +1449,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1401,7 +1518,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1430,7 +1547,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1450,7 +1567,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1484,7 +1601,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1510,7 +1627,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1530,7 +1647,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1566,7 +1683,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1592,11 +1709,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1630,7 +1786,7 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka howpublished enclose.square.brackets output editor.organization.after @@ -1654,14 +1810,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1681,20 +1837,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1711,14 +1867,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1737,14 +1893,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1763,14 +1919,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1792,20 +1948,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2003s.bst b/bibtex/bst/gost/gost2003s.bst index 5d1bb9f..915236e 100644 --- a/bibtex/bst/gost/gost2003s.bst +++ b/bibtex/bst/gost/gost2003s.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.80-2000 for bibliographic records. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -110,7 +133,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ - " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c + " \BibDash " write$ newline$ "\newblock " write$ } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,28 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} -{ duplicate$ empty$ - { pop$ "" } - { "[" swap$ * "]" * } - if$ -} - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -582,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -679,23 +713,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -719,17 +753,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -885,7 +967,7 @@ FUNCTION {format.date} } { month empty$ 'year - { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } + { year ". \BibDash " format.month * * } if$ } if$ @@ -903,7 +985,7 @@ FUNCTION {output.address.publisher} } { address output - new.column + new.colon publisher empty$ { bbl.nopublisher enclose.square.brackets } { publisher } @@ -915,20 +997,6 @@ FUNCTION {output.address.publisher} -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1261,7 +1329,7 @@ FUNCTION {author.after} author empty$ 'skip$ {format.authors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1270,7 +1338,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1279,19 +1347,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1300,7 +1368,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1309,6 +1377,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1339,14 +1415,14 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} +FUNCTION {add.media} { duplicate$ empty$ 'skip$ - { medium empty$ - { " " * bbl.medium enclose.square.brackets * } - { " " * medium enclose.square.brackets * } -%% { bbl.medium enclose.square.brackets * } -%% { medium enclose.square.brackets * } + { media empty$ + { " " * bbl.media enclose.square.brackets * } + { " " * media enclose.square.brackets * } +%% { bbl.media enclose.square.brackets * } +%% { media enclose.square.brackets * } if$ } if$ @@ -1383,11 +1459,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1411,7 +1528,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1440,7 +1557,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1460,7 +1577,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1494,7 +1611,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1520,7 +1637,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1540,7 +1657,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1576,7 +1693,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1602,11 +1719,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1640,7 +1796,7 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka howpublished enclose.square.brackets output editor.organization.after @@ -1664,14 +1820,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1691,20 +1847,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1721,14 +1877,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1747,14 +1903,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1773,14 +1929,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1802,20 +1958,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2008.bst b/bibtex/bst/gost/gost2008.bst index 9cb201e..7c28e57 100644 --- a/bibtex/bst/gost/gost2008.bst +++ b/bibtex/bst/gost/gost2008.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,23 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -567,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -664,23 +703,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -704,17 +743,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -913,7 +1000,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -921,20 +1008,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1268,7 +1341,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1279,7 +1352,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1288,19 +1361,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1309,7 +1382,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1318,6 +1391,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1348,7 +1429,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1381,11 +1462,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1409,7 +1531,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1438,7 +1560,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1458,7 +1580,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1492,7 +1614,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1518,7 +1640,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1538,7 +1660,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1574,7 +1696,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1600,11 +1722,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1638,9 +1799,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1662,14 +1823,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1689,20 +1850,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1719,14 +1880,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1745,14 +1906,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1771,14 +1932,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1800,20 +1961,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2008l.bst b/bibtex/bst/gost/gost2008l.bst index 617ac18..0bf0e73 100644 --- a/bibtex/bst/gost/gost2008l.bst +++ b/bibtex/bst/gost/gost2008l.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,23 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -567,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -664,23 +703,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -704,17 +743,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -913,7 +1000,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -921,20 +1008,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1267,7 +1340,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1276,19 +1349,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1297,7 +1370,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1306,6 +1379,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1336,7 +1417,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1369,11 +1450,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1397,7 +1519,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1426,7 +1548,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1446,7 +1568,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1480,7 +1602,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1506,7 +1628,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1526,7 +1648,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1562,7 +1684,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1588,11 +1710,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1626,9 +1787,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1650,14 +1811,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1677,20 +1838,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1707,14 +1868,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1733,14 +1894,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1759,14 +1920,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1788,20 +1949,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2008ls.bst b/bibtex/bst/gost/gost2008ls.bst index 690f11a..b0ef1aa 100644 --- a/bibtex/bst/gost/gost2008ls.bst +++ b/bibtex/bst/gost/gost2008ls.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,23 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -577,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -674,23 +713,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -714,17 +753,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -923,7 +1010,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -931,20 +1018,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1277,7 +1350,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1286,19 +1359,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1307,7 +1380,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1316,6 +1389,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1346,7 +1427,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1379,11 +1460,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1407,7 +1529,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1436,7 +1558,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1456,7 +1578,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1490,7 +1612,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1516,7 +1638,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1536,7 +1658,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1572,7 +1694,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1598,11 +1720,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1636,9 +1797,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1660,14 +1821,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1687,20 +1848,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1717,14 +1878,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1743,14 +1904,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1769,14 +1930,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1798,20 +1959,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2008n.bst b/bibtex/bst/gost/gost2008n.bst index 419c976..bffd2fc 100644 --- a/bibtex/bst/gost/gost2008n.bst +++ b/bibtex/bst/gost/gost2008n.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -81,13 +82,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -96,12 +99,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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 extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -110,8 +133,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -146,9 +169,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -209,17 +232,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -326,23 +349,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -617,6 +642,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -714,23 +753,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -754,17 +793,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -1083,7 +1170,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -1517,7 +1604,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1528,7 +1615,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1537,19 +1624,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1558,7 +1645,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1567,6 +1654,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1597,7 +1692,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1630,12 +1725,53 @@ FUNCTION {output.eprint.url} +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 author format.key output - format.title add.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1660,7 +1796,7 @@ FUNCTION {book} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1690,7 +1826,7 @@ FUNCTION {booklet} output.bibitem author.before author format.key output - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1711,7 +1847,7 @@ FUNCTION {inbook} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1746,7 +1882,7 @@ FUNCTION {incollection} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1773,7 +1909,7 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1794,7 +1930,7 @@ FUNCTION {inproceedings} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1831,7 +1967,7 @@ FUNCTION {manual} if$ author format.key output new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1857,12 +1993,52 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + location output + new.colon + ipc output + new.slash + format.authors.after "author" output.check + add.blank + authorcountry enclose.round.brackets output.nonnull + author format.key output + 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 author format.key output title howpublished new.sentence.checkb - format.title add.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1898,9 +2074,9 @@ FUNCTION {online} format.authors output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1923,14 +2099,14 @@ FUNCTION {thesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1950,21 +2126,21 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1982,14 +2158,14 @@ FUNCTION {phdthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2009,14 +2185,14 @@ FUNCTION {masterthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2036,14 +2212,14 @@ FUNCTION {dscithesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2065,21 +2241,21 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2008ns.bst b/bibtex/bst/gost/gost2008ns.bst index 691ea15..eb1f4b1 100644 --- a/bibtex/bst/gost/gost2008ns.bst +++ b/bibtex/bst/gost/gost2008ns.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -81,13 +82,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -96,12 +99,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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 extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -110,8 +133,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -146,9 +169,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -209,17 +232,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -326,23 +349,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -617,6 +642,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -714,23 +753,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -754,17 +793,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -1083,7 +1170,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -1517,7 +1604,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1528,7 +1615,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1537,19 +1624,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1558,7 +1645,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1567,6 +1654,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1597,7 +1692,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1630,12 +1725,53 @@ FUNCTION {output.eprint.url} +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 author format.key output - format.title add.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1660,7 +1796,7 @@ FUNCTION {book} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1690,7 +1826,7 @@ FUNCTION {booklet} output.bibitem author.before author format.key output - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1711,7 +1847,7 @@ FUNCTION {inbook} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1746,7 +1882,7 @@ FUNCTION {incollection} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1773,7 +1909,7 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1794,7 +1930,7 @@ FUNCTION {inproceedings} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1831,7 +1967,7 @@ FUNCTION {manual} if$ author format.key output new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1857,12 +1993,52 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + location output + new.colon + ipc output + new.slash + format.authors.after "author" output.check + add.blank + authorcountry enclose.round.brackets output.nonnull + author format.key output + 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 author format.key output title howpublished new.sentence.checkb - format.title add.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1898,9 +2074,9 @@ FUNCTION {online} format.authors output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1923,14 +2099,14 @@ FUNCTION {thesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1950,21 +2126,21 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1982,14 +2158,14 @@ FUNCTION {phdthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2009,14 +2185,14 @@ FUNCTION {masterthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2036,14 +2212,14 @@ FUNCTION {dscithesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2065,21 +2241,21 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost2008s.bst b/bibtex/bst/gost/gost2008s.bst index a86aac7..f4c9b9f 100644 --- a/bibtex/bst/gost/gost2008s.bst +++ b/bibtex/bst/gost/gost2008s.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,23 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -577,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -674,23 +713,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -714,17 +753,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -923,7 +1010,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -931,20 +1018,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1278,7 +1351,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1289,7 +1362,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1298,19 +1371,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1319,7 +1392,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1328,6 +1401,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1358,7 +1439,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1391,11 +1472,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1419,7 +1541,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1448,7 +1570,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1468,7 +1590,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1502,7 +1624,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1528,7 +1650,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1548,7 +1670,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1584,7 +1706,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1610,11 +1732,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1648,9 +1809,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1672,14 +1833,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1699,20 +1860,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1729,14 +1890,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1755,14 +1916,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1781,14 +1942,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1810,20 +1971,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost780.bst b/bibtex/bst/gost/gost780.bst index 8e12bb3..cecb58b 100644 --- a/bibtex/bst/gost/gost780.bst +++ b/bibtex/bst/gost/gost780.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.80-2000 for bibliographic records. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -110,7 +133,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ - " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c + " \BibDash " write$ newline$ "\newblock " write$ } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { ": " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,23 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -567,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -664,23 +703,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -704,17 +743,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -870,7 +957,7 @@ FUNCTION {format.date} } { month empty$ 'year - { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } + { year ". \BibDash " format.month * * } if$ } if$ @@ -883,7 +970,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -896,20 +983,6 @@ FUNCTION {output.address.publisher.date} format.date output } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1242,7 +1315,7 @@ FUNCTION {author.after} author empty$ 'skip$ {format.authors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1251,7 +1324,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1260,19 +1333,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1290,6 +1363,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1311,7 +1392,7 @@ FUNCTION {format.isbn} FUNCTION {add.doi} { } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } FUNCTION {output.eprint.url} @@ -1319,11 +1400,52 @@ 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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1347,7 +1469,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1374,7 +1496,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1394,7 +1516,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1426,7 +1548,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1452,7 +1574,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1472,7 +1594,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1508,7 +1630,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1534,11 +1656,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1572,9 +1733,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1597,7 +1758,7 @@ FUNCTION {thesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.phdthesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1617,20 +1778,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1648,7 +1809,7 @@ FUNCTION {phdthesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.phdthesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1668,7 +1829,7 @@ FUNCTION {masterthesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.mthesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1688,7 +1849,7 @@ FUNCTION {dscithesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.dscithesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1710,20 +1871,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/gost780s.bst b/bibtex/bst/gost/gost780s.bst index 2e879f4..8ec8fac 100644 --- a/bibtex/bst/gost/gost780s.bst +++ b/bibtex/bst/gost/gost780s.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.80-2000 for bibliographic records. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -110,7 +133,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ - " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c + " \BibDash " write$ newline$ "\newblock " write$ } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { ": " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,23 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -577,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } 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"} @@ -674,23 +713,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { 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 "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -714,17 +753,65 @@ FUNCTION {bbl.executor} { "{\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 "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } 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 } @@ -880,7 +967,7 @@ FUNCTION {format.date} } { month empty$ 'year - { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } + { year ". \BibDash " format.month * * } if$ } if$ @@ -893,7 +980,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -906,20 +993,6 @@ FUNCTION {output.address.publisher.date} format.date output } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1252,7 +1325,7 @@ FUNCTION {author.after} author empty$ 'skip$ {format.authors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1261,7 +1334,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1270,19 +1343,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1300,6 +1373,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1321,7 +1402,7 @@ FUNCTION {format.isbn} FUNCTION {add.doi} { } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } FUNCTION {output.eprint.url} @@ -1329,11 +1410,52 @@ 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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1357,7 +1479,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1384,7 +1506,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1404,7 +1526,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1436,7 +1558,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1462,7 +1584,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1482,7 +1604,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1518,7 +1640,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1544,11 +1666,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1582,9 +1743,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1607,7 +1768,7 @@ FUNCTION {thesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.phdthesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1627,20 +1788,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1658,7 +1819,7 @@ FUNCTION {phdthesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.phdthesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1678,7 +1839,7 @@ FUNCTION {masterthesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.mthesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1698,7 +1859,7 @@ FUNCTION {dscithesis} format.authors "author" output.check new.sentence format.btitle "title" output.check - new.column + new.colon bbl.dscithesis format.thesis.type output.nonnull new.slash school "school" output.check @@ -1720,20 +1881,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2003.bst b/bibtex/bst/gost/ugost2003.bst index c1f6381..dd43113 100644 --- a/bibtex/bst/gost/ugost2003.bst +++ b/bibtex/bst/gost/ugost2003.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.80-2000 for bibliographic records. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -110,7 +133,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ - " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c + " \BibDash " write$ newline$ "\newblock " write$ } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,28 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} -{ duplicate$ empty$ - { pop$ "" } - { "[" swap$ * "]" * } - if$ -} - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -572,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -665,23 +699,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -705,17 +739,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -870,7 +952,7 @@ FUNCTION {format.date} } { month empty$ 'year - { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } + { year ". \BibDash " format.month * * } if$ } if$ @@ -888,7 +970,7 @@ FUNCTION {output.address.publisher} } { address output - new.column + new.colon publisher empty$ { bbl.nopublisher enclose.square.brackets } { publisher } @@ -900,20 +982,6 @@ FUNCTION {output.address.publisher} -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1246,7 +1314,7 @@ FUNCTION {author.after} author empty$ 'skip$ {format.authors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1255,7 +1323,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1264,19 +1332,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1285,7 +1353,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1294,6 +1362,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1324,14 +1400,14 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} +FUNCTION {add.media} { duplicate$ empty$ 'skip$ - { medium empty$ - { " " * bbl.medium enclose.square.brackets * } - { " " * medium enclose.square.brackets * } -%% { bbl.medium enclose.square.brackets * } -%% { medium enclose.square.brackets * } + { media empty$ + { " " * bbl.media enclose.square.brackets * } + { " " * media enclose.square.brackets * } +%% { bbl.media enclose.square.brackets * } +%% { media enclose.square.brackets * } if$ } if$ @@ -1368,11 +1444,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1396,7 +1513,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1425,7 +1542,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1445,7 +1562,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1479,7 +1596,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1505,7 +1622,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1525,7 +1642,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1561,7 +1678,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1587,11 +1704,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1625,7 +1781,7 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka howpublished enclose.square.brackets output editor.organization.after @@ -1649,14 +1805,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1676,20 +1832,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1706,14 +1862,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1732,14 +1888,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1758,14 +1914,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1787,20 +1943,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2003s.bst b/bibtex/bst/gost/ugost2003s.bst index 2f12ad6..a4ce994 100644 --- a/bibtex/bst/gost/ugost2003s.bst +++ b/bibtex/bst/gost/ugost2003s.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.80-2000 for bibliographic records. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -110,7 +133,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ - " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c + " \BibDash " write$ newline$ "\newblock " write$ } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,28 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} -{ duplicate$ empty$ - { pop$ "" } - { "[" swap$ * "]" * } - if$ -} - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -582,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -675,23 +709,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -715,17 +749,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -880,7 +962,7 @@ FUNCTION {format.date} } { month empty$ 'year - { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } + { year ". \BibDash " format.month * * } if$ } if$ @@ -898,7 +980,7 @@ FUNCTION {output.address.publisher} } { address output - new.column + new.colon publisher empty$ { bbl.nopublisher enclose.square.brackets } { publisher } @@ -910,20 +992,6 @@ FUNCTION {output.address.publisher} -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1256,7 +1324,7 @@ FUNCTION {author.after} author empty$ 'skip$ {format.authors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1265,7 +1333,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1274,19 +1342,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1295,7 +1363,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1304,6 +1372,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1334,14 +1410,14 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} +FUNCTION {add.media} { duplicate$ empty$ 'skip$ - { medium empty$ - { " " * bbl.medium enclose.square.brackets * } - { " " * medium enclose.square.brackets * } -%% { bbl.medium enclose.square.brackets * } -%% { medium enclose.square.brackets * } + { media empty$ + { " " * bbl.media enclose.square.brackets * } + { " " * media enclose.square.brackets * } +%% { bbl.media enclose.square.brackets * } +%% { media enclose.square.brackets * } if$ } if$ @@ -1378,11 +1454,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1406,7 +1523,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1435,7 +1552,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1455,7 +1572,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1489,7 +1606,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1515,7 +1632,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1535,7 +1652,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1571,7 +1688,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1597,11 +1714,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1635,7 +1791,7 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka howpublished enclose.square.brackets output editor.organization.after @@ -1659,14 +1815,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1686,20 +1842,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1716,14 +1872,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1742,14 +1898,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1768,14 +1924,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1797,20 +1953,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2008.bst b/bibtex/bst/gost/ugost2008.bst index 3071ae6..8a9c80e 100644 --- a/bibtex/bst/gost/ugost2008.bst +++ b/bibtex/bst/gost/ugost2008.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,23 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -567,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -660,23 +699,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -700,17 +739,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -908,7 +995,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -916,20 +1003,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1263,7 +1336,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1274,7 +1347,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1283,19 +1356,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1304,7 +1377,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1313,6 +1386,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1343,7 +1424,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1376,11 +1457,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1404,7 +1526,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1433,7 +1555,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1453,7 +1575,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1487,7 +1609,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1513,7 +1635,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1533,7 +1655,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1569,7 +1691,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1595,11 +1717,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1633,9 +1794,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1657,14 +1818,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1684,20 +1845,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1714,14 +1875,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1740,14 +1901,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1766,14 +1927,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1795,20 +1956,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2008l.bst b/bibtex/bst/gost/ugost2008l.bst index 4a693df..fee3dd1 100644 --- a/bibtex/bst/gost/ugost2008l.bst +++ b/bibtex/bst/gost/ugost2008l.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -290,23 +313,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -567,6 +592,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -660,23 +699,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -700,17 +739,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -908,7 +995,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -916,20 +1003,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1262,7 +1335,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1271,19 +1344,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1292,7 +1365,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1301,6 +1374,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1331,7 +1412,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1364,11 +1445,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1392,7 +1514,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1421,7 +1543,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1441,7 +1563,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1475,7 +1597,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1501,7 +1623,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1521,7 +1643,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1557,7 +1679,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1583,11 +1705,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1621,9 +1782,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1645,14 +1806,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1672,20 +1833,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1702,14 +1863,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1728,14 +1889,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1754,14 +1915,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1783,20 +1944,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2008ls.bst b/bibtex/bst/gost/ugost2008ls.bst index fe51a06..918f90d 100644 --- a/bibtex/bst/gost/ugost2008ls.bst +++ b/bibtex/bst/gost/ugost2008ls.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,23 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -577,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -670,23 +709,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -710,17 +749,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -918,7 +1005,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -926,20 +1013,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1273,7 +1346,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1284,7 +1357,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1293,19 +1366,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1314,7 +1387,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1323,6 +1396,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1353,7 +1434,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1386,11 +1467,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1414,7 +1536,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1443,7 +1565,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1463,7 +1585,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1497,7 +1619,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1523,7 +1645,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1543,7 +1665,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1579,7 +1701,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1605,11 +1727,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1643,9 +1804,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1667,14 +1828,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1694,20 +1855,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1724,14 +1885,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1750,14 +1911,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1776,14 +1937,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1805,20 +1966,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2008n.bst b/bibtex/bst/gost/ugost2008n.bst index eef10e1..4cfa177 100644 --- a/bibtex/bst/gost/ugost2008n.bst +++ b/bibtex/bst/gost/ugost2008n.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -81,13 +82,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -96,12 +99,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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 extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -110,8 +133,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -146,9 +169,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -209,17 +232,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -326,23 +349,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -617,6 +642,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -710,23 +749,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -750,17 +789,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -1078,7 +1165,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -1512,7 +1599,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1523,7 +1610,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1532,19 +1619,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1553,7 +1640,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1562,6 +1649,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1592,7 +1687,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1625,12 +1720,53 @@ FUNCTION {output.eprint.url} +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 author format.key output - format.title add.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1655,7 +1791,7 @@ FUNCTION {book} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1685,7 +1821,7 @@ FUNCTION {booklet} output.bibitem author.before author format.key output - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1706,7 +1842,7 @@ FUNCTION {inbook} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1741,7 +1877,7 @@ FUNCTION {incollection} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1768,7 +1904,7 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1789,7 +1925,7 @@ FUNCTION {inproceedings} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1826,7 +1962,7 @@ FUNCTION {manual} if$ author format.key output new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1852,12 +1988,52 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + location output + new.colon + ipc output + new.slash + format.authors.after "author" output.check + add.blank + authorcountry enclose.round.brackets output.nonnull + author format.key output + 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 author format.key output title howpublished new.sentence.checkb - format.title add.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1893,9 +2069,9 @@ FUNCTION {online} format.authors output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1918,14 +2094,14 @@ FUNCTION {thesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1945,21 +2121,21 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1977,14 +2153,14 @@ FUNCTION {phdthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2004,14 +2180,14 @@ FUNCTION {masterthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2031,14 +2207,14 @@ FUNCTION {dscithesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2060,21 +2236,21 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2008ns.bst b/bibtex/bst/gost/ugost2008ns.bst index 329d767..327f7a1 100644 --- a/bibtex/bst/gost/ugost2008ns.bst +++ b/bibtex/bst/gost/ugost2008ns.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -81,13 +82,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -96,12 +99,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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 extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block -after.dblslash after.slash after.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -110,8 +133,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -146,9 +169,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -209,17 +232,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -326,23 +349,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -617,6 +642,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -710,23 +749,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -750,17 +789,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -1078,7 +1165,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -1512,7 +1599,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1523,7 +1610,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1532,19 +1619,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1553,7 +1640,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1562,6 +1649,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1592,7 +1687,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1625,12 +1720,53 @@ FUNCTION {output.eprint.url} +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 author format.key output - format.title add.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1655,7 +1791,7 @@ FUNCTION {book} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1685,7 +1821,7 @@ FUNCTION {booklet} output.bibitem author.before author format.key output - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1706,7 +1842,7 @@ FUNCTION {inbook} output.bibitem author.before author format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1741,7 +1877,7 @@ FUNCTION {incollection} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1768,7 +1904,7 @@ FUNCTION {proceedings} { output.bibitem editor format.key output - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1789,7 +1925,7 @@ FUNCTION {inproceedings} author.before author format.key output new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1826,7 +1962,7 @@ FUNCTION {manual} if$ author format.key output new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1852,12 +1988,52 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + location output + new.colon + ipc output + new.slash + format.authors.after "author" output.check + add.blank + authorcountry enclose.round.brackets output.nonnull + author format.key output + 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 author format.key output title howpublished new.sentence.checkb - format.title add.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1893,9 +2069,9 @@ FUNCTION {online} format.authors output author format.key output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1918,14 +2094,14 @@ FUNCTION {thesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1945,21 +2121,21 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1977,14 +2153,14 @@ FUNCTION {phdthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2004,14 +2180,14 @@ FUNCTION {masterthesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2031,14 +2207,14 @@ FUNCTION {dscithesis} format.authors "author" output.check author format.key output new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -2060,21 +2236,21 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check title format.key output - new.column + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/bibtex/bst/gost/ugost2008s.bst b/bibtex/bst/gost/ugost2008s.bst index d29d3e6..67ec872 100644 --- a/bibtex/bst/gost/ugost2008s.bst +++ b/bibtex/bst/gost/ugost2008s.bst @@ -17,7 +17,7 @@ %% This file has the LPPL maintenance status "maintained". %% Maintained by Igor A. Kotelnikov. %% -%% Current version: 1.2d, 2016.02.18 +%% Current version: 1.2g, 2016.07.25 %% %% Please, send bug report via e-mail: %% kia999 at mail dot ru @@ -27,6 +27,7 @@ + %% %% This bibstyle attempts to format bibliography according to %% GOST 7.0.5-2008 for bibliographic reference. @@ -55,13 +56,15 @@ ENTRY school series title - medium % new in v1.2. + %medium % new in v1.2; renamed to media. + media % new in v1.2f type volume year language langid % new in v1.2c booklanguage + date % new in v1.2f; not implemented yet... pagetotal url urldate @@ -70,12 +73,32 @@ ENTRY eprinttype % = archivePrefix eprintclass % = primaryClass eprint + % new in v1.2f: + % appear in biblatex: + addendum + holder + location + subtitle + titleaddon + version + % Appear in biblatex-gost: + authorcountry % ?? + 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.column after.semicolumn } +after.dblslash after.slash after.colon after.semicolon } FUNCTION {init.state.consts} { #0 'before.all := @@ -84,8 +107,8 @@ FUNCTION {init.state.consts} #3 'after.block := #4 'after.dblslash := #5 'after.slash := - #6 'after.column := - #7 'after.semicolumn := + #6 'after.colon := + #7 'after.semicolon := } STRINGS { s t } @@ -120,9 +143,9 @@ FUNCTION {output.nonnull} { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } - { output.state after.column = + { output.state after.colon = { "~: " * write$ } - { output.state after.semicolumn = + { output.state after.semicolon = { "~; " * write$ } { add.period$ " " * write$ } if$ @@ -183,17 +206,17 @@ FUNCTION {new.slash} if$ } -FUNCTION {new.column} +FUNCTION {new.colon} { output.state before.all = 'skip$ - { after.column 'output.state := } + { after.colon 'output.state := } if$ } -FUNCTION {new.semicolumn} +FUNCTION {new.semicolon} { output.state before.all = 'skip$ - { after.semicolumn 'output.state := } + { after.semicolon 'output.state := } if$ } @@ -300,23 +323,25 @@ FUNCTION {emphasize} if$ } -FUNCTION {enclose.square.brackets} { } - FUNCTION {bracify} { duplicate$ empty$ { pop$ "{}" } { "{" swap$ * "}" * } if$ } -FUNCTION {bracketise} -{ duplicate$ empty$ - { pop$ "[]" } + +FUNCTION {enclose.square.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "[" swap$ * "]" * } if$ } -FUNCTION {parenthesify} -{ duplicate$ empty$ - { pop$ "()" } + +FUNCTION {enclose.round.brackets} +{ + duplicate$ empty$ + { pop$ "" } { "(" swap$ * ")" * } if$ } @@ -577,6 +602,20 @@ FUNCTION {bbl.ppage} % { "\bblP." } if$} if$} +FUNCTION {bbl.url} +{ curlanguage "english" = + {"Access mode"} + { curlanguage "ukrainian" = + { "{Режим доступу}" } + { curlanguage "russian" = + { "{Режим доступа}" } + { curlanguage "german" = + { "{online; abgerufen}" } + { "language is not defined: " language "urldate" * * warning$ "online; accessed" } + if$} + if$} + if$} +if$} FUNCTION {bbl.urldate} { curlanguage "english" = {"online; accessed"} @@ -670,23 +709,23 @@ FUNCTION {bbl.nnopublisher} if$} if$} -FUNCTION {bbl.medium.text} +FUNCTION {bbl.media.text} { curlanguage "english" = { "Text" } { curlanguage "russian" = curlanguage "ukrainian" = or { "{Текст}" } - { "language is not defined: " language "medium" * * warning$ "Text" } + { "language is not defined: " language "media" * * warning$ "Text" } if$} if$} -FUNCTION {bbl.medium.elres} +FUNCTION {bbl.media.elres} { curlanguage "english" = { "Electronic resource" } { curlanguage "russian" = { "{Электронный ресурс}" } { curlanguage "ukrainian" = { "{Електронний ресурс}" } - { "language is not defined: " language "medium" * * warning$ "Electronic resource" } + { "language is not defined: " language "media" * * warning$ "Electronic resource" } if$} if$} if$} @@ -710,17 +749,65 @@ FUNCTION {bbl.executor} { "{исполн.}" } { curlanguage "ukrainian" = { "{виконавець}" } - { "language is not defined: " language "medium" * * warning$ "Executor" } + { "language is not defined: " language "executor" * * warning$ "executor" } if$} if$} if$} -FUNCTION {bbl.medium} +FUNCTION {bbl.media} { type$ "online" = - { bbl.medium.elres } - { bbl.medium.text } + { bbl.media.elres } + { bbl.media.text } if$} +FUNCTION {bbl.req} +{ + curlanguage "english" = + { "req." } + { curlanguage "german" = + { "ang." } + { curlanguage "russian" = + { "{заявл.}" } + { "language is not defined: " language "req" * * warning$ "req" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.publ} +{ + curlanguage "english" = + { "publ." } + { curlanguage "german" = + { "ausg." } + { curlanguage "russian" = + { "{опубл.}" } + { "language is not defined: " language "publication" * * warning$ "publication" } + if$ + } + if$ + } + if$ +} + +FUNCTION {bbl.priority} +{ + curlanguage "english" = + { "priority" } + { curlanguage "german" = + { "Prioritat" } + { curlanguage "russian" = + { "{приоритет}" } + { "language is not defined: " language "priority" * * warning$ "priority" } + if$ + } + if$ + } + if$ +} + INTEGERS { nameptr namesleft numnames } @@ -918,7 +1005,7 @@ FUNCTION {output.address.publisher} { address output publisher empty$ 'skip$ - { new.column } + { new.colon } if$ } if$ @@ -926,20 +1013,6 @@ FUNCTION {output.address.publisher} } -%%FUNCTION {output.bibitem} -%%{ newline$ -%% "\bibitem" write$ -%% cite$ bracify write$ -%% newline$ -%% language empty$ -%% { "english" 'curlanguage := } -%% { language 'curlanguage := } -%% if$ -%% "\selectlanguageifdefined" curlanguage bracify * write$ -%% newline$ -%% "" -%% before.all 'output.state := -%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ @@ -1273,7 +1346,7 @@ FUNCTION {author.after} 'skip$ {author num.names$ #3 > {format.authors.after output - new.semicolumn } + new.semicolon } 'skip$ if$} if$ @@ -1284,7 +1357,7 @@ FUNCTION {bookauthor.after} bookauthor empty$ 'skip$ {format.bookauthors.after output - new.semicolumn } + new.semicolon } if$ } @@ -1293,19 +1366,19 @@ FUNCTION {editor.organization.after} compiler empty$ {} { format.compiler.after output - new.semicolumn + new.semicolon } if$ editor empty$ {} { format.editors.after output - new.semicolumn + new.semicolon } if$ organization empty$ {} {organization output - new.semicolumn + new.semicolon } if$ } @@ -1314,7 +1387,7 @@ FUNCTION {format.url} { url empty$ { "" } { - "URL: \BibUrl{" url * "}" * + bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } @@ -1323,6 +1396,14 @@ FUNCTION {format.url} if$ } +FUNCTION {output.url} +{ + url empty$ + 'skip$ + { format.url output } + if$ +} + FUNCTION {format.annote} { annote empty$ { "" } @@ -1353,7 +1434,7 @@ FUNCTION {add.doi} if$ } -FUNCTION {add.medium} { } +FUNCTION {add.media} { } @@ -1386,11 +1467,52 @@ FUNCTION {output.eprint.url} +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.medium "title" output.check + format.title add.media "title" output.check new.slash author.after new.dblslash @@ -1414,7 +1536,7 @@ FUNCTION {book} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1443,7 +1565,7 @@ FUNCTION {booklet} { output.bibitem author.before - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after editor.organization.after @@ -1463,7 +1585,7 @@ FUNCTION {inbook} { output.bibitem author.before - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1497,7 +1619,7 @@ FUNCTION {incollection} output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1523,7 +1645,7 @@ FUNCTION {incollection} FUNCTION {proceedings} { output.bibitem - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check new.slash editor.organization.after new.block @@ -1543,7 +1665,7 @@ FUNCTION {inproceedings} { output.bibitem author.before new.sentence - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check new.slash author.after new.dblslash @@ -1579,7 +1701,7 @@ FUNCTION {manual} { format.authors output.nonnull } if$ new.block - format.btitle add.doi add.medium "title" output.check + format.btitle add.doi add.media "title" output.check author empty$ { organization empty$ { @@ -1605,11 +1727,50 @@ FUNCTION {manual} fin.entry } +FUNCTION {patent} +{ + output.bibitem + title add.media output.nonnull + new.colon + format.type.number output + add.blank + 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.medium output + format.title add.media output howpublished new.block.checka howpublished output new.block @@ -1643,9 +1804,9 @@ FUNCTION {online} { output.bibitem format.authors output title howpublished new.sentence.checkb - format.title add.doi add.medium "title" output.check + format.title add.doi add.media "title" output.check howpublished new.dblslash.checka - howpublished enclose.square.brackets output + howpublished output editor.organization.after new.sentence new.block @@ -1667,14 +1828,14 @@ FUNCTION {thesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1694,20 +1855,20 @@ FUNCTION {thesis} FUNCTION {report} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon type "type" output.check - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 @@ -1724,14 +1885,14 @@ FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.phdthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1750,14 +1911,14 @@ FUNCTION {masterthesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.mthesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1776,14 +1937,14 @@ FUNCTION {dscithesis} { output.bibitem format.authors "author" output.check new.sentence - format.btitle add.doi add.medium "title" output.check - new.column + format.btitle add.doi add.media "title" output.check + new.colon bbl.dscithesis format.thesis.type output.nonnull - new.column + new.colon number output new.slash format.authors.after output - new.semicolumn + new.semicolon school "school" output.check new.block output.address.publisher @@ -1805,20 +1966,20 @@ FUNCTION {conference} { inproceedings } FUNCTION {techreport} { output.bibitem - format.title add.doi add.medium "title" output.check - new.column + format.title add.doi add.media "title" output.check + new.colon format.techreport.type output - new.column + new.colon number output new.slash institution "institution" output.check - new.semicolumn + new.semicolon format.chief.after output % from editor field - new.semicolumn + new.semicolon format.executor.after output % from author field new.block address output - new.column + new.colon organization output format.date "year" output.check new.block % v.2 diff --git a/doc/bibtex/gost/README b/doc/bibtex/gost/README index 63c4cda..105c7bb 100644 --- a/doc/bibtex/gost/README +++ b/doc/bibtex/gost/README @@ -1,4 +1,4 @@ -GOST is a bundle of BibTeX styles designed to meet State Standards (GOST) +GOST is a bundle of BibTeX styles designed to match the State Standards (GOST) on information, librarianship and publishing issued by The Russian Federation and Interstate Committee of former USSR States. @@ -23,14 +23,14 @@ GOST 7.11 -2004 Bibliographic description and references. GOST 7.83 -2001 Electronic editions. Basic types and imprint. Ect. -GOST comprises 16 BibTeX styles to format bibliography in English, Russian -and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both 8-bit -and Unicode (UTF-8) versions of each BibTeX style, in each case offering -a choice of sorted and unsorted. Further, 2 more styles, |gost780| and -|gost780s| styles (not conforming to effective standards) are retained +GOST comprises 16 BibTeX styles to format bibliography in English, Russian +and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both 8-bit +and Unicode (UTF-8) versions of each BibTeX style, in each case offering +a choice of sorted and unsorted. Further, 2 more styles, |gost780| and +|gost780s| styles (not conforming to effective standards) are retained for backwards compatibility. -All BibTeX styles are derived from same master file |gost.dtx| by applying +All BibTeX styles are derived from same master file |gost.dtx| by applying different set of options as shown in the table below. ------------------------------------------------------------------------ @@ -66,20 +66,20 @@ currently effective Standard 7.0.5-2008. Librarians should use the style Standard 7.1-2003. Use of other styles is best explained through the meaning of options used to compile those styles from the master source. -Two styles, |gost780| and |gost780s|, generated without |modern| and -|strict| options, are retained for backward compatibility. They do not +Two styles, |gost780| and |gost780s|, generated without |modern| and +|strict| options, are retained for backward compatibility. They do not conform the Standards 7.0.5-2008 and 7.1-2003 cited above. The |strict| option provides conformance to the Standard 7.1-2003. The styles compiled with that option bear the name |gost2003| with possible -suffixes |s|, |l|, |n| as explained below. These styles are intended +suffixes |s|, |l|, |n| as explained below. These styles are intended primarily for the librarians who compose a library catalog. The |modern| option meets the Standard 7.0.5-2008 which can be thought off as a relaxed version of the Standard 7.1-2003. The styles compiled with that option bear the name |gost2008| with possible suffixes |s|, |l|, |n|. The |strict| option has precedence over |modern| so that a style compiled -with both options will resemble mainly the |gost2003| style rather than +with both options will resemble mainly the |gost2003| style rather than |gost2008|. If the number of authors exceeds 4, modern styles cut the list of authors @@ -93,25 +93,24 @@ precedes book or article title no matter how long is it. Modern styles compiled without |long| place long list of authors behind the title. The names of styles compiled with the option |long| has the suffix |l|. Recall that those styles do not conform effective Standards and -their use is discouraged. +their use is discouraged. The |eprint| option enables formatting electronic publications. In particular, it enables |eprint|, |eprinttype|, |eprintclass|, and |doi| fields for a bibliographic entry. The styles, generated without the |eprint| option, -just ignore the these fields. Starting from the -version 1.2 of the GOST package, all modern styles are compiled with this -option included, and therefore the suffix |e| which designated -this option in earlier versions is not appended to the name of style -any more. +just ignore these fields. Starting from the version 1.2 of the GOST package, +all modern styles are compiled with this option included, and therefore the +suffix |e| which designated this option in earlier versions is not appended +to the name of style any more. -The |natbib| option provides compatibility with the |natbib| package. The names +The |natbib| option provides compatibility with the |natbib| package. The names of styles compiled with the option |natbib| bear the suffix |n|. Currently 4 styles with that option are available for public use. The |sort| option enables sorting bibliographic references by author names and titles of references. The names of styles compiled with the option |sort| bear the suffix |s|. Sorting does not work as expected for databases in -unicode encoding (see below). +unicode encoding (see below). Finally, the |utf8| option produces bibliographic styles in unicode rather that in 8-bit encoding. Names of those styles bear the prefix |u|. @@ -149,7 +148,7 @@ How to use 2. Add the field language="ukrainian" or language="russian" to the bibliographic entries in Ukrainian or Russian languages in your database; English is the default language. German, Italian and - French are also supported. + French are partially supported. 3. To compile list of references from your database use bibtex8.exe rather than bibtex.exe. Depending on the codepage of your @@ -169,7 +168,7 @@ How to use should be preferred as well when using 8bit compilers (latex and pdflatex) if source file is in utf8 encoding. -6. Neither bitex.exe nor bitex8.exe provides +6. Neither bibtex.exe nor bibtex8.exe provide correct sorting order of unicode text. It means that using ugost2008s or any other style ended with `s' in its name may produce unexpected result for utf8 documents. @@ -184,7 +183,7 @@ How to use authors. 9. Package |natbib| should be loaded when using styles with - suffix |n| in their names. + suffix |n| in their names. Customization @@ -209,16 +208,33 @@ By default, \BibDash is equivalent to the shorthand "--- introduced by the babel package with the option russian. It prints a so called Cyrillic dash (\cyrdash), which is 20% shorter than ordinary LaTeX dash (---), and puts -unbreakable space before \cyrdash so that the dash never +unbreakable space before \cyrdash so that the dash never appears at the beginning of a line. -Where to get from from +Where to get from 1. http://mirror.ctan.org/biblio/bibtex/contrib/gost/ 2. http://ctan.org/pkg/gost +What's new in version 1.2g (2016.07.25) + +1. Minor changes in documentation. + + +What's new in version 1.2f (2016.07.11) + +1. Support for |@patent| entry added (thanks to Stanislav Kruchinin). +2. medium field renamed to media field. + + +What's new in version 1.2e (2016.07.07) + +1. Hard coded "URL" string replaced with a language sensitive string + (thanks to Roman Budnyi). + + What's new in version 1.2d (2016.02.18) 1. jan, feb, mar, e.t.c. month macros fixed; diff --git a/doc/bibtex/gost/doc/examples/utf8/bib/ex31.bib b/doc/bibtex/gost/doc/examples/utf8/bib/ex31.bib new file mode 100644 index 0000000..2cb0948 --- /dev/null +++ b/doc/bibtex/gost/doc/examples/utf8/bib/ex31.bib @@ -0,0 +1,40 @@ +@PATENT{patent1, + author = {Э. В. Тернер}, + authorcountry = {США}, + title = {Одноразовая ракета-носитель}, + media = {Текст}, + type = {заявка}, + number = {1095735}, + location = {Рос. Федерация}, + ipc = {МПК\ensuremath{^7} B 64 G 1/00}, + holder = {заявитель Спейс Системз/Лорал, инк.}, + credits = {патент. поверенный Егорова Г. Б.}, + requestnumber = {000108705/28}, + requestdate = {07.04.2000}, + publicationdate = {10.03.2001}, + publication = {Бюл. № 7 (I ч.)}, + prioritydate = {09.04.1999}, + prioritynumber = {09/289, 037}, + prioritycountry = {США}, + pagetotal = {5 с.~: ил.}, + language = {russian}, +} + +@PATENT{patent2, + author = {В. И. Чугаева}, + authorcountry = {РФ}, + title = {Приемопередающее устройство}, + media = {Текст}, + type = {пат.}, + number = {2000131736/09}, + location = {Рос. Федерация}, + ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00}, + holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.}, + credits = {патент. поверенный Егорова Г. Б.}, + requestnumber = {000108705/28}, + date = {18.12.2000}, + publicationdate = {20.08.2002}, + publication = {Бюл. № 23 (II ч.)}, + pagetotal = {2 с.~: ил.}, + language = {russian}, +} diff --git a/doc/bibtex/gost/doc/examples/utf8/bib/examples.bib b/doc/bibtex/gost/doc/examples/utf8/bib/examples.bib index 85b87de..70e0fca 100644 --- a/doc/bibtex/gost/doc/examples/utf8/bib/examples.bib +++ b/doc/bibtex/gost/doc/examples/utf8/bib/examples.bib @@ -523,3 +523,43 @@ @ARTICLE{1998UFN doi = {10.3367/UFNr.0185.201507c.0753}, url = {http://ufn.ru/ru/articles/2015/7/c/}, } +@PATENT{patent1, + author = {Э. В. Тернер}, + authorcountry = {США}, + title = {Одноразовая ракета-носитель}, + media = {Текст}, + type = {заявка}, + number = {1095735}, + location = {Рос. Федерация}, + ipc = {МПК\ensuremath{^7} B 64 G 1/00}, + holder = {заявитель Спейс Системз/Лорал, инк.}, + credits = {патент. поверенный Егорова Г. Б.}, + requestnumber = {000108705/28}, + requestdate = {07.04.2000}, + publicationdate = {10.03.2001}, + publication = {Бюл. № 7 (I ч.)}, + prioritydate = {09.04.1999}, + prioritynumber = {09/289, 037}, + prioritycountry = {США}, + pagetotal = {5 с.~: ил.}, + language = {russian}, +} + +@PATENT{patent2, + author = {В. И. Чугаева}, + authorcountry = {РФ}, + title = {Приемопередающее устройство}, + media = {Текст}, + type = {пат.}, + number = {2000131736/09}, + location = {Рос. Федерация}, + ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00}, + holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.}, + credits = {патент. поверенный Егорова Г. Б.}, + requestnumber = {000108705/28}, + date = {18.12.2000}, + publicationdate = {20.08.2002}, + publication = {Бюл. № 23 (II ч.)}, + pagetotal = {2 с.~: ил.}, + language = {russian}, +} diff --git a/doc/bibtex/gost/ex31.bib b/doc/bibtex/gost/ex31.bib new file mode 100644 index 0000000..060b92d --- /dev/null +++ b/doc/bibtex/gost/ex31.bib @@ -0,0 +1,40 @@ +@PATENT{patent1, + author = {. . }, + authorcountry = {}, + title = { -}, + media = {}, + type = {}, + number = {1095735}, + location = {. }, + ipc = {\ensuremath{^7} B 64 G 1/00}, + holder = { /, .}, + credits = {. . .}, + requestnumber = {000108705/28}, + requestdate = {07.04.2000}, + publicationdate = {10.03.2001}, + publication = {. 7 (I .)}, + prioritydate = {09.04.1999}, + prioritynumber = {09/289, 037}, + prioritycountry = {}, + pagetotal = {5 .~: .}, + language = {russian}, +} + +@PATENT{patent2, + author = {. . }, + authorcountry = {}, + title = { }, + media = {}, + type = {.}, + number = {2000131736/09}, + location = {. }, + ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00}, + holder = { . .-. - .}, + credits = {. . .}, + requestnumber = {000108705/28}, + date = {18.12.2000}, + publicationdate = {20.08.2002}, + publication = {. 23 (II .)}, + pagetotal = {2 .~: .}, + language = {russian}, +} diff --git a/doc/bibtex/gost/examples.bib b/doc/bibtex/gost/examples.bib index f75cd83..28834ad 100644 --- a/doc/bibtex/gost/examples.bib +++ b/doc/bibtex/gost/examples.bib @@ -522,3 +522,43 @@ @ARTICLE{1998UFN doi = {10.3367/UFNr.0185.201507c.0753}, url = {http://ufn.ru/ru/articles/2015/7/c/}, } +@PATENT{patent1, + author = {. . }, + authorcountry = {}, + title = { -}, + media = {}, + type = {}, + number = {1095735}, + location = {. }, + ipc = {\ensuremath{^7} B 64 G 1/00}, + holder = { /, .}, + credits = {. . .}, + requestnumber = {000108705/28}, + requestdate = {07.04.2000}, + publicationdate = {10.03.2001}, + publication = {. 7 (I .)}, + prioritydate = {09.04.1999}, + prioritynumber = {09/289, 037}, + prioritycountry = {}, + pagetotal = {5 .~: .}, + language = {russian}, +} + +@PATENT{patent2, + author = {. . }, + authorcountry = {}, + title = { }, + media = {}, + type = {.}, + number = {2000131736/09}, + location = {. }, + ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00}, + holder = { . .-. - .}, + credits = {. . .}, + requestnumber = {000108705/28}, + date = {18.12.2000}, + publicationdate = {20.08.2002}, + publication = {. 23 (II .)}, + pagetotal = {2 .~: .}, + language = {russian}, +} diff --git a/doc/bibtex/gost/gost.tex b/doc/bibtex/gost/gost.tex index f796b2e..ae39d32 100644 --- a/doc/bibtex/gost/gost.tex +++ b/doc/bibtex/gost/gost.tex @@ -119,6 +119,10 @@ \subsection{Online Entry} \bibentry{ex27a} \bibentry{ex27b} \section{Use of macros} +\texttt{jan}, \texttt{feb}, \texttt{mar},\ldots{} \texttt{dec} macros in \texttt{month} field +are automatically translated to Russian or English if necessary. Other languages are not supported. \bibentry{ex30} +\section{Patents} +\bibentry{ex31} \end{document} \ No newline at end of file diff --git a/doc/bibtex/gost/ugost.tex b/doc/bibtex/gost/ugost.tex index d3b1f32..75650ac 100644 --- a/doc/bibtex/gost/ugost.tex +++ b/doc/bibtex/gost/ugost.tex @@ -117,6 +117,10 @@ \subsection{Online Entry} \bibentry{ex27a} \bibentry{ex27b} \section{Use of macros} +\texttt{jan}, \texttt{feb}, \texttt{mar},\ldots{} \texttt{dec} macros in \texttt{month} field +are automatically translated to Russian or English if necessary. Other languages are not supported. \bibentry{ex30} +\section{Patents} +\bibentry{ex31} \end{document} \ No newline at end of file diff --git a/source/bibtex/gost/gost.dtx b/source/bibtex/gost/gost.dtx index 5a8f4ca..c8de693 100644 --- a/source/bibtex/gost/gost.dtx +++ b/source/bibtex/gost/gost.dtx @@ -8,7 +8,7 @@ % GOST R 7.0.5-2008 with some conventional modifications. % % Copyright 2012-2016 Igor A. Kotelnikov. -% Version 1.2f +% Version 1.2g % % Copyright 1996-2005 Maksym Polyakov. % Version 2005.08.12 @@ -52,7 +52,7 @@ % %<*driver> \ProvidesFile{gost.dtx}% - [2016/07/12 v.1.2f Bibliography styles for GOST R 7.0.5-2008.] + [2016/07/25 v.1.2g Bibliography styles for GOST R 7.0.5-2008.] \documentclass{ltxdoc} @@ -128,6 +128,7 @@ % % \CheckSum{548} % +% \changes{v1.2g}{25 Jul 2016}{minor changes in documentation} % \changes{v1.2f}{12 Jul 2016}{patent entry added} % \changes{v1.2e}{07 Jul 2016}{bbl.url added to replace URL string} % \changes{v1.2d}{18 Feb 2016}{\cs{bbljan} e.t.c. macros removed} @@ -429,6 +430,16 @@ % {CTAN:pkg/gost}. % \end{enumerate} % +% +% \subsection{What's new in version 1.2g (2016.07.25)} +% +% \begin{enumerate} +% \item +% Minor changes in documentation. +% +% \end{enumerate} +% +% % \subsection{What's new in version 1.2f (2016.07.12)} % % \begin{enumerate} diff --git a/source/bibtex/gost/gost.ins b/source/bibtex/gost/gost.ins index 2bbac65..98c842a 100644 --- a/source/bibtex/gost/gost.ins +++ b/source/bibtex/gost/gost.ins @@ -15,7 +15,7 @@ version 2005/12/01 or later. This file has the LPPL maintenance status "maintained". Maintained by Igor A. Kotelnikov. -Current version: 1.2d, 2016.02.18 +Current version: 1.2g, 2016.07.25 Please, send bug report via e-mail: kia999 at mail dot ru @@ -49,7 +49,7 @@ or % \file{gost2008s.bst} {\from{gost.dtx} {bst,modern,eprint,sort}} \file{gost2008ls.bst} {\from{gost.dtx} {bst,modern,eprint,long,sort}} -% +% ` % ----------------------------------------------------------------------------------------- % Unicode BST styles that mimics obsolete version of GOST 7.8.0 for bibliographic *records* % \file{ugost780.bst} {\from{gost.dtx} {bst,utf8}}