diff options
author | Karl Berry <karl@freefriends.org> | 2009-11-16 19:57:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-11-16 19:57:36 +0000 |
commit | 494bd0475fd9f4b8ad307a7fb97b96d1f8093936 (patch) | |
tree | 5b95640ef51caa72822a1478b49449c29c009b24 /Master/texmf-dist/bibtex | |
parent | 7c71adc8d8bd0bf2195bb57a46f7029642681503 (diff) |
disser 1.1.3 (6nov09)
git-svn-id: svn://tug.org/texlive/trunk@16036 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex')
-rw-r--r-- | Master/texmf-dist/bibtex/bst/disser/gost705.bst (renamed from Master/texmf-dist/bibtex/bst/disser/disser.bst) | 461 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bst/disser/gost705s.bst (renamed from Master/texmf-dist/bibtex/bst/disser/disser-s.bst) | 488 |
2 files changed, 522 insertions, 427 deletions
diff --git a/Master/texmf-dist/bibtex/bst/disser/disser.bst b/Master/texmf-dist/bibtex/bst/disser/gost705.bst index d01d27f0552..2ef3d68c643 100644 --- a/Master/texmf-dist/bibtex/bst/disser/disser.bst +++ b/Master/texmf-dist/bibtex/bst/disser/gost705.bst @@ -1,10 +1,10 @@ %% -%% This is file `disser.bst', +%% This is file `gost705.bst', %% generated with the docstrip utility. %% %% The original source files were: %% -%% disser-bst.dtx (with options: `disser-bst') +%% gost705.dtx (with options: `gost705') %% %% Copyright (c) 2004-2009 Stanislav Kruchinin. %% All rights reserved. @@ -65,6 +65,7 @@ ENTRY language booklanguage url + urldate } {} { label } @@ -89,9 +90,8 @@ STRINGS { curlanguage } FUNCTION {change.language} { booklanguage empty$ - {""} - { - booklanguage 'curlanguage := + { "" } + { booklanguage 'curlanguage := "\selectlanguageifdefined{" curlanguage * "}" * @@ -100,31 +100,29 @@ FUNCTION {change.language} } FUNCTION {output.nonnull} -%%%{ 's := { swap$ output.state mid.sentence = { ", " * write$ } { output.state after.block = - { add.period$ write$ - " " quote$ "--- " * * write$ + { add.period$ " " * write$ newline$ "\newblock " write$ } { output.state before.all = - 'write$ + 'write$ { output.state after.dblslash = { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.column = - { ": " * write$ } - { output.state after.semicolumn = - { "; " * write$ } - { add.period$ " " * write$ } - if$ + { ": " * write$ } + { output.state after.semicolumn = + { "; " * write$ } + { add.period$ " " * write$ } + if$ + } + if$ } - if$ - } if$ } if$ @@ -135,7 +133,6 @@ FUNCTION {output.nonnull} mid.sentence 'output.state := } if$ -%%% s } FUNCTION {output} @@ -206,8 +203,7 @@ FUNCTION {new.sentence} } FUNCTION {add.blank} -{ " " * before.all 'output.state := -} +{ " " * before.all 'output.state := } FUNCTION {not} { { #0 } @@ -229,8 +225,8 @@ FUNCTION {or} FUNCTION {non.stop} { duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = + "}" * add.period$ + #-1 #1 substring$ "." = } FUNCTION {new.block.checka} @@ -285,242 +281,264 @@ FUNCTION {space.word} FUNCTION {bbl.edby} % { "\bbledby{}" } { curlanguage "english" = - {"Ed. by "} + { "Ed. by " } { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"} - {"language is not defined: " language "edited by" * * warning$ "edited by"} - if$} + { "{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }" } + { "language is not defined: " language "edited by" * * warning$ "edited by" } + if$ + } if$ } FUNCTION {bbl.cmplr} { curlanguage "english" = - {"Compiler "} + { "Compiler " } { curlanguage "russian" = - {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"} - {"language is not defined: " language "compiler" * * warning$ "compiler"} - if$} + { "{\cyr\CYRS\cyro\cyrs\cyrt.\ }" } + { "language is not defined: " language "compiler" * * warning$ "compiler" } + if$ + } if$ } FUNCTION {bbl.edition} % { "\bbledition{}" } { curlanguage "english" = - {"edition"} + { "edition" } { curlanguage "russian" = {"{\cyr\cyri\cyrz\cyrd.}"} {"language is not defined: " language "edition" * * warning$ "edition"} - if$} + if$ + } if$ } FUNCTION {bbl.vvolume} % { "\bblVolume{}" } { curlanguage "english" = - {"Volume"} - { curlanguage "russian" = + { "Volume" } + { curlanguage "russian" = {"\CYRT\cyro\cyrm"} {"language is not defined: " language "Volume" * * warning$ "Volume"} - if$} + if$ + } if$ } FUNCTION {bbl.vvol} % { "\bblVol{}" } { curlanguage "english" = - {"Vol."} + { "Vol." } { curlanguage "russian" = - {"\CYRT."} - {"language is not defined: " language "Vol." * * warning$ "Vol."} - if$} + { "\CYRT." } + { "language is not defined: " language "Vol." * * warning$ "Vol." } + if$ + } if$ } FUNCTION {bbl.iissue} % { "\bblIssue{}" } { curlanguage "english" = - {"Issue"} + { "Issue" } { curlanguage "russian" = - {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} - {"language is not defined: " language * warning$ "Issue"} - if$} + {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} + {"language is not defined: " language * warning$ "Issue"} + if$ + } if$ } FUNCTION {bbl.iiss} % { "\bblIss{}" } { curlanguage "english" = - {"Iss."} + {"Iss."} { curlanguage "russian" = - {"\CYRV\cyrery\cyrp."} - {"language is not defined: " language * warning$ "Issue"} - if$} + {"\CYRV\cyrery\cyrp."} + {"language is not defined: " language * warning$ "Issue"} + if$ + } if$ } FUNCTION {bbl.of} % { "\bblof{}" } { curlanguage "english" = - {"of"} + {"of"} { curlanguage "russian" = - {"{\cyr\cyri\cyrz}"} - {"language is not defined: " language "of" * * warning$ "of"} - if$} + {"{\cyr\cyri\cyrz}"} + {"language is not defined: " language "of" * * warning$ "of"} + if$ + } if$ } FUNCTION {bbl.etal} % { "\bblof{}" } { curlanguage "english" = - {"et~al."} + { "et~al." } { curlanguage "russian" = - {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "at al" * * warning$ "at al."} - if$} + { "{\cyr\cyri~\cyrd\cyrr.}" } + { "language is not defined: " language "at al" * * warning$ "at al." } + if$ + } if$ } FUNCTION {bbl.nnumber} % { "\bblNumber{}" } { curlanguage "english" = - {"Number"} + { "Number" } { curlanguage "russian" = - {"\CYRN\cyro\cyrm\cyre\cyrr"} - {"language is not defined: " language "Number" * * warning$ "Number"} - if$} + { "\CYRN\cyro\cyrm\cyre\cyrr"} + { "language is not defined: " language "Number" * * warning$ "Number" } + if$ + } if$ } FUNCTION {bbl.number} % { "\bblnumber{}" } { curlanguage "english" = - {"number"} + { "number" } { curlanguage "russian" = - {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} - {"language is not defined: " language "number" * * warning$ "number"} - if$} + { "{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} + { "language is not defined: " language "number" * * warning$ "number" } + if$ + } if$ } FUNCTION {bbl.nr} % { "\bblno{}" } { curlanguage "english" = - {"no."} + { "no." } { curlanguage "russian" = - {"{\cyr\textnumero}"} - {"language is not defined: " language "no." * * warning$ "no."} - if$} + { "{\cyr\textnumero}" } + { "language is not defined: " language "no." * * warning$ "no." } + if$ + } if$ } FUNCTION {bbl.nnr} % { "\bblno{}" } { curlanguage "english" = - {"No."} + { "No." } { curlanguage "russian" = - {"{\cyr\textnumero}"} - {"language is not defined: " language "No." * * warning$ "No."} - if$} + { "{\cyr\textnumero}" } + { "language is not defined: " language "No." * * warning$ "No." } + if$ + } if$ } FUNCTION {bbl.in} % { "\bblin{}" } { curlanguage "english" = - {"in"} + { "in" } { curlanguage "russian" = - {"{\cyr\cyrv}"} - {"language is not defined: " language "in" * * warning$ "in"} - if$} + { "{\cyr\cyrv}" } + { "language is not defined: " language "in" * * warning$ "in" } + if$ + } if$ } FUNCTION {bbl.iin} % { "\bblIn{}" } { curlanguage "english" = - {"In"} + { "In" } { curlanguage "russian" = - {"\CYRV"} - {"language is not defined: " language "In" * * warning$ "In"} - if$} + { "\CYRV" } + { "language is not defined: " language "In" * * warning$ "In" } + if$ + } if$ } FUNCTION {bbl.pages} % { "\bblpp." } { curlanguage "english" = - {"pp."} + { "pp." } { curlanguage "russian" = - {"{\cyr\cyrs.}"} - {"language is not defined: " language "pp." * * warning$ "pp."} - if$} + { "{\cyr\cyrs.}" } + { "language is not defined: " language "pp." * * warning$ "pp." } + if$ + } if$ } FUNCTION {bbl.page} % { "\bblp." } { curlanguage "english" = - {"p."} + {"p."} { curlanguage "russian" = - {"{\cyr\cyrs.}"} - {"language is not defined: " language "p." * * warning$ "p."} - if$} + { "{\cyr\cyrs.}"} + { "language is not defined: " language "p." * * warning$ "p." } + if$ + } if$ } FUNCTION {bbl.ppages} % { "\bblPp." } { curlanguage "english" = - {"Pp."} + { "Pp." } { curlanguage "russian" = - {"{\cyr\CYRS.}"} - {"language is not defined: " language "Pp." * * warning$ "Pp."} - if$} + { "{\cyr\CYRS.}" } + { "language is not defined: " language "Pp." * * warning$ "Pp." } + if$ + } if$ } FUNCTION {bbl.ppage} % { "\bblP." } { curlanguage "english" = - {"P."} + { "P." } { curlanguage "russian" = - {"{\cyr\CYRS.}"} - {"language is not defined: " language "P." * * warning$ "P."} - if$} + { "{\cyr\CYRS.}" } + { "language is not defined: " language "P." * * warning$ "P." } + if$ + } if$ } FUNCTION {bbl.techrep} { curlanguage "english" = - {"Tech. Rep."} + { "Tech. Rep." } { curlanguage "russian" = - {"{\cyr\CYRT\cyre\cyrh. \cyrd\cyro\cyrk\cyrl\cyra\cyrd.}"} - {"language is not defined: " language "Tech. Rep." * * warning$ "P."} - if$} + { "{\cyr\CYRT\cyre\cyrh.\ \cyrd\cyro\cyrk\cyrl\cyra\cyrd.}" } + { "language is not defined: " language "Tech. Rep." * * warning$ "P." } + if$ + } if$ } FUNCTION {bbl.mthesis} { curlanguage "english" = - {"Master's thesis"} + { "Master's thesis" } { curlanguage "russian" = - {"{\cyr\CYRM\cyra\cyrg\cyri\cyrs\cyrt\cyre\cyrr\cyrs\cyrk\cyra\cyrya\ \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}"} - {"language is not defined: " language "Master's thesis" * * warning$ "P."} - if$} + { "{\cyr\CYRM\cyra\cyrg\cyri\cyrs\cyrt\cyre\cyrr\cyrs\cyrk\cyra\cyrya\ \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}" } + { "language is not defined: " language "Master's thesis" * * warning$ "P." } + if$ + } if$ } FUNCTION {bbl.phdthesis} { curlanguage "english" = - {"Ph.D. thesis"} + { "Ph.D. thesis" } { curlanguage "russian" = - {"{\cyr\CYRK\cyra\cyrn\cyrd\cyri\cyrd\cyra\cyrt\cyrs\cyrk\cyra\cyrya \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}"} - {"language is not defined: " language "Ph.D. thesis" * * warning$ "P."} - if$} + { "{\cyr\CYRK\cyra\cyrn\cyrd\cyri\cyrd\cyra\cyrt\cyrs\cyrk\cyra\cyrya\ \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}" } + { "language is not defined: " language "Ph.D. thesis" * * warning$ "P." } + if$ + } if$ } @@ -533,7 +551,7 @@ FUNCTION {format.names} numnames 'namesleft := { namesleft #0 > } { s nameptr - "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + "{vv~}{ll}{~f.}{, jj}" format.name$ 't := nameptr #1 > { nameptr #4 = @@ -665,19 +683,17 @@ FUNCTION {format.date} } FUNCTION {output.address.publisher.date} -{ - address empty$ +{ address empty$ 'skip$ { address output publisher empty$ 'skip$ - { new.column - } + { new.column } if$ } - if$ - publisher output - format.date output + if$ + publisher output + format.date output } FUNCTION {output.bibitem} @@ -691,8 +707,8 @@ FUNCTION {output.bibitem} "}" write$ newline$ language empty$ - {"english" 'curlanguage :=} - {language 'curlanguage :=} + { "english" 'curlanguage := } + { language 'curlanguage := } if$ "\selectlanguageifdefined{" write$ curlanguage write$ @@ -772,13 +788,13 @@ FUNCTION {format.number.series} { series field.or.null } { series empty$ { "there's a number but no series in " cite$ * warning$ - bbl.nnr } - { - %new.dblslash - new.sentence + bbl.nnr + } + { new.sentence series bbl.nr - tie.or.space.connect} + tie.or.space.connect + } if$ number tie.or.space.connect } @@ -797,14 +813,14 @@ FUNCTION {is.num} FUNCTION {extract.num} { duplicate$ 't := "" 's := - { t empty$ not } - { t #1 #1 substring$ - t #2 global.max$ substring$ 't := - duplicate$ is.num - { s swap$ * 's := } - { pop$ "" 't := } - if$ - } + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } while$ s empty$ 'skip$ @@ -862,10 +878,11 @@ FUNCTION {format.pages} FUNCTION {format.pages.page} { pages empty$ { numpages empty$ - { "" } - { numpages bbl.pages tie.connect } - if$} - { format.pages} + { "" } + { numpages bbl.pages tie.connect } + if$ + } + { format.pages } if$ } @@ -936,69 +953,68 @@ FUNCTION {format.tr.number} } FUNCTION {author.before} -{ - author empty$ +{ author empty$ 'skip$ - { - format.authors output - new.sentence - } + { + format.authors output + new.sentence + } if$ } FUNCTION {bookauthor.before} -{ - bookauthor empty$ +{ bookauthor empty$ 'skip$ - { - format.bookauthors output - new.sentence - } + { + format.bookauthors output + new.sentence + } if$ } FUNCTION {author.after} -{ - author empty$ +{ author empty$ 'skip$ - {author num.names$ #3 > - {format.authors.after output - new.semicolumn } + { author num.names$ #3 > + { format.authors.after output + new.semicolumn + } 'skip$ - if$} + if$ + } if$ } FUNCTION {bookauthor.after} -{ - bookauthor empty$ +{ bookauthor empty$ 'skip$ - {bookauthor num.names$ #3 > - {format.bookauthors.after output - new.semicolumn } + { bookauthor num.names$ #3 > + { format.bookauthors.after output + new.semicolumn + } 'skip$ - if$} + if$ + } if$ } FUNCTION {editor.organization.after} -{ - compiler empty$ - {} - { format.compiler.after output - new.semicolumn +{ compiler empty$ + 'skip$ + { format.compiler.after output + new.semicolumn } if$ editor empty$ - {} - { format.editors.after output - new.semicolumn + 'skip$ + { format.editors.after output + new.semicolumn } if$ organization empty$ - {} - {organization output - new.semicolumn + 'skip$ + { organization output + new.semicolumn } if$ } @@ -1006,8 +1022,24 @@ FUNCTION {editor.organization.after} FUNCTION {format.url} { url empty$ { "" } - { after.sentence 'output.state := - "\BibUrl{ " url * "}" * + { "\BibUrl{" url * "}" * } + if$ +} + +FUNCTION {format.urldate} +{ urldate empty$ + { "" } + { add.blank + "\BibUrlDate{" urldate * "}" * + } + if$ +} + +FUNCTION {output.url} +{ url empty$ + 'skip$ + { format.url output + format.urldate output } if$ } @@ -1015,9 +1047,9 @@ FUNCTION {format.url} FUNCTION {format.annote} { annote empty$ { "" } -{ after.sentence 'output.state := - "\BibAnnote{" annote add.period$ * "}" * -} + { after.sentence 'output.state := + "\BibAnnote{" annote add.period$ * "}" * + } if$ } @@ -1037,7 +1069,7 @@ FUNCTION {article} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1060,7 +1092,7 @@ FUNCTION {book} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1077,7 +1109,7 @@ FUNCTION {booklet} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1103,7 +1135,7 @@ FUNCTION {inbook} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1126,8 +1158,9 @@ FUNCTION {incollection} format.pages.page output new.block note output - new.sentence - format.url output + new.block + output.url + new.block format.annote output fin.entry } @@ -1160,7 +1193,7 @@ FUNCTION {inproceedings} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1183,8 +1216,7 @@ FUNCTION {manual} format.btitle "title" output.check author empty$ { organization empty$ - { - address new.block.checka + { address new.block.checka address output } 'skip$ @@ -1201,7 +1233,7 @@ FUNCTION {manual} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1219,24 +1251,24 @@ FUNCTION {mastersthesis} new.block note output new.block - format.url output + output.url format.annote output fin.entry } FUNCTION {misc} { output.bibitem - format.authors output - title howpublished new.sentence.checkb - format.title output - howpublished new.block.checka + format.authors "author" output.check + new.block + format.title "title" output.check + new.block howpublished output new.block format.date output new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1256,7 +1288,7 @@ FUNCTION {phdthesis} format.pages.page output note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1282,7 +1314,7 @@ FUNCTION {proceedings} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1303,7 +1335,7 @@ FUNCTION {techreport} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1316,7 +1348,7 @@ FUNCTION {unpublished} new.block note "note" output.check new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1417,21 +1449,40 @@ EXECUTE {initialize.longest.label} ITERATE {longest.label.pass} FUNCTION {begin.bib} -{ - "\ifx\undefined\BibPrefix\def\BibPrefix{}\else\fi" write$ newline$ - "\ifx\undefined\BibPostfix\def\BibPostfix{}\else\fi" write$ newline$ - "\begin{thebibliography}{\BibPrefix" longest.label * "\BibPostfix}" * write$ newline$ - "\def\selectlanguageifdefined#1{" write$ newline$ - "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$ - "\else\language\csname l@#1\endcsname\fi}" write$ newline$ - "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$ - "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$ - "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{}\else\fi" write$ newline$ - "\ifx\undefined\BibEmph\def\BibEmph#1{\emph{#1}}\else\fi" write$ newline$ - preamble$ empty$ +{ preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ + "\makeatletter\renewcommand{\@biblabel}[1]{#1.}\makeatother" + write$ newline$ + "\ifx\undefined\BibPrefix\def\BibPrefix{}\else\fi" + write$ newline$ + "\ifx\undefined\BibPostfix\def\BibPostfix{}\else\fi" + write$ newline$ + "\ifx\undefined\BibEmph\def\BibEmph#1{#1}\else\fi" + write$ newline$ + "\ifx\undefined\url\def\url#1{\texttt{#1}}\else\fi" + write$ newline$ + "\ifx\undefined\urlprefix\def\urlprefix{URL: }\else\fi" + write$ newline$ + "\ifx\undefined\BibUrl\def\BibUrl#1{\urlprefix\url{#1}}\else\fi" + write$ newline$ + "\ifx\undefined\BibUrlDate\long\def\BibUrlDate#1{({%" + write$ newline$ + "\cyr\cyrd\cyra\cyrt\cyra\ %" + write$ newline$ + "\cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}: #1)}\else\fi" + write$ newline$ + "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{#1}\else\fi" + write$ newline$ + "\begin{thebibliography}{\BibPrefix" longest.label * "\BibPostfix}" * + write$ newline$ + "\def\selectlanguageifdefined#1{" + write$ newline$ + "\expandafter\ifx\csname date#1\endcsname\relax" + write$ newline$ + "\else\language\csname l@#1\endcsname\fi}" + write$ newline$ } EXECUTE {begin.bib} diff --git a/Master/texmf-dist/bibtex/bst/disser/disser-s.bst b/Master/texmf-dist/bibtex/bst/disser/gost705s.bst index 22596978abc..513077582d1 100644 --- a/Master/texmf-dist/bibtex/bst/disser/disser-s.bst +++ b/Master/texmf-dist/bibtex/bst/disser/gost705s.bst @@ -1,10 +1,10 @@ %% -%% This is file `disser-s.bst', +%% This is file `gost705s.bst', %% generated with the docstrip utility. %% %% The original source files were: %% -%% disser-bst.dtx (with options: `disser-s-bst') +%% gost705.dtx (with options: `gost705s') %% %% Copyright (c) 2004-2009 Stanislav Kruchinin. %% All rights reserved. @@ -65,6 +65,7 @@ ENTRY language booklanguage url + urldate } {} { label } @@ -89,9 +90,8 @@ STRINGS { curlanguage } FUNCTION {change.language} { booklanguage empty$ - {""} - { - booklanguage 'curlanguage := + { "" } + { booklanguage 'curlanguage := "\selectlanguageifdefined{" curlanguage * "}" * @@ -100,31 +100,29 @@ FUNCTION {change.language} } FUNCTION {output.nonnull} -%%%{ 's := { swap$ output.state mid.sentence = { ", " * write$ } { output.state after.block = - { add.period$ write$ - " " quote$ "--- " * * write$ + { add.period$ " " * write$ newline$ "\newblock " write$ } { output.state before.all = - 'write$ + 'write$ { output.state after.dblslash = { "~//" * change.language * " " * write$ } { output.state after.slash = { "~/ " * write$ } { output.state after.column = - { ": " * write$ } - { output.state after.semicolumn = - { "; " * write$ } - { add.period$ " " * write$ } - if$ + { ": " * write$ } + { output.state after.semicolumn = + { "; " * write$ } + { add.period$ " " * write$ } + if$ + } + if$ } - if$ - } if$ } if$ @@ -135,7 +133,6 @@ FUNCTION {output.nonnull} mid.sentence 'output.state := } if$ -%%% s } FUNCTION {output} @@ -206,8 +203,7 @@ FUNCTION {new.sentence} } FUNCTION {add.blank} -{ " " * before.all 'output.state := -} +{ " " * before.all 'output.state := } FUNCTION {not} { { #0 } @@ -229,8 +225,8 @@ FUNCTION {or} FUNCTION {non.stop} { duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = + "}" * add.period$ + #-1 #1 substring$ "." = } FUNCTION {new.block.checka} @@ -285,242 +281,264 @@ FUNCTION {space.word} FUNCTION {bbl.edby} % { "\bbledby{}" } { curlanguage "english" = - {"Ed. by "} + { "Ed. by " } { curlanguage "russian" = - {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"} - {"language is not defined: " language "edited by" * * warning$ "edited by"} - if$} + { "{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }" } + { "language is not defined: " language "edited by" * * warning$ "edited by" } + if$ + } if$ } FUNCTION {bbl.cmplr} { curlanguage "english" = - {"Compiler "} + { "Compiler " } { curlanguage "russian" = - {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"} - {"language is not defined: " language "compiler" * * warning$ "compiler"} - if$} + { "{\cyr\CYRS\cyro\cyrs\cyrt.\ }" } + { "language is not defined: " language "compiler" * * warning$ "compiler" } + if$ + } if$ } FUNCTION {bbl.edition} % { "\bbledition{}" } { curlanguage "english" = - {"edition"} + { "edition" } { curlanguage "russian" = {"{\cyr\cyri\cyrz\cyrd.}"} {"language is not defined: " language "edition" * * warning$ "edition"} - if$} + if$ + } if$ } FUNCTION {bbl.vvolume} % { "\bblVolume{}" } { curlanguage "english" = - {"Volume"} - { curlanguage "russian" = + { "Volume" } + { curlanguage "russian" = {"\CYRT\cyro\cyrm"} {"language is not defined: " language "Volume" * * warning$ "Volume"} - if$} + if$ + } if$ } FUNCTION {bbl.vvol} % { "\bblVol{}" } { curlanguage "english" = - {"Vol."} + { "Vol." } { curlanguage "russian" = - {"\CYRT."} - {"language is not defined: " language "Vol." * * warning$ "Vol."} - if$} + { "\CYRT." } + { "language is not defined: " language "Vol." * * warning$ "Vol." } + if$ + } if$ } FUNCTION {bbl.iissue} % { "\bblIssue{}" } { curlanguage "english" = - {"Issue"} + { "Issue" } { curlanguage "russian" = - {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} - {"language is not defined: " language * warning$ "Issue"} - if$} + {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"} + {"language is not defined: " language * warning$ "Issue"} + if$ + } if$ } FUNCTION {bbl.iiss} % { "\bblIss{}" } { curlanguage "english" = - {"Iss."} + {"Iss."} { curlanguage "russian" = - {"\CYRV\cyrery\cyrp."} - {"language is not defined: " language * warning$ "Issue"} - if$} + {"\CYRV\cyrery\cyrp."} + {"language is not defined: " language * warning$ "Issue"} + if$ + } if$ } FUNCTION {bbl.of} % { "\bblof{}" } { curlanguage "english" = - {"of"} + {"of"} { curlanguage "russian" = - {"{\cyr\cyri\cyrz}"} - {"language is not defined: " language "of" * * warning$ "of"} - if$} + {"{\cyr\cyri\cyrz}"} + {"language is not defined: " language "of" * * warning$ "of"} + if$ + } if$ } FUNCTION {bbl.etal} % { "\bblof{}" } { curlanguage "english" = - {"et~al."} + { "et~al." } { curlanguage "russian" = - {"{\cyr\cyri~\cyrd\cyrr.}"} - {"language is not defined: " language "at al" * * warning$ "at al."} - if$} + { "{\cyr\cyri~\cyrd\cyrr.}" } + { "language is not defined: " language "at al" * * warning$ "at al." } + if$ + } if$ } FUNCTION {bbl.nnumber} % { "\bblNumber{}" } { curlanguage "english" = - {"Number"} + { "Number" } { curlanguage "russian" = - {"\CYRN\cyro\cyrm\cyre\cyrr"} - {"language is not defined: " language "Number" * * warning$ "Number"} - if$} + { "\CYRN\cyro\cyrm\cyre\cyrr"} + { "language is not defined: " language "Number" * * warning$ "Number" } + if$ + } if$ } FUNCTION {bbl.number} % { "\bblnumber{}" } { curlanguage "english" = - {"number"} + { "number" } { curlanguage "russian" = - {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} - {"language is not defined: " language "number" * * warning$ "number"} - if$} + { "{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"} + { "language is not defined: " language "number" * * warning$ "number" } + if$ + } if$ } FUNCTION {bbl.nr} % { "\bblno{}" } { curlanguage "english" = - {"no."} + { "no." } { curlanguage "russian" = - {"{\cyr\textnumero}"} - {"language is not defined: " language "no." * * warning$ "no."} - if$} + { "{\cyr\textnumero}" } + { "language is not defined: " language "no." * * warning$ "no." } + if$ + } if$ } FUNCTION {bbl.nnr} % { "\bblno{}" } { curlanguage "english" = - {"No."} + { "No." } { curlanguage "russian" = - {"{\cyr\textnumero}"} - {"language is not defined: " language "No." * * warning$ "No."} - if$} + { "{\cyr\textnumero}" } + { "language is not defined: " language "No." * * warning$ "No." } + if$ + } if$ } FUNCTION {bbl.in} % { "\bblin{}" } { curlanguage "english" = - {"in"} + { "in" } { curlanguage "russian" = - {"{\cyr\cyrv}"} - {"language is not defined: " language "in" * * warning$ "in"} - if$} + { "{\cyr\cyrv}" } + { "language is not defined: " language "in" * * warning$ "in" } + if$ + } if$ } FUNCTION {bbl.iin} % { "\bblIn{}" } { curlanguage "english" = - {"In"} + { "In" } { curlanguage "russian" = - {"\CYRV"} - {"language is not defined: " language "In" * * warning$ "In"} - if$} + { "\CYRV" } + { "language is not defined: " language "In" * * warning$ "In" } + if$ + } if$ } FUNCTION {bbl.pages} % { "\bblpp." } { curlanguage "english" = - {"pp."} + { "pp." } { curlanguage "russian" = - {"{\cyr\cyrs.}"} - {"language is not defined: " language "pp." * * warning$ "pp."} - if$} + { "{\cyr\cyrs.}" } + { "language is not defined: " language "pp." * * warning$ "pp." } + if$ + } if$ } FUNCTION {bbl.page} % { "\bblp." } { curlanguage "english" = - {"p."} + {"p."} { curlanguage "russian" = - {"{\cyr\cyrs.}"} - {"language is not defined: " language "p." * * warning$ "p."} - if$} + { "{\cyr\cyrs.}"} + { "language is not defined: " language "p." * * warning$ "p." } + if$ + } if$ } FUNCTION {bbl.ppages} % { "\bblPp." } { curlanguage "english" = - {"Pp."} + { "Pp." } { curlanguage "russian" = - {"{\cyr\CYRS.}"} - {"language is not defined: " language "Pp." * * warning$ "Pp."} - if$} + { "{\cyr\CYRS.}" } + { "language is not defined: " language "Pp." * * warning$ "Pp." } + if$ + } if$ } FUNCTION {bbl.ppage} % { "\bblP." } { curlanguage "english" = - {"P."} + { "P." } { curlanguage "russian" = - {"{\cyr\CYRS.}"} - {"language is not defined: " language "P." * * warning$ "P."} - if$} + { "{\cyr\CYRS.}" } + { "language is not defined: " language "P." * * warning$ "P." } + if$ + } if$ } FUNCTION {bbl.techrep} { curlanguage "english" = - {"Tech. Rep."} + { "Tech. Rep." } { curlanguage "russian" = - {"{\cyr\CYRT\cyre\cyrh. \cyrd\cyro\cyrk\cyrl\cyra\cyrd.}"} - {"language is not defined: " language "Tech. Rep." * * warning$ "P."} - if$} + { "{\cyr\CYRT\cyre\cyrh.\ \cyrd\cyro\cyrk\cyrl\cyra\cyrd.}" } + { "language is not defined: " language "Tech. Rep." * * warning$ "P." } + if$ + } if$ } FUNCTION {bbl.mthesis} { curlanguage "english" = - {"Master's thesis"} + { "Master's thesis" } { curlanguage "russian" = - {"{\cyr\CYRM\cyra\cyrg\cyri\cyrs\cyrt\cyre\cyrr\cyrs\cyrk\cyra\cyrya\ \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}"} - {"language is not defined: " language "Master's thesis" * * warning$ "P."} - if$} + { "{\cyr\CYRM\cyra\cyrg\cyri\cyrs\cyrt\cyre\cyrr\cyrs\cyrk\cyra\cyrya\ \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}" } + { "language is not defined: " language "Master's thesis" * * warning$ "P." } + if$ + } if$ } FUNCTION {bbl.phdthesis} { curlanguage "english" = - {"Ph.D. thesis"} + { "Ph.D. thesis" } { curlanguage "russian" = - {"{\cyr\CYRK\cyra\cyrn\cyrd\cyri\cyrd\cyra\cyrt\cyrs\cyrk\cyra\cyrya \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}"} - {"language is not defined: " language "Ph.D. thesis" * * warning$ "P."} - if$} + { "{\cyr\CYRK\cyra\cyrn\cyrd\cyri\cyrd\cyra\cyrt\cyrs\cyrk\cyra\cyrya\ \cyrd\cyri\cyrs\cyrs\cyre\cyrr\cyrt\cyra\cyrc\cyri\cyrya}" } + { "language is not defined: " language "Ph.D. thesis" * * warning$ "P." } + if$ + } if$ } @@ -533,7 +551,7 @@ FUNCTION {format.names} numnames 'namesleft := { namesleft #0 > } { s nameptr - "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + "{vv~}{ll}{~f.}{, jj}" format.name$ 't := nameptr #1 > { nameptr #4 = @@ -665,19 +683,17 @@ FUNCTION {format.date} } FUNCTION {output.address.publisher.date} -{ - address empty$ +{ address empty$ 'skip$ { address output publisher empty$ 'skip$ - { new.column - } + { new.column } if$ } - if$ - publisher output - format.date output + if$ + publisher output + format.date output } FUNCTION {output.bibitem} @@ -691,8 +707,8 @@ FUNCTION {output.bibitem} "}" write$ newline$ language empty$ - {"english" 'curlanguage :=} - {language 'curlanguage :=} + { "english" 'curlanguage := } + { language 'curlanguage := } if$ "\selectlanguageifdefined{" write$ curlanguage write$ @@ -772,13 +788,13 @@ FUNCTION {format.number.series} { series field.or.null } { series empty$ { "there's a number but no series in " cite$ * warning$ - bbl.nnr } - { - %new.dblslash - new.sentence + bbl.nnr + } + { new.sentence series bbl.nr - tie.or.space.connect} + tie.or.space.connect + } if$ number tie.or.space.connect } @@ -797,14 +813,14 @@ FUNCTION {is.num} FUNCTION {extract.num} { duplicate$ 't := "" 's := - { t empty$ not } - { t #1 #1 substring$ - t #2 global.max$ substring$ 't := - duplicate$ is.num - { s swap$ * 's := } - { pop$ "" 't := } - if$ - } + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } while$ s empty$ 'skip$ @@ -862,10 +878,11 @@ FUNCTION {format.pages} FUNCTION {format.pages.page} { pages empty$ { numpages empty$ - { "" } - { numpages bbl.pages tie.connect } - if$} - { format.pages} + { "" } + { numpages bbl.pages tie.connect } + if$ + } + { format.pages } if$ } @@ -936,69 +953,68 @@ FUNCTION {format.tr.number} } FUNCTION {author.before} -{ - author empty$ +{ author empty$ 'skip$ - { - format.authors output - new.sentence - } + { + format.authors output + new.sentence + } if$ } FUNCTION {bookauthor.before} -{ - bookauthor empty$ +{ bookauthor empty$ 'skip$ - { - format.bookauthors output - new.sentence - } + { + format.bookauthors output + new.sentence + } if$ } FUNCTION {author.after} -{ - author empty$ +{ author empty$ 'skip$ - {author num.names$ #3 > - {format.authors.after output - new.semicolumn } + { author num.names$ #3 > + { format.authors.after output + new.semicolumn + } 'skip$ - if$} + if$ + } if$ } FUNCTION {bookauthor.after} -{ - bookauthor empty$ +{ bookauthor empty$ 'skip$ - {bookauthor num.names$ #3 > - {format.bookauthors.after output - new.semicolumn } + { bookauthor num.names$ #3 > + { format.bookauthors.after output + new.semicolumn + } 'skip$ - if$} + if$ + } if$ } FUNCTION {editor.organization.after} -{ - compiler empty$ - {} - { format.compiler.after output - new.semicolumn +{ compiler empty$ + 'skip$ + { format.compiler.after output + new.semicolumn } if$ editor empty$ - {} - { format.editors.after output - new.semicolumn + 'skip$ + { format.editors.after output + new.semicolumn } if$ organization empty$ - {} - {organization output - new.semicolumn + 'skip$ + { organization output + new.semicolumn } if$ } @@ -1006,8 +1022,24 @@ FUNCTION {editor.organization.after} FUNCTION {format.url} { url empty$ { "" } - { after.sentence 'output.state := - "\BibUrl{ " url * "}" * + { "\BibUrl{" url * "}" * } + if$ +} + +FUNCTION {format.urldate} +{ urldate empty$ + { "" } + { add.blank + "\BibUrlDate{" urldate * "}" * + } + if$ +} + +FUNCTION {output.url} +{ url empty$ + 'skip$ + { format.url output + format.urldate output } if$ } @@ -1015,9 +1047,9 @@ FUNCTION {format.url} FUNCTION {format.annote} { annote empty$ { "" } -{ after.sentence 'output.state := - "\BibAnnote{" annote add.period$ * "}" * -} + { after.sentence 'output.state := + "\BibAnnote{" annote add.period$ * "}" * + } if$ } @@ -1037,7 +1069,7 @@ FUNCTION {article} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1060,7 +1092,7 @@ FUNCTION {book} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1077,7 +1109,7 @@ FUNCTION {booklet} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1103,7 +1135,7 @@ FUNCTION {inbook} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1126,8 +1158,9 @@ FUNCTION {incollection} format.pages.page output new.block note output - new.sentence - format.url output + new.block + output.url + new.block format.annote output fin.entry } @@ -1160,7 +1193,7 @@ FUNCTION {inproceedings} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1183,8 +1216,7 @@ FUNCTION {manual} format.btitle "title" output.check author empty$ { organization empty$ - { - address new.block.checka + { address new.block.checka address output } 'skip$ @@ -1201,7 +1233,7 @@ FUNCTION {manual} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1219,24 +1251,24 @@ FUNCTION {mastersthesis} new.block note output new.block - format.url output + output.url format.annote output fin.entry } FUNCTION {misc} { output.bibitem - format.authors output - title howpublished new.sentence.checkb - format.title output - howpublished new.block.checka + format.authors "author" output.check + new.block + format.title "title" output.check + new.block howpublished output new.block format.date output new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1256,7 +1288,7 @@ FUNCTION {phdthesis} format.pages.page output note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1282,7 +1314,7 @@ FUNCTION {proceedings} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1303,7 +1335,7 @@ FUNCTION {techreport} new.block note output new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1316,7 +1348,7 @@ FUNCTION {unpublished} new.block note "note" output.check new.sentence - format.url output + output.url format.annote output fin.entry } @@ -1390,7 +1422,6 @@ MACRO {tcs} {"Theoretical Computer Science"} READ - FUNCTION {sortify} { purify$ "l" change.case$ @@ -1452,10 +1483,7 @@ FUNCTION {author.sort} if$ } { - author num.names$ #4 < - {author sort.format.names } - {title sort.format.title} - if$ + author sort.format.names} } if$ } @@ -1463,22 +1491,19 @@ FUNCTION {author.sort} FUNCTION {author.title.sort} { author empty$ { title empty$ - { key empty$ - { "to sort, need author, title, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ + { key empty$ + { "to sort, need author, title, or key in " cite$ * warning$ + "" } - { title sort.format.title } + { key sortify } if$ + } + { title sort.format.title } + if$ } { - author num.names$ #4 < - {author sort.format.names } - {title sort.format.title} - if$ - } + author sort.format.names + } if$ } @@ -1529,21 +1554,40 @@ EXECUTE {initialize.longest.label} ITERATE {longest.label.pass} FUNCTION {begin.bib} -{ - "\ifx\undefined\BibPrefix\def\BibPrefix{}\else\fi" write$ newline$ - "\ifx\undefined\BibPostfix\def\BibPostfix{}\else\fi" write$ newline$ - "\begin{thebibliography}{\BibPrefix" longest.label * "\BibPostfix}" * write$ newline$ - "\def\selectlanguageifdefined#1{" write$ newline$ - "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$ - "\else\language\csname l@#1\endcsname\fi}" write$ newline$ - "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$ - "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$ - "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{}\else\fi" write$ newline$ - "\ifx\undefined\BibEmph\def\BibEmph#1{\emph{#1}}\else\fi" write$ newline$ - preamble$ empty$ +{ preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ + "\makeatletter\renewcommand{\@biblabel}[1]{#1.}\makeatother" + write$ newline$ + "\ifx\undefined\BibPrefix\def\BibPrefix{}\else\fi" + write$ newline$ + "\ifx\undefined\BibPostfix\def\BibPostfix{}\else\fi" + write$ newline$ + "\ifx\undefined\BibEmph\def\BibEmph#1{#1}\else\fi" + write$ newline$ + "\ifx\undefined\url\def\url#1{\texttt{#1}}\else\fi" + write$ newline$ + "\ifx\undefined\urlprefix\def\urlprefix{URL: }\else\fi" + write$ newline$ + "\ifx\undefined\BibUrl\def\BibUrl#1{\urlprefix\url{#1}}\else\fi" + write$ newline$ + "\ifx\undefined\BibUrlDate\long\def\BibUrlDate#1{({%" + write$ newline$ + "\cyr\cyrd\cyra\cyrt\cyra\ %" + write$ newline$ + "\cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}: #1)}\else\fi" + write$ newline$ + "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{#1}\else\fi" + write$ newline$ + "\begin{thebibliography}{\BibPrefix" longest.label * "\BibPostfix}" * + write$ newline$ + "\def\selectlanguageifdefined#1{" + write$ newline$ + "\expandafter\ifx\csname date#1\endcsname\relax" + write$ newline$ + "\else\language\csname l@#1\endcsname\fi}" + write$ newline$ } EXECUTE {begin.bib} |