diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx | 102 |
1 files changed, 83 insertions, 19 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx index a6564e7b6e4..e3c644b1d7d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx +++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx @@ -1,31 +1,96 @@ -% $Id: verbose-trad1.cbx,v 0.9 2010/02/14 15:42:33 lehman beta $ +% $Id: verbose-trad1.cbx,v 0.9d 2010/09/03 20:11:58 lehman beta $ \ProvidesFile{verbose-trad1.cbx} -[\abx@cbxid $Id: verbose-trad1.cbx,v 0.9 2010/02/14 15:42:33 lehman beta $] +[\abx@cbxid $Id: verbose-trad1.cbx,v 0.9d 2010/09/03 20:11:58 lehman beta $] -\ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, - idemtracker=constrict,opcittracker=context, - loccittracker=context,autocite=footnote} \providecommand*{\mkibid}[1]{#1} -\newbool{cbx:loccit} +\newtoggle{cbx:ibidpage} +\newtoggle{cbx:loccit} \newbool{cbx:noidem} \DeclareBibliographyOption{ibidpage}[true]{% - \ifstrequal{#1}{true} - {\renewbibmacro*{cite:ibid:page}{\global\booltrue{cbx:loccit}}} - {\renewbibmacro*{cite:ibid:page}{}}} + \settoggle{cbx:ibidpage}{#1}} \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'.}}} + +\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,opcittracker=context, + loccittracker=context,autocite=footnote, + citepages=permit} + \newbibmacro*{cite:save}{% \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}% \global\boolfalse{cbx:noidem}} \newbibmacro*{cite}{% - \global\boolfalse{cbx:loccit}% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% \bibhypertarget{cite\the\value{instcount}}{% \ifciteseen {\iffieldundef{shorthand} @@ -48,6 +113,7 @@ \usebibmacro{cite:save}}}} \newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% \printtext[bibhypertarget]{% \usedriver {\DeclareNameAlias{sortname}{default}} @@ -56,11 +122,11 @@ \newbibmacro*{cite:name}{% \printnames{labelname}% - \setunit*{\addcomma\space}} + \setunit*{\nametitledelim}} \newbibmacro*{cite:idem}{% \bibstring[\mkibid]{idem\thefield{gender}}% - \setunit{\addcomma\space}} + \setunit{\nametitledelim}} \newbibmacro*{cite:title}{% \printtext[bibhyperlink]{% @@ -73,24 +139,22 @@ \printtext{% \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{% \bibstring[\mkibid]{loccit}}}% - \global\booltrue{cbx:loccit}} + \global\toggletrue{cbx:loccit}} \newbibmacro*{cite:ibid}{% \printtext{% \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{% \bibstring[\mkibid]{ibidem}}}% - \ifloccit - {\usebibmacro{cite:ibid:page}} + \ifboolexpr{ test {\ifloccit} and togl {cbx:ibidpage} } + {\global\toggletrue{cbx:loccit}} {}} -\newbibmacro*{cite:ibid:page}{} - \newbibmacro*{cite:shorthand}{% \printtext[bibhyperlink]{\printfield{shorthand}}% \global\booltrue{cbx:noidem}} -\newbibmacro*{cite:postnote}{% - \ifbool{cbx:loccit} +\newbibmacro*{cite:postnote:ibidpage}{% + \iftoggle{cbx:loccit} {} {\usebibmacro{postnote}}} |