summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx82
1 files changed, 39 insertions, 43 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx b/Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx
index a0e2cc121f6..8cbb242700a 100644
--- a/Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-apa/apa.bbx
@@ -1,4 +1,4 @@
-%% apa.bbx v2.9
+%% apa.bbx v3.0
%% Copyright 2011 Philip Kime
%%
%% This work may be distributed and/or modified under the
@@ -160,11 +160,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (APA 6.12) Five author max before "et al" and a one author truncation policy
-% However, only after the first cite, which means we can't use
-% maxnames/minnames and have to do this in the Format for
-% labelname (in the cbx). Anyway, since the truncation is to
-% one name and APA requires we use the biblatex uniquelist
-% functionality, maxnames/minnames isn't really indicated.
+% However, only after the first cite, see the labelname format
+% in .cbx. It's also overridden per-entry by uniquelist
% (APA 6.x) citation tracking is global
% (APA 6.14) uses initials to disambiguate shared surnames
% (APA 6.16) uses year postfix to disambiguate multiple items in same year
@@ -181,8 +178,8 @@
uniquelist=true,%
uniquename=init,%
citetracker=true,%
- maxnames=99,%
- minnames=99,%
+ maxnames=2,%
+ minnames=1,%
abbreviate=true,%
mincrossrefs=999,%
alldates=apalong}
@@ -268,20 +265,33 @@
% last name first.
% (APA 6.27) Ellipsis in 7th position and then nothing until last
% (APA 7.10 Example 67) Unknown names and dates
+%
+
+% \printnames does different things depending on whether the format you are
+% calling is the default for the name field or is a custom format:
+%
+% * Default format (e.g. "labelname" format for printing labelname): no
+% start/stop max/minnames truncation is done first - the format is
+% supposed to do it.
+% * Custom format (e.g. "labelname" format for printing author):
+% max/minnames truncation is done before calling the format so we have
+% to do \printnames[format][-\value{listtotal}]{field} to ensure we get
+% all of the names in the list to work on
\DeclareNameFormat{apaauthor}{%
- \ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{liststop}}
- {\addcomma\addspace\ldots}
- {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{liststop}}
+ \ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
+ {\addcomma\addspace\ldots\addspace}
+ {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\ifthenelse{\iffieldequalstr{usere}{unkauth}\OR\iffieldequalstr{usere}{unkauthdate}}
{\mkbibbrackets{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}?}}
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}}}}
+
\renewbibmacro*{author}{%
\ifnameundef{author}
{\usebibmacro{labeltitle}}
- {\printnames[apaauthor]{author}%
+ {\printnames[apaauthor][-\value{listtotal}]{author}%
\setunit*{\addspace}%
\printfield{nameaddon}}%
\newunit\newblock%
@@ -531,27 +541,13 @@
% (APA 6.27) Editors have first names first ...
% (APA 7.02 Example 27) ... unless there is no author
-\DeclareNameFormat{apatranslator}{%
- \ifthenelse{\value{listcount}=\maxprtauth}
- {\addcomma\addspace\ldots}
- {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{liststop}}
- {}
- {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}}}
-
-\DeclareNameFormat{apaeditor}{%
- \ifthenelse{\value{listcount}=\maxprtauth}
+\DeclareNameFormat{apanames}{%
+ \ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
{\addcomma\addspace\ldots}
- {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{liststop}}
+ {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}}}
-\DeclareNameFormat{editorinauthpos}{%
- \ifthenelse{\value{listcount}=\maxprtauth}
- {\addcomma\addspace\ldots}
- {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{liststop}}
- {}
- {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}}}
-
\renewbibmacro*{author/editor}{%
\ifnameundef{author}
{\ifnameundef{editor}
@@ -562,7 +558,7 @@
\newbibmacro*{editorinauthpos}{%
\global\booltrue{bbx:editorinauthpos}%
- \printnames[editorinauthpos]{editor}%
+ \printnames[apanames][-\value{listtotal}]{editor}%
\setunit{\addspace}%
\ifnameundef{editor}
{}
@@ -631,7 +627,7 @@
{}%
{\ifnamesequal{editor}{translator}%
{\printtext{\bibopenparen}\global\booltrue{bbx:parens}%
- \printnames[apaeditor]{editor}%
+ \printnames[apaenames][-\value{listtotal}]{editor}%
\setunit*{\addcomma\addspace}%
\usebibmacro{apaeditorstrg}{editor}%
\setunit*{\addspace\&\space}%
@@ -640,7 +636,7 @@
{\printtext{\bibopenparen}\global\booltrue{bbx:parens}%
\ifnameundef{editor}%
{}%
- {\printnames[apaeditor]{editor}%
+ {\printnames[apanames][-\value{listtotal}]{editor}%
\setunit{\addcomma\addspace}%
\usebibmacro{apaeditorstrg}{editor}%
\clearname{editor}%
@@ -648,7 +644,7 @@
\setunit*{\addspace\&\space}}%
\ifnameundef{translator}%
{\setunit{}}%
- {\printnames[apatranslator]{translator}%
+ {\printnames[apanames][-\value{listtotal}]{translator}%
\setunit{\addcomma\addspace}%
\printtext{\bibcpstring{translator}}%
\clearname{translator}%
@@ -664,7 +660,7 @@
{}%
{\ifnamesequal{editor}{translator}%
{\usebibmacro{in}%
- \printnames[apaeditor]{editor}%
+ \printnames[apanames][-\value{listtotal}]{editor}%
\setunit{\addspace\bibopenparen\global\booltrue{bbx:parens}}%
\usebibmacro{apaeditorstrg}{editor}%
\setunit*{\addspace\&\space}%
@@ -673,7 +669,7 @@
{\ifnameundef{translator}%
{}%
{\setunit{\relax}%
- \printtext[parens]{\printnames[apatranslator]{translator}%
+ \printtext[parens]{\printnames[apanames][-\value{listtotal}]{translator}%
\setunit{\addcomma\addspace}%
\printtext{\bibcpstring{translator}}}%
\clearname{translator}%
@@ -876,7 +872,7 @@
\newbibmacro*{reviewauthor}{%
\ifnameundef{author}
{\usebibmacro{reviewlabeltitle}}
- {\printnames[apaauthor]{author}}%
+ {\printnames[apaauthor][-\value{listtotal}]{author}}%
\newunit\newblock%
\usebibmacro{labelyear+extrayear}}
@@ -923,13 +919,13 @@
\newbibmacro*{mediaauthor}{%
\ifnameundef{namea}
{}
- {\printnames{namea}%
+ {\printnames[apanames][-\value{listtotal}]{namea}%
\newunit%
\printtext[parens]{\printfield{nameatype}}}
\setunit*{\addcomma\addspace\&\addspace}%
\ifnameundef{nameb}
{}
- {\printnames{nameb}%
+ {\printnames[apanames][-\value{listtotal}]{nameb}%
\setunit{\addspace}%
\printtext[parens]{\printfield{namebtype}}}
\newunit
@@ -974,7 +970,7 @@
{\usebibmacro{in}%
\ifnameundef{namec}
{}
- {\printnames{namec}%
+ {\printnames[apanames][-\value{listtotal}]{namec}%
\setunit{\addspace}%
\printtext[parens]{\printfield{namectype}}}
\setunit{\addcomma\addspace}%
@@ -1608,28 +1604,28 @@
\newbibmacro*{editorx}{%
\ifnameundef{editor}
{}
- {\printnames[apaeditor]{editor}%
+ {\printnames[apanames][-\value{listtotal}]{editor}%
\setunit{\addspace}%
\printtext[parens]{\usebibmacro{apaeditorstrg}{editor}}
\clearname{editor}%
\newunit}%
\ifnameundef{editora}
{}
- {\printnames[apaeditor]{editora}%
+ {\printnames[apanames][-\value{listtotal}]{editora}%
\setunit{\addspace}%
\printtext[parens]{\usebibmacro{apaeditorstrg}{editora}}
\clearname{editora}%
\newunit}%
\ifnameundef{editorb}
{}
- {\printnames[apaeditor]{editorb}%
+ {\printnames[apanames][-\value{listtotal}]{editorb}%
\setunit{\addspace}%
\printtext[parens]{\usebibmacro{apaeditorstrg}{editorb}}
\clearname{editorb}%
\newunit}%
\ifnameundef{editorc}
{}
- {\printnames[apaeditor]{editorc}%
+ {\printnames[apanames][-\value{listtotal}]{editorc}%
\setunit{\addspace}%
\printtext[parens]{\usebibmacro{apaeditorstrg}{editorc}}
\clearname{editorc}%