% $Id: verbose-trad2.cbx,v 1.5 2011/06/08 18:45:46 lehman stable $ \ProvidesFile{verbose-trad2.cbx} [\abx@cbxid $Id: verbose-trad2.cbx,v 1.5 2011/06/08 18:45:46 lehman stable $] \providecommand*{\mkibid}[1]{#1} \newtoggle{cbx:fullcite} \newtoggle{cbx:loccit} \newbool{cbx:noidem} \newbibmacro*{cite:citepages}{} \newbibmacro*{cite:full:citepages}{} \newbibmacro*{cite:postnote}{} \DeclareBibliographyOption{ibidpage}[true]{% \ifstrequal{#1}{true} {\ExecuteBibliographyOptions{loccittracker=constrict}} {\ExecuteBibliographyOptions{loccittracker=false}}} \DeclareBibliographyOption{strict}[true]{% \ifstrequal{#1}{true} {\ExecuteBibliographyOptions{ibidtracker=constrict,idemtracker=constrict}} {\ExecuteBibliographyOptions{ibidtracker=context,idemtracker=context}}} \DeclareBibliographyOption{citepages}[permit]{% \ifcsdef{cbx@opt@citepages@#1} {\csuse{cbx@opt@citepages@#1}} {\PackageError{biblatex} {Invalid option 'citepages=#1'} {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} \providebibmacro*{cite:citepages}{} \providebibmacro*{cite:full:citepages}{} \providebibmacro*{cite:postnote}{} \def\cbx@opt@citepages@permit{% \renewbibmacro*{cite:citepages}{}% \renewbibmacro*{cite:full:citepages}{}% \renewbibmacro*{cite:postnote}{% \usebibmacro{cite:postnote:ibidpage}}} \def\cbx@opt@citepages@suppress{% \renewbibmacro*{cite:citepages}{}% \renewbibmacro*{cite:full:citepages}{% \clearfield{pages}% \clearfield{pagetotal}}% \renewbibmacro*{cite:postnote}{% \usebibmacro{cite:postnote:ibidpage}}} \def\cbx@opt@citepages@omit{% \renewbibmacro*{cite:citepages}{}% \renewbibmacro*{cite:full:citepages}{% \ifboolexpr{ test {\ifnumequal{\value{citecount}}{\value{citetotal}}} and test {\iffieldpages{postnote}} } {\clearfield{pages}% \clearfield{pagetotal}} {}}% \renewbibmacro*{cite:postnote}{% \usebibmacro{cite:postnote:ibidpage}}} \def\cbx@opt@citepages@separate{% \providetoggle{cbx:fullcite}% \renewbibmacro*{cite:citepages}{% \global\togglefalse{cbx:fullcite}}% \renewbibmacro*{cite:full:citepages}{% \global\toggletrue{cbx:fullcite}}% \renewbibmacro*{cite:postnote}{% \ifboolexpr{ togl {cbx:fullcite} and test {\iffieldpages{postnote}} and test {\ifnumequal{\value{citecount}}{\value{citetotal}}} and ( not test {\iffieldundef{pages}} or not test {\iffieldundef{pagetotal}} ) } {\usebibmacro{cite:postnote:pages}} {\usebibmacro{cite:postnote:ibidpage}}} \providebibmacro*{cite:postnote:pages}{% \setunit{\postnotedelim}% \bibstring{thiscite}% \setunit{\addspace}% \printfield{postnote}}} \ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, idemtracker=constrict,autocite=footnote, citepages=permit} \newbibmacro*{cite:save}{% \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}% \global\boolfalse{cbx:noidem}} \newbibmacro*{cite}{% \usebibmacro{cite:citepages}% \global\togglefalse{cbx:fullcite}% \global\togglefalse{cbx:loccit}% \bibhypertarget{cite\the\value{instcount}}{% \ifciteseen {\iffieldundef{shorthand} {\ifciteibid {\usebibmacro{cite:ibid}} {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}} {\usebibmacro{cite:idem}} {\usebibmacro{cite:name}}% \usebibmacro{cite:title}}% \usebibmacro{cite:save}} {\usebibmacro{cite:shorthand}}} {\usebibmacro{cite:full}% \usebibmacro{cite:save}}}} \newbibmacro*{cite:full}{% \usebibmacro{cite:full:citepages}% \global\toggletrue{cbx:fullcite}% \printtext[bibhypertarget]{% \usedriver {\DeclareNameAlias{sortname}{default}} {\thefield{entrytype}}}% \usebibmacro{shorthandintro}} \newbibmacro*{cite:name}{% \printnames{labelname}% \setunit*{\nametitledelim}} \newbibmacro*{cite:idem}{% \bibstring[\mkibid]{idem\thefield{gender}}% \setunit{\nametitledelim}} \newbibmacro*{cite:title}{% \printtext[bibhyperlink]{% \printfield[citetitle]{labeltitle}% \setunit{\nametitledelim}% \bibstring[\mkibid]{opcit}}} \newbibmacro*{cite:ibid}{% \printtext{% \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{% \bibstring[\mkibid]{ibidem}}}% \ifloccit {\global\toggletrue{cbx:loccit}} {}} \newbibmacro*{cite:shorthand}{% \printtext[bibhyperlink]{\printfield{shorthand}}% \global\booltrue{cbx:noidem}} \newbibmacro*{cite:postnote:ibidpage}{% \iftoggle{cbx:loccit} {} {\usebibmacro{postnote}}} \DeclareCiteCommand{\cite} {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}} \DeclareCiteCommand{\parencite}[\mkbibparens] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}} \DeclareCiteCommand{\footcite}[\mkbibfootnote] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}} \DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}} \DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}} \endinput