% $Id: authoryear.bbx,v 1.7 2011/11/13 19:09:07 lehman stable $ \ProvidesFile{authoryearmodsm.bbx} [\abx@bbxid $Id: authoryear.bbx,v 1.7 2011/11/13 19:09:07 lehman stable $] \RequireBibliographyStyle{standard} \DeclareBibliographyOption{dashed}[true]{% \ifstrequal{#1}{true} {\ExecuteBibliographyOptions{pagetracker}% \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} {\renewbibmacro*{bbx:savehash}{}}} \DeclareBibliographyOption{mergedate}[true]{% \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{labelyear} {} {\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{labelyear} {} {\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{labelyear} {} {\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} \DeclareFieldFormat{shorthandwidth}{#1} \setlength{\bibitemsep}{0pt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Changed by sm april 2012 \DeclareNameAlias{author}{sortname} \DeclareNameAlias{editor}{sortname} %\DeclareNameAlias{default}{first-last} %\DeclareNameAlias{byeditor}{default} %Changed by sm april 2012 %\DeclareNameAlias{translator}{sortname} \defbibenvironment{bibliography} {\list {} {\setlength{\leftmargin}{\bibhang}% \setlength{\itemindent}{-\leftmargin}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}} {\endlist} {\item} %\defbibenvironment{shorthands} % {\list % {\printfield[shorthandwidth]{shorthand}} % {\setlength{\labelwidth}{\shorthandwidth}% % \setlength{\leftmargin}{\labelwidth}% % \setlength{\labelsep}{\biblabelsep}% % \addtolength{\leftmargin}{\labelsep}% % \setlength{\itemsep}{\bibitemsep}% % \setlength{\parsep}{\bibparsep}% % \renewcommand*{\makelabel}[1]{##1\hss}}} % {\endlist} % {\item} \InitializeBibliographyStyle{% \global\undef\bbx@lasthash} \newbibmacro*{bbx:savehash}{% \savefield{fullhash}{\bbx@lasthash}} \newbool{bbx@inset} \DeclareBibliographyDriver{set}{% \booltrue{bbx@inset}% \entryset{}{}% \newunit\newblock \usebibmacro{setpageref}% \finentry} \renewbibmacro*{author}{% \ifboolexpr{ test \ifuseauthor and not test {\ifnameundef{author}} } {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\usebibmacro{bbx:savehash}% \printnames{author}% \iffieldundef{authortype} {\setunit{\addspace}} {\setunit{\addcomma\space}}}% \iffieldundef{authortype} {} {\usebibmacro{authorstrg}% \setunit{\addspace}}}% {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\addspace}}% \usebibmacro{date+extrayear}} \renewbibmacro*{editor}{% \usebibmacro{bbx:editor}{editorstrg}} \renewbibmacro*{editor+others}{% \usebibmacro{bbx:editor}{editor+othersstrg}} \newbibmacro*{bbx:editor}[1]{% \ifboolexpr{ test \ifuseeditor and not test {\ifnameundef{editor}} } {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\printnames{editor}% \setunit{\addcomma\space}% \usebibmacro{bbx:savehash}}% \usebibmacro{#1}% \clearname{editor}% \setunit{\addspace}}% {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\addspace}}% \usebibmacro{date+extrayear}} \renewbibmacro*{translator}{% \usebibmacro{bbx:translator}{translatorstrg}} \renewbibmacro*{translator+others}{% \usebibmacro{bbx:translator}{translator+othersstrg}} \newbibmacro*{bbx:translator}[1]{% \ifboolexpr{ test \ifusetranslator and not test {\ifnameundef{translator}} } {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\printnames{translator}% \setunit{\addcomma\space}% \usebibmacro{bbx:savehash}}% \usebibmacro{translator+othersstrg}% \clearname{translator}% \setunit{\addspace}}% {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \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*{labeltitle}{% \iffieldundef{label} {\iffieldundef{shorttitle} {\printfield{title}% \clearfield{title}} {\printfield[title]{shorttitle}}} {\printfield{label}}} \endinput