From 0933010f07bbf3805ec52e45f375a1f785c44502 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 18 Sep 2016 21:07:05 +0000 Subject: biblatex-gost (18sep16) git-svn-id: svn://tug.org/texlive/trunk@42096 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-gost/biblatex-gost.def | 52 ++-- .../latex/biblatex-gost/gost-alphabetic-min.bbx | 2 +- .../latex/biblatex-gost/gost-alphabetic-min.cbx | 2 +- .../tex/latex/biblatex-gost/gost-alphabetic.bbx | 2 +- .../tex/latex/biblatex-gost/gost-alphabetic.cbx | 2 +- .../latex/biblatex-gost/gost-authoryear-min.bbx | 2 +- .../latex/biblatex-gost/gost-authoryear-min.cbx | 2 +- .../tex/latex/biblatex-gost/gost-authoryear.bbx | 292 ++++++++++----------- .../tex/latex/biblatex-gost/gost-authoryear.cbx | 99 ++++--- .../tex/latex/biblatex-gost/gost-footnote-min.bbx | 2 +- .../tex/latex/biblatex-gost/gost-footnote-min.cbx | 2 +- .../tex/latex/biblatex-gost/gost-footnote.bbx | 2 +- .../tex/latex/biblatex-gost/gost-footnote.cbx | 2 +- .../tex/latex/biblatex-gost/gost-inline-min.bbx | 2 +- .../tex/latex/biblatex-gost/gost-inline-min.cbx | 2 +- .../tex/latex/biblatex-gost/gost-inline.bbx | 9 +- .../tex/latex/biblatex-gost/gost-inline.cbx | 2 +- .../tex/latex/biblatex-gost/gost-numeric-min.bbx | 2 +- .../tex/latex/biblatex-gost/gost-numeric-min.cbx | 2 +- .../tex/latex/biblatex-gost/gost-numeric.bbx | 2 +- .../tex/latex/biblatex-gost/gost-numeric.cbx | 2 +- .../tex/latex/biblatex-gost/gost-standard.bbx | 118 +++++++-- .../tex/latex/biblatex-gost/russian-gost.lbx | 10 +- 23 files changed, 348 insertions(+), 266 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/biblatex-gost.def b/Master/texmf-dist/tex/latex/biblatex-gost/biblatex-gost.def index 53fe5745eea..e4ddb01d795 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/biblatex-gost.def +++ b/Master/texmf-dist/tex/latex/biblatex-gost/biblatex-gost.def @@ -1,5 +1,5 @@ \ProvidesFile{biblatex-gost.def} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] % these declarations should be here, not in lbx, to be initialized for all languages \NewBibliographyString{ @@ -115,10 +115,10 @@ } \sort{ \field{heading} - \name{sortname} - \name{author} - \name{editor} - \name{translator} + \field{sortname} + \field{author} + \field{editor} + \field{translator} \field{sorttitle} \field{maintitle} \field{title} @@ -160,10 +160,10 @@ } \sort{ \field{heading} - \name{sortname} - \name{author} - \name{editor} - \name{translator} + \field{sortname} + \field{author} + \field{editor} + \field{translator} \field{sorttitle} \field{maintitle} \field{title} @@ -212,10 +212,10 @@ \literal{9999} } \sort{ - \name{sortname} - \name{author} - \name{editor} - \name{translator} + \field{sortname} + \field{author} + \field{editor} + \field{translator} \field{sorttitle} \field{maintitle} \field{title} @@ -243,10 +243,10 @@ \literal{9999} } \sort{ - \name{sortname} - \name{author} - \name{editor} - \name{translator} + \field{sortname} + \field{author} + \field{editor} + \field{translator} \field{sorttitle} \field{maintitle} \field{title} @@ -267,10 +267,10 @@ } \sort{ \field{heading} - \name{sortname} - \name{author} - \name{editor} - \name{translator} + \field{sortname} + \field{author} + \field{editor} + \field{translator} \field{sorttitle} \field{maintitle} \field{title} @@ -312,10 +312,10 @@ } \sort{ \field{heading} - \name{sortname} - \name{author} - \name{editor} - \name{translator} + \field{sortname} + \field{author} + \field{editor} + \field{translator} \field{sorttitle} \field{maintitle} \field{title} @@ -596,7 +596,7 @@ {\setunit*{\addcolon\space}}% \printlist{publisher}% \setunit*{\addcomma\space}% - \printdate}}} + \usebibmacro{date}}}} \renewbibmacro*{related:multivolume}[1]{% \entrydata*{#1}{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.bbx index f5635ea6aea..c64d29f7ad7 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-alphabetic-min.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-alphabetic} \AtEveryBibitem{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.cbx index f5ef8f5f26c..cc5462e5644 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic-min.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-alphabetic-min.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{gost-alphabetic} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.bbx index bceb2a5e0ec..cbc74cbe3bb 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-alphabetic.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-standard} \ExecuteBibliographyOptions{labelalpha,sorting=anyvt} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.cbx index 2116ab1006e..95964ea502a 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-alphabetic.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-alphabetic.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{alphabetic} \ExecuteBibliographyOptions{labelalpha,autocite=inline} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.bbx index fc5311bbc53..cdb62e8f490 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-authoryear-min.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-authoryear} \AtEveryBibitem{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.cbx index 4c4258bca53..24d1f609372 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear-min.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-authoryear-min.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{gost-authoryear} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.bbx index a7b97745054..bb70dc54818 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.bbx @@ -1,8 +1,13 @@ \ProvidesFile{gost-authoryear.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-standard} +\DeclareBibliographyOption{dropdates}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{singletitle=true,uniquebaretitle=true}} + {\ExecuteBibliographyOptions{singletitle=false,uniquebaretitle=false}}} + \DeclareBibliographyOption{mergedate}[true]{% \ifcsdef{bbx@opt@mergedate@#1} {\csuse{bbx@opt@mergedate@#1}} @@ -11,175 +16,156 @@ {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak 'goststrict', 'gostletter', 'gostlabel', 'true' (=compact), and 'false'.}}} -\providebibmacro*{date+extrayear}{} +% whether the date is necessary for disambiguation +\newcommand*{\blx@gost@ifneedsdate}[2]{% + \ifnameundef{labelname} + {\ifuniquebaretitle{#2}{#1}} + {\ifsingletitle{#2}{#1}}} + +\providebibmacro*{labelyear+extrayear}{} \providebibmacro*{authoryearlabel}{} -\newbibmacro*{cite:date+extras}[1]{% - \ifsingletitle - {} - {\iffieldundef{year} - {} - {\printtext[#1]{% - \printdate% - \usebibmacro{cite:extras}}}}} \newbibmacro*{cite:extras}{% \ifnameundef{labelname}% if there is labelname, extrayear disambiguation is enough - {\printfield{extratitleyear}} + {\printfield{extratitleyear}} % if labeltitle+labelyear are the same {\printfield{extrayear}}} \providebibmacro*{labeltitle}{} \newlength{\labelauthoryearsep} +% label isn't taken into account since labeltitle is always provided +\newbibmacro*{labeltitle:common}{% + \blx@gost@ifneedsdate + {\printfield[title]{labeltitle}% + \clearfield{\thefield{labeltitlesource}}} + {}} + \def\bbx@opt@mergedate@true{\bbx@opt@mergedate@compact} \def\bbx@opt@mergedate@maximum{% - \renewbibmacro*{date+extrayear}{% - \ifsingletitle - {} - {\iffieldundef{year} + \renewbibmacro*{labelyear+extrayear}{% + \blx@gost@ifneedsdate + {\iffieldundef{labelyear} {} {\printtext[parens]{% - \ifentrytype{article} - {\printfield{issue}% - \setunit*{\addspace}} - {}% - \usebibmacro{cite:date+extras}{}% - \clearfield{month}% - \clearfield{day}}}}}% + % \ifentrytype{article} + % {\printfield{issue}% + % \clearfield{issue}% + % \setunit*{\addspace}} + % {}% + \usebibmacro{cite:labelyear+extras}{}% + \clearfield{\thefield{labeldatesource}month}% + \clearfield{\thefield{labeldatesource}day}}}} + {}}% %\renewcommand*{\labelnamepunct}{\newunitpunct} - \renewbibmacro*{jour:volume+parts+issuetitle}{% - \printfield{volume}% - \setunit*{\addcomma\space}% - \printfield{number}% - \iffieldundef{issuetitle} - {} - {\setunit{\addcolon\space}% - \printfield{issuetitle}}}% - \renewbibmacro*{date}{\ifsingletitle{\printdate}{}}% - \renewbibmacro*{year}{\ifsingletitle{\printfield{year}}{}}% + \renewbibmacro*{date}{\blx@gost@ifneedsdate{}{\usebibmacro{printdate}{}}}% + \renewbibmacro*{year}{\blx@gost@ifneedsdate{}{\usebibmacro{printyear}{}}}% \renewbibmacro*{jour:date}{% - \ifsingletitle + \blx@gost@ifneedsdate + {} {\usebibmacro{year}% \newunit\newblock - \mkbibdatelong{}{month}{day}} - {}}% - \renewbibmacro*{labeltitle}{% - \iffieldundef{label} - {\ifsingletitle - {} - {\iffieldundef{shorttitle} - {\iffieldundef{maintitle} - {\printfield{title}} - {\printfield[title]{maintitle}}}% - {\printfield[title]{shorttitle}}}} - {\printfield{label}}} + \mkbibdatelong{}{month}{day}}}% + \renewbibmacro*{labeltitle}{\usebibmacro{labeltitle:common}}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@compact{% - \renewbibmacro*{date+extrayear}{% - \usebibmacro{cite:date+extras}{parens}}% + \renewbibmacro*{labelyear+extrayear}{% + \blx@gost@ifneedsdate{\usebibmacro{cite:labelyear+extras}{parens}}{}}% %\renewcommand*{\labelnamepunct}{\newunitpunct} - \renewbibmacro*{date}{\ifsingletitle{\printdate}{}}% - \renewbibmacro*{year}{\ifsingletitle{\printfield{year}}{}}% + \renewbibmacro*{date}{\blx@gost@ifneedsdate{}{\usebibmacro{printdate}{}}}% + \renewbibmacro*{year}{\blx@gost@ifneedsdate{}{\usebibmacro{printyear}{}}}% \renewbibmacro*{jour:date}{% - \ifsingletitle + \blx@gost@ifneedsdate + {} {\usebibmacro{year}% \newunit\newblock - \mkbibdatelong{}{month}{day}} - {}}% - \renewbibmacro*{labeltitle}{% - \iffieldundef{label} - {\ifsingletitle - {} - {\iffieldundef{shorttitle} - {\iffieldundef{maintitle} - {\printfield{title}} - {\printfield[title]{maintitle}}}% - {\printfield[title]{shorttitle}}}} - {\printfield{label}}} + \mkbibdatelong{}{month}{day}}}% + \renewbibmacro*{labeltitle}{\usebibmacro{labeltitle:common}}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@basic{% - \renewbibmacro*{date+extrayear}{% - \usebibmacro{cite:labelyear+extras}{parens}}% + \renewbibmacro*{labelyear+extrayear}{% + \blx@gost@ifneedsdate{\usebibmacro{cite:labelyear+extras}{parens}}{}}% %\renewcommand*{\labelnamepunct}{\newunitpunct} \renewbibmacro*{date}{% - \ifsingletitle - {\printdate} - {\iffieldundef{month} + \blx@gost@ifneedsdate + {\ifthenelse{\(\iffieldundef{extrayear}\AND\iffieldundef{extratitleyear}\) + \AND\iffieldundef{month}} %if date is simply year {} - {\printdate}}}% - \renewbibmacro*{year}{\printfield{year}}% - \renewbibmacro*{labeltitle}{% - \iffieldundef{label} - {\ifsingletitle - {} - {\iffieldundef{shorttitle} - {\iffieldundef{maintitle} - {\printfield{title}} - {\printfield[title]{maintitle}}}% - {\printfield[title]{shorttitle}}}} - {\printfield{label}}} + {\usebibmacro{printdate}{}}} + {\usebibmacro{printdate}{}}}% + \renewbibmacro*{year}{% + \blx@gost@ifneedsdate + {\ifthenelse{\iffieldundef{extrayear}\AND\iffieldundef{extratitleyear}} + {} + {\usebibmacro{printyear}{}}} + {\usebibmacro{printyear}{}}}% + \renewbibmacro*{jour:date}{% + \blx@gost@ifneedsdate + {\ifthenelse{\(\iffieldundef{extrayear}\AND\iffieldundef{extratitleyear}\) + \AND\iffieldundef{month}} %if date is simply year + {} + {\usebibmacro{year}% + \newunit\newblock + \mkbibdatelong{}{month}{day}}}% + {\usebibmacro{year}% + \newunit\newblock + \mkbibdatelong{}{month}{day}}}% + \renewbibmacro*{labeltitle}{\usebibmacro{labeltitle:common}}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@minimum{% - \renewbibmacro*{date+extrayear}{% - \usebibmacro{cite:labelyear+extras}{parens}}% + \renewbibmacro*{labelyear+extrayear}{% + \blx@gost@ifneedsdate{\usebibmacro{cite:labelyear+extras}{parens}}{}}% %\renewcommand*{\labelnamepunct}{\newunitpunct} \renewbibmacro*{date}{% - \ifsingletitle - {\printdate} - {\ifboolexpr{ - test {\iffieldundef{month}} - and - test {\iffieldundef{extrayear}} - } - {} - {\printdate}}}% - \renewbibmacro*{year}{\printfield{year}}% - \renewbibmacro*{labeltitle}{% - \iffieldundef{label} - {\ifsingletitle - {} - {\iffieldundef{shorttitle} - {\iffieldundef{maintitle} - {\printfield{title}} - {\printfield[title]{maintitle}}}% - {\printfield[title]{shorttitle}}}} - {\printfield{label}}} + \blx@gost@ifneedsdate + {\ifthenelse{\iffieldundef{extrayear}\AND\iffieldundef{extratitleyear}} + {} + {\usebibmacro{printdate}{}}} + {\usebibmacro{printdate}{}}}% + \renewbibmacro*{year}{% + \blx@gost@ifneedsdate + {\ifthenelse{\iffieldundef{extrayear}\AND\iffieldundef{extratitleyear}} + {} + {\usebibmacro{printyear}{}}} + {\usebibmacro{printyear}{}}}% + \renewbibmacro*{jour:date}{% + \blx@gost@ifneedsdate + {\ifthenelse{\iffieldundef{extrayear}\AND\iffieldundef{extratitleyear}} + {} + {\usebibmacro{year}% + \newunit\newblock + \mkbibdatelong{}{month}{day}}}% + {\usebibmacro{year}% + \newunit\newblock + \mkbibdatelong{}{month}{day}}}% + \renewbibmacro*{labeltitle}{\usebibmacro{labeltitle:common}}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@false{% - \renewbibmacro*{date+extrayear}{% - \usebibmacro{cite:labelyear+extras}{parens}}% + \renewbibmacro*{labelyear+extrayear}{% + \blx@gost@ifneedsdate{\usebibmacro{cite:labelyear+extras}{parens}}{}}% %\renewcommand*{\labelnamepunct}{\newunitpunct} - \renewbibmacro*{date}{\printdate}% - \renewbibmacro*{year}{\printfield{year}}% - \renewbibmacro*{labeltitle}{% - \iffieldundef{label} - {\ifsingletitle - {} - {\iffieldundef{shorttitle} - {\iffieldundef{maintitle} - {\printfield{title}} - {\printfield[title]{maintitle}}}% - {\printfield[title]{shorttitle}}}} - {\printfield{label}}} + \renewbibmacro*{date}{\usebibmacro{printdate}{}}% + \renewbibmacro*{year}{\usebibmacro{printyear}{}}% + \renewbibmacro*{labeltitle}{\usebibmacro{labeltitle:common}}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@goststrict{% - \renewbibmacro*{date+extrayear}{}% - \renewbibmacro*{date}{\printdate}% - \renewbibmacro*{year}{\printfield{year}}% + \renewbibmacro*{labelyear+extrayear}{}% + \renewbibmacro*{date}{\usebibmacro{printdate}{}}% + \renewbibmacro*{year}{\usebibmacro{printyear}{}}% \renewbibmacro*{labeltitle}{}% \DeclareFieldFormat{extrayear}{% \PackageWarning{biblatex-gost}{% @@ -187,50 +173,64 @@ \DeclareFieldFormat{extratitleyear}{% \PackageWarning{biblatex-gost}{% Citation \thefield{entrykey} is not unique}}% - \ExecuteBibliographyOptions{singletitle}% + \ExecuteBibliographyOptions{singletitle,uniquebaretitle}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@gostletter{% - \renewbibmacro*{date+extrayear}{}% - \renewbibmacro*{date}{\printdate\usebibmacro{cite:extras}}% - \renewbibmacro*{year}{\printfield{year}\usebibmacro{cite:extras}}% + \renewbibmacro*{labelyear+extrayear}{}% + \renewbibmacro*{date}{\usebibmacro{printdate}{}\usebibmacro{cite:extras}}% + \renewbibmacro*{year}{\usebibmacro{printyear}{}\usebibmacro{cite:extras}}% \renewbibmacro*{labeltitle}{}% \renewbibmacro*{authoryearlabel}{}% \setlength{\labelauthoryearsep}{0pt}% } \def\bbx@opt@mergedate@gostlabel{% - \renewbibmacro*{date+extrayear}{}% - \renewbibmacro*{date}{\printdate}% - \renewbibmacro*{year}{\printfield{year}}% + \renewbibmacro*{labelyear+extrayear}{}% + \renewbibmacro*{date}{\usebibmacro{printdate}{}}% + \renewbibmacro*{year}{\usebibmacro{printyear}{}}% \renewbibmacro*{labeltitle}{}% \renewbibmacro*{heading}{}% \renewbibmacro*{authoryearlabel}{% \mkbibbrackets{% - \iffieldundef{heading} - {\iffieldundef{shorthand} - {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} - {\ifnameundef{labelname} - {\usebibmacro{cite:label+volume+parts}{}% - \setunit{\nameyeardelim}% - \usebibmacro{cite:labelyear+extras}{}} - {\usebibmacro{cite:labelname+volume+parts}{}}} - {\usebibmacro{cite:labelname+volume+parts}{}% - \setunit{\nameyeardelim}% - \usebibmacro{cite:labelyear+extras}{}}} - {\printfield{shorthand}}} - {\usebibmacro{cite:heading}{}}}}% + \iffieldundef{shorthand} + {\iffieldundef{heading} + {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} + {\ifnameundef{labelname} + {% no labelname + \iffieldundef{label} + {% no label, so print labeltitle (always present) + \blx@gost@ifneedsdate + {\printfield[citetitle]{labeltitle} + \setunit{\nameyeardelim}% + \usebibmacro{cite:labelyear+extras}{}} + {\printfield[citetitle]{labeltitle}}} + {% label exists, print it + \usebibmacro{cite:label+volume+parts}}}% + {% labelname, no labelyear + \usebibmacro{cite:labelname+volume+parts}{}}}% + {% both labelname, labelyear exist + \blx@gost@ifneedsdate + {\usebibmacro{cite:labelname+volume+parts}{}% + \setunit{\nameyeardelim}% + \usebibmacro{cite:labelyear+extras}{}}% + {\usebibmacro{cite:labelname+volume+parts}{}}}} + {\usebibmacro{cite:heading}{bibhyperref}% + % \iffieldundef{labelyear} + % {} + % {\setunit{\nameyeardelim}% + % \usebibmacro{cite:labelyear+extras}{bibhyperref}} + }}% + {\usebibmacro{cite:shorthand}}}}% \setlength{\biblabelsep}{.5em}% \setlength{\labelauthoryearsep}{\biblabelsep}% } -\@ifpackagelater{biblatex}{2016/05/11} % biblatex 3.5+ - {\ExecuteBibliographyOptions{labeldateparts,labeltitleyear,sorting=nyt,pagetracker,mergedate=gostletter, - bibisbn,biburl,bibdoi,bibeprint}} - {\ExecuteBibliographyOptions{labeldate,labeltitleyear,sorting=nyt,pagetracker,mergedate=gostletter, - bibisbn,biburl,bibdoi,bibeprint}} +\ExecuteBibliographyOptions{labeldateparts,labeltitleyear,sorting=nyt,pagetracker, + mergedate=gostletter,dropdates=false, + bibisbn,biburl,bibdoi,bibeprint} \DeclareFieldFormat{shorthandwidth}{#1} \setlength{\bibitemsep}{0pt} @@ -277,7 +277,7 @@ {\global\undef\bbx@lasthash% \usebibmacro{labeltitle}% \setunit*{\addspace}}% - \usebibmacro{date+extrayear}} + \usebibmacro{labelyear+extrayear}} \renewbibmacro*{editor}{% @@ -301,7 +301,7 @@ {\global\undef\bbx@lasthash% \usebibmacro{labeltitle}% \setunit*{\addspace}}% - \usebibmacro{date+extrayear}} + \usebibmacro{labelyear+extrayear}} \renewbibmacro*{translator}{% \usebibmacro{bbx:translator}{translatorstrg}} @@ -324,7 +324,7 @@ {\global\undef\bbx@lasthash% \usebibmacro{labeltitle}% \setunit*{\addspace}}% - \usebibmacro{date+extrayear}} + \usebibmacro{labelyear+extrayear}} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.cbx index c5dc01c5688..bc59cf32bca 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-authoryear.cbx @@ -1,21 +1,17 @@ \ProvidesFile{gost-authoryear.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] - -\@ifpackagelater{biblatex}{2016/05/11} % biblatex 3.5+ - {\ExecuteBibliographyOptions{dashed=false,citetracker=constrict,loccittracker=constrict, - singletitle=false,labeldateparts,labeltitleyear,uniquename=init, - uniquelist,ibidtracker=constrict,pagetracker,sortcites,autocite=inline, - citeisbn,citeurl,citedoi,citeeprint}} - {\ExecuteBibliographyOptions{dashed=false,citetracker=constrict,loccittracker=constrict, - singletitle=false,labeldate,labeltitleyear,uniquename=init, - uniquelist,ibidtracker=constrict,pagetracker,sortcites,autocite=inline, - citeisbn,citeurl,citedoi,citeeprint}} +[2016/09/18\space v1.10\space biblatex-gost styles] + +\ExecuteBibliographyOptions{dashed=false,citetracker=constrict,loccittracker=constrict, + dropdates=false, + labeldateparts,labeltitleyear,uniquename=init, + uniquelist,ibidtracker=constrict,pagetracker,sortcites,autocite=inline, + citeisbn,citeurl,citedoi,citeeprint} \providecommand*{\mkibid}[1]{#1} \renewcommand*{\iffinalcitedelim}{% \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} -\newbool{cbx:parens} -\newbool{cbx:loccit} +\newbool{cbx:gost:parens} +\newbool{cbx:gost:loccit} \DeclareBibliographyOption{ibidpage}[true]{% \ifstrequal{#1}{true} @@ -28,16 +24,13 @@ \newcommand{\mkbibbracketssentence}[1]{\bibsentence\mkbibbrackets{#1}\midsentence} \DeclareFieldFormat*{citetitle}{\mkbibemph{#1}} -\DeclareFieldFormat{extratitleyear}{% - \iffieldnum{labelyear} - {\mknumalph{#1}} - {\printtext{(\mknumalph{#1})}}} +\DeclareFieldFormat{extratitleyear}{\mknumalph{#1}} \DeclareFieldFormat{citeheading}{#1} \newbibmacro*{cite:init}{% - \global\boolfalse{cbx:loccit}% + \global\boolfalse{cbx:gost:loccit}% \ifnumless{\value{multicitecount}}{2} - {\global\boolfalse{cbx:parens}% + {\global\boolfalse{cbx:gost:parens}% \global\undef\cbx@lasthash \global\undef\cbx@lastyear} {\iffieldundef{prenote} @@ -56,12 +49,22 @@ {\iffieldundef{heading} {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} {\ifnameundef{labelname} - {\usebibmacro{cite:label+volume+parts}{bibhyperref}% - \setunit{\nameyeardelim}% - \usebibmacro{cite:labelyear+extras}{bibhyperref}} - {\usebibmacro{cite:labelname+volume+parts}{bibhyperref}}% - \usebibmacro{cite:reinit}} - {\iffieldequals{namehash}{\cbx@lasthash} + {% no labelname + \iffieldundef{label} + {% no label, so print labeltitle (always present) + \blx@gost@ifneedsdate + {\printfield[citetitle]{labeltitle} + \setunit{\nameyeardelim}% + \usebibmacro{cite:labelyear+extras}{bibhyperref}} + {\printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}}} + {% label exists, print it + \usebibmacro{cite:label+volume+parts}}}% + {% labelname, no labelyear + \usebibmacro{cite:labelname+volume+parts}{bibhyperref}% + \usebibmacro{cite:reinit}}}% + {% both labelname, labelyear exist + \iffieldequals{namehash}{\cbx@lasthash} {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} {\setunit{\addcomma}% @@ -69,12 +72,12 @@ {\setunit{\compcitedelim}% \usebibmacro{cite:labelyear+extras}{bibhyperref}% \savefield{labelyear}{\cbx@lastyear}}} - {\ifsingletitle - {\usebibmacro{cite:labelname+volume+parts}{bibhyperref}} + {\blx@gost@ifneedsdate {\usebibmacro{cite:labelname+volume+parts}{}% \setunit{\nameyeardelim}% \usebibmacro{cite:labelyear+extras}{bibhyperref}% \savefield{labelyear}{\cbx@lastyear}}% + {\usebibmacro{cite:labelname+volume+parts}{bibhyperref}}% \savefield{namehash}{\cbx@lasthash}}}} {\usebibmacro{cite:heading}{bibhyperref}% % \iffieldundef{labelyear} @@ -92,24 +95,20 @@ %\usebibmacro{volume+parts}{\setunit*{\addcomma\space}}% } -\newbibmacro*{cite:label+volume+parts}[1]{% +\newbibmacro*{cite:label+volume+parts}{% \iffieldundef{label} - {\ifsingletitle - {\printtext[#1]{\printfield[citetitle]{labeltitle}}} - {\printfield[citetitle]{labeltitle}}} - {\printtext[#1]{\printfield{label}}}% + {} + {\printtext[bibhyperref]{\printfield{label}}}% \setunit*{\addcomma\space}% %\usebibmacro{volume+parts}{\setunit*{\addcomma\space}}% } \newbibmacro*{cite:labelyear+extras}[1]{% - \ifsingletitle + \iffieldundef{labelyear} {} - {\iffieldundef{labelyear} - {} - {\printtext[#1]{% - \printfield{labelyear}% - \usebibmacro{cite:extras}}}}} + {\printtext[#1]{% + \usebibmacro{printyear}{label}% print labelyear + \usebibmacro{cite:extras}}}} \newbibmacro*{citeyear}{% \iffieldundef{shorthand} @@ -150,7 +149,7 @@ {\iffieldundef{shorthand} {\usebibmacro{cite:label}% \setunit{% - \global\booltrue{cbx:parens}% + \global\booltrue{cbx:gost:parens}% \addspace\bibopenparen}% \ifnumequal{\value{citecount}}{1} {\usebibmacro{prenote}} @@ -161,7 +160,7 @@ {\usebibmacro{cite:shorthand}}} {\printnames{labelname}% \setunit{% - \global\booltrue{cbx:parens}% + \global\booltrue{cbx:gost:parens}% \addspace\bibopenparen}% \ifnumequal{\value{citecount}}{1} {\usebibmacro{prenote}} @@ -178,8 +177,8 @@ \stepcounter{textcitecount}% \savefield{namehash}{\cbx@lasthash}}% \setunit{% - \ifbool{cbx:parens} - {\bibcloseparen\global\boolfalse{cbx:parens}} + \ifbool{cbx:gost:parens} + {\bibcloseparen\global\boolfalse{cbx:gost:parens}} {}% \textcitedelim}} @@ -198,7 +197,7 @@ \iffieldundef{labelyear} {} {\printtext[bibhyperref]{% - \printfield{labelyear}% + \usebibmacro{printyear}{label}% \printfield{extrayear}}}} \newbibmacro*{cite:extrayear}{% @@ -209,27 +208,27 @@ \newbibmacro*{cite:ibid}{% \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% \ifloccit - {\global\booltrue{cbx:loccit}} + {\global\booltrue{cbx:gost:loccit}} {}} \newbibmacro*{cite:postnote}{% - \ifbool{cbx:loccit} + \ifbool{cbx:gost:loccit} {} {\usebibmacro{postnote}}} \newbibmacro*{textcite:postnote}{% - \ifbool{cbx:loccit} + \ifbool{cbx:gost:loccit} {} {\usebibmacro{postnote}}% \ifthenelse{\value{multicitecount}=\value{multicitetotal}} {\setunit{}% \printtext{% - \ifbool{cbx:parens} - {\bibcloseparen\global\boolfalse{cbx:parens}} + \ifbool{cbx:gost:parens} + {\bibcloseparen\global\boolfalse{cbx:gost:parens}} {}}} {\setunit{% - \ifbool{cbx:parens} - {\bibcloseparen\global\boolfalse{cbx:parens}} + \ifbool{cbx:gost:parens} + {\bibcloseparen\global\boolfalse{cbx:gost:parens}} {}% \textcitedelim}}} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.bbx index 0b6e988af39..e606882b44e 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-footnote-min.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-inline-min} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.cbx index c445687a67e..89e780966d5 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote-min.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-footnote-min.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{gost-footnote} \renewbibmacro*{cite:clearfields}{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.bbx index c26c965d469..d660488e978 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-footnote.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-inline} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.cbx index 8cc082b5482..8533babd4b1 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-footnote.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-footnote.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{gost-inline} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.bbx index 73b91d7530d..536add942fa 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-inline-min.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-inline} \AtEveryBibitem{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.cbx index 4dc41899a32..7c34d1c4205 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline-min.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-inline-min.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{gost-inline} \renewbibmacro*{cite:clearfields}{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.bbx index 25ad089aafa..c63ffbb9c5a 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.bbx @@ -1,13 +1,10 @@ \ProvidesFile{gost-inline.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-standard} -\@ifpackagelater{biblatex}{2016/05/11} % biblatex 3.5+ - {\ExecuteBibliographyOptions{labeldateparts,sorting=ntvy,pagetracker,dashed=false, - bibisbn,biburl,bibdoi,bibeprint}} - {\ExecuteBibliographyOptions{labeldate,sorting=ntvy,pagetracker,dashed=false, - bibisbn,biburl,bibdoi,bibeprint}} +\ExecuteBibliographyOptions{labeldateparts,sorting=ntvy,pagetracker,dashed=false, + bibisbn,biburl,bibdoi,bibeprint} \DeclareFieldFormat{shorthandwidth}{#1} \setlength{\bibitemsep}{0pt} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.cbx index 427338ccd56..e6c9a264a11 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-inline.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-inline.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \DeclareLabelname [inbook,incollection,inproceedings,inreference,suppbook,suppcollection,suppperiodical,bookinbook] diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.bbx index 108988fc38f..ee32a927dd5 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-numeric-min.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-numeric} \AtEveryBibitem{% diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.cbx index 686eb14ca19..918368fa249 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric-min.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-numeric-min.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{gost-numeric} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.bbx index 8175f8991fe..5661580825e 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.bbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-numeric.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireBibliographyStyle{gost-standard} \ExecuteBibliographyOptions{labelnumber,bibisbn,biburl,bibdoi,bibeprint} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.cbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.cbx index 822e4c6482e..4984c25405c 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-numeric.cbx @@ -1,5 +1,5 @@ \ProvidesFile{gost-numeric.cbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \RequireCitationStyle{numeric-comp} \ExecuteBibliographyOptions{dashed=false,citeisbn,citeurl,citedoi,citeeprint} diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx b/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx index d9de27c3af3..5cfcfb3bf40 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/gost-standard.bbx @@ -1,8 +1,8 @@ \ProvidesFile{gost-standard.bbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] -\def\bbx@gost@date{2016/08/30} -\def\bbx@gost@version{1.8} +\def\bbx@gost@date{2016/09/18} +\def\bbx@gost@version{1.10} \@ifpackagelater{biblatex}{2016/03/03} {} @@ -44,15 +44,6 @@ \newtoggle{bbx:gostbibliography} \togglefalse{bbx:gostbibliography} -\@ifpackagelater{biblatex}{2016/05/11} % biblatex 3.5+ - {} - {\protected\def\blx@imc@printupdate{\csuse{mkbibrangeshort}{up}} - \protected\def\blx@imc@printpublicationdate{\csuse{mkbibrangeshort}{publication}} - \protected\def\blx@imc@printprioritydate{\csuse{mkbibrangeshort}{priority}} - \newcommand{\bibdaterangesep}{\bibdatedash}} -\blx@regimcs{% - \printupdate \printpublicationdate \printprioritydate} - % OPTIONS \newbibmacro*{bbx:savehash}{% @@ -124,9 +115,8 @@ maxnames=3, minnames=1, dashed=false, - singletitle=false, movenames=true, - giveninits, + giveninits=true, volsorder=vbpi, related=true, alldates=short, @@ -256,7 +246,8 @@ \ifbibxstring{\thefield{prioritycountry}} {\bibcpstring{\thefield{prioritycountry}}} {#1}} - +\DeclareFieldFormat{bracketsalways}{[#1]} + \DeclareNameAlias{default}{given-family} \DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily} @@ -1773,8 +1764,11 @@ \setcounter{blx@gost@pointer}{1}% \expandafter\blx@gost@volsinorder\gost@tempa\blx@gost@endofstring}} +\renewbibmacro*{date}{% + \usebibmacro{printdate}{}} + \newbibmacro*{year}{% - \printfield{year}} + \usebibmacro{printyear}{}} \renewbibmacro*{title}{% \ifboolexpr{ @@ -2111,6 +2105,98 @@ \newbibmacro*{heading}{% \printfield{heading}} +% whether date needs brackets. +% labeldate needs special account +\newcommand*{\blx@gost@ifdateuncertain}[3]{% + \ifboolexpr{ + test {\csuse{if#1datecirca}} + or + test {\csuse{if#1dateuncertain}} + or + test {\csuse{if#1enddatecirca}} + or + test {\csuse{if#1enddateuncertain}} + or + not test {\iffieldundef{#1dateunspecified}} + or ( + test {\ifstrequal{#1}{label}} + and + not test {\iffieldundef{\thefield{labeldatesource}dateunspecified}} + ) + } + {#2} + {#3}} + +% Adds brackets is necessary +\newbibmacro*{printdate}[1]{% + \blx@gost@ifdateuncertain{#1} + {\printtext[bracketsalways]{\midsentence*% + \ifstrequal{#1}{label} + {\iffieldequalstr{\thefield{labeldatesource}dateunspecified}{yearincentury} + {\number\numexpr\thefield{\thefield{labeldatesource}year}/100\relax% + \bibrangedash\addnbspace\bibrangedash} + {\iffieldequalstr{\thefield{labeldatesource}dateunspecified}{yearindecade} + {\number\numexpr\thefield{\thefield{labeldatesource}year}/10\relax\bibrangedash}% + {\csuse{print#1date}}}} + {\iffieldequalstr{#1dateunspecified}{yearincentury} + {\number\numexpr\thefield{#1year}/100\relax% + \bibrangedash\addnbspace\bibrangedash} + {\iffieldequalstr{#1dateunspecified}{yearindecade} + {\number\numexpr\thefield{#1year}/10\relax\bibrangedash}% + {\csuse{print#1date}}}}}} + {\csuse{print#1date}}} + +\newbibmacro*{printyear}[1]{% + \blx@gost@ifdateuncertain{#1} + {\printtext[bracketsalways]{\midsentence*% + \ifstrequal{#1}{label} + {\iffieldequalstr{\thefield{labeldatesource}dateunspecified}{yearincentury} + {\number\numexpr\thefield{\thefield{labeldatesource}year}/100\relax% + \bibrangedash\addnbspace\bibrangedash} + {\iffieldequalstr{\thefield{labeldatesource}dateunspecified}{yearindecade} + {\number\numexpr\thefield{\thefield{labeldatesource}year}/10\relax\bibrangedash} + {\usebibmacro{printyear+}{#1}}}} + {\iffieldequalstr{#1dateunspecified}{yearincentury} + {\number\numexpr\thefield{#1year}/100\relax% + \bibrangedash\addnbspace\bibrangedash} + {\iffieldequalstr{#1dateunspecified}{yearindecade} + {\number\numexpr\thefield{#1year}/10\relax\bibrangedash} + {\usebibmacro{printyear+}{#1}}}}}} + {\usebibmacro{printyear+}{#1}}} + +\newbibmacro*{printyear+}[1]{% + \printtext{% + \iffieldundef{#1year} + {} + {\ifdefstring\blx@dateformat@labeldate{edtf} + {} + {\datecircaprint}% + \dateeraprintpre{#1year}% + \mkyearzeros{\thefield{#1year}}% + % \printfield{extrayear}% + \iffieldsequal{#1dateera}{#1enddateera} + {} + {\dateeraprint{#1year}}% + \dateuncertainprint% + \ifdefstring\blx@dateformat@labeldate{edtf} + {\datecircaprintedtf} + {}% + \iffieldundef{#1endyear} + {} + {\iffieldsequal{#1year}{#1endyear} + {} + {\ifdefstring\blx@dateformat@labeldate{edtf} + {\slash}% strict EDTF + {\bibdaterangesep% + \enddatecircaprint}% + \dateeraprintpre{#1endyear}% + \mkyearzeros{\thefield{#1endyear}}% + \enddateuncertainprint% + \ifdefstring\blx@dateformat@labeldate{edtf} + {\enddatecircaprintedtf} + {}% + \dateeraprint{#1endyear}}}}}} + \newcommand*{\setrespdelim}{\bbx@gost@respdelim\def\bbx@gost@respdelim{}} % Related field diff --git a/Master/texmf-dist/tex/latex/biblatex-gost/russian-gost.lbx b/Master/texmf-dist/tex/latex/biblatex-gost/russian-gost.lbx index 7641feeffff..95681fe2326 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gost/russian-gost.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-gost/russian-gost.lbx @@ -1,5 +1,5 @@ \ProvidesFile{russian-gost.lbx} -[2016/08/30\space v1.8\space biblatex-gost styles] +[2016/09/18\space v1.10\space biblatex-gost styles] \InheritBibliographyExtras{russian} @@ -7,12 +7,12 @@ inherit = {russian},%------------------------------------------------------------ phdthesis = {{дис\adddotspace\textellipsis\ канд\adddot} {дис\adddotspace\textellipsis\ канд\adddot}}, - docthesis = {{дис\adddotspace\textellipsis\ док\adddot} - {дис\adddotspace\textellipsis\ док\adddot}}, + docthesis = {{дис\adddotspace\textellipsis\ д-ра} + {дис\adddotspace\textellipsis\ д-ра}}, phdautoref = {{автореф\adddotspace дис\adddotspace\textellipsis\ канд\adddot} {автореф\adddotspace дис\adddotspace\textellipsis\ канд\adddot}}, - docautoref = {{автореф\adddotspace дис\adddotspace\textellipsis\ док\adddot} - {автореф\adddotspace дис\adddotspace\textellipsis\ док\adddot}}, + docautoref = {{автореф\adddotspace дис\adddotspace\textellipsis\ д-ра} + {автореф\adddotspace дис\adddotspace\textellipsis\ д-ра}}, countryru = {{Российская Федерация}{Рос\adddotspace Федерация}}, countryussr = {{СССР}{СССР}}, patentru = {{патент Российской Федерации}{пат\adddotspace Рос\adddotspace Федерации}}, -- cgit v1.2.3