From ae7d5aae229b75c5160feb04dafec7616262cd0f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 4 Nov 2020 21:35:59 +0000 Subject: biblatex-sbl (4nov20) git-svn-id: svn://tug.org/texlive/trunk@56853 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-sbl/american-sbl.lbx | 1 + .../tex/latex/biblatex-sbl/biblatex-sbl.def | 525 ++++++++++++++------- .../tex/latex/biblatex-sbl/english-sbl.lbx | 3 +- .../tex/latex/biblatex-sbl/german-sbl.lbx | 1 + .../tex/latex/biblatex-sbl/sbl-paper.sty | 16 +- Master/texmf-dist/tex/latex/biblatex-sbl/sbl.bbx | 4 +- Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx | 116 +++-- Master/texmf-dist/tex/latex/biblatex-sbl/sbl.dbx | 4 + .../tex/latex/biblatex-sbl/spanish-sbl.lbx | 3 +- 9 files changed, 463 insertions(+), 210 deletions(-) (limited to 'Master/texmf-dist/tex/latex/biblatex-sbl') diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/american-sbl.lbx b/Master/texmf-dist/tex/latex/biblatex-sbl/american-sbl.lbx index 95f47d3d09a..bdb38b9a6a1 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/american-sbl.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/american-sbl.lbx @@ -25,4 +25,5 @@ \iffieldbibstring{#1} {\bibstring{\thefield{#1}}} {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \DeclarePunctuationPairs{comma}{*!?}% } diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def b/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def index aa7301d2801..0f8ece1b0da 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/biblatex-sbl.def @@ -15,8 +15,8 @@ % VERSION STRINGS % ------------------------------------------------------------------ -\def\sbl@abx@date{2018/12/13} -\def\sbl@abx@version{0.11} +\def\sbl@abx@date{2020/11/04} +\def\sbl@abx@version{0.12} \def\sbl@abx@bbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl bibliography style (DCP)} \def\sbl@abx@cbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl citation style (DCP)} \def\sbl@abx@lbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl localization (DCP)} @@ -52,7 +52,12 @@ \NumCheckSetup{\def\mkbibparens#1{#1}} -\renewbibmacro*{postnote}{} +\renewbibmacro*{postnote}{% + \iftoggle{blx@unit} + {} + {\newunit}% + \printfield{postnote}} + \newbibmacro*{pages}{} \DeclareBibliographyOption[string]{citepages}[permit]{% @@ -62,7 +67,6 @@ {Invalid option 'citepages=#1'} {Valid values are 'sbl', 'permit', 'omit', 'separate'.}}} -\providebibmacro*{postnote}{} \providebibmacro*{pages}{} \def\cbx@opt@citepages@sbl{% @@ -82,17 +86,7 @@ {\iffieldpages{postnote} {} {\setunit{\addspace}% - \printtext[parens]{\printfield{postnote}}}}}}% - \renewbibmacro*{postnote}{% - \iffieldundef{postnote} - {\printfield{pages}} - {\iffieldpages{postnote} - {\printfield{postnote}} - {\iffieldundef{pages} - {\printfield{postnote}} - {\printfield{pages}% - \setunit{\addspace}% - \printtext[parens]{\printfield{postnote}}}}}}} + \printtext[parens]{\printfield{postnote}}}}}}} \def\cbx@opt@citepages@permit{% \renewbibmacro*{pages}{% @@ -109,18 +103,7 @@ } {} {\setunit{\addspace}% - \printtext[parens]{\printfield{postnote}}}}}% - \renewbibmacro*{postnote}{% - \iffieldundef{postnote} - {\printfield{pages}} - {\iffieldpages{postnote} - {\printfield{postnote}} - {\iffieldundef{pages} - {\newunit - \printfield{postnote}} - {\printfield{pages}% - \setunit*{\addspace}% - \printtext[parens]{\printfield{postnote}}}}}}} + \printtext[parens]{\printfield{postnote}}}}}} \def\cbx@opt@citepages@omit{% \renewbibmacro*{pages}{% @@ -137,17 +120,6 @@ {\printfield{pages}} {\iffieldpages{postnote} {\printfield{postnote}} - {\printfield{pages}% - \setunit*{\addspace}% - \printtext[parens]{\printfield{postnote}}}}}}% - \renewbibmacro*{postnote}{% - \iffieldundef{postnote} - {\printfield{pages}} - {\iffieldpages{postnote} - {\printfield{postnote}} - {\iffieldundef{pages} - {\newunit - \printfield{postnote}} {\printfield{pages}% \setunit*{\addspace}% \printtext[parens]{\printfield{postnote}}}}}}} @@ -155,7 +127,7 @@ \def\cbx@opt@citepages@separate{% \renewbibmacro*{pages}{% \iffieldundef{pages} - {\ifool{bx@inset} + {\ifbool{bbx@inset} {} {\printfield{postnote}% \global\booltrue{suppresspostnote}}} @@ -172,34 +144,57 @@ {\bibstring{thiscite}% \setunit{\addspace}} {}% - \printfield{postnote}}}}}% - \renewbibmacro*{postnote}{% - \iffieldundef{postnote} - {\printfield{pages}} - {\iffieldpages{postnote} - {\printfield{postnote}} - {\iffieldundef{pages} - {\printfield{postnote}} - {\printfield{pages}% - \setunit*{\addspace}% - \printtext[parens]{% - \iffieldpages{postnote} - {\bibstring{thiscite}% - \setunit{\addspace}} - {}% - \printfield{postnote}}}}}}} + \printfield{postnote}}}}}} % ------------------------------------------------------------------ % IDEM MACROS % ------------------------------------------------------------------ +\def\blx@opt@idemtracker@citation{% + \let\blx@imc@ifciteidem\blx@ifciteidem@citation + \let\blx@idemtracker\blx@idemtracker@constrict + \let\blx@idemreset\blx@idemreset@context + \booltrue{citetracker}} + +\def\blx@opt@idemtracker@sbl{% + \let\blx@imc@ifciteidem\blx@ifciteidem@sbl + \let\blx@idemtracker\blx@idemtracker@constrict + \let\blx@idemreset\blx@idemreset@context + \booltrue{citetracker}} + +\def\blx@ifciteidem@citation{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@ifmpfncheckidem + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@foot} + {\@secondoftwo}} + {\iffirstcitekey + {\@secondoftwo} + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@text}}} + {\@secondoftwo}} + +\def\blx@ifciteidem@sbl{% + \blx@ifciteidem@citation} + +\def\blx@ifmpfncheckidem{% + \ifnum\numexpr\value\@mpfn-\blx@lastmpfn<\@ne + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +\def\ifciteidemsbl{% + \ifdefequal{\blx@imc@ifciteidem}{\blx@ifciteidem@sbl}} + \newbibmacro*{ifidemused}{% \ifboolexpr{ test {\ifciteidem} and not test {\iffirstonpage} } - {\bibstring[\mkibid]{idem\thefield{gender}}% + {\ifciteidemsbl + {\printnames{labelname}} + {\bibstring[\mkibid]{idem\thefield{gender}}}% \@firstoftwo} {\@secondoftwo}} @@ -310,7 +305,6 @@ \ExecuteBibliographyOptions{% citetracker, - punctfont, alldates=comp, eprintdate=comp, dateabbrev=false, @@ -320,9 +314,9 @@ minxrefs=1, isbn=false, pagetracker, - idemtracker=constrict, - ibidtracker=constrict, - ibidpage=false, + idemtracker=sbl, + ibidtracker=false, + ibidpage=true, maxbibnames=99, maxcitenames=3, citepages=sbl, @@ -363,6 +357,7 @@ \NewBibliographyString{paperpresented} \NewBibliographyString{patentfiled} \NewBibliographyString{released} +\NewBibliographyString{article} \DeclareLanguageMappingSuffix{-sbl} @@ -404,6 +399,7 @@ \ifinteger{#1} {\mkbibordedition{#1}~\bibsstring{edition}} {\ifcapital{\MakeCapital{#1}}{#1}\isdot}} +\DeclareFieldFormat{eid}{\bibsstring{article}~#1} \DeclareFieldFormat{eprint:ebook}{#1 \biblstring{edition}} \DeclareFieldFormat{eprint}{% \iffieldundef{eprinttype} @@ -453,7 +449,10 @@ \DeclareFieldFormat{volcitepages}{\mkcomprange{#1}} \DeclareFieldFormat{part}{#1} \DeclareFieldFormat{pt}{\bibstring{part}~#1} -\DeclareFieldFormat{postnote}{\mkcomprange{#1}} +\DeclareFieldFormat{postnote}{% + \iffieldundef{eid} + {\mkcomprange{#1}} + {\mkpageprefix[pagination][\mkcomprange]{#1}}} \DeclareFieldFormat{multipostnote}{#1} \DeclareFieldFormat{byauthor}{\bibstring{byauthor} #1} \DeclareFieldFormat{revdtitle}{\biblstring{reviewof} \mkbibemph{#1}} @@ -472,8 +471,8 @@ \DeclareFieldFormat{isrn}{ISRN\addcolon\space #1} \DeclareFieldFormat{issn}{ISSN\addcolon\space #1} \DeclareFieldFormat{pages}{\mkcomprange{#1}} -\DeclareFieldFormat{pagepages}{\mkcomprange[\mkpageprefix]{#1}} -\DeclareFieldFormat{pagesin}{\mkcomprange[\mkpageprefix]{#1} \usebibmacro{in}} +\DeclareFieldFormat{pagepages}{\mkpageprefix[pagination][\mkcomprange]{#1}} +\DeclareFieldFormat{pagesin}{\mkpageprefix[pagination][\mkcomprange]{#1} \usebibmacro{in}} \DeclareFieldFormat{chapter}{\bibsstring{chapter}~#1} \DeclareFieldFormat{chapterin}{\bibsstring{chapter}~#1 \usebibmacro{in}} \DeclareFieldFormat{volume}{#1} @@ -515,13 +514,15 @@ \DeclareFieldFormat[incommentary,inreference,inlexicon,online,review,seminarpaper,conferencepaper]{title}{\mkbibquote{#1}} \DeclareFieldFormat[incommentary,inreference,inlexicon,online,review,seminarpaper,conferencepaper]{shorttitle}{\mkbibquote{#1}} \DeclareFieldFormat[suppperiodical]{title}{\mkbibquote{#1}} -\DeclareFieldFormat{issuetitle}{\mkbibquote{#1}} -\DeclareFieldFormat{issuesubtitle}{\mkbibquote{#1}} -\DeclareFieldFormat{shortissuetitle}{\mkbibquote{#1}} +\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} +\DeclareFieldFormat{issuesubtitle}{\mkbibemph{#1}} +\DeclareFieldFormat{shortissuetitle}{\mkbibemph{#1}} \DeclareFieldFormat{howpublished}{\ifbibstring{#1}{\bibstring{#1}}{#1}} \DeclareFieldFormat[patent]{title}{#1} \DeclareFieldFormat[ancienttext]{title}{% \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{primarysource}} + or test {\iffieldequalstr{entrysubtype}{inscription}} or test {\iffieldequalstr{entrysubtype}{chronicle}} @@ -532,6 +533,8 @@ {\mkbibquote{#1}}}} \DeclareFieldFormat[ancienttext]{shorttitle}{% \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{primarysource}} + or test {\iffieldequalstr{entrysubtype}{inscription}} or test {\iffieldequalstr{entrysubtype}{chronicle}} @@ -561,6 +564,18 @@ \iffieldundef{type} {#1} {\mkbibemph{#1}}} +\DeclareFieldFormat[classictext]{title}{% + \ifnameundef{author} + {#1} + {\mkbibemph{#1}}} +\DeclareFieldFormat[classictext]{subtitle}{% + \ifnameundef{author} + {#1} + {\mkbibemph{#1}}} +\DeclareFieldFormat[classictext]{shorttitle}{% + \ifnameundef{author} + {#1} + {\mkbibemph{#1}}} \DeclareBibliographyAlias{cite:mvbook}{cite:book} \DeclareBibliographyAlias{cite:mvcollection}{cite:collection} @@ -675,6 +690,13 @@ % LIST OF ABBREVIATIONS % ------------------------------------------------------------------ +\DeclareFieldFormat{shorttitlewidth}{% + \ifentrytype{classictext} + {\iffieldequalstr{entrysubtype}{churchfather} + {} + {\mkbibemph{#1}}} + {}} + \newtoggle{blx@abbrevcite} \newlength{\abbrevwidth} @@ -686,16 +708,30 @@ } \defbibenvironment{abbreviations} - {\list + {\setlength{\abbrevwidth}{0pt}% + \list {\printfield[shorthandwidth]{shortjournal}% - \iffieldundef{shorthand} - {\printfield[shorthandwidth]{shortseries}} - {\iffieldsequal{shorthand}{shorttitle} - {\printtext{\mkbibemph{\printfield[shorthandwidth]{shorthand}}}} - {\printfield[shorthandwidth]{shorthand}}}} + \iffieldsequal{shorthand}{shorttitle} + {\printtext{\mkbibemph{\printfield[shorthandwidth]{shorthand}}}} + {\printfield[shorthandwidth]{shorthand}}% + \ifentrytype{classictext} + {\printfield{shorttitle}} + {}% + \ifboolexpr{ + not test {\iffieldundef{shorthand}} + or + ( + test {\ifentrytype{classictext}} + and + not test {\iffieldundef{shorttitle}} + ) + } + {} + {\printfield{shortseries}}} {\setmaxlength{\abbrevwidth}{\shorthandwidth}% \setmaxlength{\abbrevwidth}{\shortserieswidth}% \setmaxlength{\abbrevwidth}{\shortjournalwidth}% + \setmaxlength{\abbrevwidth}{\shorttitlewidth}% \addtolength{\abbrevwidth}{\biblabelsep}% \setlength{\labelwidth}{\abbrevwidth}% \setlength{\leftmargin}{\labelwidth}% @@ -721,18 +757,61 @@ {\setunit{\subtitlepunct}% \printfield{journalsubtitle}}}% \iffieldundef{shorthand} - {\iffieldundef{shortseries} - {} - {\bibhypertarget{\strfield{shortseries}}{}% - \printfield{series}}} + {} {\bibhypertarget{\strfield{shorthand}}{}% \iffieldsequal{shorthand}{shorttitle} {\toggletrue{blx@abbrevcite}} {}% \usebibmacro{bibentrycite}}% + \ifentrytype{classictext} + {\iffieldundef{shorttitle} + {} + {\bibhypertarget{\strfield{shorttitle}\strname{author}}{}% + \ifnameundef{author} + {} + {\usebibmacro{author}% + \newunit}% + \printfield{title}% + \setunit*{\subtitlepunct}% + \printfield{subtitle}}} + {}% + \ifboolexpr{ + not test {\iffieldundef{shorthand}} + or + ( + test {\ifentrytype{classictext}} + and + not test {\iffieldundef{shorttitle}} + ) + } + {} + {\iffieldundef{shortseries} + {} + {\bibhypertarget{\strfield{shortseries}}{}% + \printfield{series}}}% \usebibmacro{finentry}} \DeclareBiblistFilter{abbreviations}{ + \filteror{ + \filter[type=field,filter=shorthand] + \filter[type=field,filter=shortjournal] + \filter[type=field,filter=shortseries] + \filter[type=field,filter=shorttitle] + } +} + +\DeclareBiblistFilter{primary}{ + \filteror{ + \filter[type=subtype,filter=primarysource] + \filter[type=type,filter=classictext] + } + \filteror{ + \filter[type=field,filter=shorthand] + \filter[type=field,filter=shorttitle] + } +} + +\DeclareBiblistFilter{secondary}{ \filteror{ \filter[type=field,filter=shorthand] \filter[type=field,filter=shortjournal] @@ -752,25 +831,65 @@ {} {\iffieldundef{shortjournal} {} - {\ifcsdef{sbl\therefsection\strfield{shortjournal}=\strfield{journaltitle}} + {\ifcsdef{\therefsection-\strfield{shortjournal}=\strfield{journaltitle}} {\skipentry} - {\savefieldcs{journaltitle}{sbl\therefsection\strfield{shortjournal}=\strfield{journaltitle}}}}% + {\savefieldcs{journaltitle}{\therefsection-\strfield{shortjournal}=\strfield{journaltitle}}}}% \iffieldundef{shorthand} - {\iffieldundef{shortseries} + {} + {\ifcsdef{\therefsection-\strfield{shorthand}=\strfield{shorttitle}} + {\skipentry} + {\savefieldcs{shorthand}{\therefsection-\strfield{shorthand}=\strfield{shorttitle}}}}% + \ifentrytype{classictext} + {\iffieldundef{shorttitle} {} - {\ifcsdef{sbl\therefsection\strfield{shortseries}=\strfield{series}} + {\ifcsdef{\therefsection-\strfield{shorttitle}=\strname{author}\strfield{title}} {\skipentry} - {\savefieldcs{series}{sbl\therefsection\strfield{shortseries}=\strfield{series}}}}} - {\ifcsdef{sbl\therefsection\strfield{shorthand}=\strfield{title}} + {\savefieldcs{shorttitle}{\therefsection-\strfield{shorttitle}=\strname{author}\strfield{title}}}}} + {}% + \ifboolexpr{ + not test {\iffieldundef{shorthand}} + or + ( + test {\ifentrytype{classictext}} + and + not test {\iffieldundef{shorttitle}} + ) + } + {} + {\ifcsdef{\therefsection-\strfield{shortseries}=\strfield{series}} {\skipentry} - {\savefieldcs{shorthand}{sbl\therefsection\strfield{shorthand}=\strfield{title}}}}}} - -\DeclareSortingTemplate{abbreviations}{% - \sort{% - \field{shorthand}% - \field{shortjournal}% - \field{shortseries}% - }% + {\savefieldcs{series}{\therefsection-\strfield{shortseries}=\strfield{series}}}}% + \iffieldequalstr{entrysubtype}{churchfather} + {\skipentry} + {}% + \ifboolexpr{ + not test {\ifentrytype{classictext}} + and + not test {\iffieldundef{shorttitle}} + and + test {\iffieldundef{shortjournal}} + and + test {\iffieldundef{shorthand}} + and + test {\iffieldundef{shortseries}} + } + {\skipentry} + {}}} + +\DeclareSortingTemplate{abbreviations}{ + \sort{ + \field{sortshorthand} + \field{shorthand} + \field{shortjournal} + \field{shortseries} + \field{shorttitle} + } + \sort{ + \field{journaltitle} + \field{author} + \field{title} + \field{series} + } } % ------------------------------------------------------------------ @@ -786,14 +905,15 @@ \step[fieldsource=title, match=\regexp{(.*?):}, final] \step[fieldset=shorttitle, fieldvalue={$1}] } - \map{ - \step[fieldsource=journaltitle, match=\regexp{(.*?):}, final] - \step[fieldset=shortjournal, fieldvalue={$1}] - } \map{ \step[fieldsource=revdtitle, match=\regexp{(.*?):}, final] \step[fieldset=revdshorttitle, fieldvalue={$1}] } + \map[overwrite=true]{ + \step[notfield=sorttitle, final] + \step[fieldsource=title, match=\regexp{^(A|An|The)\s+(.+)}, final] + \step[fieldset=sorttitle, fieldvalue={$2}] + } \map{ \pertype{suppbook} \pertype{suppcollection} @@ -825,16 +945,6 @@ \step[fieldsource=subtitle, final] \step[fieldset=journalsubtitle, origfieldval] } - \map{ - \pertype{periodical} - \step[fieldsource=shorttitle, final] - \step[fieldset=shortjournal, origfieldval] - } - \map{ - \step[fieldsource=journalsubtitle, final] - \step[fieldsource=journaltitle, final] - \step[fieldset=shortjournal, origfieldval] - } \map{ \step[fieldsource=entrysubtype, match=\regexp{ANRW}, final] \step[fieldset=options, fieldvalue={skipbib=false}] @@ -857,17 +967,32 @@ \pertype{ancienttext} \pertype{classictext} \step[fieldsource=related, final] - \step[fieldset=relatedtype, fieldvalue=ancienttext] \step[fieldsource=relatedoptions, match=\regexp{(.*)}] \step[fieldset=relatedoptions, fieldvalue={skipbib=false,skipbiblist=false,}] \step[fieldset=relatedoptions, fieldvalue={$1}, append] + \step[notfield=relatedtype, final] + \step[fieldset=relatedtype, fieldvalue=ancienttext] } \map[overwrite]{ \step[fieldsource=shortseries, final] \step[fieldsource=shorthand, final] \step[fieldsource=entrykey, match=\regexp{(.*)}] \step[fieldset=xref, fieldvalue=series-$1] - \step[entrynew=series-$1, entrynewtype=misc] + \step[entrynew=series-$1, entrynewtype=series] + \step[fieldsource=shortseries] + \step[fieldset=shortseries, origfieldval, entrytarget=series-$1] + \step[fieldsource=series] + \step[fieldset=series, origfieldval, entrytarget=series-$1] + \step[fieldset=options, fieldvalue={skipbib}, entrytarget=series-$1] + } + \map[overwrite]{ + \pertype{classictext} + \step[fieldsource=shortseries, final] + \step[fieldsource=shorttitle, final] + \step[fieldset=sortshorthand, origfieldval] + \step[fieldsource=entrykey, match=\regexp{(.*)}] + \step[fieldset=xref, fieldvalue=series-$1] + \step[entrynew=series-$1, entrynewtype=series] \step[fieldsource=shortseries] \step[fieldset=shortseries, origfieldval, entrytarget=series-$1] \step[fieldsource=series] @@ -959,10 +1084,28 @@ {#2}} \ExplSyntaxOn -\cs_new_protected:Nn \sbl_ifinstringt:nnn { - \tl_if_in:nnT {#2}{#1}{#3}} -\cs_generate_variant:Nn \sbl_ifinstringt:nnn { non } -\cs_new_eq:NN \IfInStringT \sbl_ifinstringt:non +\cs_new_protected:Nn \sbl_ifinstringtf:nnnn { + \tl_if_in:nnTF {#2}{#1}{#3}{#4}} +\cs_generate_variant:Nn \sbl_ifinstringtf:nnnn { nonn } +\cs_new_eq:NN \IfInStringTF \sbl_ifinstringtf:nonn + +\DeclareExpandableDocumentCommand \iffirstcharsec { m m m } + { + \exp_args:Nnf \IfInStringTF { § } { \tl_use:N \tl_head:f { #1 } } + { #2 } + { + \exp_args:Nnf \IfInStringTF { \textsection } { \tl_use:N \tl_head:f { #1 } } + { #2 } + { #3 } + } + } + +\DeclareExpandableDocumentCommand \iffirstcharnum { m m m } + { + \exp_args:Nf \ifnumeral { \tl_use:N \tl_head:f { #1 } } + { #2 } + { #3 } + } \ExplSyntaxOff \newbibmacro*{setpostnotedelim}{% @@ -971,38 +1114,52 @@ {}% \iffieldundef{postnote} {} - {\IfInStringT{.}{\abx@field@postnote} - {\renewcommand*{\postnotedelim}{\addspace}}% - \IfInStringT{:}{\abx@field@postnote} - {\renewcommand*{\postnotedelim}{\addspace}}% - \IfInStringT{§}{\abx@field@postnote} - {\renewcommand*{\postnotedelim}{\addspace}}% - \IfInStringT{\textsection}{\abx@field@postnote} - {\renewcommand*{\postnotedelim}{\addspace}}}} + {\iffirstcharnum{\abx@field@postnote} + {\ifboolexpr{ + test {\ifentrytype{ancienttext}} + and + test {\usebibmacro{ifuseshorthand}} + } + {\renewcommand*{\postnotedelim}{\addspace}} + {}% + \ifboolexpr{ + test {\ifentrytype{classictext}} + and + not test {\iffieldundef{shorttitle}} + } + {\renewcommand*{\postnotedelim}{\addspace}} + {}% + \IfInStringTF{.}{\abx@field@postnote} + {\renewcommand*{\postnotedelim}{\addspace}}{}% + \IfInStringTF{:}{\abx@field@postnote} + {\renewcommand*{\postnotedelim}{\addspace}}{}} + {\iffirstcharsec{\abx@field@postnote} + {\renewcommand*{\postnotedelim}{\addspace}} + {}}}} \newbibmacro*{setaltpostnotedelim}{% \iffieldundef{altpostnote} {} - {\IfInStringT{.}{\abx@field@altpostnote} - {\renewcommand*{\postnotedelim}{\addspace}}% - \IfInStringT{:}{\abx@field@altpostnote} - {\renewcommand*{\postnotedelim}{\addspace}}% - \IfInStringT{§}{\abx@field@altpostnote} - {\renewcommand*{\postnotedelim}{\addspace}}% - \IfInStringT{\textsection}{\abx@field@altpostnote} - {\renewcommand*{\postnotedelim}{\addspace}}}} + {\IfInStringTF{.}{\abx@field@altpostnote} + {\renewcommand*{\postnotedelim}{\addspace}}{}% + \IfInStringTF{:}{\abx@field@altpostnote} + {\renewcommand*{\postnotedelim}{\addspace}}{}% + \IfInStringTF{§}{\abx@field@altpostnote} + {\renewcommand*{\postnotedelim}{\addspace}}{}% + \IfInStringTF{\textsection}{\abx@field@altpostnote} + {\renewcommand*{\postnotedelim}{\addspace}}{}}} \newbibmacro*{setpagesdelim}{% \iffieldundef{pages} {} - {\IfInStringT{.}{\abx@field@pages} - {\setunit{\addspace}}% - \IfInStringT{:}{\abx@field@pages} - {\setunit{\addspace}}% - \IfInStringT{§}{\abx@field@pages} - {\setunit{\addspace}}% - \IfInStringT{\textsection}{\abx@field@pages} - {\setunit{\addspace}}}} + {\IfInStringTF{.}{\abx@field@pages} + {\setunit{\addspace}}{}% + \IfInStringTF{:}{\abx@field@pages} + {\setunit{\addspace}}{}% + \IfInStringTF{§}{\abx@field@pages} + {\setunit{\addspace}}{}% + \IfInStringTF{\textsection}{\abx@field@pages} + {\setunit{\addspace}}{}}} % ------------------------------------------------------------------ % JOINING WORD MACROS @@ -1123,6 +1280,24 @@ {\printtext[maintitle]{\printfield[titlecase]{shortmaintitle}}}% \newunit} +\newbibmacro*{classictexttitle}{% + \ifboolexpr{% + not togl {blx@useshorttitle} + or + test {\iffieldundef{shorttitle}} + } + {\iffieldundef{title} + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \newunit + \printfield{titleaddon}% + \usebibmacro{language}}} + {\printtext[shorttitle]{% + \bibhyperlink{\strfield{shorttitle}\strname{author}}{\thefield{shorttitle}}}}} + \renewbibmacro*{title}{% \ifciteseen {\usebibmacro{shorttitle}} @@ -1226,14 +1401,17 @@ \newbibmacro*{shortjournal}{% \iffieldundef{shortjournal} - {\printfield{journaltitle}} + {\printtext[journaltitle]{% + \printfield[titlecase]{journaltitle}% + \setunit*{\subtitlepunct}% + \printfield[titlecase]{journalsubtitle}}} {\printtext[shortjournal]{% \bibhyperlink{\strfield{shortjournal}}{\thefield{shortjournal}}}}} \newbibmacro*{shortjournal+issue}{% \usebibmacro{shortjournal}% \setunit{\addspace}% - \usebibmacro{series+volume+number+eid}% + \usebibmacro{series+volume+number}% \ifboolexpr{ not test {\ifnameundef{editor}} or @@ -1262,7 +1440,8 @@ test {\iffieldundef{date}} } {\usebibmacro{setpagesdelim}} - {}} + {}% + \usebibmacro{eid}} \renewbibmacro*{issue+date}{% \ifboolexpr{ @@ -1296,7 +1475,7 @@ \usebibmacro{date}}}% \setunit{\addcolon\space}}}} -\newbibmacro*{series+volume+number+eid}{% +\newbibmacro*{series+volume+number}{% \iffieldundef{series} {} {\newunit @@ -1304,9 +1483,7 @@ \newunit}% \printfield{volume}% \setunit*{\addperiod}% - \printfield{number}% - \setunit{\addcomma\space}% - \printfield{eid}} + \printfield{number}} \newbibmacro{inissuetitle}{% \iffieldundef{issuetitle} @@ -1325,7 +1502,7 @@ {\printtext[issuetitle]{\printfield[titlecase]{shortissuetitle}}}% \newunit} -\newbibmacro{issuetitle}{% +\newbibmacro*{issuetitle}{% \iffieldundef{issuetitle} {} {\ifciteseen @@ -1335,6 +1512,10 @@ \setunit*{\subtitlepunct}% \printfield[titlecase]{issuesubtitle}}}}} +\newbibmacro*{eid}{% + \printfield{eid}% + \setunit*{\addcomma\space}} + % ------------------------------------------------------------------ % NAME MACROS % ------------------------------------------------------------------ @@ -1699,15 +1880,13 @@ {}} \newbibmacro*{byauthor/byeditor+others/bytranslator+others}{% - \iffieldundef{title} - {} - {\usebibmacro{byauthor}% + \usebibmacro{byauthor}% + \newunit + \usebibmacro{ifbooktitleormaintitle} + {\usebibmacro{byeditor/bytranslator}} + {\usebibmacro{byeditor+others}% \newunit - \usebibmacro{ifbooktitleormaintitle} - {\usebibmacro{byeditor/bytranslator}} - {\usebibmacro{byeditor+others}% - \newunit - \usebibmacro{bytranslator+others}}}} + \usebibmacro{bytranslator+others}}} \newbibmacro*{bybookeditor}{% \ifnameundef{bookeditor} @@ -2386,10 +2565,11 @@ \usedriver {\renewbibmacro*{related:init}{}% \ifbibliography - {\renewbibmacro*{parens+publisher+location+date}{% - \newunit - \usebibmacro{publisher+location+date}}} - {}} + {} + {\renewcommand*{\newunitpunct}{\addsemicolon\space}}% + \renewbibmacro*{parens+publisher+location+date}{% + \newunit + \usebibmacro{publisher+location+date}}} {\ifbibliography {\thefield{entrytype}} {cite:\thefield{entrytype}}}}} @@ -2421,23 +2601,27 @@ \newtoggle{blx@testpostnotedelim} \newbibmacro*{volume+part+postnote}{% - \usebibmacro{volume}% - \iffieldundef{part} - {} - {\setunit{\addperiod}% - \printfield{part}}% - \iftoggle{blx@testpostnotedelim}{\usebibmacro{setpostnotedelim}}{}% - \ifbool{usevolpostnotedelim} - {\setunit{\volpostnotedelim}} - {\setunit{\postnotedelim}}% \ifboolexpr{ test {\ifciteseen} - or - test {\iffieldundef{pages}} + and + test {\iffieldundef{postnote}} } - {\printfield{postnote}} - {\usebibmacro{pages}}% - \global\booltrue{suppresspostnote}} + {} + {\usebibmacro{volume}% + \iffieldundef{part} + {} + {\setunit{\addperiod}% + \printfield{part}}% + \iftoggle{blx@testpostnotedelim}{\usebibmacro{setpostnotedelim}}{}% + \ifbool{usevolpostnotedelim} + {\setunit{\volpostnotedelim}} + {\setunit{\postnotedelim}}% + \ifciteseen + {\printfield{postnote}} + {\iffieldundef{pages} + {\printfield{postnote}} + {\usebibmacro{pages}}}% + \global\booltrue{suppresspostnote}}} \newbibmacro*{classic:translator+series}{% \ifnameundef{translator} @@ -2448,7 +2632,10 @@ \iftoggle{blx@useseries} {\newunit \usebibmacro{shortseries}} - {}}}} + {}% + \usebibmacro{setaltpostnotedelim}% + \setunit{\postnotedelim}% + \printfield{altpostnote}}}} % ------------------------------------------------------------------ % ALTERNATE POSTNOTE MACROS diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/english-sbl.lbx b/Master/texmf-dist/tex/latex/biblatex-sbl/english-sbl.lbx index e56c07368a1..88b94e5bbeb 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/english-sbl.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/english-sbl.lbx @@ -26,7 +26,8 @@ commonera = {{CE}{CE}}, beforecommonera = {{BCE}{BCE}}, annodomini = {{AD}{AD}}, - beforechrist = {{BC}{BC}} + beforechrist = {{BC}{BC}}, + article = {{article}{art\adddot}}, } \DeclareBibliographyExtras{% diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/german-sbl.lbx b/Master/texmf-dist/tex/latex/biblatex-sbl/german-sbl.lbx index cb98da01851..a6d6fe8b094 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/german-sbl.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/german-sbl.lbx @@ -25,4 +25,5 @@ beforecommonera = {{v\adddotspace u\adddotspace Z\adddot}{v\adddotspace u\adddotspace Z\adddot}}, annodomini = {{n\adddotspace Chr\adddot}{n\adddotspace Chr\adddot}}, beforechrist = {{v\adddotspace Chr\adddot}{v\adddotspace Chr\adddot}}, + article = {{artikel}{art\adddot}}, } diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl-paper.sty b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl-paper.sty index 65a1884b92b..2a44292b3e0 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl-paper.sty +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl-paper.sty @@ -1,4 +1,4 @@ -%Copyright 2015-2018 David Purton +%Copyright 2015-2020 David Purton % %This work may be distributed and/or modified under the %conditions of the LaTeX Project Public License, either version 1.3 @@ -13,7 +13,7 @@ %The Current Maintainer of this work is David Purton. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{sbl-paper} - [2018/05/24 Society of Bibilical Literature Paper Style (DCP)] + [2020/11/04 Society of Bibilical Literature Paper Style (DCP)] % Load required packages @@ -565,7 +565,7 @@ \biblerefmap{Timothy2}{02@\br@newtestament !16} \biblerefmap{Titus}{02@\br@newtestament !17} \biblerefmap{Phlm}{02@\br@newtestament !18} -\biblerefmap{Phlemon}{02@\br@newtestament !18} +\biblerefmap{Philemon}{02@\br@newtestament !18} \biblerefmap{Heb}{02@\br@newtestament !19} \biblerefmap{Hebrews}{02@\br@newtestament !19} \biblerefmap{Jas}{02@\br@newtestament !20} @@ -581,4 +581,14 @@ \biblerefmap{Rev}{02@\br@newtestament !27} \biblerefmap{Revelation}{02@\br@newtestament !27} + +% Style Options + +\DeclareOption{jblstyle}{% + \renewcommand\@makefntext[1]{% + \parindent\footnotemargin\normalsize\@thefnmark.\@\space\footnotelayout #1} + \renewcommand{\footnotelayout}{\raggedright\normalsize\doublespacing}} + +\ProcessOptions\relax + \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.bbx b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.bbx index 4c9ee7f50de..3afa6beffc4 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.bbx @@ -65,7 +65,9 @@ \usebibmacro{bymaintranslator+others}}% \usebibmacro{publisher+location+date}% \newunit} - {\DeclareFieldFormat[ancienttext]{title}{\mkbibemph{##1}}% + {\iffieldequalstr{entrysubtype}{primarysource} + {} + {\DeclareFieldFormat[ancienttext]{title}{\mkbibemph{##1}}}% \clearfield{related}% \usedriver{}{book}}% \usebibmacro{finentry}% diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx index bb745ef0b83..6e67fb24f4f 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.cbx @@ -130,11 +130,23 @@ \sloppy \hangindent 6em\rlap {\printfield[shorthandwidth]{shortjournal}% - \iffieldundef{shorthand} - {\printfield[shorthandwidth]{shortseries}} - {\iffieldsequal{shorthand}{shorttitle} - {\printtext{\mkbibemph{\printfield[shorthandwidth]{shorthand}}}} - {\printfield[shorthandwidth]{shorthand}}}}% + \iffieldsequal{shorthand}{shorttitle} + {\printtext{\mkbibemph{\printfield[shorthandwidth]{shorthand}}}} + {\printfield[shorthandwidth]{shorthand}}% + \ifentrytype{classictext} + {\printfield{shorttitle}} + {}% + \ifboolexpr{ + not test {\iffieldundef{shorthand}} + or + ( + test {\ifentrytype{classictext}} + and + not test {\iffieldundef{shorttitle}} + ) + } + {} + {\printfield{shortseries}}}% \renewcommand*{\bibhypertarget}[2]{##2}% \hskip 6em \setunit{}\usedriver{}{abbreviations}\par } @@ -294,23 +306,50 @@ {\multicitedelim} {\usebibmacro{cite:postnote}} -\DeclareCiteCommand{\citeseries} - {} +\newrobustcmd*{\Citefullauthor}{% + \@ifstar{\bibsentence\citefullauthor*}{\bibsentence\citefullauthor}} + +\DeclareCiteCommand{\citefullauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printnames[given-family]{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citefullauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printnames[given-family][1-1]{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}} + +% Thanks to @moewe (https://tex.stackexchange.com/a/497548/87678) +\newcommand*{\DeclareNestableCiteCommand}[2]{% + \newcommand*{#1}[1]{% + \blx@xsanitizeafter\blx@nocite@do{##1}% + \blx@ifdata{##1} + {\begingroup + \blx@blxinit + \entrydata{##1}{#2}% + \endgroup} + {\abx@missing@entry{##1}}}} + +\DeclareNestableCiteCommand{\citeseries} {\usebibmacro{shortseries}} - {} - {} -\DeclareCiteCommand{\citejournal} - {} +\DeclareNestableCiteCommand{\citejournal} {\usebibmacro{shortjournal}} - {} - {} -\DeclareCiteCommand{\citeshorthand} - {} +\DeclareNestableCiteCommand{\citeshorthand} {\usebibmacro{shorthand}} - {} - {} \newbibmacro*{textcite}{% \ifnameundef{labelname} @@ -457,9 +496,9 @@ {\let\ifciteseen\@firstoftwo}% \usebibmacro{author}% \newunit - \usebibmacro{shorttitlenohyperlink}% \iffieldequalstr{entrysubtype}{churchfather} - {\setunit{\addspace}% + {\usebibmacro{shorttitlenohyperlink}% + \setunit{\addspace}% \printfield{altpostnote}% \DeclareFieldFormat{related}{\mkbibparens{##1}}% \renewcommand*{\begrelateddelim}{\addspace}% @@ -467,7 +506,8 @@ \usebibmacro{related:init}% \usebibmacro{related}% \global\toggletrue{relatedseen}} - {\clearfield{pages}% + {\usebibmacro{classictexttitle}% + \clearfield{pages}% \usebibmacro{volume+part+postnote}% \usebibmacro{classic:translator+series}}% \usebibmacro{finentry}} @@ -663,11 +703,13 @@ {\usebibmacro{xrefshortmaintitle}% \iffieldundef{volume} {} - {\setunit{\addspace}% - \printfield{volume}% - \setunit*{\addperiod}% - \printfield{part}% - \global\booltrue{usevolpostnotedelim}}} + {\iffieldpages{postnote} + {\setunit{\addspace}% + \printfield{volume}% + \setunit*{\addperiod}% + \printfield{part}% + \global\booltrue{usevolpostnotedelim}} + {}}} {\printfield{note}% \newunit \usebibmacro{xrefshortmaintitle}% @@ -743,11 +785,13 @@ {\usebibmacro{xrefshortmaintitle+xrefshortbooktitle}% \iffieldundef{volume} {} - {\setunit{\addspace}% - \printfield{volume}% - \setunit*{\addperiod}% - \printfield{part}% - \global\booltrue{usevolpostnotedelim}}} + {\iffieldpages{postnote} + {\setunit{\addspace}% + \printfield{volume}% + \setunit*{\addperiod}% + \printfield{part}% + \global\booltrue{usevolpostnotedelim}} + {}}} {\usebibmacro{title}% \newunit \printfield{note}% @@ -773,11 +817,13 @@ {\newunit \iffieldundef{volume} {} - {\newunit - \global\booltrue{usevolpostnotedelim}% - \printfield{volume}% - \setunit*{\addperiod}% - \printfield{part}}} + {\iffieldpages{postnote} + {\newunit + \global\booltrue{usevolpostnotedelim}% + \printfield{volume}% + \setunit*{\addperiod}% + \printfield{part}} + {}}} {\newunit \printfield{note}% \newunit diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.dbx b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.dbx index 02f0b2ed216..53ff00bc0fd 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.dbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/sbl.dbx @@ -2,8 +2,12 @@ \DeclareDatamodelEntrytypes{ ancienttext, + classictext, conferencepaper, + mvcommentary, incommentary, + lexicon, + mvlexicon, inlexicon, review, seminarpaper} diff --git a/Master/texmf-dist/tex/latex/biblatex-sbl/spanish-sbl.lbx b/Master/texmf-dist/tex/latex/biblatex-sbl/spanish-sbl.lbx index e6a8345dfa4..d41cf64e046 100644 --- a/Master/texmf-dist/tex/latex/biblatex-sbl/spanish-sbl.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-sbl/spanish-sbl.lbx @@ -25,5 +25,6 @@ commonera = {{e\adddotspace c\adddot}{e\adddotspace c\adddot}}, beforecommonera = {{a\adddotspace e\adddotspace c\adddot}{a\adddotspace e\adddotspace c\adddot}}, annodomini = {{d\adddotspace C\adddot}{d\adddotspace C\adddot}}, - beforechrist = {{a\adddotspace C\adddot}{a\adddotspace C\adddot}} + beforechrist = {{a\adddotspace C\adddot}{a\adddotspace C\adddot}}, + article = {{art{\'i}culo}{art\adddot}}, } -- cgit v1.2.3