diff options
author | Karl Berry <karl@freefriends.org> | 2016-08-08 21:10:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-08-08 21:10:47 +0000 |
commit | 8b010bf175fc702c012330bbeb23459abfa08ebd (patch) | |
tree | 55115abddbb293d6477492e5322b3653e1a738b8 /Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx | |
parent | f911b110d65d1bc8b33b9ad28d4ead401cf0bae3 (diff) |
biblatex-abnt
git-svn-id: svn://tug.org/texlive/trunk@41824 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 | 514 |
1 files changed, 514 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx b/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx new file mode 100644 index 00000000000..856e75a2b0d --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-abnt/abnt.cbx @@ -0,0 +1,514 @@ +%% Copyright 2016 Daniel B. Marques +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% 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/07/06\space v2.0.1\space ABNT biblatex citation style]% + +\RequireBiber[3] +\RequireCitationStyle{authoryear} + +\RequirePackage{xparse} + +\newcommand{\addapud}{% + \renewcommand*{\multicitedelim}{% + \ifnumequal{\value{multicitecount}}{\value{multicitetotal}}% + {\space\bibstring{apud}}% + {\addsemicolon}% + \space}% + \renewcommand*{\textcitedelim}{% + \ifnumequal{\value{multicitecount}}{\value{multicitetotal}}% + {\addspace\bibstring{apud}}% + {\addsemicolon}% + \space}% +} + +\newcommand{\addand}{% + \renewcommand*{\multicitedelim}{% + \ifnumequal{\value{multicitecount}}{\value{multicitetotal}}% + {\space\bibstring{and}}% + {\addsemicolon}% + \space}% + \renewcommand*{\textcitedelim}{% + \ifnumequal{\value{multicitecount}}{\value{multicitetotal}}% + {\addspace\bibstring{and}}% + {\addsemicolon}% + \space}% +} + +\DeclareFieldFormat{uppercasecite}{% + \iftoggle{sccite}{% + \textsc{\smartlowercase{#1}}% + }{% + \smartuppercase{#1}% + }% +} + +% ---------- +% Options +% ---------- + +% Option to use small caps in the citations. +\newtoggle{sccite} +\DeclareBibliographyOption{sccite}[true]{% + \settoggle{sccite}{#1}} + + +% ---------- +% DeclareNameFormat +% ---------- + +\DeclareNameFormat{LAST}{% + \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}{% + \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 +% ---------- + +\DeclareFieldFormat{emphtitle}{\emph{#1}} + +\DeclareFieldFormat{citetitle}{% + \iftoggle{sccite}{% + \normalfont\textsc{\MakeLowercase{\FirstWord{#1}}}% + }{% + \normalfont\MakeUppercase{\FirstWord{#1}}% + }% +}% + + +% ---------- +% DeclareCiteCommand +% ---------- + +\NewDocumentCommand{\textapud}{o o m o o m}{% + \citelastname{#3} + \mkbibparens{% + \IfNoValueTF{#2} + {% + \IfNoValueTF{#1} + {\citeyear*{#3}} + {\citeyear*[#1]{#3}}% + } + {% + \citeyear*[#1][#2]{#3}% + } + \IfNoValueTF{#5} + {% + \IfNoValueTF{#4} + {\plaincite[\blx@imc@bibxstring{apud}][]{#6}} + {\plaincite[\blx@imc@bibxstring{apud}][#4]{#6}}% + } + {% + \cite[\blx@imc@bibxstring{apud} #4][#5]{#6}% + }% + }} + +\DeclareMultiCiteCommand{\apud}[\addapud\mkbibparens] + {\@apud} + {\setunit{\multicitedelim}} + +\DeclareCiteCommand{\@apud} + {\usebibmacro{cite:init}% + \iffieldundef{prenote}% + {}% + {\printfield[uppercasecite]{prenote}% + \addspace\bibstring{apud}\addspace}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}}% + {\setunit{\multicitedelim}}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}}% + {}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\cite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}}% + {}% + {\usebibmacro{postnote}} + +\DeclareMultiCiteCommand{\cites}[\mkbibparens] + {\cite}% + {\setunit{\multicitedelim}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}}% + {}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\plaincite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}}% + {\multicitedelim}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {\usebibmacro{cite:init}% + \boolfalse{cbx:parens}% + \renewcommand*{\finalnamedelim}{\addspace\bibstring{and}\addspace}% + \renewcommand*{\multinamedelim}{\addcomma\addspace}}% + {\usebibmacro{citeindex}% + \iffirstcitekey% + {\setcounter{textcitetotal}{1}}% + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}}% + {\ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}}% + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand*{\textcite} + {\usebibmacro{cite:init}% + \boolfalse{cbx:parens}% + \renewcommand*{\finalnamedelim}{\addspace\bibstring{and}\addspace}% + \renewcommand*{\multinamedelim}{\addcomma\addspace}}% + {\usebibmacro{citeindex}% + \iffirstcitekey% + {\setcounter{textcitetotal}{1}}% + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcitefull}}% + {\ifbool{cbx:parens}% + {\bibcloseparen\global\boolfalse{cbx:parens}}% + {}}% + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\citetitle}[\mkbibparens] + {\usebibmacro{cite:init}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}}% + {\ifciteindex% + {\indexfield{indextitle}}% + {}% + \printtext[bibhyperref]{\printfield[emphtitle]{labeltitle}}}% + {\multicitedelim}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citetitle} + {\usebibmacro{cite:init}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}}% + {\ifciteindex% + {\indexfield{indextitle}}% + {}% + \printtext[bibhyperref]{\printfield[emphtitle]{labeltitle}}}% + {\multicitedelim}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citelastname} + {\usebibmacro{cite:init}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}}% + {\ifciteindex% + {\indexnames{labelname}}% + {}% + \printtext[bibhyperref]{\printnames{labelname}}}% + {\multicitedelim}% + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeauthor}[\mkbibparens] + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printtext[bibhyperref]{\printnames[LAST]{labelname}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citeauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printtext[bibhyperref]{\printnames{labelname}}}% + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeyear}[\mkbibparens] + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield[bibhyperref]{year}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citeyear} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield[bibhyperref]{year}} + {\multicitedelim} + {\usebibmacro{postnote}} + + +% ---------- +% newbibmacro +% ---------- + +\newbibmacro*{cite:noname}{% + \printfield[citetitle]{title}} + +\newbibmacro*{cite:init}{% + \global\undef\cbx@lasthash} + +\newbibmacro*{cite:author}{% + \printtext[bibhyperref]{\printfield{author}}} + +\renewbibmacro*{textcite}{% + \ifnameundef{labelname}% + {\iffieldundef{shorthand}% + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \nonameyeardelim\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:labelyear+extrayear}}% + {\usebibmacro{cite:shorthand}}}% + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{citeyear}}} + +\newbibmacro*{textcitefull}{% + \ifnameundef{labelname}% + {\iffieldundef{shorthand}% + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \nonameyeardelim\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:labelyear+extrayear}}% + {\usebibmacro{cite:shorthand}}}% + {\printnames[fullcite]{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1}% + {\usebibmacro{prenote}}% + {}% + \usebibmacro{citeyear}}} + +\renewbibmacro*{cite}{% + \iffieldequals{fullhash}{\cbx@lasthash}% + {\usebibmacro{cite:plabelyear+extrayear}}% + {\iffieldundef{shorthand}{% + \ifnameundef{shortauthor}{% + \ifnameundef{holder}{% + \ifnameundef{labelname}{% + \iflistundef{organization}{% + \usebibmacro{cite:noname}% + }{% + \printlist[uppercase]{organization}% + } + }{% + \printtext[bibhyperref]{\printnames[LAST]{labelname}}% + } + }{% + \printnames[LAST]{holder}% + } + }{% + \printnames[LAST]{shortauthor}% + } + }{% + \usebibmacro{cite:shorthand} + } + \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}{% + \printtext[bibhyperref]{\emph{\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}} + + +% Get the whole thing inside bibhyperref (including punctuation) + +\DeclareFieldFormat{citehyperref}{% + \DeclareFieldAlias{bibhyperref}{noformat}% Avoid nested links + \bibhyperref{#1}} + +\DeclareFieldFormat{textcitehyperref}{% + \DeclareFieldAlias{bibhyperref}{noformat}% Avoid nested links + \bibhyperref{% + #1% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + +\savebibmacro{cite} +\savebibmacro{textcite} +\savebibmacro{textcitefull} + +\renewbibmacro*{cite}{% + \printtext[citehyperref]{% + \restorebibmacro{cite}% + \usebibmacro{cite}}} + +\renewbibmacro*{textcite}{% + \ifboolexpr{ + ( not test {\iffieldundef{prenote}} and + test {\ifnumequal{\value{citecount}}{1}} ) + or + ( not test {\iffieldundef{postnote}} and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} ) + } + {\DeclareFieldAlias{textcitehyperref}{noformat}} + {}% + \printtext[textcitehyperref]{% + \restorebibmacro{textcite}% + \usebibmacro{textcite}}} + +\renewbibmacro*{textcitefull}{% + \ifboolexpr{ + ( not test {\iffieldundef{prenote}} and + test {\ifnumequal{\value{citecount}}{1}} ) + or + ( not test {\iffieldundef{postnote}} and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} ) + } + {\DeclareFieldAlias{textcitehyperref}{noformat}} + {}% + \printtext[textcitehyperref]{% + \restorebibmacro{textcitefull}% + \usebibmacro{textcitefull}}} + + +\newcommand\FirstWord[1]{\@firstword#1 \@nil}% +\def\@firstword#1 #2\@nil{\@removecomma#1,\@nil}% +\def\@removecomma#1,#2\@nil{\@removeperiod#1.\@nil} +\def\@removeperiod#1.#2\@nil{\@removesemicolon#1;\@nil} +\def\@removesemicolon#1;#2\@nil{#1} + +\endinput |