summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-12-29 02:19:51 +0000
committerKarl Berry <karl@freefriends.org>2020-12-29 02:19:51 +0000
commitdd043fc7ae752f93f55607d6376c17a22205b60b (patch)
tree9adc98c02c5168e31376ac34ba82a09e6f0e9576
parent109901a7a158f32a32f423045b6981221735f55d (diff)
gost (28dec20)
git-svn-id: svn://tug.org/texlive/trunk@57251 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2003.bst1578
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2003s.bst1602
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008.bst1585
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008l.bst1577
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst1601
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008n.bst1846
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst1882
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost2008s.bst1609
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost780.bst2229
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost780s.bst2353
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2003.bst1579
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst1603
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008.bst1586
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst1578
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst1610
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst1847
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst1883
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst1610
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/README28
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/README.md454
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib19
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib20
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib28
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib16
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib19
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib41
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib23
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib19
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20c.bib)10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib34
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib32
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib27
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib34
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib43
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex32.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21b.bib)7
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex33.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21a.bib)7
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib16
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex39.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24a.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex40.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24b.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib22
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex45.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27c.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib7
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex53.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27a.bib)8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex54.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27b.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib21
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib16
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib20
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib606
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex103
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdfbin318845 -> 371870 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex4
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdfbin336335 -> 382565 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex2
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdfbin317099 -> 369245 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex2
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdfbin318844 -> 371036 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex4
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdfbin207625 -> 375316 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex137
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdfbin207907 -> 375190 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex139
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdfbin0 -> 261932 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex331
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdfbin316926 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd16
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib19
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib20
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib28
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib16
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib19
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib22
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib46
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib41
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib23
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib19
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20c.bib)10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib34
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib32
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib27
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib34
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib43
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex32.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21b.bib)7
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex33.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21a.bib)7
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib16
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex39.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24a.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex40.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24b.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib22
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex45.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27c.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib15
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib7
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex53.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27a.bib)8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex54.bib (renamed from Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27b.bib)0
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib13
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib11
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib12
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib21
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib9
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib22
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib14
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib10
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib18
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib664
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd17
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex114
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdfbin229878 -> 372742 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex8
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdfbin251540 -> 383368 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex2
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdfbin229942 -> 369881 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex3
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdfbin229975 -> 371783 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex6
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdfbin208310 -> 376575 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex142
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdfbin208400 -> 375301 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex137
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdfbin221365 -> 265290 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex131
-rw-r--r--Master/texmf-dist/doc/bibtex/gost/gost.pdfbin595440 -> 670484 bytes
-rw-r--r--Master/texmf-dist/source/bibtex/gost/gost.dtx3866
-rw-r--r--Master/texmf-dist/source/bibtex/gost/gost.ins157
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds8
209 files changed, 20748 insertions, 19717 deletions
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2003.bst b/Master/texmf-dist/bibtex/bst/gost/gost2003.bst
index ff477b544c5..c6c8cee68f8 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2003.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2003.bst
@@ -6,28 +6,20 @@
%%
%% gost.dtx (with options: `bst,strict,eprint')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2003.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.1-2003 for bibliographic records.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,13 +272,6 @@ FUNCTION {or}
if$
}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -309,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -323,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"{\cyrii}"}
+ { curlanguage "russian" =
+ {"{\cyri}"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -604,7 +702,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -618,20 +719,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -640,12 +744,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -654,13 +758,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -668,36 +772,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -706,7 +797,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -715,7 +806,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -724,7 +815,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -737,7 +828,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -751,7 +842,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -763,19 +854,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -797,7 +888,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -813,7 +904,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -829,7 +920,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -837,152 +928,385 @@ FUNCTION {bbl.priority}
if$
}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names}
-{
- #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
-}
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names.rev}
-{
- 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal enclose.square.brackets * }
- { ", " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
if$
}
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
if$
}
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
if$
}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
if$
}
FUNCTION {format.month}
{ month empty$
{ "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
if$
}
FUNCTION {format.date}
-{ year empty$
+{ year.or.date.to.year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
@@ -991,51 +1315,153 @@ FUNCTION {format.date}
if$
}
{ month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
if$
}
if$
}
-FUNCTION {address.or.location}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{,~f.}"
+ format.name$
+}
+
+FUNCTION {fmt.names.three}
{
- address empty$
- { location }
- { address }
- if$
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{,~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
}
-FUNCTION {specialitycode.or.number}
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{,~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { " " bbl.and " " * * * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
{
- specialitycode empty$
- { number }
- { specialitycode }
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.first
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
+ if$
+}
+
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
if$
}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
FUNCTION {output.address.publisher}
{
address empty$
{
bbl.nnoaddress
publisher empty$
- { "~: " * bbl.nopublisher * enclose.square.brackets }
- { enclose.square.brackets "~: " * publisher * }
+ { "~: " * bbl.nopublisher * bracketise }
+ { bracketise "~: " * publisher * }
if$
}
{
address output
new.colon
publisher empty$
- { bbl.nopublisher enclose.square.brackets }
+ { bbl.nopublisher bracketise }
{ publisher }
if$
}
@@ -1043,88 +1469,26 @@ FUNCTION {output.address.publisher}
output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1153,30 +1517,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1193,38 +1533,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1245,15 +1553,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1316,6 +1615,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1336,78 +1648,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.first output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
- {format.authors.after output
- new.semicolon }
+ {author num.names$ #1 >
+ { author fmt.names.all output
+ new.semicolon
+ }
+ 'skip$
+ if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.all output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1458,7 +1753,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1468,9 +1763,13 @@ FUNCTION {add.media}
{ duplicate$ empty$
'skip$
{ media empty$
- { " " * bbl.media.text enclose.square.brackets * }
- { " " * bbl.media enclose.square.brackets * }
- if$
+ { type$ "online" =
+ { " " * bbl.media.online bracketise * }
+ { " " * bbl.media.text bracketise * }
+ if$
+ }
+ { " " * bbl.media bracketise * }
+ if$
}
if$
}
@@ -1550,14 +1849,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1574,18 +1874,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1603,15 +1906,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1623,22 +1929,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1656,18 +1965,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1684,14 +1996,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1702,22 +2021,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1737,10 +2060,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1757,7 +2082,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1770,6 +2095,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1777,9 +2104,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1794,7 +2121,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1807,13 +2134,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1824,13 +2153,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1841,12 +2173,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
- howpublished enclose.square.brackets output
- editor.organization.after
+ howpublished bracketise output
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1865,25 +2199,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1893,13 +2226,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1908,14 +2242,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1928,9 +2262,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1939,13 +2273,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1955,12 +2290,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1969,13 +2303,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1985,12 +2320,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -1999,13 +2333,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2015,7 +2350,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2023,7 +2357,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2032,14 +2366,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2064,96 +2398,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2196,47 +2530,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
@@ -2273,15 +2606,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2304,5 +2629,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2003.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst b/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst
index e89eaf2280b..9a81ec68ccd 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2003s.bst
@@ -6,28 +6,20 @@
%%
%% gost.dtx (with options: `bst,strict,eprint,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2003s.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.1-2003 for bibliographic records.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,23 +272,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -319,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -333,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"{\cyrii}"}
+ { curlanguage "russian" =
+ {"{\cyri}"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -614,7 +712,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -628,20 +729,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -650,12 +754,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -664,13 +768,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -678,36 +782,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -716,7 +807,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -725,7 +816,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -734,7 +825,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -747,7 +838,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -761,7 +852,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -773,19 +864,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -807,7 +898,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -823,7 +914,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -839,7 +930,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -847,152 +938,385 @@ FUNCTION {bbl.priority}
if$
}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names}
-{
- #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
-}
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names.rev}
-{
- 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal enclose.square.brackets * }
- { ", " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
if$
}
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
if$
}
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
if$
}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
if$
}
FUNCTION {format.month}
{ month empty$
{ "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
if$
}
FUNCTION {format.date}
-{ year empty$
+{ year.or.date.to.year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
@@ -1001,51 +1325,153 @@ FUNCTION {format.date}
if$
}
{ month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
if$
}
if$
}
-FUNCTION {address.or.location}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{,~f.}"
+ format.name$
+}
+
+FUNCTION {fmt.names.three}
{
- address empty$
- { location }
- { address }
- if$
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{,~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
}
-FUNCTION {specialitycode.or.number}
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{,~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { " " bbl.and " " * * * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
{
- specialitycode empty$
- { number }
- { specialitycode }
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.first
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
if$
}
+
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
FUNCTION {output.address.publisher}
{
address empty$
{
bbl.nnoaddress
publisher empty$
- { "~: " * bbl.nopublisher * enclose.square.brackets }
- { enclose.square.brackets "~: " * publisher * }
+ { "~: " * bbl.nopublisher * bracketise }
+ { bracketise "~: " * publisher * }
if$
}
{
address output
new.colon
publisher empty$
- { bbl.nopublisher enclose.square.brackets }
+ { bbl.nopublisher bracketise }
{ publisher }
if$
}
@@ -1053,88 +1479,26 @@ FUNCTION {output.address.publisher}
output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1163,30 +1527,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1203,38 +1543,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1255,15 +1563,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1326,6 +1625,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1346,78 +1658,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.first output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
- {format.authors.after output
- new.semicolon }
+ {author num.names$ #1 >
+ { author fmt.names.all output
+ new.semicolon
+ }
+ 'skip$
+ if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.all output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1468,7 +1763,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1478,9 +1773,13 @@ FUNCTION {add.media}
{ duplicate$ empty$
'skip$
{ media empty$
- { " " * bbl.media.text enclose.square.brackets * }
- { " " * bbl.media enclose.square.brackets * }
- if$
+ { type$ "online" =
+ { " " * bbl.media.online bracketise * }
+ { " " * bbl.media.text bracketise * }
+ if$
+ }
+ { " " * bbl.media bracketise * }
+ if$
}
if$
}
@@ -1560,14 +1859,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1584,18 +1884,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1613,15 +1916,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1633,22 +1939,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1666,18 +1975,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1694,14 +2006,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1712,22 +2031,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1747,10 +2070,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1767,7 +2092,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1780,6 +2105,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1787,9 +2114,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1804,7 +2131,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1817,13 +2144,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1834,13 +2163,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1851,12 +2183,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
- howpublished enclose.square.brackets output
- editor.organization.after
+ howpublished bracketise output
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1875,25 +2209,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1903,13 +2236,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1918,14 +2252,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1938,9 +2272,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1949,13 +2283,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1965,12 +2300,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1979,13 +2313,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1995,12 +2330,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2009,13 +2343,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2025,7 +2360,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2033,7 +2367,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2042,14 +2376,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2074,96 +2408,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2206,49 +2540,47 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
"l" change.case$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2335,10 +2667,9 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
+ }
if$
}
-
FUNCTION {presort}%#1
{
author.title.sort
@@ -2397,15 +2728,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2428,5 +2751,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2003s.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008.bst
index 4b069dd1ee9..982092264c5 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2008.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2008.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,modern,eprint')
+%% gost.dtx (with options: `bst,eprint')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2008.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,13 +272,6 @@ FUNCTION {or}
if$
}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -309,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -323,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"{\cyrii}"}
+ { curlanguage "russian" =
+ {"{\cyri}"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -604,7 +702,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -618,20 +719,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -640,12 +744,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -654,13 +758,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -668,36 +772,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -706,7 +797,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -715,7 +806,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -724,7 +815,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -737,7 +828,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -751,7 +842,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -763,19 +854,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -797,7 +888,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -813,7 +904,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -829,7 +920,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -837,69 +928,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -912,145 +1396,57 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.three * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
- if$
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
if$
}
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1064,88 +1460,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1174,30 +1508,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1214,38 +1524,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1266,15 +1544,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1337,6 +1606,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1357,81 +1639,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1482,7 +1744,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1493,7 +1755,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1574,14 +1836,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1598,18 +1861,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1627,15 +1893,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1647,22 +1916,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1680,18 +1952,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1708,14 +1983,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1726,22 +2008,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1761,10 +2047,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1781,7 +2069,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1794,6 +2082,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1801,9 +2091,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1818,7 +2108,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1831,13 +2121,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1848,13 +2140,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1865,12 +2160,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1889,25 +2186,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1917,13 +2213,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1932,14 +2229,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1952,9 +2249,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1963,13 +2260,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1979,12 +2277,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1993,13 +2290,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2009,12 +2307,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2023,13 +2320,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2039,7 +2337,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2047,7 +2344,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2056,14 +2353,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2088,96 +2385,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2220,47 +2517,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
@@ -2297,15 +2593,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2328,5 +2616,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2008.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst
index df29d18687e..1dcc6a5621b 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2008l.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,modern,eprint,long')
+%% gost.dtx (with options: `bst,eprint,long')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2008l.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,13 +272,6 @@ FUNCTION {or}
if$
}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -309,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -323,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"{\cyrii}"}
+ { curlanguage "russian" =
+ {"{\cyri}"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -604,7 +702,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -618,20 +719,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -640,12 +744,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -654,13 +758,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -668,36 +772,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -706,7 +797,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -715,7 +806,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -724,7 +815,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -737,7 +828,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -751,7 +842,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -763,19 +854,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -797,7 +888,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -813,7 +904,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -829,7 +920,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -837,69 +928,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -912,145 +1396,52 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ { author fmt.names.all }
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.all emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.all * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
+ { bbl.compiler "\ " * compiler fmt.names.all * }
if$
}
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
- if$
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1064,88 +1455,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1174,30 +1503,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1214,38 +1519,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1266,15 +1539,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1337,6 +1601,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1357,69 +1634,48 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
- { format.authors output
- new.sentence
+ { author fmt.names.all output.nonnull
+ %new.sentence
}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after} { }
-
-FUNCTION {bookauthor.after}
+FUNCTION {output.author.rest}
+{
+}
+
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1470,7 +1726,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1481,7 +1737,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1562,14 +1818,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1586,18 +1843,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1615,15 +1875,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1635,22 +1898,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1668,18 +1934,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1696,14 +1965,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1714,22 +1990,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1749,10 +2029,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1769,7 +2051,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1782,6 +2064,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1789,9 +2073,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1806,7 +2090,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1819,13 +2103,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1836,13 +2122,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1853,12 +2142,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1877,25 +2168,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1905,13 +2195,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1920,14 +2211,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1940,9 +2231,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1951,13 +2242,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1967,12 +2259,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1981,13 +2272,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1997,12 +2289,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2011,13 +2302,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2027,7 +2319,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2035,7 +2326,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2044,14 +2335,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2076,96 +2367,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2208,47 +2499,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
@@ -2285,15 +2575,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2316,5 +2598,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2008l.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst
index 952e2c2c78f..ae1ae5fe703 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2008ls.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,modern,eprint,long,sort')
+%% gost.dtx (with options: `bst,eprint,long,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2008ls.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,23 +272,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -319,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -333,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"{\cyrii}"}
+ { curlanguage "russian" =
+ {"{\cyri}"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -614,7 +712,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -628,20 +729,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -650,12 +754,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -664,13 +768,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -678,36 +782,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -716,7 +807,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -725,7 +816,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -734,7 +825,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -747,7 +838,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -761,7 +852,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -773,19 +864,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -807,7 +898,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -823,7 +914,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -839,7 +930,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -847,69 +938,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -922,145 +1406,52 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ { author fmt.names.all }
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.all emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.all * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
+ { bbl.compiler "\ " * compiler fmt.names.all * }
if$
}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1074,88 +1465,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1184,30 +1513,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1224,38 +1529,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1276,15 +1549,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1347,6 +1611,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1367,69 +1644,48 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
- { format.authors output
- new.sentence
+ { author fmt.names.all output.nonnull
+ %new.sentence
}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after} { }
-
-FUNCTION {bookauthor.after}
+FUNCTION {output.author.rest}
+{
+}
+
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1480,7 +1736,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1491,7 +1747,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1572,14 +1828,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1596,18 +1853,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1625,15 +1885,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1645,22 +1908,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1678,18 +1944,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1706,14 +1975,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1724,22 +2000,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1759,10 +2039,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1779,7 +2061,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1792,6 +2074,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1799,9 +2083,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1816,7 +2100,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1829,13 +2113,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1846,13 +2132,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1863,12 +2152,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1887,25 +2178,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1915,13 +2205,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1930,14 +2221,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1950,9 +2241,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1961,13 +2252,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1977,12 +2269,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1991,13 +2282,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2007,12 +2299,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2021,13 +2312,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2037,7 +2329,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2045,7 +2336,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2054,14 +2345,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2086,96 +2377,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2218,49 +2509,47 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
"l" change.case$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2347,10 +2636,9 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
+ }
if$
}
-
FUNCTION {presort}%#1
{
author.title.sort
@@ -2409,15 +2697,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2440,5 +2720,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2008ls.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst
index a58695ba507..b24d569d36e 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2008n.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,modern,natbib,eprint')
+%% gost.dtx (with options: `bst,natbib,eprint')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2008n.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
%%-------------------------------------------------------------------
@@ -37,7 +29,7 @@
%% The form of the \bibitem entries is
%% \bibitem[Jones et al.(1990)]{key}...
%% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
-%% where the label part (in brackets) consists of the author names,
+%% where the label part [in brackets] consists of the author names,
%% as they should appear in the citation, with the year in parentheses following.
%% There must be no space before the opening parenthesis!
%% A full list of authors may also follow the year.
@@ -47,11 +39,11 @@
%% The \cite command functions as follows:
%% \citet{key} => Jones et al. (1990)
%% \citet*{key} => Jones, Baker, and Smith (1990)
-%% \cite{key} => (Jones et al., 1990)
-%% \cite*{key} => (Jones, Baker, and Smith, 1990)
-%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
-%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
-%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
+%% \cite{key} => (Jones et al., 1990)
+%% \cite*{key} => (Jones, Baker, and Smith, 1990)
+%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
+%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
+%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
%% \citeauthor{key} => Jones et al.
%% \citeauthor*{key} => Jones, Baker, and Smith
%% \citeyear{key} => 1990
@@ -93,15 +85,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -126,8 +118,23 @@ ENTRY
{}
{ label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -140,11 +147,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -169,7 +183,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -203,7 +217,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -282,23 +298,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -345,9 +344,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -359,7 +370,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.and} % { "\bbland{}" }
+FUNCTION {bbl.and}
{ curlanguage "english" =
- {"and"}
+ {"and"}
{ curlanguage "german" =
{ "und" }
{ curlanguage "ukrainian" =
{"{\cyrii}"}
{ curlanguage "russian" =
{"{\cyri}"}
- {"language is not defined: " language "and" * * warning$ "and"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -654,7 +738,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -668,20 +755,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -690,12 +780,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -704,13 +794,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -718,36 +808,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -756,7 +833,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -765,7 +842,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -774,7 +851,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -787,7 +864,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -801,7 +878,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -813,19 +890,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -847,7 +924,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -863,7 +940,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -879,7 +956,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -887,32 +964,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -925,55 +1432,76 @@ FUNCTION {format.names}
while$
}
-FUNCTION {format.lab.names}
-{ 's :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
- s #1 "{vv~}{ll}" format.name$
- s num.names$ duplicate$
- #2 >
- %{ pop$ " et~al." * }
- { pop$ " " bbl.etal * * }
- { #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * s #2 "{vv~}{ll}" format.name$ * }
- { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
+}
+
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
+FUNCTION {fmt.names.brief}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
+ {
namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
+ {
+ numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -986,17 +1514,29 @@ FUNCTION {format.names.rev}
while$
}
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
+FUNCTION {format.names.key}
+{ 's :=
+ set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " bbl.etal * * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
if$
}
-FUNCTION {format.authors}
-{ author empty$
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
{ "" }
- { author format.names emphasize}
if$
}
@@ -1007,10 +1547,9 @@ FUNCTION {author.key.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
-
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
@@ -1020,10 +1559,10 @@ FUNCTION {author.editor.key.label}
{ "{}" key * } %% Bug in bibtex8 ??
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1038,7 +1577,7 @@ FUNCTION {author.key.organization.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1053,14 +1592,12 @@ FUNCTION {editor.key.organization.label}
'key
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
-FUNCTION {calc.short.authors}
-{ type$ "book" =
- type$ "inbook" =
- or
+FUNCTION {calc.short.list}
+{ type$ "book" = type$ "inbook" = or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
@@ -1076,11 +1613,11 @@ FUNCTION {calc.short.authors}
}
FUNCTION {calc.label}
-{ calc.short.authors
+{ calc.short.list
short.list
"("
*
- year duplicate$ empty$
+ year.or.date.to.year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
@@ -1089,138 +1626,36 @@ FUNCTION {calc.label}
'label :=
}
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
+FUNCTION {calc.long.list} %% called 1 time only
+{ type$ "book" = type$ "inbook" = or
+ %'format.author.editor.brief
+ { author empty$
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
}
+ { author fmt.names.brief }
if$
}
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ { type$ "proceedings" =
+ %'format.editor.brief
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
+ }
+ %'format.author.brief
+ { author empty$
+ { "" }
+ { author fmt.names.brief }
+ if$
+ }
if$
}
if$
- extra.label * % new in v.1.2
}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1234,173 +1669,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
-FUNCTION {format.full.names}
-{'s :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- numnames #2 >
- curlanguage "english" =
- and
- { "," * }
- 'skip$
- if$
- t "others" =
- %t "~others" =
- %or
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * t * }
- { " " bbl.and " " * * * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.full}
-{ author empty$
- { "" }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.full}
-{ editor empty$
- { "" }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {author.editor.full}
-{ author empty$
- { editor empty$
- { "" }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.full
- { type$ "proceedings" =
- 'editor.full
- 'author.full
- if$
- }
- if$
-}
-
FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[" write$
- label write$
- ")" make.full.names duplicate$ short.list =
- { pop$ }
- { * }
- if$
- "]{" * write$
- cite$ write$
- "}" write$
-%% language empty$
-%% { "english" 'curlanguage := }
-%% {language 'curlanguage := }
-%% if$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
+{
+ set.language
+ newline$
+ "\bibitem" write$
+ label extra.label * ")" *
+ calc.long.list *
+ bracketise write$
+ cite$ bracify write$
+ newline$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
+
%% author.key.label
%% year parenthesify *
%% "; lbl:" label * *
-%% "; mfn:" make.full.names * *
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
+%% "; mfn:" calc.long.list * *
FUNCTION {format.bvolume}
{ volume empty$
@@ -1408,7 +1696,7 @@ FUNCTION {format.bvolume}
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1437,30 +1725,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1477,38 +1741,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1529,15 +1761,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1600,6 +1823,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1620,81 +1856,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1745,7 +1961,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1756,7 +1972,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1837,15 +2053,16 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
+ output.author.head
+ %new.sentence
author format.key output
- format.title add.media "title" output.check
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1862,19 +2079,22 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1892,16 +2112,19 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1913,23 +2136,26 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1947,19 +2173,22 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1977,14 +2206,21 @@ FUNCTION {proceedings}
{
output.bibitem
editor format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1995,23 +2231,27 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -2031,11 +2271,13 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
author format.key output
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -2052,7 +2294,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2065,6 +2307,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -2072,9 +2316,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
author format.key output
new.semicolon
holder output.nonnull
@@ -2090,7 +2334,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -2103,14 +2347,16 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
author format.key output
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2121,14 +2367,17 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle "title" output.check
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -2139,13 +2388,15 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
author format.key output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -2164,26 +2415,25 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2193,14 +2443,15 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -2209,14 +2460,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2229,10 +2480,10 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -2241,13 +2492,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2257,13 +2509,12 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -2272,13 +2523,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2288,13 +2540,12 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2303,13 +2554,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2319,7 +2571,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2327,7 +2578,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
new.colon
format.techreport.type output
@@ -2337,14 +2588,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2369,96 +2620,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2501,50 +2752,48 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
"l" change.case$
}
-
INTEGERS { seq.num }
FUNCTION {init.seq}
@@ -2618,7 +2867,7 @@ FUNCTION {reverse.pass}
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
- label extra.label * 'label :=
+ %%%label extra.label * 'label :=
}
REVERSE {reverse.pass}
@@ -2641,15 +2890,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2673,5 +2914,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2008n.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst
index ab98c1f6606..12199d503fa 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2008ns.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,modern,natbib,eprint,sort')
+%% gost.dtx (with options: `bst,natbib,eprint,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2008ns.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
%%-------------------------------------------------------------------
@@ -37,7 +29,7 @@
%% The form of the \bibitem entries is
%% \bibitem[Jones et al.(1990)]{key}...
%% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
-%% where the label part (in brackets) consists of the author names,
+%% where the label part [in brackets] consists of the author names,
%% as they should appear in the citation, with the year in parentheses following.
%% There must be no space before the opening parenthesis!
%% A full list of authors may also follow the year.
@@ -47,11 +39,11 @@
%% The \cite command functions as follows:
%% \citet{key} => Jones et al. (1990)
%% \citet*{key} => Jones, Baker, and Smith (1990)
-%% \cite{key} => (Jones et al., 1990)
-%% \cite*{key} => (Jones, Baker, and Smith, 1990)
-%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
-%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
-%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
+%% \cite{key} => (Jones et al., 1990)
+%% \cite*{key} => (Jones, Baker, and Smith, 1990)
+%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
+%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
+%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
%% \citeauthor{key} => Jones et al.
%% \citeauthor*{key} => Jones, Baker, and Smith
%% \citeyear{key} => 1990
@@ -93,15 +85,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -126,8 +118,23 @@ ENTRY
{}
{ label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -140,11 +147,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -169,7 +183,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -203,7 +217,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -282,23 +298,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -345,9 +344,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -359,7 +370,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.and} % { "\bbland{}" }
+FUNCTION {bbl.and}
{ curlanguage "english" =
- {"and"}
+ {"and"}
{ curlanguage "german" =
{ "und" }
{ curlanguage "ukrainian" =
{"{\cyrii}"}
{ curlanguage "russian" =
{"{\cyri}"}
- {"language is not defined: " language "and" * * warning$ "and"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -654,7 +738,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -668,20 +755,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -690,12 +780,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -704,13 +794,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -718,36 +808,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -756,7 +833,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -765,7 +842,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -774,7 +851,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -787,7 +864,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -801,7 +878,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -813,19 +890,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -847,7 +924,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -863,7 +940,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -879,7 +956,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -887,32 +964,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -925,55 +1432,76 @@ FUNCTION {format.names}
while$
}
-FUNCTION {format.lab.names}
-{ 's :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
- s #1 "{vv~}{ll}" format.name$
- s num.names$ duplicate$
- #2 >
- %{ pop$ " et~al." * }
- { pop$ " " bbl.etal * * }
- { #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * s #2 "{vv~}{ll}" format.name$ * }
- { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
+}
+
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
+FUNCTION {fmt.names.brief}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
+ {
namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
+ {
+ numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -986,17 +1514,29 @@ FUNCTION {format.names.rev}
while$
}
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
+FUNCTION {format.names.key}
+{ 's :=
+ set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " bbl.etal * * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
if$
}
-FUNCTION {format.authors}
-{ author empty$
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
{ "" }
- { author format.names emphasize}
if$
}
@@ -1007,10 +1547,9 @@ FUNCTION {author.key.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
-
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
@@ -1020,10 +1559,10 @@ FUNCTION {author.editor.key.label}
{ "{}" key * } %% Bug in bibtex8 ??
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1038,7 +1577,7 @@ FUNCTION {author.key.organization.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1053,14 +1592,12 @@ FUNCTION {editor.key.organization.label}
'key
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
-FUNCTION {calc.short.authors}
-{ type$ "book" =
- type$ "inbook" =
- or
+FUNCTION {calc.short.list}
+{ type$ "book" = type$ "inbook" = or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
@@ -1076,11 +1613,11 @@ FUNCTION {calc.short.authors}
}
FUNCTION {calc.label}
-{ calc.short.authors
+{ calc.short.list
short.list
"("
*
- year duplicate$ empty$
+ year.or.date.to.year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
@@ -1089,138 +1626,36 @@ FUNCTION {calc.label}
'label :=
}
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
+FUNCTION {calc.long.list} %% called 1 time only
+{ type$ "book" = type$ "inbook" = or
+ %'format.author.editor.brief
+ { author empty$
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
}
+ { author fmt.names.brief }
if$
}
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ { type$ "proceedings" =
+ %'format.editor.brief
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
+ }
+ %'format.author.brief
+ { author empty$
+ { "" }
+ { author fmt.names.brief }
+ if$
+ }
if$
}
if$
- extra.label * % new in v.1.2
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1234,173 +1669,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
-FUNCTION {format.full.names}
-{'s :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- numnames #2 >
- curlanguage "english" =
- and
- { "," * }
- 'skip$
- if$
- t "others" =
- %t "~others" =
- %or
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * t * }
- { " " bbl.and " " * * * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.full}
-{ author empty$
- { "" }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.full}
-{ editor empty$
- { "" }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {author.editor.full}
-{ author empty$
- { editor empty$
- { "" }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.full
- { type$ "proceedings" =
- 'editor.full
- 'author.full
- if$
- }
- if$
-}
-
FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[" write$
- label write$
- ")" make.full.names duplicate$ short.list =
- { pop$ }
- { * }
- if$
- "]{" * write$
- cite$ write$
- "}" write$
-%% language empty$
-%% { "english" 'curlanguage := }
-%% {language 'curlanguage := }
-%% if$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
+{
+ set.language
+ newline$
+ "\bibitem" write$
+ label extra.label * ")" *
+ calc.long.list *
+ bracketise write$
+ cite$ bracify write$
+ newline$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
+
%% author.key.label
%% year parenthesify *
%% "; lbl:" label * *
-%% "; mfn:" make.full.names * *
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
+%% "; mfn:" calc.long.list * *
FUNCTION {format.bvolume}
{ volume empty$
@@ -1408,7 +1696,7 @@ FUNCTION {format.bvolume}
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1437,30 +1725,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1477,38 +1741,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1529,15 +1761,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1600,6 +1823,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1620,81 +1856,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1745,7 +1961,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1756,7 +1972,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1837,15 +2053,16 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
+ output.author.head
+ %new.sentence
author format.key output
- format.title add.media "title" output.check
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1862,19 +2079,22 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1892,16 +2112,19 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1913,23 +2136,26 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1947,19 +2173,22 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1977,14 +2206,21 @@ FUNCTION {proceedings}
{
output.bibitem
editor format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1995,23 +2231,27 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -2031,11 +2271,13 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
author format.key output
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -2052,7 +2294,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2065,6 +2307,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -2072,9 +2316,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
author format.key output
new.semicolon
holder output.nonnull
@@ -2090,7 +2334,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -2103,14 +2347,16 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
author format.key output
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2121,14 +2367,17 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle "title" output.check
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -2139,13 +2388,15 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
author format.key output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -2164,26 +2415,25 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2193,14 +2443,15 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -2209,14 +2460,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2229,10 +2480,10 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -2241,13 +2492,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2257,13 +2509,12 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -2272,13 +2523,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2288,13 +2540,12 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2303,13 +2554,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2319,7 +2571,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2327,7 +2578,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
new.colon
format.techreport.type output
@@ -2337,14 +2588,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2369,96 +2620,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2501,49 +2752,47 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
"l" change.case$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2625,40 +2874,7 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
- if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
+ }
if$
}
@@ -2678,7 +2894,6 @@ FUNCTION {editor.organization.sort}
{ editor sort.format.names }
if$
}
-
FUNCTION {presort}%#2
{ calc.label
label sortify
@@ -2752,7 +2967,7 @@ FUNCTION {reverse.pass}
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
- label extra.label * 'label :=
+ %%%label extra.label * 'label :=
}
REVERSE {reverse.pass}
@@ -2775,15 +2990,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2807,5 +3014,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2008ns.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst b/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst
index 5f659547847..cc9ed9ee472 100644
--- a/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/gost2008s.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,modern,eprint,sort')
+%% gost.dtx (with options: `bst,eprint,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from gost2008s.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,23 +272,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -319,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -333,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+ {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr}
{"{\cyr\CYRU\cyrk\cyrl.}"}
{ curlanguage "russian" =
{"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{\cyr\cyrv\cyri\cyrd.}"}
{ curlanguage "russian" =
@@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRT\cyro\cyrm" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"\CYRT."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"\CYRV\cyrery\cyrp."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{\cyr\cyrii\cyrz}" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
{ curlanguage "russian" =
{"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"{\cyrii}"}
+ { curlanguage "russian" =
+ {"{\cyri}"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRN\cyro\cyrm\cyre\cyrr" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\textnumero}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\cyrs.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{\cyr\CYRS.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -614,7 +712,10 @@ FUNCTION {bbl.url}
{ "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -628,20 +729,23 @@ FUNCTION {bbl.urldate}
{ "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -650,12 +754,12 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+ { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
"\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
"\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -664,13 +768,13 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
"\cyrn\cyra\cyru\cyrk}" * }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -678,36 +782,23 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
"\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -716,7 +807,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -725,7 +816,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -734,7 +825,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -747,7 +838,7 @@ FUNCTION {bbl.media.eresource}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -761,7 +852,7 @@ FUNCTION {bbl.media.online}
{ curlanguage "ukrainian" =
{ "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
"\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -773,19 +864,19 @@ FUNCTION {bbl.chief}
{ "\cyrr\cyru\cyrk." }
{ curlanguage "ukrainian" =
{ "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
{ curlanguage "ukrainian" =
{ "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -807,7 +898,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -823,7 +914,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -839,7 +930,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -847,69 +938,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyrii\cyrch."}
+ { curlanguage "russian" =
+ { "\CYRYA\cyrn\cyrv." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyryu\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRF\cyre\cyrv\cyrr." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"\CYRB\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrr\cyrt" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"\CYRK\cyrv\cyrii\cyrt."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrp\cyrr." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"\CYRT\cyrr\cyra\cyrv."}
+ { curlanguage "russian" =
+ { "\CYRM\cyra\cyrishrt" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"\CYRCH\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrn\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrp."}
+ { curlanguage "russian" =
+ { "\CYRI\cyryu\cyrl\cyrsftsn" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"\CYRS\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRA\cyrv\cyrg\." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyre\cyrr."}
+ { curlanguage "russian" =
+ { "\CYRS\cyre\cyrn\cyrt." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"\CYRZH\cyro\cyrn."}
+ { curlanguage "russian" =
+ { "\CYRO\cyrk\cyrt." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"\CYRL\cyri\cyrs."}
+ { curlanguage "russian" =
+ { "\CYRN\cyro\cyrya\cyrb." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"\CYRG\cyrr\cyru\cyrd."}
+ { curlanguage "russian" =
+ { "\CYRD\cyre\cyrk." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+ { curlanguage "russian" =
+ { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~f.}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -922,145 +1406,57 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.three * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
if$
}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1074,88 +1470,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1184,30 +1518,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1224,38 +1534,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1276,15 +1554,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1347,6 +1616,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type "t" change.case$ }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1367,81 +1649,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1492,7 +1754,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1503,7 +1765,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1584,14 +1846,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1608,18 +1871,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1637,15 +1903,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1657,22 +1926,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1690,18 +1962,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1718,14 +1993,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1736,22 +2018,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1771,10 +2057,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1791,7 +2079,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1804,6 +2092,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1811,9 +2101,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1828,7 +2118,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1841,13 +2131,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1858,13 +2150,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1875,12 +2170,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1899,25 +2196,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1927,13 +2223,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1942,14 +2239,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1962,9 +2259,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1973,13 +2270,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1989,12 +2287,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -2003,13 +2300,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2019,12 +2317,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2033,13 +2330,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2049,7 +2347,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2057,7 +2354,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2066,14 +2363,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2098,96 +2395,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2230,49 +2527,47 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"\CYRU\CYRF\CYRN"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
"l" change.case$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2359,10 +2654,9 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
+ }
if$
}
-
FUNCTION {presort}%#1
{
author.title.sort
@@ -2421,15 +2715,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2452,5 +2738,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `gost2008s.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost780.bst b/Master/texmf-dist/bibtex/bst/gost/gost780.bst
deleted file mode 100644
index 7fd695a88a2..00000000000
--- a/Master/texmf-dist/bibtex/bst/gost/gost780.bst
+++ /dev/null
@@ -1,2229 +0,0 @@
-%%
-%% This is file `gost780.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% gost.dtx (with options: `bst')
-%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
-%%
-%% Current version: 1.2j, 2017.01.12
-%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
-%%
-
-
-
-%%
-%% This bibstyle attempts to format bibliography according to
-%% GOST 7.1-2003 for bibliographic records.
-
-ENTRY
- { address
- annote
- author
- booktitle
- bookauthor
- chapter
- edition
- editor
- compiler
- howpublished
- institution
- journal
- key
- %major % new in v.1.2i, alias for speciality, not implemented
- majorcode % new in v.1.2i, alias for specialitycode
- month
- note
- number
- organization
- pages
- eid % new in v1.2c
- publisher
- school % alias for institution
- series
- %speciality % new in v.1.2i, eqv. to major in biblatex-gost, not implemented yet...
- specialitycode % new in v.1.2i, alias of number, eqv. to majorcode in biblatex-gost
- title
- %medium % new in v1.2; renamed to media.
- media % new in v1.2f
- type
- volume
- year
- language
- langid % new in v1.2c
- booklanguage
- %date % not implemented yet...
- pagetotal
- url
- urldate
- isbn
- doi
- eprinttype % = archivePrefix
- eprintclass % = primaryClass
- eprint
- % new in v1.2f:
- % appear in biblatex:
- %addendum % not implemented yet...
- holder % see patent
- location % new in v.1.2i, alias of address
- %subtitle % not implemented yet...
- titleaddon % new in v.1.2i, see @thesis
- %version % not implemented yet...
- % Appear in biblatex-gost for @patent entry:
- authorcountry % country of the patent authors
- credits % statement of responsibility, other than provided in Biblatex
- ipc % Code of the International Patent Classification
- %media % General material designation NOTE: medium in the above
- requestnumber % Registration number of the application to the patent document
- publicationdate % Date of publication
- publication % and information on the official gazette, which published patent
- prioritydate % Information about the convention priority: the date of filing of the application,
- prioritynumber % number and
- prioritycountry % country name of convention priority.
- requestdate % ??
- }
- {}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.dblslash :=
- #5 'after.slash :=
- #6 'after.colon :=
- #7 'after.semicolon :=
-}
-
-STRINGS { s t }
-
-STRINGS { curlanguage }
-
-FUNCTION {change.language}
-{ booklanguage empty$
- { "" }
- { booklanguage 'curlanguage :=
- "\selectlanguageifdefined{"
- curlanguage *
- "}" *
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{
- swap$
- output.state mid.sentence =
- { ", " * write$ }
- { output.state after.block =
- { add.period$ write$
- " \BibDash " write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
- { output.state after.slash =
- { "~/ " * write$ }
- { output.state after.colon =
- { ": " * write$ }
- { output.state after.semicolon =
- { "; " * write$ }
- { add.period$ " " * write$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
-}
-
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-
-FUNCTION {output.check}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull
- if$
-}
-
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-
-FUNCTION {new.dblslash}
-{ output.state before.all =
- 'skip$
- { after.dblslash 'output.state := }
- if$
-}
-
-FUNCTION {new.slash}
-{ output.state before.all =
- 'skip$
- { after.slash 'output.state := }
- if$
-}
-
-FUNCTION {new.colon}
-{ output.state before.all =
- 'skip$
- { after.colon 'output.state := }
- if$
-}
-
-FUNCTION {new.semicolon}
-{ output.state before.all =
- 'skip$
- { after.semicolon 'output.state := }
- if$
-}
-
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-
-FUNCTION {add.blank}
-{ " " * before.all 'output.state :=
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.sentence.checka}
-{ empty$
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.sentence.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.dblslash.checka}
-{ empty$
- 'skip$
- 'new.dblslash
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { "\BibEmph{" swap$ * "}" * }
- if$
-}
-
-FUNCTION {bracify}
-{ duplicate$ empty$
- { pop$ "{}" }
- { "{" swap$ * "}" * }
- if$
-}
-
-FUNCTION {enclose.square.brackets}
-{
- duplicate$ empty$
- { pop$ "" }
- { "[" swap$ * "]" * }
- if$
-}
-
-FUNCTION {enclose.round.brackets}
-{
- duplicate$ empty$
- { pop$ "" }
- { "(" swap$ * ")" * }
- if$
-}
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-
-FUNCTION {bbl.edby} % { "\bbledby{}" }
-{ curlanguage "english" =
- {"Ed.\ by"}
- { curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
- { curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
- { curlanguage "german" =
- { "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.cmplr}
-{ curlanguage "english" =
- { "Compiler"}
- { curlanguage "german" =
- { "Hrsg." }
- { curlanguage "ukrainian" =
- {"{\cyr\CYRU\cyrk\cyrl.}"}
- { curlanguage "russian" =
- {"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.edition} % { "\bbledition{}" }
-{ curlanguage "english" =
- {"edition"}
- { curlanguage "ukrainian" =
- {"{\cyr\cyrv\cyri\cyrd.}"}
- { curlanguage "russian" =
- {"{\cyr\cyri\cyrz\cyrd.}"}
- { curlanguage "german" =
- {" {aus.}" } %%%% { "Aufl." } ??
- { curlanguage "italian" =
- {"edizione"}
- { curlanguage "french" =
- {"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
- if$}
- if$}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"Volume"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "\CYRT\cyro\cyrm" }
- { curlanguage "german" =
- {"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"Vol."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"\CYRT."}
- { curlanguage "german" =
- {"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
-{ curlanguage "english" =
- {"Issue"}
- { curlanguage "ukrainian" =
- {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
- { curlanguage "russian" =
- {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
- { curlanguage "german" =
- {"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
-{ curlanguage "english" =
- {"Iss."}
- { curlanguage "ukrainian" =
- {"\CYRV\cyri\cyrp."}
- { curlanguage "russian" =
- {"\CYRV\cyrery\cyrp."}
- { curlanguage "german" =
- {"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.of} % { "\bblof{}" }
-{ curlanguage "english" =
- {"of"}
- { curlanguage "german" =
- { "von" }
- { curlanguage "ukrainian" =
- { "{\cyr\cyrii\cyrz}" }
- { curlanguage "russian" =
- { "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.etal} % { "\bblof{}" }
-{ curlanguage "english" =
- {"et~al."}
- { curlanguage "german" =
- { "u.~a." }
- { curlanguage "ukrainian" =
- {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
- { curlanguage "russian" =
- {"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
- if$}
- if$}
- if$}
-if$}
-
-
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
-{ curlanguage "english" =
- {"Number"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "\CYRN\cyro\cyrm\cyre\cyrr" }
- { curlanguage "german" =
- {"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.number} % { "\bblnumber{}" }
-{ curlanguage "english" =
- {"number"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
- { curlanguage "german" =
- {"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.nr} % { "\bblno{}" }
-{ curlanguage "english" =
- {"no."}
- { curlanguage "italian" =
- { "no" }
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "{\cyr\textnumero}" }
- { curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.nnr} % { "\bblno{}" }
-{ curlanguage "english" =
- {"No."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "{\cyr\textnumero}" }
- { curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.in} % { "\bblin{}" }
-{ curlanguage "english" = curlanguage "german" = or
- {"in"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
- if$}
-if$}
-
-FUNCTION {bbl.iin} % { "\bblIn{}" }
-{ curlanguage "english" = curlanguage "german" = or
- {"In"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
- if$}
-if$}
-
-FUNCTION {bbl.pages} % { "\bblpp." }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"p."} %%% {"pp."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\cyrs.}"}
- { curlanguage "german" =
- {"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.page} % { "\bblp."
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"p."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\cyrs.}"}
- { curlanguage "german" =
- {"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.ppages}% { "\bblPp." }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"P."} %%%% { "Pp." }
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\CYRS.}"}
- { curlanguage "german" =
- {"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.ppage} % { "\bblP." }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"P."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\CYRS.}"}
- { curlanguage "german" =
- {"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.url}
-{ curlanguage "english" =
- {"Access mode"}
- { curlanguage "ukrainian" =
- { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyru}" }
- { curlanguage "russian" =
- { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
- { curlanguage "german" =
- { "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
- if$}
- if$}
- if$}
-if$}
-FUNCTION {bbl.urldate}
-{ curlanguage "english" =
- {"online; accessed"}
- { curlanguage "ukrainian" =
- { "{\cyrd\cyra\cyrt\cyra\ \cyrz\cyrv\cyre\cyrr\cyrn\cyre\cyrn\cyrn\cyrya}" }
- { curlanguage "russian" =
- { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
- { curlanguage "german" =
- { "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.techreport} % rename to bbl.techreport
-{ curlanguage "english" =
- { "Rep." }
- { curlanguage "german" =
- { "Bericht" }
- { curlanguage "russian" =
- { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.mathesis}
-{ curlanguage "english" =
- { "Master's thesis" }
- { curlanguage "german" =
- { "Diss.~Mag." }
- { curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
- "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
- "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.phdthesis}
-{ curlanguage "english" =
- { "Ph.\,D. thesis" }
- { curlanguage "german" =
- { "Diss.~Ph.\,D." }
- { curlanguage "russian" =
- { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
- "\cyrn\cyra\cyru\cyrk}" * }
- { curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.docthesis}
-{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
- { curlanguage "german" =
- { "Diss.~Dr." }
- { curlanguage "russian" =
- { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
- "\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.nnoaddress}
-{ curlanguage "english" =
- { "S.\ l." }
- { curlanguage "russian" =
- { "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
- if$}
-if$}
-
-FUNCTION {bbl.nopublisher}
-{ curlanguage "english" =
- { "s.\ n." }
- { curlanguage "russian" =
- { "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
- if$}
-if$}
-
-FUNCTION {bbl.nnopublisher}
-{ curlanguage "english" =
- { "S.\ n." }
- { curlanguage "russian" =
- { "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
- if$}
-if$}
-
-FUNCTION {bbl.media.text}
-{ curlanguage "english" =
- { "Text" }
- { curlanguage "russian" = curlanguage "ukrainian" = or
- { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
- if$}
-if$}
-
-FUNCTION {bbl.media.eresource}
-{ curlanguage "english" =
- { "Electronic resource" }
- { curlanguage "russian" =
- { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { curlanguage "ukrainian" =
- { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.media.online}
-{ curlanguage "english" =
- { "Electronic resource online" }
- { curlanguage "russian" =
- { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyrn}" * }
- { curlanguage "ukrainian" =
- { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.chief}
-{ curlanguage "english" =
- { "chief" }
- { curlanguage "russian" =
- { "\cyrr\cyru\cyrk." }
- { curlanguage "ukrainian" =
- { "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.executor}
-{ curlanguage "english" =
- { "Executor" }
- { curlanguage "russian" =
- { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
- { curlanguage "ukrainian" =
- { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.media}
-{ media "online" =
- { bbl.media.online }
- { media "eresource" =
- { bbl.media.eresource }
- { bbl.media.text }
- if$}
-if$}
-
-FUNCTION {bbl.req}
-{
- curlanguage "english" =
- { "req." }
- { curlanguage "german" =
- { "ang." }
- { curlanguage "russian" =
- { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {bbl.publ}
-{
- curlanguage "english" =
- { "publ." }
- { curlanguage "german" =
- { "ausg." }
- { curlanguage "russian" =
- { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {bbl.priority}
-{
- curlanguage "english" =
- { "priority" }
- { curlanguage "german" =
- { "Prioritat" }
- { curlanguage "russian" =
- { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
- if$
- }
- if$
- }
- if$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-
-FUNCTION {format.names}
-{
- #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
-}
-
-
-FUNCTION {format.names.rev}
-{
- 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
- if$
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
-FUNCTION {output.address.publisher}
-{
- address empty$ location empty$ and
- 'skip$
- { address.or.location output
- publisher empty$
- 'skip$
- { new.colon }
- if$
- }
- if$
- publisher output
-}
-
-FUNCTION {output.address.publisher.date}
-{
- output.address.publisher
- format.date output
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem" write$
- cite$ bracify write$
- newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
- "\selectlanguageifdefined" curlanguage bracify * write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bbl.vvol volume tie.connect
- series empty$
- 'skip$
- { bbl.of space.word * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { series empty$
- { "there's a number but no series in " cite$ * warning$
- bbl.nnr }
- {
- %new.dblslash
- new.sentence
- series
- bbl.nr
- tie.or.space.connect}
- if$
- number tie.or.space.connect
- }
- if$
- }
- { "" }
- if$
-}
-
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-
-FUNCTION {convert.edition}
-{ edition
-}
-
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { convert.edition "l" change.case$ " " * bbl.edition * }
- { convert.edition "t" change.case$ " " * bbl.edition * }
- if$
- }
- if$
-}
-
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
-FUNCTION {format.pages}
-{ eid empty$
- {
- pages empty$
- { "" }
- { pages multi.page.check
- { bbl.ppages pages n.dashify tie.connect }
- { bbl.ppage pages tie.connect }
- if$
- }
- if$
- }
- { eid multi.page.check
- { bbl.ppages eid n.dashify tie.connect }
- { bbl.ppage eid tie.connect }
- if$
- }
- if$
-}
-
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
-FUNCTION {format.pages.page}
-{ eid empty$
- { pages empty$
- { pagetotal empty$
- { "" }
- { pagetotal bbl.pages tie.connect }
- if$
- }
- { format.pages}
- if$
- }
- { format.pages }
- if$
-}
-
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- number empty$
- 'skip$
- {
- ", no." number tie.or.space.connect *
- volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- }
- if$
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
- { ": " * pages n.dashify * }
- if$
- }
- if$
-}
-
-FUNCTION {format.volume}
-{ volume empty$
- { "" }
- { bbl.vvol volume tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.number}
-{ number empty$
- { "" }
- { bbl.nr number tie.or.space.connect }
- if$
-}
-
-
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-%%<!utf8> bbl.thesis.type "t" change.case$
-%%<utf8> bbl.thesis.type
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- bbl.thesis.type
- }
- if$
-}
-%%<!utf8> { "t" change.case$ }
-%%<utf8> { "" }
-
-FUNCTION {format.techreport.type}
-{ type empty$
- { bbl.techreport }
- 'type
- if$
-}
-
-FUNCTION {author.before}
-{
- author empty$
- 'skip$
- {author num.names$ #4 <
- {format.authors output
- new.sentence}
- 'skip$
- if$}
- if$
-}
-
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
-{
- author empty$
- 'skip$
- {format.authors.after output
- new.semicolon }
- if$
-}
-
-FUNCTION {bookauthor.after}
-{
- bookauthor empty$
- 'skip$
- {format.bookauthors.after output
- new.semicolon }
- if$
-}
-
-FUNCTION {editor.organization.after}
-{
- compiler empty$
- {}
- { format.compiler.after output
- new.semicolon
- }
- if$
- editor empty$
- {}
- { format.editors.after output
- new.semicolon
- }
- if$
- organization empty$
- {}
- {organization output
- new.semicolon
- }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- {
- "\BibUrl{ " url * "}" *
- urldate empty$
- { "" }
- { " (" bbl.urldate * ": " * urldate * ")" * }
- if$ *
- }
- if$
-}
-
-FUNCTION {output.url}
-{
- url empty$
- 'skip$
- { format.url output }
- if$
-}
-
-FUNCTION {format.annote}
-{ annote empty$
- { "" }
-{ after.sentence 'output.state :=
- "\BibAnnote{" annote add.period$ * "}" *
-}
- if$
-}
-
-FUNCTION {format.isbn}
-{
- isbn empty$
- { "" }
- { "ISBN:~\href{http://isbndb.com/search-all.html?kw=" isbn *
- "}{" * isbn * "}" *
- }
- if$
-}
-
-FUNCTION {add.doi} { }
-
-FUNCTION {add.media}
-{ duplicate$ empty$
- 'skip$
- { media empty$
- 'skip$
- { " " * bbl.media enclose.square.brackets * }
- if$
- }
- if$
-}
-
-
-FUNCTION {output.eprint.url}
-{
- format.url output
-}
-
-FUNCTION {add.number}
-{ duplicate$ empty$
- { "" }
- { bbl.nr swap$ tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.type.number}
-{
- type empty$
- { "" }
- {
- number empty$
- { "" }
- { type number tie.or.space.connect }
- if$
- }
- if$
-}
-
-FUNCTION {format.requestdate}
-{ requestdate empty$
- { "" }
- { bbl.req requestdate tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.publicationdate}
-{ publicationdate empty$
- { "" }
- { bbl.publ publicationdate tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.prioritydate}
-{ prioritydate empty$
- { "" }
- { bbl.priority prioritydate tie.or.space.connect }
- if$
-}
-
-FUNCTION {article}
-{
- output.bibitem
- author.before
- format.title add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
- new.block
- format.date "year" output.check
- new.block
- format.volume output
- format.number output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {book}
-{
- output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
- new.slash
- author.after
- editor.organization.after
- new.sentence
- format.number.series output
- new.block
- format.edition output
- new.block
- output.address.publisher
- format.date "year" output.check
- new.block
- format.bvolume output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {booklet}
-{
- output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
- new.slash
- author.after
- editor.organization.after
- new.block
- howpublished output
- address.or.location output
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {inbook}
-{
- output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- booktitle "booktitle" output.check
- new.slash
- bookauthor.after
- editor.organization.after
- new.block
- format.edition output
- new.block
- format.number.series output
- new.sentence
- output.address.publisher
- format.date "year" output.check
- new.block
- format.bvolume output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {incollection}
-{
- output.bibitem
- author.before
- new.sentence
- format.title add.doi add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- booktitle "booktitle" output.check
- new.slash
- editor.organization.after
- new.block
- output.address.publisher
- format.date "year" output.check
- new.block
- format.bvolume output
- format.number.series output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{
- output.bibitem
- format.btitle add.doi add.media "title" output.check
- new.slash
- editor.organization.after
- new.block
- format.bvolume output
- format.number.series output
- output.address.publisher
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- author.before
- new.sentence
- format.title add.doi add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- booktitle "booktitle" output.check
- new.slash
- editor.organization.after
- new.block
- format.bvolume output
- format.number.series output
- new.block
- output.address.publisher
- format.date "year" output.check
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull
- address output
- }
- if$
- }
- { format.authors output.nonnull }
- if$
- new.block
- format.btitle add.doi add.media "title" output.check
- author empty$
- { organization empty$
- {
- address new.block.checka
- address output
- }
- 'skip$
- if$
- }
- {
- organization address new.block.checkb
- organization output
- address output
- }
- if$
- format.edition output
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {patent}
-{
- output.bibitem
- title add.media output.nonnull
- new.colon
- format.type.number output
- add.blank
- address.or.location output
- new.colon
- ipc output
- new.slash
- format.authors.after "author" output.check
- add.blank
- authorcountry enclose.round.brackets output.nonnull
- new.semicolon
- holder output.nonnull
- new.semicolon
- credits output.nonnull
- new.block
- requestnumber add.number output
- new.semicolon
- format.requestdate output
- new.semicolon
- format.publicationdate output
- publication output
- new.semicolon
- format.prioritydate output
- prioritynumber output
- prioritycountry enclose.round.brackets output
- new.block
- note output
- new.sentence
- output.url
- format.annote output
- new.block
- pagetotal output
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title howpublished new.sentence.checkb
- format.title add.media output
- howpublished new.block.checka
- howpublished output
- new.block
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- author.before
- format.btitle "title" output.check
- new.slash
- author.after
- editor.organization.after
- new.block
- format.date "year" output.check
- new.block
- note "note" output.check
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {online}
-{ output.bibitem
- format.authors output
- title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
- howpublished new.dblslash.checka
- howpublished output
- editor.organization.after
- new.sentence
- new.block
- output.address.publisher
- format.date output
- new.block
- output.eprint.url
- new.sentence
- note output
- format.annote output
- fin.entry
-}
-
-FUNCTION {internet} {online}
-FUNCTION {www} {online}
-FUNCTION {webpage} {online}
-FUNCTION {electronic} {online}
-FUNCTION {thesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.phdthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-%% format.techrep.type.number output.nonnull
-%% format.url output
-FUNCTION {report}
-{
- output.bibitem
- format.title add.doi add.media "title" output.check
- new.colon
- type "type" output.check
- new.colon
- number output
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.semicolon
- format.chief.after output % from editor field
- new.semicolon
- format.executor.after output % from author field
- new.block
- address.or.location output
- new.colon
- organization output
- format.date "year" output.check
- new.block % v.2
- format.pages.page output % v.2
- new.sentence % или new.block ?
- output.eprint.url
- new.block
- note output
- format.annote output
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.phdthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.mathesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-FUNCTION {docthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.docthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-%% format.url output
-
-FUNCTION {techreport}
-{
- output.bibitem
- format.title add.doi add.media "title" output.check
- new.colon
- format.techreport.type output
- new.colon
- number output
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.semicolon
- format.chief.after output % from editor field
- new.semicolon
- format.executor.after output % from author field
- new.block
- address.or.location output
- new.colon
- organization output
- format.date "year" output.check
- new.block % v.2
- format.pages.page output % v.2
- new.sentence % или new.block ?
- output.eprint.url
- new.block
- note output
- format.annote output
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
-
-MACRO {jan} {"Jan."}
-MACRO {feb} {"Feb."}
-MACRO {mar} {"Mar."}
-MACRO {apr} {"Apr."}
-MACRO {may} {"May"}
-MACRO {jun} {"Jun."}
-MACRO {jul} {"Jul."}
-MACRO {aug} {"Aug."}
-MACRO {sep} {"Sep."}
-MACRO {oct} {"Oct."}
-MACRO {nov} {"Nov."}
-MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
-MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
-MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
-MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
-MACRO {ip} {"Infrared Phys."}
-MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
-MACRO {nat} {"Nature"}
-MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
-MACRO {inc} {"Nuovo Cimento"}
-MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
-MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
-MACRO {st} {"Sky and Telesc."}
-MACRO {cjp} {"Czech. J. Phys."}
-MACRO {el} {"Europhys. Lett."}
-MACRO {en} {"Europhys. News"}
-MACRO {fujitsustj} {"FUJITSU Sci. Tech. J."}
-MACRO {ieeeed} {"IEEE Trans. Electron Devices"}
-MACRO {ieeeim} {"IEEE Trans. Instrum. Meas."}
-MACRO {ieeejqe} {"IEEE J. Quantum Electron."}
-MACRO {ieeem} {"IEEE Trans. Magn."}
-MACRO {ieeeptl} {"IEEE Photonic Technol. Lett."}
-MACRO {ieeeuffc} {"IEEE Trans. Ultrason., Ferroelect., Freq. Cont."}
-MACRO {jem} {"J. Electron. Mater."}
-MACRO {jes} {"J. Electrochem. Soc."}
-MACRO {jetplett} {"JETP Lett."}
-MACRO {jjap} {"Japan. J. Appl. Phys."}
-MACRO {jpha} {"J. Phys. A: Math. Gen."}
-MACRO {jphb} {"J. Phys. B: At. Mol. Opt. Phys."}
-MACRO {jphbold} {"J. Phys. B: At. Mol. Phys."}
-MACRO {jphc} {"J. Phys.: Condens. Matter"}
-MACRO {jphcold} {"J. Phys. C: Solid State Phys."}
-MACRO {jphd} {"J. Phys. D: Appl. Phys."}
-MACRO {jvsta} {"J. Vac. Sci. Technol. A"}
-MACRO {jvstb} {"J. Vac. Sci. Technol. B"}
-MACRO {me} {"Microelectron. Eng."}
-MACRO {necrd} {"NEC Res.{\&} Develop."}
-MACRO {pa} {"Physica A"}
-MACRO {pb} {"Physica B"}
-MACRO {pc} {"Physica C"}
-MACRO {pd} {"Physica D"}
-MACRO {procieee} {"Proc. IEEE"}
-MACRO {procspie} {"Proc. SPIE"}
-MACRO {pssa} {"Phys. Stat. Sol. A"}
-MACRO {pssb} {"Phys. Stat. Sol. B"}
-MACRO {rpp} {"Rep. Progr. Phys."}
-MACRO {sm} {"Synthet. Metal"}
-MACRO {sost} {"Solid State Technol."}
-MACRO {ss} {"Surf. Sci."}
-MACRO {ssc} {"Solid State Commun."}
-MACRO {sst} {"Semicond. Sci. Technol."}
-MACRO {suplatt} {"Superlatt. Microstr."}
-MACRO {sust} {"Supercond. Sci. Technol."}
-MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
-MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
-MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
-MACRO {sse} {"Solid-State Electron."}
-MACRO {pss} {"Phys. Sol. State"}
-MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
-MACRO {ufn} {"\CYRU\CYRF\CYRN"}
-MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
-
-READ
-
-
-
-
-
-STRINGS { longest.label }
-
-INTEGERS { number.label longest.label.width }
-
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
-
-EXECUTE {initialize.longest.label}
-
-FUNCTION {forward.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass}
-
-
-FUNCTION {begin.bib}
-{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
- "\def\selectlanguageifdefined#1{" write$ newline$
- "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
- "\else\selectlanguage{#1}\fi}" write$ newline$
- "\providecommand*{\href}[2]{{\small #2}}" write$ newline$
- "\providecommand*{\url}[1]{{\small #1}}" write$ newline$
- "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
- "\providecommand{\BibAnnote}[1]{}" write$ newline$
- "\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
- "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
- "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
- "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
- "\renewcommand{\newblock}{\ignorespaces}" write$ newline$
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-
-%%
-%% End of file `gost780.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost780s.bst b/Master/texmf-dist/bibtex/bst/gost/gost780s.bst
deleted file mode 100644
index 00b3526f45e..00000000000
--- a/Master/texmf-dist/bibtex/bst/gost/gost780s.bst
+++ /dev/null
@@ -1,2353 +0,0 @@
-%%
-%% This is file `gost780s.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% gost.dtx (with options: `bst,sort')
-%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
-%%
-%% Current version: 1.2j, 2017.01.12
-%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
-%%
-
-
-
-%%
-%% This bibstyle attempts to format bibliography according to
-%% GOST 7.1-2003 for bibliographic records.
-
-ENTRY
- { address
- annote
- author
- booktitle
- bookauthor
- chapter
- edition
- editor
- compiler
- howpublished
- institution
- journal
- key
- %major % new in v.1.2i, alias for speciality, not implemented
- majorcode % new in v.1.2i, alias for specialitycode
- month
- note
- number
- organization
- pages
- eid % new in v1.2c
- publisher
- school % alias for institution
- series
- %speciality % new in v.1.2i, eqv. to major in biblatex-gost, not implemented yet...
- specialitycode % new in v.1.2i, alias of number, eqv. to majorcode in biblatex-gost
- title
- %medium % new in v1.2; renamed to media.
- media % new in v1.2f
- type
- volume
- year
- language
- langid % new in v1.2c
- booklanguage
- %date % not implemented yet...
- pagetotal
- url
- urldate
- isbn
- doi
- eprinttype % = archivePrefix
- eprintclass % = primaryClass
- eprint
- % new in v1.2f:
- % appear in biblatex:
- %addendum % not implemented yet...
- holder % see patent
- location % new in v.1.2i, alias of address
- %subtitle % not implemented yet...
- titleaddon % new in v.1.2i, see @thesis
- %version % not implemented yet...
- % Appear in biblatex-gost for @patent entry:
- authorcountry % country of the patent authors
- credits % statement of responsibility, other than provided in Biblatex
- ipc % Code of the International Patent Classification
- %media % General material designation NOTE: medium in the above
- requestnumber % Registration number of the application to the patent document
- publicationdate % Date of publication
- publication % and information on the official gazette, which published patent
- prioritydate % Information about the convention priority: the date of filing of the application,
- prioritynumber % number and
- prioritycountry % country name of convention priority.
- requestdate % ??
- }
- {}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.dblslash :=
- #5 'after.slash :=
- #6 'after.colon :=
- #7 'after.semicolon :=
-}
-
-STRINGS { s t }
-
-STRINGS { curlanguage }
-
-FUNCTION {change.language}
-{ booklanguage empty$
- { "" }
- { booklanguage 'curlanguage :=
- "\selectlanguageifdefined{"
- curlanguage *
- "}" *
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{
- swap$
- output.state mid.sentence =
- { ", " * write$ }
- { output.state after.block =
- { add.period$ write$
- " \BibDash " write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
- { output.state after.slash =
- { "~/ " * write$ }
- { output.state after.colon =
- { ": " * write$ }
- { output.state after.semicolon =
- { "; " * write$ }
- { add.period$ " " * write$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
-}
-
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-
-FUNCTION {output.check}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull
- if$
-}
-
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-
-FUNCTION {new.dblslash}
-{ output.state before.all =
- 'skip$
- { after.dblslash 'output.state := }
- if$
-}
-
-FUNCTION {new.slash}
-{ output.state before.all =
- 'skip$
- { after.slash 'output.state := }
- if$
-}
-
-FUNCTION {new.colon}
-{ output.state before.all =
- 'skip$
- { after.colon 'output.state := }
- if$
-}
-
-FUNCTION {new.semicolon}
-{ output.state before.all =
- 'skip$
- { after.semicolon 'output.state := }
- if$
-}
-
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-
-FUNCTION {add.blank}
-{ " " * before.all 'output.state :=
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.sentence.checka}
-{ empty$
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.sentence.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.dblslash.checka}
-{ empty$
- 'skip$
- 'new.dblslash
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { "\BibEmph{" swap$ * "}" * }
- if$
-}
-
-FUNCTION {bracify}
-{ duplicate$ empty$
- { pop$ "{}" }
- { "{" swap$ * "}" * }
- if$
-}
-
-FUNCTION {enclose.square.brackets}
-{
- duplicate$ empty$
- { pop$ "" }
- { "[" swap$ * "]" * }
- if$
-}
-
-FUNCTION {enclose.round.brackets}
-{
- duplicate$ empty$
- { pop$ "" }
- { "(" swap$ * ")" * }
- if$
-}
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-
-FUNCTION {bbl.edby} % { "\bbledby{}" }
-{ curlanguage "english" =
- {"Ed.\ by"}
- { curlanguage "ukrainian" =
- {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
- { curlanguage "russian" =
- {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
- { curlanguage "german" =
- { "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.cmplr}
-{ curlanguage "english" =
- { "Compiler"}
- { curlanguage "german" =
- { "Hrsg." }
- { curlanguage "ukrainian" =
- {"{\cyr\CYRU\cyrk\cyrl.}"}
- { curlanguage "russian" =
- {"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.edition} % { "\bbledition{}" }
-{ curlanguage "english" =
- {"edition"}
- { curlanguage "ukrainian" =
- {"{\cyr\cyrv\cyri\cyrd.}"}
- { curlanguage "russian" =
- {"{\cyr\cyri\cyrz\cyrd.}"}
- { curlanguage "german" =
- {" {aus.}" } %%%% { "Aufl." } ??
- { curlanguage "italian" =
- {"edizione"}
- { curlanguage "french" =
- {"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
- if$}
- if$}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"Volume"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "\CYRT\cyro\cyrm" }
- { curlanguage "german" =
- {"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"Vol."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"\CYRT."}
- { curlanguage "german" =
- {"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
-{ curlanguage "english" =
- {"Issue"}
- { curlanguage "ukrainian" =
- {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
- { curlanguage "russian" =
- {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
- { curlanguage "german" =
- {"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
-{ curlanguage "english" =
- {"Iss."}
- { curlanguage "ukrainian" =
- {"\CYRV\cyri\cyrp."}
- { curlanguage "russian" =
- {"\CYRV\cyrery\cyrp."}
- { curlanguage "german" =
- {"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.of} % { "\bblof{}" }
-{ curlanguage "english" =
- {"of"}
- { curlanguage "german" =
- { "von" }
- { curlanguage "ukrainian" =
- { "{\cyr\cyrii\cyrz}" }
- { curlanguage "russian" =
- { "{\cyr\cyri\cyrz}" }
- {"language is not defined: " language "of" * * warning$ "of"}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.etal} % { "\bblof{}" }
-{ curlanguage "english" =
- {"et~al."}
- { curlanguage "german" =
- { "u.~a." }
- { curlanguage "ukrainian" =
- {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
- { curlanguage "russian" =
- {"{\cyr\cyri~\cyrd\cyrr.}"}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
- if$}
- if$}
- if$}
-if$}
-
-
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
-{ curlanguage "english" =
- {"Number"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "\CYRN\cyro\cyrm\cyre\cyrr" }
- { curlanguage "german" =
- {"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.number} % { "\bblnumber{}" }
-{ curlanguage "english" =
- {"number"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
- { curlanguage "german" =
- {"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.nr} % { "\bblno{}" }
-{ curlanguage "english" =
- {"no."}
- { curlanguage "italian" =
- { "no" }
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "{\cyr\textnumero}" }
- { curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.nnr} % { "\bblno{}" }
-{ curlanguage "english" =
- {"No."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "{\cyr\textnumero}" }
- { curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.in} % { "\bblin{}" }
-{ curlanguage "english" = curlanguage "german" = or
- {"in"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "{\cyr\cyrv}" }
- {"language is not defined: " language "in" * * warning$ "in"}
- if$}
-if$}
-
-FUNCTION {bbl.iin} % { "\bblIn{}" }
-{ curlanguage "english" = curlanguage "german" = or
- {"In"}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- { "\CYRV" }
- {"language is not defined: " language "iin" * * warning$ "In"}
- if$}
-if$}
-
-FUNCTION {bbl.pages} % { "\bblpp." }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"p."} %%% {"pp."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\cyrs.}"}
- { curlanguage "german" =
- {"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.page} % { "\bblp."
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"p."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\cyrs.}"}
- { curlanguage "german" =
- {"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.ppages}% { "\bblPp." }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"P."} %%%% { "Pp." }
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\CYRS.}"}
- { curlanguage "german" =
- {"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.ppage} % { "\bblP." }
-{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
- {"P."}
- { curlanguage "ukrainian" = curlanguage "russian" = or
- {"{\cyr\CYRS.}"}
- { curlanguage "german" =
- {"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.url}
-{ curlanguage "english" =
- {"Access mode"}
- { curlanguage "ukrainian" =
- { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyru}" }
- { curlanguage "russian" =
- { "{\CYRR\cyre\cyrzh\cyri\cyrm\ \cyrd\cyro\cyrs\cyrt\cyru\cyrp\cyra}" }
- { curlanguage "german" =
- { "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
- if$}
- if$}
- if$}
-if$}
-FUNCTION {bbl.urldate}
-{ curlanguage "english" =
- {"online; accessed"}
- { curlanguage "ukrainian" =
- { "{\cyrd\cyra\cyrt\cyra\ \cyrz\cyrv\cyre\cyrr\cyrn\cyre\cyrn\cyrn\cyrya}" }
- { curlanguage "russian" =
- { "{\cyrd\cyra\cyrt\cyra\ \cyro\cyrb\cyrr\cyra\cyrshch\cyre\cyrn\cyri\cyrya}" }
- { curlanguage "german" =
- { "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.techreport} % rename to bbl.techreport
-{ curlanguage "english" =
- { "Rep." }
- { curlanguage "german" =
- { "Bericht" }
- { curlanguage "russian" =
- { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.mathesis}
-{ curlanguage "english" =
- { "Master's thesis" }
- { curlanguage "german" =
- { "Diss.~Mag." }
- { curlanguage "russian" =
- { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
- "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
- "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.phdthesis}
-{ curlanguage "english" =
- { "Ph.\,D. thesis" }
- { curlanguage "german" =
- { "Diss.~Ph.\,D." }
- { curlanguage "russian" =
- { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
- "\cyrn\cyra\cyru\cyrk}" * }
- { curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
- if$}
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.docthesis}
-{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
- { curlanguage "german" =
- { "Diss.~Dr." }
- { curlanguage "russian" =
- { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
- "\cyrn\cyra\cyru\cyrk}" * }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type "t" change.case$ }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.nnoaddress}
-{ curlanguage "english" =
- { "S.\ l." }
- { curlanguage "russian" =
- { "{\cyr\CYRB.\ \cyrm.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
- if$}
-if$}
-
-FUNCTION {bbl.nopublisher}
-{ curlanguage "english" =
- { "s.\ n." }
- { curlanguage "russian" =
- { "{\cyr\cyrb.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
- if$}
-if$}
-
-FUNCTION {bbl.nnopublisher}
-{ curlanguage "english" =
- { "S.\ n." }
- { curlanguage "russian" =
- { "{\cyr\CYRB.\ \cyri.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
- if$}
-if$}
-
-FUNCTION {bbl.media.text}
-{ curlanguage "english" =
- { "Text" }
- { curlanguage "russian" = curlanguage "ukrainian" = or
- { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
- if$}
-if$}
-
-FUNCTION {bbl.media.eresource}
-{ curlanguage "english" =
- { "Electronic resource" }
- { curlanguage "russian" =
- { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { curlanguage "ukrainian" =
- { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.media.online}
-{ curlanguage "english" =
- { "Electronic resource online" }
- { curlanguage "russian" =
- { "{\cyr\CYREREV\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyrery\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyrn}" * }
- { curlanguage "ukrainian" =
- { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
- "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.chief}
-{ curlanguage "english" =
- { "chief" }
- { curlanguage "russian" =
- { "\cyrr\cyru\cyrk." }
- { curlanguage "ukrainian" =
- { "\cyrr\cyru\cyrk." }
- { "language is not defined: " language "chief" * * warning$ "chief" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.executor}
-{ curlanguage "english" =
- { "Executor" }
- { curlanguage "russian" =
- { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
- { curlanguage "ukrainian" =
- { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
- if$}
- if$}
-if$}
-
-FUNCTION {bbl.media}
-{ media "online" =
- { bbl.media.online }
- { media "eresource" =
- { bbl.media.eresource }
- { bbl.media.text }
- if$}
-if$}
-
-FUNCTION {bbl.req}
-{
- curlanguage "english" =
- { "req." }
- { curlanguage "german" =
- { "ang." }
- { curlanguage "russian" =
- { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {bbl.publ}
-{
- curlanguage "english" =
- { "publ." }
- { curlanguage "german" =
- { "ausg." }
- { curlanguage "russian" =
- { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {bbl.priority}
-{
- curlanguage "english" =
- { "priority" }
- { curlanguage "german" =
- { "Prioritat" }
- { curlanguage "russian" =
- { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
- if$
- }
- if$
- }
- if$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-
-FUNCTION {format.names}
-{
- #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
-}
-
-
-FUNCTION {format.names.rev}
-{
- 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "\CYRYA\cyrn\cyrv." }
- { month "Feb." =
- { "\CYRF\cyre\cyrv\cyrr." }
- { month "Mar." =
- { "\CYRM\cyra\cyrr\cyrt" }
- { month "Apr." =
- { "\CYRA\cyrp\cyrr." }
- { month "May" =
- { "\CYRM\cyra\cyrishrt" }
- { month "Jun." =
- { "\CYRI\cyryu\cyrn\cyrsftsn" }
- { month "Jul." =
- { "\CYRI\cyryu\cyrl\cyrsftsn" }
- { month "Aug." =
- { "\CYRA\cyrv\cyrg\." }
- { month "Sep." =
- { "\CYRS\cyre\cyrn\cyrt." }
- { month "Oct." =
- { "\CYRO\cyrk\cyrt." }
- { month "Nov." =
- { "\CYRN\cyro\cyrya\cyrb." }
- { month "Dec." =
- { "\CYRD\cyre\cyrk." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
- if$
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
-FUNCTION {output.address.publisher}
-{
- address empty$ location empty$ and
- 'skip$
- { address.or.location output
- publisher empty$
- 'skip$
- { new.colon }
- if$
- }
- if$
- publisher output
-}
-
-FUNCTION {output.address.publisher.date}
-{
- output.address.publisher
- format.date output
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem" write$
- cite$ bracify write$
- newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
- "\selectlanguageifdefined" curlanguage bracify * write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bbl.vvol volume tie.connect
- series empty$
- 'skip$
- { bbl.of space.word * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { series empty$
- { "there's a number but no series in " cite$ * warning$
- bbl.nnr }
- {
- %new.dblslash
- new.sentence
- series
- bbl.nr
- tie.or.space.connect}
- if$
- number tie.or.space.connect
- }
- if$
- }
- { "" }
- if$
-}
-
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-
-FUNCTION {convert.edition}
-{ edition
-}
-
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { convert.edition "l" change.case$ " " * bbl.edition * }
- { convert.edition "t" change.case$ " " * bbl.edition * }
- if$
- }
- if$
-}
-
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
-FUNCTION {format.pages}
-{ eid empty$
- {
- pages empty$
- { "" }
- { pages multi.page.check
- { bbl.ppages pages n.dashify tie.connect }
- { bbl.ppage pages tie.connect }
- if$
- }
- if$
- }
- { eid multi.page.check
- { bbl.ppages eid n.dashify tie.connect }
- { bbl.ppage eid tie.connect }
- if$
- }
- if$
-}
-
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
-FUNCTION {format.pages.page}
-{ eid empty$
- { pages empty$
- { pagetotal empty$
- { "" }
- { pagetotal bbl.pages tie.connect }
- if$
- }
- { format.pages}
- if$
- }
- { format.pages }
- if$
-}
-
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- number empty$
- 'skip$
- {
- ", no." number tie.or.space.connect *
- volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- }
- if$
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
- { ": " * pages n.dashify * }
- if$
- }
- if$
-}
-
-FUNCTION {format.volume}
-{ volume empty$
- { "" }
- { bbl.vvol volume tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.number}
-{ number empty$
- { "" }
- { bbl.nr number tie.or.space.connect }
- if$
-}
-
-
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-%%<!utf8> bbl.thesis.type "t" change.case$
-%%<utf8> bbl.thesis.type
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- bbl.thesis.type
- }
- if$
-}
-%%<!utf8> { "t" change.case$ }
-%%<utf8> { "" }
-
-FUNCTION {format.techreport.type}
-{ type empty$
- { bbl.techreport }
- 'type
- if$
-}
-
-FUNCTION {author.before}
-{
- author empty$
- 'skip$
- {author num.names$ #4 <
- {format.authors output
- new.sentence}
- 'skip$
- if$}
- if$
-}
-
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
-{
- author empty$
- 'skip$
- {format.authors.after output
- new.semicolon }
- if$
-}
-
-FUNCTION {bookauthor.after}
-{
- bookauthor empty$
- 'skip$
- {format.bookauthors.after output
- new.semicolon }
- if$
-}
-
-FUNCTION {editor.organization.after}
-{
- compiler empty$
- {}
- { format.compiler.after output
- new.semicolon
- }
- if$
- editor empty$
- {}
- { format.editors.after output
- new.semicolon
- }
- if$
- organization empty$
- {}
- {organization output
- new.semicolon
- }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- {
- "\BibUrl{ " url * "}" *
- urldate empty$
- { "" }
- { " (" bbl.urldate * ": " * urldate * ")" * }
- if$ *
- }
- if$
-}
-
-FUNCTION {output.url}
-{
- url empty$
- 'skip$
- { format.url output }
- if$
-}
-
-FUNCTION {format.annote}
-{ annote empty$
- { "" }
-{ after.sentence 'output.state :=
- "\BibAnnote{" annote add.period$ * "}" *
-}
- if$
-}
-
-FUNCTION {format.isbn}
-{
- isbn empty$
- { "" }
- { "ISBN:~\href{http://isbndb.com/search-all.html?kw=" isbn *
- "}{" * isbn * "}" *
- }
- if$
-}
-
-FUNCTION {add.doi} { }
-
-FUNCTION {add.media}
-{ duplicate$ empty$
- 'skip$
- { media empty$
- 'skip$
- { " " * bbl.media enclose.square.brackets * }
- if$
- }
- if$
-}
-
-
-FUNCTION {output.eprint.url}
-{
- format.url output
-}
-
-FUNCTION {add.number}
-{ duplicate$ empty$
- { "" }
- { bbl.nr swap$ tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.type.number}
-{
- type empty$
- { "" }
- {
- number empty$
- { "" }
- { type number tie.or.space.connect }
- if$
- }
- if$
-}
-
-FUNCTION {format.requestdate}
-{ requestdate empty$
- { "" }
- { bbl.req requestdate tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.publicationdate}
-{ publicationdate empty$
- { "" }
- { bbl.publ publicationdate tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.prioritydate}
-{ prioritydate empty$
- { "" }
- { bbl.priority prioritydate tie.or.space.connect }
- if$
-}
-
-FUNCTION {article}
-{
- output.bibitem
- author.before
- format.title add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
- new.block
- format.date "year" output.check
- new.block
- format.volume output
- format.number output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {book}
-{
- output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
- new.slash
- author.after
- editor.organization.after
- new.sentence
- format.number.series output
- new.block
- format.edition output
- new.block
- output.address.publisher
- format.date "year" output.check
- new.block
- format.bvolume output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {booklet}
-{
- output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
- new.slash
- author.after
- editor.organization.after
- new.block
- howpublished output
- address.or.location output
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {inbook}
-{
- output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- booktitle "booktitle" output.check
- new.slash
- bookauthor.after
- editor.organization.after
- new.block
- format.edition output
- new.block
- format.number.series output
- new.sentence
- output.address.publisher
- format.date "year" output.check
- new.block
- format.bvolume output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {incollection}
-{
- output.bibitem
- author.before
- new.sentence
- format.title add.doi add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- booktitle "booktitle" output.check
- new.slash
- editor.organization.after
- new.block
- output.address.publisher
- format.date "year" output.check
- new.block
- format.bvolume output
- format.number.series output
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{
- output.bibitem
- format.btitle add.doi add.media "title" output.check
- new.slash
- editor.organization.after
- new.block
- format.bvolume output
- format.number.series output
- output.address.publisher
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- author.before
- new.sentence
- format.title add.doi add.media "title" output.check
- new.slash
- author.after
- new.dblslash
- booktitle "booktitle" output.check
- new.slash
- editor.organization.after
- new.block
- format.bvolume output
- format.number.series output
- new.block
- output.address.publisher
- format.date "year" output.check
- new.block
- format.pages.page output
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull
- address output
- }
- if$
- }
- { format.authors output.nonnull }
- if$
- new.block
- format.btitle add.doi add.media "title" output.check
- author empty$
- { organization empty$
- {
- address new.block.checka
- address output
- }
- 'skip$
- if$
- }
- {
- organization address new.block.checkb
- organization output
- address output
- }
- if$
- format.edition output
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {patent}
-{
- output.bibitem
- title add.media output.nonnull
- new.colon
- format.type.number output
- add.blank
- address.or.location output
- new.colon
- ipc output
- new.slash
- format.authors.after "author" output.check
- add.blank
- authorcountry enclose.round.brackets output.nonnull
- new.semicolon
- holder output.nonnull
- new.semicolon
- credits output.nonnull
- new.block
- requestnumber add.number output
- new.semicolon
- format.requestdate output
- new.semicolon
- format.publicationdate output
- publication output
- new.semicolon
- format.prioritydate output
- prioritynumber output
- prioritycountry enclose.round.brackets output
- new.block
- note output
- new.sentence
- output.url
- format.annote output
- new.block
- pagetotal output
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title howpublished new.sentence.checkb
- format.title add.media output
- howpublished new.block.checka
- howpublished output
- new.block
- format.date "year" output.check
- new.block
- note output
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- author.before
- format.btitle "title" output.check
- new.slash
- author.after
- editor.organization.after
- new.block
- format.date "year" output.check
- new.block
- note "note" output.check
- new.sentence
- output.eprint.url
- format.annote output
- fin.entry
-}
-
-FUNCTION {online}
-{ output.bibitem
- format.authors output
- title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
- howpublished new.dblslash.checka
- howpublished output
- editor.organization.after
- new.sentence
- new.block
- output.address.publisher
- format.date output
- new.block
- output.eprint.url
- new.sentence
- note output
- format.annote output
- fin.entry
-}
-
-FUNCTION {internet} {online}
-FUNCTION {www} {online}
-FUNCTION {webpage} {online}
-FUNCTION {electronic} {online}
-FUNCTION {thesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.phdthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-%% format.techrep.type.number output.nonnull
-%% format.url output
-FUNCTION {report}
-{
- output.bibitem
- format.title add.doi add.media "title" output.check
- new.colon
- type "type" output.check
- new.colon
- number output
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.semicolon
- format.chief.after output % from editor field
- new.semicolon
- format.executor.after output % from author field
- new.block
- address.or.location output
- new.colon
- organization output
- format.date "year" output.check
- new.block % v.2
- format.pages.page output % v.2
- new.sentence % или new.block ?
- output.eprint.url
- new.block
- note output
- format.annote output
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.phdthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.mathesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-FUNCTION {docthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.docthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-%% format.url output
-
-FUNCTION {techreport}
-{
- output.bibitem
- format.title add.doi add.media "title" output.check
- new.colon
- format.techreport.type output
- new.colon
- number output
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.semicolon
- format.chief.after output % from editor field
- new.semicolon
- format.executor.after output % from author field
- new.block
- address.or.location output
- new.colon
- organization output
- format.date "year" output.check
- new.block % v.2
- format.pages.page output % v.2
- new.sentence % или new.block ?
- output.eprint.url
- new.block
- note output
- format.annote output
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
-
-MACRO {jan} {"Jan."}
-MACRO {feb} {"Feb."}
-MACRO {mar} {"Mar."}
-MACRO {apr} {"Apr."}
-MACRO {may} {"May"}
-MACRO {jun} {"Jun."}
-MACRO {jul} {"Jul."}
-MACRO {aug} {"Aug."}
-MACRO {sep} {"Sep."}
-MACRO {oct} {"Oct."}
-MACRO {nov} {"Nov."}
-MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
-MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
-MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
-MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
-MACRO {ip} {"Infrared Phys."}
-MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
-MACRO {nat} {"Nature"}
-MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
-MACRO {inc} {"Nuovo Cimento"}
-MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
-MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
-MACRO {st} {"Sky and Telesc."}
-MACRO {cjp} {"Czech. J. Phys."}
-MACRO {el} {"Europhys. Lett."}
-MACRO {en} {"Europhys. News"}
-MACRO {fujitsustj} {"FUJITSU Sci. Tech. J."}
-MACRO {ieeeed} {"IEEE Trans. Electron Devices"}
-MACRO {ieeeim} {"IEEE Trans. Instrum. Meas."}
-MACRO {ieeejqe} {"IEEE J. Quantum Electron."}
-MACRO {ieeem} {"IEEE Trans. Magn."}
-MACRO {ieeeptl} {"IEEE Photonic Technol. Lett."}
-MACRO {ieeeuffc} {"IEEE Trans. Ultrason., Ferroelect., Freq. Cont."}
-MACRO {jem} {"J. Electron. Mater."}
-MACRO {jes} {"J. Electrochem. Soc."}
-MACRO {jetplett} {"JETP Lett."}
-MACRO {jjap} {"Japan. J. Appl. Phys."}
-MACRO {jpha} {"J. Phys. A: Math. Gen."}
-MACRO {jphb} {"J. Phys. B: At. Mol. Opt. Phys."}
-MACRO {jphbold} {"J. Phys. B: At. Mol. Phys."}
-MACRO {jphc} {"J. Phys.: Condens. Matter"}
-MACRO {jphcold} {"J. Phys. C: Solid State Phys."}
-MACRO {jphd} {"J. Phys. D: Appl. Phys."}
-MACRO {jvsta} {"J. Vac. Sci. Technol. A"}
-MACRO {jvstb} {"J. Vac. Sci. Technol. B"}
-MACRO {me} {"Microelectron. Eng."}
-MACRO {necrd} {"NEC Res.{\&} Develop."}
-MACRO {pa} {"Physica A"}
-MACRO {pb} {"Physica B"}
-MACRO {pc} {"Physica C"}
-MACRO {pd} {"Physica D"}
-MACRO {procieee} {"Proc. IEEE"}
-MACRO {procspie} {"Proc. SPIE"}
-MACRO {pssa} {"Phys. Stat. Sol. A"}
-MACRO {pssb} {"Phys. Stat. Sol. B"}
-MACRO {rpp} {"Rep. Progr. Phys."}
-MACRO {sm} {"Synthet. Metal"}
-MACRO {sost} {"Solid State Technol."}
-MACRO {ss} {"Surf. Sci."}
-MACRO {ssc} {"Solid State Commun."}
-MACRO {sst} {"Semicond. Sci. Technol."}
-MACRO {suplatt} {"Superlatt. Microstr."}
-MACRO {sust} {"Supercond. Sci. Technol."}
-MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
-MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
-MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
-MACRO {sse} {"Solid-State Electron."}
-MACRO {pss} {"Phys. Sol. State"}
-MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
-MACRO {ufn} {"\CYRU\CYRF\CYRN"}
-MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
-
-READ
-
-
-FUNCTION {sortify}
-{ purify$
- "l" change.case$
-}
-
-%% =====================================
-%% This version from old Gost package
-%%<*!natbib>
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { " " * }
- 'skip$
- if$
- s nameptr
- "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
- format.name$ 't :=
- nameptr numnames = t "others" = and
- { "et al" * }
- %{ bbl.etal * }
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-%%</!natbib>
-%% This version from plainnat.bst
-%% It ignores second and subsequent authors but include year.
-%%<*natbib>
-%%</natbib>
-%% =====================================
-
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word % Removes "The " if any
- chop.word % Removes "An " if any
- chop.word % Removes "A " if any
- sortify
- #1 global.max$ substring$
-}
-
-%% =====================================
-%% This version from old gost package.
-%%
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- {
- author num.names$ #4 <
- {author sort.format.names }
- {title sort.format.title}
- if$
- }
- if$
-}
-%% This version from plainnat.bst
-%% =====================================
-
-FUNCTION {author.title.sort}
-{ author empty$
- { title empty$
- { key empty$
- { "to sort, need author, title, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { title sort.format.title }
- if$
- }
- {
- author num.names$ #4 <
- {author sort.format.names }
- {title sort.format.title}
- if$
- }
- if$
-}
-
-FUNCTION {presort}%#1
-{
- author.title.sort
- " "
- *
- year field.or.null sortify
- *
- " "
- *
- title field.or.null
- sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
-}
-
-
-ITERATE {presort}
-
-SORT
-
-
-STRINGS { longest.label }
-
-INTEGERS { number.label longest.label.width }
-
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
-
-EXECUTE {initialize.longest.label}
-
-FUNCTION {forward.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass}
-
-
-FUNCTION {begin.bib}
-{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
- "\def\selectlanguageifdefined#1{" write$ newline$
- "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
- "\else\selectlanguage{#1}\fi}" write$ newline$
- "\providecommand*{\href}[2]{{\small #2}}" write$ newline$
- "\providecommand*{\url}[1]{{\small #1}}" write$ newline$
- "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
- "\providecommand{\BibAnnote}[1]{}" write$ newline$
- "\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
- "\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
- "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
- "\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
- "\renewcommand{\newblock}{\ignorespaces}" write$ newline$
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-
-%%
-%% End of file `gost780s.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst
index 7e070613b9c..c5dbc01bb35 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2003.bst
@@ -6,28 +6,20 @@
%%
%% gost.dtx (with options: `bst,utf8,strict,eprint')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2003.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.1-2003 for bibliographic records.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,13 +272,6 @@ FUNCTION {or}
if$
}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -309,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -323,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"і"}
+ { curlanguage "russian" =
+ {"и"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -604,7 +702,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -618,20 +719,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -640,10 +744,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -652,12 +756,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -665,35 +769,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -702,7 +793,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -711,7 +802,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -720,7 +811,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -731,7 +822,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -743,7 +834,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -755,19 +846,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -789,7 +880,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -805,7 +896,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -821,7 +912,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -829,151 +920,385 @@ FUNCTION {bbl.priority}
if$
}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names}
-{
- #1 "{vv~}{ll}{~jj}{,~ff}" format.name$
-}
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names.rev}
-{
- 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal enclose.square.brackets * }
- { ", " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
if$
}
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
if$
}
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
if$
}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
if$
}
FUNCTION {format.month}
{ month empty$
{ "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
if$
}
FUNCTION {format.date}
-{ year empty$
+{ year.or.date.to.year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
@@ -982,51 +1307,153 @@ FUNCTION {format.date}
if$
}
{ month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
if$
}
if$
}
-FUNCTION {address.or.location}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{,~ff}"
+ format.name$
+}
+
+FUNCTION {fmt.names.three}
{
- address empty$
- { location }
- { address }
- if$
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{,~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
}
-FUNCTION {specialitycode.or.number}
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{,~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { " " bbl.and " " * * * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
{
- specialitycode empty$
- { number }
- { specialitycode }
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.first
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
+ if$
+}
+
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
if$
}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
FUNCTION {output.address.publisher}
{
address empty$
{
bbl.nnoaddress
publisher empty$
- { "~: " * bbl.nopublisher * enclose.square.brackets }
- { enclose.square.brackets "~: " * publisher * }
+ { "~: " * bbl.nopublisher * bracketise }
+ { bracketise "~: " * publisher * }
if$
}
{
address output
new.colon
publisher empty$
- { bbl.nopublisher enclose.square.brackets }
+ { bbl.nopublisher bracketise }
{ publisher }
if$
}
@@ -1034,88 +1461,26 @@ FUNCTION {output.address.publisher}
output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1144,30 +1509,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1184,38 +1525,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1236,15 +1545,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1307,6 +1607,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1327,78 +1640,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.first output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
- {format.authors.after output
- new.semicolon }
+ {author num.names$ #1 >
+ { author fmt.names.all output
+ new.semicolon
+ }
+ 'skip$
+ if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.all output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1449,7 +1745,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1459,9 +1755,13 @@ FUNCTION {add.media}
{ duplicate$ empty$
'skip$
{ media empty$
- { " " * bbl.media.text enclose.square.brackets * }
- { " " * bbl.media enclose.square.brackets * }
- if$
+ { type$ "online" =
+ { " " * bbl.media.online bracketise * }
+ { " " * bbl.media.text bracketise * }
+ if$
+ }
+ { " " * bbl.media bracketise * }
+ if$
}
if$
}
@@ -1541,14 +1841,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1565,18 +1866,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1594,15 +1898,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1614,22 +1921,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1647,18 +1957,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1675,14 +1988,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1693,22 +2013,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1728,10 +2052,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1748,7 +2074,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1761,6 +2087,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1768,9 +2096,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1785,7 +2113,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1798,13 +2126,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1815,13 +2145,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1832,12 +2165,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
- howpublished enclose.square.brackets output
- editor.organization.after
+ howpublished bracketise output
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1856,25 +2191,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1884,13 +2218,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1899,14 +2234,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1919,9 +2254,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1930,13 +2265,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1946,12 +2282,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1960,13 +2295,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1976,12 +2312,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -1990,13 +2325,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2006,7 +2342,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2014,7 +2349,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2023,14 +2358,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2055,96 +2390,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2187,47 +2522,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
@@ -2264,15 +2598,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2295,5 +2621,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2003.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst
index c9d7cd74a71..26b40f1c930 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2003s.bst
@@ -6,28 +6,20 @@
%%
%% gost.dtx (with options: `bst,utf8,strict,eprint,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2003s.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.1-2003 for bibliographic records.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,23 +272,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -319,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -333,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"і"}
+ { curlanguage "russian" =
+ {"и"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -614,7 +712,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -628,20 +729,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -650,10 +754,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -662,12 +766,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -675,35 +779,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -712,7 +803,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -721,7 +812,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -730,7 +821,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -741,7 +832,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -753,7 +844,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -765,19 +856,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -799,7 +890,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -815,7 +906,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -831,7 +922,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -839,151 +930,385 @@ FUNCTION {bbl.priority}
if$
}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names}
-{
- #1 "{vv~}{ll}{~jj}{,~ff}" format.name$
-}
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.names.rev}
-{
- 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal enclose.square.brackets * }
- { ", " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
if$
}
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
if$
}
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
if$
}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
if$
}
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
if$
}
FUNCTION {format.month}
{ month empty$
{ "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
if$
}
FUNCTION {format.date}
-{ year empty$
+{ year.or.date.to.year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
@@ -992,51 +1317,153 @@ FUNCTION {format.date}
if$
}
{ month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
if$
}
if$
}
-FUNCTION {address.or.location}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{,~ff}"
+ format.name$
+}
+
+FUNCTION {fmt.names.three}
{
- address empty$
- { location }
- { address }
- if$
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{,~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
}
-FUNCTION {specialitycode.or.number}
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{,~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " * bbl.etal bracketise *}
+ { " " bbl.and " " * * * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
{
- specialitycode empty$
- { number }
- { specialitycode }
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.first
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
if$
}
+
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
FUNCTION {output.address.publisher}
{
address empty$
{
bbl.nnoaddress
publisher empty$
- { "~: " * bbl.nopublisher * enclose.square.brackets }
- { enclose.square.brackets "~: " * publisher * }
+ { "~: " * bbl.nopublisher * bracketise }
+ { bracketise "~: " * publisher * }
if$
}
{
address output
new.colon
publisher empty$
- { bbl.nopublisher enclose.square.brackets }
+ { bbl.nopublisher bracketise }
{ publisher }
if$
}
@@ -1044,88 +1471,26 @@ FUNCTION {output.address.publisher}
output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1154,30 +1519,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1194,38 +1535,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1246,15 +1555,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1317,6 +1617,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1337,78 +1650,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.first output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
- {format.authors.after output
- new.semicolon }
+ {author num.names$ #1 >
+ { author fmt.names.all output
+ new.semicolon
+ }
+ 'skip$
+ if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.all output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1459,7 +1755,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1469,9 +1765,13 @@ FUNCTION {add.media}
{ duplicate$ empty$
'skip$
{ media empty$
- { " " * bbl.media.text enclose.square.brackets * }
- { " " * bbl.media enclose.square.brackets * }
- if$
+ { type$ "online" =
+ { " " * bbl.media.online bracketise * }
+ { " " * bbl.media.text bracketise * }
+ if$
+ }
+ { " " * bbl.media bracketise * }
+ if$
}
if$
}
@@ -1551,14 +1851,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1575,18 +1876,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1604,15 +1908,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1624,22 +1931,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1657,18 +1967,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1685,14 +1998,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1703,22 +2023,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1738,10 +2062,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1758,7 +2084,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1771,6 +2097,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1778,9 +2106,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1795,7 +2123,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1808,13 +2136,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1825,13 +2155,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1842,12 +2175,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
- howpublished enclose.square.brackets output
- editor.organization.after
+ howpublished bracketise output
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1866,25 +2201,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1894,13 +2228,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1909,14 +2244,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1929,9 +2264,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1940,13 +2275,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1956,12 +2292,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1970,13 +2305,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1986,12 +2322,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2000,13 +2335,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2016,7 +2352,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2024,7 +2359,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2033,14 +2368,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2065,96 +2400,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2197,48 +2532,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2325,10 +2658,9 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
+ }
if$
}
-
FUNCTION {presort}%#1
{
author.title.sort
@@ -2387,15 +2719,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2418,5 +2742,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2003s.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst
index 6b37bab8ee4..7aeeecb8ba1 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,utf8,modern,eprint')
+%% gost.dtx (with options: `bst,utf8,eprint')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2008.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,13 +272,6 @@ FUNCTION {or}
if$
}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -309,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -323,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"і"}
+ { curlanguage "russian" =
+ {"и"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -604,7 +702,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -618,20 +719,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -640,10 +744,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -652,12 +756,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -665,35 +769,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -702,7 +793,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -711,7 +802,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -720,7 +811,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -731,7 +822,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -743,7 +834,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -755,19 +846,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -789,7 +880,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -805,7 +896,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -821,7 +912,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -829,68 +920,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -903,145 +1388,57 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.three * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
- if$
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
if$
}
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1055,88 +1452,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1165,30 +1500,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1205,38 +1516,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1257,15 +1536,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1328,6 +1598,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1348,81 +1631,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1473,7 +1736,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1484,7 +1747,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1565,14 +1828,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1589,18 +1853,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1618,15 +1885,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1638,22 +1908,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1671,18 +1944,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1699,14 +1975,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1717,22 +2000,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1752,10 +2039,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1772,7 +2061,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1785,6 +2074,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1792,9 +2083,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1809,7 +2100,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1822,13 +2113,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1839,13 +2132,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1856,12 +2152,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1880,25 +2178,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1908,13 +2205,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1923,14 +2221,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1943,9 +2241,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1954,13 +2252,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1970,12 +2269,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1984,13 +2282,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2000,12 +2299,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2014,13 +2312,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2030,7 +2329,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2038,7 +2336,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2047,14 +2345,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2079,96 +2377,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2211,47 +2509,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
@@ -2288,15 +2585,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2319,5 +2608,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2008.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst
index 33c38ca1c03..087a0d7178a 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008l.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,utf8,modern,eprint,long')
+%% gost.dtx (with options: `bst,utf8,eprint,long')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2008l.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,13 +272,6 @@ FUNCTION {or}
if$
}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -309,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -323,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -331,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -339,25 +360,82 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -366,15 +444,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -385,7 +463,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -393,31 +471,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -426,13 +504,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -441,13 +519,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -456,13 +534,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -471,126 +549,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"і"}
+ { curlanguage "russian" =
+ {"и"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -604,7 +702,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -618,20 +719,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -640,10 +744,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -652,12 +756,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -665,35 +769,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -702,7 +793,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -711,7 +802,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -720,7 +811,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -731,7 +822,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -743,7 +834,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -755,19 +846,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -789,7 +880,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -805,7 +896,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -821,7 +912,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -829,68 +920,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -903,145 +1388,52 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ { author fmt.names.all }
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.all emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.all * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
+ { bbl.compiler "\ " * compiler fmt.names.all * }
if$
}
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
- if$
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1055,88 +1447,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1165,30 +1495,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1205,38 +1511,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1257,15 +1531,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1328,6 +1593,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1348,69 +1626,48 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
- { format.authors output
- new.sentence
+ { author fmt.names.all output.nonnull
+ %new.sentence
}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after} { }
-
-FUNCTION {bookauthor.after}
+FUNCTION {output.author.rest}
+{
+}
+
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1461,7 +1718,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1472,7 +1729,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1553,14 +1810,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1577,18 +1835,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1606,15 +1867,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1626,22 +1890,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1659,18 +1926,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1687,14 +1957,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1705,22 +1982,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
new.sentence
- format.title add.doi add.media "title" output.check
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1740,10 +2021,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1760,7 +2043,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1773,6 +2056,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1780,9 +2065,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1797,7 +2082,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1810,13 +2095,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1827,13 +2114,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1844,12 +2134,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1868,25 +2160,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1896,13 +2187,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1911,14 +2203,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1931,9 +2223,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1942,13 +2234,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1958,12 +2251,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1972,13 +2264,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1988,12 +2281,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2002,13 +2294,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2018,7 +2311,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2026,7 +2318,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2035,14 +2327,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2067,96 +2359,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2199,47 +2491,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
@@ -2276,15 +2567,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2307,5 +2590,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2008l.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst
index 73136bbe492..5a0633e8d19 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008ls.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,utf8,modern,eprint,longlist,sort')
+%% gost.dtx (with options: `bst,utf8,eprint,long,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2008ls.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,23 +272,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -319,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -333,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"і"}
+ { curlanguage "russian" =
+ {"и"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -614,7 +712,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -628,20 +729,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -650,10 +754,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -662,12 +766,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -675,35 +779,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -712,7 +803,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -721,7 +812,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -730,7 +821,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -741,7 +832,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -753,7 +844,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -765,19 +856,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -799,7 +890,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -815,7 +906,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -831,7 +922,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -839,68 +930,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -913,145 +1398,52 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ { author fmt.names.all }
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.all emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.all * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.all * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
+ { bbl.compiler "\ " * compiler fmt.names.all * }
if$
}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1065,88 +1457,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1175,30 +1505,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1215,38 +1521,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1267,15 +1541,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1338,6 +1603,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1358,81 +1636,48 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
- {author num.names$ #4 <
- {format.authors output
- new.sentence}
- 'skip$
- if$}
+ { author fmt.names.all output.nonnull
+ %new.sentence
+ }
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
- author empty$
- 'skip$
- {author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
- 'skip$
- if$}
- if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1483,7 +1728,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1494,7 +1739,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1575,14 +1820,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1599,18 +1845,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1628,15 +1877,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1648,22 +1900,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1681,18 +1936,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1709,14 +1967,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1727,22 +1992,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1762,10 +2031,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1782,7 +2053,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1795,6 +2066,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1802,9 +2075,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1819,7 +2092,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1832,13 +2105,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1849,13 +2124,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1866,12 +2144,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1890,25 +2170,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1918,13 +2197,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1933,14 +2213,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1953,9 +2233,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1964,13 +2244,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1980,12 +2261,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1994,13 +2274,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2010,12 +2291,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2024,13 +2304,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2040,7 +2321,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2048,7 +2328,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2057,14 +2337,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2089,96 +2369,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2221,48 +2501,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2349,10 +2627,9 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
+ }
if$
}
-
FUNCTION {presort}%#1
{
author.title.sort
@@ -2411,15 +2688,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2442,5 +2711,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2008ls.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst
index 296c8d812ac..1e451663086 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008n.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,utf8,modern,natbib,eprint')
+%% gost.dtx (with options: `bst,utf8,natbib,eprint')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2008n.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
%%-------------------------------------------------------------------
@@ -37,7 +29,7 @@
%% The form of the \bibitem entries is
%% \bibitem[Jones et al.(1990)]{key}...
%% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
-%% where the label part (in brackets) consists of the author names,
+%% where the label part [in brackets] consists of the author names,
%% as they should appear in the citation, with the year in parentheses following.
%% There must be no space before the opening parenthesis!
%% A full list of authors may also follow the year.
@@ -47,11 +39,11 @@
%% The \cite command functions as follows:
%% \citet{key} => Jones et al. (1990)
%% \citet*{key} => Jones, Baker, and Smith (1990)
-%% \cite{key} => (Jones et al., 1990)
-%% \cite*{key} => (Jones, Baker, and Smith, 1990)
-%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
-%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
-%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
+%% \cite{key} => (Jones et al., 1990)
+%% \cite*{key} => (Jones, Baker, and Smith, 1990)
+%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
+%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
+%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
%% \citeauthor{key} => Jones et al.
%% \citeauthor*{key} => Jones, Baker, and Smith
%% \citeyear{key} => 1990
@@ -93,15 +85,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -126,8 +118,23 @@ ENTRY
{}
{ label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -140,11 +147,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -169,7 +183,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -203,7 +217,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -282,23 +298,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -345,9 +344,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -359,7 +370,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.and} % { "\bbland{}" }
+FUNCTION {bbl.and}
{ curlanguage "english" =
- {"and"}
+ {"and"}
{ curlanguage "german" =
{ "und" }
{ curlanguage "ukrainian" =
{"і"}
{ curlanguage "russian" =
{"и"}
- {"language is not defined: " language "and" * * warning$ "and"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -654,7 +738,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -668,20 +755,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -690,10 +780,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -702,12 +792,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -715,35 +805,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -752,7 +829,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -761,7 +838,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -770,7 +847,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -781,7 +858,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -793,7 +870,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -805,19 +882,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -839,7 +916,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -855,7 +932,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -871,7 +948,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -879,32 +956,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -917,54 +1424,76 @@ FUNCTION {format.names}
while$
}
-FUNCTION {format.lab.names}
-{ 's :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
- s #1 "{vv~}{ll}" format.name$
- s num.names$ duplicate$
- #2 >
- %{ pop$ " et~al." * }
- { pop$ " " bbl.etal * * }
- { #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * s #2 "{vv~}{ll}" format.name$ * }
- { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
+}
+
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
+FUNCTION {fmt.names.brief}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
+ {
namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
+ {
+ numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -977,17 +1506,29 @@ FUNCTION {format.names.rev}
while$
}
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
+FUNCTION {format.names.key}
+{ 's :=
+ set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " bbl.etal * * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
if$
}
-FUNCTION {format.authors}
-{ author empty$
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
{ "" }
- { author format.names emphasize}
if$
}
@@ -998,10 +1539,9 @@ FUNCTION {author.key.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
-
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
@@ -1011,10 +1551,10 @@ FUNCTION {author.editor.key.label}
{ "{}" key * } %% Bug in bibtex8 ??
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1029,7 +1569,7 @@ FUNCTION {author.key.organization.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1044,14 +1584,12 @@ FUNCTION {editor.key.organization.label}
'key
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
-FUNCTION {calc.short.authors}
-{ type$ "book" =
- type$ "inbook" =
- or
+FUNCTION {calc.short.list}
+{ type$ "book" = type$ "inbook" = or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
@@ -1067,11 +1605,11 @@ FUNCTION {calc.short.authors}
}
FUNCTION {calc.label}
-{ calc.short.authors
+{ calc.short.list
short.list
"("
*
- year duplicate$ empty$
+ year.or.date.to.year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
@@ -1080,138 +1618,36 @@ FUNCTION {calc.label}
'label :=
}
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
+FUNCTION {calc.long.list} %% called 1 time only
+{ type$ "book" = type$ "inbook" = or
+ %'format.author.editor.brief
+ { author empty$
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
}
+ { author fmt.names.brief }
if$
}
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ { type$ "proceedings" =
+ %'format.editor.brief
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
+ }
+ %'format.author.brief
+ { author empty$
+ { "" }
+ { author fmt.names.brief }
+ if$
+ }
if$
}
if$
- extra.label * % new in v.1.2
}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1225,173 +1661,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
-FUNCTION {format.full.names}
-{'s :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- numnames #2 >
- curlanguage "english" =
- and
- { "," * }
- 'skip$
- if$
- t "others" =
- %t "~others" =
- %or
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * t * }
- { " " bbl.and " " * * * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.full}
-{ author empty$
- { "" }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.full}
-{ editor empty$
- { "" }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {author.editor.full}
-{ author empty$
- { editor empty$
- { "" }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.full
- { type$ "proceedings" =
- 'editor.full
- 'author.full
- if$
- }
- if$
-}
-
FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[" write$
- label write$
- ")" make.full.names duplicate$ short.list =
- { pop$ }
- { * }
- if$
- "]{" * write$
- cite$ write$
- "}" write$
-%% language empty$
-%% { "english" 'curlanguage := }
-%% {language 'curlanguage := }
-%% if$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
+{
+ set.language
+ newline$
+ "\bibitem" write$
+ label extra.label * ")" *
+ calc.long.list *
+ bracketise write$
+ cite$ bracify write$
+ newline$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
+
%% author.key.label
%% year parenthesify *
%% "; lbl:" label * *
-%% "; mfn:" make.full.names * *
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
+%% "; mfn:" calc.long.list * *
FUNCTION {format.bvolume}
{ volume empty$
@@ -1399,7 +1688,7 @@ FUNCTION {format.bvolume}
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1428,30 +1717,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1468,38 +1733,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1520,15 +1753,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1591,6 +1815,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1611,81 +1848,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1736,7 +1953,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1747,7 +1964,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1828,15 +2045,16 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
+ output.author.head
+ %new.sentence
author format.key output
- format.title add.media "title" output.check
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1853,19 +2071,22 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1883,16 +2104,19 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1904,23 +2128,26 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1938,19 +2165,22 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1968,14 +2198,21 @@ FUNCTION {proceedings}
{
output.bibitem
editor format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1986,23 +2223,27 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -2022,11 +2263,13 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
author format.key output
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -2043,7 +2286,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2056,6 +2299,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -2063,9 +2308,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
author format.key output
new.semicolon
holder output.nonnull
@@ -2081,7 +2326,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -2094,14 +2339,16 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
author format.key output
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2112,14 +2359,17 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle "title" output.check
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -2130,13 +2380,15 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
author format.key output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -2155,26 +2407,25 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2184,14 +2435,15 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -2200,14 +2452,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2220,10 +2472,10 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -2232,13 +2484,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2248,13 +2501,12 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -2263,13 +2515,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2279,13 +2532,12 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2294,13 +2546,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2310,7 +2563,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2318,7 +2570,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
new.colon
format.techreport.type output
@@ -2328,14 +2580,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2360,96 +2612,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2492,49 +2744,47 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
}
-
INTEGERS { seq.num }
FUNCTION {init.seq}
@@ -2608,7 +2858,7 @@ FUNCTION {reverse.pass}
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
- label extra.label * 'label :=
+ %%%label extra.label * 'label :=
}
REVERSE {reverse.pass}
@@ -2631,15 +2881,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2663,5 +2905,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2008n.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst
index a0fd79862f6..e5eb726239c 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008ns.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,utf8,modern,natbib,eprint,sort')
+%% gost.dtx (with options: `bst,utf8,natbib,eprint,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2008ns.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
%%-------------------------------------------------------------------
@@ -37,7 +29,7 @@
%% The form of the \bibitem entries is
%% \bibitem[Jones et al.(1990)]{key}...
%% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
-%% where the label part (in brackets) consists of the author names,
+%% where the label part [in brackets] consists of the author names,
%% as they should appear in the citation, with the year in parentheses following.
%% There must be no space before the opening parenthesis!
%% A full list of authors may also follow the year.
@@ -47,11 +39,11 @@
%% The \cite command functions as follows:
%% \citet{key} => Jones et al. (1990)
%% \citet*{key} => Jones, Baker, and Smith (1990)
-%% \cite{key} => (Jones et al., 1990)
-%% \cite*{key} => (Jones, Baker, and Smith, 1990)
-%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
-%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
-%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
+%% \cite{key} => (Jones et al., 1990)
+%% \cite*{key} => (Jones, Baker, and Smith, 1990)
+%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
+%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
+%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
%% \citeauthor{key} => Jones et al.
%% \citeauthor*{key} => Jones, Baker, and Smith
%% \citeyear{key} => 1990
@@ -93,15 +85,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -126,8 +118,23 @@ ENTRY
{}
{ label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -140,11 +147,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -169,7 +183,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -203,7 +217,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -282,23 +298,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -345,9 +344,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -359,7 +370,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -367,7 +378,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -375,25 +386,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -402,15 +480,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -421,7 +499,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -429,31 +507,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -462,13 +540,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -477,13 +555,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -492,13 +570,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -507,140 +585,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.and} % { "\bbland{}" }
+FUNCTION {bbl.and}
{ curlanguage "english" =
- {"and"}
+ {"and"}
{ curlanguage "german" =
{ "und" }
{ curlanguage "ukrainian" =
{"і"}
{ curlanguage "russian" =
{"и"}
- {"language is not defined: " language "and" * * warning$ "and"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -654,7 +738,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -668,20 +755,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -690,10 +780,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -702,12 +792,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -715,35 +805,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -752,7 +829,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -761,7 +838,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -770,7 +847,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -781,7 +858,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -793,7 +870,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -805,19 +882,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -839,7 +916,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -855,7 +932,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -871,7 +948,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -879,32 +956,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -917,54 +1424,76 @@ FUNCTION {format.names}
while$
}
-FUNCTION {format.lab.names}
-{ 's :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
- s #1 "{vv~}{ll}" format.name$
- s num.names$ duplicate$
- #2 >
- %{ pop$ " et~al." * }
- { pop$ " " bbl.etal * * }
- { #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * s #2 "{vv~}{ll}" format.name$ * }
- { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
+}
+
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+ { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+ { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+ { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
+FUNCTION {fmt.names.brief}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
+ {
namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
+ {
+ numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -977,17 +1506,29 @@ FUNCTION {format.names.rev}
while$
}
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
+FUNCTION {format.names.key}
+{ 's :=
+ set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " bbl.etal * * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
if$
}
-FUNCTION {format.authors}
-{ author empty$
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
{ "" }
- { author format.names emphasize}
if$
}
@@ -998,10 +1539,9 @@ FUNCTION {author.key.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
-
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
@@ -1011,10 +1551,10 @@ FUNCTION {author.editor.key.label}
{ "{}" key * } %% Bug in bibtex8 ??
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1029,7 +1569,7 @@ FUNCTION {author.key.organization.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -1044,14 +1584,12 @@ FUNCTION {editor.key.organization.label}
'key
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
-FUNCTION {calc.short.authors}
-{ type$ "book" =
- type$ "inbook" =
- or
+FUNCTION {calc.short.list}
+{ type$ "book" = type$ "inbook" = or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
@@ -1067,11 +1605,11 @@ FUNCTION {calc.short.authors}
}
FUNCTION {calc.label}
-{ calc.short.authors
+{ calc.short.list
short.list
"("
*
- year duplicate$ empty$
+ year.or.date.to.year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
@@ -1080,138 +1618,36 @@ FUNCTION {calc.label}
'label :=
}
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
+FUNCTION {calc.long.list} %% called 1 time only
+{ type$ "book" = type$ "inbook" = or
+ %'format.author.editor.brief
+ { author empty$
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
}
+ { author fmt.names.brief }
if$
}
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ { type$ "proceedings" =
+ %'format.editor.brief
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
+ }
+ %'format.author.brief
+ { author empty$
+ { "" }
+ { author fmt.names.brief }
+ if$
+ }
if$
}
if$
- extra.label * % new in v.1.2
-}
-
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1225,173 +1661,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
-FUNCTION {format.full.names}
-{'s :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- numnames #2 >
- curlanguage "english" =
- and
- { "," * }
- 'skip$
- if$
- t "others" =
- %t "~others" =
- %or
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * t * }
- { " " bbl.and " " * * * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.full}
-{ author empty$
- { "" }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.full}
-{ editor empty$
- { "" }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {author.editor.full}
-{ author empty$
- { editor empty$
- { "" }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.full
- { type$ "proceedings" =
- 'editor.full
- 'author.full
- if$
- }
- if$
-}
-
FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[" write$
- label write$
- ")" make.full.names duplicate$ short.list =
- { pop$ }
- { * }
- if$
- "]{" * write$
- cite$ write$
- "}" write$
-%% language empty$
-%% { "english" 'curlanguage := }
-%% {language 'curlanguage := }
-%% if$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
+{
+ set.language
+ newline$
+ "\bibitem" write$
+ label extra.label * ")" *
+ calc.long.list *
+ bracketise write$
+ cite$ bracify write$
+ newline$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
+
%% author.key.label
%% year parenthesify *
%% "; lbl:" label * *
-%% "; mfn:" make.full.names * *
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
+%% "; mfn:" calc.long.list * *
FUNCTION {format.bvolume}
{ volume empty$
@@ -1399,7 +1688,7 @@ FUNCTION {format.bvolume}
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1428,30 +1717,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1468,38 +1733,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1520,15 +1753,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1591,6 +1815,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1611,81 +1848,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1736,7 +1953,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1747,7 +1964,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1828,15 +2045,16 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
+ output.author.head
+ %new.sentence
author format.key output
- format.title add.media "title" output.check
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1853,19 +2071,22 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1883,16 +2104,19 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1904,23 +2128,26 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1938,19 +2165,22 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1968,14 +2198,21 @@ FUNCTION {proceedings}
{
output.bibitem
editor format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1986,23 +2223,27 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -2022,11 +2263,13 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
author format.key output
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -2043,7 +2286,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2056,6 +2299,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -2063,9 +2308,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
author format.key output
new.semicolon
holder output.nonnull
@@ -2081,7 +2326,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -2094,14 +2339,16 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
author format.key output
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -2112,14 +2359,17 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
author format.key output
- format.btitle "title" output.check
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -2130,13 +2380,15 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
author format.key output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -2155,26 +2407,25 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2184,14 +2435,15 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -2200,14 +2452,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2220,10 +2472,10 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -2232,13 +2484,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2248,13 +2501,12 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -2263,13 +2515,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2279,13 +2532,12 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2294,13 +2546,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2310,7 +2563,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2318,7 +2570,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
title format.key output
new.colon
format.techreport.type output
@@ -2328,14 +2580,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2360,96 +2612,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2492,48 +2744,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2615,40 +2865,7 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
- if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
+ }
if$
}
@@ -2668,7 +2885,6 @@ FUNCTION {editor.organization.sort}
{ editor sort.format.names }
if$
}
-
FUNCTION {presort}%#2
{ calc.label
label sortify
@@ -2742,7 +2958,7 @@ FUNCTION {reverse.pass}
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
- label extra.label * 'label :=
+ %%%label extra.label * 'label :=
}
REVERSE {reverse.pass}
@@ -2765,15 +2981,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2797,5 +3005,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2008ns.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst b/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst
index 33ccfa26718..bc48ca87210 100644
--- a/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst
+++ b/Master/texmf-dist/bibtex/bst/gost/ugost2008s.bst
@@ -4,30 +4,22 @@
%%
%% The original source files were:
%%
-%% gost.dtx (with options: `bst,utf8,modern,eprint,sort')
+%% gost.dtx (with options: `bst,utf8,eprint,sort')
%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This file has the LPPL maintenance status "maintained".
-%% Maintained by Igor A. Kotelnikov.
+%% For the copyright see the source file.
%%
-%% Current version: 1.2j, 2017.01.12
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ugost2008s.bst.
%%
-%% Please, send bug report via e-mail:
-%% kia999 at mail dot ru <Igor Kotelnikov>
-%% or
-%% polyama at yahoo dot com <Maksym Polyakov>
+%% For distribution of the original source see the terms
+%% for copying and modification in the file gost.dtx.
%%
-
-
-
-%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
%% This bibstyle attempts to format bibliography according to
%% GOST 7.0.5-2008 for bibliographic reference.
@@ -67,15 +59,15 @@ ENTRY
language
langid % new in v1.2c
booklanguage
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -100,8 +92,23 @@ ENTRY
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -114,11 +121,18 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -143,7 +157,7 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
@@ -177,7 +191,9 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -256,23 +272,6 @@ FUNCTION {or}
if$
}
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
FUNCTION {new.block.checka}
{ empty$
'skip$
@@ -319,9 +318,21 @@ FUNCTION {field.or.null}
if$
}
+%%
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -333,7 +344,7 @@ FUNCTION {bracify}
if$
}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -341,7 +352,7 @@ FUNCTION {enclose.square.brackets}
if$
}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -349,25 +360,92 @@ FUNCTION {enclose.round.brackets}
if$
}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
- {"Під ред."}
+ {"під ред."}
{ curlanguage "russian" =
- {"Под ред."}
+ {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -376,15 +454,15 @@ FUNCTION {bbl.cmplr}
{"{Укл.}"}
{ curlanguage "russian" =
{"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
{"{вид.}"}
{ curlanguage "russian" =
@@ -395,7 +473,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -403,31 +481,31 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
if$}
if$}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -436,13 +514,13 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
{"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -451,13 +529,13 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
{"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -466,13 +544,13 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ "{із}" }
{ curlanguage "russian" =
{ "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -481,126 +559,146 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{"{та~ін.}"}
{ curlanguage "russian" =
{"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
if$}
+FUNCTION {bbl.and}
+{ curlanguage "english" =
+ {"and"}
+ { curlanguage "german" =
+ { "und" }
+ { curlanguage "ukrainian" =
+ {"і"}
+ { curlanguage "russian" =
+ {"и"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
+ if$}
+ if$}
+ if$}
+if$}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{ "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
{"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
@@ -614,7 +712,10 @@ FUNCTION {bbl.url}
{ "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -628,20 +729,23 @@ FUNCTION {bbl.urldate}
{ "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
{ "Bericht" }
{ curlanguage "russian" =
{ "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -650,10 +754,10 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
- { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+ { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -662,12 +766,12 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
- { "{дис.\ \ldots\ канд. наук}" }
+ { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -675,35 +779,22 @@ if$}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
{ "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
- { type }
- if$}
- if$}
-if$}
-
FUNCTION {bbl.nnoaddress}
{ curlanguage "english" =
{ "S.\ l." }
{ curlanguage "russian" =
{ "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -712,7 +803,7 @@ FUNCTION {bbl.nopublisher}
{ "s.\ n." }
{ curlanguage "russian" =
{ "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -721,7 +812,7 @@ FUNCTION {bbl.nnopublisher}
{ "S.\ n." }
{ curlanguage "russian" =
{ "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -730,7 +821,7 @@ FUNCTION {bbl.media.text}
{ "Text" }
{ curlanguage "russian" = curlanguage "ukrainian" = or
{ "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -741,7 +832,7 @@ FUNCTION {bbl.media.eresource}
{ "{Электронный ресурс}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -753,7 +844,7 @@ FUNCTION {bbl.media.online}
{ "{Электронный ресурс онлайн}" }
{ curlanguage "ukrainian" =
{ "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -765,19 +856,19 @@ FUNCTION {bbl.chief}
{ "{рук.}" }
{ curlanguage "ukrainian" =
{ "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
{ "{исполн.}" }
{ curlanguage "ukrainian" =
{ "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -799,7 +890,7 @@ FUNCTION {bbl.req}
{ "ang." }
{ curlanguage "russian" =
{ "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -815,7 +906,7 @@ FUNCTION {bbl.publ}
{ "ausg." }
{ curlanguage "russian" =
{ "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -831,7 +922,7 @@ FUNCTION {bbl.priority}
{ "Prioritat" }
{ curlanguage "russian" =
{ "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -839,68 +930,462 @@ FUNCTION {bbl.priority}
if$
}
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+ {"Січ."} % Січень
+ { curlanguage "russian" =
+ { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+ {"Лют."} % Лютий
+ { curlanguage "russian" =
+ { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+ {"Бер."} % Березень
+ { curlanguage "russian" =
+ { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+ {"Квіт."} % квітень
+ { curlanguage "russian" =
+ { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+ {"Трав."} % травень
+ { curlanguage "russian" =
+ { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+ {"Чер."} % червень
+ { curlanguage "russian" =
+ { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+ {"Липень"} %Липень
+ { curlanguage "russian" =
+ { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+ {"Серпень"} % Серпень
+ { curlanguage "russian" =
+ { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+ {"Вер."} % вересень
+ { curlanguage "russian" =
+ { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+ {"Жов."} % жовтень
+ { curlanguage "russian" =
+ { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+ {"Лис."} % листопад
+ { curlanguage "russian" =
+ { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+ {"Груд."} % грудень
+ { curlanguage "russian" =
+ { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+ {"ArXiv"}
+ { curlanguage "russian" =
+ { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+ {"JSTOR"}
+ { curlanguage "russian" =
+ { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+ {"PubMed"}
+ { curlanguage "russian" =
+ { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+ {"Google Книги"}
+ { curlanguage "russian" =
+ { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+ {"Handle.Net"}
+ { curlanguage "russian" =
+ { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {year.or.date.to.year}
+{
+ year empty$
+ {
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+FUNCTION {format.date}
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
+}
+
INTEGERS { nameptr namesleft numnames }
+FUNCTION {fmt.names.first}
+{ #1
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
-FUNCTION {format.names}
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
- nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- { t "others" =
- t "~others" =
- or
- { " " * bbl.etal * }
- { ", " * t * }
- if$
- }
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+ { " " * bbl.etal * }
+ { ", " * t * }
if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
while$
}
-
-FUNCTION {format.names.rev}
-{
- 's :=
+FUNCTION {fmt.names.all}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
- "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+ "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
{ " " * bbl.etal * }
- { ", " * t * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -913,145 +1398,57 @@ FUNCTION {format.names.rev}
while$
}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names emphasize}
- if$
-}
-
-
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+ {author num.names$ #4 <
+ {
+ author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
if$
}
-FUNCTION {format.bookauthors.after}
+FUNCTION {format.bookauthors.rest}
{ bookauthor empty$
{ "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
+ { bookauthor fmt.names.three emphasize }
if$
}
-FUNCTION {format.editors.after}
+FUNCTION {format.editors.rest}
{ editor empty$
{ "" }
- { bbl.edby "\ " * editor format.names.rev * }
+ { bbl.edby "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.chief.after}
+FUNCTION {format.chief.rest}
{ editor empty$
{ "" }
- { bbl.chief "\ " * editor format.names.rev * }
+ { bbl.chief "\ " * editor fmt.names.three * }
if$
}
-FUNCTION {format.executor.after}
+FUNCTION {format.executor.rest}
{ author empty$
{ "" }
- { bbl.executor ": " * author format.names.rev * }
+ { bbl.executor ": " * author fmt.names.three * }
if$
}
-FUNCTION {format.compiler.after}
+FUNCTION {format.compiler.rest}
{ compiler empty$
{ "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title }
- if$
-}
-
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
- { "Янв." }
- { month "Feb." =
- { "Фев." }
- { month "Mar." =
- { "Март" }
- { month "Apr." =
- { "Апр." }
- { month "May" =
- { "Май" }
- { month "Jun." =
- { "Июнь" }
- { month "Jul." =
- { "Июль" }
- { month "Aug." =
- { "Авг." }
- { month "Sep." =
- { "Сент." }
- { month "Oct." =
- { "Окт." }
- { month "Nov." =
- { "Нояб." }
- { month "Dec." =
- { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
- }
- if$
- }
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
- if$
- }
+ { bbl.compiler "\ " * compiler fmt.names.three * }
if$
}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
-}
-
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -1065,88 +1462,26 @@ FUNCTION {output.address.publisher}
if$
publisher output
}
-
-
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -1175,30 +1510,6 @@ FUNCTION {format.number.series}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
FUNCTION {convert.edition}
{ edition
@@ -1215,38 +1526,6 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -1267,15 +1546,6 @@ FUNCTION {format.pages}
if$
}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -1338,6 +1608,19 @@ FUNCTION {empty.misc.check}
if$
}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+ { type }
+ if$}
+ if$}
+if$}
+
%%<!utf8> bbl.thesis.type "t" change.case$
%%<utf8> bbl.thesis.type
FUNCTION {format.thesis.type}
@@ -1358,81 +1641,61 @@ FUNCTION {format.techreport.type}
if$
}
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+ author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
if$
}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-FUNCTION {author.after}
+FUNCTION {output.author.rest}
{
author empty$
'skip$
{author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+ bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -1483,7 +1746,7 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
@@ -1494,7 +1757,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -1575,14 +1838,15 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
- format.title add.media "title" output.check
+ output.author.head
+ %new.sentence
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -1599,18 +1863,21 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1628,15 +1895,18 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
- format.title add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1648,22 +1918,25 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
- format.btitle add.doi add.media "title" output.check
+ output.author.head
+ new.sentence
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -1681,18 +1954,21 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -1709,14 +1985,21 @@ FUNCTION {incollection}
FUNCTION {proceedings}
{
output.bibitem
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -1727,22 +2010,26 @@ FUNCTION {proceedings}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
new.block
- output.address.publisher
- format.date "year" output.check
- new.block
format.pages.page output
new.block
note output
@@ -1762,10 +2049,12 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -1782,7 +2071,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1795,6 +2084,8 @@ FUNCTION {patent}
{
output.bibitem
title add.media output.nonnull
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -1802,9 +2093,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
new.semicolon
holder output.nonnull
new.semicolon
@@ -1819,7 +2110,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -1832,13 +2123,15 @@ FUNCTION {patent}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -1849,13 +2142,16 @@ FUNCTION {misc}
FUNCTION {unpublished}
{ output.bibitem
- author.before
- format.btitle "title" output.check
+ output.author.head
+ new.sentence
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -1866,12 +2162,14 @@ FUNCTION {unpublished}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
howpublished new.dblslash.checka
howpublished output
- editor.organization.after
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -1890,25 +2188,24 @@ FUNCTION {webpage} {online}
FUNCTION {electronic} {online}
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
bbl.phdthesis format.thesis.type output.nonnull
new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1918,13 +2215,14 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-
%% format.techrep.type.number output.nonnull
%% format.url output
FUNCTION {report}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
type "type" output.check
new.colon
@@ -1933,14 +2231,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -1953,9 +2251,9 @@ FUNCTION {report}
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -1964,13 +2262,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -1980,12 +2279,11 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -1994,13 +2292,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2010,12 +2309,11 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -2024,13 +2322,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -2040,7 +2339,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-
FUNCTION {conference} { inproceedings }
%% format.url output
@@ -2048,7 +2346,7 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
format.techreport.type output
new.colon
@@ -2057,14 +2355,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -2089,96 +2387,96 @@ MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
MACRO {cjp} {"Czech. J. Phys."}
MACRO {el} {"Europhys. Lett."}
@@ -2221,48 +2519,46 @@ MACRO {sst} {"Semicond. Sci. Technol."}
MACRO {suplatt} {"Superlatt. Microstr."}
MACRO {sust} {"Supercond. Sci. Technol."}
MACRO {znat} {"Z. Naturforsch."}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
MACRO {sse} {"Solid-State Electron."}
MACRO {pss} {"Phys. Sol. State"}
MACRO {nl} {"Nano Lett."}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
READ
-
FUNCTION {sortify}
{ purify$
}
-
%% =====================================
%% This version from old Gost package
%%<*!natbib>
@@ -2349,10 +2645,9 @@ FUNCTION {author.title.sort}
{author sort.format.names }
{title sort.format.title}
if$
- }
+ }
if$
}
-
FUNCTION {presort}%#1
{
author.title.sort
@@ -2411,15 +2706,7 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
@@ -2442,5 +2729,6 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
+\endinput
%%
%% End of file `ugost2008s.bst'.
diff --git a/Master/texmf-dist/doc/bibtex/gost/README b/Master/texmf-dist/doc/bibtex/gost/README
new file mode 100644
index 00000000000..c3d90383353
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/README
@@ -0,0 +1,28 @@
+-------------------------------------------------------------------
+GOST is a bundle of BibTEX styles to format references according to
+the State Standards on information, librarianship and publishing
+(GOST) issued by The Russian Federation and Interstate Committee
+of former USSR States.
+
+Current version is 1.2k, 2020.12.25.
+
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+E-mail: kia999@mail.ru
+-------------------------------------------------------------------
+
+## Version history
+
+### Version 1.2k (2020.12.25)
+1. All stuff is now generated from `gost.dtx`.
+
+2. Limited support of the `date` field added.
+
+3. Formatting of `doi` field updated: `http://dx.doi.org` changed
+to `https://doi.org`.
+
+4. Documentation and examples update (thanks to Leonid Sinev).
+
+5. Formatting of @inproceedings and @proceedings improved.
+
diff --git a/Master/texmf-dist/doc/bibtex/gost/README.md b/Master/texmf-dist/doc/bibtex/gost/README.md
index 6a70110f211..3c94a3c806b 100644
--- a/Master/texmf-dist/doc/bibtex/gost/README.md
+++ b/Master/texmf-dist/doc/bibtex/gost/README.md
@@ -1,315 +1,317 @@
-GOST is a bundle of BibTeX styles designed to match the State Standards (GOST)
-on information, librarianship and publishing issued by The Russian Federation
-and Interstate Committee of former USSR States.
-
-It may be distributed and/or modified under the conditions of the LaTeX
-Project Public License, either version 1.3 of this license or (at your
-option) any later version. The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
-
-The System of Standards includes:
-GOST 7.0.5-2008 Bibliographic reference.
- General requirements and rules of making.
+-------------------------------------------------------------------
+GOST is a bundle of BibTEX styles to format references according to
+the State Standards on information, librarianship and publishing
+(GOST) issued by The Russian Federation and Interstate Committee
+of former USSR States.
+
+Current version is 1.2k, 2020.12.25.
+
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+E-mail: kia999@mail.ru
+-------------------------------------------------------------------
+The System of State Standards includes:
+```
+GOST 7.80 -2000 Bibliographic record.
+ Heading. General requirements and rules.
+GOST 7.83 -2001 Electronic editions. Basic types and imprint.
GOST 7.1 -2003 Bibliographic record.
Bibliographic description.
General requirements and rules.
-GOST 7.80 -2000 Bibliographic record.
- Heading. General requirements and rules.
GOST 7.11 -2004 Bibliographic description and references.
- Rules for the abbreviation of words and word combinations
- in foreign European languages.
-GOST 7.83 -2001 Electronic editions. Basic types and imprint.
+ Rules for the abbreviation of words and word
+ combinations in foreign European languages.
+GOST 7.0.5-2008 Bibliographic reference.
+ General requirements and rules of making.
+```
Etc.
-GOST comprises 16 BibTeX styles to format bibliography in English, Russian
-and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both 8-bit
-and Unicode (UTF-8) versions of each BibTeX style, in each case offering
-a choice of sorted and unsorted. Further, 2 more styles, |gost780| and
-|gost780s| styles (not conforming to effective standards) are retained
-for backwards compatibility.
-
-All BibTeX styles are derived from same master file |gost.dtx| by applying
-different set of options as shown in the table below.
-
-------------------------------------------------------------------------
- Style | utf8 | strict | modern | eprint | long | sort | natbib
-------------------------------------------------------------------------
- gost780 | | | | | | |
- gost780s | | | | | | + |
-------------------------------------------------------------------------
- gost2003 | | + | | + | | |
- gost2003s | | + | | + | | + |
- gost2008 | | | + | + | | |
- gost2008n | | | + | + | | | +
- gost2008l | | | + | + | + | |
- gost2008s | | | + | + | | + |
- gost2008ns | | | + | + | | + | +
- gost2008ls | | | + | + | + | + |
-------------------------------------------------------------------------
- ugost2003 | + | + | | + | | |
- ugost2003s | + | + | | + | | + |
- ugost2008 | + | | + | + | | |
- ugost2008n | + | | + | + | | | +
- ugost2008l | + | | + | + | + | |
- ugost2008s | + | | + | + | | + |
- ugost2008ns | + | | + | + | | + | +
- ugost2008ls | + | | + | + | + | + |
-------------------------------------------------------------------------
- Style | utf8 | strict | modern | eprint | long | sort | natbib
-------------------------------------------------------------------------
-
-|Gost2008| style is recommended for most applications. It corresponds to the
+Currently, GOST contains 16 BibTeX styles to format bibliography in English,
+Russian and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both
+8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case
+offering a choice of sorted and unsorted.
+
+All styles in the GOST bundle are derived from single master file
+`gost.dtx` by applying different set of options as shown in the table below.
+
+ Style | utf8 | strict | eprint | long | sort | natbib
+:--------------|:----:|:------:|:------:|:----:|:----:|:------:
+ gost2003 | | + | + | | |
+ gost2003s | | + | + | | + |
+ gost2008 | | | + | | |
+ gost2008n | | | + | | | +
+ gost2008l | | | + | + | |
+ gost2008s | | | + | | + |
+ gost2008ns | | | + | | + | +
+ gost2008ls | | | + | + | + |
+ ugost2003 | + | + | + | | |
+ ugost2003s | + | + | + | | + |
+ ugost2008 | + | | + | | |
+ ugost2008n | + | | + | | | +
+ ugost2008l | + | | + | + | |
+ ugost2008s | + | | + | | + |
+ ugost2008ns | + | | + | | + | +
+ ugost2008ls | + | | + | + | + |
+ **Style** |**utf8**|**strict**|**eprint**|**long**|**sort**|**natbib**
+
+`Gost2008` style is recommended for most applications. It corresponds to the
currently effective Standard 7.0.5-2008. Librarians should use the style
-|gost2003| instead of |gost2008| to compile a library catalog to meet the
+`gost2003` instead of `gost2008` to compile a library catalog to meet the
Standard 7.1-2003. Use of other styles is best explained through
the meaning of options used to compile those styles from the master source.
-Two styles, |gost780| and |gost780s|, generated without |modern| and
-|strict| options, are retained for backward compatibility. They do not
-conform the Standards 7.0.5-2008 and 7.1-2003 cited above.
-
-The |strict| option provides conformance to the Standard 7.1-2003. The
-styles compiled with that option bear the name |gost2003| with possible
-suffixes |s|, |l|, |n| as explained below. These styles are intended
+The `strict` option provides conformance to the Standard 7.1-2003. The
+bibstyles compiled with that option bear the name `gost2003` with possible
+suffixes `s`, `l`, `n` as explained below. These styles are intended
primarily for the librarians who compose a library catalog.
-The |modern| option meets the Standard 7.0.5-2008 which can be thought
-off as a relaxed version of the Standard 7.1-2003. The styles compiled with
-that option bear the name |gost2008| with possible suffixes |s|, |l|, |n|.
-The |strict| option has precedence over |modern| so that a style compiled
-with both options will resemble mainly the |gost2003| style rather than
-|gost2008|.
+The bibstyles compiled without `strict` option meets the Standard 7.0.5-2008
+which can be thought off as a relaxed version of the Standards 7.1-2003. These
+bibstyles bear the name `gost2008` with possible suffixes `s`, `l`, `n`.
If the number of authors exceeds 4, modern styles cut the list of authors
-to at most 4 persons as prescibed by the Standards. The option
-|long| overrides this rule to provide backward compatibility with the
-package disser by Stanislab Kruchinin. Two styles, |gost2008l| and
-|gost2008ls|, compiled with the option |long| mimic behavior of the styles
-|gost705| and |gost705s| from the disser package. Major
-effect of the |long| option is that the list of authors always
+to at most 4 persons as prescibed by the Standards. Option
+`long` overrides this rule to provide backward compatibility with the
+package disser by Stanislab Kruchinin. Two styles, `gost2008l` and
+`gost2008ls`, compiled with the option `long` mimic behavior of the styles
+`gost705` and `gost705s` from the disser package. Major
+effect of the `long` option is that the list of authors always
precedes book or article title no matter how long is it.
-Modern styles compiled without |long| place long list of authors behind
-the title. The names of styles compiled with the option |long| has the
-suffix |l|. Recall that those styles do not conform effective Standards and
+Modern styles compiled without `long` place long list of authors behind
+the title. The names of styles compiled with the option `long` has the
+suffix `l`. Recall that those styles do not conform effective Standards and
their use is discouraged.
-The |eprint| option enables formatting electronic publications. In particular,
-it enables |eprint|, |eprinttype|, |eprintclass|, and |doi| fields for a
-bibliographic entry. The styles, generated without the |eprint| option,
-just ignore these fields. Starting from the version 1.2 of the GOST package,
-all modern styles are compiled with this option included, and therefore the
-suffix |e| which designated this option in earlier versions is not appended
-to the name of style any more.
+The `eprint` option enables formatting electronic publications. In particular,
+it enables `eprint`, `eprinttype`, `eprintclass`, and `doi` fields for a
+bibliographic entry. The styles generated without the `eprint` option,
+ignore the these fields. Starting from the
+version 1.2 of the GOST package, all modern styles are compiled with this
+option included, and the suffix `e` which designated
+this option in earlier versions is not appended to the name of style
+any more.
-The |natbib| option provides compatibility with the |natbib| package. The names
-of styles compiled with the option |natbib| bear the suffix |n|. Currently
-4 styles with that option are available for public use.
+The `natbib` option provides compatibility with the `natbib` package. The names
+of styles compiled with the option `natbib` bear the suffix `n`. Currently
+4 styles with that option are available for beta testing.
-The |sort| option enables sorting bibliographic references by author names
-and titles of references. The names of styles compiled with the option |sort|
-bear the suffix |s|. Sorting does not work as expected for databases in
-unicode encoding (see below).
-
-Finally, the |utf8| option produces bibliographic styles in unicode rather
-that in 8-bit encoding. Names of those styles bear the prefix |u|.
+The `sort` option enables sorting bibliographic references by author names
+and references titles. The names of styles compiled with the option `sort`
+bear the suffix `s`.
+Finally, the `utf8` option produces bibliographic styles in unicode rather
+that in 8-bit encoding. Names of those styles bear the prefix `u`.
Beyond bibliographic style, GOST bundle contains CS files (codepage and
sorting order).
-----------------------------------------------------------------
- Encoding | CSF Sorting order
-----------------------------------------------------------------
- cp866 | ruscii.csf Cyrillic first, Latin
- cp1251 | cp1251.csf Cyrillic first, Latin
- koi8-u | koi8u.csf Cyrillic first, Latin
- utf8 | utf8cyrillic.csf Cyrillic first, Latin
-----------------------------------------------------------------
+Encoding | CSF |Sorting order
+-----------------|----------------------|-----------------------
+ cp866 | ruscii.csf |Cyrillic first, Latin
+ cp1251 | cp1251.csf |Cyrillic first, Latin
+ koi8-u | koi8u.csf |Cyrillic first, Latin
+ utf8 | utf8cyrillic.csf |Cyrillic first, Latin
In addition, BibTeX8 distribution comes with few more CSFs.
-----------------------------------------------------------------
- Encoding | CSF Sorting order
-----------------------------------------------------------------
- cp866 | cp866rus.csf Latin first, Cyrillic
-----------------------------------------------------------------
-
-
-How to use
-
-1. Select bibliography style by adding appropriate \bibliographystyle
- declaration to your source file <filename>.tex, e.g.
-
- \bibliographystyle{gost2008}
- \bibliography{database}
-
-2. Add the field language="ukrainian" or language="russian" to the
- bibliographic entries in Ukrainian or Russian languages in your
- database; English is the default language. German, Italian and
- French are partially supported.
-
-3. To compile list of references from your database use bibtex8.exe
- rather than bibtex.exe. Depending on the codepage of your
- bibliographic database, indicate one of the CS files
- listed above as option to bibtex8.exe. Run LaTeX, then run
- bibTeX8 and again LaTeX:
-
- latex <filename>.tex
- bibtex8 -B -c <csf_file>.csf <filename>.aux
- latex <filename>.tex
+ Encoding | CSF |Sorting order
+-----------------|----------------------|-----------------------
+ cp866 | cp866rus.csf |Latin first, Cyrillic
+
+## How to use
+
+1. Select bibliography style by adding appropriate `\bibliographystyle`
+declaration to your source file \file{<filename>.tex}, e.g.
+```tex
+\bibliographystyle{gost2008}
+\bibliography{database}
+```
+
+2. Add the field `language="ukrainian"` or `language="russian"` to the
+bibliographic entries in Ukrainian or Russian languages in your
+database; English is the default language. German, Italian and
+French are partially supported.
+
+3. To compile list of references from your database use `bibtex8.exe`
+rather than `bibtex.exe`. Depending on the codepage of your
+bibliographic database, indicate one of the CS files
+listed above as option to `bibtex8.exe`. Run LaTeX, then run
+`bibTeX8` and LaTeX again:
+```console
+latex <filename>.tex
+bibtex8 -B -c <csf_file>.csf <filename>.aux
+latex <filename>.tex
+```
+
+4. For details on preparing bibliographic database see examples in
+`gost*.pdf` and `ugost*.pdf`.
+
+5. `ugost*` styles are primarily intended for use
+with unicode compilers (`xelatex` and `lualatex`). They
+should be preferred as well when using 8bit compilers
+(`latex` and `pdflatex`) if source file is in `utf8` encoding.
+
+6. Neither `bibtex.exe` nor `bibtex8.exe` provides
+correct sorting order of unicode text. It means that using
+`ugost2008s` or `ugost2008ns` may produce unexpected result
+for documents in `utf8` encoding.
+
+7. `Bibtex8` fails to change case of a string if it contains Cyrillic
+letter in unicode. Therefore `ugost2008*` styles do not change case of
+titles and other parts of bibliographic record while 8-bit styles
+do the case change where appropriate.
+
+8. Either `bibtex.exe` or `bibtex8.exe` fail to cut Cyrillic names to
+initials. Therefore `ugost2008*` styles do not modify name of
+authors.
+
+9. Package `natbib` is required when choosing styles with
+suffix `n` in their names.
+
+## Customization
-4. For details on preparing bibliographic database see
- examples in |gost*.pdf|.
+Every GOST style defines few commands to format some parts of a
+reference. You can redefine these commands prior to
+the `\bibliography{<bibtex_style>}` command. Initial
+definitions are listed below.
+```tex
+\providecommand*{\url}[1]{{\small #1}}
+\providecommand*{\BibUrl}[1]{\url{#1}}
+\providecommand{\BibAnnote}[1]{}
+\providecommand*{\BibEmph}[1]{#1}
+```
-5. Ugost*.bst styles are primarily intended for use
- with unicode compilers (xelatex and lualatex). They
- should be preferred as well when using 8bit compilers
- (latex and pdflatex) if source file is in utf8 encoding.
+By default, gost styles separate logical parts of a bibliography
+record by a period and cyrdash (`. "---`). It is legitimate to drop
+that dash by overriding the command `\BibDash` as follows
+```tex
+\providecommand*{\BibDash}{}
+```
-6. Neither bibtex.exe nor bibtex8.exe provide
- correct sorting order of unicode text. It means that using
- ugost2008s or any other style ended with `s' in
- its name may produce unexpected result for utf8 documents.
+By default, `\BibDash` is equivalent to the shorthand `"---`
+defined by the babel package with the option `russian`.
+It prints a so called Cyrillic dash (`\cyrdash`),
+which is 20 % shorter then ordinary LaTeX dash (`---`), and puts
+unbreakable space before `\cyrdash` so that dash never appears
+in the beginning of a line.
-7. Bibtex8 fails to change case of a string if it contains Cyrillic
- letter in unicode. Therefore ugost2008* styles do not change case of
- titles and other parts of bibliographic record while 8-bit styles
- do the case change where appropriate.
+## Where to get from
-8. Either |bibtex8| or |Bibtex8| fail to cut Cyrillic names to
- initials. Therefore |ugost2008*| styles do not modify the name of
- authors.
+1. [http://ctan.org/pkg/gost](http://ctan.org/pkg/gost).
-9. Package |natbib| should be loaded when using styles with
- suffix |n| in their names.
+2. [http://github.com/kia999/gost](http://github.com/kia999/gost)
+Run
+```tex.exe gost.dtx```
+ to produce .bst styles.
-Customization
+Run
+```pdllatex.exe gost.dtx
+makeindex -r -s gind.ist gost
+makeindex -r -s gglo.ist -o gost.gls gost.glo
+pdflatex gost.dtx
+pdflatex gost.dtx
+```
+to produce .bst styles and documentation.
-Every GOST style defines few commands to format some parts of a
-reference. You can redefine these commands prior to
-the \bibliography{<bibtex_style>} command. Initial
-definitions are listed below.
-
- \providecommand*{\url}[1]{{\small #1}}
- \providecommand*{\BibUrl}[1]{\url{#1}}
- \providecommand{\BibAnnote}[1]{}
- \providecommand*{\BibEmph}[1]{#1}
+## Version history
-By default, gost styles separate logical parts of a bibliography
-record by a period and cyrdash (. "---). It is legitimate to drop
-that dash by overriding the command \BibDash as follows
+### Version 1.2k (2020.12.25)
+1. All stuff is now generated from `gost.dtx`.
- \providecommand*{\BibDash}{}
+2. Limited support of the `date` field added.
-By default, \BibDash is equivalent to the shorthand "---
-introduced by the babel package with the option russian.
-It prints a so called Cyrillic dash (\cyrdash), which is
-20% shorter than ordinary LaTeX dash (---), and puts
-unbreakable space before \cyrdash so that the dash never
-appears at the beginning of a line.
+3. Formatting of `doi` field updated: `http://dx.doi.org` changed
+to `https://doi.org`.
+4. Documentation and examples update (thanks to Leonid Sinev).
-Where to get from
+5. Formatting of @inproceedings and @proceedings improved.
-1. http://mirror.ctan.org/biblio/bibtex/contrib/gost/
-2. http://ctan.org/pkg/gost
-
-What's new in version 1.2i (2017.01.12)
+### Version 1.2i (2017.01.12)
1. Documentation and examples update (thanks to Leonid Sinev).
-2, Restored @MastersThesis instead of @MasterThesis (thanks to Leonid Sinev).
-
-3. Media="eresource" field is introduced in addition to the media="online" and
- media="text"; if present, the media field is not ignored any more in
- modern bst-styles compiled without the strict option.
+2. Restored `@MastersThesis` instead of `@MasterThesis` (thanks to Leonid Sinev).
-4. Location field is introduced as an alias of address field.
+3. `media="eresource"` is introduced in addition to `media="online"` and
+`media="text"`; if present, the `media` field is not ignored any more in
+modern bst-styles compiled without the `strict` option.
-5. @DSCISTHESIS entry renamed to @DOCTHESIS.
+4. `location` field is introduced as an alias of `address` field.
-6. School field is now treated as an alias of institution.
+5. `@DSCISTHESIS` entry renamed to `@DOCTHESIS`.
-7. Specialitycode is added for @THESIS and similar entries; number is treated as
- alias of specialitycode.
+6. `school` field in `@THESIS` and similar entries is replaced by
+`institution` to comply with `biblatex-gost` style.
-8. Type field in THESIS and similar entries can now accept three values
- (mathesis, phdthesis, docthesis) which are translated to built-in
- language-sensitive strings; any other value is reproduced literally.
+7. `specialitycode` is added for `@THESIS` and similar entries;
+ number is treated as alias of specialitycode.
+8. `type` field in `@THESIS` and similar entries can now accept three values
+ (`mathesis`, `phdthesis`, `docthesis`) which are translated to built-in
+ language-sensitive strings; any other value is reproduced literally.
-What's new in version 1.2h (2016.08.21)
+### Version 1.2h (2016.08.21)
1. Minor changes in documentation.
-
-What's new in version 1.2g (2016.07.25)
+### Version 1.2g (2016.07.25)
1. Minor changes in documentation.
+### Version 1.2f (2016.07.11)
-What's new in version 1.2f (2016.07.11)
-
-1. Support for |@patent| entry added (thanks to Stanislav Kruchinin).
+1. Support for `@patent` entry added (thanks to Stanislav Kruchinin).
2. medium field renamed to media field.
-
-What's new in version 1.2e (2016.07.07)
+### Version 1.2e (2016.07.07)
1. Hard coded "URL" string replaced with a language sensitive string
(thanks to Roman Budnyi).
-
-What's new in version 1.2d (2016.02.18)
+### Version 1.2d (2016.02.18)
1. jan, feb, mar, e.t.c. month macros fixed;
2. New macro format.month.
3. \cyrdash is now faked via \ProvideTextCommandDefault if not defined.
-
-What's new in version 1.2c (2015.01.10)
+### Version 1.2c (2015.01.10)
1. langid field added; language field supported for backward compatibility.
2. eid field added, it has priority over pages field;
3. Fix Gost2003: "--- replaced by \BibDash;
4. Spacing around \BibDash improved.
-
-What's new in version 1.2b (2014.01.19)
+### Version 1.2b (2014.01.19)
1. numpages renamed to pagetotal.
-
-What's new in version 1.2a (2012.08.31)
+### Version 1.2a (2012.08.31)
1. \cyrdash is now defined via \ProvideTextCommand rather than \providecommand.
-
-What's new in version 1.2 (2012.02.22)
+### Version 1.2 (2012.02.22)
1. Code refactoring. All styles are now generated from single source file.
-2. Support for GOST-7.1-2003. The field |medium| is added to reflect type
- of material. For most entry types |medium| defaults to |text|.
-3. Support for |natbib| package.
-4. All modern styles are now compiled with the |eprint| option.
-
+2. Support for GOST-7.1-2003. The field `medium` is added to reflect type
+ of material. For most entry types `medium` defaults to `text`.
+3. Support for `natbib` package.
+4. All modern styles are now compiled with the `eprint` option.
-What's new in version 1.1 (2012.01.21)
+### Version 1.1 (2012.01.21)
1. Support for GOST 7.0.5-2008 and GOST 7.1-2003 is provided.
-2. |@Online| entry is added to format a reference to electronic
+2. `@Online` entry is added to format a reference to electronic
resource on Internet.
-3. |@MastersThesis| entry is added to format a reference to master's thesis.
- |@DSciThesis| entry is added to format a reference to doctor of
+3. `@MastersThesis` entry is added to format a reference to master's thesis.
+ `@DSciThesis` entry is added to format a reference to doctor of
sciences thesis.
-4. |Urldate|, |eprint|, |eprintclass|, |eprinttype| fields are added.
+4. `Urldate`, `eprint`, `eprintclass`, `eprinttype` fields are added.
-
-Version history
+### Earlier version history
2012.08.31 \cyrdash is now defined via \ProvideTextCommand.
2012.02.22 Support for |natbib| package.
@@ -317,11 +319,13 @@ Version history
2005.08.12 First version uploaded to CTAN.
2003.06.06 First public version.
+### Older versions
+
+See `gost.pdf`.
+### Bug reports
-Please, send feature requests and bug reports via e-mail:
- kia999 at mail dot ru <Igor A. Kotelnikov>
-or
- polyama at yahoo dot com <Maksym Polyakov>
+Please, submit feature requests and issue reports via
+ [https://github.com/kia999/GOST/issues](https://github.com/kia999/GOST/issues).
Happy BibTeXing!
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib
deleted file mode 100644
index d595539ba9a..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex06a.bib
+++ /dev/null
@@ -1,10 +0,0 @@
-@BOOK{Poems82,
- title = { . ,
- , : },
- compiler = {. and . },
- address = {.},
- publisher = {. },
- year = {1982},
- pagetotal = {224},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib
index 8801a77719d..d595539ba9a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex07.bib
@@ -1,9 +1,10 @@
-@BOOK{HistLit82,
- title = { : 4 .},
- organization = { , - .~.\ (.)},
+@BOOK{Poems82,
+ title = { . ,
+ , : },
+ compiler = {. and . },
address = {.},
+ publisher = {. },
year = {1982},
- volume = {3: },
- pagetotal = {876},
+ pagetotal = {224},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib
index 261cb270893..8801a77719d 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex08.bib
@@ -1,10 +1,9 @@
-@BOOK{Landau:eldin,
- author = {. . and . . },
- title = { : 10 .},
- publisher = {. .\ .\ .-.\ .},
+@BOOK{HistLit82,
+ title = { : 4 .},
+ organization = { , - .~.\ (.)},
address = {.},
- year = {1992},
- volume = {VIII. },
- edition = {3-, .},
+ year = {1982},
+ volume = {3: },
+ pagetotal = {876},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib
index cd31d23bec8..261cb270893 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex09.bib
@@ -1,12 +1,10 @@
-@BOOK{BRLS94,
- title = { ii -i
- i : 4 .},
- organization = {.\ i. I- i.},
- address = {i},
- publisher = { i i},
- year = {1994},
- volume = {2: . 1900--1917 .},
- editor = {. . and I. . },
- pagetotal = {440},
+@BOOK{Landau:eldin,
+ author = {. . and . . },
+ title = { : 10 .},
+ publisher = {. .\ .\ .-.\ .},
+ address = {.},
+ year = {1992},
+ volume = {VIII. },
+ edition = {3-, .},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib
index 5c3f395b641..cd31d23bec8 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex10.bib
@@ -1,9 +1,12 @@
-@BOOK{Grosse80,
- author = {, . and , .},
- title = { : .\ .},
- address = {.},
- publisher = {},
- year = {1980},
- pagetotal = {392},
+@BOOK{BRLS94,
+ title = { ii -i
+ i : 4 .},
+ organization = {.\ i. I- i.},
+ address = {i},
+ publisher = { i i},
+ year = {1994},
+ volume = {2: . 1900--1917 .},
+ editor = {. . and I. . },
+ pagetotal = {440},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib
index 4711209121b..5c3f395b641 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex11.bib
@@ -1,11 +1,9 @@
-@BOOK{GOST7184,
- key = {},
- title = { 7.1-84. .
- .
- --- 7.1-76~; . 01.01.86.},
+@BOOK{Grosse80,
+ author = {, . and , .},
+ title = { : .\ .},
address = {.},
- publisher = {- },
- year = {1984},
- pagetotal = {78},
+ publisher = {},
+ year = {1980},
+ pagetotal = {392},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib
deleted file mode 100644
index 13a5a7e4c5a..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex14a.bib
+++ /dev/null
@@ -1,11 +0,0 @@
-@INBOOK{Zeyts70,
- author = {, .},
- title = { },
- booktitle = { },
- bookauthor = {, . and , .},
- address = {.},
- publisher = {},
- year = {1970},
- pages = {172--186},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib
index ec178f2f01b..13a5a7e4c5a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex15.bib
@@ -1,12 +1,11 @@
-@INCOLLECTION{Ponoomarenko76,
- author = {, . .},
- title = {
- },
- booktitle = {
- },
- address = {},
- publisher = { },
- year = {1976},
- pages = {3-16},
+@INBOOK{Zeyts70,
+ author = {, .},
+ title = { },
+ booktitle = { },
+ bookauthor = {, . and , .},
+ address = {.},
+ publisher = {},
+ year = {1970},
+ pages = {172--186},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib
index 8db207bd87a..ec178f2f01b 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex16.bib
@@ -1,10 +1,12 @@
-@ARTICLE{Malikov92,
- author = {, . . and , . .},
- title = {
- },
- journal = { },
- year = {1992},
- number = {6},
- pages = {34-38},
+@INCOLLECTION{Ponoomarenko76,
+ author = {, . .},
+ title = {
+ },
+ booktitle = {
+ },
+ address = {},
+ publisher = { },
+ year = {1976},
+ pages = {3-16},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib
index 39e1d292b47..8db207bd87a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17.bib
@@ -1,11 +1,10 @@
-@ARTICLE{Ponomarenko86a,
- author = {, . . and , . .},
- title = {
- },
- journal = {.\ .\ . .\ .-.\ .\ },
- year = {1986},
- volume = {7},
+@ARTICLE{Malikov92,
+ author = {, . . and , . .},
+ title = {
+ },
+ journal = { },
+ year = {1992},
number = {6},
- pages = {79-83},
+ pages = {34-38},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib
deleted file mode 100644
index 5351992600a..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17a.bib
+++ /dev/null
@@ -1,8 +0,0 @@
-@ARTICLE{dixit.pindyck:options,
- title = {The Options Approach to Capital Investment},
- author = {Avinash K. Dixit and Robert S. Pindyck},
- journal = {Harvard Business Review},
- year = {1995},
- month = {May-June},
- pages = {105--115},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib
deleted file mode 100644
index 4407d93cf37..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex17b.bib
+++ /dev/null
@@ -1,10 +0,0 @@
-@ARTICLE{RosGaz-article,
- title = {
- },
- journal = { },
- year = {1997},
- month = {19 },
- pages = {4},
- note = { . },
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib
index 67a509d4972..39e1d292b47 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex18.bib
@@ -1,11 +1,11 @@
-@INBOOK{Dolmatovskiy88,
- author = {, . .},
- title = {},
- booktitle = {},
- edition = {3-},
- address = {.},
- year = {1988},
- volume = {30},
- pages = {72},
+@ARTICLE{Ponomarenko86a,
+ author = {, . . and , . .},
+ title = {
+ },
+ journal = {.\ .\ . .\ .-.\ .\ },
+ year = {1986},
+ volume = {7},
+ number = {6},
+ pages = {79-83},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib
index 46d45239281..5351992600a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex19.bib
@@ -1,14 +1,8 @@
-@INPROCEEDINGS{Ponomarenko88,
- author = {, . . and , . .},
- title = {
-
- },
- booktitle = { .\ .\
- << >> ( 88)},
- volume = {1},
- address = {},
- publisher = { },
- year = {1988},
- pages = {149-153},
- language = {russian},
+@ARTICLE{dixit.pindyck:options,
+ title = {The Options Approach to Capital Investment},
+ author = {Avinash K. Dixit and Robert S. Pindyck},
+ journal = {Harvard Business Review},
+ year = {1995},
+ month = {May-June},
+ pages = {105--115},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib
index 59d5fd3c678..4407d93cf37 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20.bib
@@ -1,9 +1,10 @@
-@INPROCEEDINGS{Melikov95,
- author = {Melikov, A. Z. and Ponomarenko, L. A.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
+@ARTICLE{RosGaz-article,
+ title = {
+ },
+ journal = { },
+ year = {1997},
+ month = {19 },
+ pages = {4},
+ note = { . },
+ language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib
deleted file mode 100644
index 510df37e95e..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20a.bib
+++ /dev/null
@@ -1,28 +0,0 @@
-@INPROCEEDINGS{Gojchuk98,
- author = {, . .},
- title = { 㳿
- },
- booktitle = {
- },
- editor = {, . . and others},
- address = {.},
- publisher = {},
- year = {1998},
- series = {. 8: ˳},
- pages = {168--173},
- language = {ukrainian},
-}
-
-@INPROCEEDINGS{Polyakov98a,
- author = {. . },
- title = {
- },
- crossref = {Gojchuk98},
- annote = {
- .
-
-
-
- },
- pages = {213--220},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib
deleted file mode 100644
index ee783d526df..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20b.bib
+++ /dev/null
@@ -1,16 +0,0 @@
-@INPROCEEDINGS{TranskSpivrob99:Purich,
- author = {, },
- title = {{}-{} :
- },
- language = {russian},
- booktitle = {
- {} {}-{} {}: {}
- },
- editor = {, .},
- address = {},
- publisher = { },
- organization = { },
- year = {1999},
- pagetotal = {196},
- booklanguage = {ukrainian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib
index b3e88b84d27..67a509d4972 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21.bib
@@ -1,14 +1,11 @@
-@PHDTHESIS{Luus82,
- author = {, },
- title = {
- ,
-
- },
- type = { },
- number = {05.05.04},
- institution = {.\ .\ -},
+@INBOOK{Dolmatovskiy88,
+ author = {, . .},
+ title = {},
+ booktitle = {},
+ edition = {3-},
address = {.},
- year = {1982},
- pagetotal = {212},
+ year = {1988},
+ volume = {30},
+ pages = {72},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib
new file mode 100644
index 00000000000..46d45239281
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex22.bib
@@ -0,0 +1,14 @@
+@INPROCEEDINGS{Ponomarenko88,
+ author = {, . . and , . .},
+ title = {
+
+ },
+ booktitle = { .\ .\
+ << >> ( 88)},
+ volume = {1},
+ address = {},
+ publisher = { },
+ year = {1988},
+ pages = {149-153},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib
index 8919d9102ec..59d5fd3c678 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex23.bib
@@ -1,11 +1,9 @@
-@BOOK{Ponomarenko76,
- author = {, . . and , . .},
- title = {
-
- },
- address = {.},
- year = {1976},
- pagetotal = {37},
- language = {russian},
- note = {(./ . - ; 76-76)},
+@INPROCEEDINGS{Melikov95,
+ author = {Melikov, A. Z. and Ponomarenko, L. A.},
+ title = {On the approach to optimal control
+ of queuing systems with multiple classes of customers},
+ booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
+ address = {Wroclaw (Poland)},
+ year = {1995},
+ pages = {507-515},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib
index 7f94e041da6..510df37e95e 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24.bib
@@ -1,15 +1,28 @@
-@REPORT{Report81-rep,
- title = {
- {-2-12-}
- {-2-12-Dz}},
- institution = {.\ .\ - .\ -},
- address = {.},
- organization = {},
- year = {1981},
- pagetotal = {90},
- type = { {}},
- editor = {, . .},
- author = {, . . and others},
- note = {.\ 119692},
- language = {russian},
+@INPROCEEDINGS{Gojchuk98,
+ author = {, . .},
+ title = { 㳿
+ },
+ booktitle = {
+ },
+ editor = {, . . and others},
+ address = {.},
+ publisher = {},
+ year = {1998},
+ series = {. 8: ˳},
+ pages = {168--173},
+ language = {ukrainian},
+}
+
+@INPROCEEDINGS{Polyakov98a,
+ author = {. . },
+ title = {
+ },
+ crossref = {Gojchuk98},
+ annote = {
+ .
+
+
+
+ },
+ pages = {213--220},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib
index 2e8efb67260..ee783d526df 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex25.bib
@@ -1,11 +1,16 @@
-@BOOK{CatalogMamals81,
- title = { .
- "--- },
- organization = { , .\ -},
- editor = {. . and . . },
- address = {.},
- publisher = {, .\ -},
- year = {1981},
- pagetotal = {456},
+@INPROCEEDINGS{TranskSpivrob99:Purich,
+ author = {, },
+ title = {{}-{} :
+ },
language = {russian},
+ booktitle = {
+ {} {}-{} {}: {}
+ },
+ editor = {, .},
+ address = {},
+ publisher = { },
+ organization = { },
+ year = {1999},
+ pagetotal = {196},
+ booklanguage = {ukrainian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib
index 62820b280e3..5f413581359 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex26.bib
@@ -1,12 +1,9 @@
-@BOOK{Instr86,
- title = {
- ~:
- 34-70-044-85~: . . . .
- 01.10.85~:
- 01.01.86 01.01.95},
- organization = {- },
- address = {.},
- year = {1986},
- pagetotal = {43},
- language = {russian},
+@INPROCEEDINGS{Selikov95,
+ author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.},
+ title = {On the approach to optimal control
+ of queuing systems with multiple classes of customers},
+ booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
+ address = {Wroclaw (Poland)},
+ year = {1995},
+ pages = {507-515},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27.bib
index 002f8f4fb41..23f0867c99b 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex20c.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27.bib
@@ -1,13 +1,3 @@
-@INPROCEEDINGS{Selikov95,
- author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
-}
-
@INPROCEEDINGS{Selikov+95,
author = {, A. Z. and , L. A. and , L. S. and , . .},
title = {On the approach to optimal control
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib
index 530ca4e2eb8..4711209121b 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28.bib
@@ -1,25 +1,11 @@
-@BOOK{IsaacNewton,
- author = {Newton, {\relax Sir Isaac}},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- publisher = {William Innys},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {eresource},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
+@BOOK{GOST7184,
+ key = {},
+ title = { 7.1-84. .
+ .
+ --- 7.1-76~; . 01.01.86.},
+ address = {.},
+ publisher = {- },
+ year = {1984},
+ pagetotal = {78},
+ language = {russian},
}
-
-@BOOK{IsaacNewton-sl:sn,
- author = {{\relax Sir I}saac Newton},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {online},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
-}
-% publisher = {William Innys},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib
deleted file mode 100644
index 856f3848993..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex28a.bib
+++ /dev/null
@@ -1,32 +0,0 @@
-@BOOK{Encyclopedia,
- title = { },
- publisher = { . .},
- year = {1996},
- address = {.},
- note = {1 . . (CD-ROM)},
- language = {russian},
- media = {eresource},
-}
-
-@ARTICLE{Nasirova,
- title = { },
- author = {, . .},
- language = {russian},
- note = { : http://vestnik.fa.ru/4(28)2003/4.html},
- number = {4},
- year = {2003},
- journal = { },
- media2 = {eresource},
- media = {online},
-}
-
-@BOOK{kremlincd,
- title = { },
- titleaddon = {. },
- language = {russian},
- note = {CD-ROM},
- date = {2007},
- location = {.},
- publisher = { },
- media = {eresource},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib
index 416cb5b91c9..b3e88b84d27 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex29.bib
@@ -1,15 +1,14 @@
-@ARTICLE{PhysRevLett.101.085006,
- author = {Kotelnikov, Igor and Rom\'e, Massimiliano},
- volume = {101},
- journal = {Phys. Rev. Lett.},
- month = {Aug},
- pagetotal = {4},
- title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap},
- year = {2008},
- doi = {10.1103/PhysRevLett.101.085006},
- issue = {8},
- publisher = {American Physical Society},
- pages = {085006},
+@PHDTHESIS{Luus82,
+ author = {, },
+ title = {
+ ,
+
+ },
+ type = { },
+ number = {05.05.04},
+ institution = {.\ .\ -},
+ address = {.},
+ year = {1982},
+ pagetotal = {212},
+ language = {russian},
}
-
-% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib
index 836bc7e5add..9eefa82a93f 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex30.bib
@@ -1,27 +1,11 @@
-@ARTICLE{1998PhRvE..57.7111K,
- author = {{Kinney}, R.~M. and {McWilliams}, J.~C.},
- title = {{Turbulent cascades in anisotropic magnetohydrodynamics}},
- journal = pre,
- keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation},
- year = {1998},
- month = jun,
- volume = {57},
- pages = {7111-7121},
- doi = {10.1103/PhysRevE.57.7111},
- adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System},
-}
-
-@ARTICLE{1998UFN,
- author = {, . . and , . .},
- title = { },
- journal = ufn,
- keywords = { , },
- year = {2015},
- month = jul,
- volume = {185},
- pages = {753-771},
+@DOCTHESIS{KIA95-default,
+ author = {, },
+ title = {
+ },
+ number = {01.04.08},
+ institution = {- .\ .~. },
+ address = {},
+ year = {1995},
+ pagetotal = {350},
language = {russian},
- doi = {10.3367/UFNr.0185.201507c.0753},
- url = {http://ufn.ru/ru/articles/2015/7/c/},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib
index 4ea961f0685..15cb434e7cf 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex31.bib
@@ -1,40 +1,7 @@
-@PATENT{patent1,
- author = {. . },
- authorcountry = {},
- title = { -},
- media = {text},
- type = {},
- number = {1095735},
- location = {. },
- ipc = {\ensuremath{^7} B 64 G 1/00},
- holder = { /, .},
- credits = {. . .},
- requestnumber = {000108705/28},
- requestdate = {07.04.2000},
- publicationdate = {10.03.2001},
- publication = {. 7 (I .)},
- prioritydate= {09.04.1999},
- prioritynumber = {09/289, 037},
- prioritycountry = {},
- pagetotal = {5 .~: .},
- language = {russian},
+@MASTERSTHESIS{mastersthesis-minimal,
+ title = {Mastering Thesis Writing},
+ author = {{\'{E}}douard Masterly},
+ year = {1988},
+ institution = {Stanford University},
}
-@PATENT{patent2,
- author = {. . },
- authorcountry = {},
- title = { },
- media = {text},
- type = {.},
- number = {2000131736/09},
- location = {. },
- ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00},
- holder = { . .-. - .},
- credits = {. . .},
- requestnumber = {000108705/28},
- date = {18.12.2000},
- publicationdate = {20.08.2002},
- publication = {. 23 (II .)},
- pagetotal = {2 .~: .},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex32.bib
index 49be1815053..7db20865644 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21b.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex32.bib
@@ -1,10 +1,3 @@
-@MASTERSTHESIS{mastersthesis-minimal,
- title = {Mastering Thesis Writing},
- author = {{\'{E}}douard Masterly},
- year = {1988},
- institution = {Stanford University},
-}
-
@MASTERSTHESIS{mastersthesis-full,
title = {Mastering Thesis Writing},
author = {{\'{E}}douard Masterly},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex33.bib
index 9eefa82a93f..3f2df895717 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21a.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex33.bib
@@ -1,11 +1,12 @@
-@DOCTHESIS{KIA95-default,
+@THESIS{KIA85-autoref,
author = {, },
title = {
},
+ type = {.\ .\ .\ .\ .\ - .-.\ },
number = {01.04.08},
- institution = {- .\ .~. },
+ school = {- .\ .~. },
address = {},
year = {1995},
- pagetotal = {350},
+ pagetotal = {17},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib
new file mode 100644
index 00000000000..3c05cebc8c1
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex34.bib
@@ -0,0 +1,13 @@
+@THESIS{vishnyakov:thesis1,
+ title = { },
+ author = {, },
+ date = {2002},
+ langid = {russian},
+ language = {russian},
+ location = {.},
+ speciality = {. },
+ number = {08.00.13},
+ pagetotal = {234},
+ titleaddon = { 12.02.02~: . 24.06.02},
+}
+
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib
new file mode 100644
index 00000000000..b35b4136c8c
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex35.bib
@@ -0,0 +1,16 @@
+@THESIS{vishnyakov:thesis2,
+ title = { },
+ author = {, },
+ type = {phdthesis},
+ addendum = {.: . 220---230.~--- 04200204433},
+ _year = {2002},
+ date = {2002-02-04},
+ langid = {russian},
+ language = {russian},
+ location = {.},
+ speciality = {. },
+ specialitycode = {08.00.13},
+ media = {text},
+ pagetotal = {234},
+ titleaddon = { 12.02.02~: . 24.06.02},
+} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib
new file mode 100644
index 00000000000..fa82e73af4e
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex36.bib
@@ -0,0 +1,14 @@
+@THESIS{Skvortsov:2008,
+ title = { },
+ author = {, },
+ type = {docthesis},
+ _year = {2008},
+ institution = { . .\,.~},
+ langid = {russian},
+ language = {russian},
+ location = {},
+ speciality = {.-. },
+ specialitycode = {01.04.02},
+ media = {text},
+ pagetotal = {224},
+} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib
new file mode 100644
index 00000000000..8919d9102ec
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex37.bib
@@ -0,0 +1,11 @@
+@BOOK{Ponomarenko76,
+ author = {, . . and , . .},
+ title = {
+
+ },
+ address = {.},
+ year = {1976},
+ pagetotal = {37},
+ language = {russian},
+ note = {(./ . - ; 76-76)},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib
new file mode 100644
index 00000000000..7f94e041da6
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex38.bib
@@ -0,0 +1,15 @@
+@REPORT{Report81-rep,
+ title = {
+ {-2-12-}
+ {-2-12-Dz}},
+ institution = {.\ .\ - .\ -},
+ address = {.},
+ organization = {},
+ year = {1981},
+ pagetotal = {90},
+ type = { {}},
+ editor = {, . .},
+ author = {, . . and others},
+ note = {.\ 119692},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex39.bib
index 4d0612148f6..4d0612148f6 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24a.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex39.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex40.bib
index e9377071aa2..e9377071aa2 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex24b.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex40.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib
new file mode 100644
index 00000000000..2e8efb67260
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex41.bib
@@ -0,0 +1,11 @@
+@BOOK{CatalogMamals81,
+ title = { .
+ "--- },
+ organization = { , .\ -},
+ editor = {. . and . . },
+ address = {.},
+ publisher = {, .\ -},
+ year = {1981},
+ pagetotal = {456},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib
new file mode 100644
index 00000000000..62820b280e3
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex42.bib
@@ -0,0 +1,12 @@
+@BOOK{Instr86,
+ title = {
+ ~:
+ 34-70-044-85~: . . . .
+ 01.10.85~:
+ 01.01.86 01.01.95},
+ organization = {- },
+ address = {.},
+ year = {1986},
+ pagetotal = {43},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib
new file mode 100644
index 00000000000..40de893bd1b
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex43.bib
@@ -0,0 +1,22 @@
+@PATENT{patent1,
+ author = {. . },
+ authorcountry = {},
+ title = { -},
+ media = {text},
+ type = {},
+ number = {1095735},
+ location = {. },
+ ipc = {\ensuremath{^7} B 64 G 1/00},
+ holder = { /, .},
+ credits = {. . .},
+ requestnumber = {000108705/28},
+ requestdate = {07.04.2000},
+ publicationdate = {10.03.2001},
+ publication = {. 7 (I .)},
+ prioritydate= {09.04.1999},
+ prioritynumber = {09/289, 037},
+ prioritycountry = {},
+ pagetotal = {5 .~: .},
+ language = {russian},
+}
+
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib
new file mode 100644
index 00000000000..9ca3de08fc6
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex44.bib
@@ -0,0 +1,18 @@
+@PATENT{patent2,
+ author = {. . },
+ authorcountry = {},
+ title = { },
+ media = {text},
+ type = {.},
+ number = {2000131736/09},
+ location = {. },
+ ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00},
+ holder = { . .-. - .},
+ credits = {. . .},
+ requestnumber = {000108705/28},
+ date = {18.12.2000},
+ publicationdate = {20.08.2002},
+ publication = {. 23 (II .)},
+ pagetotal = {2 .~: .},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex45.bib
index 35f92171c2a..35f92171c2a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27c.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex45.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib
new file mode 100644
index 00000000000..3589fcd0874
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex46.bib
@@ -0,0 +1,12 @@
+@BOOK{IsaacNewton,
+ author = {Newton, {\relax Sir Isaac}},
+ title = {Opticks, or a treatise of the reflections,
+ refractions, inflections and colours of light},
+ publisher = {William Innys},
+ url = {http://books.google.com/books?id=XXu4AkRVBBoC},
+ media = {eresource},
+ year = {1730},
+ pagetotal = {382},
+ eprint = {XXu4AkRVBBoC},
+ eprinttype = {Google Books},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib
new file mode 100644
index 00000000000..72aefbac201
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex47.bib
@@ -0,0 +1,12 @@
+@BOOK{IsaacNewton-sl:sn,
+ author = {{\relax Sir I}saac Newton},
+ title = {Opticks, or a treatise of the reflections,
+ refractions, inflections and colours of light},
+ url = {http://books.google.com/books?id=XXu4AkRVBBoC},
+ media = {online},
+ year = {1730},
+ pagetotal = {382},
+ eprint = {XXu4AkRVBBoC},
+ eprinttype = {Google Books},
+}
+% publisher = {William Innys},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib
new file mode 100644
index 00000000000..72500872ba3
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex48.bib
@@ -0,0 +1,9 @@
+@BOOK{Encyclopedia,
+ title = { },
+ publisher = { . .},
+ year = {1996},
+ address = {.},
+ note = {1 . . (CD-ROM)},
+ language = {russian},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib
new file mode 100644
index 00000000000..b60055b4303
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex49.bib
@@ -0,0 +1,11 @@
+@ARTICLE{Nasirova,
+ title = { },
+ author = {, . .},
+ language = {russian},
+ note = { : http://vestnik.fa.ru/4(28)2003/4.html},
+ number = {4},
+ year = {2003},
+ journal = { },
+ media2 = {eresource},
+ media = {online},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib
new file mode 100644
index 00000000000..4994b0995ee
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex50.bib
@@ -0,0 +1,10 @@
+@BOOK{kremlincd,
+ title = { },
+ titleaddon = {. },
+ language = {russian},
+ note = {CD-ROM},
+ date = {2007},
+ location = {.},
+ publisher = { },
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib
new file mode 100644
index 00000000000..416cb5b91c9
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex51.bib
@@ -0,0 +1,15 @@
+@ARTICLE{PhysRevLett.101.085006,
+ author = {Kotelnikov, Igor and Rom\'e, Massimiliano},
+ volume = {101},
+ journal = {Phys. Rev. Lett.},
+ month = {Aug},
+ pagetotal = {4},
+ title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap},
+ year = {2008},
+ doi = {10.1103/PhysRevLett.101.085006},
+ issue = {8},
+ publisher = {American Physical Society},
+ pages = {085006},
+}
+
+% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib
new file mode 100644
index 00000000000..1a02f1ba402
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex52.bib
@@ -0,0 +1,7 @@
+@ONLINE{wiki:latex,
+ author = {Wikipedia},
+ title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia},
+ year = {2012},
+ url = {http://en.wikipedia.org/wiki/LaTeX},
+ urldate = {25.01.2012},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex53.bib
index 9b58759802c..282bc401d28 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27a.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex53.bib
@@ -1,11 +1,3 @@
-@ONLINE{wiki:latex,
- author = {Wikipedia},
- title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia},
- year = {2012},
- url = {http://en.wikipedia.org/wiki/LaTeX},
- urldate = {25.01.2012},
-}
-
@ONLINE{wiki:latex-2,
author = {Wikipedia},
title = {{\LaTeX}},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex54.bib
index d298189634a..d298189634a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27b.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex54.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib
new file mode 100644
index 00000000000..e6aad14b23c
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex55.bib
@@ -0,0 +1,13 @@
+@ARTICLE{1998PhRvE..57.7111K,
+ author = {{Kinney}, R.~M. and {McWilliams}, J.~C.},
+ title = {{Turbulent cascades in anisotropic magnetohydrodynamics}},
+ journal = pre,
+ keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation},
+ year = {1998},
+ month = jun,
+ volume = {57},
+ pages = {7111-7121},
+ doi = {10.1103/PhysRevE.57.7111},
+ adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib
new file mode 100644
index 00000000000..fc159fccf25
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex56.bib
@@ -0,0 +1,13 @@
+@ARTICLE{1998UFN,
+ author = {, . . and , . .},
+ title = { },
+ journal = ufn,
+ keywords = { , },
+ year = {2015},
+ month = jul,
+ volume = {185},
+ pages = {753-771},
+ language = {russian},
+ doi = {10.3367/UFNr.0185.201507c.0753},
+ url = {http://ufn.ru/ru/articles/2015/7/c/},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib
new file mode 100644
index 00000000000..d15c8a59ff6
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex57.bib
@@ -0,0 +1,9 @@
+@ONLINE{cs.SE:30073,
+ title = {Cutting equal sticks from different sticks},
+ howpublished = {Computer Science Stack Exchange},
+ url = {http://cs.stackexchange.com/q/30073},
+ urldate = {2014-11-26},
+ author = {Erel Segal-Halevi},
+ date = {2014-09-17},
+ nameaddon = {\url{http://cs.stackexchange.com/users/1342/}},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib
new file mode 100644
index 00000000000..b8cc3036b78
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex58.bib
@@ -0,0 +1,10 @@
+@MISC{CS:30073,
+ title = {Cutting equal sticks from different sticks},
+ author = {Erel Segal-Halevi},
+ howpublished = {Computer Science Stack Exchange},
+ url = {http://cs.stackexchange.com/q/30073},
+ urldate = {2014-11-26},
+ year = {2014},
+ authorurl = {http://cs.stackexchange.com/users/1342/},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib
new file mode 100644
index 00000000000..d22b7662771
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex59.bib
@@ -0,0 +1,9 @@
+@ONLINE{nos_weeralarm_2009,
+ title = {Weeralarm en verkeeralarm ingetrokken},
+ url = {http://nos.nl/l/124074},
+ urldate = {2014-02-12},
+ author = {{NOS}},
+ date = {2009-12-20},
+ keywords = {gladheid, ijs, ongeluk, openbaar vervoer, schiphol, sneeuw},
+ titleaddon = {{NOS.nl}},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib
new file mode 100644
index 00000000000..dfa25c04480
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex60.bib
@@ -0,0 +1,11 @@
+@ARTICLE{gibbard,
+ title = {Morality in Living},
+ author = {Gibbard, Allan},
+ number = {1},
+ pages = {140--164},
+ subtitle = {{K}orsgaard's {K}antian Lectures},
+ titleaddon = {review of The Sources of Normativity, by {C}hristine {M.} {K}orsgaard},
+ volume = {110},
+ year = {1999},
+ journal = {Ethics},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib
new file mode 100644
index 00000000000..1f24356e3d1
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex61.bib
@@ -0,0 +1,8 @@
+@BOOK{Williams2002,
+ title = {Free as in Freedom},
+ author = {Williams, Sam},
+ publisher = {O'Reilly Media},
+ year = {2002},
+ isbn = {0-596-00287-4},
+ titleaddon = {Richard Stallman's Crusade for Free Software},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib
new file mode 100644
index 00000000000..8956232df63
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex62.bib
@@ -0,0 +1,10 @@
+@ONLINE{kruse,
+ title = {Framework for Sustainable Soil Management: Literature Review and Synthesis},
+ url = {http://www.swcs.org/documents/filelibrary/BeyondTliteraturereview.pdf},
+ urldate = {2008-08-03},
+ year = {2007},
+ author = {John S. Kruse},
+ publisher = {Soil and Water Conservation Society},
+ address = {Ankeny (IA)},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib
new file mode 100644
index 00000000000..0ea4915ef23
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex63.bib
@@ -0,0 +1,17 @@
+@PROCEEDINGS{tmma,
+ title = {Towards Mechanized Mathematical Assistants},
+ editor = {Manuel Kauers and Manfred Kerber and Robert Miner and Wolfgang
+ Windsteiger},
+ isbn = {978-3-540-73083-5},
+ language = {english},
+ location = {Berlin Heidelberg},
+ number = {Volume 4573},
+ pagetotal = {410},
+ publisher = {Springer},
+ series = {Lecture Notes in Computer Science},
+ titleaddon = {14th Symposium, Calculemus 2007, 6th International Conference, MKM 2007,
+ Hagenberg, Austria, June 27-30, 2007. Proceedings},
+ year = {2007},
+ issn = {0302-9743},
+ langid = {english},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib
new file mode 100644
index 00000000000..5ab7df8a1d0
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex64.bib
@@ -0,0 +1,12 @@
+@BOOK{dekart:soch,
+ title = { },
+ author = {, },
+ publisher = {},
+ date = {1989/1994},
+ ids = {dekart_soch},
+ langid = {russian},
+ language = {russian},
+ location = {.},
+ origlanguage = {latin and french},
+ titleaddon = {. . .},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib
new file mode 100644
index 00000000000..62be5113212
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex65.bib
@@ -0,0 +1,21 @@
+@INPROCEEDINGS{moraux,
+ title = {Le \emph{De Anima} dans la tradition gr{\`e}cque},
+ author = {Moraux, Paul},
+ booktitle = {Aristotle on Mind and the Senses},
+ date = {1979},
+ editor = {Lloyd, G. E. R. and Owen, G. E. L.},
+ booktitleaddon = {Proceedings of the Seventh Symposium Aristotelicum},
+ eventdate = {1975},
+ language = {french},
+ location = {Cambridge},
+ pages = {281-324},
+ publisher = cup,
+ subtitle = {Quelques aspects de l'interpretation du trait{\'e}, de
+ Theophraste {\`a} Themistius},
+ annotation = {This is a typical \texttt{inproceedings} entry. Note the
+ \texttt{booksubtitle}, \texttt{shorttitle},
+ \texttt{indextitle}, and \texttt{indexsorttitle} fields. Also
+ note the \texttt{eventdate} field.},
+ keywords = {secondary},
+ langid = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib
new file mode 100644
index 00000000000..cb0b4df545e
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex66.bib
@@ -0,0 +1,8 @@
+@MANUAL{mc:lfcn-400,
+ title = {Ceramic Low Pass Filter},
+ note = {Rev. H},
+ number = {LFCN-400+},
+ organization = {Mini-Circuits},
+ titleaddon = {50~\(\Omega\), DC to 400~{MHz}},
+ url = {http://www.minicircuits.com/pdfs/LFCN-400.pdf},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib
new file mode 100644
index 00000000000..4efe0949d49
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex67.bib
@@ -0,0 +1,8 @@
+@MISC{scpi-99,
+ title = {Standard Commands for Programmable Instruments (SCPI)},
+ month = {may},
+ note = {Version 1999.0},
+ organization = {SCPI Consortium},
+ titleaddon = {Volume 1: Syntax and Style},
+ year = {1999},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib
new file mode 100644
index 00000000000..90489fe4874
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex68.bib
@@ -0,0 +1,9 @@
+@ARTICLE{scpi-04,
+ title = {Standard Digital Interface for Programmable Instrumentation},
+ doi = {10.1109/ieeestd.2004.95390},
+ month = {may},
+ pages = {0\_1--0\_5},
+ titleaddon = {Part 2: Codes, Formats, Protocols and Common Commands (Adoption of IEEE Std 488.2-1992)},
+ year = {2004},
+ journal = {IEC 60488-2 First edition 2004-05; IEEE 488.2},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib
new file mode 100644
index 00000000000..f130889538f
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex69.bib
@@ -0,0 +1,14 @@
+@TECHREPORT{Drake1948,
+ title = {Results obtained during accelerated transonic tests of
+ the {Bell} {XS-1} airplane in flights to a {MACH} number of
+ 0.92},
+ author = {Drake, Huber M. and McLaughlin, Milton D. and Goodman,
+ Harold R.},
+ institution = {NASA Dryden Flight Research Center},
+ location = {Edwards, CA},
+ month = {1},
+ number = {NACA-RM-L8A05A},
+ url = {http://www.nasa.gov/centers/dryden/pdf/87528main_RM-L8A05A.pdf},
+ year = {1948},
+ language = {english},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib
new file mode 100644
index 00000000000..d1a1b604e28
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex70.bib
@@ -0,0 +1,11 @@
+@THESIS{geer,
+ title = {Earl, Saint, Bishop, Skald~-- and Music~: The {Orkney Earldom}
+ of the Twelfth Century. {A} Musicological
+ Study},
+ author = {de Geer, Ingrid},
+ type = {phdthesis},
+ date = {1985},
+ institution = {Uppsala Universitet},
+ langid = {english},
+ location = {Uppsala},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib
new file mode 100644
index 00000000000..328bf3c8844
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex71.bib
@@ -0,0 +1,9 @@
+@THESIS{loh,
+ title = {High-Resolution Micromachined Interferometric Accelerometer},
+ author = {Loh, Nin C.},
+ type = {mathesis},
+ date = {1992},
+ institution = {Massachusetts Institute of Technology},
+ langid = {english},
+ location = {Cambridge, Mass.},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib
new file mode 100644
index 00000000000..077c6db7a7d
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex72.bib
@@ -0,0 +1,16 @@
+@BOOK{Duebner1878,
+ title = {Scholia in Theocritum, Nicandrum et Oppianum},
+ author = {D\"{u}bner, F. and Bussemaker, U. Cats},
+ publisher = {Editore Ambrosio Firmin--Didot},
+ year = {1878},
+ location = {Parisiis},
+}
+
+@INBOOK{Bussemaker1878,
+ title = {Scholia et Paraphrases in Nicandrum et Oppianum},
+ author = {Bussemaker, U. Cats},
+ pages = {243--364},
+ crossref = {Duebner1878},
+ titleaddon = {Partim nunc primum edidit, partim collatis cod. mss.,
+ emendavit, annotatione critica instruxit et indices confecit},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib
new file mode 100644
index 00000000000..6f002a228af
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex73.bib
@@ -0,0 +1,20 @@
+@THESIS{Deluz1972,
+ title = {\emph{Liber de quibusdam ultramarinis partibus et praecipuede
+ Terra sancta} de Guillaume de Boldensele (1336) ; suivi de la traduction de
+ Fr\`{e}re Jean Le Long (1351)},
+ author = {Christiane Deluz},
+ school = {Paris-IV},
+ type = {phdthesis},
+ year = {1972},
+ editor = {Mollat du Jourdin, Michel},
+ volumes = {2},
+}
+
+@BOOK{GuilielmusdeBoldensele,
+ title = {Liber de quibusdam ultramarinis partibus et praecipue de
+ Terra sancta},
+ author = {{Guilielmus de Boldensele}},
+ volume = {2},
+ crossref = {Deluz1972},
+ pages = {195-291},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib
new file mode 100644
index 00000000000..58cf26825a7
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex74.bib
@@ -0,0 +1,14 @@
+@ARTICLE{veilahti:abm,
+ title = {Alain Badiou's Mistake~--- Two Postulates of Dialectic Materialism},
+ author = {Antti Veilahti},
+ date = {2013-01-10},
+ eprint = {1301.1203v2},
+ eprintclass = {math.CT},
+ eprinttype = {arXiv},
+ language = {english},
+ month = jan,
+ year = {2013},
+ journal = {ArXiv e-prints},
+ langid = {english},
+ pagetotal = {41+1},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib
new file mode 100644
index 00000000000..daac54701d2
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex75.bib
@@ -0,0 +1,10 @@
+@ONLINE{wassenberg,
+ title = {Faster Radix Sort via Virtual Memory and Write-Combining},
+ author = {Wassenberg, Jan and Sanders, Peter},
+ date = {2010-08-17},
+ eprint = {1008.2849v1},
+ eprintclass = {cs.DS},
+ eprinttype = {arxiv},
+ langid = {english},
+ version = {1},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib
new file mode 100644
index 00000000000..d691dba09ff
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex76.bib
@@ -0,0 +1,18 @@
+@ARTICLE{Lisi1995,
+ title = {A solitary wave solution of the {M}axwell-{D}irac equations},
+ author = {{Lisi}, A.~G.},
+ doi = {10.1088/0305-4470/28/18/026},
+ eprint = {9410244},
+ eprintclass = {hep-th},
+ eprinttype = {arxiv},
+ month = {sep},
+ number = {18},
+ pages = {5385--5392},
+ url = {http://stacks.iop.org/0305-4470/28/5385},
+ volume = {28},
+ year = {1995},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System},
+ adsurl = {http://adsabs.harvard.edu/abs/1995JPhA...28.5385L},
+ journal = {Journal of Physics A: Mathematical and General},
+ publisher = {{IOP} Publishing},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib
deleted file mode 100644
index f3c17bdef33..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/examples.bib
+++ /dev/null
@@ -1,606 +0,0 @@
-@BOOK{Vasylenko92,
- author = {, . .},
- title = { : },
- address = {.},
- publisher = { },
- year = {1992},
- pagetotal = {430},
- language = {ukrainian},
-}
-@BOOK{Afanasyev92,
- author = {, . . and , . .},
- title = {
- },
- address = {.},
- publisher = {},
- year = {1992},
- pagetotal = {190},
- language = {russian},
-}
-@BOOK{Makilov91,
- author = {, . . and , . .
- and , . .},
- title = {
- },
- address = {.},
- publisher = {},
- year = {1991},
- pagetotal = {265},
- language = {russian},
-}
-@BOOK{Ponomarenko86,
- title = { },
- author = {. . and . .
- and . . and . . },
- editor = {. . },
- address = {.},
- publisher = {},
- year = {1986},
- pagetotal = {144},
- language = {russian},
-}
-@BOOK{Belousova81,
- title = {
- },
- author = {, . . and , . .
- and , . . and others},
- address = {.},
- publisher = {},
- year = {1981},
- pagetotal = {62},
- language = {russian},
-}
-@BOOK{BibOp91,
- title = { :
- },
- organization = {. . .
- . - .~.~. },
- edition = {2-, .},
- address = {.},
- publisher = {.~},
- year = {1991},
- pagetotal = {224},
- language = {russian},
-}
-@BOOK{Poems82,
- title = { . ,
- , : },
- compiler = {. and . },
- address = {.},
- publisher = {. },
- year = {1982},
- pagetotal = {224},
- language = {russian},
-}
-@BOOK{HistLit82,
- title = { : 4 .},
- organization = { , - .~.\ (.)},
- address = {.},
- year = {1982},
- volume = {3: },
- pagetotal = {876},
- language = {russian},
-}
-@BOOK{Landau:eldin,
- author = {. . and . . },
- title = { : 10 .},
- publisher = {. .\ .\ .-.\ .},
- address = {.},
- year = {1992},
- volume = {VIII. },
- edition = {3-, .},
- language = {russian},
-}
-@BOOK{BRLS94,
- title = { ii -i
- i : 4 .},
- organization = {.\ i. I- i.},
- address = {i},
- publisher = { i i},
- year = {1994},
- volume = {2: . 1900--1917 .},
- editor = {. . and I. . },
- pagetotal = {440},
- language = {russian},
-}
-@BOOK{Grosse80,
- author = {, . and , .},
- title = { : .\ .},
- address = {.},
- publisher = {},
- year = {1980},
- pagetotal = {392},
- language = {russian},
-}
-@BOOK{GOST7184,
- key = {},
- title = { 7.1-84. .
- .
- --- 7.1-76~; . 01.01.86.},
- address = {.},
- publisher = {- },
- year = {1984},
- pagetotal = {78},
- language = {russian},
-}
-@BOOK{ObchTech93,
- title = { : ...},
- address = {.},
- publisher = {},
- year = {1993},
- pagetotal = {99},
- language = {ukrainian},
-}
-@BOOK{Bibdelo86,
- title = { : . },
- composer = {. . and . . },
- edition = {2- .},
- address = {.},
- publisher = {},
- year = {1986},
- pagetotal = {224},
- language = {russian},
-}
-@INBOOK{Ponomarenko79,
- author = {, . .},
- title = { },
- booktitle = {
- },
- address = {.},
- publisher = {},
- year = {1979},
- pages = {141-148},
- language = {russian},
-}
-@INBOOK{Zeyts70,
- author = {, .},
- title = { },
- booktitle = { },
- bookauthor = {, . and , .},
- address = {.},
- publisher = {},
- year = {1970},
- pages = {172--186},
- language = {russian},
-}
-@INCOLLECTION{Ponoomarenko76,
- author = {, . .},
- title = {
- },
- booktitle = {
- },
- address = {},
- publisher = { },
- year = {1976},
- pages = {3-16},
- language = {russian},
-}
-@ARTICLE{Malikov92,
- author = {, . . and , . .},
- title = {
- },
- journal = { },
- year = {1992},
- number = {6},
- pages = {34-38},
- language = {russian},
-}
-@ARTICLE{Ponomarenko86a,
- author = {, . . and , . .},
- title = {
- },
- journal = {.\ .\ . .\ .-.\ .\ },
- year = {1986},
- volume = {7},
- number = {6},
- pages = {79-83},
- language = {russian},
-}
-@ARTICLE{dixit.pindyck:options,
- title = {The Options Approach to Capital Investment},
- author = {Avinash K. Dixit and Robert S. Pindyck},
- journal = {Harvard Business Review},
- year = {1995},
- month = {May-June},
- pages = {105--115},
-}
-@ARTICLE{RosGaz-article,
- title = {
- },
- journal = { },
- year = {1997},
- month = {19 },
- pages = {4},
- note = { . },
- language = {russian},
-}
-@INBOOK{Dolmatovskiy88,
- author = {, . .},
- title = {},
- booktitle = {},
- edition = {3-},
- address = {.},
- year = {1988},
- volume = {30},
- pages = {72},
- language = {russian},
-}
-@INPROCEEDINGS{Ponomarenko88,
- author = {, . . and , . .},
- title = {
-
- },
- booktitle = { .\ .\
- << >> ( 88)},
- volume = {1},
- address = {},
- publisher = { },
- year = {1988},
- pages = {149-153},
- language = {russian},
-}
-@INPROCEEDINGS{Melikov95,
- author = {Melikov, A. Z. and Ponomarenko, L. A.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
-}
-@INPROCEEDINGS{Gojchuk98,
- author = {, . .},
- title = { 㳿
- },
- booktitle = {
- },
- editor = {, . . and others},
- address = {.},
- publisher = {},
- year = {1998},
- series = {. 8: ˳},
- pages = {168--173},
- language = {ukrainian},
-}
-
-@INPROCEEDINGS{Polyakov98a,
- author = {. . },
- title = {
- },
- crossref = {Gojchuk98},
- annote = {
- .
-
-
-
- },
- pages = {213--220},
-}
-@INPROCEEDINGS{TranskSpivrob99:Purich,
- author = {, },
- title = {{}-{} :
- },
- language = {russian},
- booktitle = {
- {} {}-{} {}: {}
- },
- editor = {, .},
- address = {},
- publisher = { },
- organization = { },
- year = {1999},
- pagetotal = {196},
- booklanguage = {ukrainian},
-}
-@INPROCEEDINGS{Selikov95,
- author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
-}
-
-@INPROCEEDINGS{Selikov+95,
- author = {, A. Z. and , L. A. and , L. S. and , . .},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
- language = {russian},
-}
-@PHDTHESIS{Luus82,
- author = {, },
- title = {
- ,
-
- },
- type = { },
- number = {05.05.04},
- institution = {.\ .\ -},
- address = {.},
- year = {1982},
- pagetotal = {212},
- language = {russian},
-}
-@DOCTHESIS{KIA95-default,
- author = {, },
- title = {
- },
- number = {01.04.08},
- institution = {- .\ .~. },
- address = {},
- year = {1995},
- pagetotal = {350},
- language = {russian},
-}
-@MASTERSTHESIS{mastersthesis-minimal,
- title = {Mastering Thesis Writing},
- author = {{\'{E}}douard Masterly},
- year = {1988},
- institution = {Stanford University},
-}
-
-@MASTERSTHESIS{mastersthesis-full,
- title = {Mastering Thesis Writing},
- author = {{\'{E}}douard Masterly},
- month = jun,
- note = {This is a full MASTERSTHESIS entry},
- type = {Master's project},
- year = {1988},
- address = {English Department},
- institution = {Stanford University},
-}
-@BOOK{Ponomarenko76,
- author = {, . . and , . .},
- title = {
-
- },
- address = {.},
- year = {1976},
- pagetotal = {37},
- language = {russian},
- note = {(./ . - ; 76-76)},
-}
-@REPORT{Report81-rep,
- title = {
- {-2-12-}
- {-2-12-Dz}},
- institution = {.\ .\ - .\ -},
- address = {.},
- organization = {},
- year = {1981},
- pagetotal = {90},
- type = { {}},
- editor = {, . .},
- author = {, . . and others},
- note = {.\ 119692},
- language = {russian},
-}
-@REPORT{Report81b-rep-notype,
- title = {
- {-2-12-}
- {-2-12-Dz}},
- institution = {.\ .\ - .\ -},
- address = {.},
- organization = {},
- year = {1981},
- pagetotal = {90},
- note = {.\ 119692},
- language = {russian},
-}
-@TECHREPORT{Report81-techrep,
- title = {
- {-2-12-}
- {-2-12-Dz}},
- institution = {.\ .\ - .\ -},
- address = {.},
- organization = {},
- year = {1981},
- pagetotal = {90},
- editor = {, . .},
- author = {, . . and others},
- note = {.\ 119692},
- language = {russian},
-}
-@BOOK{CatalogMamals81,
- title = { .
- "--- },
- organization = { , .\ -},
- editor = {. . and . . },
- address = {.},
- publisher = {, .\ -},
- year = {1981},
- pagetotal = {456},
- language = {russian},
-}
-@BOOK{Instr86,
- title = {
- ~:
- 34-70-044-85~: . . . .
- 01.10.85~:
- 01.01.86 01.01.95},
- organization = {- },
- address = {.},
- year = {1986},
- pagetotal = {43},
- language = {russian},
-}
-@ONLINE{wiki:latex,
- author = {Wikipedia},
- title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia},
- year = {2012},
- url = {http://en.wikipedia.org/wiki/LaTeX},
- urldate = {25.01.2012},
-}
-
-@ONLINE{wiki:latex-2,
- author = {Wikipedia},
- title = {{\LaTeX}},
- howpublished = {Wikipedia, The Free Encyclopedia},
- year = {2012},
- eprint = {wiki/LaTeX},
- eprinttype = {WikiPedia},
- url = {http://en.wikipedia.org/wiki/LaTeX},
- urldate = {25.01.2012},
-}
-@ONLINE{phys:moodle,
- author = {, . .},
- title = { },
- howpublished = { },
- organization = {},
- year = {2012},
- url = {http://www.phys.nsu.ru/moodle/},
- urldate = {16.01.2012},
- language = {russian},
-}
-@MISC{EXFOR,
- author = {IAEA},
- title = {{EXFOR}---Experimental Nuclear Reaction Data },
- url = {http://www-nds.iaea.org/exfor},
- address = {P.O. Box 100, Wagramer Strasse 5, A-1400 Vienna, Austria},
- year = {2012},
- media = {eresource}
-}
-@BOOK{IsaacNewton,
- author = {Newton, {\relax Sir Isaac}},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- publisher = {William Innys},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {eresource},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
-}
-
-@BOOK{IsaacNewton-sl:sn,
- author = {{\relax Sir I}saac Newton},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {online},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
-}
-% publisher = {William Innys},
-@BOOK{Encyclopedia,
- title = { },
- publisher = { . .},
- year = {1996},
- address = {.},
- note = {1 . . (CD-ROM)},
- language = {russian},
- media = {eresource},
-}
-
-@ARTICLE{Nasirova,
- title = { },
- author = {, . .},
- language = {russian},
- note = { : http://vestnik.fa.ru/4(28)2003/4.html},
- number = {4},
- year = {2003},
- journal = { },
- media2 = {eresource},
- media = {online},
-}
-
-@BOOK{kremlincd,
- title = { },
- titleaddon = {. },
- language = {russian},
- note = {CD-ROM},
- date = {2007},
- location = {.},
- publisher = { },
- media = {eresource},
-}
-@ARTICLE{PhysRevLett.101.085006,
- author = {Kotelnikov, Igor and Rom\'e, Massimiliano},
- volume = {101},
- journal = {Phys. Rev. Lett.},
- month = {Aug},
- pagetotal = {4},
- title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap},
- year = {2008},
- doi = {10.1103/PhysRevLett.101.085006},
- issue = {8},
- publisher = {American Physical Society},
- pages = {085006},
-}
-
-% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006},
-@ARTICLE{1998PhRvE..57.7111K,
- author = {{Kinney}, R.~M. and {McWilliams}, J.~C.},
- title = {{Turbulent cascades in anisotropic magnetohydrodynamics}},
- journal = pre,
- keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation},
- year = {1998},
- month = jun,
- volume = {57},
- pages = {7111-7121},
- doi = {10.1103/PhysRevE.57.7111},
- adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System},
-}
-
-@ARTICLE{1998UFN,
- author = {, . . and , . .},
- title = { },
- journal = ufn,
- keywords = { , },
- year = {2015},
- month = jul,
- volume = {185},
- pages = {753-771},
- language = {russian},
- doi = {10.3367/UFNr.0185.201507c.0753},
- url = {http://ufn.ru/ru/articles/2015/7/c/},
-}
-@PATENT{patent1,
- author = {. . },
- authorcountry = {},
- title = { -},
- media = {text},
- type = {},
- number = {1095735},
- location = {. },
- ipc = {\ensuremath{^7} B 64 G 1/00},
- holder = { /, .},
- credits = {. . .},
- requestnumber = {000108705/28},
- requestdate = {07.04.2000},
- publicationdate = {10.03.2001},
- publication = {. 7 (I .)},
- prioritydate= {09.04.1999},
- prioritynumber = {09/289, 037},
- prioritycountry = {},
- pagetotal = {5 .~: .},
- language = {russian},
-}
-
-@PATENT{patent2,
- author = {. . },
- authorcountry = {},
- title = { },
- media = {text},
- type = {.},
- number = {2000131736/09},
- location = {. },
- ipc = {\ensuremath{^7} H 04 1/38, 04 J 13/00},
- holder = { . .-. - .},
- credits = {. . .},
- requestnumber = {000108705/28},
- date = {18.12.2000},
- publicationdate = {20.08.2002},
- publication = {. 23 (II .)},
- pagetotal = {2 .~: .},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex
index 71ca5986810..416e3baf217 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost.tex
@@ -1,8 +1,5 @@
\documentclass[a4paper]{article}
- % cmap inputenc, utf8
-\usepackage{cmap}
\usepackage[T2A]{fontenc}
-\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\usepackage{bibunits,verbatim,geometry,ifpdf}
@@ -93,18 +90,20 @@
\bibentry{ex06}
\subsection{Compiler}
-\bibentry{ex06a}
+\bibentry{ex07}
\subsection{Multiple-volume publications}
-\bibentry{ex07}
\bibentry{ex08}
\bibentry{ex09}
+\bibentry{ex10}
+\bibentry{ex64}
\subsection{Translated}
-\bibentry{ex10}
+\bibentry{ex11}
\subsection{Collections}
\bibentry{ex12}
+\bibentry{ex63}
\subsection{Dictionary}
\bibentry{ex13}
@@ -114,82 +113,112 @@
\subsection{Book}
\bibentry{ex14}
-\bibentry{ex14a}
+\bibentry{ex15}
+\bibentry{ex61}
\subsection{Collection}
-\bibentry{ex15}
+\bibentry{ex16}
\subsection{Journal}
-\bibentry{ex16}
\bibentry{ex17}
-\bibentry{ex17a}
+\bibentry{ex18}
+\bibentry{ex19}
+\bibentry{ex60}
+\bibentry{ex68}
+\bibentry{ex74}
+\bibentry{ex76}
\subsection{Newspaper}
-\bibentry{ex17b}
+\bibentry{ex20}
\subsection{Encyclopedia}
-\bibentry{ex18}
+\bibentry{ex21}
\subsection{Proceedings}
-\bibentry{ex19}
-\bibentry{ex20}
+\bibentry{ex22}
+\bibentry{ex23}
+\bibentry{ex65}
\subsubsection{With crossreference}
-\bibentry{ex20a}
+\bibentry{ex24}
+\bibentry{ex72}
+\bibentry{ex73}
\subsubsection{With multiple languages}
-\bibentry{ex20b}
+\bibentry{ex25}
+\bibentry{ex26}
+\bibentry{ex27}
\section{Others}
\subsection{Standard}
-\bibentry{ex11}
+\bibentry{ex28}
\subsection{Dissertation}
-\bibentry{ex21}
-\bibentry{ex21a}
-\bibentry{ex21b}
+\bibentry{ex29}
+\bibentry{ex30}
+\bibentry{ex31}
+\bibentry{ex32}
Allowed built-in values of \verb|type| field in \verb|@THESIS| entry are \verb|mathesis| for masters thesis, \verb|phdthesis| for Ph.D. thesis, and \verb|docthesis| for doctor of sciences dissertation. Any other value of \verb|type| is reproduced literally.
-\bibentry{ex22}
-\bibentry{ex22a}
+\bibentry{ex33}
+\bibentry{ex34}
+\bibentry{ex35}
+\bibentry{ex36}
+\bibentry{ex70}
+\bibentry{ex71}
\subsection{Preprint}
-\bibentry{ex23}
+\bibentry{ex37}
\subsection{Report}
-\bibentry{ex24}
-\bibentry{ex24a}
-\bibentry{ex24b}
+\bibentry{ex38}
+\bibentry{ex39}
+\bibentry{ex40}
\subsection{Catalog}
-\bibentry{ex25}
+\bibentry{ex41}
\subsection{Instruction}
-\bibentry{ex26}
+\bibentry{ex42}
+\bibentry{ex67}
\subsection{Patent}
-\bibentry{ex31}
+\bibentry{ex43}
+\bibentry{ex44}
\section{Electronic resources}
\subsection{Common Fields}
\verb|Url|, \verb|eprint|, \verb|doi| and \verb|media| fields can be assigned to any entry. Allowed values of \verb|media| are \verb|online|, \verb|eresource| and \verb|text| (default).
-\bibentry{ex27c}
-\bibentry{ex28}
-\bibentry{ex28a}
-\bibentry{ex29}
+\bibentry{ex45}
+\bibentry{ex46}
+\bibentry{ex47}
+\bibentry{ex48}
+\bibentry{ex49}
+\bibentry{ex50}
+\bibentry{ex51}
+\bibentry{ex58}
+\bibentry{ex66}
+\bibentry{ex69}
\subsection{Online Entry}
-\bibentry{ex27a}
-\bibentry{ex27b}
+\bibentry{ex52}
+\bibentry{ex53}
+\bibentry{ex54}
+\bibentry{ex57}
+\bibentry{ex59}
+\bibentry{ex62}
+\bibentry{ex75}
+
\section{Use of macros}
\texttt{jan}, \texttt{feb}, \texttt{mar},\ldots{} \texttt{dec} macros in \texttt{month} field
are automatically translated to Russian or English if necessary. Other languages are not supported.
-\bibentry{ex30}
+\bibentry{ex55}
+\bibentry{ex56}
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf
index ec6e396e081..bba2f56b117 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex
index 1dbe684d6c5..4f660f66098 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2003.tex
@@ -1,4 +1,6 @@
\edef\mybibstyle{gost2003}
+ % cmap inputenc,
+\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
@@ -11,6 +13,6 @@
This is style is intended for composing bibliographic catalogs and descriptions.
.
-
+
}
\input gost \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf
index 7732e939b6a..26c5c7a9701 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex
index 9e095c5c58e..6e458700d5a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008-customized.tex
@@ -1,4 +1,6 @@
\edef\mybibstyle{gost2008}
+ % cmap inputenc,
+\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: customization}
\newcommand{\mydescription}{
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf
index 317bc4d6161..125ac26156b 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex
index 6f74b26e901..3a1dbae78a8 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008.tex
@@ -1,4 +1,6 @@
\edef\mybibstyle{gost2008}
+ % cmap inputenc,
+\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf
index c2b666f2159..4dc6275164e 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex
index 2ba60bb037d..4e8e1a4f733 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008l.tex
@@ -1,4 +1,6 @@
\edef\mybibstyle{gost2008l}
+ % cmap inputenc,
+\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
@@ -11,6 +13,6 @@
Note: this style do not conform State Standard.
- : .
+ : .
}
\input gost
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf
index fc7d40fd5af..9faf6d62d1c 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex
index db27fa6ee14..91f4326f070 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008n.tex
@@ -1,6 +1,10 @@
-% !Mode:: "TeX:UTF-8"
\newcommand*{\mybibstyle}{gost2008n}
+%\newcommand*{\mybibstyle}{unsrtnat}
+%plainnat
+%unsrtnat
+ % cmap inputenc,
+\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
@@ -15,14 +19,12 @@
}
\documentclass[a4paper]{article}
-\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[ukrainian,russian]{babel}
\usepackage{natbib}
\usepackage{geometry,ifpdf}
\ifpdf
\usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
\else
\usepackage[hypertex]{hyperref}
\fi
@@ -65,7 +67,6 @@ HistLit82,
Landau:eldin,
BRLS94,
Grosse80,
-GOST7184,
ObchTech93,
Bibdelo86,
Ponomarenko79,
@@ -77,27 +78,63 @@ dixit.pindyck:options,
RosGaz-article,
Dolmatovskiy88,
Ponomarenko88,
-Melikov95, Selikov95, Selikov+95,
+Melikov95,
Gojchuk98,
Polyakov98a,
TranskSpivrob99:Purich,
+Selikov95,
+Selikov+95,
+GOST7184,
Luus82,
KIA95-default,
+mastersthesis-minimal,
+mastersthesis-full,
KIA85-autoref,
+vishnyakov:thesis1,
+vishnyakov:thesis2,
+Skvortsov:2008,
Ponomarenko76,
Report81-rep,
Report81b-rep-notype,
Report81-techrep,
CatalogMamals81,
Instr86,
-wiki:latex,
-wiki:latex-2,
-phys:moodle,
+patent1,
+patent2,
EXFOR,
IsaacNewton,
IsaacNewton-sl:sn,
-PhysRevLett.101.085006}
-
+Encyclopedia,
+Nasirova,
+kremlincd,
+PhysRevLett.101.085006,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+1998PhRvE..57.7111K,
+1998UFN,
+cs.SE:30073,
+CS:30073,
+nos_weeralarm_2009,
+gibbard,
+Williams2002,
+kruse,
+tmma,
+dekart:soch,
+moraux,
+mc:lfcn-400,
+scpi-99,
+scpi-04,
+Drake1948,
+geer,
+loh,
+Duebner1878,
+Bussemaker1878,
+Deluz1972,
+GuilielmusdeBoldensele,
+veilahti:abm,
+wassenberg,
+Lisi1995}
\verb|\cite|\par \cite{\allrefs}
@@ -109,10 +146,82 @@ PhysRevLett.101.085006}
\verb|\citeauthor*|\par \citeauthor*{\allrefs}
-
\bibliographystyle{\mybibstyle}
-\bibliography{bib/examples}
+\bibliography{bib/ex01,%
+bib/ex02,%
+bib/ex03,%
+bib/ex04,%
+bib/ex05,%
+bib/ex06,%
+bib/ex07,%
+bib/ex08,%
+bib/ex09,%
+bib/ex10,%
+bib/ex11,%
+bib/ex12,%
+bib/ex13,%
+bib/ex14,%
+bib/ex15,%
+bib/ex16,%
+bib/ex17,%
+bib/ex18,%
+bib/ex19,%
+bib/ex20,%
+bib/ex21,%
+bib/ex22,%
+bib/ex23,%
+bib/ex24,%
+bib/ex25,%
+bib/ex26,%
+bib/ex27,%
+bib/ex28,%
+bib/ex29,%
+bib/ex30,%
+bib/ex31,%
+bib/ex32,%
+bib/ex33,%
+bib/ex34,%
+bib/ex35,%
+bib/ex36,%
+bib/ex37,%
+bib/ex38,%
+bib/ex39,%
+bib/ex40,%
+bib/ex41,%
+bib/ex42,%
+bib/ex43,%
+bib/ex44,%
+bib/ex45,%
+bib/ex46,%
+bib/ex47,%
+bib/ex48,%
+bib/ex49,%
+bib/ex50,%
+bib/ex51,%
+bib/ex52,%
+bib/ex53,%
+bib/ex54,%
+bib/ex55,%
+bib/ex56,%
+bib/ex57,%
+bib/ex58,%
+bib/ex59,%
+bib/ex60,%
+bib/ex61,%
+bib/ex62,%
+bib/ex63,%
+bib/ex64,%
+bib/ex65,%
+bib/ex66,%
+bib/ex67,%
+bib/ex68,%
+bib/ex69,%
+bib/ex70,%
+bib/ex71,%
+bib/ex72,%
+bib/ex73,%
+bib/ex74,%
+bib/ex75,%
+bib/ex76}
\end{document}
-
-
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf
index 6349c96af53..ddefc85941e 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex
index 7b1613b8ff4..6e9e63132da 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008ns.tex
@@ -1,6 +1,10 @@
-% !Mode:: "TeX:UTF-8"
\newcommand*{\mybibstyle}{gost2008ns}
+%\newcommand*{\mybibstyle}{plainnat}
+%plainnat
+%unsrtnat
+ % cmap inputenc,
+\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
@@ -15,14 +19,12 @@
}
\documentclass[a4paper]{article}
-\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[ukrainian,russian]{babel}
\usepackage{natbib}
\usepackage{geometry,ifpdf}
\ifpdf
\usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
\else
\usepackage[hypertex]{hyperref}
\fi
@@ -71,7 +73,6 @@ HistLit82,
Landau:eldin,
BRLS94,
Grosse80,
-GOST7184,
ObchTech93,
Bibdelo86,
Ponomarenko79,
@@ -83,27 +84,65 @@ dixit.pindyck:options,
RosGaz-article,
Dolmatovskiy88,
Ponomarenko88,
-Melikov95, Selikov95, Selikov+95,
+Melikov95,
Gojchuk98,
Polyakov98a,
TranskSpivrob99:Purich,
+Selikov95,
+Selikov+95,
+GOST7184,
Luus82,
KIA95-default,
+mastersthesis-minimal,
+mastersthesis-full,
KIA85-autoref,
+vishnyakov:thesis1,
+vishnyakov:thesis2,
+Skvortsov:2008,
Ponomarenko76,
Report81-rep,
Report81b-rep-notype,
Report81-techrep,
CatalogMamals81,
Instr86,
-wiki:latex,
-wiki:latex-2,
-phys:moodle,
+patent1,
+patent2,
EXFOR,
IsaacNewton,
IsaacNewton-sl:sn,
-PhysRevLett.101.085006}
-
+Encyclopedia,
+Nasirova,
+kremlincd,
+PhysRevLett.101.085006,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+1998PhRvE..57.7111K,
+1998UFN,
+cs.SE:30073,
+CS:30073,
+nos_weeralarm_2009,
+gibbard,
+Williams2002,
+kruse,
+tmma,
+dekart:soch,
+moraux,
+mc:lfcn-400,
+scpi-99,
+scpi-04,
+Drake1948,
+geer,
+loh,
+Duebner1878,
+Bussemaker1878,
+Deluz1972,
+GuilielmusdeBoldensele,
+veilahti:abm,
+wassenberg,
+Lisi1995}
+
+\verb|\cite|\par \citep{\allrefs}
\verb|\citep|\par \citep{\allrefs}
@@ -113,10 +152,82 @@ PhysRevLett.101.085006}
\verb|\citeauthor*|\par \citeauthor*{\allrefs}
-
\bibliographystyle{\mybibstyle}
-\bibliography{bib/examples}
+\bibliography{bib/ex01,%
+bib/ex02,%
+bib/ex03,%
+bib/ex04,%
+bib/ex05,%
+bib/ex06,%
+bib/ex07,%
+bib/ex08,%
+bib/ex09,%
+bib/ex10,%
+bib/ex11,%
+bib/ex12,%
+bib/ex13,%
+bib/ex14,%
+bib/ex15,%
+bib/ex16,%
+bib/ex17,%
+bib/ex18,%
+bib/ex19,%
+bib/ex20,%
+bib/ex21,%
+bib/ex22,%
+bib/ex23,%
+bib/ex24,%
+bib/ex25,%
+bib/ex26,%
+bib/ex27,%
+bib/ex28,%
+bib/ex29,%
+bib/ex30,%
+bib/ex31,%
+bib/ex32,%
+bib/ex33,%
+bib/ex34,%
+bib/ex35,%
+bib/ex36,%
+bib/ex37,%
+bib/ex38,%
+bib/ex39,%
+bib/ex40,%
+bib/ex41,%
+bib/ex42,%
+bib/ex43,%
+bib/ex44,%
+bib/ex45,%
+bib/ex46,%
+bib/ex47,%
+bib/ex48,%
+bib/ex49,%
+bib/ex50,%
+bib/ex51,%
+bib/ex52,%
+bib/ex53,%
+bib/ex54,%
+bib/ex55,%
+bib/ex56,%
+bib/ex57,%
+bib/ex58,%
+bib/ex59,%
+bib/ex60,%
+bib/ex61,%
+bib/ex62,%
+bib/ex63,%
+bib/ex64,%
+bib/ex65,%
+bib/ex66,%
+bib/ex67,%
+bib/ex68,%
+bib/ex69,%
+bib/ex70,%
+bib/ex71,%
+bib/ex72,%
+bib/ex73,%
+bib/ex74,%
+bib/ex75,%
+bib/ex76}
\end{document}
-
-
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdf
new file mode 100644
index 00000000000..e9f95cce091
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex
new file mode 100644
index 00000000000..f678c78588c
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost2008s.tex
@@ -0,0 +1,331 @@
+\newcommand*{\mybibstyle}{gost2008s}
+
+ % cmap inputenc,
+\RequirePackage{cmap}
+\RequirePackage[cp1251]{inputenc}
+
+\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
+\newcommand{\mydescription}{
+ Example of a bibliography using the style \texttt{\mybibstyle.bst}
+ and \texttt{natbib} package.
+ No customization is applied.
+
+
+ \texttt{\mybibstyle.bst} \texttt{natbib}.
+ .
+}
+
+\documentclass[a4paper]{article}
+\usepackage[T2A]{fontenc}
+\usepackage[ukrainian,russian]{babel}
+\usepackage{geometry,ifpdf}
+\ifpdf
+ \usepackage[pdftex,hyperindex,unicode]{hyperref}
+\else
+ \usepackage[hypertex]{hyperref}
+\fi
+\usepackage{color}
+\definecolor{darkblue}{rgb}{0,0,.6}
+\hypersetup{
+ pdftitle = {\mytitle},
+ pdfauthor = {Igor A. Kotelnikov},
+ pdfsubject = {GOST, BibTeX},
+ pdfstartview = {FitH},
+% pdfborder = {0 0 0},
+% bookmarksopen = true,
+ bookmarksnumbered = true,
+% bookmarksopenlevel = 2,
+ colorlinks = true, linkcolor = darkblue,
+ citecolor = darkblue, filecolor = darkblue,
+ menucolor = darkblue, urlcolor = darkblue
+}
+
+\makeatletter
+\renewcommand{\@biblabel}[1]{#1.}
+\makeatother
+
+\begin{document}
+
+\title{\mytitle}
+\maketitle
+\begin{abstract}
+ \mydescription
+\end{abstract}
+
+%\verb|\cite{*}| \cite{*}
+%
+%\verb|\citep{*}| \citep{*}
+%
+%\verb|\citet{*}| \citet{*}
+
+\newcommand{\allrefs}{Vasylenko92,
+Afanasyev92,
+Makilov91,
+Ponomarenko86,
+Belousova81,
+BibOp91,
+Poems82,
+HistLit82,
+Landau:eldin,
+BRLS94,
+Grosse80,
+ObchTech93,
+Bibdelo86,
+Ponomarenko79,
+Zeyts70,
+Ponoomarenko76,
+Malikov92,
+Ponomarenko86a,
+dixit.pindyck:options,
+RosGaz-article,
+Dolmatovskiy88,
+Ponomarenko88,
+Melikov95,
+Gojchuk98,
+Polyakov98a,
+TranskSpivrob99:Purich,
+Selikov95,
+Selikov+95,
+GOST7184,
+Luus82,
+KIA95-default,
+mastersthesis-minimal,
+mastersthesis-full,
+KIA85-autoref,
+vishnyakov:thesis1,
+vishnyakov:thesis2,
+Skvortsov:2008,
+Ponomarenko76,
+Report81-rep,
+Report81b-rep-notype,
+Report81-techrep,
+CatalogMamals81,
+Instr86,
+patent1,
+patent2,
+EXFOR,
+IsaacNewton,
+IsaacNewton-sl:sn,
+Encyclopedia,
+Nasirova,
+kremlincd,
+PhysRevLett.101.085006,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+1998PhRvE..57.7111K,
+1998UFN,
+cs.SE:30073,
+CS:30073,
+nos_weeralarm_2009,
+gibbard,
+Williams2002,
+kruse,
+tmma,
+dekart:soch,
+moraux,
+mc:lfcn-400,
+scpi-99,
+scpi-04,
+Drake1948,
+geer,
+loh,
+Duebner1878,
+Bussemaker1878,
+Deluz1972,
+GuilielmusdeBoldensele,
+veilahti:abm,
+wassenberg,
+Lisi1995}
+
+\cite{\allrefs}
+
+\bibliographystyle{\mybibstyle}
+\bibliography{bib/ex01,%
+bib/ex02,%
+bib/ex03,%
+bib/ex04,%
+bib/ex05,%
+bib/ex06,%
+bib/ex07,%
+bib/ex08,%
+bib/ex09,%
+bib/ex10,%
+bib/ex11,%
+bib/ex12,%
+bib/ex13,%
+bib/ex14,%
+bib/ex15,%
+bib/ex16,%
+bib/ex17,%
+bib/ex18,%
+bib/ex19,%
+bib/ex20,%
+bib/ex21,%
+bib/ex22,%
+bib/ex23,%
+bib/ex24,%
+bib/ex25,%
+bib/ex26,%
+bib/ex27,%
+bib/ex28,%
+bib/ex29,%
+bib/ex30,%
+bib/ex31,%
+bib/ex32,%
+bib/ex33,%
+bib/ex34,%
+bib/ex35,%
+bib/ex36,%
+bib/ex37,%
+bib/ex38,%
+bib/ex39,%
+bib/ex40,%
+bib/ex41,%
+bib/ex42,%
+bib/ex43,%
+bib/ex44,%
+bib/ex45,%
+bib/ex46,%
+bib/ex47,%
+bib/ex48,%
+bib/ex49,%
+bib/ex50,%
+bib/ex51,%
+bib/ex52,%
+bib/ex53,%
+bib/ex54,%
+bib/ex55,%
+bib/ex56,%
+bib/ex57,%
+bib/ex58,%
+bib/ex59,%
+bib/ex60,%
+bib/ex61,%
+bib/ex62,%
+bib/ex63,%
+bib/ex64,%
+bib/ex65,%
+bib/ex66,%
+bib/ex67,%
+bib/ex68,%
+bib/ex69,%
+bib/ex70,%
+bib/ex71,%
+bib/ex72,%
+bib/ex73,%
+bib/ex74,%
+bib/ex75,%
+bib/ex76}
+
+\end{document}
+
+
+
+
+
+\newcommand*{\mybibstyle}{gost2008s}
+
+\RequirePackage[cp1251]{inputenc}
+
+\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
+\newcommand{\mydescription}{
+ Example of a bibliography using the style \texttt{\mybibstyle.bst}.
+ No customization is applied.
+
+
+ \texttt{\mybibstyle.bst}.
+ .
+}
+
+\documentclass[a4paper]{article}
+\usepackage[cp1251]{inputenc}
+\usepackage[T2A]{fontenc}
+\usepackage[ukrainian,russian]{babel}
+%\usepackage{natbib}
+\usepackage{geometry,ifpdf}
+\ifpdf
+ \usepackage[pdftex,hyperindex,unicode]{hyperref}
+ \usepackage{cmap}
+\else
+ \usepackage[hypertex]{hyperref}
+\fi
+\usepackage{color}
+\definecolor{darkblue}{rgb}{0,0,.6}
+\hypersetup{
+ pdftitle = {\mytitle},
+ pdfauthor = {Igor A. Kotelnikov},
+ pdfsubject = {GOST, BibTeX},
+ pdfstartview = {FitH},
+% pdfborder = {0 0 0},
+% bookmarksopen = true,
+ bookmarksnumbered = true,
+% bookmarksopenlevel = 2,
+ colorlinks = true, linkcolor = darkblue,
+ citecolor = darkblue, filecolor = darkblue,
+ menucolor = darkblue, urlcolor = darkblue
+}
+
+\makeatletter
+\renewcommand{\@biblabel}[1]{#1.}
+\makeatother
+
+\begin{document}
+
+\title{\mytitle}
+\maketitle
+\begin{abstract}
+ \mydescription
+\end{abstract}
+
+\newcommand{\allrefs}{Vasylenko92,
+Afanasyev92,
+Makilov91,
+Ponomarenko86,
+Belousova81,
+BibOp91,
+Poems82,
+HistLit82,
+Landau:eldin,
+BRLS94,
+Grosse80,
+GOST7184,
+ObchTech93,
+Bibdelo86,
+Ponomarenko79,
+Zeyts70,
+Ponoomarenko76,
+Malikov92,
+Ponomarenko86a,
+dixit.pindyck:options,
+RosGaz-article,
+Dolmatovskiy88,
+Ponomarenko88,
+Melikov95,
+Gojchuk98,
+Polyakov98a,
+TranskSpivrob99:Purich,
+Luus82,
+KIA95-default,
+KIA85-autoref,
+Ponomarenko76,
+Report81-rep,
+Report81b-rep-notype,
+Report81-techrep,
+CatalogMamals81,
+Instr86,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+EXFOR,
+IsaacNewton,
+IsaacNewton-sl:sn,
+PhysRevLett.101.085006}
+
+\nocite{*}
+\cite{\allrefs}
+
+\bibliographystyle{\mybibstyle}
+\bibliography{bib/examples}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdf
deleted file mode 100644
index b24f7d2e3d7..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex
deleted file mode 100644
index 2d9e4aa9d89..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/gost780.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\edef\mybibstyle{gost780}
-\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
-\newcommand{\mydescription}{
- Example of a bibliography using the style \texttt{\mybibstyle.bst}.
- \texttt{\mybibstyle.bst}.
-
-
- \texttt{\mybibstyle.bst}.
-
- Note: this is obsolete style.
-
- : .
-
-}
-\input gost \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd
index 7fa6c61ce35..677fbd04862 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/make-examples-on-win-cp1251.cmd
@@ -1,18 +1,9 @@
@echo ⮢ 䠩 ਬ஢
@echo ==========================
-@echo २ ।饣 饣 䠩
-
-rename .\bib\examples.bib examples.bak
-
-@echo ஢ 쪨 䠩 让
-
-copy .\bib\ex*.bib .\bib\examples.bib
-
@echo ᪠ ਬ஢
-for %%f in (gost7*.tex) do pdflatex -quiet %%f
-for %%f in (gost200*.tex) do pdflatex -quiet %%f
+for %%f in (gost200*.tex) do pdflatex %%f
@echo ᪠ ࠡ⪠ bibtex8 *.aux, ⮣ '㤠 㤥'
@@ -20,10 +11,9 @@ for %%f in (gost*.aux) do bibtex8 -B -c cp1251.csf %%f
@echo ᪠ ਬ஢ (室 ᫥ bibtex8)
-for %%f in (gost7*.tex) do pdflatex %%f
for %%f in (gost200*.tex) do pdflatex %%f
-for %%f in (gost2008-nat*.tex) do pdflatex %%f
-for %%f in (gost2008-sort*.tex) do pdflatex %%f
+pdflatex gost2008n.tex
+pdflatex gost2008ns.tex
@echo ⪠ 㦭 䠩
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib
deleted file mode 100644
index e4e96e837ca..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex06a.bib
+++ /dev/null
@@ -1,10 +0,0 @@
-@BOOK{Poems82,
- title = {Стихи о музыке. Русские,
- советские, зарубежные поэты: Сборник},
- compiler = {А. Бирюкова and В. Татаринов},
- address = {М.},
- publisher = {Сов. композитор},
- year = {1982},
- pagetotal = {224},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib
index b9191a04062..e4e96e837ca 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex07.bib
@@ -1,9 +1,10 @@
-@BOOK{HistLit82,
- title = {История русской литературы: В 4 т.},
- organization = {АН СССР, Ин-т рус.~лит.\ (Пушкин.дом)},
+@BOOK{Poems82,
+ title = {Стихи о музыке. Русские,
+ советские, зарубежные поэты: Сборник},
+ compiler = {А. Бирюкова and В. Татаринов},
address = {М.},
+ publisher = {Сов. композитор},
year = {1982},
- volume = {3: Расцвет реализма},
- pagetotal = {876},
+ pagetotal = {224},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib
index deffa99448d..b9191a04062 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex08.bib
@@ -1,10 +1,9 @@
-@BOOK{Landau:eldin,
- author = {Л. Д. Ландау and Е. М. Лифшиц},
- title = {Теоретическая физика: учебное пособие в 10 т.},
- publisher = {Наука. Гл.\ ред.\ физ.-мат.\ лит.},
+@BOOK{HistLit82,
+ title = {История русской литературы: В 4 т.},
+ organization = {АН СССР, Ин-т рус.~лит.\ (Пушкин.дом)},
address = {М.},
- year = {1992},
- volume = {VIII. Электродинамика сплошных сред},
- edition = {3-е, испр.},
+ year = {1982},
+ volume = {3: Расцвет реализма},
+ pagetotal = {876},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib
index b465fc9aeae..deffa99448d 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex09.bib
@@ -1,12 +1,10 @@
-@BOOK{BRLS94,
- title = {Нарысы па гiсторыi беларуска-рускiх
- лiтаратурных сувязей: У 4 кн.},
- organization = {Акад.\ навук Беларусi. Iн-т лiт.},
- address = {Мiнск},
- publisher = {Навука i тэхнiка},
- year = {1994},
- volume = {2: Пачатак ХХ ст. 1900--1917 гг.},
- editor = {В. А. Каваленка and I. Я. Навуменка},
- pagetotal = {440},
+@BOOK{Landau:eldin,
+ author = {Л. Д. Ландау and Е. М. Лифшиц},
+ title = {Теоретическая физика: учебное пособие в 10 т.},
+ publisher = {Наука. Гл.\ ред.\ физ.-мат.\ лит.},
+ address = {М.},
+ year = {1992},
+ volume = {VIII. Электродинамика сплошных сред},
+ edition = {3-е, испр.},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib
index ebda00a86e9..b465fc9aeae 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex10.bib
@@ -1,9 +1,12 @@
-@BOOK{Grosse80,
- author = {Гроссе, Э. and Вайсмангель, Х.},
- title = {Химия для любознательных: Пер.\ с нем.},
- address = {М.},
- publisher = {Химия},
- year = {1980},
- pagetotal = {392},
+@BOOK{BRLS94,
+ title = {Нарысы па гiсторыi беларуска-рускiх
+ лiтаратурных сувязей: У 4 кн.},
+ organization = {Акад.\ навук Беларусi. Iн-т лiт.},
+ address = {Мiнск},
+ publisher = {Навука i тэхнiка},
+ year = {1994},
+ volume = {2: Пачатак ХХ ст. 1900--1917 гг.},
+ editor = {В. А. Каваленка and I. Я. Навуменка},
+ pagetotal = {440},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib
index 16a1d96e615..ebda00a86e9 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex11.bib
@@ -1,11 +1,9 @@
-@BOOK{GOST7184,
- key = {ГОСТ},
- title = {ГОСТ 7.1-84. Библиографическое описание документа.
- Общие требования и правила составления.
- --- Взамен ГОСТ 7.1-76~; введ. 01.01.86.},
+@BOOK{Grosse80,
+ author = {Гроссе, Э. and Вайсмангель, Х.},
+ title = {Химия для любознательных: Пер.\ с нем.},
address = {М.},
- publisher = {Изд-во стандартов},
- year = {1984},
- pagetotal = {78},
+ publisher = {Химия},
+ year = {1980},
+ pagetotal = {392},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib
deleted file mode 100644
index 7d086ef71ff..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex14a.bib
+++ /dev/null
@@ -1,11 +0,0 @@
-@INBOOK{Zeyts70,
- author = {Зейтц, Ф.},
- title = {О приведении пространственных групп},
- booktitle = {Симметрия в твердом теле},
- bookauthor = {Нокс, Р. and Голд, А.},
- address = {М.},
- publisher = {Наука},
- year = {1970},
- pages = {172--186},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib
index e73a2859d70..7d086ef71ff 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex15.bib
@@ -1,12 +1,11 @@
-@INCOLLECTION{Ponoomarenko76,
- author = {Пономаренко, Л. А.},
- title = {Структура системы прерывания с ситуационными
- приоритетами в АСУТП станов горячей прокатки},
- booktitle = {Разработка автоматизированных систем управления
- технологическими процессами},
- address = {Тбилиси},
- publisher = {Сабчота Сакартвело},
- year = {1976},
- pages = {3-16},
+@INBOOK{Zeyts70,
+ author = {Зейтц, Ф.},
+ title = {О приведении пространственных групп},
+ booktitle = {Симметрия в твердом теле},
+ bookauthor = {Нокс, Р. and Голд, А.},
+ address = {М.},
+ publisher = {Наука},
+ year = {1970},
+ pages = {172--186},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib
index d3396fb15a2..e73a2859d70 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex16.bib
@@ -1,10 +1,12 @@
-@ARTICLE{Malikov92,
- author = {Меликов, А. З. and Пономаренко, Л. А.},
- title = {Оптимизация цифровой сети интегрального обслуживания
- с конечным числом пользователей и блокировками},
- journal = {Автоматика и телемеханика},
- year = {1992},
- number = {6},
- pages = {34-38},
+@INCOLLECTION{Ponoomarenko76,
+ author = {Пономаренко, Л. А.},
+ title = {Структура системы прерывания с ситуационными
+ приоритетами в АСУТП станов горячей прокатки},
+ booktitle = {Разработка автоматизированных систем управления
+ технологическими процессами},
+ address = {Тбилиси},
+ publisher = {Сабчота Сакартвело},
+ year = {1976},
+ pages = {3-16},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib
index 00f2d3e8697..d3396fb15a2 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17.bib
@@ -1,11 +1,10 @@
-@ARTICLE{Ponomarenko86a,
- author = {Пономаренко, Л. А. and Меликов, А. З.},
- title = {Ситуационное управление многоканальной системой
- с переменной структурой обслуживания неоднородного потока},
- journal = {Изв.\ АН Азерб.\ Респ. Сер.\ физ.-техн.\ и мат.\ наук},
- year = {1986},
- volume = {7},
+@ARTICLE{Malikov92,
+ author = {Меликов, А. З. and Пономаренко, Л. А.},
+ title = {Оптимизация цифровой сети интегрального обслуживания
+ с конечным числом пользователей и блокировками},
+ journal = {Автоматика и телемеханика},
+ year = {1992},
number = {6},
- pages = {79-83},
+ pages = {34-38},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib
deleted file mode 100644
index 5351992600a..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17a.bib
+++ /dev/null
@@ -1,8 +0,0 @@
-@ARTICLE{dixit.pindyck:options,
- title = {The Options Approach to Capital Investment},
- author = {Avinash K. Dixit and Robert S. Pindyck},
- journal = {Harvard Business Review},
- year = {1995},
- month = {May-June},
- pages = {105--115},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib
deleted file mode 100644
index b9584ca4123..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex17b.bib
+++ /dev/null
@@ -1,10 +0,0 @@
-@ARTICLE{RosGaz-article,
- title = {Федеральный закон о внесении изменений
- и дополнений в Семейный кодекс Российской Федерации},
- journal = {Российская газета},
- year = {1997},
- month = {19 нояб},
- pages = {4},
- note = {Российская Федерация. Законы},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib
index 7c305452e68..00f2d3e8697 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex18.bib
@@ -1,11 +1,11 @@
-@INBOOK{Dolmatovskiy88,
- author = {Долматовский, Ю. А.},
- title = {Электромобиль},
- booktitle = {БСЭ},
- edition = {3-е},
- address = {М.},
- year = {1988},
- volume = {30},
- pages = {72},
+@ARTICLE{Ponomarenko86a,
+ author = {Пономаренко, Л. А. and Меликов, А. З.},
+ title = {Ситуационное управление многоканальной системой
+ с переменной структурой обслуживания неоднородного потока},
+ journal = {Изв.\ АН Азерб.\ Респ. Сер.\ физ.-техн.\ и мат.\ наук},
+ year = {1986},
+ volume = {7},
+ number = {6},
+ pages = {79-83},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib
index 8a9d3979f7f..5351992600a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex19.bib
@@ -1,14 +1,8 @@
-@INPROCEEDINGS{Ponomarenko88,
- author = {Пономаренко, Л. А. and Жучкова, И. В.},
- title = {Оптимальное назначение приоритетов
- при организации доступа в локальных
- вычислительных сетях АСУТП},
- booktitle = {Труды Междунар.\ конф.\
- <<Локальные вычислительные сети>> (ЛОКСЕТЬ 88)},
- volume = {1},
- address = {Рига},
- publisher = {ИЭВТ АН Латвии},
- year = {1988},
- pages = {149-153},
- language = {russian},
+@ARTICLE{dixit.pindyck:options,
+ title = {The Options Approach to Capital Investment},
+ author = {Avinash K. Dixit and Robert S. Pindyck},
+ journal = {Harvard Business Review},
+ year = {1995},
+ month = {May-June},
+ pages = {105--115},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib
index 59d5fd3c678..b9584ca4123 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20.bib
@@ -1,9 +1,10 @@
-@INPROCEEDINGS{Melikov95,
- author = {Melikov, A. Z. and Ponomarenko, L. A.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
+@ARTICLE{RosGaz-article,
+ title = {Федеральный закон о внесении изменений
+ и дополнений в Семейный кодекс Российской Федерации},
+ journal = {Российская газета},
+ year = {1997},
+ month = {19 нояб},
+ pages = {4},
+ note = {Российская Федерация. Законы},
+ language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib
deleted file mode 100644
index cf0f2c1c930..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20a.bib
+++ /dev/null
@@ -1,28 +0,0 @@
-@INPROCEEDINGS{Gojchuk98,
- author = {Гойчук, А. Ф.},
- title = {Особливості етіології і патогенезу поперечного раку
- дуба звичайного в Україні},
- booktitle = {Науковий вісник Національного
- аграрного університету},
- editor = {Мельничука, Д. О. and others},
- address = {К.},
- publisher = {НАУ},
- year = {1998},
- series = {Вип. 8: Лісівництво},
- pages = {168--173},
- language = {ukrainian},
-}
-
-@INPROCEEDINGS{Polyakov98a,
- author = {М. О. Поляков},
- title = {Системний ефект агрегування лісосік в управлінні
- лісовими ресурсами на регіональному рівні},
- crossref = {Gojchuk98},
- annote = {Розглянуто ефект агрегування елементарних
- господарських одиниць на розмір розрахункової лісосіки.
- Запропоновано метод визначення максимально допустимого розміру
- рубання за площею на рівні регіону в контексті системи
- державного регулювання лісокористування для умов ринкової
- економіки},
- pages = {213--220},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib
deleted file mode 100644
index 804f156ba17..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20b.bib
+++ /dev/null
@@ -1,16 +0,0 @@
-@INPROCEEDINGS{TranskSpivrob99:Purich,
- author = {Пурич, Штефан},
- title = {{Р}умынско-{У}краинское трансграничное сотрудничество:
- проблемы и перспективы},
- language = {russian},
- booktitle = {Транскордонне співробітництво у поліетнічних регіонах
- {С}хідної та {П}івденно-{С}хідної {Є}вропи: {М}атеріали наукового
- симпозіуму},
- editor = {Макара, Ю.},
- address = {Чернівці},
- publisher = {Золоті литаври},
- organization = {Буковинський політологічний центр},
- year = {1999},
- pagetotal = {196},
- booklanguage = {ukrainian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib
index a6769ddfb48..7c305452e68 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21.bib
@@ -1,14 +1,11 @@
-@PHDTHESIS{Luus82,
- author = {Луус, Роман Аркадьевич},
- title = {Исследование оборудования с пневмовакуумным
- приводом для захвата, перемещения и фиксации
- при обработке пористых и легкоповреждаемых
- строительных изделий},
- type = {Диссертация на соискание ученой степени кандидата технических наук},
- number = {05.05.04},
- institution = {Моск.\ строит.\ ин-т},
+@INBOOK{Dolmatovskiy88,
+ author = {Долматовский, Ю. А.},
+ title = {Электромобиль},
+ booktitle = {БСЭ},
+ edition = {3-е},
address = {М.},
- year = {1982},
- pagetotal = {212},
+ year = {1988},
+ volume = {30},
+ pages = {72},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib
index d2e55c91b32..8a9d3979f7f 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22.bib
@@ -1,12 +1,14 @@
-@THESIS{KIA85-autoref,
- author = {Котельников, Игорь Александрович},
- title = {Теория магнитного удержания двухкомпонентной плазмы
- в открытых ловушках},
- type = {Автореф.\ дис.\ на соиск.\ учен.\ степ.\ д-ра физ.-мат.\ наук},
- number = {01.04.08},
- school = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН},
- address = {Новосибирск},
- year = {1995},
- pagetotal = {17},
+@INPROCEEDINGS{Ponomarenko88,
+ author = {Пономаренко, Л. А. and Жучкова, И. В.},
+ title = {Оптимальное назначение приоритетов
+ при организации доступа в локальных
+ вычислительных сетях АСУТП},
+ booktitle = {Труды Междунар.\ конф.\
+ <<Локальные вычислительные сети>> (ЛОКСЕТЬ 88)},
+ volume = {1},
+ address = {Рига},
+ publisher = {ИЭВТ АН Латвии},
+ year = {1988},
+ pages = {149-153},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib
deleted file mode 100644
index 9569e1bb2d5..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex22a.bib
+++ /dev/null
@@ -1,46 +0,0 @@
-@THESIS{vishnyakov:thesis1,
- title = {Модели и методы оценки коммерческих банков в условиях неопределенности},
- author = {Вишняков, Илья Владимирович},
- year = {2002},
- date = {2002-02-04},
- langid = {russian},
- language = {russian},
- location = {М.},
- speciality = {экон. наук},
- number = {08.00.13},
- pagetotal = {234},
- titleaddon = {защищена 12.02.02~: утв. 24.06.02},
-}
-
-@THESIS{vishnyakov:thesis2,
- title = {Модели и методы оценки коммерческих банков в условиях неопределенности},
- author = {Вишняков, Илья Владимирович},
- type = {phdthesis},
- addendum = {Библиогр.: с. 220---230.~--- 04200204433},
- _year = {2002},
- date = {2002-02-04},
- langid = {russian},
- language = {russian},
- location = {М.},
- speciality = {экон. наук},
- specialitycode = {08.00.13},
- media = {text},
- pagetotal = {234},
- titleaddon = {защищена 12.02.02~: утв. 24.06.02},
-}
-
-
-@THESIS{Skvortsov:2008,
- title = {Флуктуационные и интерференционные эффекты в мезоскопических системах},
- author = {Скворцов, Михаил Андреевич},
- type = {docthesis},
- _year = {2008},
- institution = {ИТФ им. Л.\,Д.~Ландау},
- langid = {russian},
- language = {russian},
- location = {Черноголовка},
- speciality = {физ.-мат. наук},
- specialitycode = {01.04.02},
- media = {text},
- pagetotal = {224},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib
index 950f353aef1..59d5fd3c678 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex23.bib
@@ -1,11 +1,9 @@
-@BOOK{Ponomarenko76,
- author = {Пономаренко, Л. А. and Буадзе, В. В.},
- title = {Математические модели и алгоритмы сбора
- и обработки информации в АСУТП непрерывных
- станов горячей прокатки},
- address = {К.},
- year = {1976},
- pagetotal = {37},
- language = {russian},
- note = {(Препр./ АН Украины. Ин-т кибернетики; 76-76)},
+@INPROCEEDINGS{Melikov95,
+ author = {Melikov, A. Z. and Ponomarenko, L. A.},
+ title = {On the approach to optimal control
+ of queuing systems with multiple classes of customers},
+ booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
+ address = {Wroclaw (Poland)},
+ year = {1995},
+ pages = {507-515},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib
index f1bd612b343..cf0f2c1c930 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24.bib
@@ -1,15 +1,28 @@
-@REPORT{Report81-rep,
- title = {Проведение испытаний и исследований
- теплотехнических свойств камер {КХС-2-12-ВЗ}
- и {КХС-2-12-КЗІО}},
- institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти},
- address = {М.},
- organization = {ВИНИТИ},
- year = {1981},
- pagetotal = {90},
- type = {Отчет о {НИР}},
- editor = {Путин, В. В.},
- author = {Медведев, Д. А. and others},
- note = {Инв.\ № В 119692},
- language = {russian},
+@INPROCEEDINGS{Gojchuk98,
+ author = {Гойчук, А. Ф.},
+ title = {Особливості етіології і патогенезу поперечного раку
+ дуба звичайного в Україні},
+ booktitle = {Науковий вісник Національного
+ аграрного університету},
+ editor = {Мельничука, Д. О. and others},
+ address = {К.},
+ publisher = {НАУ},
+ year = {1998},
+ series = {Вип. 8: Лісівництво},
+ pages = {168--173},
+ language = {ukrainian},
+}
+
+@INPROCEEDINGS{Polyakov98a,
+ author = {М. О. Поляков},
+ title = {Системний ефект агрегування лісосік в управлінні
+ лісовими ресурсами на регіональному рівні},
+ crossref = {Gojchuk98},
+ annote = {Розглянуто ефект агрегування елементарних
+ господарських одиниць на розмір розрахункової лісосіки.
+ Запропоновано метод визначення максимально допустимого розміру
+ рубання за площею на рівні регіону в контексті системи
+ державного регулювання лісокористування для умов ринкової
+ економіки},
+ pages = {213--220},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib
index cc599b52b7b..804f156ba17 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex25.bib
@@ -1,11 +1,16 @@
-@BOOK{CatalogMamals81,
- title = {Каталог млекопитающих СССР.
- Плиоцен "--- современность},
- organization = {АН СССР, Зоол.\ ин-т},
- editor = {И. М. Громова and Г. И. Барановой},
- address = {Л.},
- publisher = {Наука, Ленинг.\ отд-ние},
- year = {1981},
- pagetotal = {456},
+@INPROCEEDINGS{TranskSpivrob99:Purich,
+ author = {Пурич, Штефан},
+ title = {{Р}умынско-{У}краинское трансграничное сотрудничество:
+ проблемы и перспективы},
language = {russian},
+ booktitle = {Транскордонне співробітництво у поліетнічних регіонах
+ {С}хідної та {П}івденно-{С}хідної {Є}вропи: {М}атеріали наукового
+ симпозіуму},
+ editor = {Макара, Ю.},
+ address = {Чернівці},
+ publisher = {Золоті литаври},
+ organization = {Буковинський політологічний центр},
+ year = {1999},
+ pagetotal = {196},
+ booklanguage = {ukrainian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib
index cff85edfbe4..5f413581359 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex26.bib
@@ -1,12 +1,9 @@
-@BOOK{Instr86,
- title = {Типовая инструкция по эксплуатации
- топливоотдачи тепловых электростанций~:
- ТИ 34-70-044-85~: Утв. Гл. техн. упр.
- по эксплуатации энергосистем 01.10.85~:
- Срок действия установлен с 01.01.86 до 01.01.95},
- organization = {М-во энергетики и электрификации СССР},
- address = {М.},
- year = {1986},
- pagetotal = {43},
- language = {russian},
+@INPROCEEDINGS{Selikov95,
+ author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.},
+ title = {On the approach to optimal control
+ of queuing systems with multiple classes of customers},
+ booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
+ address = {Wroclaw (Poland)},
+ year = {1995},
+ pages = {507-515},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27.bib
index bdd9cdd95b0..ab7431fd326 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex20c.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27.bib
@@ -1,13 +1,3 @@
-@INPROCEEDINGS{Selikov95,
- author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
-}
-
@INPROCEEDINGS{Selikov+95,
author = {Селиков, A. Z. and Пономарь, L. A. and Крамаренко, L. S. and Золкин, Л. Ю.},
title = {On the approach to optimal control
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib
index 530ca4e2eb8..16a1d96e615 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28.bib
@@ -1,25 +1,11 @@
-@BOOK{IsaacNewton,
- author = {Newton, {\relax Sir Isaac}},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- publisher = {William Innys},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {eresource},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
+@BOOK{GOST7184,
+ key = {ГОСТ},
+ title = {ГОСТ 7.1-84. Библиографическое описание документа.
+ Общие требования и правила составления.
+ --- Взамен ГОСТ 7.1-76~; введ. 01.01.86.},
+ address = {М.},
+ publisher = {Изд-во стандартов},
+ year = {1984},
+ pagetotal = {78},
+ language = {russian},
}
-
-@BOOK{IsaacNewton-sl:sn,
- author = {{\relax Sir I}saac Newton},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {online},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
-}
-% publisher = {William Innys},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib
deleted file mode 100644
index de6e440d0af..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex28a.bib
+++ /dev/null
@@ -1,32 +0,0 @@
-@BOOK{Encyclopedia,
- title = {Художественная энциклопедия зарубежного классического искусства},
- publisher = {Большая Рос. энцикл.},
- year = {1996},
- address = {М.},
- note = {1 электрон. опт. диск (CD-ROM)},
- language = {russian},
- media = {eresource},
-}
-
-@ARTICLE{Nasirova,
- title = {Модели государственного регулирования страховой деятельности},
- author = {Насырова, Г. А.},
- language = {russian},
- note = {Режим доступа: http://vestnik.fa.ru/4(28)2003/4.html},
- number = {4},
- year = {2003},
- journal = {Вестник Финансовой академии},
- media2 = {eresource},
- media = {online},
-}
-
-@BOOK{kremlincd,
- title = {Московский Кремль},
- titleaddon = {трехмер. путеводитель},
- language = {russian},
- note = {CD-ROM},
- date = {2007},
- location = {М.},
- publisher = {Новый Диск},
- media = {eresource},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib
index 416cb5b91c9..a6769ddfb48 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex29.bib
@@ -1,15 +1,14 @@
-@ARTICLE{PhysRevLett.101.085006,
- author = {Kotelnikov, Igor and Rom\'e, Massimiliano},
- volume = {101},
- journal = {Phys. Rev. Lett.},
- month = {Aug},
- pagetotal = {4},
- title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap},
- year = {2008},
- doi = {10.1103/PhysRevLett.101.085006},
- issue = {8},
- publisher = {American Physical Society},
- pages = {085006},
+@PHDTHESIS{Luus82,
+ author = {Луус, Роман Аркадьевич},
+ title = {Исследование оборудования с пневмовакуумным
+ приводом для захвата, перемещения и фиксации
+ при обработке пористых и легкоповреждаемых
+ строительных изделий},
+ type = {Диссертация на соискание ученой степени кандидата технических наук},
+ number = {05.05.04},
+ institution = {Моск.\ строит.\ ин-т},
+ address = {М.},
+ year = {1982},
+ pagetotal = {212},
+ language = {russian},
}
-
-% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib
index b9e2ce43b5b..9464e2b0086 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex30.bib
@@ -1,27 +1,11 @@
-@ARTICLE{1998PhRvE..57.7111K,
- author = {{Kinney}, R.~M. and {McWilliams}, J.~C.},
- title = {{Turbulent cascades in anisotropic magnetohydrodynamics}},
- journal = pre,
- keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation},
- year = {1998},
- month = jun,
- volume = {57},
- pages = {7111-7121},
- doi = {10.1103/PhysRevE.57.7111},
- adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System},
-}
-
-@ARTICLE{1998UFN,
- author = {Котельников, И. А. and Астрелин, В. Т.},
- title = {Теория плазменного эмиттера положительных ионов},
- journal = ufn,
- keywords = {плазменный эмиттер, критерий Бома},
- year = {2015},
- month = jul,
- volume = {185},
- pages = {753-771},
+@DOCTHESIS{KIA95-default,
+ author = {Котельников, Игорь Александрович},
+ title = {Теория магнитного удержания двухкомпонентной плазмы
+ в открытых ловушках},
+ number = {01.04.08},
+ institution = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН},
+ address = {Новосибирск},
+ year = {1995},
+ pagetotal = {350},
language = {russian},
- doi = {10.3367/UFNr.0185.201507c.0753},
- url = {http://ufn.ru/ru/articles/2015/7/c/},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib
index 7c86f15b6e0..15cb434e7cf 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex31.bib
@@ -1,40 +1,7 @@
-@PATENT{patent1,
- author = {Э. В. Тернер},
- authorcountry = {США},
- title = {Одноразовая ракета-носитель},
- media = {text},
- type = {заявка},
- number = {1095735},
- location = {Рос. Федерация},
- ipc = {МПК\ensuremath{^7} B 64 G 1/00},
- holder = {заявитель Спейс Системз/Лорал, инк.},
- credits = {патент. поверенный Егорова Г. Б.},
- requestnumber = {000108705/28},
- requestdate = {07.04.2000},
- publicationdate = {10.03.2001},
- publication = {Бюл. № 7 (I ч.)},
- prioritydate= {09.04.1999},
- prioritynumber = {09/289, 037},
- prioritycountry = {США},
- pagetotal = {5 с.~: ил.},
- language = {russian},
+@MASTERSTHESIS{mastersthesis-minimal,
+ title = {Mastering Thesis Writing},
+ author = {{\'{E}}douard Masterly},
+ year = {1988},
+ institution = {Stanford University},
}
-@PATENT{patent2,
- author = {В. И. Чугаева},
- authorcountry = {РФ},
- title = {Приемопередающее устройство},
- media = {text},
- type = {пат.},
- number = {2000131736/09},
- location = {Рос. Федерация},
- ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00},
- holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.},
- credits = {патент. поверенный Егорова Г. Б.},
- requestnumber = {000108705/28},
- date = {18.12.2000},
- publicationdate = {20.08.2002},
- publication = {Бюл. № 23 (II ч.)},
- pagetotal = {2 с.~: ил.},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex32.bib
index 49be1815053..7db20865644 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex21b.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex32.bib
@@ -1,10 +1,3 @@
-@MASTERSTHESIS{mastersthesis-minimal,
- title = {Mastering Thesis Writing},
- author = {{\'{E}}douard Masterly},
- year = {1988},
- institution = {Stanford University},
-}
-
@MASTERSTHESIS{mastersthesis-full,
title = {Mastering Thesis Writing},
author = {{\'{E}}douard Masterly},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex33.bib
index 9464e2b0086..d2e55c91b32 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex21a.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex33.bib
@@ -1,11 +1,12 @@
-@DOCTHESIS{KIA95-default,
+@THESIS{KIA85-autoref,
author = {Котельников, Игорь Александрович},
title = {Теория магнитного удержания двухкомпонентной плазмы
в открытых ловушках},
+ type = {Автореф.\ дис.\ на соиск.\ учен.\ степ.\ д-ра физ.-мат.\ наук},
number = {01.04.08},
- institution = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН},
+ school = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН},
address = {Новосибирск},
year = {1995},
- pagetotal = {350},
+ pagetotal = {17},
language = {russian},
}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib
new file mode 100644
index 00000000000..6d6ddb490dd
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex34.bib
@@ -0,0 +1,13 @@
+@THESIS{vishnyakov:thesis1,
+ title = {Модели и методы оценки коммерческих банков в условиях неопределенности},
+ author = {Вишняков, Илья Владимирович},
+ date = {2002},
+ langid = {russian},
+ language = {russian},
+ location = {М.},
+ speciality = {экон. наук},
+ number = {08.00.13},
+ pagetotal = {234},
+ titleaddon = {защищена 12.02.02~: утв. 24.06.02},
+}
+
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib
new file mode 100644
index 00000000000..c77e99b46ec
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex35.bib
@@ -0,0 +1,16 @@
+@THESIS{vishnyakov:thesis2,
+ title = {Модели и методы оценки коммерческих банков в условиях неопределенности},
+ author = {Вишняков, Илья Владимирович},
+ type = {phdthesis},
+ addendum = {Библиогр.: с. 220---230.~--- 04200204433},
+ _year = {2002},
+ date = {2002-02-04},
+ langid = {russian},
+ language = {russian},
+ location = {М.},
+ speciality = {экон. наук},
+ specialitycode = {08.00.13},
+ media = {text},
+ pagetotal = {234},
+ titleaddon = {защищена 12.02.02~: утв. 24.06.02},
+} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib
new file mode 100644
index 00000000000..88f70967cdc
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex36.bib
@@ -0,0 +1,14 @@
+@THESIS{Skvortsov:2008,
+ title = {Флуктуационные и интерференционные эффекты в мезоскопических системах},
+ author = {Скворцов, Михаил Андреевич},
+ type = {docthesis},
+ _year = {2008},
+ institution = {ИТФ им. Л.\,Д.~Ландау},
+ langid = {russian},
+ language = {russian},
+ location = {Черноголовка},
+ speciality = {физ.-мат. наук},
+ specialitycode = {01.04.02},
+ media = {text},
+ pagetotal = {224},
+} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib
new file mode 100644
index 00000000000..950f353aef1
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex37.bib
@@ -0,0 +1,11 @@
+@BOOK{Ponomarenko76,
+ author = {Пономаренко, Л. А. and Буадзе, В. В.},
+ title = {Математические модели и алгоритмы сбора
+ и обработки информации в АСУТП непрерывных
+ станов горячей прокатки},
+ address = {К.},
+ year = {1976},
+ pagetotal = {37},
+ language = {russian},
+ note = {(Препр./ АН Украины. Ин-т кибернетики; 76-76)},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib
new file mode 100644
index 00000000000..f1bd612b343
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex38.bib
@@ -0,0 +1,15 @@
+@REPORT{Report81-rep,
+ title = {Проведение испытаний и исследований
+ теплотехнических свойств камер {КХС-2-12-ВЗ}
+ и {КХС-2-12-КЗІО}},
+ institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти},
+ address = {М.},
+ organization = {ВИНИТИ},
+ year = {1981},
+ pagetotal = {90},
+ type = {Отчет о {НИР}},
+ editor = {Путин, В. В.},
+ author = {Медведев, Д. А. and others},
+ note = {Инв.\ № В 119692},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex39.bib
index c8c698a48a5..c8c698a48a5 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24a.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex39.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex40.bib
index c900abee931..c900abee931 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex24b.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex40.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib
new file mode 100644
index 00000000000..cc599b52b7b
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex41.bib
@@ -0,0 +1,11 @@
+@BOOK{CatalogMamals81,
+ title = {Каталог млекопитающих СССР.
+ Плиоцен "--- современность},
+ organization = {АН СССР, Зоол.\ ин-т},
+ editor = {И. М. Громова and Г. И. Барановой},
+ address = {Л.},
+ publisher = {Наука, Ленинг.\ отд-ние},
+ year = {1981},
+ pagetotal = {456},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib
new file mode 100644
index 00000000000..cff85edfbe4
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex42.bib
@@ -0,0 +1,12 @@
+@BOOK{Instr86,
+ title = {Типовая инструкция по эксплуатации
+ топливоотдачи тепловых электростанций~:
+ ТИ 34-70-044-85~: Утв. Гл. техн. упр.
+ по эксплуатации энергосистем 01.10.85~:
+ Срок действия установлен с 01.01.86 до 01.01.95},
+ organization = {М-во энергетики и электрификации СССР},
+ address = {М.},
+ year = {1986},
+ pagetotal = {43},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib
new file mode 100644
index 00000000000..4dd4ff9c799
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex43.bib
@@ -0,0 +1,22 @@
+@PATENT{patent1,
+ author = {Э. В. Тернер},
+ authorcountry = {США},
+ title = {Одноразовая ракета-носитель},
+ media = {text},
+ type = {заявка},
+ number = {1095735},
+ location = {Рос. Федерация},
+ ipc = {МПК\ensuremath{^7} B 64 G 1/00},
+ holder = {заявитель Спейс Системз/Лорал, инк.},
+ credits = {патент. поверенный Егорова Г. Б.},
+ requestnumber = {000108705/28},
+ requestdate = {07.04.2000},
+ publicationdate = {10.03.2001},
+ publication = {Бюл. № 7 (I ч.)},
+ prioritydate= {09.04.1999},
+ prioritynumber = {09/289, 037},
+ prioritycountry = {США},
+ pagetotal = {5 с.~: ил.},
+ language = {russian},
+}
+
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib
new file mode 100644
index 00000000000..fa775b73689
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex44.bib
@@ -0,0 +1,18 @@
+@PATENT{patent2,
+ author = {В. И. Чугаева},
+ authorcountry = {РФ},
+ title = {Приемопередающее устройство},
+ media = {text},
+ type = {пат.},
+ number = {2000131736/09},
+ location = {Рос. Федерация},
+ ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00},
+ holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.},
+ credits = {патент. поверенный Егорова Г. Б.},
+ requestnumber = {000108705/28},
+ date = {18.12.2000},
+ publicationdate = {20.08.2002},
+ publication = {Бюл. № 23 (II ч.)},
+ pagetotal = {2 с.~: ил.},
+ language = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27c.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex45.bib
index 35f92171c2a..35f92171c2a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27c.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex45.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib
new file mode 100644
index 00000000000..3589fcd0874
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex46.bib
@@ -0,0 +1,12 @@
+@BOOK{IsaacNewton,
+ author = {Newton, {\relax Sir Isaac}},
+ title = {Opticks, or a treatise of the reflections,
+ refractions, inflections and colours of light},
+ publisher = {William Innys},
+ url = {http://books.google.com/books?id=XXu4AkRVBBoC},
+ media = {eresource},
+ year = {1730},
+ pagetotal = {382},
+ eprint = {XXu4AkRVBBoC},
+ eprinttype = {Google Books},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib
new file mode 100644
index 00000000000..72aefbac201
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex47.bib
@@ -0,0 +1,12 @@
+@BOOK{IsaacNewton-sl:sn,
+ author = {{\relax Sir I}saac Newton},
+ title = {Opticks, or a treatise of the reflections,
+ refractions, inflections and colours of light},
+ url = {http://books.google.com/books?id=XXu4AkRVBBoC},
+ media = {online},
+ year = {1730},
+ pagetotal = {382},
+ eprint = {XXu4AkRVBBoC},
+ eprinttype = {Google Books},
+}
+% publisher = {William Innys},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib
new file mode 100644
index 00000000000..5cee65582fa
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex48.bib
@@ -0,0 +1,9 @@
+@BOOK{Encyclopedia,
+ title = {Художественная энциклопедия зарубежного классического искусства},
+ publisher = {Большая Рос. энцикл.},
+ year = {1996},
+ address = {М.},
+ note = {1 электрон. опт. диск (CD-ROM)},
+ language = {russian},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib
new file mode 100644
index 00000000000..8ab460145ee
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex49.bib
@@ -0,0 +1,11 @@
+@ARTICLE{Nasirova,
+ title = {Модели государственного регулирования страховой деятельности},
+ author = {Насырова, Г. А.},
+ language = {russian},
+ note = {Режим доступа: http://vestnik.fa.ru/4(28)2003/4.html},
+ number = {4},
+ year = {2003},
+ journal = {Вестник Финансовой академии},
+ media2 = {eresource},
+ media = {online},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib
new file mode 100644
index 00000000000..99ac9313ff4
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex50.bib
@@ -0,0 +1,10 @@
+@BOOK{kremlincd,
+ title = {Московский Кремль},
+ titleaddon = {трехмер. путеводитель},
+ language = {russian},
+ note = {CD-ROM},
+ date = {2007},
+ location = {М.},
+ publisher = {Новый Диск},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib
new file mode 100644
index 00000000000..416cb5b91c9
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex51.bib
@@ -0,0 +1,15 @@
+@ARTICLE{PhysRevLett.101.085006,
+ author = {Kotelnikov, Igor and Rom\'e, Massimiliano},
+ volume = {101},
+ journal = {Phys. Rev. Lett.},
+ month = {Aug},
+ pagetotal = {4},
+ title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap},
+ year = {2008},
+ doi = {10.1103/PhysRevLett.101.085006},
+ issue = {8},
+ publisher = {American Physical Society},
+ pages = {085006},
+}
+
+% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib
new file mode 100644
index 00000000000..1a02f1ba402
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex52.bib
@@ -0,0 +1,7 @@
+@ONLINE{wiki:latex,
+ author = {Wikipedia},
+ title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia},
+ year = {2012},
+ url = {http://en.wikipedia.org/wiki/LaTeX},
+ urldate = {25.01.2012},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27a.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex53.bib
index 9b58759802c..282bc401d28 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/cp1251/bib/ex27a.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex53.bib
@@ -1,11 +1,3 @@
-@ONLINE{wiki:latex,
- author = {Wikipedia},
- title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia},
- year = {2012},
- url = {http://en.wikipedia.org/wiki/LaTeX},
- urldate = {25.01.2012},
-}
-
@ONLINE{wiki:latex-2,
author = {Wikipedia},
title = {{\LaTeX}},
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27b.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex54.bib
index c903934e1d0..c903934e1d0 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex27b.bib
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex54.bib
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib
new file mode 100644
index 00000000000..e6aad14b23c
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex55.bib
@@ -0,0 +1,13 @@
+@ARTICLE{1998PhRvE..57.7111K,
+ author = {{Kinney}, R.~M. and {McWilliams}, J.~C.},
+ title = {{Turbulent cascades in anisotropic magnetohydrodynamics}},
+ journal = pre,
+ keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation},
+ year = {1998},
+ month = jun,
+ volume = {57},
+ pages = {7111-7121},
+ doi = {10.1103/PhysRevE.57.7111},
+ adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib
new file mode 100644
index 00000000000..cd7366ac7f3
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex56.bib
@@ -0,0 +1,13 @@
+@ARTICLE{1998UFN,
+ author = {Котельников, И. А. and Астрелин, В. Т.},
+ title = {Теория плазменного эмиттера положительных ионов},
+ journal = ufn,
+ keywords = {плазменный эмиттер, критерий Бома},
+ year = {2015},
+ month = jul,
+ volume = {185},
+ pages = {753-771},
+ language = {russian},
+ doi = {10.3367/UFNr.0185.201507c.0753},
+ url = {http://ufn.ru/ru/articles/2015/7/c/},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib
new file mode 100644
index 00000000000..d15c8a59ff6
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex57.bib
@@ -0,0 +1,9 @@
+@ONLINE{cs.SE:30073,
+ title = {Cutting equal sticks from different sticks},
+ howpublished = {Computer Science Stack Exchange},
+ url = {http://cs.stackexchange.com/q/30073},
+ urldate = {2014-11-26},
+ author = {Erel Segal-Halevi},
+ date = {2014-09-17},
+ nameaddon = {\url{http://cs.stackexchange.com/users/1342/}},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib
new file mode 100644
index 00000000000..b8cc3036b78
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex58.bib
@@ -0,0 +1,10 @@
+@MISC{CS:30073,
+ title = {Cutting equal sticks from different sticks},
+ author = {Erel Segal-Halevi},
+ howpublished = {Computer Science Stack Exchange},
+ url = {http://cs.stackexchange.com/q/30073},
+ urldate = {2014-11-26},
+ year = {2014},
+ authorurl = {http://cs.stackexchange.com/users/1342/},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib
new file mode 100644
index 00000000000..d22b7662771
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex59.bib
@@ -0,0 +1,9 @@
+@ONLINE{nos_weeralarm_2009,
+ title = {Weeralarm en verkeeralarm ingetrokken},
+ url = {http://nos.nl/l/124074},
+ urldate = {2014-02-12},
+ author = {{NOS}},
+ date = {2009-12-20},
+ keywords = {gladheid, ijs, ongeluk, openbaar vervoer, schiphol, sneeuw},
+ titleaddon = {{NOS.nl}},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib
new file mode 100644
index 00000000000..dfa25c04480
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex60.bib
@@ -0,0 +1,11 @@
+@ARTICLE{gibbard,
+ title = {Morality in Living},
+ author = {Gibbard, Allan},
+ number = {1},
+ pages = {140--164},
+ subtitle = {{K}orsgaard's {K}antian Lectures},
+ titleaddon = {review of The Sources of Normativity, by {C}hristine {M.} {K}orsgaard},
+ volume = {110},
+ year = {1999},
+ journal = {Ethics},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib
new file mode 100644
index 00000000000..1f24356e3d1
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex61.bib
@@ -0,0 +1,8 @@
+@BOOK{Williams2002,
+ title = {Free as in Freedom},
+ author = {Williams, Sam},
+ publisher = {O'Reilly Media},
+ year = {2002},
+ isbn = {0-596-00287-4},
+ titleaddon = {Richard Stallman's Crusade for Free Software},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib
new file mode 100644
index 00000000000..8956232df63
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex62.bib
@@ -0,0 +1,10 @@
+@ONLINE{kruse,
+ title = {Framework for Sustainable Soil Management: Literature Review and Synthesis},
+ url = {http://www.swcs.org/documents/filelibrary/BeyondTliteraturereview.pdf},
+ urldate = {2008-08-03},
+ year = {2007},
+ author = {John S. Kruse},
+ publisher = {Soil and Water Conservation Society},
+ address = {Ankeny (IA)},
+ media = {eresource},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib
new file mode 100644
index 00000000000..0ea4915ef23
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex63.bib
@@ -0,0 +1,17 @@
+@PROCEEDINGS{tmma,
+ title = {Towards Mechanized Mathematical Assistants},
+ editor = {Manuel Kauers and Manfred Kerber and Robert Miner and Wolfgang
+ Windsteiger},
+ isbn = {978-3-540-73083-5},
+ language = {english},
+ location = {Berlin Heidelberg},
+ number = {Volume 4573},
+ pagetotal = {410},
+ publisher = {Springer},
+ series = {Lecture Notes in Computer Science},
+ titleaddon = {14th Symposium, Calculemus 2007, 6th International Conference, MKM 2007,
+ Hagenberg, Austria, June 27-30, 2007. Proceedings},
+ year = {2007},
+ issn = {0302-9743},
+ langid = {english},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib
new file mode 100644
index 00000000000..d3524f030a3
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex64.bib
@@ -0,0 +1,12 @@
+@BOOK{dekart:soch,
+ title = {Сочинения в двух томах},
+ author = {Декарт, Рене},
+ publisher = {Мысль},
+ date = {1989/1994},
+ ids = {dekart_soch},
+ langid = {russian},
+ language = {russian},
+ location = {М.},
+ origlanguage = {latin and french},
+ titleaddon = {пер. с лат. и фр.},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib
new file mode 100644
index 00000000000..8875ad7860f
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex65.bib
@@ -0,0 +1,21 @@
+@INPROCEEDINGS{moraux,
+ title = {Le \emph{De Anima} dans la tradition gr{\`e}cque},
+ author = {Moraux, Paul},
+ booktitle = {Aristotle on Mind and the Senses},
+ date = {1979},
+ editor = {Lloyd, G. E. R. and Owen, G. E. L.},
+ booktitleaddon = {Proceedings of the Seventh Symposium Aristotelicum},
+ eventdate = {1975},
+ language = {french},
+ location = {Cambridge},
+ pages = {281-324},
+ publisher = cup,
+ subtitle = {Quelques aspects de l'interpretation du trait{\'e}, de
+ Theophraste {\`a} Themistius},
+ annotation = {This is a typical \texttt{inproceedings} entry. Note the
+ \texttt{booksubtitle}, \texttt{shorttitle},
+ \texttt{indextitle}, and \texttt{indexsorttitle} fields. Also
+ note the \texttt{eventdate} field.},
+ keywords = {secondary},
+ langid = {russian},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib
new file mode 100644
index 00000000000..cb0b4df545e
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex66.bib
@@ -0,0 +1,8 @@
+@MANUAL{mc:lfcn-400,
+ title = {Ceramic Low Pass Filter},
+ note = {Rev. H},
+ number = {LFCN-400+},
+ organization = {Mini-Circuits},
+ titleaddon = {50~\(\Omega\), DC to 400~{MHz}},
+ url = {http://www.minicircuits.com/pdfs/LFCN-400.pdf},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib
new file mode 100644
index 00000000000..4efe0949d49
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex67.bib
@@ -0,0 +1,8 @@
+@MISC{scpi-99,
+ title = {Standard Commands for Programmable Instruments (SCPI)},
+ month = {may},
+ note = {Version 1999.0},
+ organization = {SCPI Consortium},
+ titleaddon = {Volume 1: Syntax and Style},
+ year = {1999},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib
new file mode 100644
index 00000000000..90489fe4874
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex68.bib
@@ -0,0 +1,9 @@
+@ARTICLE{scpi-04,
+ title = {Standard Digital Interface for Programmable Instrumentation},
+ doi = {10.1109/ieeestd.2004.95390},
+ month = {may},
+ pages = {0\_1--0\_5},
+ titleaddon = {Part 2: Codes, Formats, Protocols and Common Commands (Adoption of IEEE Std 488.2-1992)},
+ year = {2004},
+ journal = {IEC 60488-2 First edition 2004-05; IEEE 488.2},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib
new file mode 100644
index 00000000000..f130889538f
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex69.bib
@@ -0,0 +1,14 @@
+@TECHREPORT{Drake1948,
+ title = {Results obtained during accelerated transonic tests of
+ the {Bell} {XS-1} airplane in flights to a {MACH} number of
+ 0.92},
+ author = {Drake, Huber M. and McLaughlin, Milton D. and Goodman,
+ Harold R.},
+ institution = {NASA Dryden Flight Research Center},
+ location = {Edwards, CA},
+ month = {1},
+ number = {NACA-RM-L8A05A},
+ url = {http://www.nasa.gov/centers/dryden/pdf/87528main_RM-L8A05A.pdf},
+ year = {1948},
+ language = {english},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib
new file mode 100644
index 00000000000..b64866e246b
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex70.bib
@@ -0,0 +1,10 @@
+@THESIS{geer,
+ title = {Earl, Saint, Bishop, Skald~-- and Music~: The {Orkney Earldom}
+ of the Twelfth Century. {A} Musicological Study},
+ author = {de Geer, Ingrid},
+ type = {phdthesis},
+ date = {1985},
+ institution = {Uppsala Universitet},
+ langid = {english},
+ location = {Uppsala},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib
new file mode 100644
index 00000000000..328bf3c8844
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex71.bib
@@ -0,0 +1,9 @@
+@THESIS{loh,
+ title = {High-Resolution Micromachined Interferometric Accelerometer},
+ author = {Loh, Nin C.},
+ type = {mathesis},
+ date = {1992},
+ institution = {Massachusetts Institute of Technology},
+ langid = {english},
+ location = {Cambridge, Mass.},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib
new file mode 100644
index 00000000000..636df657d75
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex72.bib
@@ -0,0 +1,18 @@
+@BOOK{Duebner1878,
+ title = {Scholia in Theocritum, Nicandrum et Oppianum},
+ author = {D\"{u}bner, F. and Bussemaker, U. Cats},
+ publisher = {Editore Ambrosio Firmin--Didot},
+ year = {1878},
+ location = {Parisiis},
+ langid = {french},
+}
+
+@INBOOK{Bussemaker1878,
+ title = {Scholia et Paraphrases in Nicandrum et Oppianum},
+ author = {Bussemaker, U. Cats},
+ pages = {243--364},
+ crossref = {Duebner1878},
+ titleaddon = {Partim nunc primum edidit, partim collatis cod. mss., emendavit,
+ annotatione critica instruxit et indices confecit},
+ langid = {french},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib
new file mode 100644
index 00000000000..669ebfbeb47
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex73.bib
@@ -0,0 +1,22 @@
+@THESIS{Deluz1972,
+ title = {\emph{Liber de quibusdam ultramarinis partibus et praecipuede
+ Terra sancta} de Guillaume de Boldensele (1336) ; suivi de la traduction de
+ Fr\`{e}re Jean Le Long (1351)},
+ author = {Christiane Deluz},
+ school = {Paris-IV},
+ type = {phdthesis},
+ year = {1972},
+ editor = {Mollat du Jourdin, Michel},
+ volumes = {2},
+ langid = {french},
+}
+
+@BOOK{GuilielmusdeBoldensele,
+ title = {Liber de quibusdam ultramarinis partibus et praecipue de
+ Terra sancta},
+ author = {{Guilielmus de Boldensele}},
+ volume = {2},
+ crossref = {Deluz1972},
+ pages = {195-291},
+ langid = {french},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib
new file mode 100644
index 00000000000..58cf26825a7
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex74.bib
@@ -0,0 +1,14 @@
+@ARTICLE{veilahti:abm,
+ title = {Alain Badiou's Mistake~--- Two Postulates of Dialectic Materialism},
+ author = {Antti Veilahti},
+ date = {2013-01-10},
+ eprint = {1301.1203v2},
+ eprintclass = {math.CT},
+ eprinttype = {arXiv},
+ language = {english},
+ month = jan,
+ year = {2013},
+ journal = {ArXiv e-prints},
+ langid = {english},
+ pagetotal = {41+1},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib
new file mode 100644
index 00000000000..daac54701d2
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex75.bib
@@ -0,0 +1,10 @@
+@ONLINE{wassenberg,
+ title = {Faster Radix Sort via Virtual Memory and Write-Combining},
+ author = {Wassenberg, Jan and Sanders, Peter},
+ date = {2010-08-17},
+ eprint = {1008.2849v1},
+ eprintclass = {cs.DS},
+ eprinttype = {arxiv},
+ langid = {english},
+ version = {1},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib
new file mode 100644
index 00000000000..d691dba09ff
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/ex76.bib
@@ -0,0 +1,18 @@
+@ARTICLE{Lisi1995,
+ title = {A solitary wave solution of the {M}axwell-{D}irac equations},
+ author = {{Lisi}, A.~G.},
+ doi = {10.1088/0305-4470/28/18/026},
+ eprint = {9410244},
+ eprintclass = {hep-th},
+ eprinttype = {arxiv},
+ month = {sep},
+ number = {18},
+ pages = {5385--5392},
+ url = {http://stacks.iop.org/0305-4470/28/5385},
+ volume = {28},
+ year = {1995},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System},
+ adsurl = {http://adsabs.harvard.edu/abs/1995JPhA...28.5385L},
+ journal = {Journal of Physics A: Mathematical and General},
+ publisher = {{IOP} Publishing},
+}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib
deleted file mode 100644
index c017576999b..00000000000
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/bib/examples.bib
+++ /dev/null
@@ -1,664 +0,0 @@
-@BOOK{Vasylenko92,
- author = {Василенко, М. В.},
- title = {Теорія коливань: Навчальний посібник},
- address = {К.},
- publisher = {Вища школа},
- year = {1992},
- pagetotal = {430},
- language = {ukrainian},
-}
-@BOOK{Afanasyev92,
- author = {Афанасьев, В. В. and Василевский, О. Н.},
- title = {Расчеты электрических цепей
- на программируемых микрокалькуляторах},
- address = {М.},
- publisher = {Энергоиздат},
- year = {1992},
- pagetotal = {190},
- language = {russian},
-}
-@BOOK{Makilov91,
- author = {Меликов, А. З. and Пономаренко, Л. А.
- and Рюмшин, П. А.},
- title = {Математические модели многопотоковых
- систем обслуживания},
- address = {К.},
- publisher = {Техніка},
- year = {1991},
- pagetotal = {265},
- language = {russian},
-}
-@BOOK{Ponomarenko86,
- title = {Основы создания гибких атоматизированных производств},
- author = {Л. А. Пономаренко and Л. В. Адамович
- and В. Т. Музычук and А. Е. Гридасов},
- editor = {Б. Б. Тимофеева},
- address = {К.},
- publisher = {Техніка},
- year = {1986},
- pagetotal = {144},
- language = {russian},
-}
-@BOOK{Belousova81,
- title = {Системный анализ инфраструктуры
- как элемент народного хозяйства},
- author = {Белоусова, Н. И. and Вишняк, Е. И.
- and Левит, В. Ю. and others},
- address = {М.},
- publisher = {Экономика},
- year = {1981},
- pagetotal = {62},
- language = {russian},
-}
-@BOOK{BibOp91,
- title = {Составление библиографического описания:
- Краткие правила},
- organization = {Междувед. каталогизац. комис.
- при Гос. б-ке СССР им.~В.~И. Ленина},
- edition = {2-е, доп.},
- address = {М.},
- publisher = {Кн.~палата},
- year = {1991},
- pagetotal = {224},
- language = {russian},
-}
-@BOOK{Poems82,
- title = {Стихи о музыке. Русские,
- советские, зарубежные поэты: Сборник},
- compiler = {А. Бирюкова and В. Татаринов},
- address = {М.},
- publisher = {Сов. композитор},
- year = {1982},
- pagetotal = {224},
- language = {russian},
-}
-@BOOK{HistLit82,
- title = {История русской литературы: В 4 т.},
- organization = {АН СССР, Ин-т рус.~лит.\ (Пушкин.дом)},
- address = {М.},
- year = {1982},
- volume = {3: Расцвет реализма},
- pagetotal = {876},
- language = {russian},
-}
-@BOOK{Landau:eldin,
- author = {Л. Д. Ландау and Е. М. Лифшиц},
- title = {Теоретическая физика: учебное пособие в 10 т.},
- publisher = {Наука. Гл.\ ред.\ физ.-мат.\ лит.},
- address = {М.},
- year = {1992},
- volume = {VIII. Электродинамика сплошных сред},
- edition = {3-е, испр.},
- language = {russian},
-}
-@BOOK{BRLS94,
- title = {Нарысы па гiсторыi беларуска-рускiх
- лiтаратурных сувязей: У 4 кн.},
- organization = {Акад.\ навук Беларусi. Iн-т лiт.},
- address = {Мiнск},
- publisher = {Навука i тэхнiка},
- year = {1994},
- volume = {2: Пачатак ХХ ст. 1900--1917 гг.},
- editor = {В. А. Каваленка and I. Я. Навуменка},
- pagetotal = {440},
- language = {russian},
-}
-@BOOK{Grosse80,
- author = {Гроссе, Э. and Вайсмангель, Х.},
- title = {Химия для любознательных: Пер.\ с нем.},
- address = {М.},
- publisher = {Химия},
- year = {1980},
- pagetotal = {392},
- language = {russian},
-}
-@BOOK{GOST7184,
- key = {ГОСТ},
- title = {ГОСТ 7.1-84. Библиографическое описание документа.
- Общие требования и правила составления.
- --- Взамен ГОСТ 7.1-76~; введ. 01.01.86.},
- address = {М.},
- publisher = {Изд-во стандартов},
- year = {1984},
- pagetotal = {78},
- language = {russian},
-}
-@BOOK{ObchTech93,
- title = {Обчислювальна і прикладна математика: Зб.наук.пр.},
- address = {К.},
- publisher = {Либідь},
- year = {1993},
- pagetotal = {99},
- language = {ukrainian},
-}
-@BOOK{Bibdelo86,
- title = {Библиотечное дело: Терминол. словарь},
- composer = {И. М. Суслова and Л. Н. Уланова},
- edition = {2-е изд.},
- address = {М.},
- publisher = {Книга},
- year = {1986},
- pagetotal = {224},
- language = {russian},
-}
-@INBOOK{Ponomarenko79,
- author = {Пономаренко, Л. А.},
- title = {Организующая система},
- booktitle = {Автоматизация технологических процессов
- в прокатном производстве},
- address = {М.},
- publisher = {Металлургия},
- year = {1979},
- pages = {141-148},
- language = {russian},
-}
-@INBOOK{Zeyts70,
- author = {Зейтц, Ф.},
- title = {О приведении пространственных групп},
- booktitle = {Симметрия в твердом теле},
- bookauthor = {Нокс, Р. and Голд, А.},
- address = {М.},
- publisher = {Наука},
- year = {1970},
- pages = {172--186},
- language = {russian},
-}
-@INCOLLECTION{Ponoomarenko76,
- author = {Пономаренко, Л. А.},
- title = {Структура системы прерывания с ситуационными
- приоритетами в АСУТП станов горячей прокатки},
- booktitle = {Разработка автоматизированных систем управления
- технологическими процессами},
- address = {Тбилиси},
- publisher = {Сабчота Сакартвело},
- year = {1976},
- pages = {3-16},
- language = {russian},
-}
-@ARTICLE{Malikov92,
- author = {Меликов, А. З. and Пономаренко, Л. А.},
- title = {Оптимизация цифровой сети интегрального обслуживания
- с конечным числом пользователей и блокировками},
- journal = {Автоматика и телемеханика},
- year = {1992},
- number = {6},
- pages = {34-38},
- language = {russian},
-}
-@ARTICLE{Ponomarenko86a,
- author = {Пономаренко, Л. А. and Меликов, А. З.},
- title = {Ситуационное управление многоканальной системой
- с переменной структурой обслуживания неоднородного потока},
- journal = {Изв.\ АН Азерб.\ Респ. Сер.\ физ.-техн.\ и мат.\ наук},
- year = {1986},
- volume = {7},
- number = {6},
- pages = {79-83},
- language = {russian},
-}
-@ARTICLE{dixit.pindyck:options,
- title = {The Options Approach to Capital Investment},
- author = {Avinash K. Dixit and Robert S. Pindyck},
- journal = {Harvard Business Review},
- year = {1995},
- month = {May-June},
- pages = {105--115},
-}
-@ARTICLE{RosGaz-article,
- title = {Федеральный закон о внесении изменений
- и дополнений в Семейный кодекс Российской Федерации},
- journal = {Российская газета},
- year = {1997},
- month = {19 нояб},
- pages = {4},
- note = {Российская Федерация. Законы},
- language = {russian},
-}
-@INBOOK{Dolmatovskiy88,
- author = {Долматовский, Ю. А.},
- title = {Электромобиль},
- booktitle = {БСЭ},
- edition = {3-е},
- address = {М.},
- year = {1988},
- volume = {30},
- pages = {72},
- language = {russian},
-}
-@INPROCEEDINGS{Ponomarenko88,
- author = {Пономаренко, Л. А. and Жучкова, И. В.},
- title = {Оптимальное назначение приоритетов
- при организации доступа в локальных
- вычислительных сетях АСУТП},
- booktitle = {Труды Междунар.\ конф.\
- <<Локальные вычислительные сети>> (ЛОКСЕТЬ 88)},
- volume = {1},
- address = {Рига},
- publisher = {ИЭВТ АН Латвии},
- year = {1988},
- pages = {149-153},
- language = {russian},
-}
-@INPROCEEDINGS{Melikov95,
- author = {Melikov, A. Z. and Ponomarenko, L. A.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
-}
-@INPROCEEDINGS{Gojchuk98,
- author = {Гойчук, А. Ф.},
- title = {Особливості етіології і патогенезу поперечного раку
- дуба звичайного в Україні},
- booktitle = {Науковий вісник Національного
- аграрного університету},
- editor = {Мельничука, Д. О. and others},
- address = {К.},
- publisher = {НАУ},
- year = {1998},
- series = {Вип. 8: Лісівництво},
- pages = {168--173},
- language = {ukrainian},
-}
-
-@INPROCEEDINGS{Polyakov98a,
- author = {М. О. Поляков},
- title = {Системний ефект агрегування лісосік в управлінні
- лісовими ресурсами на регіональному рівні},
- crossref = {Gojchuk98},
- annote = {Розглянуто ефект агрегування елементарних
- господарських одиниць на розмір розрахункової лісосіки.
- Запропоновано метод визначення максимально допустимого розміру
- рубання за площею на рівні регіону в контексті системи
- державного регулювання лісокористування для умов ринкової
- економіки},
- pages = {213--220},
-}
-@INPROCEEDINGS{TranskSpivrob99:Purich,
- author = {Пурич, Штефан},
- title = {{Р}умынско-{У}краинское трансграничное сотрудничество:
- проблемы и перспективы},
- language = {russian},
- booktitle = {Транскордонне співробітництво у поліетнічних регіонах
- {С}хідної та {П}івденно-{С}хідної {Є}вропи: {М}атеріали наукового
- симпозіуму},
- editor = {Макара, Ю.},
- address = {Чернівці},
- publisher = {Золоті литаври},
- organization = {Буковинський політологічний центр},
- year = {1999},
- pagetotal = {196},
- booklanguage = {ukrainian},
-}
-@INPROCEEDINGS{Selikov95,
- author = {Selikov, A. Z. and Ponomarenko, L. A. and Qranamarenko, L. S. and Zonomarenko, L. U.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
-}
-
-@INPROCEEDINGS{Selikov+95,
- author = {Селиков, A. Z. and Пономарь, L. A. and Крамаренко, L. S. and Золкин, Л. Ю.},
- title = {On the approach to optimal control
- of queuing systems with multiple classes of customers},
- booktitle = {Proc.\ International Conf.\ on Syst.\ Sci.\ XII.},
- address = {Wroclaw (Poland)},
- year = {1995},
- pages = {507-515},
- language = {russian},
-}
-@PHDTHESIS{Luus82,
- author = {Луус, Роман Аркадьевич},
- title = {Исследование оборудования с пневмовакуумным
- приводом для захвата, перемещения и фиксации
- при обработке пористых и легкоповреждаемых
- строительных изделий},
- type = {Диссертация на соискание ученой степени кандидата технических наук},
- number = {05.05.04},
- institution = {Моск.\ строит.\ ин-т},
- address = {М.},
- year = {1982},
- pagetotal = {212},
- language = {russian},
-}
-@DOCTHESIS{KIA95-default,
- author = {Котельников, Игорь Александрович},
- title = {Теория магнитного удержания двухкомпонентной плазмы
- в открытых ловушках},
- number = {01.04.08},
- institution = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН},
- address = {Новосибирск},
- year = {1995},
- pagetotal = {350},
- language = {russian},
-}
-@MASTERSTHESIS{mastersthesis-minimal,
- title = {Mastering Thesis Writing},
- author = {{\'{E}}douard Masterly},
- year = {1988},
- institution = {Stanford University},
-}
-
-@MASTERSTHESIS{mastersthesis-full,
- title = {Mastering Thesis Writing},
- author = {{\'{E}}douard Masterly},
- month = jun,
- note = {This is a full MASTERSTHESIS entry},
- type = {Master's project},
- year = {1988},
- address = {English Department},
- institution = {Stanford University},
-}
-@THESIS{KIA85-autoref,
- author = {Котельников, Игорь Александрович},
- title = {Теория магнитного удержания двухкомпонентной плазмы
- в открытых ловушках},
- type = {Автореф.\ дис.\ на соиск.\ учен.\ степ.\ д-ра физ.-мат.\ наук},
- number = {01.04.08},
- school = {Ин-т ядерной физики им.\ Г.~И. Будкера СО РАН},
- address = {Новосибирск},
- year = {1995},
- pagetotal = {17},
- language = {russian},
-}
-@THESIS{vishnyakov:thesis1,
- title = {Модели и методы оценки коммерческих банков в условиях неопределенности},
- author = {Вишняков, Илья Владимирович},
- year = {2002},
- date = {2002-02-04},
- langid = {russian},
- language = {russian},
- location = {М.},
- speciality = {экон. наук},
- number = {08.00.13},
- pagetotal = {234},
- titleaddon = {защищена 12.02.02~: утв. 24.06.02},
-}
-
-@THESIS{vishnyakov:thesis2,
- title = {Модели и методы оценки коммерческих банков в условиях неопределенности},
- author = {Вишняков, Илья Владимирович},
- type = {phdthesis},
- addendum = {Библиогр.: с. 220---230.~--- 04200204433},
- _year = {2002},
- date = {2002-02-04},
- langid = {russian},
- language = {russian},
- location = {М.},
- speciality = {экон. наук},
- specialitycode = {08.00.13},
- media = {text},
- pagetotal = {234},
- titleaddon = {защищена 12.02.02~: утв. 24.06.02},
-}
-
-
-@THESIS{Skvortsov:2008,
- title = {Флуктуационные и интерференционные эффекты в мезоскопических системах},
- author = {Скворцов, Михаил Андреевич},
- type = {docthesis},
- _year = {2008},
- institution = {ИТФ им. Л.\,Д.~Ландау},
- langid = {russian},
- language = {russian},
- location = {Черноголовка},
- speciality = {физ.-мат. наук},
- specialitycode = {01.04.02},
- media = {text},
- pagetotal = {224},
-}
-@BOOK{Ponomarenko76,
- author = {Пономаренко, Л. А. and Буадзе, В. В.},
- title = {Математические модели и алгоритмы сбора
- и обработки информации в АСУТП непрерывных
- станов горячей прокатки},
- address = {К.},
- year = {1976},
- pagetotal = {37},
- language = {russian},
- note = {(Препр./ АН Украины. Ин-т кибернетики; 76-76)},
-}
-@REPORT{Report81-rep,
- title = {Проведение испытаний и исследований
- теплотехнических свойств камер {КХС-2-12-ВЗ}
- и {КХС-2-12-КЗІО}},
- institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти},
- address = {М.},
- organization = {ВИНИТИ},
- year = {1981},
- pagetotal = {90},
- type = {Отчет о {НИР}},
- editor = {Путин, В. В.},
- author = {Медведев, Д. А. and others},
- note = {Инв.\ № В 119692},
- language = {russian},
-}
-@REPORT{Report81b-rep-notype,
- title = {Проведение испытаний и исследований
- теплотехнических свойств камер {КХС-2-12-ВЗ}
- и {КХС-2-12-КЗІО}},
- institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти},
- address = {М.},
- organization = {ВИНИТИ},
- year = {1981},
- pagetotal = {90},
- note = {Инв.\ № В 119692},
- language = {russian},
-}
-@TECHREPORT{Report81-techrep,
- title = {Проведение испытаний и исследований
- теплотехнических свойств камер {КХС-2-12-ВЗ}
- и {КХС-2-12-КЗІО}},
- institution = {Всесоюзн.\ заочн.\ ин-т пищ.\ пром-ти},
- address = {М.},
- organization = {ВИНИТИ},
- year = {1981},
- pagetotal = {90},
- editor = {Путин, В. В.},
- author = {Медведев, Д. А. and others},
- note = {Инв.\ № В 119692},
- language = {russian},
-}
-@BOOK{CatalogMamals81,
- title = {Каталог млекопитающих СССР.
- Плиоцен "--- современность},
- organization = {АН СССР, Зоол.\ ин-т},
- editor = {И. М. Громова and Г. И. Барановой},
- address = {Л.},
- publisher = {Наука, Ленинг.\ отд-ние},
- year = {1981},
- pagetotal = {456},
- language = {russian},
-}
-@BOOK{Instr86,
- title = {Типовая инструкция по эксплуатации
- топливоотдачи тепловых электростанций~:
- ТИ 34-70-044-85~: Утв. Гл. техн. упр.
- по эксплуатации энергосистем 01.10.85~:
- Срок действия установлен с 01.01.86 до 01.01.95},
- organization = {М-во энергетики и электрификации СССР},
- address = {М.},
- year = {1986},
- pagetotal = {43},
- language = {russian},
-}
-@ONLINE{wiki:latex,
- author = {Wikipedia},
- title = {{\LaTeX}---Wikipedia{,} The Free Encyclopedia},
- year = {2012},
- url = {http://en.wikipedia.org/wiki/LaTeX},
- urldate = {25.01.2012},
-}
-
-@ONLINE{wiki:latex-2,
- author = {Wikipedia},
- title = {{\LaTeX}},
- howpublished = {Wikipedia, The Free Encyclopedia},
- year = {2012},
- eprint = {wiki/LaTeX},
- eprinttype = {WikiPedia},
- url = {http://en.wikipedia.org/wiki/LaTeX},
- urldate = {25.01.2012},
-}
-@ONLINE{phys:moodle,
- author = {Черкасский, В. С.},
- title = {Классная комната},
- howpublished = {Физический факультет},
- organization = {НГУ},
- year = {2012},
- url = {http://www.phys.nsu.ru/moodle/},
- urldate = {16.01.2012},
- language = {russian},
-}
-@MISC{EXFOR,
- author = {IAEA},
- title = {{EXFOR}---Experimental Nuclear Reaction Data },
- url = {http://www-nds.iaea.org/exfor},
- address = {P.O. Box 100, Wagramer Strasse 5, A-1400 Vienna, Austria},
- year = {2012},
- media = {eresource}
-}
-@BOOK{IsaacNewton,
- author = {Newton, {\relax Sir Isaac}},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- publisher = {William Innys},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {eresource},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
-}
-
-@BOOK{IsaacNewton-sl:sn,
- author = {{\relax Sir I}saac Newton},
- title = {Opticks, or a treatise of the reflections,
- refractions, inflections and colours of light},
- url = {http://books.google.com/books?id=XXu4AkRVBBoC},
- media = {online},
- year = {1730},
- pagetotal = {382},
- eprint = {XXu4AkRVBBoC},
- eprinttype = {Google Books},
-}
-% publisher = {William Innys},
-@BOOK{Encyclopedia,
- title = {Художественная энциклопедия зарубежного классического искусства},
- publisher = {Большая Рос. энцикл.},
- year = {1996},
- address = {М.},
- note = {1 электрон. опт. диск (CD-ROM)},
- language = {russian},
- media = {eresource},
-}
-
-@ARTICLE{Nasirova,
- title = {Модели государственного регулирования страховой деятельности},
- author = {Насырова, Г. А.},
- language = {russian},
- note = {Режим доступа: http://vestnik.fa.ru/4(28)2003/4.html},
- number = {4},
- year = {2003},
- journal = {Вестник Финансовой академии},
- media2 = {eresource},
- media = {online},
-}
-
-@BOOK{kremlincd,
- title = {Московский Кремль},
- titleaddon = {трехмер. путеводитель},
- language = {russian},
- note = {CD-ROM},
- date = {2007},
- location = {М.},
- publisher = {Новый Диск},
- media = {eresource},
-}
-@ARTICLE{PhysRevLett.101.085006,
- author = {Kotelnikov, Igor and Rom\'e, Massimiliano},
- volume = {101},
- journal = {Phys. Rev. Lett.},
- month = {Aug},
- pagetotal = {4},
- title = {Admissible Equilibria of Non-neutral Plasmas in a Malmberg-Penning Trap},
- year = {2008},
- doi = {10.1103/PhysRevLett.101.085006},
- issue = {8},
- publisher = {American Physical Society},
- pages = {085006},
-}
-
-% url = {http://link.aps.org/doi/10.1103/PhysRevLett.101.085006},
-@ARTICLE{1998PhRvE..57.7111K,
- author = {{Kinney}, R.~M. and {McWilliams}, J.~C.},
- title = {{Turbulent cascades in anisotropic magnetohydrodynamics}},
- journal = pre,
- keywords = {Plasma turbulence, Magnetohydrodynamic and fluid equation},
- year = {1998},
- month = jun,
- volume = {57},
- pages = {7111-7121},
- doi = {10.1103/PhysRevE.57.7111},
- adsurl = {http://adsabs.harvard.edu/abs/1998PhRvE..57.7111K},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System},
-}
-
-@ARTICLE{1998UFN,
- author = {Котельников, И. А. and Астрелин, В. Т.},
- title = {Теория плазменного эмиттера положительных ионов},
- journal = ufn,
- keywords = {плазменный эмиттер, критерий Бома},
- year = {2015},
- month = jul,
- volume = {185},
- pages = {753-771},
- language = {russian},
- doi = {10.3367/UFNr.0185.201507c.0753},
- url = {http://ufn.ru/ru/articles/2015/7/c/},
-}
-@PATENT{patent1,
- author = {Э. В. Тернер},
- authorcountry = {США},
- title = {Одноразовая ракета-носитель},
- media = {text},
- type = {заявка},
- number = {1095735},
- location = {Рос. Федерация},
- ipc = {МПК\ensuremath{^7} B 64 G 1/00},
- holder = {заявитель Спейс Системз/Лорал, инк.},
- credits = {патент. поверенный Егорова Г. Б.},
- requestnumber = {000108705/28},
- requestdate = {07.04.2000},
- publicationdate = {10.03.2001},
- publication = {Бюл. № 7 (I ч.)},
- prioritydate= {09.04.1999},
- prioritynumber = {09/289, 037},
- prioritycountry = {США},
- pagetotal = {5 с.~: ил.},
- language = {russian},
-}
-
-@PATENT{patent2,
- author = {В. И. Чугаева},
- authorcountry = {РФ},
- title = {Приемопередающее устройство},
- media = {text},
- type = {пат.},
- number = {2000131736/09},
- location = {Рос. Федерация},
- ipc = {МПК\ensuremath{^7} H 04 В 1/38, Н 04 J 13/00},
- holder = {заявитель и патентообладатель Воронеж. науч.-ислед. ин-т связи.},
- credits = {патент. поверенный Егорова Г. Б.},
- requestnumber = {000108705/28},
- date = {18.12.2000},
- publicationdate = {20.08.2002},
- publication = {Бюл. № 23 (II ч.)},
- pagetotal = {2 с.~: ил.},
- language = {russian},
-}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd
index 817e4e38529..9a6eabb4b2c 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/make-examples-on-win-utf8.cmd
@@ -1,18 +1,9 @@
@echo ⮢ 䠩 ਬ஢
@echo ==========================
-@echo २ ।饣 饣 䠩
-
-rename .\bib\examples.bib examples.bak
-
-@echo ஢ 쪨 䠩 让
-
-copy .\bib\ex*.bib .\bib\examples.bib
-
@echo ᪠ ਬ஢
-for %%f in (ugost7*.tex) do pdflatex -quiet %%f
-for %%f in (ugost200*.tex) do pdflatex -quiet %%f
+for %%f in (ugost200*.tex) do pdflatex %%f
@echo ᪠ ࠡ⪠ bibtex8 *.aux, ⮣ '㤠 㤥'
@@ -20,10 +11,10 @@ for %%f in (ugost*.aux) do bibtex8 -B -c utf8cyrillic.csf %%f
@echo ᪠ ਬ஢ (室 ᫥ bibtex8)
-for %%f in (ugost7*.tex) do pdflatex %%f
for %%f in (ugost200*.tex) do pdflatex %%f
-for %%f in (ugost2008-nat*.tex) do pdflatex %%f
-for %%f in (ugost2008-sort*.tex) do pdflatex %%f
+pdflatex ugost2008n.tex
+pdflatex ugost2008ns.tex
+pdflatex ugost2008s.tex
@echo ⪠ 㦭 䠩
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex
index 27482cbd26b..416e3baf217 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost.tex
@@ -1,6 +1,5 @@
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
-\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{bibunits,verbatim,geometry,ifpdf}
@@ -36,7 +35,6 @@
\ifpdf
\usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
\else
\usepackage[hypertex]{hyperref}
\fi
@@ -68,12 +66,12 @@
\end{bibunit}
}
-%\title{\mytitle}
-%\maketitle
-%\begin{abstract}
-% \mydescription
-%\end{abstract}
-%
+\title{\mytitle}
+\maketitle
+\begin{abstract}
+ \mydescription
+\end{abstract}
+
\bibliographyunit[\section]
\bibliographystyle{\mybibstyle}
@@ -92,18 +90,20 @@
\bibentry{ex06}
\subsection{Compiler}
-\bibentry{ex06a}
+\bibentry{ex07}
\subsection{Multiple-volume publications}
-\bibentry{ex07}
\bibentry{ex08}
\bibentry{ex09}
+\bibentry{ex10}
+\bibentry{ex64}
\subsection{Translated}
-\bibentry{ex10}
+\bibentry{ex11}
\subsection{Collections}
\bibentry{ex12}
+\bibentry{ex63}
\subsection{Dictionary}
\bibentry{ex13}
@@ -113,82 +113,112 @@
\subsection{Book}
\bibentry{ex14}
-\bibentry{ex14a}
+\bibentry{ex15}
+\bibentry{ex61}
\subsection{Collection}
-\bibentry{ex15}
+\bibentry{ex16}
\subsection{Journal}
-\bibentry{ex16}
\bibentry{ex17}
-\bibentry{ex17a}
+\bibentry{ex18}
+\bibentry{ex19}
+\bibentry{ex60}
+\bibentry{ex68}
+\bibentry{ex74}
+\bibentry{ex76}
\subsection{Newspaper}
-\bibentry{ex17b}
+\bibentry{ex20}
\subsection{Encyclopedia}
-\bibentry{ex18}
+\bibentry{ex21}
\subsection{Proceedings}
-\bibentry{ex19}
-\bibentry{ex20}
+\bibentry{ex22}
+\bibentry{ex23}
+\bibentry{ex65}
\subsubsection{With crossreference}
-\bibentry{ex20a}
+\bibentry{ex24}
+\bibentry{ex72}
+\bibentry{ex73}
\subsubsection{With multiple languages}
-\bibentry{ex20b}
+\bibentry{ex25}
+\bibentry{ex26}
+\bibentry{ex27}
\section{Others}
\subsection{Standard}
-\bibentry{ex11}
+\bibentry{ex28}
\subsection{Dissertation}
-\bibentry{ex21}
-\bibentry{ex21a}
-\bibentry{ex21b}
+\bibentry{ex29}
+\bibentry{ex30}
+\bibentry{ex31}
+\bibentry{ex32}
Allowed built-in values of \verb|type| field in \verb|@THESIS| entry are \verb|mathesis| for masters thesis, \verb|phdthesis| for Ph.D. thesis, and \verb|docthesis| for doctor of sciences dissertation. Any other value of \verb|type| is reproduced literally.
-\bibentry{ex22}
-\bibentry{ex22a}
+\bibentry{ex33}
+\bibentry{ex34}
+\bibentry{ex35}
+\bibentry{ex36}
+\bibentry{ex70}
+\bibentry{ex71}
\subsection{Preprint}
-\bibentry{ex23}
+\bibentry{ex37}
\subsection{Report}
-\bibentry{ex24}
-\bibentry{ex24a}
-\bibentry{ex24b}
+\bibentry{ex38}
+\bibentry{ex39}
+\bibentry{ex40}
\subsection{Catalog}
-\bibentry{ex25}
+\bibentry{ex41}
\subsection{Instruction}
-\bibentry{ex26}
+\bibentry{ex42}
+\bibentry{ex67}
\subsection{Patent}
-\bibentry{ex31}
+\bibentry{ex43}
+\bibentry{ex44}
\section{Electronic resources}
\subsection{Common Fields}
\verb|Url|, \verb|eprint|, \verb|doi| and \verb|media| fields can be assigned to any entry. Allowed values of \verb|media| are \verb|online|, \verb|eresource| and \verb|text| (default).
-\bibentry{ex27c}
-\bibentry{ex28}
-\bibentry{ex28a}
-\bibentry{ex29}
+\bibentry{ex45}
+\bibentry{ex46}
+\bibentry{ex47}
+\bibentry{ex48}
+\bibentry{ex49}
+\bibentry{ex50}
+\bibentry{ex51}
+\bibentry{ex58}
+\bibentry{ex66}
+\bibentry{ex69}
\subsection{Online Entry}
-\bibentry{ex27a}
-\bibentry{ex27b}
+\bibentry{ex52}
+\bibentry{ex53}
+\bibentry{ex54}
+\bibentry{ex57}
+\bibentry{ex59}
+\bibentry{ex62}
+\bibentry{ex75}
+
\section{Use of macros}
\texttt{jan}, \texttt{feb}, \texttt{mar},\ldots{} \texttt{dec} macros in \texttt{month} field
are automatically translated to Russian or English if necessary. Other languages are not supported.
-\bibentry{ex30}
+\bibentry{ex55}
+\bibentry{ex56}
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf
index 63575d6143b..bb4b3c848b8 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex
index b8c34901b4a..8fbf24987e5 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2003.tex
@@ -1,6 +1,7 @@
\edef\mybibstyle{ugost2003}
-\RequirePackage[utf8]{inputenc}
+ % cmap надо грузить до inputenc, чтобы работал поиск
\RequirePackage{cmap}
+\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
Example bibliographic description using the style \texttt{\mybibstyle.bst}.
@@ -12,7 +13,6 @@
This is style is intended for composing bibliographic catalogs and descriptions.
Данный стиль предназначен для составления библиотечных каталогов и описаний.
-
-}
-\input ugost
+}
+\input ugost \ No newline at end of file
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf
index e2787ae9a70..f8569730695 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex
index e56f03aa02c..7cc40f0af98 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008-customized.tex
@@ -1,4 +1,6 @@
\edef\mybibstyle{ugost2008}
+ % cmap надо грузить до inputenc, чтобы работал поиск
+\RequirePackage{cmap}
\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: customization}
\newcommand{\mydescription}{
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf
index 091c78e2b27..d8b0d8b3079 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex
index 1044a71e75d..b7e36e55d2e 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008.tex
@@ -1,6 +1,7 @@
\edef\mybibstyle{ugost2008}
-\RequirePackage[utf8]{inputenc}
+ % cmap надо грузить до inputenc, чтобы работал поиск
\RequirePackage{cmap}
+\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
Example of a bibliography using the style \texttt{\mybibstyle.bst}.
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf
index de8bc07265e..f9aa54515e3 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex
index 8d2fdda89f9..155f7eece0b 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008l.tex
@@ -1,6 +1,7 @@
\edef\mybibstyle{ugost2008l}
-\RequirePackage[utf8]{inputenc}
+ % cmap надо грузить до inputenc, чтобы работал поиск
\RequirePackage{cmap}
+\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
Example of a bibliography using the style \texttt{\mybibstyle.bst}.
@@ -12,7 +13,6 @@
Note: this style do not conform State Standard.
- Внимание: данный не удовлетворяет ГОСТу.
+ Внимание: данный стиль не удовлетворяет ГОСТу.
}
\input ugost
-
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf
index 04e9ecefa6e..dc3e8ad234a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex
index b11a8624a9b..ab87f304ec5 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008n.tex
@@ -1,8 +1,8 @@
-% !Mode:: "TeX:UTF-8"
\newcommand*{\mybibstyle}{ugost2008n}
-\RequirePackage[utf8]{inputenc}
+ % cmap надо грузить до inputenc, чтобы работал поиск
\RequirePackage{cmap}
+\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
@@ -16,14 +16,12 @@
}
\documentclass[a4paper]{article}
-\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[ukrainian,russian]{babel}
\usepackage{natbib}
\usepackage{geometry,ifpdf}
\ifpdf
\usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
\else
\usepackage[hypertex]{hyperref}
\fi
@@ -55,12 +53,6 @@
\mydescription
\end{abstract}
-%\verb|\cite{*}| \cite{*}
-%
-%\verb|\citep{*}| \citep{*}
-%
-%\verb|\citet{*}| \citet{*}
-
\newcommand{\allrefs}{Vasylenko92,
Afanasyev92,
Makilov91,
@@ -72,7 +64,6 @@ HistLit82,
Landau:eldin,
BRLS94,
Grosse80,
-GOST7184,
ObchTech93,
Bibdelo86,
Ponomarenko79,
@@ -84,27 +75,65 @@ dixit.pindyck:options,
RosGaz-article,
Dolmatovskiy88,
Ponomarenko88,
-Melikov95, Selikov95, Selikov+95,
+Melikov95,
Gojchuk98,
Polyakov98a,
TranskSpivrob99:Purich,
+Selikov95,
+Selikov+95,
+GOST7184,
Luus82,
KIA95-default,
+mastersthesis-minimal,
+mastersthesis-full,
KIA85-autoref,
+vishnyakov:thesis1,
+vishnyakov:thesis2,
+Skvortsov:2008,
Ponomarenko76,
Report81-rep,
Report81b-rep-notype,
Report81-techrep,
CatalogMamals81,
Instr86,
-wiki:latex,
-wiki:latex-2,
-phys:moodle,
+patent1,
+patent2,
EXFOR,
IsaacNewton,
IsaacNewton-sl:sn,
-PhysRevLett.101.085006}
-
+Encyclopedia,
+Nasirova,
+kremlincd,
+PhysRevLett.101.085006,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+1998PhRvE..57.7111K,
+1998UFN,
+cs.SE:30073,
+CS:30073,
+nos_weeralarm_2009,
+gibbard,
+Williams2002,
+kruse,
+tmma,
+dekart:soch,
+moraux,
+mc:lfcn-400,
+scpi-99,
+scpi-04,
+Drake1948,
+geer,
+loh,
+Duebner1878,
+Bussemaker1878,
+Deluz1972,
+GuilielmusdeBoldensele,
+veilahti:abm,
+wassenberg,
+Lisi1995}
+
+\verb|\cite|\par \cite{\allrefs}
\verb|\citep|\par \citep{\allrefs}
@@ -115,8 +144,81 @@ PhysRevLett.101.085006}
\verb|\citeauthor*|\par \citeauthor*{\allrefs}
\bibliographystyle{\mybibstyle}
-\bibliography{bib/examples}
+\bibliography{bib/ex01,%
+bib/ex02,%
+bib/ex03,%
+bib/ex04,%
+bib/ex05,%
+bib/ex06,%
+bib/ex07,%
+bib/ex08,%
+bib/ex09,%
+bib/ex10,%
+bib/ex11,%
+bib/ex12,%
+bib/ex13,%
+bib/ex14,%
+bib/ex15,%
+bib/ex16,%
+bib/ex17,%
+bib/ex18,%
+bib/ex19,%
+bib/ex20,%
+bib/ex21,%
+bib/ex22,%
+bib/ex23,%
+bib/ex24,%
+bib/ex25,%
+bib/ex26,%
+bib/ex27,%
+bib/ex28,%
+bib/ex29,%
+bib/ex30,%
+bib/ex31,%
+bib/ex32,%
+bib/ex33,%
+bib/ex34,%
+bib/ex35,%
+bib/ex36,%
+bib/ex37,%
+bib/ex38,%
+bib/ex39,%
+bib/ex40,%
+bib/ex41,%
+bib/ex42,%
+bib/ex43,%
+bib/ex44,%
+bib/ex45,%
+bib/ex46,%
+bib/ex47,%
+bib/ex48,%
+bib/ex49,%
+bib/ex50,%
+bib/ex51,%
+bib/ex52,%
+bib/ex53,%
+bib/ex54,%
+bib/ex55,%
+bib/ex56,%
+bib/ex57,%
+bib/ex58,%
+bib/ex59,%
+bib/ex60,%
+bib/ex61,%
+bib/ex62,%
+bib/ex63,%
+bib/ex64,%
+bib/ex65,%
+bib/ex66,%
+bib/ex67,%
+bib/ex68,%
+bib/ex69,%
+bib/ex70,%
+bib/ex71,%
+bib/ex72,%
+bib/ex73,%
+bib/ex74,%
+bib/ex75,%
+bib/ex76}
\end{document}
-
-
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf
index 47eb226140b..418d9072a4a 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex
index 7956c2146f8..838474df168 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008ns.tex
@@ -1,8 +1,8 @@
-% !Mode:: "TeX:UTF-8"
\newcommand*{\mybibstyle}{ugost2008ns}
-\RequirePackage[utf8]{inputenc}
+ % cmap надо грузить до inputenc, чтобы работал поиск
\RequirePackage{cmap}
+\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
@@ -16,14 +16,12 @@
}
\documentclass[a4paper]{article}
-\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[ukrainian,russian]{babel}
\usepackage{natbib}
\usepackage{geometry,ifpdf}
\ifpdf
\usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
\else
\usepackage[hypertex]{hyperref}
\fi
@@ -72,7 +70,6 @@ HistLit82,
Landau:eldin,
BRLS94,
Grosse80,
-GOST7184,
ObchTech93,
Bibdelo86,
Ponomarenko79,
@@ -84,27 +81,65 @@ dixit.pindyck:options,
RosGaz-article,
Dolmatovskiy88,
Ponomarenko88,
-Melikov95, Selikov95, Selikov+95,
+Melikov95,
Gojchuk98,
Polyakov98a,
TranskSpivrob99:Purich,
+Selikov95,
+Selikov+95,
+GOST7184,
Luus82,
KIA95-default,
+mastersthesis-minimal,
+mastersthesis-full,
KIA85-autoref,
+vishnyakov:thesis1,
+vishnyakov:thesis2,
+Skvortsov:2008,
Ponomarenko76,
Report81-rep,
Report81b-rep-notype,
Report81-techrep,
CatalogMamals81,
Instr86,
-wiki:latex,
-wiki:latex-2,
-phys:moodle,
+patent1,
+patent2,
EXFOR,
IsaacNewton,
IsaacNewton-sl:sn,
-PhysRevLett.101.085006}
-
+Encyclopedia,
+Nasirova,
+kremlincd,
+PhysRevLett.101.085006,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+1998PhRvE..57.7111K,
+1998UFN,
+cs.SE:30073,
+CS:30073,
+nos_weeralarm_2009,
+gibbard,
+Williams2002,
+kruse,
+tmma,
+dekart:soch,
+moraux,
+mc:lfcn-400,
+scpi-99,
+scpi-04,
+Drake1948,
+geer,
+loh,
+Duebner1878,
+Bussemaker1878,
+Deluz1972,
+GuilielmusdeBoldensele,
+veilahti:abm,
+wassenberg,
+Lisi1995}
+
+\verb|\cite|\par \citep{\allrefs}
\verb|\citep|\par \citep{\allrefs}
@@ -114,10 +149,82 @@ PhysRevLett.101.085006}
\verb|\citeauthor*|\par \citeauthor*{\allrefs}
-
\bibliographystyle{\mybibstyle}
-\bibliography{bib/examples}
+\bibliography{bib/ex01,%
+bib/ex02,%
+bib/ex03,%
+bib/ex04,%
+bib/ex05,%
+bib/ex06,%
+bib/ex07,%
+bib/ex08,%
+bib/ex09,%
+bib/ex10,%
+bib/ex11,%
+bib/ex12,%
+bib/ex13,%
+bib/ex14,%
+bib/ex15,%
+bib/ex16,%
+bib/ex17,%
+bib/ex18,%
+bib/ex19,%
+bib/ex20,%
+bib/ex21,%
+bib/ex22,%
+bib/ex23,%
+bib/ex24,%
+bib/ex25,%
+bib/ex26,%
+bib/ex27,%
+bib/ex28,%
+bib/ex29,%
+bib/ex30,%
+bib/ex31,%
+bib/ex32,%
+bib/ex33,%
+bib/ex34,%
+bib/ex35,%
+bib/ex36,%
+bib/ex37,%
+bib/ex38,%
+bib/ex39,%
+bib/ex40,%
+bib/ex41,%
+bib/ex42,%
+bib/ex43,%
+bib/ex44,%
+bib/ex45,%
+bib/ex46,%
+bib/ex47,%
+bib/ex48,%
+bib/ex49,%
+bib/ex50,%
+bib/ex51,%
+bib/ex52,%
+bib/ex53,%
+bib/ex54,%
+bib/ex55,%
+bib/ex56,%
+bib/ex57,%
+bib/ex58,%
+bib/ex59,%
+bib/ex60,%
+bib/ex61,%
+bib/ex62,%
+bib/ex63,%
+bib/ex64,%
+bib/ex65,%
+bib/ex66,%
+bib/ex67,%
+bib/ex68,%
+bib/ex69,%
+bib/ex70,%
+bib/ex71,%
+bib/ex72,%
+bib/ex73,%
+bib/ex74,%
+bib/ex75,%
+bib/ex76}
\end{document}
-
-
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf
index 739a5db4f6a..d1458ee5139 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex
index 827e8ccd03c..f337b268635 100644
--- a/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex
+++ b/Master/texmf-dist/doc/bibtex/gost/examples/utf8/ugost2008s.tex
@@ -1,11 +1,12 @@
-% !Mode:: "TeX:UTF-8"
\newcommand*{\mybibstyle}{ugost2008s}
+ % cmap надо грузить до inputenc, чтобы работал поиск
+\RequirePackage{cmap}
\RequirePackage[utf8]{inputenc}
\newcommand*{\mytitle}{The GOST bundle: \mybibstyle.bst}
\newcommand{\mydescription}{
- Example of a bibliography using the style \texttt{\mybibstyle.bst}.
+ Example of a bibliography using the style \texttt{\mybibstyle.bst}.
No customization is applied.
Пример оформления списка литературы с помощью стиля
@@ -14,14 +15,11 @@
}
\documentclass[a4paper]{article}
-\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[ukrainian,russian]{babel}
-%\usepackage{natbib}
\usepackage{geometry,ifpdf}
\ifpdf
\usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
\else
\usepackage[hypertex]{hyperref}
\fi
@@ -64,7 +62,6 @@ HistLit82,
Landau:eldin,
BRLS94,
Grosse80,
-GOST7184,
ObchTech93,
Bibdelo86,
Ponomarenko79,
@@ -80,27 +77,139 @@ Melikov95,
Gojchuk98,
Polyakov98a,
TranskSpivrob99:Purich,
+Selikov95,
+Selikov+95,
+GOST7184,
Luus82,
KIA95-default,
+mastersthesis-minimal,
+mastersthesis-full,
KIA85-autoref,
+vishnyakov:thesis1,
+vishnyakov:thesis2,
+Skvortsov:2008,
Ponomarenko76,
Report81-rep,
Report81b-rep-notype,
Report81-techrep,
CatalogMamals81,
Instr86,
-wiki:latex,
-wiki:latex-2,
-phys:moodle,
+patent1,
+patent2,
EXFOR,
IsaacNewton,
IsaacNewton-sl:sn,
-PhysRevLett.101.085006}
+Encyclopedia,
+Nasirova,
+kremlincd,
+PhysRevLett.101.085006,
+wiki:latex,
+wiki:latex-2,
+phys:moodle,
+1998PhRvE..57.7111K,
+1998UFN,
+cs.SE:30073,
+CS:30073,
+nos_weeralarm_2009,
+gibbard,
+Williams2002,
+kruse,
+tmma,
+dekart:soch,
+moraux,
+mc:lfcn-400,
+scpi-99,
+scpi-04,
+Drake1948,
+geer,
+loh,
+Duebner1878,
+Bussemaker1878,
+Deluz1972,
+GuilielmusdeBoldensele,
+veilahti:abm,
+wassenberg,
+Lisi1995}
\nocite{*}
\cite{\allrefs}
\bibliographystyle{\mybibstyle}
-\bibliography{bib/examples}
+\bibliography{bib/ex01,%
+bib/ex02,%
+bib/ex03,%
+bib/ex04,%
+bib/ex05,%
+bib/ex06,%
+bib/ex07,%
+bib/ex08,%
+bib/ex09,%
+bib/ex10,%
+bib/ex11,%
+bib/ex12,%
+bib/ex13,%
+bib/ex14,%
+bib/ex15,%
+bib/ex16,%
+bib/ex17,%
+bib/ex18,%
+bib/ex19,%
+bib/ex20,%
+bib/ex21,%
+bib/ex22,%
+bib/ex23,%
+bib/ex24,%
+bib/ex25,%
+bib/ex26,%
+bib/ex27,%
+bib/ex28,%
+bib/ex29,%
+bib/ex30,%
+bib/ex31,%
+bib/ex32,%
+bib/ex33,%
+bib/ex34,%
+bib/ex35,%
+bib/ex36,%
+bib/ex37,%
+bib/ex38,%
+bib/ex39,%
+bib/ex40,%
+bib/ex41,%
+bib/ex42,%
+bib/ex43,%
+bib/ex44,%
+bib/ex45,%
+bib/ex46,%
+bib/ex47,%
+bib/ex48,%
+bib/ex49,%
+bib/ex50,%
+bib/ex51,%
+bib/ex52,%
+bib/ex53,%
+bib/ex54,%
+bib/ex55,%
+bib/ex56,%
+bib/ex57,%
+bib/ex58,%
+bib/ex59,%
+bib/ex60,%
+bib/ex61,%
+bib/ex62,%
+bib/ex63,%
+bib/ex64,%
+bib/ex65,%
+bib/ex66,%
+bib/ex67,%
+bib/ex68,%
+bib/ex69,%
+bib/ex70,%
+bib/ex71,%
+bib/ex72,%
+bib/ex73,%
+bib/ex74,%
+bib/ex75,%
+bib/ex76}
\end{document}
diff --git a/Master/texmf-dist/doc/bibtex/gost/gost.pdf b/Master/texmf-dist/doc/bibtex/gost/gost.pdf
index 296cadade9a..54b03652f90 100644
--- a/Master/texmf-dist/doc/bibtex/gost/gost.pdf
+++ b/Master/texmf-dist/doc/bibtex/gost/gost.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/bibtex/gost/gost.dtx b/Master/texmf-dist/source/bibtex/gost/gost.dtx
index ba678e3abd6..4b8aba2e9a6 100644
--- a/Master/texmf-dist/source/bibtex/gost/gost.dtx
+++ b/Master/texmf-dist/source/bibtex/gost/gost.dtx
@@ -1,18 +1,15 @@
-% \iffalse
+% \iffalse meta-comment
+% !TEX program = pdfLaTeX
% !Mode:: "DTX:UNIX:UTF-8"
%
-% This is the source file for the GOST package
-% to be used with BibTeX8.
+% This is the source file for the GOST bundle used with BibTeX.
+%
+% Current version is 1.2k, 2020.12.25.
+%
% It contains set of bibliographic style that
% attempt to format the bibliography according to
% GOST R 7.0.5-2008 with some conventional modifications.
%
-% Copyright 2012-2017 Igor A. Kotelnikov.
-% Version 1.2i
-%
-% Copyright 1996-2005 Maksym Polyakov.
-% Version 2005.08.12
-%
% For a bibliographic entry in Russian you need
% to add the field
% language = {russian}.
@@ -28,12 +25,11 @@
% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic.
% bibtex8 -B -c <encoding>.csf <your_document>
%
-%
% Download from
-% CTAN:macros/latex/contrib/gost/gost.dtx
+% http://ctan.org/pkg/gost
%
% To unpack run
-% latex gost.ins
+% tex gost.dtx
%
% To produce the documentation run
% pdflatex gost.dtx
@@ -42,57 +38,518 @@
% pdflatex gost.dtx
% pdflatex gost.dtx
%
-% TeX Directory Structure
-%
-% Move all *.bst files to TDS:bibtex/bst/gost
-% Move all *.csf files to TDS:bibtex/csf/gost
-% Move all *.pdf files to TDS:doc/bibtex/gost
-% Move gost.dtx and gost.ins to TDS:source/bibtex/gost/
-%
-% $Id: gost.dtx, v.2017/01/12 kia999 $
-%
-%<*driver>
-\ProvidesFile{gost.dtx}%
- [2017/01/12 v.1.2i Bibliography styles for GOST R 7.0.5-2008.]
+%<*internal>
+\iffalse
+%</internal>
+%<*readmemd|readme>
+-------------------------------------------------------------------
+GOST is a bundle of BibTEX styles to format references according to
+the State Standards on information, librarianship and publishing
+(GOST) issued by The Russian Federation and Interstate Committee
+of former USSR States.
+
+Current version is 1.2k, 2020.12.25.
+
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+E-mail: kia999@mail.ru
+-------------------------------------------------------------------
+%</readmemd|readme>
+%<*readmemd>
+The System of State Standards includes:
+```
+GOST 7.80 -2000 Bibliographic record.
+ Heading. General requirements and rules.
+GOST 7.83 -2001 Electronic editions. Basic types and imprint.
+GOST 7.1 -2003 Bibliographic record.
+ Bibliographic description.
+ General requirements and rules.
+GOST 7.11 -2004 Bibliographic description and references.
+ Rules for the abbreviation of words and word
+ combinations in foreign European languages.
+GOST 7.0.5-2008 Bibliographic reference.
+ General requirements and rules of making.
+```
+Etc.
+
+Currently, GOST contains 16 BibTeX styles to format bibliography in English,
+Russian and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both
+8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case
+offering a choice of sorted and unsorted.
+
+All styles in the GOST bundle are derived from single master file
+`gost.dtx` by applying different set of options as shown in the table below.
+
+ Style | utf8 | strict | eprint | long | sort | natbib
+:--------------|:----:|:------:|:------:|:----:|:----:|:------:
+ gost2003 | | + | + | | |
+ gost2003s | | + | + | | + |
+ gost2008 | | | + | | |
+ gost2008n | | | + | | | +
+ gost2008l | | | + | + | |
+ gost2008s | | | + | | + |
+ gost2008ns | | | + | | + | +
+ gost2008ls | | | + | + | + |
+ ugost2003 | + | + | + | | |
+ ugost2003s | + | + | + | | + |
+ ugost2008 | + | | + | | |
+ ugost2008n | + | | + | | | +
+ ugost2008l | + | | + | + | |
+ ugost2008s | + | | + | | + |
+ ugost2008ns | + | | + | | + | +
+ ugost2008ls | + | | + | + | + |
+ **Style** |**utf8**|**strict**|**eprint**|**long**|**sort**|**natbib**
+
+`Gost2008` style is recommended for most applications. It corresponds to the
+currently effective Standard 7.0.5-2008. Librarians should use the style
+`gost2003` instead of `gost2008` to compile a library catalog to meet the
+Standard 7.1-2003. Use of other styles is best explained through
+the meaning of options used to compile those styles from the master source.
+
+The `strict` option provides conformance to the Standard 7.1-2003. The
+bibstyles compiled with that option bear the name `gost2003` with possible
+suffixes `s`, `l`, `n` as explained below. These styles are intended
+primarily for the librarians who compose a library catalog.
+
+The bibstyles compiled without `strict` option meets the Standard 7.0.5-2008
+which can be thought off as a relaxed version of the Standards 7.1-2003. These
+bibstyles bear the name `gost2008` with possible suffixes `s`, `l`, `n`.
+
+If the number of authors exceeds 4, modern styles cut the list of authors
+to at most 4 persons as prescibed by the Standards. Option
+`long` overrides this rule to provide backward compatibility with the
+package disser by Stanislab Kruchinin. Two styles, `gost2008l` and
+`gost2008ls`, compiled with the option `long` mimic behavior of the styles
+`gost705` and `gost705s` from the disser package. Major
+effect of the `long` option is that the list of authors always
+precedes book or article title no matter how long is it.
+Modern styles compiled without `long` place long list of authors behind
+the title. The names of styles compiled with the option `long` has the
+suffix `l`. Recall that those styles do not conform effective Standards and
+their use is discouraged.
+
+The `eprint` option enables formatting electronic publications. In particular,
+it enables `eprint`, `eprinttype`, `eprintclass`, and `doi` fields for a
+bibliographic entry. The styles generated without the `eprint` option,
+ignore the these fields. Starting from the
+version 1.2 of the GOST package, all modern styles are compiled with this
+option included, and the suffix `e` which designated
+this option in earlier versions is not appended to the name of style
+any more.
+
+The `natbib` option provides compatibility with the `natbib` package. The names
+of styles compiled with the option `natbib` bear the suffix `n`. Currently
+4 styles with that option are available for beta testing.
+
+The `sort` option enables sorting bibliographic references by author names
+and references titles. The names of styles compiled with the option `sort`
+bear the suffix `s`.
+
+Finally, the `utf8` option produces bibliographic styles in unicode rather
+that in 8-bit encoding. Names of those styles bear the prefix `u`.
+
+Beyond bibliographic style, GOST bundle contains CS files (codepage and
+sorting order).
+
+Encoding | CSF |Sorting order
+-----------------|----------------------|-----------------------
+ cp866 | ruscii.csf |Cyrillic first, Latin
+ cp1251 | cp1251.csf |Cyrillic first, Latin
+ koi8-u | koi8u.csf |Cyrillic first, Latin
+ utf8 | utf8cyrillic.csf |Cyrillic first, Latin
+
+In addition, BibTeX8 distribution comes with few more CSFs.
+
+ Encoding | CSF |Sorting order
+-----------------|----------------------|-----------------------
+ cp866 | cp866rus.csf |Latin first, Cyrillic
+
+## How to use
+
+1. Select bibliography style by adding appropriate `\bibliographystyle`
+declaration to your source file \file{<filename>.tex}, e.g.
+```tex
+\bibliographystyle{gost2008}
+\bibliography{database}
+```
+
+2. Add the field `language="ukrainian"` or `language="russian"` to the
+bibliographic entries in Ukrainian or Russian languages in your
+database; English is the default language. German, Italian and
+French are partially supported.
+
+3. To compile list of references from your database use `bibtex8.exe`
+rather than `bibtex.exe`. Depending on the codepage of your
+bibliographic database, indicate one of the CS files
+listed above as option to `bibtex8.exe`. Run LaTeX, then run
+`bibTeX8` and LaTeX again:
+```console
+latex <filename>.tex
+bibtex8 -B -c <csf_file>.csf <filename>.aux
+latex <filename>.tex
+```
+
+4. For details on preparing bibliographic database see examples in
+`gost*.pdf` and `ugost*.pdf`.
+
+5. `ugost*` styles are primarily intended for use
+with unicode compilers (`xelatex` and `lualatex`). They
+should be preferred as well when using 8bit compilers
+(`latex` and `pdflatex`) if source file is in `utf8` encoding.
+
+6. Neither `bibtex.exe` nor `bibtex8.exe` provides
+correct sorting order of unicode text. It means that using
+`ugost2008s` or `ugost2008ns` may produce unexpected result
+for documents in `utf8` encoding.
+
+7. `Bibtex8` fails to change case of a string if it contains Cyrillic
+letter in unicode. Therefore `ugost2008*` styles do not change case of
+titles and other parts of bibliographic record while 8-bit styles
+do the case change where appropriate.
+
+8. Either `bibtex.exe` or `bibtex8.exe` fail to cut Cyrillic names to
+initials. Therefore `ugost2008*` styles do not modify name of
+authors.
+
+9. Package `natbib` is required when choosing styles with
+suffix `n` in their names.
+
+## Customization
+
+Every GOST style defines few commands to format some parts of a
+reference. You can redefine these commands prior to
+the `\bibliography{<bibtex_style>}` command. Initial
+definitions are listed below.
+```tex
+\providecommand*{\url}[1]{{\small #1}}
+\providecommand*{\BibUrl}[1]{\url{#1}}
+\providecommand{\BibAnnote}[1]{}
+\providecommand*{\BibEmph}[1]{#1}
+```
+
+By default, gost styles separate logical parts of a bibliography
+record by a period and cyrdash (`. "---`). It is legitimate to drop
+that dash by overriding the command `\BibDash` as follows
+```tex
+\providecommand*{\BibDash}{}
+```
+
+By default, `\BibDash` is equivalent to the shorthand `"---`
+defined by the babel package with the option `russian`.
+It prints a so called Cyrillic dash (`\cyrdash`),
+which is 20 % shorter then ordinary LaTeX dash (`---`), and puts
+unbreakable space before `\cyrdash` so that dash never appears
+in the beginning of a line.
+
+## Where to get from
+
+1. [http://ctan.org/pkg/gost](http://ctan.org/pkg/gost).
+
+2. [http://github.com/kia999/gost](http://github.com/kia999/gost)
+
+Run
+```tex.exe gost.dtx```
+ to produce .bst styles.
+
+Run
+```pdllatex.exe gost.dtx
+makeindex -r -s gind.ist gost
+makeindex -r -s gglo.ist -o gost.gls gost.glo
+pdflatex gost.dtx
+pdflatex gost.dtx
+```
+to produce .bst styles and documentation.
+%</readmemd>
+%<*readmemd|readme>
+
+## Version history
+
+### Version 1.2k (2020.12.25)
+1. All stuff is now generated from `gost.dtx`.
+
+2. Limited support of the `date` field added.
+
+3. Formatting of `doi` field updated: `http://dx.doi.org` changed
+to `https://doi.org`.
+
+4. Documentation and examples update (thanks to Leonid Sinev).
+
+5. Formatting of @inproceedings and @proceedings improved.
+
+%</readmemd|readme>
+%<*readmemd>
+
+### Version 1.2i (2017.01.12)
+
+1. Documentation and examples update (thanks to Leonid Sinev).
+
+2. Restored `@MastersThesis` instead of `@MasterThesis` (thanks to Leonid Sinev).
+
+3. `media="eresource"` is introduced in addition to `media="online"` and
+`media="text"`; if present, the `media` field is not ignored any more in
+modern bst-styles compiled without the `strict` option.
+
+4. `location` field is introduced as an alias of `address` field.
+
+5. `@DSCISTHESIS` entry renamed to `@DOCTHESIS`.
+
+6. `school` field in `@THESIS` and similar entries is replaced by
+`institution` to comply with `biblatex-gost` style.
+
+7. `specialitycode` is added for `@THESIS` and similar entries;
+ number is treated as alias of specialitycode.
+
+8. `type` field in `@THESIS` and similar entries can now accept three values
+ (`mathesis`, `phdthesis`, `docthesis`) which are translated to built-in
+ language-sensitive strings; any other value is reproduced literally.
+
+
+### Version 1.2h (2016.08.21)
+
+1. Minor changes in documentation.
+
+
+### Version 1.2g (2016.07.25)
+
+1. Minor changes in documentation.
+
+
+### Version 1.2f (2016.07.11)
+
+1. Support for `@patent` entry added (thanks to Stanislav Kruchinin).
+2. medium field renamed to media field.
+
+
+### Version 1.2e (2016.07.07)
+
+1. Hard coded "URL" string replaced with a language sensitive string
+ (thanks to Roman Budnyi).
-\documentclass{ltxdoc}
+### Version 1.2d (2016.02.18)
+
+1. jan, feb, mar, e.t.c. month macros fixed;
+2. New macro format.month.
+3. \cyrdash is now faked via \ProvideTextCommandDefault if not defined.
+
+
+### Version 1.2c (2015.01.10)
+
+1. langid field added; language field supported for backward compatibility.
+2. eid field added, it has priority over pages field;
+3. Fix Gost2003: "--- replaced by \BibDash;
+4. Spacing around \BibDash improved.
+
+
+### Version 1.2b (2014.01.19)
+
+1. numpages renamed to pagetotal.
+
+
+### Version 1.2a (2012.08.31)
+
+1. \cyrdash is now defined via \ProvideTextCommand rather than \providecommand.
+
+
+### Version 1.2 (2012.02.22)
+
+1. Code refactoring. All styles are now generated from single source file.
+2. Support for GOST-7.1-2003. The field `medium` is added to reflect type
+ of material. For most entry types `medium` defaults to `text`.
+3. Support for `natbib` package.
+4. All modern styles are now compiled with the `eprint` option.
+
+
+### Version 1.1 (2012.01.21)
+
+1. Support for GOST 7.0.5-2008 and GOST 7.1-2003 is provided.
+2. `@Online` entry is added to format a reference to electronic
+ resource on Internet.
+3. `@MastersThesis` entry is added to format a reference to master's thesis.
+ `@DSciThesis` entry is added to format a reference to doctor of
+ sciences thesis.
+4. `Urldate`, `eprint`, `eprintclass`, `eprinttype` fields are added.
+
+
+### Earlier version history
+
+2012.08.31 \cyrdash is now defined via \ProvideTextCommand.
+2012.02.22 Support for |natbib| package.
+2012.02.02 Adaptation to GOST 7.0.5, electronic publishing.
+2005.08.12 First version uploaded to CTAN.
+2003.06.06 First public version.
+
+
+
+### Older versions
+
+See `gost.pdf`.
+
+
+### Bug reports
+
+Please, submit feature requests and issue reports via
+ [https://github.com/kia999/GOST/issues](https://github.com/kia999/GOST/issues).
+
+Happy BibTeXing!
+%</readmemd>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+-------------------------------------------------------------------
+This file is a part of GOST package, which is a bundle of BibTEX
+styles to format bibliographic references according to the State
+Standards on information, librarianship and publishing (GOST)
+issued by The Russian Federation and Interstate Committee of former
+USSR States.
+
+Current version is 1.2k, 2020.12.25.
+
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+E-mail: kia999@mail.ru
+-------------------------------------------------------------------
+\endpreamble
+\postamble
+-------------------------------------------------------------------
+Copyright 2012-2020 Igor A. Kotelnikov.
+Copyright 2017 Leonid Sinev.
+Version 1.2k*
+
+Copyright 1996-2005 Maksym Polyakov.
+Version 2005.08.12
+
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+Igor A. Kotelnikov.
+
+Current version is 1.2k, 2020.12.25.
+
+Please, send bug report via e-mail: kia999@mail.ru <Igor Kotelnikov>
+-------------------------------------------------------------------
+This work consists of the file gost.dtx
+and the derived files gost.ins,
+ gost.pdf,
+ gost*.bst (8 files),
+ ugost*.bst (8 files),
+ README.md.
+It also contains a lot of examples (*.tex, *.pdf, *.bib files).
+-------------------------------------------------------------------
+\endpostamble
+%</internal>
+%<*install>
+\input docstrip
+\usedir{source/bibtex/gost}
+\askonceonly
+\ProvidesFile{gost.ins}[2020/12/25 1.2k Russian support for the Babel system]
+\generate{%
+%%
+%% BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*.
+ \file{gost2003.bst} {\from{gost.dtx} {bst,strict,eprint}}
+%%
+%% BST styles that mimics GOST 7.0.5-2008 for bibliographic *references*
+ \file{gost2008.bst} {\from{gost.dtx} {bst,eprint}}
+ \file{gost2008l.bst} {\from{gost.dtx} {bst,eprint,long}}
+%%
+%% Same styles with sorting
+ \file{gost2003s.bst} {\from{gost.dtx} {bst,strict,eprint,sort}}
+%%
+ \file{gost2008s.bst} {\from{gost.dtx} {bst,eprint,sort}}
+ \file{gost2008ls.bst} {\from{gost.dtx} {bst,eprint,long,sort}}
+%% `
+%% --------------------------------------------------------------------------
+%% Unicode BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*.
+ \file{ugost2003.bst} {\from{gost.dtx} {bst,utf8,strict,eprint}}
+%%
+%% Unicode BST styles that mimics GOST 7.0.5-2008 for bibliographic *references*
+ \file{ugost2008.bst} {\from{gost.dtx} {bst,utf8,eprint}}
+ \file{ugost2008l.bst} {\from{gost.dtx} {bst,utf8,eprint,long}}
+%%
+%% Same styles with sorting
+ \file{ugost2003s.bst} {\from{gost.dtx} {bst,utf8,strict,eprint,sort}}
+%%
+ \file{ugost2008s.bst} {\from{gost.dtx} {bst,utf8,eprint,sort}}
+ \file{ugost2008ls.bst} {\from{gost.dtx} {bst,utf8,eprint,long,sort}}
+%%
+%% --------------------------------------------------------------------------
+%% Experimental styles compatible with natbib package.
+%%
+ \file{gost2008n.bst} {\from{gost.dtx} {bst,natbib,eprint}}
+ \file{gost2008ns.bst} {\from{gost.dtx} {bst,natbib,eprint,sort}}
+%%
+ \file{ugost2008n.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint}}
+ \file{ugost2008ns.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint,sort}}
+}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/bibtex/gost}
+\generate{
+ \file{\jobname.ins}{\from{\jobname.dtx}{install}}
+}
+\nopreamble\nopostamble
+\usedir{source/doc/gost}
+\generate{
+ \file{README.}{\from{\jobname.dtx}{readme}}
+ \file{README.md}{\from{\jobname.dtx}{readmemd}}
+}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+%<*driver>
+\ProvidesFile{gost.dtx}[2020/12/23 v.1.2k BibTEX support for GOST bibliographies]
+\NeedsTeXFormat{LaTeX2e}
+\documentclass{ltxdoc}
\usepackage{geometry}
-\usepackage{makeidx}
-\ifpdf
- \usepackage[pdftex,hyperindex,unicode]{hyperref}
- \usepackage{cmap}
+\usepackage{ifluatex,ifxetex}
+\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0
+ \usepackage{fontspec}
+ \defaultfontfeatures{Ligatures={TeX},Renderer=Basic}
+ \setmainfont{CMU Serif}
+ \setsansfont{CMU Sans Serif}
+ \setmonofont{CMU Typewriter Text}
\else
- %\usepackage[hypertex]{hyperref}
- \usepackage{hyperref}
+ \usepackage[utf8]{inputenc} % UTF-8: PDFLaTeX
+ \usepackage[T2A]{fontenc}
+ \usepackage{cmap}
\fi
-\usepackage{color}
-\definecolor{darkblue}{rgb}{0,0,.6}
-\hypersetup{
- pdftitle = {The GOST package},
- pdfauthor = {Igor A. Kotelnikov},
- pdfsubject = {BibTeX, GOST},
- pdfstartview = {FitH},
-% pdfborder = {0 0 0},
-% bookmarksopen = true,
- bookmarksnumbered = true,
-% bookmarksopenlevel = 2,
- colorlinks = true, linkcolor = darkblue,
- citecolor = darkblue, filecolor = darkblue,
- menucolor = darkblue, urlcolor = darkblue
-}
-
-
-\usepackage[utf8]{inputenc}
-\usepackage[T2A]{fontenc}
\usepackage[russian,english]{babel}
-
-\MakeShortVerb{\|}
-
+\usepackage{makeidx}\makeindex
+%\usepackage{xcolor}
+%\definecolor{darkblue}{rgb}{0,0,.6}
+\usepackage[
+ unicode
+ ,pdfusetitle
+ ,colorlinks = true
+ %,linkcolor = darkblue
+ %,citecolor = darkblue, filecolor = darkblue
+ %,menucolor = darkblue, urlcolor = darkblue
+ ,bookmarksnumbered = true,
+ ,pdfdisplaydoctitle = true% display document title instead of file
+ ,pdfpagemode = UseOutlines% (show bookmarks)
+]{hyperref}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
\def\file#1{\texttt{#1}}
\def\pkg#1{\textsf{#1}}
\def\cmd#1{\texttt{#1}}
+\newcommand{\note}[2][N$\!\!$B: ]{\textcolor{red}{\ensuremath{\langle}#1#2\ensuremath{\rangle}}}
+%
\newcommand\DescribeEntry[1]{%
\DescribeMacro{#1}\index{Entry!\texttt{#1}}%
}
@@ -102,34 +559,17 @@
\newcommand\DescribeField[1]{%
\DescribeMacro{#1}\index{Field!\texttt{#1}}%
}
-
-
-\GetFileInfo{gost.dtx}
+%
+%\OnlyDescription % uncomment to hide the Implementation section
\EnableCrossrefs
-%\DisableCrossrefs % Say \DisableCrossrefs if index is ready
-\RecordChanges % Gather update information
-\CodelineIndex % Index code by line number
-%\PageIndex % Index code by page number
-
-\title{The GOST package}
-
-\author{
- Igor A. Kotelnikov\thanks{\texttt{kia999@mail.ru}}
-}
-
-\date{\filedate, \fileversion}
-
-\makeindex
-
+\CodelineIndex
+\RecordChanges
\begin{document}
- \maketitle
- \DocInput{gost.dtx}
+ \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{592}
-%
% \DoNotIndex{\cyra,\cyrb,\cyrv,\cyrg,\cyrd,\cyre}
% \DoNotIndex{\CYRP,\cyrii,\cyrr,\cyre,\cyro,\CYRU,\cyrk,\cyrl,\CYRS,\cyrs|}
% \DoNotIndex{\cyrt,\cyri,\cyrz,\CYRT,\cyrm}
@@ -137,9 +577,20 @@
% \DoNotIndex{\cyrp,\cyrs,\cyrshch,\cyru,\CYRV,\cyrya}
% \DoNotIndex{\CYRA,\CYRB,\cyrch,\CYRE,\CYREREV,\CYRF,\cyrf,\CYRI,\cyrishrt}
% \DoNotIndex{\CYRO,\CYRR,\cyrsftsn,\CYRYA,\cyryu,\cyrzh}
+% \DoNotIndex{\CYRCH, \CYRG, \CYRL, \CYRZH}
% \DoNotIndex{\z@skip,\z@}
-% \DoNotIndex{\|,\~,\ }
-% \DoNotIndex{\\&,\',\(,\),\`,\\,\/,\.}
+% \DoNotIndex{\|,\~,\ ,\,}
+%
+% \begingroup
+% \makeatletter
+% \lccode`9=32\relax
+% \lowercase{%^^A
+% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A
+% }%^^A
+% \expandafter\endgroup\x
+% \expandafter\DoNotIndex\expandafter{\string\&}
+%
+% \DoNotIndex{\',\(,\),\`,\\,\/,\.}
% \DoNotIndex{\begin,\DeclareUTFcharacter}
% \DoNotIndex{\csname,\def}
% \DoNotIndex{\else,\endcsname,\end}
@@ -150,7 +601,17 @@
% \DoNotIndex{\providecommand,\ProvideTextCommandDefault,\relax,\renewcommand}
% \DoNotIndex{\selectlanguage,\selectlanguageifdefined,\small,\textemdash}
% \DoNotIndex{\textnumero,\unskip,\url,\UTFencname}
-% \DoNotIndex{\,,\catcode,\cite,\citeauthor,\citet,\citeyear,\href,\hskip,\ifdim}
+% \DoNotIndex{\catcode,\cite,\citeauthor,\citet,\citeyear,\href,\hskip,\ifdim}
+%
+%\GetFileInfo{\jobname.ins}
+%
+%\title{The GOST package}
+%\author{
+% Igor Kotelnikov\thanks{E-mail: kia999@mail.ru},
+% Leonid Sinev
+%}
+%\date{Version \fileversion\ released \filedate}
+%\maketitle
%
% \begin{abstract}
%
@@ -161,13 +622,12 @@
% It comprises 16 BibTeX styles to format bibliography in English, Russian
% and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both 8-bit
% and Unicode (UTF-8) versions of each BibTeX style, in each case offering
-% a choice of sorted and unsorted. Further, 2 more styles, |gost780| and
-% |gost780s| styles (not conforming to effective standards) are retained
-% for backwards compatibility.
+% a choice of sorted and unsorted.
%
% \end{abstract}
%
-% \section{Introduction}
+% \section{Introduction}\label{s1}
+%
% The package was initially developed by Maksym Polyakov. It was later
% updated by Igor Kotelnikov to the present status and some code was borrowed
% from \pkg{disser} package developed by Stanislav Kruchinin and unpublished
@@ -179,63 +639,58 @@
%
% The System of Standards includes:
% \begin{description}
-% \item[GOST 7.0.5-2008]
-% Bibliographic reference.
-% General requirements and rules of making.
+% \item[GOST 7.80 -2000]
+% Bibliographic record.
+% Heading. General requirements and rules.
+% \item[GOST 7.83 -2001]
+% Electronic editions. Basic types and imprint.
% \item[GOST 7.1 -2003]
% Bibliographic record.
% Bibliographic description.
% General requirements and rules.
-% \item[GOST 7.80 -2000]
-% Bibliographic record.
-% Heading. General requirements and rules.
% \item[GOST 7.11 -2004]
% Bibliographic description and references.
% Rules for the abbreviation of words and word combinations
% in foreign European languages.
-% \item[GOST 7.83 -2001]
-% Electronic editions. Basic types and imprint.
+% \item[GOST 7.0.5-2008]
+% Bibliographic reference.
+% General requirements and rules of making.
% \end{description}
-% ect.
+% Etc.
%
% Currently, GOST contains 16 BibTeX styles to format bibliography in English,
% Russian and Ukrainian according to GOST 7.0.5-2008 and GOST 7.1-2003. Both
% 8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case
-% offering a choice of sorted and unsorted. Further, 2 styles, |gost780| and
-% |gost780s| styles (which do not conform to effective standards) are retained
-% for backwards compatibility.
+% offering a choice of sorted and unsorted.
%
% All styles in the GOST bundle are derived from single master file
% \file{gost.dtx} by applying different set of options as shown in the table
% below.
%
% \begin{verbatim}
-%------------------------------------------------------------------------
-% Style | utf8 | strict | modern | eprint | long | sort | natbib
-%------------------------------------------------------------------------
-% gost780 | | | | | | |
-% gost780s | | | | | | + |
-%------------------------------------------------------------------------
-% gost2003 | | + | | + | | |
-% gost2003s | | + | | + | | + |
-% gost2008 | | | + | + | | |
-% gost2008n | | | + | + | | | +
-% gost2008l | | | + | + | + | |
-% gost2008s | | | + | + | | + |
-% gost2008ns | | | + | + | | + | +
-% gost2008ls | | | + | + | + | + |
-%------------------------------------------------------------------------
-% ugost2003 | + | + | | + | | |
-% ugost2003s | + | + | | + | | + |
-% ugost2008 | + | | + | + | | |
-% ugost2008n | + | | + | + | | | +
-% ugost2008l | + | | + | + | + | |
-% ugost2008s | + | | + | + | | + |
-% ugost2008ns | + | | + | + | | + | +
-% ugost2008ls | + | | + | + | + | + |
-%------------------------------------------------------------------------
-% Style | utf8 | strict | modern | eprint | long | sort | natbib
-%------------------------------------------------------------------------
+%---------------------------------------------------------------
+% Style | utf8 | strict | eprint | long | sort | natbib
+%---------------------------------------------------------------
+% gost2003 | | + | + | | |
+% gost2003s | | + | + | | + |
+% gost2008 | | | + | | |
+% gost2008n | | | + | | | +
+% gost2008l | | | + | + | |
+% gost2008s | | | + | | + |
+% gost2008ns | | | + | | + | +
+% gost2008ls | | | + | + | + |
+%---------------------------------------------------------------
+% ugost2003 | + | + | + | | |
+% ugost2003s | + | + | + | | + |
+% ugost2008 | + | | + | | |
+% ugost2008n | + | | + | | | +
+% ugost2008l | + | | + | + | |
+% ugost2008s | + | | + | | + |
+% ugost2008ns | + | | + | | + | +
+% ugost2008ls | + | | + | + | + |
+%---------------------------------------------------------------
+% Style | utf8 | strict | eprint | long | sort | natbib
+%---------------------------------------------------------------
% \end{verbatim}
%
% |Gost2008| style is recommended for most applications. It corresponds to the
@@ -244,21 +699,14 @@
% Standard 7.1-2003. Use of other styles is best explained through
% the meaning of options used to compile those styles from the master source.
%
-% Two styles, |gost780| and |gost780s|, compiled without |modern| and |strict|
-% options, are retained for backward compatibility. They do not conform
-% the Standards 7.0.5-2008 and 7.1-2003 cited above.
-%
% The |strict| option provides conformance to the Standard 7.1-2003. The
-% styles compiled with that option bear the name |gost2003| with possible
+% bibstyles compiled with that option bear the name |gost2003| with possible
% suffixes |s|, |l|, |n| as explained below. These styles are intended
% primarily for the librarians who compose a library catalog.
%
-% The |modern| option meets the Standard 7.0.5-2008 which can be thought
-% off as a relaxed version of the Standards 7.1-2003. The styles compiled with
-% that option bear the name |gost2008| with possible suffixes |s|, |l|, |n|.
-% The |strict| option has precedence over |modern| so that a style compiled
-% with both options will resemble mainly the |gost2003| style rather than
-% |gost2008|.
+% The bibstyles compiled without |strict| option meets the Standard 7.0.5-2008
+% which can be thought off as a relaxed version of the Standards 7.1-2003. These
+% bibstyles bear the name |gost2008| with possible suffixes |s|, |l|, |n|.
%
% If the number of authors exceeds 4, modern styles cut the list of authors
% to at most 4 persons as prescibed by the Standards. Option
@@ -298,25 +746,25 @@
% sorting order).
% \begin{verbatim}
% ----------------------------------------------------------------
-% Encoding | CSF Sorting order
+% Encoding | CSF | Sorting order
% ----------------------------------------------------------------
-% cp866 | ruscii.csf Cyrillic first, Latin
-% cp1251 | cp1251.csf Cyrillic first, Latin
-% koi8-u | koi8u.csf Cyrillic first, Latin
-% utf8 | utf8cyrillic.csf Cyrillic first, Latin
+% cp866 | ruscii.csf | Cyrillic first, Latin
+% cp1251 | cp1251.csf | Cyrillic first, Latin
+% koi8-u | koi8u.csf | Cyrillic first, Latin
+% utf8 | utf8cyrillic.csf | Cyrillic first, Latin
% ----------------------------------------------------------------
% \end{verbatim}
%
-% In addition, BibTeX8 distribution comes with few more CSFs.
+% In addition, \BibTeX8 distribution comes with few more CSFs.
% \begin{verbatim}
-% ----------------------------------------------------------------
-% Encoding | CSF Sorting order
-% ----------------------------------------------------------------
-% cp866 | cp866rus.csf Latin first, Cyrillic
-% ----------------------------------------------------------------
+% ---------------------------------------------------------------
+% Encoding | CSF | Sorting order
+% ---------------------------------------------------------------
+% cp866 | cp866rus.csf | Latin first, Cyrillic
+% ---------------------------------------------------------------
% \end{verbatim}
%
-% \subsection{How to use}
+% \section{How to use}\label{s2}
%
% \begin{enumerate}
% \item
@@ -328,7 +776,7 @@
% \end{verbatim}
%
% \item
-% Add the field |language="ukrainian"| or |language="russian"| to the
+% Add the field |langid="ukrainian"| or |langid="russian"| to the
% bibliographic entries in Ukrainian or Russian languages in your
% database; English is the default language. German, Italian and
% French are partially supported.
@@ -344,11 +792,11 @@
% bibtex8 -B -c <csf_file>.csf <filename>.aux
% latex <filename>.tex
% \end{verbatim}
-
+%
% \item
% For details on preparing bibliographic database see examples in
-% \file{gost*.pdf}.
-
+% \file{gost*.pdf} and \file{ugost*.pdf}.
+%
% \item
% \file{ugost*} styles are primarily intended for use
% with unicode compilers (\file{xelatex} and \file{lualatex}). They
@@ -368,7 +816,7 @@
% do the case change where appropriate.
%
% \item
-% Either \file{bibtex8} or \file{Bibtex8} fail to cut Cyrillic names to
+% Either \file{bibtex.exe} or \file{bibtex8.exe} fail to cut Cyrillic names to
% initials. Therefore \file{ugost2008*} styles do not modify name of
% authors.
%
@@ -379,7 +827,7 @@
% \end{enumerate}
%
%
-% \subsection{Customization}
+% \section{Customization}\label{s3}
%
% Every GOST style defines few commands to format some parts of a
% reference. You can redefine these commands prior to
@@ -407,21 +855,41 @@
% unbreakable space before |\cyrdash| so that dash never appears
% in the beginning of a line.
%
-% \subsection{Where to get}
+% \section{Where to get}\label{s4}
%
% \begin{enumerate}
% \item
-% \href{http://mirror.ctan.org/biblio/bibtex/contrib/gost/}
-% {CTAN:biblio/bibtex/contrib/gost}.
+% \href{http://ctan.org/pkg/gost}{http://ctan.org/pkg/gost}.
% \item
-% \href{http://ctan.org/pkg/gost}
-% {CTAN:pkg/gost}.
+% \href{http://github.com/kia999/gost}{http://github.com/kia999/gost}.
% \end{enumerate}
%
%
-% \subsection{Version history}
+% \section{Version history}\label{s5}
+%
+% \subsection*{Version 1.2k (2020.12.25)}
+%
+% \begin{enumerate}
+% \item
+% All stuff is now generated from |gost.dtx|.
+%
+% \item
+% Limited support of the |date| field added.
+%
+% \item
+% Formatting of |doi| field updated: |http://dx.doi.org| changed
+% to |https://doi.org|.
+%
+% \item
+% Restricted support of |date| field added.
+%
+% \item
+% Documentation and examples update (thanks to Leonid Sinev).
+%
+% \end{enumerate}
+%
%
-% \subsubsection*{Version 1.2i (2017.01.12)}
+% \subsection*{Version 1.2i (2017.01.12)}
%
% \begin{enumerate}
% \item
@@ -448,7 +916,7 @@
% \end{enumerate}
%
%
-% \subsubsection*{Version 1.2h (2016.08.21)}
+% \subsection*{Version 1.2h (2016.08.21)}
%
% \begin{enumerate}
% \item
@@ -457,7 +925,7 @@
% \end{enumerate}
%
%
-% \subsubsection*{Version 1.2g (2016.07.25)}
+% \subsection*{Version 1.2g (2016.07.25)}
%
% \begin{enumerate}
% \item
@@ -466,7 +934,7 @@
% \end{enumerate}
%
%
-% \subsubsection*{Version 1.2f (2016.07.12)}
+% \subsection*{Version 1.2f (2016.07.12)}
%
% \begin{enumerate}
% \item
@@ -474,10 +942,10 @@
%
% \item
% |medium| field renamed to |media| field for compatibility with biblatex.
-
+%
% \end{enumerate}
%
-% \subsubsection*{Version 1.2e (2016.07.07)}
+% \subsection*{Version 1.2e (2016.07.07)}
%
% \begin{enumerate}
% \item
@@ -486,17 +954,17 @@
%
% \end{enumerate}
%
-% \subsubsection*{Version 1.2d (2015.02.18)}
+% \subsection*{Version 1.2d (2015.02.18)}
%
% \begin{enumerate}
% \item
% jan, feb, etc. macros fixed.
%
% \item
-% New macro format.month.
+% New macro |format.month|.
% \end{enumerate}
%
-% \subsubsection*{Version 1.2c (2015.01.10)}
+% \subsection*{Version 1.2c (2015.01.10)}
%
% \begin{enumerate}
% \item
@@ -524,7 +992,7 @@
%
% \end{enumerate}
%
-% \subsubsection*{Version 1.2a (2012.08.31)}
+% \subsection*{Version 1.2a (2012.08.31)}
%
% \begin{enumerate}
%
@@ -534,7 +1002,7 @@
%
% \end{enumerate}
%
-% \subsubsection*{Version 1.2 (2012.02.22)}
+% \subsection*{Version 1.2 (2012.02.22)}
%
% \begin{enumerate}
% \item
@@ -553,7 +1021,7 @@
% \end{enumerate}
%
%
-% \subsubsection*{Version 1.1 (2012.01.21)}
+% \subsection*{Version 1.1 (2012.01.21)}
%
% \begin{enumerate}
% \item
@@ -575,7 +1043,7 @@
%
% \end{enumerate}
%
-% \subsubsection{Older versions}
+% \subsection{Older versions}
%
% \begin{enumerate}
% \item[2012.02.22] Support for |natbib| package.
@@ -595,7 +1063,7 @@
% \PrintIndex
% }
%
-% \section{Implementation}
+% \section{Implementation}\label{s6}
%
% We need Russian fonts to produce documentation of the code below.
% Therefore we switch current language to Russian by issuing the command
@@ -605,10 +1073,12 @@
%
% \begin{macrocode}
%<*bst>
-%%
+% \end{macrocode}
+%
+% \begin{macrocode}
%% This bibstyle attempts to format bibliography according to
-%<!modern>%% GOST 7.1-2003 for bibliographic records.
-%<modern>%% GOST 7.0.5-2008 for bibliographic reference.
+%<strict>%% GOST 7.1-2003 for bibliographic records.
+%<!strict>%% GOST 7.0.5-2008 for bibliographic reference.
%<*natbib>%%
%%-------------------------------------------------------------------
%% This is an author-year citation style bibliography.
@@ -617,7 +1087,7 @@
%% The form of the \bibitem entries is
%% \bibitem[Jones et al.(1990)]{key}...
%% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
-%% where the label part (in brackets) consists of the author names,
+%% where the label part [in brackets] consists of the author names,
%% as they should appear in the citation, with the year in parentheses following.
%% There must be no space before the opening parenthesis!
%% A full list of authors may also follow the year.
@@ -627,11 +1097,11 @@
%% The \cite command functions as follows:
%% \citet{key} => Jones et al. (1990)
%% \citet*{key} => Jones, Baker, and Smith (1990)
-%% \cite{key} => (Jones et al., 1990)
-%% \cite*{key} => (Jones, Baker, and Smith, 1990)
-%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
-%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
-%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
+%% \cite{key} => (Jones et al., 1990)
+%% \cite*{key} => (Jones, Baker, and Smith, 1990)
+%% \cite[chap. 2]{key} => (Jones et al., 1990, chap. 2)
+%% \cite[e.g.][]{key} => (e.g. Jones et al., 1990)
+%% \cite[e.g.][p. 32]{key} => (e.g. Jones et al., p. 32)
%% \citeauthor{key} => Jones et al.
%% \citeauthor*{key} => Jones, Baker, and Smith
%% \citeyear{key} => 1990
@@ -639,10 +1109,13 @@
%</natbib>
% \end{macrocode}
-% \subsection{Fields}
+% \subsection{Fields}\label{s6.1}
%
-% Enlist all entry types allowed in a bibliographic database.
-% Most entries are common for many standard bst styles.
+% Enlist all entry fields allowed in a bibliographic database.
+% Most fields are common for many standard |bst| styles. Nonlisted fields
+% are just ignored by \BibTeX.
+% \changes{v1.2i}{12 Jan 2017}{field \texttt{date} added}
+% \changes{v1.2i}{12 Jan 2017}{field \texttt{specialitycode} added}
% \changes{v1.2f}{12 Jul 2016}{entry \texttt{patent} added}
% \changes{v1.2c}{18 Jan 2015}{entry field \texttt{langid} added}
% \changes{v1.2c}{18 Jan 2015}{entry field \texttt{eid} added}
@@ -687,18 +1160,20 @@ ENTRY
booklanguage
% \end{macrocode}
% Entries borrowed from biblatex.
-% \changes{v1.2b}{19 Jan 2014}{entry field \texttt{numpages} renamed to \texttt{pagetotal}}
-% \changes{v1.2}{26 Jan 2012}{entry fields \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype} added}
+% \changes{v1.2b}{19 Jan 2014}{entry field \texttt{numpages} renamed to
+% \texttt{pagetotal}}
+% \changes{v1.2}{26 Jan 2012}{entry fields \texttt{eprint}, \texttt{eprintclass},
+% \texttt{eprinttype} added}
% \begin{macrocode}
- %date % not implemented yet...
+ date % new in v1.2i
pagetotal
url
urldate
isbn
doi
+ eprint
eprinttype % = archivePrefix
eprintclass % = primaryClass
- eprint
% new in v1.2f:
% appear in biblatex:
%addendum % not implemented yet...
@@ -725,13 +1200,36 @@ ENTRY
%<natbib> { label extra.label sort.label short.list }
% \end{macrocode}
-% Declare internal variables and constants used in to format references.
+%
+% \subsection{Output functions}\label{s6.2}
+%
+% Declare internal variables and constants used for formatting bibliographic
+% records. Other variables are defined below when needed.
% \begin{macrocode}
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
-after.dblslash after.slash after.colon after.semicolon }
+INTEGERS {
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ after.dblslash
+ after.slash
+ after.colon
+ after.semicolon
+}
+
+STRINGS { curlanguage }
+
+STRINGS { s t }
+
+STRINGS { y m d } % new in v.1.2j
% \end{macrocode}
+%
% \DescribeFunction{init.state.consts}%
+% Set constants that designate various output states which are kept by
+% `output.state` integer. The latter is checked and updated by a set of functions
+% such as `output` to be defined below.
% \begin{macrocode}
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -744,18 +1242,31 @@ FUNCTION {init.state.consts}
#7 'after.semicolon :=
}
-STRINGS { s t }
-
-STRINGS { curlanguage }
-
% \end{macrocode}
%
-% \subsection{Formatting functions}
+% \DescribeFunction{set.language}
+% Sets current language |curlanguage|.
+% Called by |bibitem.output| before any other function.
+% \begin{macrocode}
+FUNCTION {set.language}
+{ langid empty$
+ { language empty$
+ { "english" 'curlanguage := }
+ { language 'curlanguage := }
+ if$
+ }
+ { langid 'curlanguage := }
+ if$
+}
+
+% \end{macrocode}
%
-% \DescribeFunction{change.language}
-% Declare function to switch language.
+% \DescribeFunction{reset.language}
+% Reset current language to |booklanguage| if provided. Called by
+% |output.nonnull| after double slash so that the rest of the record is formatted
+% with |booklanguage|.
% \begin{macrocode}
-FUNCTION {change.language}
+FUNCTION {reset.language}
{ booklanguage empty$
{ "" }
{ booklanguage 'curlanguage :=
@@ -768,9 +1279,10 @@ FUNCTION {change.language}
% \end{macrocode}
%
-% Declare functions to output various parts of bibliographic record.
+% Declare various functions to output various parts of a bibliographic record.
+%
% \DescribeFunction{output.nonnull}
-% Function |output.nonnull| writes to output buffer the last literal in the stack
+% Writes the last literal in the stack to output buffer
% assuming that it is not empty and adds an appropriate punctuation symbol.
% \changes{v1.2c}{17 Jan 2015}{fix Gost2003: \texttt{"}\texttt{-}\texttt{-}\texttt{-} replaced by macro \cs{BibDash}}
% \begin{macrocode}
@@ -788,15 +1300,13 @@ FUNCTION {output.nonnull}
{ output.state before.all =
'write$
{ output.state after.dblslash =
- { "~//" * change.language * " " * write$ }
+ { "~//" * reset.language * " " * write$ }
{ output.state after.slash =
{ "~/ " * write$ }
{ output.state after.colon =
-%<!(strict|modern)> { ": " * write$ }
-%<strict|modern> { "~: " * write$ }
+ { "~: " * write$ }
{ output.state after.semicolon =
-%<!(strict|modern)> { "; " * write$ }
-%<strict|modern> { "~; " * write$ }
+ { "~; " * write$ }
{ add.period$ " " * write$ }
if$
}
@@ -817,11 +1327,8 @@ FUNCTION {output.nonnull}
% \end{macrocode}
%
% \DescribeFunction{output}
-% Function |output| calls |output.nonnul| is the last literal string in the stack
-% if it is not empty; otherwise it discards the literal.
-% Function |output.check| do the same but also warns if the indicated field is
-% empty.
-% \DescribeFunction{output.check}
+% Calls |output.nonnull| if the last literal string in the stack
+% is not empty; otherwise it discards the literal.
% \begin{macrocode}
FUNCTION {output}
{ duplicate$ empty$
@@ -830,10 +1337,19 @@ FUNCTION {output}
if$
}
+% \end{macrocode}
+%
+% \DescribeFunction{output.check}
+% Does the same but also warns if the indicated field is empty. Needs two
+% literals in the stack: the field and the name of the field, e.g.,
+% |author "author" output.check|.
+% \begin{macrocode}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ "empty " t * " in " * cite$ * warning$
+ }
'output.nonnull
if$
}
@@ -852,11 +1368,12 @@ FUNCTION {fin.entry}
% \end{macrocode}
%
+% Declare a family of functions to put punctuation marks depending on the current
+% status of the output stack.
+%
% \DescribeFunction{new.block}%
-% Declare family of functions to put punctuation marks depending of current
-% status of output stack. The just check output state and revert it another
-% state if required. Checking output state prevents occasional doubling of
-% punctuation marks.
+% This just checks output state and revert it to another state if required.
+% Checking output state prevents occasional doubling of punctuation marks.
% \begin{macrocode}
FUNCTION {new.block}
{ output.state before.all =
@@ -920,6 +1437,7 @@ FUNCTION {new.sentence}
}
% \end{macrocode}
+%
% \DescribeFunction{add.blank}%
% \begin{macrocode}
FUNCTION {add.blank}
@@ -928,8 +1446,11 @@ FUNCTION {add.blank}
% \end{macrocode}
%
-% \DescribeFunction{not}
+% \subsection{Logical functions and various checks}\label{s6.3}
+%
% Declare few logical functions.
+%
+% \DescribeFunction{not}
% \begin{macrocode}
FUNCTION {not}
{ { #0 }
@@ -956,34 +1477,19 @@ FUNCTION {or}
}
% \end{macrocode}
-% \DescribeFunction{chop.word}
-% The function |chop.word| in |substr len str chop.word| removes given substring
-% |substr| of length |len| from the beginning of the string |str|.
-% \begin{macrocode}
-%<*sort|natbib>
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-%</sort|natbib>
-
-% \end{macrocode}
+%
% \DescribeFunction{non.stop}
+% \note{What's the hell? Never used.}
% \begin{macrocode}
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
+%FUNCTION {non.stop}
+%{ duplicate$
+% "}" * add.period$
+% #-1 #1 substring$ "." =
+%}
+%
% \end{macrocode}
% \DescribeFunction{new.block.checka}
+% Adds |new.block| if the last literal in stack is not empty.
% \begin{macrocode}
FUNCTION {new.block.checka}
{ empty$
@@ -994,6 +1500,7 @@ FUNCTION {new.block.checka}
% \end{macrocode}
% \DescribeFunction{new.block.checkb}
+% Adds |new.block| if either of the two last literals in the stack is not empty.
% \begin{macrocode}
FUNCTION {new.block.checkb}
{ empty$
@@ -1006,6 +1513,7 @@ FUNCTION {new.block.checkb}
% \end{macrocode}
% \DescribeFunction{new.sentence.checka}
+% Adds |new.sentence| if the last literal in stack is not empty.
% \begin{macrocode}
FUNCTION {new.sentence.checka}
{ empty$
@@ -1016,6 +1524,7 @@ FUNCTION {new.sentence.checka}
% \end{macrocode}
% \DescribeFunction{new.sentence.checkb}
+% Adds |new.sentence| if either of the two last literals in the stack is not empty.
% \begin{macrocode}
FUNCTION {new.sentence.checkb}
{ empty$
@@ -1040,6 +1549,7 @@ FUNCTION {new.dblslash.checka}
% \end{macrocode}
% \DescribeFunction{field.or.null}
+% Replaces an empty field with null string |""|.
% \begin{macrocode}
FUNCTION {field.or.null}
{ duplicate$ empty$
@@ -1049,14 +1559,40 @@ FUNCTION {field.or.null}
}
% \end{macrocode}
+%%
+% \DescribeFunction{either.or.check}
+% \note{Move upwards}
+% \begin{macrocode}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \subsection{String Functions}\label{s6.4}
+%
+% \DescribeFunction{spaces.around}
+% Inserts a space before and after last literal in the stack.
+% \begin{macrocode}
+FUNCTION {spaces.around}
+{ " " swap$ * " " * }
+
+% \end{macrocode}
%
% \DescribeFunction{emphasize}
-% Declare function to emphasize last string in stack.
+% Emphasizes the last literal in the stack if it is not empty.
+% v1.2k: |emphasize| now returns empty field if last literal in the stack
+% was empty.
+% \changes{v1.2k}{25 Dec 2020}{function emphasize modified}
% \changes{v0.8}{10 Aug 2003}{macro \cs{BibEmph} added}
% \begin{macrocode}
FUNCTION {emphasize}
{ duplicate$ empty$
- { pop$ "" }
+ %{ pop$ "" }
+ 'skip$ % v.1.2k
{ "\BibEmph{" swap$ * "}" * }
if$
}
@@ -1065,7 +1601,8 @@ FUNCTION {emphasize}
%
% \DescribeFunction{bracify}
% New in v.1.2. An idea borrowed from apsrev4-1.bst.
-% Declare function to enclose last word by braces even if empty.
+% Encloses last literal in the stack by braces even if it is empty. Note that
+% braces are normally not printed by \LaTeX.
% \begin{macrocode}
FUNCTION {bracify}
{ duplicate$ empty$
@@ -1075,10 +1612,12 @@ FUNCTION {bracify}
}
% \end{macrocode}
-% \DescribeFunction{enclose.square.brackets}
-% This and the next functions are used to enclose last word by brackets.
+% \DescribeFunction{bracketise}
+% This and the next functions are used to enclose last word by square and round
+% brackets. In contrast to |bracify| function they push null string if the
+% last literal is empty.
% \begin{macrocode}
-FUNCTION {enclose.square.brackets}
+FUNCTION {bracketise}
{
duplicate$ empty$
{ pop$ "" }
@@ -1087,9 +1626,9 @@ FUNCTION {enclose.square.brackets}
}
% \end{macrocode}
-% \DescribeFunction{enclose.round.brackets}
+% \DescribeFunction{paranthesify}
% \begin{macrocode}
-FUNCTION {enclose.round.brackets}
+FUNCTION {paranthesify}
{
duplicate$ empty$
{ pop$ "" }
@@ -1099,40 +1638,189 @@ FUNCTION {enclose.round.brackets}
% \end{macrocode}
%
-% \DescribeFunction{space.word}
-% |space.word| inserts space before last string in stack.
+% \DescribeFunction{chop.word}
+%
+% The function |chop.word| in the context `\emph{sstr} \emph{len} \emph{str}
+% |chop.word|' tries to remove given substring \emph{sstr} of the length \emph{len}
+% from the beginning of the string \emph{str}. It trims \emph{str} only if first
+% \emph{len} symbols in \emph{str} coinsides with \emph{sstr}.
+% See examples in Section~\ref{s6.6}.
% \begin{macrocode}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
+%<*sort|natbib>
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+%</sort|natbib>
% \end{macrocode}
%
-% \subsection{Standard abbreviations}
+% \DescribeFunction{is.num}
+% Currently not used.
+%
+% \note{Можно использовать для проверки года, извлечённого из |date|.}
+% \begin{macrocode}
+%<*debug>
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+%</debug>
+% \end{macrocode}
+%
+% \DescribeFunction{extract.num}
+% Currently not used.
+% \begin{macrocode}
+%<*debug>
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+%</debug>
+% \end{macrocode}
+%
+% \DescribeFunction{tie.connect}
+% Inserts unbreakable space between last two literals in the stack.
+% \begin{macrocode}
+FUNCTION {tie.connect}
+ {"~" swap$ * *
+ }
+
+% \end{macrocode}
+%
+% \DescribeFunction{tie.or.space.connect}
+% Inserts space or unbreakable space between last two literals in the stack
+% depending on the length of last literal.
+% \begin{macrocode}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{n.dashify}
+% \begin{macrocode}
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{multi.page.check}
+% Returns 1 if the last literal (usually |page|) contains either `|-|', `|,|'
+% or `|+|'; otherwise returns 0.
+% Used in connection with |n.dashify|.
+%
+% \note{Заметим несогласованность функций |multi.page.check| и
+% |n.dashify|. Последняя функция проверяет дефис, а первая ещё и минус и
+% запятую.}
+%
+% \begin{macrocode}
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+% \end{macrocode}
+%
+%
+% \subsection{Language-sensitive abbreviations}\label{s6.5}
%
% Declare language-sensitive abbreviations.
+% We provide two versions of any abbreviation for unicode and non-Unicode styles.
+% The language-sensitive functions push to the stack a string that depends of the
+% the current value of the string |curlanguage|. It is set for every entry by
+% |output.bibitem| function. Abbreviations for |russian|, |ukrainian| and |english|
+% values of the string |curlanguage| are always provided, and sometimes for
+% |french| and |german|.
+%
% \DescribeFunction{bbl.edby}
% \begin{macrocode}
-FUNCTION {bbl.edby} % { "\bbledby{}" }
+FUNCTION {bbl.edby}
{ curlanguage "english" =
- {"Ed.\ by"}
+ {"ed.\ by"}
{ curlanguage "ukrainian" =
-%<!utf8> {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
-%<utf8> {"Під ред."}
+%<!utf8> {"{\cyr\cyrp\cyrii\cyrd\ \cyrr\cyre\cyrd.}"}
+%<utf8> {"під ред."}
{ curlanguage "russian" =
-%<!utf8> {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
-%<utf8> {"Под ред."}
+%<!utf8> {"{\cyr\cyrp\cyro\cyrd\ \cyrr\cyre\cyrd.}"}
+%<utf8> {"под ред."}
{ curlanguage "german" =
{ "ed." }
- {"language is not defined: " language "edby" * * warning$ "Ed.\ by"}
+ {"language is not defined: " curlanguage " in bbl.edby" * * warning$ "Ed.\ by"}
if$}
if$}
if$}
if$}
% \end{macrocode}
-% \DescribeFunction{bbl.cmplr}
+% \DescribeFunction{bbl.compiler}
% \begin{macrocode}
-FUNCTION {bbl.cmplr}
+FUNCTION {bbl.compiler}
{ curlanguage "english" =
{ "Compiler"}
{ curlanguage "german" =
@@ -1143,7 +1831,7 @@ FUNCTION {bbl.cmplr}
{ curlanguage "russian" =
%<!utf8> {"{\cyr\CYRS\cyro\cyrs\cyrt.}"}
%<utf8> {"{Сост.}"}
- {"language is not defined: " language "cmplr" * * warning$ "Compiler"}
+ {"language is not defined: " curlanguage " in bbl.compiler" * * warning$ "Compiler"}
if$}
if$}
if$}
@@ -1152,9 +1840,9 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.edition}
% \begin{macrocode}
-FUNCTION {bbl.edition} % { "\bbledition{}" }
+FUNCTION {bbl.edition}
{ curlanguage "english" =
- {"edition"}
+ {"ed."}
{ curlanguage "ukrainian" =
%<!utf8> {"{\cyr\cyrv\cyri\cyrd.}"}
%<utf8> {"{вид.}"}
@@ -1167,7 +1855,7 @@ FUNCTION {bbl.edition} % { "\bbledition{}" }
{"edizione"}
{ curlanguage "french" =
{"\'{e}dition"}
- {"language is not defined: " language "edition" * * warning$ "edition"}
+ {"language is not defined: " curlanguage " in bbl.edition" * * warning$ "ed."}
if$}
if$}
if$}
@@ -1178,7 +1866,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.vvolume}
% \begin{macrocode}
-FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+FUNCTION {bbl.vvolume}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Volume"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1186,7 +1874,7 @@ FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
%<utf8> { "Том" }
{ curlanguage "german" =
{"{Band}"} %%%% { "Volumen" }
- {"language is not defined: " language "vvolume" * * warning$ "Volume"}
+ {"language is not defined: " curlanguage " in bbl.vvolume" * * warning$ "Volume"}
if$}
if$}
if$}
@@ -1194,7 +1882,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.vvol}
% \begin{macrocode}
-FUNCTION {bbl.vvol} % { "\bblVol{}" }
+FUNCTION {bbl.vvol}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"Vol."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1202,7 +1890,7 @@ FUNCTION {bbl.vvol} % { "\bblVol{}" }
%<utf8> {"Т."}
{ curlanguage "german" =
{"{Bd.}"} %%%% { "Vol." }
- {"language is not defined: " language "vvol" * * warning$ "Vol."}
+ {"language is not defined: " curlanguage " in bbl.vvol" * * warning$ "Vol."}
if$}
if$}
if$}
@@ -1210,7 +1898,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.iissue}
% \begin{macrocode}
-FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+FUNCTION {bbl.iissue}
{ curlanguage "english" =
{"Issue"}
{ curlanguage "ukrainian" =
@@ -1221,7 +1909,7 @@ FUNCTION {bbl.iissue} % { "\bblIssue{}" }
%<utf8> {"Выпуск"}
{ curlanguage "german" =
{"{Heft}"} %%%% { "Ausgabe" }
- {"language is not defined: " language "iissue" * * warning$ "Issue"}
+ {"language is not defined: " curlanguage " in bbl.iissue" * * warning$ "Issue"}
if$}
if$}
if$}
@@ -1230,7 +1918,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.iiss}
% \begin{macrocode}
-FUNCTION {bbl.iiss} % { "\bblIss{}" }
+FUNCTION {bbl.iiss}
{ curlanguage "english" =
{"Iss."}
{ curlanguage "ukrainian" =
@@ -1241,7 +1929,7 @@ FUNCTION {bbl.iiss} % { "\bblIss{}" }
%<utf8> {"Вып."}
{ curlanguage "german" =
{"{H.}"}
- {"language is not defined: " language "iiss" * * warning$ "Iss."}
+ {"language is not defined: " curlanguage " in bbl.iiss" * * warning$ "Iss."}
if$}
if$}
if$}
@@ -1250,7 +1938,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.of}
% \begin{macrocode}
-FUNCTION {bbl.of} % { "\bblof{}" }
+FUNCTION {bbl.of}
{ curlanguage "english" =
{"of"}
{ curlanguage "german" =
@@ -1261,7 +1949,7 @@ FUNCTION {bbl.of} % { "\bblof{}" }
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyri\cyrz}" }
%<utf8> { "{из}" }
- {"language is not defined: " language "of" * * warning$ "of"}
+ {"language is not defined: " curlanguage " in bbl.of" * * warning$ "of"}
if$}
if$}
if$}
@@ -1270,7 +1958,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.etal}
% \begin{macrocode}
-FUNCTION {bbl.etal} % { "\bblof{}" }
+FUNCTION {bbl.etal}
{ curlanguage "english" =
{"et~al."}
{ curlanguage "german" =
@@ -1281,7 +1969,7 @@ FUNCTION {bbl.etal} % { "\bblof{}" }
{ curlanguage "russian" =
%<!utf8> {"{\cyr\cyri~\cyrd\cyrr.}"}
%<utf8> {"и~др."}
- {"language is not defined: " language "et~al" * * warning$ "et~al."}
+ {"language is not defined: " curlanguage " in bbl.etal" * * warning$ "et~al."}
if$}
if$}
if$}
@@ -1290,10 +1978,9 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.and}
% \begin{macrocode}
-%<*natbib>
-FUNCTION {bbl.and} % { "\bbland{}" }
+FUNCTION {bbl.and}
{ curlanguage "english" =
- {"and"}
+ {"and"}
{ curlanguage "german" =
{ "und" }
{ curlanguage "ukrainian" =
@@ -1302,17 +1989,19 @@ FUNCTION {bbl.and} % { "\bbland{}" }
{ curlanguage "russian" =
%<!utf8> {"{\cyri}"}
%<utf8> {"и"}
- {"language is not defined: " language "and" * * warning$ "and"}
+ { curlanguage "french" =
+ {"et"}
+ {"language is not defined: " curlanguage " in bbl.and" * * warning$ "and"}
+ if$}
if$}
if$}
if$}
if$}
-%</natbib>
% \end{macrocode}
% \DescribeFunction{bbl.nnumber}
% \begin{macrocode}
-FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+FUNCTION {bbl.nnumber}
{ curlanguage "english" =
{"Number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1320,7 +2009,7 @@ FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
%<utf8> { "{Номер}" }
{ curlanguage "german" =
{"{Heft}"} %%% { "Anzahl" }
- {"language is not defined: " language "nnumber" * * warning$ "Number"}
+ {"language is not defined: " curlanguage " in bbl.nnumber" * * warning$ "Number"}
if$}
if$}
if$}
@@ -1328,7 +2017,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.number}
% \begin{macrocode}
-FUNCTION {bbl.number} % { "\bblnumber{}" }
+FUNCTION {bbl.number}
{ curlanguage "english" =
{"number"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1336,7 +2025,7 @@ FUNCTION {bbl.number} % { "\bblnumber{}" }
%<utf8> {"{номер}"}
{ curlanguage "german" =
{"{Heft}"} %%% { "anzahl" }???
- {"language is not defined: " language "number" * * warning$ "number"}
+ {"language is not defined: " curlanguage " in bbl.number" * * warning$ "number"}
if$}
if$}
if$}
@@ -1344,17 +2033,20 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.nr}
% \begin{macrocode}
-FUNCTION {bbl.nr} % { "\bblno{}" }
+FUNCTION {bbl.nr}
{ curlanguage "english" =
{"no."}
{ curlanguage "italian" =
- { "no" }
+ { "no." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
%<!utf8> { "{\cyr\textnumero}" }
%<utf8> { "{№}" }
{ curlanguage "german" =
- {"{H.}"} %%% { "an." }
- {"language is not defined: " language "nr" * * warning$ "no."}
+ {"{nu.}"} %%% { "an." }
+ { curlanguage "french" =
+ { "no." }
+ {"language is not defined: " curlanguage " in bbl.nr" * * warning$ "no."}
+ if$}
if$}
if$}
if$}
@@ -1363,7 +2055,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.nnr}
% \begin{macrocode}
-FUNCTION {bbl.nnr} % { "\bblno{}" }
+FUNCTION {bbl.nnr}
{ curlanguage "english" =
{"No."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1371,7 +2063,7 @@ FUNCTION {bbl.nnr} % { "\bblno{}" }
%<utf8> { "{№}" }
{ curlanguage "german" =
{"{H.}"} %%% { "an." }
- {"language is not defined: " language "nnr" * * warning$ "No."}
+ {"language is not defined: " curlanguage " in bbl.nnr" * * warning$ "No."}
if$}
if$}
if$}
@@ -1379,33 +2071,34 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.in}
% \begin{macrocode}
-FUNCTION {bbl.in} % { "\bblin{}" }
+FUNCTION {bbl.in}
{ curlanguage "english" = curlanguage "german" = or
{"in"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
%<!utf8> { "{\cyr\cyrv}" }
%<utf8> { "{в}" }
- {"language is not defined: " language "in" * * warning$ "in"}
+ {"language is not defined: " curlanguage " in bbl.in" * * warning$ "in"}
if$}
if$}
% \end{macrocode}
% \DescribeFunction{bbl.iin}
+% Currently not used.
% \begin{macrocode}
-FUNCTION {bbl.iin} % { "\bblIn{}" }
+FUNCTION {bbl.iin}
{ curlanguage "english" = curlanguage "german" = or
{"In"}
{ curlanguage "ukrainian" = curlanguage "russian" = or
%<!utf8> { "\CYRV" }
%<utf8> { "{В}" }
- {"language is not defined: " language "iin" * * warning$ "In"}
+ {"language is not defined: " curlanguage " in bbl.iin" * * warning$ "In"}
if$}
if$}
% \end{macrocode}
% \DescribeFunction{bbl.pages}
% \begin{macrocode}
-FUNCTION {bbl.pages} % { "\bblpp." }
+FUNCTION {bbl.pages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."} %%% {"pp."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1413,7 +2106,7 @@ FUNCTION {bbl.pages} % { "\bblpp." }
%<utf8> {"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "pages" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.pages" * * warning$ "p."}
if$}
if$}
if$}
@@ -1421,7 +2114,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.page}
% \begin{macrocode}
-FUNCTION {bbl.page} % { "\bblp."
+FUNCTION {bbl.page}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"p."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1429,7 +2122,7 @@ FUNCTION {bbl.page} % { "\bblp."
%<utf8> {"{с.}"}
{ curlanguage "german" =
{"S."} %%%% { "s." }
- {"language is not defined: " language "page" * * warning$ "p."}
+ {"language is not defined: " curlanguage " in bbl.page" * * warning$ "p."}
if$}
if$}
if$}
@@ -1437,7 +2130,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.ppages}
% \begin{macrocode}
-FUNCTION {bbl.ppages}% { "\bblPp." }
+FUNCTION {bbl.ppages}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."} %%%% { "Pp." }
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1445,7 +2138,7 @@ FUNCTION {bbl.ppages}% { "\bblPp." }
%<utf8> {"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppages" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppages" * * warning$ "P."}
if$}
if$}
if$}
@@ -1453,7 +2146,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.ppage}
% \begin{macrocode}
-FUNCTION {bbl.ppage} % { "\bblP." }
+FUNCTION {bbl.ppage}
{ curlanguage "english" = curlanguage "french" = or curlanguage "italian" = or
{"P."}
{ curlanguage "ukrainian" = curlanguage "russian" = or
@@ -1461,14 +2154,14 @@ FUNCTION {bbl.ppage} % { "\bblP." }
%<utf8> {"{С.}"}
{ curlanguage "german" =
{"S."}
- {"language is not defined: " language "ppage" * * warning$ "P."}
+ {"language is not defined: " curlanguage " in bbl.ppage" * * warning$ "P."}
if$}
if$}
if$}
% \end{macrocode}
-% Next function was added in version 2016.07.07.
% \DescribeFunction{bbl.url}
+% Added in version 2016.07.07.
% \changes{v1.2e}{07 Jul 2016}{\texttt{bbl.url} added to replace URL string}
% \begin{macrocode}
FUNCTION {bbl.url}
@@ -1482,14 +2175,17 @@ FUNCTION {bbl.url}
%<utf8> { "{Режим доступа}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "Mode d'acc\`{e}s" }
+ { "language is not defined: " curlanguage " in bbl.url" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
if$}
% \end{macrocode}
-% Next function was added in version 2012.01.15.
% \DescribeFunction{bbl.urldate}
+% Added in version 2012.01.15.
% \changes{v1.2}{13 Feb 2012}{fix \texttt{bbl.urldate} for ukrainian (Andrey Shvajkoy)}
% \begin{macrocode}
FUNCTION {bbl.urldate}
@@ -1503,7 +2199,10 @@ FUNCTION {bbl.urldate}
%<utf8> { "{дата обращения}" }
{ curlanguage "german" =
{ "{online; abgerufen}" }
- { "language is not defined: " language "urldate" * * warning$ "online; accessed" }
+ { curlanguage "french" =
+ { "{en ligne; acc\'{e}d\'{e}}" }
+ { "language is not defined: " curlanguage " in bbl.urldate" * * warning$ "online; accessed" }
+ if$}
if$}
if$}
if$}
@@ -1512,7 +2211,7 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.techreport}
% \begin{macrocode}
-FUNCTION {bbl.techreport} % rename to bbl.techreport
+FUNCTION {bbl.techreport}
{ curlanguage "english" =
{ "Rep." }
{ curlanguage "german" =
@@ -1520,7 +2219,7 @@ FUNCTION {bbl.techreport} % rename to bbl.techreport
{ curlanguage "russian" =
%<!utf8> { "{\cyr\CYRO\cyrt\cyrch\cyre\cyrt}" }
%<utf8> { "{Отчет}" }
- { "language is not defined: " language "techrep" * * warning$ "Rep." }
+ { "language is not defined: " curlanguage " in bbl.techrep" * * warning$ "Rep." }
if$}
if$}
if$}
@@ -1532,13 +2231,13 @@ FUNCTION {bbl.mathesis}
{ curlanguage "english" =
{ "Master's thesis" }
{ curlanguage "german" =
- { "Diss.~Mag." }
+ { "diss.~mag." }
{ curlanguage "russian" =
-%<!utf8> { "{\cyr\CYRK\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
+%<!utf8> { "{\cyr\cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri"
%<!utf8> "\cyro\cyrn\cyrn\cyra\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra\ " *
%<!utf8> "\cyrm\cyra\cyrg\cyri\cyrs\cyrt\cyrr\cyra}" * }
-%<utf8> { "{Квалификационная работа магистра}" }
- { "language is not defined: " language "mthesis" * * warning$ "Master's thesis" }
+%<utf8> { "{квалификационная работа магистра}" }
+ { "language is not defined: " curlanguage " in bbl.mthesis" * * warning$ "Master's thesis" }
if$}
if$}
if$}
@@ -1551,14 +2250,14 @@ FUNCTION {bbl.phdthesis}
{ curlanguage "english" =
{ "Ph.\,D. thesis" }
{ curlanguage "german" =
- { "Diss.~Ph.\,D." }
+ { "diss.~Ph.\,D." }
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrk\cyra\cyrn\cyrd. "
%<!utf8> "\cyrn\cyra\cyru\cyrk}" * }
-%<utf8> { "{дис.\ \ldots\ канд. наук}" }
+%<utf8> { "{дис.\ \ldots\ канд.\ наук}" }
{ curlanguage "french" =
- { "Th\`{e}se de doctorat" }
- { "language is not defined: " language "phdthesis" * * warning$ "Ph.\,D. thesis" }
+ { "th\`{e}se de doctorat" }
+ { "language is not defined: " curlanguage " in bbl.phdthesis" * * warning$ "Ph.\,D. thesis" }
if$}
if$}
if$}
@@ -1569,36 +2268,20 @@ if$}
% \begin{macrocode}
FUNCTION {bbl.docthesis}
{ curlanguage "english" =
- { "Dr.\,Sci. dissertation" }
+ { "dr.\,sci. dissertation" }
{ curlanguage "german" =
- { "Diss.~Dr." }
+ { "diss.~dr." }
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyrd\cyri\cyrs.\ \ldots\ \cyrd-\cyrr\cyra\ "
%<!utf8> "\cyrn\cyra\cyru\cyrk}" * }
%<utf8> { "{дис.\ \ldots\ д-ра наук}" }
- { "language is not defined: " language "docthesis" * * warning$ "Dr.\,Sci. dissertation" }
+ { "language is not defined: " curlanguage " in bbl.docthesis" * * warning$ "Dr.\,Sci. dissertation" }
if$}
if$}
if$}
% \end{macrocode}
-% \DescribeFunction{bbl.thesis.type`}
-% \begin{macrocode}
-FUNCTION {bbl.thesis.type}
-{ type "mathesis" =
- { bbl.mathesis }
- { type "phdthesis" =
- { bbl.phdthesis }
- { type "docthesis" =
- { bbl.docthesis }
- %%{ "!!!" type * "t" change.case$ }
-%<!utf8> { type "t" change.case$ }
-%<utf8> { type }
- if$}
- if$}
-if$}
-
-% \end{macrocode}
+%
% \DescribeFunction{bbl.nnoaddress}
% \begin{macrocode}
FUNCTION {bbl.nnoaddress}
@@ -1607,7 +2290,7 @@ FUNCTION {bbl.nnoaddress}
{ curlanguage "russian" =
%<!utf8> { "{\cyr\CYRB.\ \cyrm.}" }
%<utf8> { "{Б.\ м.}" }
- { "language is not defined: " language "nnoaddress" * * warning$ "S.\ l." }
+ { "language is not defined: " curlanguage " in bbl.nnoaddress" * * warning$ "S.\ l." }
if$}
if$}
@@ -1620,7 +2303,7 @@ FUNCTION {bbl.nopublisher}
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyrb.\ \cyri.}" }
%<utf8> { "{б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "s.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "s.\ n." }
if$}
if$}
@@ -1633,7 +2316,7 @@ FUNCTION {bbl.nnopublisher}
{ curlanguage "russian" =
%<!utf8> { "{\cyr\CYRB.\ \cyri.}" }
%<utf8> { "{Б.\ и.}" }
- { "language is not defined: " language "nnopublisher" * * warning$ "S.\ n." }
+ { "language is not defined: " curlanguage " in bbl.nnopublisher" * * warning$ "S.\ n." }
if$}
if$}
@@ -1646,7 +2329,7 @@ FUNCTION {bbl.media.text}
{ curlanguage "russian" = curlanguage "ukrainian" = or
%<!utf8> { "{\cyr\CYRT\cyre\cyrk\cyrs\cyrt}" }
%<utf8> { "{Текст}" }
- { "language is not defined: " language "media" * * warning$ "Text" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Text" }
if$}
if$}
@@ -1664,7 +2347,7 @@ FUNCTION {bbl.media.eresource}
%<!utf8> { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
%<!utf8> "\cyrr\cyre\cyrs\cyru\cyrr\cyrs}" * }
%<utf8> { "{Електронний ресурс}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -1684,7 +2367,7 @@ FUNCTION {bbl.media.online}
%<!utf8> { "{\cyr\CYRE\cyrl\cyre\cyrk\cyrt\cyrr\cyro\cyrn\cyrn\cyri\cyrishrt\ "
%<!utf8> "\cyrr\cyre\cyrs\cyru\cyrr\cyrs\ \cyro\cyrn\cyrl\cyra\cyrishrt\cyr}" * }
%<utf8> { "{Електронний ресурс онлайн}" }
- { "language is not defined: " language "media" * * warning$ "Electronic resource" }
+ { "language is not defined: " curlanguage " in bbl.media" * * warning$ "Electronic resource" }
if$}
if$}
if$}
@@ -1701,7 +2384,7 @@ FUNCTION {bbl.chief}
{ curlanguage "ukrainian" =
%<!utf8> { "\cyrr\cyru\cyrk." }
%<utf8> { "{рук.}" }
- { "language is not defined: " language "chief" * * warning$ "chief" }
+ { "language is not defined: " curlanguage " in bbl.chief" * * warning$ "chief" }
if$}
if$}
if$}
@@ -1711,14 +2394,14 @@ if$}
% \begin{macrocode}
FUNCTION {bbl.executor}
{ curlanguage "english" =
- { "Executor" }
+ { "executor" }
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyri\cyrs\cyrp\cyro\cyrl\cyrn.}" }
%<utf8> { "{исполн.}" }
{ curlanguage "ukrainian" =
%<!utf8> { "{\cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn}" }
%<utf8> { "{виконавець}" }
- { "language is not defined: " language "executor" * * warning$ "executor" }
+ { "language is not defined: " curlanguage " in bbl.executor" * * warning$ "executor" }
if$}
if$}
if$}
@@ -1726,11 +2409,6 @@ if$}
% \end{macrocode}
% \DescribeFunction{bbl.media}
% \begin{macrocode}
-%FUNCTION {bbl.media}
-%{ type$ "online" =
-% { bbl.media.eresource }
-% { bbl.media.text }
-%if$}
FUNCTION {bbl.media}
{ media "online" =
{ bbl.media.online }
@@ -1752,7 +2430,7 @@ FUNCTION {bbl.req}
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyrz\cyra\cyrya\cyrv\cyrl.}" }
%<utf8> { "{заявл.}" }
- { "language is not defined: " language "req" * * warning$ "req" }
+ { "language is not defined: " curlanguage " in bbl.req" * * warning$ "req" }
if$
}
if$
@@ -1772,7 +2450,7 @@ FUNCTION {bbl.publ}
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyro\cyrp\cyru\cyrb\cyrl.}" }
%<utf8> { "{опубл.}" }
- { "language is not defined: " language "publication" * * warning$ "publication" }
+ { "language is not defined: " curlanguage " in bbl.publication" * * warning$ "publication" }
if$
}
if$
@@ -1792,7 +2470,7 @@ FUNCTION {bbl.priority}
{ curlanguage "russian" =
%<!utf8> { "{\cyr\cyrp\cyrr\cyri\cyro\cyrr\cyri\cyrt\cyre\cyrt}" }
%<utf8> { "{приоритет}" }
- { "language is not defined: " language "priority" * * warning$ "priority" }
+ { "language is not defined: " curlanguage " in bbl.priority" * * warning$ "priority" }
if$
}
if$
@@ -1802,68 +2480,675 @@ FUNCTION {bbl.priority}
% \end{macrocode}
%
-% \subsection{Formatting functions}
%
-% Declare functions to format separate elements of bibliographic reference.
+% \DescribeFunction{bbl.jan}
+% \DescribeFunction{bbl.feb}
+% \DescribeFunction{bbl.mar}
+% \DescribeFunction{bbl.apr}
+% \DescribeFunction{bbl.may}
+% \DescribeFunction{bbl.jun}
+% \DescribeFunction{bbl.jul}
+% \DescribeFunction{bbl.aug}
+% \DescribeFunction{bbl.sep}
+% \DescribeFunction{bbl.oct}
+% \DescribeFunction{bbl.nov}
+% \DescribeFunction{bbl.dec}
+% New in version 1.2k.
+% \changes{v1.2k}{22 Jan 2017}{added \texttt{bbl.jan}, \texttt{bbl.feb}, etc.}
% \begin{macrocode}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bbl.jan}
+{ curlanguage "english" =
+ {"Jan."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRS\cyrii\cyrch."}
+%<utf8> {"Січ."} % Січень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRYA\cyrn\cyrv." }
+%<utf8> { "Янв." }
+ { curlanguage "german" =
+ { "Jan." } % Januar
+ { "language is not defined: bbl.jan for " curlanguage * warning$ "Jan." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.feb}
+{ curlanguage "english" =
+ {"Feb."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRL\cyryu\cyrt."}
+%<utf8> {"Лют."} % Лютий
+ { curlanguage "russian" =
+%<!utf8> { "\CYRF\cyre\cyrv\cyrr." }
+%<utf8> { "Фев." }
+ { curlanguage "german" =
+ {"Feb."} % Februar
+ {"language is not defined: bbl.feb for " curlanguage * warning$ "Feb."}
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.mar}
+{ curlanguage "english" =
+ {"Mar."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRB\cyre\cyrr."}
+%<utf8> {"Бер."} % Березень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRM\cyra\cyrr\cyrt" }
+%<utf8> { "Март" }
+ { curlanguage "german" =
+ {"März"} % März
+ {"language is not defined: bbl.mar for " curlanguage * warning$ "Mar."}
+ if$}
+ if$}
+ if$}
+if$}
+FUNCTION {bbl.apr}
+{ curlanguage "english" =
+ {"Apr."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRK\cyrv\cyrii\cyrt."}
+%<utf8> {"Квіт."} % квітень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRA\cyrp\cyrr." }
+%<utf8> { "Апр." }
+ { curlanguage "german" =
+ {"Apr."} % April
+ { "language is not defined: bbl.apr for " curlanguage * warning$ "Apr." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.may}
+{ curlanguage "english" =
+ {"May"}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRT\cyrr\cyra\cyrv."}
+%<utf8> {"Трав."} % травень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRM\cyra\cyrishrt" }
+%<utf8> { "Май" }
+ { curlanguage "german" =
+ {"Mai"}
+ { "language is not defined: bbl.may for " curlanguage * warning$ "May" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jun}
+{ curlanguage "english" =
+ {"June"}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRCH\cyre\cyrr."}
+%<utf8> {"Чер."} % червень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRI\cyryu\cyrn\cyrsftsn" }
+%<utf8> { "Июнь" }
+ { curlanguage "german" =
+ {"Juni"}
+ { "language is not defined: bbl.jun for " curlanguage * warning$ "June" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jul}
+{ curlanguage "english" =
+ {"July"}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRL\cyri\cyrp."}
+%<utf8> {"Липень"} %Липень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRI\cyryu\cyrl\cyrsftsn" }
+%<utf8> { "Июль" }
+ { curlanguage "german" =
+ {"Juli"}
+ { "language is not defined: bbl.jul for " curlanguage * warning$ "July" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.aug}
+{ curlanguage "english" =
+ {"Aug."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRS\cyre\cyrr."}
+%<utf8> {"Серпень"} % Серпень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRA\cyrv\cyrg\." }
+%<utf8> { "Авг." }
+ { curlanguage "german" =
+ {"Aug."} % August
+ { "language is not defined: bbl.aug for " curlanguage * warning$ "Aug." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.sep}
+{ curlanguage "english" =
+ {"Sep."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRV\cyre\cyrr."}
+%<utf8> {"Вер."} % вересень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRS\cyre\cyrn\cyrt." }
+%<utf8> { "Сент." }
+ { curlanguage "german" =
+ {"Sep."} % September
+ { "language is not defined: bbl.sep for " curlanguage * warning$ "Sep." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.oct}
+{ curlanguage "english" =
+ {"Oct."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRZH\cyro\cyrn."}
+%<utf8> {"Жов."} % жовтень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRO\cyrk\cyrt." }
+%<utf8> { "Окт." }
+ { curlanguage "german" =
+ {"Okt."} % Oktober
+ { "language is not defined: bbl.oct for " curlanguage * warning$ "Oct." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.nov}
+{ curlanguage "english" =
+ {"Nov."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRL\cyri\cyrs."}
+%<utf8> {"Лис."} % листопад
+ { curlanguage "russian" =
+%<!utf8> { "\CYRN\cyro\cyrya\cyrb." }
+%<utf8> { "Нояб." }
+ { curlanguage "german" =
+ {"Nov."} % November
+ { "language is not defined: bbl.nov for " curlanguage * warning$ "Nov." }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.dec}
+{ curlanguage "english" =
+ {"Dec."}
+ { curlanguage "ukrainian" =
+%<!utf8> {"\CYRG\cyrr\cyru\cyrd."}
+%<utf8> {"Груд."} % грудень
+ { curlanguage "russian" =
+%<!utf8> { "\CYRD\cyre\cyrk." }
+%<utf8> { "Дек." }
+ { curlanguage "german" =
+ {"Dez."} % Dezember
+ { "language is not defined: bbl.dec for " curlanguage * warning$ "Dec." }
+ if$}
+ if$}
+ if$}
+if$}
+% \end{macrocode}
+%
+% \DescribeFunction{bbl.arxiv}
+% \DescribeFunction{bbl.jstor}
+% \DescribeFunction{bbl.pubmed}
+% \DescribeFunction{bbl.googlebooks}
+% \DescribeFunction{bbl.hdl}
+% New in version 1.2k.
+% \changes{v1.2k}{25 Dec 2020}{added \texttt{bbl.arxiv}, \texttt{bbl.jstor}, etc.}
+% \begin{macrocode}
+FUNCTION {bbl.arxiv}
+{ curlanguage "english" =
+ { "ArXiv" }
+ { curlanguage "ukrainian" =
+%<!utf8> {"ArXiv"}
+%<utf8> {"ArXiv"}
+ { curlanguage "russian" =
+%<!utf8> { "ArXiv" }
+%<utf8> { "ArXiv" }
+ { curlanguage "german" =
+ { "ArXiv" }
+ { "language is not defined: bbl.arxiv for " curlanguage * warning$ "ArXiv" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.jstor}
+{ curlanguage "english" =
+ { "JSTOR" }
+ { curlanguage "ukrainian" =
+%<!utf8> {"JSTOR"}
+%<utf8> {"JSTOR"}
+ { curlanguage "russian" =
+%<!utf8> { "JSTOR" }
+%<utf8> { "JSTOR" }
+ { curlanguage "german" =
+ { "JSTOR" }
+ { "language is not defined: bbl.jstor for " curlanguage * warning$ "JSTOR" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.pubmed}
+{ curlanguage "english" =
+ { "PubMed" }
+ { curlanguage "ukrainian" =
+%<!utf8> {"PubMed"}
+%<utf8> {"PubMed"}
+ { curlanguage "russian" =
+%<!utf8> { "PubMed" }
+%<utf8> { "PubMed" }
+ { curlanguage "german" =
+ { "PubMed" }
+ { "language is not defined: bbl.pubmed for " curlanguage * warning$ "PubMed" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.googlebooks}
+{ curlanguage "english" =
+ { "Google Books" }
+ { curlanguage "ukrainian" =
+%<!utf8> {"Google \CYRK\cyrn\cyri\cyrg\cyri"}
+%<utf8> {"Google Книги"}
+ { curlanguage "russian" =
+%<!utf8> { "Google \CYRK\cyrn\cyri\cyrg\cyri" }
+%<utf8> { "Google Книги" }
+ { curlanguage "german" =
+ { "Google Books" }
+ { "language is not defined: bbl.googlebooks for " curlanguage * warning$ "Google Books" }
+ if$}
+ if$}
+ if$}
+if$}
+
+FUNCTION {bbl.hdl}
+{ curlanguage "english" =
+ { "Handle.Net" }
+ { curlanguage "ukrainian" =
+%<!utf8> {"Handle.Net"}
+%<utf8> {"Handle.Net"}
+ { curlanguage "russian" =
+%<!utf8> { "Handle.Net" }
+%<utf8> { "Handle.Net" }
+ { curlanguage "german" =
+ { "Handle.Net" }
+ { "language is not defined: bbl.hdl for " curlanguage * warning$ "Handle.Net" }
+ if$}
+ if$}
+ if$}
+if$}
% \end{macrocode}
%
-% \DescribeFunction{format.names}
-% Function |format.names| has 2 version.
-% First is for bibliographic records rather then for bibliographic references.
-% It is used for \file{.bst} styles compiled without the |modern| option.
-% It format every name as `LastName, F. S.'.
-% Historically, this version was used first for earlier styles included into
-% GOST bundle.
%
-% \textbf{Important note}
+% \subsection{Aliases}\label{s6.10}
%
-% Neither \file{bibtex} nor \file{bibtex8} can handle unicoded text without
-% troubles. In particular, they fail to reduce a Cyrillic name to initials.
-% Therefore we avoid using |f.| primitive when option |utf8| is in effect.
+% Aliases to some fields are introduced with the help of
+% \emph{field1}|.or.|\emph{field2} functions.
+%
+% \DescribeFunction{address.or.location}
+% Pushes |address| field if not empty; otherwise pushes |location| value even
+% if it is empty.
+% \changes{v1.2i}{02 Jan 2017}{\texttt{location} field added as alias to \texttt{address} field}
+% \begin{macrocode}
+%FUNCTION {address.or.location}
+%{
+% address empty$
+% { location empty$
+% 'skip$
+% { location }
+% if$ }
+% { address }
+% if$
+%}
+FUNCTION {address.or.location}
+{
+ address empty$
+ { location }
+ { address }
+ if$
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{specialitycode.or.number}
+% Pushed |specialitycode| value if not empty; otherwise
+% returns |number| value even if the latter is empty.
+% \changes{v1.2i}{13 Jan 2017}{\texttt{number} field is now alias to \texttt{specialitycode}}
+% \begin{macrocode}
+FUNCTION {specialitycode.or.number}
+{
+ specialitycode empty$
+ { number }
+ { specialitycode }
+ if$
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{institution.or.school}
+% Pushes |institution| value if not empty; otherwise
+% returns |school| value even if the latter is empty.
+% \changes{v1.2i}{13 Jan 2017}{\texttt{school} field is now alias to \texttt{instituttion}}
+% \begin{macrocode}
+FUNCTION {institution.or.school}
+{
+ institution empty$
+ { school}
+ { institution }
+ if$
+}
+% \end{macrocode}
+%
+%
+% \subsection{Formatting dates}\label{s6.7}
+%
+% \note{NEEDS to be located before natbib labels. This is experimental section.
+% Needs to be upgraded.}
+%
+% \DescribeFunction{date.to.year}
+% New in version 1.2k. Extracts year from date. Currently, only the date
+% of the form either |YYYY-MM-DD|, or |YYYY-MM|, or |YYYY| can be processed as
+% expected. Returns |date| if it is empty or has wrong format.
+% \changes{v1.2j}{15 Jan 2017}{new function \texttt{date.to.year}}
+% \begin{macrocode}
+FUNCTION {date.to.year}
+{
+ date empty$
+ { date }
+ {
+%<*debug>
+ "date.to.year::: date in " cite$ * " =" * date * warning$
+ "date.to.year::: length of date is " date text.length$ int.to.str$ * warning$
+%</debug>
+ date text.length$ #3 >
+ {
+ date #1 #4 substring$ 'y :=
+%<*debug>
+ ":::::: y=" y * warning$
+%</debug>
+ y
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{date.to.month}
+% New in version 1.2k. Extracts month from date.
+% Returns |date| if it is empty or has wrong format.
+% \changes{v1.2j}{15 Jan 2017}{new function \texttt{date.to.month}}
+% \begin{macrocode}
+FUNCTION {date.to.month}
+{
+ date empty$
+ { date }
+ {
+%<*debug>
+ "date.to.month::: date in " cite$ * " =" * date * warning$
+ "date.to.month::: length of date is " date text.length$ int.to.str$ * warning$
+%</debug>
+ date text.length$ #6 >
+ {
+ date #6 #2 substring$ 'm :=
+%<*debug>
+ ":::::: m=" m * warning$
+%</debug>
+ m
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{date.to.day}
+% New in version 1.2k. Extracts year from date.
+% Returns |date| if it is empty or has wrong format.
+% \changes{v1.2j}{15 Jan 2017}{new function \texttt{date.to.day}}
+% \begin{macrocode}
+FUNCTION {date.to.day}
+{
+ date empty$
+ { date }
+ {
+%<*debug>
+ "date.to.day::: date in " cite$ * " =" * date * warning$
+ "date.to.day::: length of date is " date text.length$ int.to.str$ * warning$
+%</debug>
+ date text.length$ #10 =
+ {
+ date #9 #2 substring$ 'd :=
+%<*debug>
+ ":::::: d=" d * warning$
+%</debug>
+ d
+ }
+ {
+ "wrong format of date in " cite$ * ": date=" * date * warning$
+ date
+ }
+ if$
+ }
+ if$
+}
+% \end{macrocode}
+%
+% \DescribeFunction{year.or.date.to.year}
+% New in version 1.2k. Returns |year| if not empty; otherwise call |date.to.year|.
+%
+% \note{ВОЗМОЖНО, ПОДОБНЫЕ ФУНКЦИИ ЛУЧШЕ назвать \texttt{this.year}.}
+% \changes{v1.2j}{15 Jan 2017}{new function \texttt{year.or.date.to.year}}
% \begin{macrocode}
-%<*!modern>
-FUNCTION {format.names}
+FUNCTION {year.or.date.to.year}
{
-%<!utf8> #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
-%<utf8> #1 "{vv~}{ll}{~jj}{,~ff}" format.name$
+ year empty$
+ {
+%<*debug>
+ "year.or.date.to.year::: empty year in " cite$ * warning$
+%</debug>
+ date.to.year
+ }
+ { year }
+ if$
+}
+
+% \end{macrocode}
+%
+% \DescribeFunction{format.month}
+% Reads |month| field and translate standard
+% English abbreviation of months (as defined by |jan|, |feb|, etc. macros below)
+% to current language.
+% \note{НАДО ИЗОБРЕСТИ ЧТО-ТО ВРОДЕ |month.or.date.to.month|
+% (|this.month|).}
+% \changes{v1.2i}{29 Dec 2016}{typo fix in \texttt{format.month}}
+% \begin{macrocode}
+FUNCTION {format.month}
+{ month empty$
+ { "" }
+ { month "Jan." =
+ { bbl.jan }
+ { month "Feb." =
+ { bbl.feb }
+ { month "Mar." =
+ { bbl.mar }
+ { month "Apr." =
+ { bbl.apr }
+ { month "May" =
+ { bbl.may }
+ { month "Jun." =
+ { bbl.jun }
+ { month "Jul." =
+ { bbl.jul }
+ { month "Aug." =
+ { bbl.aug }
+ { month "Sep." =
+ { bbl.sep }
+ { month "Oct." =
+ { "Окт." }
+ { month "Nov." =
+ { bbl.nov }
+ { month "Dec." =
+ { bbl.dec }
+ {
+ "unknown month in " cite$ * warning$
+ month
+ }
+ if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
+ if$
+}
+% \end{macrocode}
+%
+% \DescribeFunction{format.date}
+% \changes{v1.2c}{17 Jan 2015}{fix Gost2003: \texttt{"}\texttt{-}\texttt{-}\texttt{-} replaced by macro \cs{BibDash}}
+% \changes{v1.2j}{15 Jan 2017}{extraction of year from date added}
+% \begin{macrocode}
+FUNCTION {format.date}
+%{ year empty$
+{ year.or.date.to.year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ format.month
+ }
+ if$
+ }
+ { month empty$
+% 'year
+% { year ". \BibDash " format.month * * }
+ 'year.or.date.to.year
+ { year.or.date.to.year ". \BibDash " format.month * * }
+ if$
+ }
+ if$
}
-%</!modern>
+
+% \end{macrocode}
+%
+%
+% \subsection{Formatting names}\label{s6.6}
+%
+% Declare functions to format separate elements of a bibliographic reference.
+%
+% \textbf{Important note}
+%
+% Neither \file{bibtex} nor \file{bibtex8} can handle unicoded text without
+% troubles. In particular, they fail to reduce a Cyrillic name to initials.
+% Therefore we avoid using |f.| primitive (which trims first name to first letter)
+% when option |utf8| is in effect; in the latter caase |ff| primitive is called
+% instead.
+%
+% \begin{macrocode}
+INTEGERS { nameptr namesleft numnames }
+
% \end{macrocode}
-% Second version drops comma from output so that every name is formatted
-% as `LastName F. S.'. It also substitutes 4th and following names by
-% localized term `et al'.
+%
+% \DescribeFunction{fmt.names.first}
+% \DescribeFunction{fmt.names.three}
+% \DescribeFunction{fmt.names.all}
+% New version of functions formating names. Function name indicates number
+% of persons printed. These functions look for last literal in the stack
+% which should not be empty; hence, they should be called by other functions
+% that checks if the last literal is empty.
% \begin{macrocode}
-%<*modern>
-FUNCTION {format.names}
+FUNCTION {fmt.names.first}
+{ #1
+%<strict&!utf8> "{vv~}{ll}{~jj}{,~f.}"
+%<strict&utf8> "{vv~}{ll}{~jj}{,~ff}"
+%<!strict&!utf8> "{vv~}{ll}{~jj}{~f.}"
+%<!strict&utf8> "{vv~}{ll}{~jj}{~ff}"
+ format.name$
+}
+
+FUNCTION {fmt.names.three}
{
's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+%<strict&!utf8> "{vv~}{ll}{~jj}{,~f.}"
+%<strict&utf8> "{vv~}{ll}{~jj}{,~ff}"
+%<!strict&!utf8> "{vv~}{ll}{~jj}{~f.}"
+%<!strict&utf8> "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
+ nameptr #1 >
+ { nameptr #4 = numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { t "others" = t "~others" = or
+%<!strict> { " " * bbl.etal * }
+%<strict> { " " * bbl.etal bracketise *}
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {fmt.names.all}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
-%<!utf8> "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
-%<utf8> "{vv~}{ll}{~jj}{~ff}" format.name$ 't :=
+ %"{vv~}{ll}" format.name$ 't :=
+%<strict&!utf8> "{vv~}{ll}{~jj}{,~f.}"
+%<strict&utf8> "{vv~}{ll}{~jj}{,~ff}"
+%<!strict&!utf8> "{vv~}{ll}{~jj}{~f.}"
+%<!strict&utf8> "{vv~}{ll}{~jj}{~ff}"
+ format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
+ { namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
+ { numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
%<!strict> { " " * bbl.etal * }
-%<strict> { " " * bbl.etal enclose.square.brackets *}
- { ", " * t * }
+%<strict> { " " * bbl.etal bracketise *}
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -1875,72 +3160,185 @@ FUNCTION {format.names}
}
while$
}
-%</modern>
% \end{macrocode}
-% \DescribeFunction{format.lab.names}
-% Declare function to go to optional argument of |\bibitem| in
-% the styles generated with the option |natbib|.
+%
+%
+% \subsection{Formatting names (cont.)}\label{s6.9}
+%
+% \DescribeFunction{format.author}
+% Formats a list of authors for the heading part of a bibliographic record
+% by appying either |fmt.names.first|, |fmt.names.three| or |fmt.names.all| to
+% the field |author|, if it is not empty; % otherwise it pushes empty |author|.
+% This allows making a check as in the case of
+% |format.author "author" output.check|.
+%
+% \note{Однако заметим, что все другие
+% функции |format....| пустое поле замещают пустой строкой.}
% \begin{macrocode}
-%<*natbib>
-FUNCTION {format.lab.names}
-{ 's :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- s #1 "{vv~}{ll}" format.name$
- s num.names$ duplicate$
- #2 >
- %{ pop$ " et~al." * }
- { pop$ " " bbl.etal * * }
- { #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * s #2 "{vv~}{ll}" format.name$ * }
- { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
+%FUNCTION {format.author}
+%{ author empty$
+% %%%{ "" } % < v.1.2k
+% { author } % v.1.2k
+% %{ author format.names emphasize} % 1st if strict, <=3 otherwise
+%%<long> { author fmt.names.all emphasize}
+%%<!long&strict> { author fmt.names.first emphasize}
+%%<!long&!strict> { author fmt.names.three emphasize}
+% if$
+%}
+FUNCTION {format.author}
+{
+ author empty$
+ { author } %%%'skip$
+%<*long>
+ { author fmt.names.all }
+%</long>
+%<*!long>
+ {author num.names$ #4 <
+ {
+%<strict> author fmt.names.first
+%<!strict> author fmt.names.three
+ }
+ { "" } %%%'skip$
+ if$}
+%</!long>
if$
}
-%</natbib>
% \end{macrocode}
-% \DescribeFunction{format.names.rev}
-% Declare function to format names for authors/bookauthors list after title and etc.
-% Note that |format.names.rev| cuts list of names to at most 4 persons.
-% We do not cut names to initials in this list.
+%
+% \DescribeFunction{format.bookauthors}
+% Is used only once by |bookauthor.head| called in |inbook| entry.
+% \note{Not used anymore!}
+% \begin{macrocode}
+%<*debug>
+%FUNCTION {format.bookauthors}
+%{ bookauthor empty$
+% { "" }
+% { bookauthor format.names}% cuts to 4 persons if |!strict| option
+% if$
+%}
+%
+%</debug>
+% \end{macrocode}
+%
+% \DescribeFunction{format.author.rest}
+% Formats |author| to be placed after a slash in the zone of responsibiloty of
+% a bibliographic record. In contrast to |output.author.rest| does not check
+% number of items in the |author| field; it is recommended to use
+% |output.author.rest| instead whenever possible.
+% \note{Not used any more.}
% \begin{macrocode}
-FUNCTION {format.names.rev}
+%<*debug>
+FUNCTION {format.author.rest}
{
- 's :=
+%<*long>
+ %%% Does this work?
+ %%%skip$ % this seemed to work
+ %%% "" % this seemed to work
+%</long>
+%<*!long>
+ author empty$
+ %%%{ "" } % < v.1.2k
+ { author } % v.1.2k
+ { author fmt.names.three }
+ if$
+%</!long>
+}
+
+%</debug>
+% \end{macrocode}
+% \DescribeFunction{format.bookauthors.rest}
+% \begin{macrocode}
+FUNCTION {format.bookauthors.rest}
+{ bookauthor empty$
+ { "" }
+%<long> { bookauthor fmt.names.all emphasize }
+%<!long> { bookauthor fmt.names.three emphasize }
+ if$
+}
+
+% \end{macrocode}
+% \DescribeFunction{format.editors.rest}
+% \begin{macrocode}
+FUNCTION {format.editors.rest}
+{ editor empty$
+ { "" }
+%<long> { bbl.edby "\ " * editor fmt.names.all * }
+%<!long> { bbl.edby "\ " * editor fmt.names.three * }
+ if$
+}
+
+% \end{macrocode}
+% \DescribeFunction{format.chief.rest}
+% Formats |editor| field for |report| and |techreport| entries.
+% \begin{macrocode}
+FUNCTION {format.chief.rest}
+{ editor empty$
+ { "" }
+%<long> { bbl.chief "\ " * editor fmt.names.all * }
+%<!long> { bbl.chief "\ " * editor fmt.names.three * }
+ if$
+}
+
+% \end{macrocode}
+% \DescribeFunction{format.executor.rest}
+% \begin{macrocode}
+FUNCTION {format.executor.rest}
+{ author empty$
+ { "" }
+%<long> { bbl.executor ": " * author fmt.names.all * }
+%<!long> { bbl.executor ": " * author fmt.names.three * }
+ if$
+}
+
+% \end{macrocode}
+% \DescribeFunction{format.compiler.rest}
+% \begin{macrocode}
+FUNCTION {format.compiler.rest}
+{ compiler empty$
+ { "" }
+%<long> { bbl.compiler "\ " * compiler fmt.names.all * }
+%<!long> { bbl.compiler "\ " * compiler fmt.names.three * }
+ if$
+}
+
+% \end{macrocode}
+%
+%
+% \subsection{Formatting natbib keys}\label{s6.8}
+%
+% \begin{macrocode}
+%<*natbib>
+% \end{macrocode}
+%
+% \DescribeFunction{fmt.names.brief}
+% Formats all names like |fmt.names.all| except that first name of every person is dropped
+% (dropped |ff| and |f.| modifiers).
+%
+% \note{Вероятно, нужно сократить число персон до 3х максимум. Что говорит ГОСТ?
+% Где используется это? В метке ссылки это расгиренный список авторов после
+% краткого списка и года в необязательном аргументе \cs{bibitem}.}
+% \begin{macrocode}
+FUNCTION {fmt.names.brief}
+{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr
-%<!utf8> %"{f.}{~vv}{~ll}{, jj}" format.name$ 't :=
-%<!utf8> "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
-%<utf8> "{ff}{~vv}{~ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
nameptr #1 >
- { nameptr #4 =
- numnames #4 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
+ {
namesleft #1 >
{ ", " * t * }
- { t "others" =
- t "~others" =
- or
-%<!strict> { " " * bbl.etal * }
-%<strict> { " " * bbl.etal enclose.square.brackets * }
- { ", " * t * }
+ {
+ numnames #2 > curlanguage "english" = and
+ { "," * }
+ 'skip$
+ if$
+ t "others" = t "~others" = or
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * t * }
if$
}
if$
@@ -1954,32 +3352,52 @@ FUNCTION {format.names.rev}
}
% \end{macrocode}
-% \DescribeFunction{format.key}
-% Function to substitute empty field (usually, author name) with the |key| field.
+%
+% \DescribeFunction{format.names.key}
+% Declares function to go to left part of optional argument of |\bibitem| in
+% the bibstyles generated with the option |natbib|. It cuts the list of person
+% to 2 at most and drops first name of every person.
% \begin{macrocode}
-%<*natbib>
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
+FUNCTION {format.names.key}
+{ 's :=
+ set.language %%% уже вызвана в output.bibitem, но вроде бы нужна и здесь
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " bbl.etal * * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " bbl.etal * * }
+ { " " bbl.and " " * * * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
if$
}
-%</natbib>
% \end{macrocode}
-% \DescribeFunction{format.authors}
+%
+% \DescribeFunction{format.key}
+% Substitute an empty last literal in the stack (usually, |author|) with the |key| field
+% if provided. Used as a heading of bibliographic record of |author| is empty.
% \begin{macrocode}
-FUNCTION {format.authors}
-{ author empty$
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
{ "" }
- { author format.names emphasize}
if$
}
% \end{macrocode}
+%
% \DescribeFunction{author.key.label}
+% Composes a key to be used as a reference label with natbib
+% styles. If |author| field is empty an attempt is made to retrieve |key| field.
+% If it is also empty 3 first letters are retreived from the citation key |cite$|.
+% If |author| field is not empty |format.names.key| defined above is called.
% \begin{macrocode}
-%<*natbib>
FUNCTION {author.key.label}
{ author empty$
{ key empty$
@@ -1987,10 +3405,17 @@ FUNCTION {author.key.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
-
+% \end{macrocode}
+%
+% \DescribeFunction{author.editor.key.label}
+% \DescribeFunction{author.key.organization.label}
+% \DescribeFunction{editor.key.organization.label}
+% These functions operate similarly but engage a different set of fields. They
+% are called below by |calc.short.list|.
+% \begin{macrocode}
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
@@ -2000,10 +3425,10 @@ FUNCTION {author.editor.key.label}
{ "{}" key * } %% Bug in bibtex8 ??
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -2018,7 +3443,7 @@ FUNCTION {author.key.organization.label}
'key
if$
}
- { author format.lab.names }
+ { author format.names.key }
if$
}
@@ -2033,14 +3458,20 @@ FUNCTION {editor.key.organization.label}
'key
if$
}
- { editor format.lab.names }
+ { editor format.names.key }
if$
}
-FUNCTION {calc.short.authors}
-{ type$ "book" =
- type$ "inbook" =
- or
+% \end{macrocode}
+%
+% \DescribeFunction{calc.short.list}
+% Calculates |short.list| for |\bibitem| label in natbib styles depending on the type of entry.
+%
+% \note{Нужна внимательная ревизия логики вычислений. В общем-то, она имеет значения в особом
+% случае, когда поле |author| пустое. }
+% \begin{macrocode}
+FUNCTION {calc.short.list}
+{ type$ "book" = type$ "inbook" = or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
@@ -2055,12 +3486,21 @@ FUNCTION {calc.short.authors}
'short.list :=
}
+% \end{macrocode}
+%
+% \DescribeFunction{calc.label}
+%
+% \note{Вопреки названию, вычисляет только часть метки в [] для
+% \cs{bibitem}. Скобка после года не закрыта, так как еще может
+% быть добавлено a, b, \dots. Лучше перенести весь код |output.bibitem|. }
+% \begin{macrocode}
FUNCTION {calc.label}
-{ calc.short.authors
+{ calc.short.list
short.list
"("
*
- year duplicate$ empty$
+% year duplicate$ empty$
+ year.or.date.to.year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
@@ -2069,243 +3509,57 @@ FUNCTION {calc.label}
'label :=
}
-%</natbib>
-
-% \end{macrocode}
-% \DescribeFunction{format.bookauthors}
-% This function is used only once, in |bookauthor.before|, and the latter is
-% used only in |inbook| entry.
-% \begin{macrocode}
-FUNCTION {format.bookauthors}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names}
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.authors.after}
-% \begin{macrocode}
-FUNCTION {format.authors.after}
-{ author empty$
- { "" }
- { author format.names.rev}
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.bookauthors.after}
-% \begin{macrocode}
-FUNCTION {format.bookauthors.after}
-{ bookauthor empty$
- { "" }
- { bookauthor format.names.rev}% always cuts to 4 persons
- if$
-}
-
% \end{macrocode}
-% \DescribeFunction{format.editors.after}
-% \begin{macrocode}
-FUNCTION {format.editors.after}
-{ editor empty$
- { "" }
- { bbl.edby "\ " * editor format.names.rev * }
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.chief.after}
-% \begin{macrocode}
-FUNCTION {format.chief.after}
-{ editor empty$
- { "" }
- { bbl.chief "\ " * editor format.names.rev * }
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.executor.after}
-% \begin{macrocode}
-FUNCTION {format.executor.after}
-{ author empty$
- { "" }
- { bbl.executor ": " * author format.names.rev * }
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.compiler.after}
-% \begin{macrocode}
-FUNCTION {format.compiler.after}
-{ compiler empty$
- { "" }
- { bbl.cmplr "\ " * compiler format.names.rev * }
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.title}
-% \textbf{Important note}
-% \
-% Neither \file{bibtex} nor \file{bibtex8} can handle unicoded text without
-% troubles. In particular, \file{bibtex8} fails to change case of a string if it
-% contains Cyrillic letter. Therefore we avoid using |change.case$| when
-% option |utf8| is in effect.
-% \begin{macrocode}
-FUNCTION {format.title}
-{ title empty$
- { "" }
-%<!utf8> { title "t" change.case$ }
-%<utf8> { title }
- if$
-}
-
-% \end{macrocode}
-% \DescribeFunction{format.month}
-% New in version 1.2d. This macro reads month field and translate English names
-% of months to Russian if current language is Russian.
-% \changes{v1.2i}{29 Dec 2016}{typo fix in \texttt{format.month}}
-% \begin{macrocode}
-FUNCTION {format.month}
-{ month empty$
- { "" }
- { curlanguage "russian" =
- { month "Jan." =
-%<!utf8> { "\CYRYA\cyrn\cyrv." }
-%<utf8> { "Янв." }
- { month "Feb." =
-%<!utf8> { "\CYRF\cyre\cyrv\cyrr." }
-%<utf8> { "Фев." }
- { month "Mar." =
-%<!utf8> { "\CYRM\cyra\cyrr\cyrt" }
-%<utf8> { "Март" }
- { month "Apr." =
-%<!utf8> { "\CYRA\cyrp\cyrr." }
-%<utf8> { "Апр." }
- { month "May" =
-%<!utf8> { "\CYRM\cyra\cyrishrt" }
-%<utf8> { "Май" }
- { month "Jun." =
-%<!utf8> { "\CYRI\cyryu\cyrn\cyrsftsn" }
-%<utf8> { "Июнь" }
- { month "Jul." =
-%<!utf8> { "\CYRI\cyryu\cyrl\cyrsftsn" }
-%<utf8> { "Июль" }
- { month "Aug." =
-%<!utf8> { "\CYRA\cyrv\cyrg\." }
-%<utf8> { "Авг." }
- { month "Sep." =
-%<!utf8> { "\CYRS\cyre\cyrn\cyrt." }
-%<utf8> { "Сент." }
- { month "Oct." =
-%<!utf8> { "\CYRO\cyrk\cyrt." }
-%<utf8> { "Окт." }
- { month "Nov." =
-%<!utf8> { "\CYRN\cyro\cyrya\cyrb." }
-%<utf8> { "Нояб." }
- { month "Dec." =
-%<!utf8> { "\CYRD\cyre\cyrk." }
-%<utf8> { "Дек." }
- { month }
- if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}if$}
- { month }
- if$}
- if$
-}
-% \end{macrocode}
-% \DescribeFunction{format.date}
-% \changes{v1.2c}{17 Jan 2015}{fix Gost2003: \texttt{"}\texttt{-}\texttt{-}\texttt{-} replaced by macro \cs{BibDash}}
+%
+% \DescribeFunction{calc.long.list}
+% In case of |natbib| option, we need |calc.long.list| to compose
+% |output.bibitem|, and the latter, in its turn, requires some more functions.
% \begin{macrocode}
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- format.month
+FUNCTION {calc.long.list} %% called 1 time only
+{ type$ "book" = type$ "inbook" = or
+ %'format.author.editor.brief
+ { author empty$
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
}
+ { author fmt.names.brief }
if$
}
- { month empty$
- 'year
- { year ". \BibDash " format.month * * }
+ { type$ "proceedings" =
+ %'format.editor.brief
+ { editor empty$
+ { "" }
+ { editor fmt.names.brief }
+ if$
+ }
+ %'format.author.brief
+ { author empty$
+ { "" }
+ { author fmt.names.brief }
+ if$
+ }
if$
}
if$
-%<natbib> extra.label * % new in v.1.2
-}
-
-% \end{macrocode}
-% \DescribeFunction{address.or.location}
-% New function in version 1.2i. Returns |address| value if not empty; otherwise
-% returns |location| value even if the latter is empty.
-% \changes{v1.2i}{02 Jan 2017}{\texttt{location} field added as alias to \texttt{address} field}
-% \begin{macrocode}
-%FUNCTION {address.or.location}
-%{
-% address empty$
-% { location empty$
-% 'skip$
-% { location }
-% if$ }
-% { address }
-% if$
-%}
-FUNCTION {address.or.location}
-{
- address empty$
- { location }
- { address }
- if$
}
% \end{macrocode}
%
-% \DescribeFunction{specialitycode.or.number}
-% New function in version 1.2i. Returns |specialitycode| value if not empty; otherwise
-% returns |number| value even if the latter is empty.
-% \changes{v1.2i}{13 Jan 2017}{\texttt{number} field is now alias to \texttt{specialitycode}}
% \begin{macrocode}
-FUNCTION {specialitycode.or.number}
-{
- specialitycode empty$
- { number }
- { specialitycode }
- if$
-}
-
+%</natbib>
% \end{macrocode}
%
-% \DescribeFunction{institution.or.school}
-% New function in version 1.2i. Returns |institution| value if not empty; otherwise
-% returns |school| value even if the latter is empty.
-% \changes{v1.2i}{13 Jan 2017}{\texttt{school} field is now alias to \texttt{instituttion}}
-% \begin{macrocode}
-FUNCTION {institution.or.school}
-{
- institution empty$
- { school}
- { institution }
- if$
-}
-% \end{macrocode}
%
-% \DescribeFunction{format.address.publisher}
-% \DescribeFunction{format.address.publisher.date}
+% \subsection{Output functions (continued)}\label{s6.11}
+%
+% \DescribeFunction{output.address.publisher}
+% Outputs |address| (or |location|) and |publisher| fields separated by colon
+% if both fields are available; otherwise outputs that field which is not
+% empty.
% \begin{macrocode}
%<*!strict>
-%FUNCTION {output.address.publisher}
-%{
-% address empty$
-% 'skip$
-% { address output
-% publisher empty$
-% 'skip$
-% { new.colon }
-% if$
-% }
-% if$
-% publisher output
-%}
FUNCTION {output.address.publisher}
{
address empty$ location empty$ and
@@ -2327,15 +3581,15 @@ FUNCTION {output.address.publisher}
{
bbl.nnoaddress
publisher empty$
- { "~: " * bbl.nopublisher * enclose.square.brackets }
- { enclose.square.brackets "~: " * publisher * }
+ { "~: " * bbl.nopublisher * bracketise }
+ { bracketise "~: " * publisher * }
if$
}
{
address output
new.colon
publisher empty$
- { bbl.nopublisher enclose.square.brackets }
+ { bbl.nopublisher bracketise }
{ publisher }
if$
}
@@ -2344,175 +3598,44 @@ FUNCTION {output.address.publisher}
}
%</strict>
-
-% \end{macrocode}
-% \DescribeFunction{output.address.publisher.date}
-% |Otput.address.publisher.date| is used in old styles.
-% New styles use |output.address.publisher|.
-% \begin{macrocode}
-%<*!(modern|strict)>
-FUNCTION {output.address.publisher.date}
-{
- output.address.publisher
- format.date output
-}
-%</!(modern|strict)>
-
% \end{macrocode}
+%
% \DescribeFunction{output.bibitem}
+% Is called at the beginning of any entry. It sets |curlanguage|
+% string variable based on |langid| or |language| field.
% \changes{v1.2c}{18 Jan 2015}{entry field \texttt{langid} added}
% \begin{macrocode}
-%<*!natbib>
FUNCTION {output.bibitem}
-{ newline$
+{
+ set.language
+ newline$
"\bibitem" write$
+%<*natbib>
+ label extra.label * ")" *
+ calc.long.list *
+ bracketise write$
+%</natbib>
cite$ bracify write$
newline$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
"\selectlanguageifdefined" curlanguage bracify * write$
newline$
""
before.all 'output.state :=
}
-%</!natbib>
% \end{macrocode}
-% \DescribeFunction{format.full.names}
-% \DescribeFunction{author.full}
-% \DescribeFunction{editor.full}
-% \DescribeFunction{author.editor.full}
-% \DescribeFunction{make.full.names}
-% \DescribeFunction{output.bibitem}
-% In case of |natbib| option, we need |make.full.names| to compose
-% |output.bibitem|, and the latter in its turn requires some more functions.
+%
% \begin{macrocode}
%<*natbib>
-FUNCTION {format.full.names}
-{'s :=
- language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- numnames #2 >
- curlanguage "english" =
- and
- { "," * }
- 'skip$
- if$
- t "others" =
- %t "~others" =
- %or
- %{ " et~al." * }
- { " " bbl.etal * * }
- %{ " and " * t * }
- { " " bbl.and " " * * * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.full}
-{ author empty$
- { "" }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.full}
-{ editor empty$
- { "" }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {author.editor.full}
-{ author empty$
- { editor empty$
- { "" }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.full
- { type$ "proceedings" =
- 'editor.full
- 'author.full
- if$
- }
- if$
-}
-
-% =======================================
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[" write$
- label write$
- ")" make.full.names duplicate$ short.list =
- { pop$ }
- { * }
- if$
- "]{" * write$
- cite$ write$
- "}" write$
-%% language empty$
-%% { "english" 'curlanguage := }
-%% {language 'curlanguage := }
-%% if$
- langid empty$
- { language empty$
- { "english" 'curlanguage := }
- { language 'curlanguage := }
- if$
- }
- { langid 'curlanguage := }
- if$
- "\selectlanguageifdefined" curlanguage bracify * write$
- newline$
- ""
- before.all 'output.state :=
-}
-% =======================================
%FUNCTION {output.bibitem}
%{ newline$
% "\bibitem" write$
%% author.key.label
%% year parenthesify *
%% "; lbl:" label * *
-%% "; mfn:" make.full.names * *
+%% "; mfn:" calc.long.list * *
% label
-% make.full.names *
+% calc.long.list *
% bracketise write$
% cite$ bracify write$
% newline$
@@ -2525,83 +3648,20 @@ FUNCTION {output.bibitem}
% ""
% before.all 'output.state :=
%}
-% =======================================
-%</natbib>
-
-% \end{macrocode}
-% \DescribeFunction{n.dashify}
-% \begin{macrocode}
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-% \end{macrocode}
-% \DescribeFunction{word.in}
-% \begin{macrocode}
-FUNCTION {word.in}
-{ bbl.iin
- " " * }
-
-% \end{macrocode}
-% \DescribeFunction{format.btitle}
-% \begin{macrocode}
-FUNCTION {format.btitle}
-{ title
-}
-
-% \end{macrocode}
-% \DescribeFunction{tie.or.space.connect}
-% \begin{macrocode}
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-% \end{macrocode}
-% \DescribeFunction{tie.connect}
-% Declare function to insert unbreakable space before last word in stack.
-% \begin{macrocode}
-FUNCTION {tie.connect}
- {"~"
- swap$ * *
- }
-
-
-% \end{macrocode}
-% \DescribeFunction{either.or.chec}
-% \begin{macrocode}
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
+%</natbib>
% \end{macrocode}
+%
+%
+% \subsection{Formatting title, booktitle, etc.}\label{s6.13}
+%
+% \textbf{Important note}
+%
+% Neither \file{bibtex.exe} nor \file{bibtex8.exe} can handle unicoded text without
+% troubles. In particular, \file{bibtex8} fails to change case of a string if it
+% contains Cyrillic letter. Therefore we avoid using |change.case$| when
+% option |utf8| is applied.
+%
% \DescribeFunction{format.bvolume}
% \begin{macrocode}
FUNCTION {format.bvolume}
@@ -2610,7 +3670,7 @@ FUNCTION {format.bvolume}
{ bbl.vvol volume tie.connect
series empty$
'skip$
- { bbl.of space.word * series emphasize * }
+ { bbl.of spaces.around * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -2643,39 +3703,13 @@ FUNCTION {format.number.series}
}
% \end{macrocode}
-% \DescribeFunction{is.num}
-% \begin{macrocode}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-% \end{macrocode}
-% \DescribeFunction{extract.num}
-% \begin{macrocode}
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%<*debug>
-% \end{macrocode}
+%
% \DescribeFunction{eng.ord}
+% Is not currently used.
+% \note{Note that |bbl.st|, |bbl.nd|, |bbl.rd|, |bbl.th|
+% are not defined.}
% \begin{macrocode}
+%<*debug>
FUNCTION {eng.ord}
{ duplicate$ "1" swap$ *
#-2 #1 substring$ "1" =
@@ -2699,6 +3733,7 @@ FUNCTION {eng.ord}
%</debug>
% \end{macrocode}
+%
% \DescribeFunction{convert.edition}
% \begin{macrocode}
FUNCTION {convert.edition}
@@ -2732,6 +3767,7 @@ FUNCTION {convert.edition}
}
% \end{macrocode}
+%
% \DescribeFunction{format.edition}
% \begin{macrocode}
FUNCTION {format.edition}
@@ -2747,45 +3783,11 @@ FUNCTION {format.edition}
if$
}
-INTEGERS { multiresult }
-
-% \end{macrocode}
-% \DescribeFunction{multi.page.check}
-% \begin{macrocode}
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
% \end{macrocode}
+%
% \DescribeFunction{format.pages}
% \changes{v1.2c}{18 Jan 2015}{entry field \texttt{eid} added}
% \begin{macrocode}
-%%FUNCTION {format.pages}
-%%{ pages empty$
-%% { "" }
-%% { pages multi.page.check
-%% { bbl.ppages pages n.dashify tie.connect }
-%% { bbl.ppage pages tie.connect }
-%% if$
-%% }
-%% if$
-%%}
FUNCTION {format.pages}
{ eid empty$
{
@@ -2807,19 +3809,11 @@ FUNCTION {format.pages}
}
% \end{macrocode}
+%
% \DescribeFunction{format.pages.page}
% \changes{v1.2c}{18 Jan 2015}{entry field \texttt{eid} added}
% \changes{v1.2b}{19 Jan 2014}{entry field \texttt{numpages} renamed to \texttt{pagetotal}}
% \begin{macrocode}
-%%FUNCTION {format.pages.page}
-%%{ pages empty$
-%% { pagetotal empty$
-%% { "" }
-%% { pagetotal bbl.pages tie.connect }
-%% if$}
-%% { format.pages}
-%% if$
-%%}
FUNCTION {format.pages.page}
{ eid empty$
{ pages empty$
@@ -2836,6 +3830,7 @@ FUNCTION {format.pages.page}
}
% \end{macrocode}
+%
% \DescribeFunction{format.vol.num.pages}
% \begin{macrocode}
FUNCTION {format.vol.num.pages}
@@ -2861,6 +3856,7 @@ FUNCTION {format.vol.num.pages}
}
% \end{macrocode}
+%
% \DescribeFunction{format.volume}
% \begin{macrocode}
FUNCTION {format.volume}
@@ -2880,10 +3876,11 @@ FUNCTION {format.number}
if$
}
-%<*debug>
% \end{macrocode}
+%
% \DescribeFunction{format.chapter.pages}
% \begin{macrocode}
+%<*debug>
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
@@ -2902,6 +3899,7 @@ FUNCTION {format.chapter.pages}
%</debug>
% \end{macrocode}
+%
% \DescribeFunction{empty.misc.check}
% \begin{macrocode}
FUNCTION {empty.misc.check}
@@ -2915,6 +3913,28 @@ FUNCTION {empty.misc.check}
}
% \end{macrocode}
+%
+% \DescribeFunction{bbl.thesis.type}
+%
+% \note{ЭТУ ФУНКЦИЮ ПЕРЕНЕСТИ КУДА-ТО ВНИЗ ближе к |format.thesis.type|
+% И объединить с ней (?)}
+% \begin{macrocode}
+FUNCTION {bbl.thesis.type}
+{ type "mathesis" =
+ { bbl.mathesis }
+ { type "phdthesis" =
+ { bbl.phdthesis }
+ { type "docthesis" =
+ { bbl.docthesis }
+ %%{ "!!!" type * "t" change.case$ }
+%<!utf8> { type "t" change.case$ }
+%<utf8> { type }
+ if$}
+ if$}
+if$}
+
+% \end{macrocode}
+%
% \DescribeFunction{format.thesis.type}
% \begin{macrocode}
%FUNCTION {format.thesis.type}
@@ -2935,6 +3955,7 @@ FUNCTION {format.thesis.type}
if$
}
% \end{macrocode}
+%
% \DescribeFunction{format.techrep.type.number}
% Function to format report type and number.
% \begin{macrocode}
@@ -2959,156 +3980,108 @@ FUNCTION {format.techreport.type}
% \end{macrocode}
%
-% \DescribeFunction{author.before}
-% Declare the function |author.before| to format list
-% of authors in heading of a bibliographic record.
-% If the number of authors is 4 or larger, some styles skip
-% the list of authors in the beginning of the bibliographic
-% record, while other styles always print that list.
-% So, we need two version of |author.before|.
-%
-% First version is used if \file{.bst} style is compiled without option
-% |long|. It skips authors if their number is greater than or equal to 4
-% or if the author field is empty. Note that GOST requires for a long list of
-% authors to be reduced. Hence this first version is preferable.
-% Note also that |format.names| cuts list of names
-% to 4 person at most in case if |modern| option is used. and |format.authors|
-% just emphasizes |format.names|.
+% \DescribeFunction{output.author.head}
+% Formats and writes list of authors in the heading of a bibliographic record.
+% The GOST bibstyles skip the list of authors in the beginning of the
+% bibliographic record if the number of authors is 4 or larger except for the
+% styles with suffix |l| which prints all authors in the
+% heading. The bibstyles compiled with the option |struct| print at most 1 person
+% name in the heading.
% \begin{macrocode}
-%<*!long>
-FUNCTION {author.before}
+FUNCTION {output.author.head}
{
author empty$
'skip$
+%<*long>
+ { author fmt.names.all output.nonnull
+ %new.sentence
+ }
+%</long>
+%<*!long>
{author num.names$ #4 <
- {format.authors output
- new.sentence}
+ {
+%<strict> author fmt.names.first output
+%<!strict> author fmt.names.three output
+ new.sentence
+ }
'skip$
if$}
- if$
-}
%</!long>
-% \end{macrocode}
-% Second version is used if \file{.bst} style is compiled with the option
-% |long|. It skips only if the author field is empty.
-% \begin{macrocode}
-%<*long>
-FUNCTION {author.before}
-{
- author empty$
- 'skip$
- { format.authors output
- new.sentence
- }
if$
}
-%</long>
% \end{macrocode}
-% \DescribeFunction{bookauthor.before}
-% There are also 2 version of the function |bookauthor.before|.
+%
+% \DescribeFunction{bookauthor.head}
+% There are also 2 version of the function |bookauthor.head|.
% Not used anymore!
% \begin{macrocode}
-%%<*!long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% {bookauthor num.names$ #4 <
-%% {format.bookauthors output
-%% new.sentence}
-%% 'skip$
-%% if$}
-%% if$
-%%}
-%%</!long>
-%%<*long>
-%%FUNCTION {bookauthor.before}
-%%{
-%% bookauthor empty$
-%% 'skip$
-%% { format.bookauthors output
-%% new.sentence
-%% }
-%% if$
-%%}
-%%</long>
-
-% \end{macrocode}
-%
-% \DescribeFunction{author.after}
-% Functions |author.after| and |bookauthor.after| also have by 2 versions.
-% They are used to write authors list after the title followed by a slash.
-% In modern styles, compiled with option |modern|, the list of authors is
-% always cut to at most 4 persons. The cut is performed first by
-% |format.names.rev|, which is called by |format.authors.after|. For old styles,
-% |author.after| just outputs formatted string whereas for new style it
-% skips the string if the number of authors exceeds 3 (and author list is not
-% printed before the title).
-% \begin{macrocode}
-%<*!modern>
-FUNCTION {author.after}
+% \end{macrocode}
+%
+% \DescribeFunction{output.author.rest}
+% Writes the rest of authors list after the entry title followed by a slash.
+% In modern bibstyles, the list of authors in the heading part of a bibliographic
+% record is cut to either 3 persons (if no |!strict| option is applied) or 1
+% person (if |strict| option). By idea, |output.author.rest| should print the rest
+% of the authors in the |author| field but currently it also repeats the persons
+% printed in the heading part. |output.author.rest| returns a null string (|""|)
+% if all persons are printed in the heading part of the record. Note that all
+% persons are alwats printed in the heading part if |long| option is applied.
+% \begin{macrocode}
+FUNCTION {output.author.rest}
{
- author empty$
- 'skip$
- {format.authors.after output
- new.semicolon }
- if$
-}
-%</!modern>
-%<*modern>
%<*!long>
-FUNCTION {author.after}
-{
author empty$
'skip$
- {author num.names$ #3 >
- {format.authors.after output
- new.semicolon }
+%<strict> {author num.names$ #1 >
+%<!strict> {author num.names$ #3 >
+ { author fmt.names.all output
+ new.semicolon
+ }
'skip$
if$}
if$
-}
%</!long>
-%<*long>
-FUNCTION {author.after} { }
-%</long>
-%</modern>
+}
% \end{macrocode}
-% \DescribeFunction{bookauthor.after}
+%
+% \DescribeFunction{bookauthor.rest}
% This function is used only in |inbook| entry. It always cuts list to 4 persons
-% since |format.bookauthors.after| does that.
+% since |format.bookauthors.rest| does that.
% \begin{macrocode}
-FUNCTION {bookauthor.after}
+FUNCTION {bookauthor.rest}
{
bookauthor empty$
'skip$
- {format.bookauthors.after output
- new.semicolon }
+ {
+%<strict> bookauthor fmt.names.all output
+%<!strict> bookauthor fmt.names.three output
+ new.semicolon
+ }
if$
}
% \end{macrocode}
-% \DescribeFunction{editor.organization.after}
+% \DescribeFunction{editor.organization.rest}
% \begin{macrocode}
-FUNCTION {editor.organization.after}
+FUNCTION {editor.organization.rest}
{
compiler empty$
{}
- { format.compiler.after output
+ { format.compiler.rest output
new.semicolon
}
if$
editor empty$
{}
- { format.editors.after output
+ { format.editors.rest output.nonnull
new.semicolon
}
if$
organization empty$
{}
- {organization output
+ {organization output.nonnull
new.semicolon
}
if$
@@ -3122,8 +4095,7 @@ FUNCTION {format.url}
{ url empty$
{ "" }
{
-%<!(modern|strict)> "\BibUrl{ " url * "}" *
-%<modern|strict> bbl.url ": \BibUrl{" * url * "}" *
+ bbl.url ": \BibUrl{" * url * "}" *
urldate empty$
{ "" }
{ " (" bbl.urldate * ": " * urldate * ")" * }
@@ -3157,8 +4129,9 @@ FUNCTION {format.annote}
}
% \end{macrocode}
+%
% \DescribeFunction{format.isbn}
-% Do we really need to provide electronic search for ISNB?
+% \note{Do we really need to provide electronic search for ISBN?}
% \begin{macrocode}
FUNCTION {format.isbn}
{
@@ -3171,6 +4144,7 @@ FUNCTION {format.isbn}
}
% \end{macrocode}
+%
% \DescribeFunction{add.doi}
% The Digital Object Identifier (DOI) System is for identifying content
% objects in the digital environment. DOI names are assigned to any entity
@@ -3180,7 +4154,8 @@ FUNCTION {format.isbn}
% including where to find it, but its DOI name will not change.
%
% Function |add.doi| embraces last string in stack into hyperlink
-% that links it to specified |doi| identificator at http://dx.doi.org/ web-site.
+% that links it to specified |doi| identificator at https://doi.org/ web-site.
+% \changes{v1.2k}{25 Dec 2020}{formatting of \texttt{doi} field updated}
% \begin{macrocode}
%<*eprint>
FUNCTION {add.doi}
@@ -3188,13 +4163,14 @@ FUNCTION {add.doi}
'skip$
{ doi empty$
'skip$
- { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
+ { "\href{https://doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
}
%</eprint>
% \end{macrocode}
+%
% If \file{.bst} style is compiled without |eprint| option, we just ignore
% |doi| field.
% \begin{macrocode}
@@ -3203,6 +4179,7 @@ FUNCTION {add.doi} { }
%</!eprint>
% \end{macrocode}
+%
% \DescribeFunction{add.media}
% New in version 1.2. Adds |media| field if |strict| options is in effect.
% If the |media| field is empty |add.media| prints a value based on the |type|
@@ -3215,7 +4192,7 @@ FUNCTION {add.media}
'skip$
{ media empty$
'skip$
- { " " * bbl.media enclose.square.brackets * }
+ { " " * bbl.media bracketise * }
if$
}
if$
@@ -3226,9 +4203,13 @@ FUNCTION {add.media}
{ duplicate$ empty$
'skip$
{ media empty$
- { " " * bbl.media.text enclose.square.brackets * }
- { " " * bbl.media enclose.square.brackets * }
- if$
+ { type$ "online" =
+ { " " * bbl.media.online bracketise * }
+ { " " * bbl.media.text bracketise * }
+ if$
+ }
+ { " " * bbl.media bracketise * }
+ if$
}
if$
}
@@ -3236,7 +4217,7 @@ FUNCTION {add.media}
% \end{macrocode}
%
-% \subsection{Electronic Publishing Information}
+% \subsection{Electronic Publishing Information}\label{s6.14}
%
% The biblatex package provides three fields for electronic publishing
% information: |eprint|, |eprinttype|, and |eprintclass|. The |eprint| field
@@ -3259,7 +4240,7 @@ FUNCTION {add.media}
% repository, service, or system.
% Also see eprinttype and eprintclass.
%
-% This function should use url. TO BE DONE YET.
+% \note{This function should use url. TO BE DONE YET.}
% \changes{v1.2}{26 Jan 2012}{entry fields \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype}}
% \begin{macrocode}
%<*eprint>
@@ -3386,6 +4367,7 @@ FUNCTION {format.publicationdate}
}
% \end{macrocode}
+%
% \DescribeFunction{format.prioritydate}
% \begin{macrocode}
FUNCTION {format.prioritydate}
@@ -3437,15 +4419,16 @@ FUNCTION {format.prioritydate}
FUNCTION {article}
{
output.bibitem
- author.before
+ output.author.head
+ %new.sentence
%<natbib> author format.key output
- format.title add.media "title" output.check
+ title add.media "title" output.check
new.slash
- author.after
+ output.author.rest
new.dblslash
- journal emphasize add.doi "journal" output.check % new in v.2
+ journal emphasize add.doi "journal" output.check % new in v1.2
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.volume output
format.number output
@@ -3461,6 +4444,7 @@ FUNCTION {article}
}
% \end{macrocode}
+%
% \DescribeFunction{book}
% A single-volume book with one or more authors where the authors share credit for
% the work as a whole. In biblatex, this entry type also covers the function
@@ -3478,19 +4462,22 @@ FUNCTION {article}
FUNCTION {book}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
%<natbib> author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.sentence
format.number.series output
new.block
format.edition output
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -3507,6 +4494,7 @@ FUNCTION {book}
}
% \end{macrocode}
+%
% \DescribeFunction{booklet}
% A book-like work without a formal publisher or sponsoring institution. Use the
% field howpublished to supply publishing information in free format, if applicable.
@@ -3522,16 +4510,19 @@ FUNCTION {book}
FUNCTION {booklet}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
%<natbib> author format.key output
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
howpublished output
address.or.location output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -3542,6 +4533,7 @@ FUNCTION {booklet}
}
% \end{macrocode}
+%
% \DescribeFunction{inbook}
% A part of a book which forms a self-contained unit with its own title.
% Note that the profile of this entry type is different from standard BibTeX.
@@ -3558,24 +4550,27 @@ FUNCTION {booklet}
FUNCTION {inbook}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
%<natbib> author format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
-% bookauthor.before
+% bookauthor.head
booktitle "booktitle" output.check
new.slash
- bookauthor.after
- editor.organization.after
+ bookauthor.rest
+ editor.organization.rest
new.block
format.edition output
new.block
format.number.series output
new.sentence
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
new.block
@@ -3592,6 +4587,7 @@ FUNCTION {inbook}
}
% \end{macrocode}
+%
% \DescribeFunction{incollection}
% A contribution to a collection which forms a self-contained unit with a distinct
% author and title. The author refers to the title, the editor to the booktitle,
@@ -3609,19 +4605,22 @@ FUNCTION {inbook}
FUNCTION {incollection}
{
output.bibitem
- author.before
+ output.author.head
+ new.sentence
%<natbib> author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
+ editor.organization.rest
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
@@ -3655,14 +4654,21 @@ FUNCTION {proceedings}
{
output.bibitem
%<natbib> editor format.key output
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- editor.organization.after
+ editor.organization.rest
+ new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
+ format.date "year/date" output.check
new.block
format.bvolume output
format.number.series output
- output.address.publisher
- format.date "year" output.check
+ new.block
+ format.pages.page output
+ %%%output.address.publisher % 1.2k moved upper
new.block
note output
new.sentence
@@ -3673,6 +4679,7 @@ FUNCTION {proceedings}
}
% \end{macrocode}
+%
% \DescribeFunction{inproceedings}
% An article in a conference proceedings. This type is similar to @incollection. It
% supports an optional organization field.
@@ -3688,32 +4695,37 @@ FUNCTION {proceedings}
% \begin{macrocode}
FUNCTION {inproceedings}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
%<natbib> author format.key output
new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
+ output.author.rest
new.dblslash
booktitle "booktitle" output.check
new.slash
- editor.organization.after
- new.block
- format.bvolume output
- format.number.series output
+ editor.organization.rest
new.block
+ output.address.publisher % 1.2k moved from below
+ new.block % added in v.1.2k
% address empty$
% { publisher output
-% format.date "year" output.check
+% format.date "year/date" output.check
% }
% { address output.nonnull
% new.colon
% publisher output
-% format.date "year" output.check
+% format.date "year/date" output.check
% }
% if$
- output.address.publisher
- format.date "year" output.check
+% output.address.publisher % moved upper in v.1.2k
+ format.date "year/date" output.check
+ new.block
+ format.bvolume output
+ format.number.series output
new.block
format.pages.page output
new.block
@@ -3747,11 +4759,13 @@ FUNCTION {manual}
}
if$
}
- { format.authors output.nonnull }
+ { format.author output.nonnull }
if$
%<natbib> author format.key output
new.block
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
author empty$
{ organization empty$
{
@@ -3768,7 +4782,7 @@ FUNCTION {manual}
}
if$
format.edition output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -3795,10 +4809,9 @@ FUNCTION {manual}
FUNCTION {patent}
{
output.bibitem
-% title output.nonnull
title add.media output.nonnull
-% add.blank
-% media enclose.square.brackets output % S.Kruchinin's version
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
format.type.number output
add.blank
@@ -3806,9 +4819,9 @@ FUNCTION {patent}
new.colon
ipc output
new.slash
- format.authors.after "author" output.check
+ format.author "author" output.check
add.blank
- authorcountry enclose.round.brackets output.nonnull
+ authorcountry paranthesify output.nonnull
%<natbib> author format.key output
new.semicolon
holder output.nonnull
@@ -3824,7 +4837,7 @@ FUNCTION {patent}
new.semicolon
format.prioritydate output
prioritynumber output
- prioritycountry enclose.round.brackets output
+ prioritycountry paranthesify output
new.block
note output
new.sentence
@@ -3837,22 +4850,25 @@ FUNCTION {patent}
% \end{macrocode}
% \DescribeFunction{misc}
-% A fallback type for entries which do not fit into any other category. Use the field
-% howpublished to supply publishing information in free format, if applicable. The
-% field type may be useful as well. author, editor, and year are omissible.
+% A fallback type for entries which do not fit into any other category.
+% Use the field howpublished to supply publishing information in free format,
+% if applicable. The field type may be useful as well. |author|, |editor|, and
+% |year| are omissible.
%
% Required fields: author/editor, title, year/date.
% \begin{macrocode}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ %format.author output % < v.1.2k
+ output.author.head % v.1.2k
+ %new.sentence % v.1.2k
%<natbib> author format.key output
title howpublished new.sentence.checkb
- format.title add.media output
+ title add.media output
howpublished new.block.checka
howpublished output
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note output
new.sentence
@@ -3863,6 +4879,7 @@ FUNCTION {misc}
}
% \end{macrocode}
+%
% \DescribeFunction{unpublished}
% A work with an author and a title which has not been formally published, such
% as a manuscript or the script of a talk. Use the fields howpublished and note to
@@ -3875,14 +4892,17 @@ FUNCTION {misc}
% \begin{macrocode}
FUNCTION {unpublished}
{ output.bibitem
- author.before
+ output.author.head
+ new.sentence
%<natbib> author format.key output
- format.btitle "title" output.check
+ title "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.slash
- author.after
- editor.organization.after
+ output.author.rest
+ editor.organization.rest
new.block
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
note "note" output.check
new.sentence
@@ -3893,6 +4913,7 @@ FUNCTION {unpublished}
}
% \end{macrocode}
+%
% \DescribeFunction{online}
% An online resource. Author, editor, and year are omissible.
% This entry type is intended for sources such as web sites which are intrinsically
@@ -3908,15 +4929,17 @@ FUNCTION {unpublished}
% \begin{macrocode}
FUNCTION {online}
{ output.bibitem
- format.authors output
+ format.author output
%<natbib> author format.key output
title howpublished new.sentence.checkb
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
% howpublished new.block.checka
howpublished new.dblslash.checka
%<!strict> howpublished output
-%<strict> howpublished enclose.square.brackets output
- editor.organization.after
+%<strict> howpublished bracketise output
+ editor.organization.rest
new.sentence
new.block
output.address.publisher
@@ -3958,52 +4981,27 @@ FUNCTION {electronic} {online}
%
% \changes{v1.2}{02 Feb 2012}{\texttt{@thesis} entry}
% \begin{macrocode}
-%<*!(modern|strict)>
FUNCTION {thesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
%<natbib> author format.key output
new.sentence
- format.btitle "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-%</!(modern|strict)>
-%<*modern|strict>
-FUNCTION {thesis}
-{ output.bibitem
- format.authors "author" output.check
-%<natbib> author format.key output
- new.sentence
- format.btitle add.doi add.media "title" output.check
new.colon
- %%type "type" output.check
- bbl.phdthesis format.thesis.type output.nonnull
- new.colon
- %%number output % code of the speciality
specialitycode.or.number output % code of the speciality, new in v.1.2i
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours from the head zone
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -4014,8 +5012,6 @@ FUNCTION {thesis}
format.annote output
fin.entry
}
-%</modern|strict>
-
% \end{macrocode}
%
% \DescribeFunction{report}
@@ -4035,20 +5031,20 @@ FUNCTION {thesis}
%FUNCTION {report}
%{
% output.bibitem
-% author.before
+% output.author.head
% new.sentence
-% format.title add.doi add.media "title" output.check
+% title add.doi add.media "title" output.check
% new.colon
%% format.techrep.type.number output.nonnull
% type "type" output.check
% new.slash
-% author.after
-% editor.organization.after
+% output.author.rest
+% editor.organization.rest
% new.block
% address output
% new.colon
% institution "institution" output.check
-% format.date "year" output.check
+% format.date "year/date" output.check
% new.block
% note output
% new.block % v.2
@@ -4062,10 +5058,12 @@ FUNCTION {thesis}
FUNCTION {report}
{
output.bibitem
-% author.before
+% output.author.head
% new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
%<natbib> title format.key output
+ new.colon % added in v.1.2k
+ titleaddon output % added in v.1.2k
new.colon
% format.techrep.type.number output.nonnull
% type "type" output.check
@@ -4077,14 +5075,14 @@ FUNCTION {report}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -4108,35 +5106,12 @@ FUNCTION {report}
% Similar to @thesis except that the type field is optional and defaults to the localized
% term `PhD thesis'. You may still use the type field to override that.
% \begin{macrocode}
-%<*!(modern|strict)>
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.phdthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-%</!(modern|strict)>
-%<*modern|strict>
FUNCTION {phdthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
%<natbib> author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.phdthesis format.thesis.type output.nonnull
new.colon
@@ -4145,13 +5120,14 @@ FUNCTION {phdthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -4162,44 +5138,18 @@ FUNCTION {phdthesis}
format.annote output
fin.entry
}
-%</modern|strict>
-
% \end{macrocode}
% \DescribeFunction{mastersthesis}
% Similar to |@thesis| except that the type field is optional and defaults to the localized
% term `Master's thesis'. You may still use the type field to override that.
% \changes{v1.2i}{29 Dec 2016}{entry \texttt{@MastersThesis} added again (see v1.1)}
% \begin{macrocode}
-%<*!(modern|strict)>
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
-%<natbib> author format.key output
- new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.mathesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-%</!(modern|strict)>
-%<*modern|strict>
FUNCTION {mastersthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
%<natbib> author format.key output
new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.mathesis format.thesis.type output.nonnull
new.colon
@@ -4208,13 +5158,14 @@ FUNCTION {mastersthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicates athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -4225,44 +5176,18 @@ FUNCTION {mastersthesis}
format.annote output
fin.entry
}
-%</modern|strict>
-
% \end{macrocode}
% \DescribeFunction{docthesis}
% Similar to |@thesis| except that the type field is optional and defaults to the localized
% term `Doctor's of sciences thesis'. You may still use the type field to override that.
% \changes{v1.2i}{02 Jan 2017}{\texttt{@dscithesis} entry renamed to \texttt{@docthesis}}
% \begin{macrocode}
-%<*!(modern|strict)>
FUNCTION {docthesis}
{ output.bibitem
- format.authors "author" output.check
+ format.author "author" output.check
%<natbib> author format.key output
new.sentence
- format.btitle "title" output.check
- new.colon
- bbl.docthesis format.thesis.type output.nonnull
- new.slash
- %institution "institution" output.check
- institution.or.school "institution/school" output.check
- new.block
- output.address.publisher.date
- new.block
- format.pages.page output
- note output
- new.sentence
- format.url output
- format.annote output
- fin.entry
-}
-%</!(modern|strict)>
-%<*modern|strict>
-FUNCTION {docthesis}
-{ output.bibitem
- format.authors "author" output.check
-%<natbib> author format.key output
- new.sentence
- format.btitle add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
new.colon
bbl.docthesis format.thesis.type output.nonnull
new.colon
@@ -4271,13 +5196,14 @@ FUNCTION {docthesis}
new.colon
titleaddon output % date of defence and approvement; new in v.1.2i
new.slash
- format.authors.after output
+ %%%format.author.rest output %% dupplicate athours
+ output.author.rest %% prints if num.names$ > 3 or > 1
new.semicolon
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.block
output.address.publisher
- format.date "year" output.check
+ format.date "year/date" output.check
new.block
format.pages.page output
new.block
@@ -4288,8 +5214,6 @@ FUNCTION {docthesis}
format.annote output
fin.entry
}
-%</modern|strict>
-
% \end{macrocode}
% \DescribeFunction{conference}
% \begin{macrocode}
@@ -4305,19 +5229,19 @@ FUNCTION {conference} { inproceedings }
%FUNCTION {techreport}
%{
% output.bibitem
-% author.before
+% output.author.head
% new.sentence
-% format.title add.doi add.media "title" output.check
+% title add.doi add.media "title" output.check
% new.colon
% format.techrep.type.number output.nonnull
% new.slash
-% author.after
-% editor.organization.after
+% output.author.rest
+% editor.organization.rest
% new.block
% address output
% new.colon
% institution "institution" output.check
-% format.date "year" output.check
+% format.date "year/date" output.check
% new.block
% note output
% new.block % v.2
@@ -4332,9 +5256,9 @@ FUNCTION {conference} { inproceedings }
FUNCTION {techreport}
{
output.bibitem
-% author.before
+% output.author.head
% new.sentence
- format.title add.doi add.media "title" output.check
+ title add.doi add.media "title" output.check
%<natbib> title format.key output
new.colon
% format.techrep.type.number output.nonnull
@@ -4348,14 +5272,14 @@ FUNCTION {techreport}
%institution "institution" output.check
institution.or.school "institution/school" output.check
new.semicolon
- format.chief.after output % from editor field
+ format.chief.rest output % from editor field
new.semicolon
- format.executor.after output % from author field
+ format.executor.rest output % from author field
new.block
address.or.location output
new.colon
organization output
- format.date "year" output.check
+ format.date "year/date" output.check
new.block % v.2
format.pages.page output % v.2
new.sentence % или new.block ?
@@ -4400,96 +5324,96 @@ MACRO {dec} {"Dec."}
%
% Borrowed from \file{physjour.mbs} of package \pkg{custom-bib}.
% \begin{macrocode}
-MACRO {aa}{"Astron. \& Astrophys."}
-MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-MACRO {aj} {"Astron. J."}
+MACRO {aa}{"Astron.\ \& Astrophys."}
+MACRO {aasup}{"Astron.\ \& Astrophys.\ Suppl.\ Ser."}
+MACRO {aj} {"Astron.\ J."}
MACRO {aph} {"Acta Phys."}
-MACRO {advp} {"Adv. Phys."}
-MACRO {ajp} {"Amer. J. Phys."}
-MACRO {ajm} {"Amer. J. Math."}
-MACRO {amsci} {"Amer. Sci."}
-MACRO {anofd} {"Ann. Fluid Dyn."}
-MACRO {am} {"Ann. Math."}
-MACRO {ap} {"Ann. Phys. (NY)"}
-MACRO {adp} {"Ann. Phys. (Leipzig)"}
-MACRO {ao} {"Appl. Opt."}
-MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {advp} {"Adv.\ Phys."}
+MACRO {ajp} {"Amer.\ J.\ Phys."}
+MACRO {ajm} {"Amer.\ J.\ Math."}
+MACRO {amsci} {"Amer.\ Sci."}
+MACRO {anofd} {"Ann.\ Fluid Dyn."}
+MACRO {am} {"Ann.\ Math."}
+MACRO {ap} {"Ann.\ Phys.\ (NY)"}
+MACRO {adp} {"Ann.\ Phys.\ (Leipzig)"}
+MACRO {ao} {"Appl.\ Opt."}
+MACRO {apl} {"Appl.\ Phys.\ Lett."}
MACRO {app} {"Astroparticle Phys."}
-MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl."}
-MACRO {apss} {"Astrophys. Space Sci."}
-MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
-MACRO {baas} {"Bull. Amer. Astron. Soc."}
-MACRO {baps} {"Bull. Amer. Phys. Soc."}
-MACRO {cmp} {"Comm. Math. Phys."}
-MACRO {cpam} {"Commun. Pure Appl. Math."}
-MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
-MACRO {cpc} {"Comp. Phys. Comm."}
-MACRO {cqg} {"Class. Quant. Grav."}
-MACRO {cra} {"C. R. Acad. Sci. A"}
-MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {apj} {"Astrophys.\ J."}
+MACRO {apjsup} {"Astrophys.\ J.\ Suppl."}
+MACRO {apss} {"Astrophys.\ Space Sci."}
+MACRO {araa} {"Ann.\ Rev.\ Astron.\ Astrophys."}
+MACRO {baas} {"Bull.\ Amer.\ Astron.\ Soc."}
+MACRO {baps} {"Bull.\ Amer.\ Phys.\ Soc."}
+MACRO {cmp} {"Comm.\ Math.\ Phys."}
+MACRO {cpam} {"Commun.\ Pure Appl.\ Math."}
+MACRO {cppcf} {"Comm.\ Plasma Phys.\ \& Controlled Fusion"}
+MACRO {cpc} {"Comp.\ Phys.\ Comm."}
+MACRO {cqg} {"Class.\ Quant.\ Grav."}
+MACRO {cra} {"C.\ R.\ Acad.\ Sci.\ A"}
+MACRO {fed} {"Fusion Eng.\ \& Design"}
MACRO {ft} {"Fusion Tech."}
-MACRO {grg} {"Gen. Relativ. Gravit."}
-MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
-MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
-MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {grg} {"Gen.\ Relativ.\ Gravit."}
+MACRO {ieeens} {"IEEE Trans.\ Nucl.\ Sci."}
+MACRO {ieeeps} {"IEEE Trans.\ Plasma Sci."}
+MACRO {ijimw} {"Interntl.\ J.\ Infrared \& Millimeter Waves"}
MACRO {ip} {"Infrared Phys."}
MACRO {irp} {"Infrared Phys."}
-MACRO {jap} {"J. Appl. Phys."}
-MACRO {jasa} {"J. Acoust. Soc. America"}
-MACRO {jcp} {"J. Comp. Phys."}
-MACRO {jchp} {"J. Chem. Phys."}
-MACRO {jetp} {"Sov. Phys.--JETP"}
-MACRO {jfe} {"J. Fusion Energy"}
-MACRO {jfm} {"J. Fluid Mech."}
-MACRO {jmp} {"J. Math. Phys."}
-MACRO {jne} {"J. Nucl. Energy"}
-MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
-MACRO {jnm} {"J. Nucl. Mat."}
-MACRO {jpc} {"J. Phys. Chem."}
-MACRO {jpp} {"J. Plasma Phys."}
-MACRO {jpsj} {"J. Phys. Soc. Japan"}
-MACRO {jsi} {"J. Sci. Instrum."}
-MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {jap} {"J.\ Appl.\ Phys."}
+MACRO {jasa} {"J.\ Acoust.\ Soc.\ America"}
+MACRO {jcp} {"J.\ Comp.\ Phys."}
+MACRO {jchp} {"J.\ Chem.\ Phys."}
+MACRO {jetp} {"Sov.\ Phys.--JETP"}
+MACRO {jfe} {"J.\ Fusion Energy"}
+MACRO {jfm} {"J.\ Fluid Mech."}
+MACRO {jmp} {"J.\ Math.\ Phys."}
+MACRO {jne} {"J.\ Nucl.\ Energy"}
+MACRO {jnec} {"J.\ Nucl.\ Energy, C: Plasma Phys., Accelerators, Thermonucl.\ Res."}
+MACRO {jnm} {"J.\ Nucl.\ Mat."}
+MACRO {jpc} {"J.\ Phys.\ Chem."}
+MACRO {jpp} {"J.\ Plasma Phys."}
+MACRO {jpsj} {"J.\ Phys.\ Soc.\ Japan"}
+MACRO {jsi} {"J.\ Sci.\ Instrum."}
+MACRO {jvst} {"J.\ Vac.\ Sci.\ \& Tech."}
MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
-MACRO {nf} {"Nucl. Fusion"}
-MACRO {nim} {"Nucl. Inst. \& Meth."}
-MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
-MACRO {np} {"Nucl. Phys."}
-MACRO {npb} {"Nucl. Phys. B"}
-MACRO {nt/f} {"Nucl. Tech./Fusion"}
-MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {nedf} {"Nucl.\ Eng.\ \& Design/Fusion"}
+MACRO {nf} {"Nucl.\ Fusion"}
+MACRO {nim} {"Nucl.\ Inst.\ \& Meth."}
+MACRO {nimpr} {"Nucl.\ Inst.\ \& Meth.\ in Phys.\ Res."}
+MACRO {np} {"Nucl.\ Phys."}
+MACRO {npb} {"Nucl.\ Phys.\ B"}
+MACRO {nt/f} {"Nucl.\ Tech./Fusion"}
+MACRO {npbpc} {"Nucl.\ Phys.\ B (Proc.\ Suppl.)"}
MACRO {inc} {"Nuovo Cimento"}
MACRO {nc} {"Nuovo Cimento"}
-MACRO {pf} {"Phys. Fluids"}
-MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
-MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
-MACRO {pl} {"Phys. Lett."}
-MACRO {pla} {"Phys. Lett. A"}
-MACRO {plb} {"Phys. Lett. B"}
-MACRO {prep} {"Phys. Rep."}
-MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
-MACRO {pp} {"Phys. Plasmas"}
-MACRO {pop} {"Phys. Plasmas"}
-MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
-MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
-MACRO {prl} {"Phys. Rev. Lett."}
-MACRO {pr} {"Phys. Rev."}
-MACRO {physrev} {"Phys. Rev."}
-MACRO {pra} {"Phys. Rev. A"}
-MACRO {prb} {"Phys. Rev. B"}
-MACRO {prc} {"Phys. Rev. C"}
-MACRO {prd} {"Phys. Rev. D"}
-MACRO {pre} {"Phys. Rev. E"}
-MACRO {ps} {"Phys. Scripta"}
-MACRO {procrsl} {"Proc. Roy. Soc. London"}
-MACRO {rmp} {"Rev. Mod. Phys."}
-MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {pf} {"Phys.\ Fluids"}
+MACRO {pfa} {"Phys.\ Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys.\ Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys.\ Lett."}
+MACRO {pla} {"Phys.\ Lett.\ A"}
+MACRO {plb} {"Phys.\ Lett.\ B"}
+MACRO {prep} {"Phys.\ Rep."}
+MACRO {pnas} {"Proc.\ Nat.\ Acad.\ Sci.\ USA"}
+MACRO {pp} {"Phys.\ Plasmas"}
+MACRO {pop} {"Phys.\ Plasmas"}
+MACRO {ppcf} {"Plasma Phys.\ \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos.\ Trans.\ Roy.\ Soc.\ London"}
+MACRO {prl} {"Phys.\ Rev.\ Lett."}
+MACRO {pr} {"Phys.\ Rev."}
+MACRO {physrev} {"Phys.\ Rev."}
+MACRO {pra} {"Phys.\ Rev.\ A"}
+MACRO {prb} {"Phys.\ Rev.\ B"}
+MACRO {prc} {"Phys.\ Rev.\ C"}
+MACRO {prd} {"Phys.\ Rev.\ D"}
+MACRO {pre} {"Phys.\ Rev.\ E"}
+MACRO {ps} {"Phys.\ Scripta"}
+MACRO {procrsl} {"Proc.\ Roy.\ Soc.\ London"}
+MACRO {rmp} {"Rev.\ Mod.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Inst."}
MACRO {science} {"Science"}
-MACRO {sciam} {"Sci. Am."}
-MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sciam} {"Sci.\ Am."}
+MACRO {sam} {"Stud.\ Appl.\ Math."}
MACRO {st} {"Sky and Telesc."}
% \end{macrocode}
%
@@ -4544,26 +5468,26 @@ MACRO {znat} {"Z. Naturforsch."}
%
% Borrowed from \file{photjour.mbs}.
% \begin{macrocode}
-MACRO {appopt} {"Appl. Opt."}
-MACRO {bell} {"Bell Syst. Tech. J."}
-MACRO {ell} {"Electron. Lett."}
-MACRO {jasp} {"J. Appl. Spectr."}
-MACRO {jqe} {"IEEE J. Quantum Electron."}
-MACRO {jlwt} {"J. Lightwave Technol."}
-MACRO {jmo} {"J. Mod. Opt."}
-MACRO {josa} {"J. Opt. Soc. America"}
-MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
-MACRO {josab} {"J. Opt. Soc. Amer.~B"}
-MACRO {jdp} {"J. Phys. (Paris)"}
-MACRO {oc} {"Opt. Commun."}
-MACRO {ol} {"Opt. Lett."}
-MACRO {os} {"Opt. Spectrosc."}
+MACRO {appopt} {"Appl.\ Opt."}
+MACRO {bell} {"Bell Syst.\ Tech.\ J."}
+MACRO {ell} {"Electron.\ Lett."}
+MACRO {jasp} {"J.\ Appl.\ Spectr."}
+MACRO {jqe} {"IEEE J.\ Quantum Electron."}
+MACRO {jlwt} {"J.\ Lightwave Technol."}
+MACRO {jmo} {"J.\ Mod.\ Opt."}
+MACRO {josa} {"J.\ Opt.\ Soc.\ America"}
+MACRO {josaa} {"J.\ Opt.\ Soc.\ Amer.~A"}
+MACRO {josab} {"J.\ Opt.\ Soc.\ Amer.~B"}
+MACRO {jdp} {"J.\ Phys.\ (Paris)"}
+MACRO {oc} {"Opt.\ Commun."}
+MACRO {ol} {"Opt.\ Lett."}
+MACRO {os} {"Opt.\ Spectrosc."}
MACRO {phtl} {"IEEE Photon. Technol. Lett."}
-MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {pspie} {"Proc.\ Soc.\ Photo-Opt.\ Instrum. Eng."}
MACRO {vr} {"Vision Res."}
-MACRO {zph} {"Z. f. Physik"}
-MACRO {zphb} {"Z. f. Physik~B"}
-MACRO {zphd} {"Z. f. Physik~D"}
+MACRO {zph} {"Z.\ f.\ Physik"}
+MACRO {zphb} {"Z.\ f.\ Physik~B"}
+MACRO {zphd} {"Z.\ f.\ Physik~D"}
% \end{macrocode}
%
% \subsubsection{Physics of condensed Matter}
@@ -4575,20 +5499,20 @@ MACRO {nl} {"Nano Lett."}
% \end{macrocode}
%
% \subsubsection{Soviet and Russian journals}
-% To be extended.
+% \note{To be extended.}
% \begin{macrocode}
-MACRO {sjpp} {"Sov. J. Plasma Phys."}
-MACRO {spd} {"Sov. Phys.--Doklady"}
-MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
-MACRO {spu} {"Sov. Phys.--Uspekhi"}
+MACRO {sjpp} {"Sov.\ J.\ Plasma Phys."}
+MACRO {spd} {"Sov.\ Phys.--Doklady"}
+MACRO {sptp} {"Sov.\ Phys.--Tech. Phys."}
+MACRO {spu} {"Sov.\ Phys.--Uspekhi"}
%<!utf8>MACRO {ufn} {"\CYRU\CYRF\CYRN"}
%<utf8>MACRO {ufn} {"УФН"}
MACRO {pu} {"Phys.--Uspekhi"}
-MACRO {sjot} {"Sov. J. Opt. Technol."}
-MACRO {sjqe} {"Sov. J. Quantum Electron."}
-MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
-MACRO {stph} {"Sov. Phys.--Techn. Phys."}
-MACRO {stphl}{"Sov. Techn. Phys. Lett."}
+MACRO {sjot} {"Sov.\ J.\ Opt.\ Technol."}
+MACRO {sjqe} {"Sov.\ J.\ Quantum Electron."}
+MACRO {sleb} {"Sov.\ Phys.--Leb.\ Inst.\ Rep."}
+MACRO {stph} {"Sov.\ Phys.--Techn.\ Phys."}
+MACRO {stphl}{"Sov.\ Techn.\ Phys.\ Lett."}
% \end{macrocode}
%
% \subsection{Main cycle}
@@ -4605,7 +5529,6 @@ READ
% titles.
% \begin{macrocode}
%<*sort|natbib>
-
% \end{macrocode}
% \DescribeFunction{sortify}
% \begin{macrocode}
@@ -4614,7 +5537,6 @@ FUNCTION {sortify}
%<!utf8> "l" change.case$
}
%</sort|natbib>
-
% \end{macrocode}
% \DescribeFunction{sort.format.names}
% \begin{macrocode}
@@ -4740,8 +5662,8 @@ FUNCTION {author.sort}
% \end{macrocode}
% \DescribeFunction{author.title.sort}
+% The function |author.title.sort| is used in the |presort| function only.
% \begin{macrocode}
-%<*!natbib|natbib>
FUNCTION {author.title.sort}
{ author empty$
{ title empty$
@@ -4763,41 +5685,49 @@ FUNCTION {author.title.sort}
}
if$
}
-%</!natbib|natbib>
-%<*natbib|natbib>
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
+% \end{macrocode}
+%
+% \DescribeFunction{author.editor.sort}
+% \DescribeFunction{author.organization.sort}
+% \DescribeFunction{editor.organization.sort}
+% The function |author.editor.sort|, |author.organization.sort|,
+% |editor.organization.sort| are not currently used. See commented
+% text in function |presort|\#2. \note{WE NEED TO CORRECT THAT!}
+% \begin{macrocode}
+%<*natbib>
+%FUNCTION {author.editor.sort}
+%{ author empty$
+% { editor empty$
+% { key empty$
+% { "to sort, need author, editor, or key in " cite$ * warning$
+% ""
+% }
+% { key sortify }
+% if$
+% }
+% { editor sort.format.names }
+% if$
+% }
+% { author sort.format.names }
+% if$
+%}
+%
+%FUNCTION {author.organization.sort}
+%{ author empty$
+% { organization empty$
+% { key empty$
+% { "to sort, need author, organization, or key in " cite$ * warning$
+% ""
+% }
+% { key sortify }
+% if$
+% }
+% { "The " #4 organization chop.word sortify }
+% if$
+% }
+% { author sort.format.names }
+% if$
+%}
FUNCTION {editor.organization.sort}
{ editor empty$
@@ -4815,13 +5745,15 @@ FUNCTION {editor.organization.sort}
{ editor sort.format.names }
if$
}
-%</natbib|natbib>
-
-
+%</natbib>
% \end{macrocode}
+%
% \DescribeFunction{presort}
% Function to compute |sort.key$|.
% What is the space string \verb*|" "| for?
+% Version \#1 is for `sort` and `!natbib` options.
+% Version \#2 is for `sort` and `natbib` options.
+% Version \#3 is for `!sort` and `natbib` options.
% \begin{macrocode}
%<*!natbib>
FUNCTION {presort}%#1
@@ -5013,7 +5945,7 @@ FUNCTION {reverse.pass}
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
- label extra.label * 'label :=
+ %%%label extra.label * 'label :=
}
REVERSE {reverse.pass}
@@ -5047,20 +5979,10 @@ FUNCTION {begin.bib}
"\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$
"\providecommand{\BibAnnote}[1]{}" write$ newline$
"\providecommand*{\BibEmph}[1]{#1}" write$ newline$
-%<*modern|!modern>
- %"\ProvideTextCommandDefault{\cyrdash}{---}" write$ newline$
- %\DeclareUTFcharacter[\UTFencname]{x2014}{\cyrdash}
- %"\let\cyrdash\textemdash" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$
- %"\ProvideTextCommandDefault{\cyrdash}{\textemdash}" write$ newline$
"\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}{\hbox to.8em{--\hss--}}{\textemdash}}" write$ newline$
- %%"\ProvideTextCommandDefault{\cyrdash}{%" write$ newline$
- %%" \iflanguage{russian}{\hbox to.8em{--\hss--}}{%" write$ newline$
- %%" \iflanguage{ukrainian}{\hbox to.8em{--\hss--}}{\textemdash}}}" write$ newline$
"\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em plus 0.1em\fi" write$ newline$
"\cyrdash\hskip.2em plus 0.1em\ignorespaces}" write$ newline$
"\renewcommand{\newblock}{\ignorespaces}" write$ newline$
-%</modern|!modern>
%<natbib> "\providecommand{\natexlab}[1]{#1}" write$ newline$
preamble$ empty$
'skip$
@@ -5086,12 +6008,12 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
-%</bst>
% \end{macrocode}
%
-% That's all, Folks!
+% \begin{macrocode}
+%</bst>
+% \end{macrocode}
%
-% \PrintChanges
-% \Finale
+%\CheckSum{802}
%
-% \endinput
+%\Finale
diff --git a/Master/texmf-dist/source/bibtex/gost/gost.ins b/Master/texmf-dist/source/bibtex/gost/gost.ins
index e7a41aeab8b..86b29058d46 100644
--- a/Master/texmf-dist/source/bibtex/gost/gost.ins
+++ b/Master/texmf-dist/source/bibtex/gost/gost.ins
@@ -1,81 +1,92 @@
- \input docstrip
-
-\keepsilent
-
-\preamble
-
-This file may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
-This file has the LPPL maintenance status "maintained".
-Maintained by Igor A. Kotelnikov.
-
-Current version: 1.2j, 2017.01.12
-
-Please, send bug report via e-mail:
- kia999 at mail dot ru <Igor Kotelnikov>
-or
- polyama at yahoo dot com <Maksym Polyakov>
-
-\endpreamble
-
-\def\mypostamble{%
- \MetaPrefix ^^J%
- \MetaPrefix\space End of file `\outFileName'.%
- }
-\usepostamble\mypostamble
+%%
+%% This is file `gost.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gost.dtx (with options: `install')
+%% -------------------------------------------------------------------
+%% This file is a part of GOST package, which is a bundle of BibTEX
+%% styles to format bibliographic references according to the State
+%% Standards on information, librarianship and publishing (GOST)
+%% issued by The Russian Federation and Interstate Committee of former
+%% USSR States.
+%%
+%% Current version is 1.2k, 2020.12.25.
+%%
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%%
+%% E-mail: kia999@mail.ru
+%% -------------------------------------------------------------------
+\input docstrip
+\usedir{source/bibtex/gost}
\askonceonly
+\ProvidesFile{gost.ins}[2020/12/25 1.2k Russian support for the Babel system]
\generate{%
-%
-% BST styles that mimics obsoleate version of GOST 7.8.0 for bibliographic *records*
- \file{gost780.bst} {\from{gost.dtx} {bst}}
-%
-% BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*.
+%%
+%% BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*.
\file{gost2003.bst} {\from{gost.dtx} {bst,strict,eprint}}
-%
-% BST styles that mimics GOST 7.0.5-2008 for bibliographic *references*
- \file{gost2008.bst} {\from{gost.dtx} {bst,modern,eprint}}
- \file{gost2008l.bst} {\from{gost.dtx} {bst,modern,eprint,long}}
-%
-% Same style with sorting
- \file{gost780s.bst} {\from{gost.dtx} {bst,sort}}
-%
+%%
+%% BST styles that mimics GOST 7.0.5-2008 for bibliographic *references*
+ \file{gost2008.bst} {\from{gost.dtx} {bst,eprint}}
+ \file{gost2008l.bst} {\from{gost.dtx} {bst,eprint,long}}
+%%
+%% Same styles with sorting
\file{gost2003s.bst} {\from{gost.dtx} {bst,strict,eprint,sort}}
-%
- \file{gost2008s.bst} {\from{gost.dtx} {bst,modern,eprint,sort}}
- \file{gost2008ls.bst} {\from{gost.dtx} {bst,modern,eprint,long,sort}}
-% `
-% -----------------------------------------------------------------------------------------
-% Unicode BST styles that mimics obsolete version of GOST 7.8.0 for bibliographic *records*
-% \file{ugost780.bst} {\from{gost.dtx} {bst,utf8}}
-%
-% Unicode BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*.
+%%
+ \file{gost2008s.bst} {\from{gost.dtx} {bst,eprint,sort}}
+ \file{gost2008ls.bst} {\from{gost.dtx} {bst,eprint,long,sort}}
+%% `
+%% --------------------------------------------------------------------------
+%% Unicode BST styles that mimics GOST 7.1-2003 for bibliographic *catalogs*.
\file{ugost2003.bst} {\from{gost.dtx} {bst,utf8,strict,eprint}}
-%
-% Unicode BST styles that mimics GOST 7.0.5-2008 for bibliographic *references*
- \file{ugost2008.bst} {\from{gost.dtx} {bst,utf8,modern,eprint}}
- \file{ugost2008l.bst} {\from{gost.dtx} {bst,utf8,modern,eprint,long}}
-%
-% Same style with sorting
-% \file{ugost780s.bst} {\from{gost.dtx} {bst,utf8,sort}}
-%
+%%
+%% Unicode BST styles that mimics GOST 7.0.5-2008 for bibliographic *references*
+ \file{ugost2008.bst} {\from{gost.dtx} {bst,utf8,eprint}}
+ \file{ugost2008l.bst} {\from{gost.dtx} {bst,utf8,eprint,long}}
+%%
+%% Same styles with sorting
\file{ugost2003s.bst} {\from{gost.dtx} {bst,utf8,strict,eprint,sort}}
-%
- \file{ugost2008s.bst} {\from{gost.dtx} {bst,utf8,modern,eprint,sort}}
- \file{ugost2008ls.bst} {\from{gost.dtx} {bst,utf8,modern,eprint,longlist,sort}}
-%
-% -----------------------------------------------------------------------------------------
-% Experimental style compatible with natbib package.
-%
- \file{gost2008n.bst} {\from{gost.dtx} {bst,modern,natbib,eprint}}
- \file{gost2008ns.bst} {\from{gost.dtx} {bst,modern,natbib,eprint,sort}}
-%
- \file{ugost2008n.bst} {\from{gost.dtx} {bst,utf8,modern,natbib,eprint}}
- \file{ugost2008ns.bst} {\from{gost.dtx} {bst,utf8,modern,natbib,eprint,sort}}
+%%
+ \file{ugost2008s.bst} {\from{gost.dtx} {bst,utf8,eprint,sort}}
+ \file{ugost2008ls.bst} {\from{gost.dtx} {bst,utf8,eprint,long,sort}}
+%%
+%% --------------------------------------------------------------------------
+%% Experimental styles compatible with natbib package.
+%%
+ \file{gost2008n.bst} {\from{gost.dtx} {bst,natbib,eprint}}
+ \file{gost2008ns.bst} {\from{gost.dtx} {bst,natbib,eprint,sort}}
+%%
+ \file{ugost2008n.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint}}
+ \file{ugost2008ns.bst} {\from{gost.dtx} {bst,utf8,natbib,eprint,sort}}
}
\endbatchfile
+%% -------------------------------------------------------------------
+%% Copyright 2012-2020 Igor A. Kotelnikov.
+%% Copyright 2017 Leonid Sinev.
+%% Version 1.2k*
+%%
+%% Copyright 1996-2005 Maksym Polyakov.
+%% Version 2005.08.12
+%%
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status) by
+%% Igor A. Kotelnikov.
+%%
+%% Current version is 1.2k, 2020.12.25.
+%%
+%% Please, send bug report via e-mail: kia999@mail.ru <Igor Kotelnikov>
+%% -------------------------------------------------------------------
+%% This work consists of the file gost.dtx
+%% and the derived files gost.ins,
+%% gost.pdf,
+%% gost*.bst (8 files),
+%% ugost*.bst (8 files),
+%% README.md.
+%% It also contains a lot of examples (*.tex, *.pdf, *.bib files).
+%% -------------------------------------------------------------------
+%%
+%% End of file `gost.ins'.
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index a97a2e0c370..70e0fd87300 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1561,6 +1561,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`);
'frenchle' => '&POST_rmsymlink',
'ghsystem' => '&POSTghsystem',
'glossaries' => '&POST_do_man',
+ 'gost' => '&POSTgost',
'grotesq' => '&POSTgrotesq',
'grverb' => '&POSTgrverb',
'guide-latex-fr' => '&POST_rmsymlink',
@@ -2873,7 +2874,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex";
'gbt7714' => 'tex -8bit',
'geometry' => 'tex',
'german' => 'tex',
- 'gost' => 'latex', # requires interaction
+ 'gost' => 'latex', # \ProvidesFile
'grabbox' => 'tex',
'graphics-pln' => "env TEXINPUTS=$Master/texmf-dist/source/latex/base: latex",
'grffile' => 'tex',
@@ -6467,6 +6468,11 @@ sub POSTghsystem {
&SYSTEM ("$MV language pictures $dstdir/");
}
+sub POSTgost {
+ print "POST$package - move csf files\n";
+ &mv_with_mkdir ("csf/*", "$DEST/bibtex/csf/$package");
+}
+
sub POSTgrotesq {
print "POST$package - move files\n";
&xchdir ($DEST);