summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx147
1 files changed, 110 insertions, 37 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
index 5e0c024ae92..460661290bd 100644
--- a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
@@ -1,7 +1,7 @@
-% $Id: authoryear.bbx,v 1.1a 2011/01/08 13:30:00 lehman stable $
+% $Id: authoryear.bbx,v 1.1b 2011/02/04 11:36:21 lehman stable $
\ProvidesFile{authoryear.bbx}
-[\abx@bbxid $Id: authoryear.bbx,v 1.1a 2011/01/08 13:30:00 lehman stable $]
+[\abx@bbxid $Id: authoryear.bbx,v 1.1b 2011/02/04 11:36:21 lehman stable $]
\RequireBibliographyStyle{standard}
@@ -9,12 +9,116 @@
\ifstrequal{#1}{true}
{\ExecuteBibliographyOptions{pagetracker}%
\renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}}
- {\ExecuteBibliographyOptions{pagetracker=false}%
- \renewbibmacro*{bbx:savehash}{}}}
+ {\renewbibmacro*{bbx:savehash}{}}}
\DeclareBibliographyOption{mergedate}[true]{%
- \setbool{bbx:mergedate}{#1}}
-\newbool{bbx:mergedate}
+ \ifcsdef{bbx@opt@mergedate@#1}
+ {\csuse{bbx@opt@mergedate@#1}}
+ {\PackageError{biblatex}
+ {Invalid option 'mergedate=#1'}
+ {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak
+ 'true' (=compact), and 'false'.}}}
+
+\providebibmacro*{date+extrayear}{}
+
+\def\bbx@opt@mergedate@true{\bbx@opt@mergedate@compact}
+
+\def\bbx@opt@mergedate@maximum{%
+ \renewbibmacro*{date+extrayear}{%
+ \iffieldundef{year}
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdateextra}}}%
+ \renewbibmacro*{date}{}%
+ \renewbibmacro*{issue+date}{}%
+}
+
+\def\bbx@opt@mergedate@compact{%
+ \renewbibmacro*{date+extrayear}{%
+ \iffieldundef{year}
+ {}
+ {\printtext[parens]{\printdateextra}}}%
+ \renewbibmacro*{date}{}%
+ \renewbibmacro*{issue+date}{%
+ \iffieldundef{issue}
+ {}
+ {\printtext[parens]{\printfield{issue}}}
+ \newunit}%
+}
+
+\def\bbx@opt@mergedate@basic{%
+ \renewbibmacro*{date+extrayear}{%
+ \iffieldundef{year}
+ {}
+ {\printtext[parens]{%
+ \printfield{labelyear}%
+ \printfield{extrayear}}}}%
+ \renewbibmacro*{date}{%
+ \iffieldundef{month}
+ {}
+ {\printdate}}%
+ \renewbibmacro*{issue+date}{%
+ \ifboolexpr{
+ test {\iffieldundef{issue}}
+ and
+ test {\iffieldundef{month}}
+ }
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdate}}%
+ \newunit}%
+}
+
+\def\bbx@opt@mergedate@minimum{%
+ \renewbibmacro*{date+extrayear}{%
+ \iffieldundef{year}
+ {}
+ {\printtext[parens]{%
+ \printfield{labelyear}%
+ \printfield{extrayear}}}}%
+ \renewbibmacro*{date}{%
+ \ifboolexpr{
+ test {\iffieldundef{month}}
+ and
+ test {\iffieldundef{extrayear}}
+ }
+ {}
+ {\printdate}}%
+ \renewbibmacro*{issue+date}{%
+ \ifboolexpr{
+ test {\iffieldundef{issue}}
+ and
+ test {\iffieldundef{month}}
+ and
+ test {\iffieldundef{extrayear}}
+ }
+ {}
+ {\printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdate}}%
+ \newunit}%
+}
+
+\def\bbx@opt@mergedate@false{%
+ \renewbibmacro*{date+extrayear}{%
+ \iffieldundef{year}
+ {}
+ {\printtext[parens]{%
+ \printfield{labelyear}%
+ \printfield{extrayear}}}}%
+ \renewbibmacro*{date}{\printdate}%
+ \renewbibmacro*{issue+date}{%
+ \printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \printdate}%
+ \newunit}%
+}
\ExecuteBibliographyOptions{labelyear,sorting=nyt,pagetracker,mergedate}
@@ -145,15 +249,6 @@
{#1}
{#2}}
-\newbibmacro*{date+extrayear}{%
- \iffieldundef{year}
- {}
- {\printtext[parens]{%
- \ifbool{bbx:mergedate}
- {\printdateextra}
- {\printfield{labelyear}%
- \printfield{extrayear}}}}}
-
\newbibmacro*{labeltitle}{%
\iffieldundef{label}
{\iffieldundef{shorttitle}
@@ -162,26 +257,4 @@
{\printfield[title]{shorttitle}}}
{\printfield{label}}}
-\renewbibmacro*{issue+date}{%
- \ifbool{bbx:mergedate}
- {\iffieldundef{issue}
- {}
- {\printtext[parens]{\printfield{issue}}}}
- {\printtext[parens]{%
- \iffieldundef{issue}
- {\usebibmacro{date}}
- {\printfield{issue}%
- \setunit*{\addspace}%
- \usebibmacro{date}}}}
- \newunit}
-
-\renewbibmacro*{date}{%
- \ifboolexpr{
- bool {bbx:mergedate}
- or
- test {\iffieldundef{month}}
- }
- {}
- {\printdate}}
-
\endinput