From 57dfe35cc3d712b21fbda8f99ac0eb8995135c52 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 22 Feb 2016 21:27:11 +0000 Subject: gost git-svn-id: svn://tug.org/texlive/trunk@39823 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/bibtex/gost/gost.dtx | 381 +++++++++++++++++++++----- Master/texmf-dist/source/bibtex/gost/gost.ins | 3 +- 2 files changed, 309 insertions(+), 75 deletions(-) (limited to 'Master/texmf-dist/source/bibtex') diff --git a/Master/texmf-dist/source/bibtex/gost/gost.dtx b/Master/texmf-dist/source/bibtex/gost/gost.dtx index a46a1321086..95b9af0a0e9 100644 --- a/Master/texmf-dist/source/bibtex/gost/gost.dtx +++ b/Master/texmf-dist/source/bibtex/gost/gost.dtx @@ -7,8 +7,8 @@ % attempt to format the bibliography according to % GOST R 7.0.5-2008 with some conventional modifications. % -% Copyright 2012 Igor A. Kotelnikov. -% Version 1.2a +% Copyright 2012-2016 Igor A. Kotelnikov. +% Version 1.2d % % Copyright 1996-2005 Maksym Polyakov. % Version 2005.08.12 @@ -19,7 +19,7 @@ % Ukrainian, German, French, Italian languages are % also supported. Default language is English. % -% Book entry should have the numpages field +% Book entry should have the pagetotal field % showing total number of pages. Optional field % url will format URL (using hyperref, if loaded). % @@ -52,7 +52,7 @@ % %<*driver> \ProvidesFile{gost.dtx}% - [2012/08/31 v.1.2a Bibliography styles for GOST R 7.0.5-2008.] + [2016/02/18 v.1.2d Bibliography styles for GOST R 7.0.5-2008.] \documentclass{ltxdoc} @@ -126,8 +126,13 @@ % % \fi % -% \CheckSum{440} +% \CheckSum{508} % +% \changes{v1.2d}{18 Feb 2016}{\cs{bbljan} e.t.c. macros removed} +% \changes{v1.2c}{18 Jan 2015}{langid field added} +% \changes{v1.2c}{18 Jan 2015}{eid field added} +% \changes{v1.2c}{17 Jan 2015}{fix Gost2003: "--- replaced by \cs{BibDash}} +% \changes{v1.2b}{19 Jan 2014}{numpages renamed to pagetotal} % \changes{v1.2a}{31 Aug 2012}{Default for \cs{cyrdash} added} % \changes{v1.2}{20 Feb 2012}{Support for natbib package} % \changes{v1.2}{13 Feb 2012}{Fix bbl.urldate for ukrainian (Andrey Shvajkoy)} @@ -265,7 +270,7 @@ % |gost2008|. % % 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 +% 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 @@ -360,7 +365,7 @@ % (\file{latex} and \file{pdflatex}) if source file is in utf8 encoding. % % \item -% Neither \file{bitex.exe} nor \file{bitex8.exe} provides +% Neither \file{bibtex.exe} nor \file{bibtex8.exe} provides % correct sorting order of unicode text. It means that using % \file{ugost2008s} or \file{ugost2008ns} may produce unexpected result % for documents in \texttt{utf8} encoding. @@ -378,7 +383,7 @@ % % \item % Package |natbib| is required when choosing styles with -% suffix |n| int their names. +% suffix |n| in their names. % % \end{enumerate} % @@ -407,7 +412,7 @@ % 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 +% 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. % @@ -415,13 +420,61 @@ % % \begin{enumerate} % \item -% \href{http://ctan.org/tex-archive/biblio/bibtex/contrib/gost} +% \href{http://mirror.ctan.org/biblio/bibtex/contrib/gost/} % {CTAN:biblio/bibtex/contrib/gost}. % \item % \href{http://ctan.org/pkg/gost} % {CTAN:pkg/gost}. % \end{enumerate} % +% \subsection{What's new in version 1.2d (2015.02.18)} +% +% \begin{enumerate} +% \item +% jan, feb, e.t.c. macros fixed. +% +% \item +% New macro format.month. +% \end{enumerate} +% +% \subsection{What's new in version 1.2c (2015.01.10)} +% +% \begin{enumerate} +% \item +% |langid| field is added. It has same meaning as |language| which is now +% obsolete but is still supported for backward compatibility; |langid| has +% priority over |language|. +% +% \item +% |eid| field is added. It has priority over |pages|. +% +% \item +% The ligature |"---| has been substituted with |\BibDash| for \texttt{.bst} +% styles compiled without |modern| options (\texttt{gost2003.bst} and +% \texttt{gost2003s.bst}). For modern styles this was done in earlier versions. +% +% \item +% Spacing around |\BibDash| has been improved. +% +% \item +% |\BibDash| now typesets short em-dash (|\cyrdahs|) only for |russian| and +% |ukrainian| languages. In earlier versions, it produces short em-dash for +% all languages. +% +% (This feature was removed since it did not work with all engines.) +% +% \end{enumerate} +% +% \subsection{What's new in version 1.2a (2012.08.31)} +% +% \begin{enumerate} +% +% \item +% |\cyrdash| is now defined via |\ProvideTextCommand| rather than +% |\providecommand|. +% +% \end{enumerate} +% % \subsection{What's new in version 1.2 (2012.02.22)} % % \begin{enumerate} @@ -514,11 +567,11 @@ %% The \cite command functions as follows: %% \citet{key} => Jones et al. (1990) %% \citet*{key} => Jones, Baker, and Smith (1990) -%% \citep{key} => (Jones et al., 1990) -%% \citep*{key} => (Jones, Baker, and Smith, 1990) -%% \citep[chap. 2]{key} => (Jones et al., 1990, chap. 2) -%% \citep[e.g.][]{key} => (e.g. Jones et al., 1990) -%% \citep[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 @@ -550,20 +603,22 @@ ENTRY number organization pages + eid % new in v1.2c publisher school series title - medium % new in v.2. + medium % new in v1.2. type volume year language + langid % new in v1.2c booklanguage % \end{macrocode} % Remaining entries are borrowed from biblatex. % \begin{macrocode} - numpages + pagetotal url urldate isbn @@ -631,7 +686,7 @@ FUNCTION {output.nonnull} { ", " * write$ } { output.state after.block = { add.period$ write$ -% " " quote$ "--- " * * write$ +% " \BibDash " write$ %%" " quote$ "--- " * * write$ % since v1.2c % " \BibDash " write$ newline$ "\newblock " write$ @@ -1887,6 +1942,57 @@ FUNCTION {format.title} if$ } +% \end{macrocode} +% \DescribeFunction{format.month} +% New in version 1.2d. This macro reeads month field and translate English names +% of months to Russian if current language is Russian. +% \begin{macrocode} +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\cyn\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$ +} % \end{macrocode} % \DescribeFunction{format.date} % \begin{macrocode} @@ -1895,14 +2001,14 @@ FUNCTION {format.date} { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ - month + format.month } if$ } { month empty$ 'year -% { year ". " quote$ "--- " month * * * * } -% { year ". \BibDash " month * * } +% { year ". \BibDash " format.month * * }%%{ year ". " quote$ "--- " month * * * * } +% { year ". \BibDash " format.month * * } if$ } if$ @@ -1992,20 +2098,39 @@ FUNCTION {output.address.publisher.date} % \DescribeFunction{output.bibitem} % \begin{macrocode} %<*!natbib> +%%FUNCTION {output.bibitem} +%%{ newline$ +%% "\bibitem" write$ +%% cite$ bracify write$ +%% newline$ +%% language empty$ +%% { "english" 'curlanguage := } +%% { language 'curlanguage := } +%% if$ +%% "\selectlanguageifdefined" curlanguage bracify * write$ +%% newline$ +%% "" +%% before.all 'output.state := +%%} FUNCTION {output.bibitem} { newline$ "\bibitem" write$ cite$ bracify write$ newline$ - language empty$ - { "english" 'curlanguage := } - { language 'curlanguage := } + langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } if$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ "" before.all 'output.state := } + % % \end{macrocode} % \DescribeFunction{format.full.names} @@ -2110,9 +2235,17 @@ FUNCTION {output.bibitem} "]{" * write$ cite$ write$ "}" write$ - language empty$ - { "english" 'curlanguage := } - {language 'curlanguage := } +%% language empty$ +%% { "english" 'curlanguage := } +%% {language 'curlanguage := } +%% if$ + langid empty$ + { language empty$ + { "english" 'curlanguage := } + { language 'curlanguage := } + if$ + } + { langid 'curlanguage := } if$ "\selectlanguageifdefined" curlanguage bracify * write$ newline$ @@ -2391,12 +2524,31 @@ FUNCTION {multi.page.check} % \end{macrocode} % \DescribeFunction{format.pages} % \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} -{ pages empty$ - { "" } - { pages multi.page.check - { bbl.ppages pages n.dashify tie.connect } - { bbl.ppage pages tie.connect } +{ 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$ @@ -2405,13 +2557,27 @@ FUNCTION {format.pages} % \end{macrocode} % \DescribeFunction{format.pages.page} % \begin{macrocode} +%%FUNCTION {format.pages.page} +%%{ pages empty$ +%% { pagetotal empty$ +%% { "" } +%% { pagetotal bbl.pages tie.connect } +%% if$} +%% { format.pages} +%% if$ +%%} FUNCTION {format.pages.page} -{ pages empty$ - { numpages empty$ - { "" } - { numpages bbl.pages tie.connect } - if$} - { format.pages} +{ eid empty$ + { pages empty$ + { pagetotal empty$ + { "" } + { pagetotal bbl.pages tie.connect } + if$ + } + { format.pages} + if$ + } + { format.pages } if$ } @@ -2792,7 +2958,7 @@ FUNCTION {add.medium} % information: |eprint|, |eprinttype|, and |eprintclass|. The |eprint| field % is a verbatim field similar to |doi| which holds the identifier of the item. % The |eprinttype| field holds the resource name, i. e., the name of the -% site or electronic archive. The optional |eprintclass| field is intended +% site or electronic archive. Optional |eprintclass| field is intended % for additional information specific to the resource indicated by the % |eprinttype| field. This could be a section, a path, classification % information, etc. If the |eprinttype| field is available, the standard styles @@ -3788,30 +3954,29 @@ FUNCTION {default.type} { misc } % \end{macrocode} % % \subsection{Month Abbreviations} -% -% \begin{macrocode} -MACRO {jan} {"\bbljan{}"} -MACRO {feb} {"\bblfeb{}"} -MACRO {mar} {"\bblmar{}"} -MACRO {apr} {"\bblapr{}"} -MACRO {may} {"\bblmay{}"} -MACRO {jun} {"\bbljun{}"} -MACRO {jul} {"\bbljul{}"} -MACRO {aug} {"\bblaug{}"} -MACRO {sep} {"\bblsep{}"} -MACRO {oct} {"\bbloct{}"} -MACRO {nov} {"\bblnov{}"} -MACRO {dec} {"\bbldec{}"} - +% Borrowed from \file{merlin.mbs} of package \pkg{custom-bib}. This is done for +% backward compatibility with standard .bst styles which are designed for English. +% The string in the definition of any month macro must coincide with that used in +% |format.month| function in the above. +% \begin{macrocode} +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."} % \end{macrocode} % % \subsection{Journal Abbreviations} % -% \begin{macrocode} - -% \end{macrocode} -% \subsection{Journal abbreviations} % \subsubsection{Physics and astronomy} +% % Borrowed from \file{physjour.mbs} of package \pkg{custom-bib}. % \begin{macrocode} MACRO {aa}{"Astron. \& Astrophys."} @@ -3886,6 +4051,7 @@ 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."} @@ -3903,12 +4069,54 @@ MACRO {rsi} {"Rev. Sci. Inst."} MACRO {science} {"Science"} MACRO {sciam} {"Sci. Am."} MACRO {sam} {"Stud. Appl. Math."} -MACRO {sjpp} {"Sov. J. Plasma Phys."} -MACRO {spd} {"Sov. Phys.--Doklady"} -MACRO {sptp} {"Sov. Phys.--Tech. Phys."} -MACRO {spu} {"Sov. Phys.--Uspekhi"} MACRO {st} {"Sky and Telesc."} - +% \end{macrocode} +% +% \subsubsection{Supplementary Journal Names} +% +% Borrowed from \file{suppjour.mbs} of package \pkg{custom-bib}. +% \begin{macrocode} +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."} % \end{macrocode} % % \subsubsection{Optics} @@ -3931,11 +4139,6 @@ MACRO {ol} {"Opt. Lett."} MACRO {os} {"Opt. Spectrosc."} MACRO {phtl} {"IEEE Photon. Technol. Lett."} MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} -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 {vr} {"Vision Res."} MACRO {zph} {"Z. f. Physik"} MACRO {zphb} {"Z. f. Physik~B"} @@ -3947,8 +4150,29 @@ MACRO {zphd} {"Z. f. Physik~D"} % \begin{macrocode} MACRO {sse} {"Solid-State Electron."} MACRO {pss} {"Phys. Sol. State"} -MACRO {sst} {"Semicond. Sci. Tech."} MACRO {nl} {"Nano Lett."} +% \end{macrocode} +% +% \subsubsection{Soviet and Russian journals} +% 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 {ufn} {"\CYRU\CYRF\CYRN"} +%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."} +% \end{macrocode} +% +% \subsection{Main cycle} +% +% \begin{macrocode} READ @@ -4398,11 +4622,20 @@ FUNCTION {begin.bib} "\providecommand*{\BibUrl}[1]{\url{#1}}" write$ newline$ "\providecommand{\BibAnnote}[1]{}" write$ newline$ "\providecommand*{\BibEmph}[1]{#1}" write$ newline$ -%<*modern> - "\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}" write$ newline$ - "\providecommand*{\BibDash}{\ifdim\lastskip>0pt\unskip\nobreak\hskip.2em\fi" write$ newline$ - "\cyrdash\hskip.2em\ignorespaces}" 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$ +% % "\providecommand{\natexlab}[1]{#1}" write$ newline$ preamble$ empty$ 'skip$ diff --git a/Master/texmf-dist/source/bibtex/gost/gost.ins b/Master/texmf-dist/source/bibtex/gost/gost.ins index 7abb758d26d..2bbac658937 100644 --- a/Master/texmf-dist/source/bibtex/gost/gost.ins +++ b/Master/texmf-dist/source/bibtex/gost/gost.ins @@ -14,7 +14,8 @@ version 2005/12/01 or later. This file has the LPPL maintenance status "maintained". Maintained by Igor A. Kotelnikov. -Current version: 2012.02.02 + +Current version: 1.2d, 2016.02.18 Please, send bug report via e-mail: kia999 at mail dot ru -- cgit v1.2.3