diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-abnt/abnt-ibid.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-abnt/abnt-ibid.cbx | 180 |
1 files changed, 129 insertions, 51 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-abnt/abnt-ibid.cbx b/Master/texmf-dist/tex/latex/biblatex-abnt/abnt-ibid.cbx index 094adc0bb4e..cff248116d2 100644 --- a/Master/texmf-dist/tex/latex/biblatex-abnt/abnt-ibid.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-abnt/abnt-ibid.cbx @@ -1,4 +1,4 @@ -%% Copyright 2016 Daniel B. Marques +%% Copyright 2016 Daniel Ballester Marques %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -10,67 +10,144 @@ %% %% This work has the LPPL maintenance status `maintained'. %% -%% The Current Maintainer of this work is Daniel B. Marques. +%% The Current Maintainer of this work is Daniel Ballester Marques. \ProvidesFile{abnt-ibid.cbx}% -[2017/07/28\space v3.1\space ABNT BibLaTeX citation style]% +[2017/11/09\space v3.2\space ABNT BibLaTeX citation style]% -\newtoggle{sccite}% +% Init >>>1 + +\RequirePackage{xparse}% +\RequirePackage{xpatch}% +\RequirePackage{expl3}% +\RequirePackage{l3regex}% + +% <<<1 % Format >>>1 -\DeclareFieldFormat{citetitle}{%% >>>2 +\newcommand*{\UpperOrSCCite}[1]{% >>>2 \iftoggle{sccite}{% - \normalfont\textsc{\MakeLowercase{\FirstWord{#1}}}% + \textsc{\MakeLowercase{#1}}% }{% - \normalfont\MakeUppercase{\FirstWord{#1}}% + \MakeUppercase{#1}% }% -}%% <<<2 +}% <<<2 + +\newcommand*{\NormalOrSCCite}[1]{% >>>2 + \iftoggle{sccite}{% + \textsc{\MakeLowercase{#1}}% + }{% + #1% + }% +}% <<<2 -\DeclareNameFormat{LAST}{%% >>>2 +% \IfInitial >>>2 + +\ExplSyntaxOn + +\NewDocumentCommand{\IfInitial}{mmm}{% + \regex_match:nVTF {\w\.} \namepartgiven {#2} {#3}% +} +\cs_generate_variant:Nn \regex_match:nnTF { nV } + +\ExplSyntaxOff + +% <<<2 + +\renewbibmacro*{name:family}[4]{% >>>2 + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifdefvoid{#3}{}{% + \ifcapital{% + \iftoggle{sccite}{% + \mkbibnameprefix{#3}\isdot% + }{% + \mkbibnameprefix{\MakeCapital{#3}}\isdot% + } + }{% + \mkbibnameprefix{#3}\isdot% + }% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}} + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}% <<<2 + +\DeclareNameFormat{labelname}{% >>>2 + % Use family-given instead of given-family \ifcase\value{uniquename}% \usebibmacro{name:family}% - {\iftoggle{sccite}% - {\textsc{\MakeLowercase{\namepartfamily}}}% - {\MakeUppercase{\namepartfamily}}}% + {\namepartfamily}% {\namepartgiven}% {\namepartprefix}% {\namepartsuffix}% \or% \ifuseprefix% - {\usebibmacro{name:given-family}% - {\iftoggle{sccite}% - {\textsc{\MakeLowercase{\namepartfamily}}}% - {\MakeUppercase{\namepartfamily}}}% + {\usebibmacro{name:family-given}% + {\namepartfamily}% {\namepartgiveni}% {\namepartprefix}% {\namepartsuffixi}}% - {\usebibmacro{name:given-family}% - {\iftoggle{sccite}% - {\textsc{\MakeLowercase{\namepartfamily}}}% - {\MakeUppercase{\namepartfamily}}}% + {\usebibmacro{name:family-given}% + {\namepartfamily}% {\namepartgiveni}% {\namepartprefixi}% {\namepartsuffixi}}% \or% - \usebibmacro{name:given-family}% - {\iftoggle{sccite}% - {\textsc{\MakeLowercase{\namepartfamily}}}% - {\MakeUppercase{\namepartfamily}}}% + \usebibmacro{name:family-given}% + {\namepartfamily}% {\namepartgiven}% {\namepartprefix}% {\namepartsuffix}% \fi% - \usebibmacro{name:andothers}% + \usebibmacro{name:andothers}}% <<<2 + +\let\origmkbibnamefamily\mkbibnamefamily% +\let\origmkbibnamegiven\mkbibnamegiven% +\let\origmkbibnameprefix\mkbibnameprefix% +\let\origmkbibnamesuffix\mkbibnamesuffix% + +\renewcommand*{\mkbibnamefamily}[1]{% >>>2 + \UpperOrSCCite{#1}% +}% <<<2 +\renewcommand*{\mkbibnamegiven}[1]{% >>>2 + \ifnumequal{\value{uniquename}}{2}{% + \IfInitial{#1}{\NormalOrSCCite{#1}}{#1}% + }{% + \NormalOrSCCite{#1}% + }% +}% <<<2 +\renewcommand*{\mkbibnameprefix}[1]{% >>>2 + \ifuseprefix{% + \UpperOrSC{#1}% + }{% + \ifnumequal{\value{uniquename}}{2}{#1}{\NormalOrSCCite{#1}}% + } +}% <<<2 +\renewcommand*{\mkbibnamesuffix}[1]{% >>>2 + \UpperOrSCCite{#1}% }% <<<2 -% \DeclareDelimFormat{nameyeardelim}{\addcomma\addspace}% +\DeclareFieldFormat{firstword}{%% >>>2 + \iftoggle{sccite}{% + \normalfont\textsc{\MakeLowercase{\FirstWord{#1}}}% + }{% + \normalfont\MakeUppercase{\FirstWord{#1}}% + }% +}%% <<<2 + \renewcommand*{\nameyeardelim}{\addcomma\addspace}% % <<<1 % Options >>>1 +\newtoggle{sccite}% + \DeclareBibliographyOption{sccite}[true]{ \settoggle{sccite}{#1}% } @@ -285,7 +362,7 @@ \newbibmacro*{footcite:short}{% \ifnameundef{labelname}{% \printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}% + \printfield[firstword]{labeltitle}% }% }{% \printnames[LAST]{labelname}% @@ -295,7 +372,7 @@ }{% \printtext[bibhyperlink]{% \printfield{labelyear}% - \printfield{extrayear}% + \printfield{extradate}% }% }% }% <<<2 @@ -303,7 +380,7 @@ \newbibmacro*{footcite:loccit}{% >>>2 \ifnameundef{labelname}{% \printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}% + \printfield[firstword]{labeltitle}% }% }{% \printnames[LAST]{labelname}% @@ -316,7 +393,7 @@ \newbibmacro*{footcite:opcit}{% >>>2 \ifnameundef{labelname}{% \printtext[bibhyperref]{% - \printfield[citetitle]{labeltitle}% + \printfield[firstword]{labeltitle}% }% }{% \printnames[LAST]{labelname}% @@ -332,7 +409,7 @@ }{% \printtext[bibhyperlink]{% \printfield{labelyear}% - \printfield{extrayear}% + \printfield{extradate}% }% }% }% <<<2 @@ -423,24 +500,16 @@ \space}% }% <<<2 -\newcommand{\addand}{%% >>>2 - \renewcommand*{\multicitedelim}{% - \ifnumequal{\value{multicitecount}}{\value{multicitetotal}}% - {\space\bibstring{and}}% - {\addsemicolon}% - \space}% - \renewcommand*{\textcitedelim}{% - \ifnumequal{\value{multicitecount}}{\value{multicitetotal}}% - {\addspace\bibstring{and}}% - {\addsemicolon}% - \space}% -}% <<<2 - -\DeclareCiteCommand{\@apud}[\mkbibfootnote]% >>>2 - {\iffieldundef{prenote}% - {}% - {\printfield[uppercasecite]{prenote}% - \addspace\bibstring{apud}\addspace}}% +\DeclareCiteCommand{\@apud}% >>>2 + {\iffieldundef{prenote}{}{% + \ifnumgreater{\value{multicitetotal}}{1}{% + \usebibmacro{prenote}% + }{% + \printfield[uppercasecite]{prenote}% + \isdot\addspace\bibstring{apud}\addspace% + }% + }% + }% {\usebibmacro{citeindex}% \usebibmacro{footcite:short}}% {\setunit{\multicitedelim}}% @@ -455,9 +524,9 @@ % textcite >>>1 -\renewbibmacro*{textcite}{% >>>2 +\newbibmacro*{textcite}{% >>>2 \ifnameundef{labelname}% - {\printfield[citetitle]{labeltitle}}% + {\printfield[firstword]{labeltitle}}% {\printnames{labelname}}}% <<<2 \newbibmacro*{textcite:init}{% >>>2 @@ -542,6 +611,15 @@ \renewbibmacro{multiprenote}{}% \renewbibmacro{multipostnote}{}}}{}{}% <<<2 +\xpretobibmacro{textcite}{% >>>3 + \let\multinamedelim\multinamedelimorig% + \let\finalnamedelim\finalnamedelimorig% + \let\mkbibnamefamily\origmkbibnamefamily% + \let\mkbibnamegiven\origmkbibnamegiven% + \let\mkbibnameprefix\origmkbibnameprefix% + \let\mkbibnamesuffix\origmkbibnamesuffix% +}{}{}% <<<3 + % <<<1 \endinput% |