summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-06-10 23:19:49 +0000
committerKarl Berry <karl@freefriends.org>2016-06-10 23:19:49 +0000
commit2c2c946f8d03ae0186f96e1ee55e9c2a25699a5c (patch)
tree06d27949c166081d7dc9ad6d8d0a3ec7d134cfb2 /Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx
parent99e1b8c2020d443341a08f20f77dda1392366246 (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.cbx194
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