diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx index a00b58e13b8..c4fc460d66b 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 0.9a 2010/03/19 19:52:15 lehman beta $ +% $Id: authoryear.bbx,v 0.9d 2010/09/03 20:11:58 lehman beta $ \ProvidesFile{authoryear.bbx} -[\abx@bbxid $Id: authoryear.bbx,v 0.9a 2010/03/19 19:52:15 lehman beta $] +[\abx@bbxid $Id: authoryear.bbx,v 0.9d 2010/09/03 20:11:58 lehman beta $] \RequireBibliographyStyle{standard} \ExecuteBibliographyOptions{labelyear,sorting=nyt,pagetracker} @@ -56,11 +56,12 @@ \finentry} \renewbibmacro*{author}{% - \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND - \NOT\iffirstonpage\AND - \(\NOT\boolean{bbx@inset}\OR - \iffieldequalstr{entrysetcount}{1}\)} + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\usebibmacro{bbx:savehash}% \printnames{author}% @@ -81,11 +82,12 @@ \renewbibmacro*{editor+others}{% \usebibmacro{bbx:editor}{editor+othersstrg}} \newbibmacro*{bbx:editor}[1]{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}} - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND - \NOT\iffirstonpage\AND - \(\NOT\boolean{bbx@inset}\OR - \iffieldequalstr{entrysetcount}{1}\)} + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\printnames{editor}% \setunit{\addcomma\space}% @@ -103,11 +105,12 @@ \renewbibmacro*{translator+others}{% \usebibmacro{bbx:translator}{translator+othersstrg}} \newbibmacro*{bbx:translator}[1]{% - \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}} - {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND - \NOT\iffirstonpage\AND - \(\NOT\boolean{bbx@inset}\OR - \iffieldequalstr{entrysetcount}{1}\)} + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\printnames{translator}% \setunit{\addcomma\space}% @@ -120,6 +123,21 @@ \setunit*{\addspace}}% \usebibmacro{date+extrayear}} +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + } + {#1} + {#2}} + \newbibmacro*{date+extrayear}{% \iffieldundef{year} {} |