diff options
author | Karl Berry <karl@freefriends.org> | 2016-06-10 23:19:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-06-10 23:19:49 +0000 |
commit | 2c2c946f8d03ae0186f96e1ee55e9c2a25699a5c (patch) | |
tree | 06d27949c166081d7dc9ad6d8d0a3ec7d134cfb2 /Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx | |
parent | 99e1b8c2020d443341a08f20f77dda1392366246 (diff) |
biblatex-abnt (7jun16)
git-svn-id: svn://tug.org/texlive/trunk@41353 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx | 194 |
1 files changed, 155 insertions, 39 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx b/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx index 45094f1cd9c..073aae49dcc 100644 --- a/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx @@ -9,10 +9,10 @@ %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is Daniel B. Marques. -\ProvidesFile{abnt.cbx}[2016/05/12\space v1.0\space ABNT biblatex citation style] +\ProvidesFile{abnt.cbx}[2016/05/12\space v1.0.1\space ABNT biblatex citation style] \RequireBiber[3] \RequireCitationStyle{authoryear} @@ -60,20 +60,71 @@ % DeclareNameFormat % ---------- -\DeclareNameFormat{last}{% - \nameparts{#1}% - \usebibmacro{name:family-given} - {\namepartfamily} - {}{}{}} - \DeclareNameFormat{LAST}{% \nameparts{#1}% - \usebibmacro{name:family-given} + \ifcase\value{uniquename}% + \usebibmacro{name:family} + {\iftoggle{sccite} + {\textsc{\MakeLowercase{\namepartfamily}}} + {\MakeUppercase{\namepartfamily}}} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \or + \ifuseprefix + {\usebibmacro{name:given-family} + {\iftoggle{sccite} + {\textsc{\MakeLowercase{\namepartfamily}}} + {\MakeUppercase{\namepartfamily}}} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffixi}} + {\usebibmacro{name:given-family} {\iftoggle{sccite} {\textsc{\MakeLowercase{\namepartfamily}}} {\MakeUppercase{\namepartfamily}}} - {}{}{}} - + {\namepartgiveni} + {\namepartprefixi} + {\namepartsuffixi}}% + \or + \usebibmacro{name:given-family} + {\iftoggle{sccite} + {\textsc{\MakeLowercase{\namepartfamily}}} + {\MakeUppercase{\namepartfamily}}} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \fi + \usebibmacro{name:andothers}} + +\DeclareNameFormat{fullcite}{% + \nameparts{#1}% + \ifcase\value{uniquename}% + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \or + \ifuseprefix + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffixi}} + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefixi} + {\namepartsuffixi}}% + \or + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \fi + \usebibmacro{name:andothers}} % ---------- % DeclareFieldFormat @@ -87,7 +138,7 @@ % ---------- \NewDocumentCommand{\textapud}{o o m o o m}{% - \citelastname{#3} + \citelastname{#3} \mkbibparens{% \IfNoValueTF{#2} {% @@ -97,7 +148,7 @@ } {% \citeyear[#1][#2]{#3}% - } + } \IfNoValueTF{#5} {% \IfNoValueTF{#4} @@ -106,7 +157,7 @@ } {% \cite[\blx@imc@bibxstring{apud} #4][#5]{#6}% - }% + }% }} \DeclareMultiCiteCommand{\apud}[\addapud\mkbibparens] @@ -114,7 +165,8 @@ {\setunit{\multicitedelim}} \DeclareCiteCommand{\@apud} - {\iffieldundef{prenote} + {\usebibmacro{cite:init}% + \iffieldundef{prenote} {} {\printfield[uppercasecite]{prenote} \addspace\bibstring{apud}\addspace}} @@ -122,16 +174,26 @@ \usebibmacro{cite}} {\setunit{\multicitedelim}} {\usebibmacro{postnote}} - + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + \DeclareCiteCommand{\cite}[\mkbibparens] - {\usebibmacro{prenote}} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} - {\multicitedelim} + {} {\usebibmacro{postnote}} - + \DeclareCiteCommand{\plaincite} - {\usebibmacro{prenote}} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} @@ -142,14 +204,16 @@ {\setunit{\multicitedelim}} \DeclareCiteCommand*{\cite}[\mkbibparens] - {\usebibmacro{prenote}} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} {\usebibmacro{citeindex}% - \usebibmacro{citeyear}} - {\multicitedelim} + \usebibmacro{citeyearpunct}} + {} {\usebibmacro{postnote}} \DeclareCiteCommand{\textcite} - {\boolfalse{cbx:parens}% + {\usebibmacro{cite:init}% + \boolfalse{cbx:parens}% \renewcommand*{\finalnamedelim}{\addspace\bibstring{and}\addspace}% \renewcommand*{\multinamedelim}{\addcomma\addspace}} {\usebibmacro{citeindex}% @@ -164,7 +228,8 @@ {\usebibmacro{textcite:postnote}} \DeclareCiteCommand*{\textcite} - {\boolfalse{cbx:parens}% + {\usebibmacro{cite:init}% + \boolfalse{cbx:parens}% \renewcommand*{\finalnamedelim}{\addspace\bibstring{and}\addspace}% \renewcommand*{\multinamedelim}{\addcomma\addspace}} {\usebibmacro{citeindex}% @@ -179,7 +244,8 @@ {\usebibmacro{textcite:postnote}} \DeclareCiteCommand{\citetitle}[\mkbibparens] - {\boolfalse{citetracker}% + {\usebibmacro{cite:init}% + \boolfalse{citetracker}% \boolfalse{pagetracker}% \usebibmacro{prenote}} {\ifciteindex @@ -190,7 +256,8 @@ {\usebibmacro{postnote}} \DeclareCiteCommand*{\citetitle} - {\boolfalse{citetracker}% + {\usebibmacro{cite:init}% + \boolfalse{citetracker}% \boolfalse{pagetracker}% \usebibmacro{prenote}} {\ifciteindex @@ -201,13 +268,14 @@ {\usebibmacro{postnote}} \DeclareCiteCommand{\citelastname} - {\boolfalse{citetracker}% + {\usebibmacro{cite:init}% + \boolfalse{citetracker}% \boolfalse{pagetracker}% \usebibmacro{prenote}} {\ifciteindex {\indexnames{labelname}} {}% - \printnames[last]{labelname}} + \printnames{labelname}} {\multicitedelim} {\usebibmacro{postnote}} @@ -216,6 +284,9 @@ % newbibmacro % ---------- +\newbibmacro*{cite:init}{% + \global\undef\cbx@lasthash} + \newbibmacro*{cite:author}{% \printtext[bibhyperref]{\printfield{author}}} @@ -231,7 +302,7 @@ {}% \usebibmacro{cite:labelyear+extrayear}} {\usebibmacro{cite:shorthand}}} - {\printnames[last]{labelname}% + {\printnames{labelname}% \setunit{% \global\booltrue{cbx:parens}% \addspace\bibopenparen}% @@ -252,7 +323,7 @@ {}% \usebibmacro{cite:labelyear+extrayear}} {\usebibmacro{cite:shorthand}}} - {\printnames[full]{labelname}% + {\printnames[fullcite]{labelname}% \setunit{% \global\booltrue{cbx:parens}% \addspace\bibopenparen}% @@ -262,18 +333,63 @@ \usebibmacro{citeyear}}} \renewbibmacro*{cite}{% - \iffieldundef{shorthand} - {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} - {\usebibmacro{cite:label}% - \setunit{\nameyeardelim}} - {\printnames[LAST]{labelname}% - \setunit{\nameyeardelim}}% - \usebibmacro{cite:labelyear+extrayear}} - {\usebibmacro{cite:shorthand}}} + \iffieldequals{fullhash}{\cbx@lasthash} +% Multiple cites in one command + {\setunit{\compcitedelim}% + \usebibmacro{cite:plabelyear+extrayear}}% +% Single cite + {\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}} +% No author/editor + {\usebibmacro{cite:noname}% + \setunit{\nameyeardelim}% + \usebibmacro{cite:plabelyear+extrayear}% + \savefield{fullhash}{\cbx@lasthash}} +% Normal cite + {\ifnameundef{shortauthor} + {\printnames[LAST]{labelname}}% + {\printnames[LAST]{shortauthor}}% + \setunit{\nameyeardelim}% + \usebibmacro{cite:plabelyear+extrayear}% + \savefield{fullhash}{\cbx@lasthash}}}% + \setunit{\multicitedelim}} + +\def\citeresetabnt{\global\let\cbx@abnt@names\@empty} +\citeresetabnt +\def\cbx@abnt@ifnamesaved{% + \xifinlist{\thefield{fullhash}}{\cbx@abnt@names} + {\@firstoftwo} + {\@secondoftwo}} \renewbibmacro*{cite:label}{% \iffieldundef{label} {\printtext[bibhyperref]{\printfield[uppercasecite]{labeltitle}}} {\printtext[bibhyperref]{\printfield{label}}}} +\newbibmacro*{cite:plabelyear+extrayear}{% + \iffieldundef{labelyear} + {} + {\printtext[bibhyperref]{% + \printfield[noformat]{origyear}\setunit*{\addslash}% + \printfield{labelyear}\printfield{extrayear}}}% + \iffieldundef{issue} + {} + {\addcomma\addspace\printfield{issue}}} + +\renewbibmacro*{cite:shorthand}{% + \ifciteseen + {\printfield{shorthand}} + {\printnames[labelname][-\value{listtotal}]{labelname}% + \setunit{\nameyeardelim}% + \printfield{title}\space\printfield{shorthand}}} + +\newbibmacro*{citeyearpunct}{% + \iffieldundef{labelyear} + {\usebibmacro{cite:init}} + {\iffieldequals{fullhash}{\cbx@lasthash} + {\setunit{\compcitedelim}% + \usebibmacro{cite:plabelyear+extrayear}} + {\usebibmacro{cite:plabelyear+extrayear}% + \savefield{fullhash}{\cbx@lasthash}}}% + \setunit{\multicitedelim}} + \endinput |