diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-22 23:35:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-22 23:35:08 +0000 |
commit | 7d3e52c3d1f706817bb17d8ce36fc9e2fdadc578 (patch) | |
tree | 51e3ca900fe7623ae05250535638e32d59095432 /Master/texmf-dist/tex/latex/biblatex-dw/bbx | |
parent | 4e4bb5b0b9eb71dbc88b140b9bfe43026324b79f (diff) |
biblatex-dw (22sep10)
git-svn-id: svn://tug.org/texlive/trunk@19846 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-dw/bbx')
3 files changed, 547 insertions, 541 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/authortitle-dw.bbx b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/authortitle-dw.bbx index 63235482766..cdc92d47b4a 100644 --- a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/authortitle-dw.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/authortitle-dw.bbx @@ -1,13 +1,13 @@ % authortitle-dw.bbx, Dominik Waßenhoven 2010 -\ProvidesFile{authortitle-dw.bbx}[2010/03/11 v1.3 biblatex bibliography style] +\ProvidesFile{authortitle-dw.bbx}[2010/09/21 v1.3a biblatex bibliography style] -\@ifpackagelater{biblatex}{2010/02/14} +\@ifpackagelater{biblatex}{2010/08/04} {} {\PackageError{biblatex} {Outdated 'biblatex' package} {The version of the 'authortitle-dw' style you are using\MessageBreak - requires biblatex v0.9 or later.\MessageBreak + requires biblatex v0.9b or later.\MessageBreak You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak This is a fatal error. I'm aborting now.}% \endinput} @@ -16,8 +16,10 @@ \newbool{bbx:annotation} \newbool{bbx:edbyidem} +\newbool{bbx:editorstring}% Test, ob editorstring auf parens oder brackets gesetzt wurde \newbool{bbx:edsuper} \newbool{bbx:idembib} +\newbool{bbx:idemfont}% Test, ob idemfont gesetzt wurde \newbool{bbx:library} \newbool{bbx:nolocation} \newbool{bbx:nopublisher} @@ -53,37 +55,116 @@ \DeclareBibliographyOption{pseudoauthor}[true]{% \csuse{bool#1}{bbx:pseudoauthor}} -\newcommand{\bbx@idembibformat}{} -\newcommand{\bbx@option@editorstring}{} -\newcommand{\bbx@option@firstnamefont}{} -\newcommand{\bbx@option@namefont}{} -\newcommand{\bbx@option@ibidemfont}{} -\newcommand{\bbx@option@idemfont}{empty}% wichtig zur Überprüfung wegen Paket-Warnung bei falscher Option \newcommand{\bbx@origfieldsformat}{} -\DeclareBibliographyOption{editorstring}{% - \renewcommand{\bbx@option@editorstring}{#1}} -\DeclareBibliographyOption{firstnamefont}{% - \renewcommand{\bbx@option@firstnamefont}{#1}} -\DeclareBibliographyOption{ibidemfont}{% - \renewcommand{\bbx@option@ibidemfont}{#1}} -\DeclareBibliographyOption{idembibformat}{% - \renewcommand{\bbx@idembibformat}{#1}} -\DeclareBibliographyOption{idemfont}{% - \renewcommand{\bbx@option@idemfont}{#1}} -\DeclareBibliographyOption{namefont}{% - \renewcommand{\bbx@option@namefont}{#1}} \DeclareBibliographyOption{origfieldsformat}{% \renewcommand{\bbx@origfieldsformat}{#1}} +\DeclareBibliographyOption{namefont}[normal]{% + \ifcsdef{bbx@opt@namefont@#1} + {\csuse{bbx@opt@namefont@#1}} + {\blxdw@error{% + Invalid option 'namefont=#1'\MessageBreak + Valid values are 'normal', 'smallcaps', 'italic', 'bold'}}} +\newcommand{\bbx@namefont}{} +\def\bbx@opt@namefont@normal{% + \renewcommand{\bbx@namefont}{}} +\def\bbx@opt@namefont@smallcaps{% + \renewcommand{\bbx@namefont}{\textsc}} +\def\bbx@opt@namefont@italic{% + \renewcommand{\bbx@namefont}{\textit}} +\def\bbx@opt@namefont@bold{% + \renewcommand{\bbx@namefont}{\textbf}} + +\DeclareBibliographyOption{firstnamefont}[normal]{% + \ifcsdef{bbx@opt@firstnamefont@#1} + {\csuse{bbx@opt@firstnamefont@#1}} + {\blxdw@error{% + Invalid option 'firstnamefont=#1'\MessageBreak + Valid values are 'normal', 'smallcaps', 'italic', 'bold'}}} +\newcommand{\bbx@firstnamefont}{} +\def\bbx@opt@firstnamefont@normal{% + \renewcommand{\bbx@firstnamefont}{}} +\def\bbx@opt@firstnamefont@smallcaps{% + \renewcommand{\bbx@firstnamefont}{\textsc}} +\def\bbx@opt@firstnamefont@italic{% + \renewcommand{\bbx@firstnamefont}{\textit}} +\def\bbx@opt@firstnamefont@bold{% + \renewcommand{\bbx@firstnamefont}{\textbf}} + +\DeclareBibliographyOption{idemfont}[normal]{% + \ifcsdef{bbx@opt@idemfont@#1} + {\csuse{bbx@opt@idemfont@#1}} + {\blxdw@error{% + Invalid option 'idemfont=#1'\MessageBreak + Valid values are 'normal', 'smallcaps', 'italic', 'bold'}}} +\newcommand{\bbx@idemfont}{} +\def\bbx@opt@idemfont@normal{% + \global\booltrue{bbx:idemfont}% + \renewcommand{\bbx@idemfont}{}} +\def\bbx@opt@idemfont@smallcaps{% + \global\booltrue{bbx:idemfont}% + \renewcommand{\bbx@idemfont}{\textsc}} +\def\bbx@opt@idemfont@italic{% + \global\booltrue{bbx:idemfont}% + \renewcommand{\bbx@idemfont}{\textit}} +\def\bbx@opt@idemfont@bold{% + \global\booltrue{bbx:idemfont}% + \renewcommand{\bbx@idemfont}{\textbf}} + +\DeclareBibliographyOption{ibidemfont}[normal]{% + \ifcsdef{bbx@opt@ibidemfont@#1} + {\csuse{bbx@opt@ibidemfont@#1}} + {\blxdw@error{% + Invalid option 'ibidemfont=#1'\MessageBreak + Valid values are 'normal', 'smallcaps', 'italic', 'bold'}}} +\newcommand{\bbx@ibidemfont}{} +\def\bbx@opt@ibidemfont@normal{% + \renewcommand{\bbx@ibidemfont}{}} +\def\bbx@opt@ibidemfont@smallcaps{% + \renewcommand{\bbx@ibidemfont}{\textsc}} +\def\bbx@opt@ibidemfont@italic{% + \renewcommand{\bbx@ibidemfont}{\textit}} +\def\bbx@opt@ibidemfont@bold{% + \renewcommand{\bbx@ibidemfont}{\textbf}} + +\DeclareBibliographyOption{idembibformat}[idem]{% + \ifcsdef{bbx@opt@idembibformat@#1} + {\csuse{bbx@opt@idembibformat@#1}} + {\blxdw@error{% + Invalid option 'idembibformat=#1'\MessageBreak + Valid values are 'idem', 'dash'}}} +\def\bbx@opt@idembibformat@idem{% + \let\bibnamedashOrig\bibnamedash + \AtBeginBibliography{ + \renewcommand*{\bibnamedash}{% + \bibsentence\bibstring[\mkidem]{idem\thefield{gender}}}}} +\def\bbx@opt@idembibformat@dash{ + \AtBeginBibliography{% + \let\bibnamedash\bibnamedashOrig}}% + +\DeclareBibliographyOption{editorstring}[normal]{% + \ifcsdef{bbx@opt@editorstring@#1} + {\csuse{bbx@opt@editorstring@#1}} + {\blxdw@error{% + Invalid option 'editorstring=#1'\MessageBreak + Valid values are 'normal', 'parens', 'brackets'}}} +\newcommand{\bbx@editorstring}{} +\def\bbx@opt@editorstring@normal{% + \global\boolfalse{bbx:editorstring}% + \renewcommand{\bbx@editorstring}{}} +\def\bbx@opt@editorstring@parens{% + \global\booltrue{bbx:editorstring}% + \renewcommand{\bbx@editorstring}{\mkbibparens}} +\def\bbx@opt@editorstring@brackets{% + \global\booltrue{bbx:editorstring}% + \renewcommand{\bbx@editorstring}{\mkbibbrackets}} + \ExecuteBibliographyOptions{% edbyidem=true, editorstring=parens, - firstnamefont=normal, - ibidemfont=normal, idembib=true, idembibformat=idem, - namefont=normal, nolocation=false, nopublisher=true, oldauthor=true, @@ -136,11 +217,6 @@ \let\revsdnamedelim\bibrevsdnamedelim% \let\multinamedelim\bibmultinamedelim% \let\finalnamedelim\bibfinalnamedelim% -% -%% 'Ders.' statt '--' in der Bibliographie - \ifdefstring{\bbx@idembibformat}{idem} - {\renewcommand*{\bibnamedash}{\bibsentence\bibstring[\mkidem]{idem\thefield{gender}}}}% - {}% } %% Formate in der Bibliographie @@ -242,159 +318,86 @@ % Nachnamen von Einträgen mit 'options = {oldauthor=true}' oder 'options = {oldauthor}' % werden nicht in der Schrift von 'namefont' gesetzt \renewcommand*{\mkbibnamelast}[1]{% - \ifbool{bbx:oldauthor}% bei globaler Option oldauthor=true - {\ifthenelse{% - \boolean{oldauthor}\AND - \(\ifcurrentname{author} - \OR - \(\ifcurrentname{labelname}\AND\NOT\ifnameundef{author}\) - \)} + \ifboolexpr{ + bool {bbx:oldauthor} + and + bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) + } {#1} - {\ifdefstring{\bbx@option@namefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@namefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@namefont}{bold}% - {\textbf{#1}} - {#1}}}}} - {% bei globaler Option oldauthor=false - {\ifdefstring{\bbx@option@namefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@namefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@namefont}{bold}% - {\textbf{#1}} - {#1}}}}}} + {\bbx@namefont{#1}}} % Formatierung der Vornamen entsprechend der Option 'firstnamefont' \renewcommand*{\mkbibnamefirst}[1]{% - \ifbool{bbx:oldauthor}% bei globaler Option oldauthor=true - {\ifthenelse{% - \boolean{oldauthor}\AND - \(\ifcurrentname{author} - \OR - \(\ifcurrentname{labelname}\AND\NOT\ifnameundef{author}\) - \)} + \ifboolexpr{ + bool {bbx:oldauthor} + and + bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) + } {#1} - {\ifdefstring{\bbx@option@firstnamefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@firstnamefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@firstnamefont}{bold}% - {\textbf{#1}} - {#1}}}}} - {% bei globaler Option oldauthor=false - {\ifdefstring{\bbx@option@firstnamefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@firstnamefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@firstnamefont}{bold}% - {\textbf{#1}} - {#1}}}}}} - -% Wenn 'firstnamefont' gesetzt ist, muss auch prefix angepasst werden + {\bbx@firstnamefont{#1}}} + +% prefix richtet sich nach 'namefont' (useprefix=true) +% oder 'firstnamefont' (useprefix=false) \renewcommand*{\mkbibnameprefix}[1]{% - \ifuseprefix{% bei useprefix=true - \ifbool{bbx:oldauthor}% bei globaler Option oldauthor=true - {\ifthenelse{% - \boolean{oldauthor}\AND - \(\ifcurrentname{author} - \OR - \(\ifcurrentname{labelname}\AND\NOT\ifnameundef{author}\) - \)} - {#1} - {\ifdefstring{\bbx@option@namefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@namefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@namefont}{bold}% - {\textbf{#1}} - {#1}}}}} - {% bei globaler Option oldauthor=false - {\ifdefstring{\bbx@option@namefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@namefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@namefont}{bold}% - {\textbf{#1}} - {#1}}}}}} - {% bei useprefix=false richtet es sich nach der Option firstname - \ifdefstring{\bbx@option@firstnamefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@firstnamefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@firstnamefont}{bold}% - {\textbf{#1}} - {#1}}}}} - -% Wenn 'firstnamefont' gesetzt ist, muss auch suffix angepasst werden + \ifboolexpr{ + bool {bbx:oldauthor} + and + bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) + } + {#1} + {\ifuseprefix + {\bbx@namefont{#1}} + {\bbx@firstnamefont{#1}}}} + +% suffix richtet sich nach 'firstnamefont' \renewcommand*{\mkbibnameaffix}[1]{% - \ifbool{bbx:oldauthor}% bei globaler Option oldauthor=true - {\ifthenelse{% - \boolean{oldauthor}\AND - \(\ifcurrentname{author} - \OR - \(\ifcurrentname{labelname}\AND\NOT\ifnameundef{author}\) - \)} - {#1} - {\ifdefstring{\bbx@option@firstnamefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@firstnamefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@firstnamefont}{bold}% - {\textbf{#1}} - {#1}}}}} - {% bei globaler Option oldauthor=false - {\ifdefstring{\bbx@option@firstnamefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@firstnamefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@firstnamefont}{bold}% - {\textbf{#1}} - {#1}}}}}} + \ifboolexpr{ + bool {bbx:oldauthor} + and + bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) + } + {#1} + {\bbx@firstnamefont{#1}}} %% \mkidem: % wenn im Feld 'options' 'oldauthor=true' oder 'oldauthor' steht, % werden keine Kapitälchen o.ä. bei Wiederholungszitaten ('Ders.') gesetzt -% ansonsten Formatierung der Vornamen entsprechend der Option 'idemfont', +% ansonsten Formatierung entsprechend der Option 'idemfont', % falls diese nicht vorhanden ist, wird der Wert von 'namefont' übernommen \newcommand*{\mkidem}[1]{% - \ifbool{bbx:oldauthor}% bei globaler Option oldauthor=true - {\ifbool{oldauthor} + \ifboolexpr{ + bool {bbx:oldauthor} + and + bool {oldauthor} + } {#1} - {\ifdefstring{\bbx@option@idemfont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@idemfont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@idemfont}{bold}% - {\textbf{#1}} - {\ifdefstring{\bbx@option@idemfont}{normal}% - {#1} - {% falls idemfont nicht gesetzt ist, wird von namefont 'geerbt': - \ifdefstring{\bbx@option@namefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@namefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@namefont}{bold}% - {\textbf{#1}} - {#1}}}}}}}}}% - {% bei globaler Option oldauthor=false - \ifdefstring{\bbx@option@idemfont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@idemfont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@idemfont}{bold}% - {\textbf{#1}} - {\ifdefstring{\bbx@option@idemfont}{normal}% - {#1} - {% falls idemfont nicht gesetzt ist, wird von namefont 'geerbt': - \ifdefstring{\bbx@option@namefont}{smallcaps}% - {\textsc{#1}}% - {\ifdefstring{\bbx@option@namefont}{italic}% - {\textit{#1}} - {\ifdefstring{\bbx@option@namefont}{bold}% - {\textbf{#1}} - {#1}}}}}}}}} + {\ifbool{bbx:idemfont} + {\bbx@idemfont{#1}} + {\bbx@namefont{#1}}}} %% Punkt zwischen Untertitel und Titelzusatz ([book|main]titleaddon) \renewbibmacro*{title}{% @@ -533,77 +536,63 @@ \newunit}}% ansonsten wird komplett ausgegeben {\printfield{edition}% \newunit}} - + +%% Hilfsmakro für Option editorstring +\newbibmacro*{editorstringpunct}{% + \ifbool{bbx:editorstring} + {\addspace} + {\addcomma\space}} + %% Herausgeber ('Hrsg.') je nach Option editorstring \renewbibmacro*{editorstrg}{% \iffieldundef{editortype} {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\mkbibparens{\bibstring{editors}}}% - {\ifdefstring{\bbx@option@editorstring}{brackets}% - {\mkbibbrackets{\bibstring{editors}}}% - {\bibstring{editors}}}}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\mkbibparens{\bibstring{editor}}}% - {\ifdefstring{\bbx@option@editorstring}{brackets}% - {\mkbibbrackets{\bibstring{editor}}}% - {\bibstring{editor}}}}}% + {\bbx@editorstring{\bibstring{editors}}} + {\bbx@editorstring{\bibstring{editor}}}} {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\mkbibparens{\bibstring{\thefield{editortype}s}}}% - {\ifdefstring{\bbx@option@editorstring}{brackets}% - {\mkbibbrackets{\bibstring{\thefield{editortype}s}}}% - {\bibstring{\thefield{editortype}s}}}}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\mkbibparens{\bibstring{\thefield{editortype}}}}% - {\ifdefstring{\bbx@option@editorstring}{brackets}% - {\mkbibbrackets{\bibstring{\thefield{editortype}}}}% - {\bibstring{\thefield{editortype}}}}}}}% + {\bbx@editorstring{\bibstring{\thefield{editortype}s}}} + {\bbx@editorstring{\bibstring{\thefield{editortype}}}}}} \renewbibmacro*{editor+othersstrg}{% - \ifthenelse{\value{editor}>1\OR\ifandothers{editor}} - {\def\@tempa{editors}} - {\def\@tempa{editor}}% + \iffieldundef{editortype} + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} + {\def\abx@tempa{editors}} + {\def\abx@tempa{editor}}} + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} + {\edef\abx@tempa{\thefield{editortype}s}} + {\edef\abx@tempa{\thefield{editortype}}}}% + \let\abx@tempb=\empty \ifnamesequal{editor}{translator} - {\appto\@tempa{tr}% - \clearname{translator}} + {\appto\abx@tempa{tr}% + \appto\abx@tempb{\clearname{translator}}} {}% \ifnamesequal{editor}{commentator} - {\appto\@tempa{co}% - \clearname{commentator}} + {\appto\abx@tempa{co}% + \appto\abx@tempb{\clearname{commentator}}} {\ifnamesequal{editor}{annotator} - {\appto\@tempa{an}% - \clearname{annotator}} + {\appto\abx@tempa{an}% + \appto\abx@tempb{\clearname{annotator}}} {}}% \ifnamesequal{editor}{introduction} - {\appto\@tempa{in}% - \clearname{introduction}} + {\appto\abx@tempa{in}% + \appto\abx@tempb{\clearname{introduction}}} {\ifnamesequal{editor}{foreword} - {\appto\@tempa{fo}% - \clearname{foreword}} + {\appto\abx@tempa{fo}% + \appto\abx@tempb{\clearname{foreword}}} {\ifnamesequal{editor}{afterword} - {\appto\@tempa{af}% - \clearname{afterword}} + {\appto\abx@tempa{af}% + \appto\abx@tempb{\clearname{afterword}}} {}}}% - \ifdefstring{\bbx@option@editorstring}{parens} - {\mkbibparens{\bibstring{\@tempa}}} - {\ifdefstring{\bbx@option@editorstring}{brackets} - {\mkbibbrackets{\bibstring{\@tempa}}} - {\bibstring{\@tempa}}}} + \ifbibxstring{\abx@tempa} + {\bbx@editorstring{\bibstring{\abx@tempa}}% + \abx@tempb} + {\usebibmacro{editorstrg}}} %% Übersetzer ('Übers.') je nach Option editorstring \renewbibmacro*{translatorstrg}{% \ifthenelse{\value{translator}>1\OR\ifandothers{translator}} - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\mkbibparens{\bibstring{translators}}}% - {\ifdefstring{\bbx@option@editorstring}{brackets}% - {\mkbibbrackets{\bibstring{translators}}}% - {\bibstring{translators}}}}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\mkbibparens{\bibstring{translator}}}% - {\ifdefstring{\bbx@option@editorstring}{brackets}% - {\mkbibbrackets{\bibstring{translator}}}% - {\bibstring{translator}}}}} + {\bbx@editorstring{\bibstring{translators}}} + {\bbx@editorstring{\bibstring{translator}}}} \renewbibmacro*{translator+othersstrg}{% \ifthenelse{\value{translator}>1\OR\ifandothers{translator}} @@ -626,11 +615,7 @@ {\appto\abx@tempa{af}% \clearname{afterword}} {}}}% - \ifdefstring{\bbx@option@editorstring}{parens} - {\mkbibparens{\bibstring{\abx@tempa}}} - {\ifdefstring{\bbx@option@editorstring}{brackets} - {\mkbibbrackets{\bibstring{\abx@tempa}}} - {\bibstring{\abx@tempa}}}} + \bbx@editorstring{\bibstring{\abx@tempa}}} %% Option 'editorstring=brackets|parens|normal' %% Option 'idembib=true|false' @@ -642,18 +627,15 @@ {\bibnamedash} {\printnames{editor}% \savefield{namehash}{\bbx@lasthash}}}% - {\printnames{editor}}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% + {\printnames{editor}% + \global\undef\bbx@lasthash}% + \usebibmacro{editorstringpunct}% \usebibmacro{editorstrg}% \ifbool{bbx:idembib} {} {\labelnamepunct}% \clearname{editor}} - {\global\undef\bbx@lasthash}} + {}} \renewbibmacro*{editor+others}{% \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}} @@ -664,11 +646,7 @@ {\printnames{editor}% \savefield{namehash}{\bbx@lasthash}}}% {\printnames{editor}}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% + \usebibmacro{editorstringpunct}% \usebibmacro{editor+othersstrg}% \ifbool{bbx:idembib} {} @@ -685,11 +663,7 @@ {\printnames{translator}% \savefield{namehash}{\bbx@lasthash}}}% {\printnames{translator}}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% + \usebibmacro{editorstringpunct}% \usebibmacro{translatorstrg}% \ifbool{bbx:idembib} {} @@ -706,11 +680,7 @@ {\printnames{translator}% \savefield{namehash}{\bbx@lasthash}}}% {\printnames{translator}}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% + \usebibmacro{editorstringpunct}% \usebibmacro{translator+othersstrg}% \ifbool{bbx:idembib} {} @@ -718,6 +688,15 @@ \clearname{translator}} {\global\undef\bbx@lasthash}} +\newbibmacro*{editor+others/translator+others}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{editor+others}} + {\usebibmacro{translator+others}}} + %% Option 'idembib=true|false' \renewbibmacro*{author}{% \ifbool{bbx:pseudoauthor} @@ -726,8 +705,17 @@ \newbibmacro*{author:pseudotrue}{% \ifbool{pseudoauthor} - {\printtext{\bibleftpseudo}} - {}% + {\printtext{\bibleftpseudo}% + \usebibmacro{author:output}% + \printtext{\bibrightpseudo}} + {\usebibmacro{author:output}}} + +\newbibmacro*{author:pseudofalse}{% + \ifbool{pseudoauthor} + {} + {\usebibmacro{author:output}}} + +\newbibmacro*{author:output}{% \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} {\ifbool{bbx:idembib} {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND @@ -735,33 +723,14 @@ {\bibnamedash} {\printnames{author}% \savefield{namehash}{\bbx@lasthash}}} - {\printnames{author}}} - {\global\undef\bbx@lasthash}% + {\printnames{author}% + \global\undef\bbx@lasthash}% \iffieldundef{authortype} {} - {\addcomma\space - \usebibmacro{authorstrg}}% - \ifbool{pseudoauthor} - {\printtext{\bibrightpseudo}} - {}} + {\setunit{\addcomma\space}% + \usebibmacro{authorstrg}}} + {}} -\newbibmacro*{author:pseudofalse}{% - \ifbool{pseudoauthor} - {} - {\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\ifbool{bbx:idembib} - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND - \NOT\iffirstonpage} - {\bibnamedash} - {\printnames{author}% - \savefield{namehash}{\bbx@lasthash}}} - {\printnames{author}}} - {\global\undef\bbx@lasthash}% - \iffieldundef{authortype} - {} - {\addcomma\space - \usebibmacro{authorstrg}}}} - %% 'Ders.' bei inbook, wenn gleicher Autor \renewbibmacro*{bybookauthor}{% \ifnamesequal{author}{bookauthor} @@ -774,53 +743,90 @@ %% Wenn Autor und Hrsg. gleich --> hg. v. dems./ders./dens.: \renewbibmacro*{byeditor+others}{% - \ifthenelse{\NOT\ifnameundef{editor}\AND - \(\iffieldundef{editortype}\OR - \iffieldequalstr{editortype}{editor}\)} - {\def\abx@tempa{byeditor}% - \ifnamesequal{editor}{translator} - {\appto\abx@tempa{tr}% - \clearname{translator}} - {}% - \ifnamesequal{editor}{commentator} - {\appto\abx@tempa{co}% - \clearname{commentator}} - {\ifnamesequal{editor}{annotator} - {\appto\abx@tempa{an}% - \clearname{annotator}} - {}}% - \ifnamesequal{editor}{introduction} - {\appto\abx@tempa{in}% - \clearname{introduction}} - {\ifnamesequal{editor}{foreword} - {\appto\abx@tempa{fo}% - \clearname{foreword}} - {\ifnamesequal{editor}{afterword} - {\appto\abx@tempa{af}% - \clearname{afterword}} - {}}}% - \bibstring{\abx@tempa}% + \ifnameundef{editor} + {} + {\usebibmacro{byeditor+othersstrg}% \setunit{\addspace}% - \printnames[byeditor]{editor}% + \ifboolexpr{ + ( test {\ifnamesequal{editor}{author}} + or + bool {xrefidem} ) + and + bool {bbx:edbyidem} + } + {\bibstring[\mkidem]{idemdat\thefield{gender}}} + {\printnames[byeditor]{editor}}% \clearname{editor}% - \newunit - \usebibmacro{byeditorx}}% - {\ifnamesequal{editor}{author} - {\ifbool{bbx:edbyidem} - {\bibstring{byeditor}\addspace\bibstring[\mkidem]{idemdat\thefield{gender}}} - {\usebibmacro{byeditor}}}% - {\usebibmacro{byeditor}}}% + \newunit}% + \usebibmacro{byeditorx}% \usebibmacro{bytranslator+others}} +\renewbibmacro*{bytranslator+others}{% + \ifnameundef{translator} + {} + {\usebibmacro{bytranslator+othersstrg}% + \setunit{\addspace}% + \ifboolexpr{ + ( test {\ifnamesequal{translator}{author}} + or + bool {xrefidem} ) + and + bool {bbx:edbyidem} + } + {\bibstring[\mkidem]{idemdat\thefield{gender}}} + {\printnames[bytranslator]{translator}}% + \clearname{translator}% + \newunit}% + \usebibmacro{withothers}} + +\newbibmacro*{ifuse:byeditor+others}{% + \ifboolexpr{ + ( test \ifuseeditor + and + not test {\ifnameundef{editor}} ) + or + ( test \ifusetranslator + and + not test {\ifnameundef{translator}} ) + } + {} + {\usebibmacro{byeditor+others}}} + +\newbibmacro*{ifuse:xrefidem}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\printtext{\bibstring[\mkidem]{idem\thefield{gender}}% + \addspace}% + \usebibmacro{editor+othersstrg}% + \setunit{\labelnamepunct}\newblock} + {}% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + and + ( ( not test \ifuseeditor ) + or + ( test \ifuseeditor + and + test {\ifnameundef{editor}} ) ) + } + {\printtext{\bibstring[\mkidem]{idem\thefield{gender}}% + \addspace}% + \usebibmacro{editor+othersstrg}% + \setunit{\labelnamepunct}\newblock} + {}} + %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% Makros aus authortitle.bbx (unverändert) %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% -\renewcommand*{\thebibitem}{\item} -\renewcommand*{\thelositem}{\item} \setlength{\bibitemsep}{0pt} -\renewenvironment*{thebibliography} +\defbibenvironment{bibliography} {\list {} {\setlength{\leftmargin}{\bibhang}% @@ -828,5 +834,6 @@ \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}} {\endlist} + {\item} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/footnote-dw.bbx b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/footnote-dw.bbx index 4cffc2510fb..b5a1c898766 100644 --- a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/footnote-dw.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/footnote-dw.bbx @@ -1,8 +1,8 @@ % footnote-dw.bbx, Dominik Waßenhoven 2010 -\ProvidesFile{footnote-dw.bbx}[2010/03/11 v1.3 biblatex bibliography style] +\ProvidesFile{footnote-dw.bbx}[2010/09/21 v1.3a biblatex bibliography style] -\@ifpackagelater{biblatex}{2010/02/14} +\@ifpackagelater{biblatex}{2010/08/04} {} {\PackageError{biblatex} {Outdated 'biblatex' package} diff --git a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx index 8bdd7cf0d44..7641f3d5e68 100644 --- a/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-dw/bbx/standard-dw.bbx @@ -1,6 +1,6 @@ % standard-dw.bbx, Dominik Waßenhoven 2010 -\ProvidesFile{standard-dw.bbx}[2010/03/11 v1.3 biblatex bibliography style] +\ProvidesFile{standard-dw.bbx}[2010/09/21 v1.3a biblatex bibliography style] \RequireBibliographyStyle{standard} @@ -12,11 +12,13 @@ \newbool{bbx:journumdate} \newbool{bbx:seriesafteryear} \newbool{bbx:shorthandacro} +\newbool{bbx:shorthandinbib} +\newbool{bbx:shorthandinbibpunct}% Kontrolle, ob shorthandinbib ausgegeben wurde \newbool{bbx:shorthandwidthbool} \newbool{bbx:shortjournal} \newbool{bbx:terselos} \newbool{bbx:xref}% soll xref überhaupt verwendet werden? -\newbool{bbx:xrefnoidem} +\newbool{xrefidem} % Schalter zum ein-/ausblenden bestimmter Felder \newbool{bbx:pagetotal} @@ -29,9 +31,12 @@ \DeclareBibliographyOption{acronyms}[true]{% \csuse{bool#1}{bbx:shorthandacro}} +\DeclareBibliographyOption{shorthandinbib}[true]{% + \csuse{bool#1}{bbx:shorthandinbib}} \DeclareBibliographyOption{shorthandwidth}{% \setlength{\bbx@shorthandwidth}{#1} \setlength{\shorthandsep}{3pt plus 0.5pt minus 0.5pt} + \renewcommand{\shorthandpunct}{\addcolon} \csuse{booltrue}{bbx:shorthandwidthbool}} \DeclareBibliographyOption{shortjournal}[true]{% \csuse{bool#1}{bbx:shortjournal}} @@ -69,6 +74,7 @@ journalnumber=standard, pagetotal=false, series=standard, + shorthandinbib=false, terselos=true, xref=false } @@ -118,11 +124,7 @@ {} {\ifnameundef{author} {\printnames{editor}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% + \usebibmacro{editorstringpunct}% \usebibmacro{editorstrg}} {\printnames{author}}% \setunit{\labelnamepunct}}% @@ -147,8 +149,7 @@ %% List of Shorthands: Länge der Labels einstellbar \AtBeginDocument{% \ifbool{bbx:shorthandwidthbool} - {\renewcommand{\shorthandpunct}{\addcolon} - \renewenvironment*{theshorthands} + {\defbibenvironment{shorthands} {\list {\printfield[shorthandwidth]{shorthand}% \printtext{\shorthandpunct}} @@ -159,11 +160,11 @@ \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}% \renewcommand*{\makelabel}[1]{##1\hss}}} - {\endlist}} - {\renewenvironment*{theshorthands} + {\endlist} + {\item}} + {\defbibenvironment{shorthands} {\list - {\printfield[shorthandwidth]{shorthand}% - \printtext{\shorthandpunct}} + {\printfield[shorthandwidth]{shorthand}} {\setlength{\labelwidth}{\shorthandwidth}% \setlength{\leftmargin}{\labelwidth}% \setlength{\labelsep}{\biblabelsep}% @@ -171,33 +172,73 @@ \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}% \renewcommand*{\makelabel}[1]{##1\hss}}} - {\endlist}}} + {\endlist} + {\item}}} + +%% Option »shorthandinbib«: +%% Shorthands in der Bibliographie ausgeben +%% außerdem für Option »xref«: +%% Autoren in Liste schreiben für späteren Test xrefnamecheck +% \newcommand*{\@xrefauthornames} +\DeclareFieldFormat{shorthandinbib}{\mkbibbrackets{#1}} +\newcommand*{\shorthandinbibpunct}{\addspace} +\renewbibmacro*{begentry}{% + \ifcitation + {}% im Zitat sollen shorthands nicht ausgegeben werden + {\ifbool{bbx:shorthandinbib} + {\iffieldundef{shorthand} + {} + {\printfield[shorthandinbib]{shorthand}% + \shorthandinbibpunct}}% ohne \setunit, damit das auf jeden Fall ausgegeben wird + {}}} + +%% bei useeditor=true oder usetranslator=true +\newbibmacro*{useeditor+others}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{useeditor}} + {\ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\usebibmacro{usetranslator}} + {}}} + +\newbibmacro*{useeditor}{% + \ifnamesequal{author}{editor} + {\ifbool{bbx:edbyidem} + {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}% + \addspace}% + {\printnames[byeditor]{editor}% + \usebibmacro{editorstringpunct}% + \savefield{namehash}{\bbx@lasthash}}}% + {\printnames[byeditor]{editor}% + \usebibmacro{editorstringpunct}% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editorstrg}% + \clearname{editor}% + \setunit{\labelnamepunct}\newblock} + +\newbibmacro*{usetranslator}{% + {\ifnamesequal{author}{translator} + {\ifbool{bbx:edbyidem} + {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}% + \addspace}% + {\printnames[byeditor]{translator}% + \usebibmacro{editorstringpunct}% + \savefield{namehash}{\bbx@lasthash}}}% + {\printnames[byeditor]{translator}% + \usebibmacro{editorstringpunct}% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translatorstrg}% + \clearname{translator}% + \setunit{\labelnamepunct}\newblock} + {}} -%% bei useeditor=true -\newbibmacro*{editorincoll}{% - \ifnameundef{editor} - {}% - {\ifnamesequal{author}{editor} - {\ifbool{bbx:edbyidem} - {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}% - \addspace}% - {\printnames[byeditor]{editor}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% - \savefield{namehash}{\bbx@lasthash}}}% - {\printnames[byeditor]{editor}% - \ifdefstring{\bbx@option@editorstring}{brackets}% - {\addspace}% - {\ifdefstring{\bbx@option@editorstring}{parens}% - {\addspace}% - {\addcomma\space}}% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{editorstrg}% - \clearname{editor}}} - %% Wenn 'volumes' und 'volume' angegeben sind, %% 'volumes' immer vor 'volume' ausgeben \newbibmacro*{volumes+volume+part}{% @@ -362,10 +403,7 @@ \global\boolfalse{bbx:journumdate}}}}} \renewbibmacro*{journal+issuetitle}{% - \ifuseeditor - {\usebibmacro{editorincoll}% - \setunit{\labelnamepunct}\newblock} - {}% + \usebibmacro{useeditor+others}% \usebibmacro{journal}% \setunit*{\addspace}% \iffieldundef{series} @@ -406,10 +444,8 @@ {\printtext[parens]{\usebibmacro{issue+date}}}% \newunit\newblock \usebibmacro{issue}% - \ifuseeditor - {} - {\newunit% - \usebibmacro{byeditor+others}}% + \newunit + \usebibmacro{byeditor+others}% \newunit} % journalnumber=afteryear @@ -433,10 +469,8 @@ \printfield{number}}}% \newunit\newblock \usebibmacro{issue}% - \ifuseeditor - {} - {\newunit% - \usebibmacro{byeditor+others}}% + \newunit + \usebibmacro{ifuse:byeditor+others}% \newunit} % journalnumber=date @@ -447,10 +481,8 @@ \usebibmacro{issue+date+number}% \newunit\newblock \usebibmacro{issue}% - \ifuseeditor - {} - {\newunit% - \usebibmacro{byeditor+others}}% + \newunit + \usebibmacro{ifuse:byeditor+others}% \newunit} \renewbibmacro*{issue+date}{% Klammern entfernt @@ -470,10 +502,10 @@ \printdate}}% {\iffieldundef{month}% mit definiertem Feld issue {\printtext[parens]{\printdate}% - \setunit{\addspace}% - \printfield{issue}}% - {\setunit{\addcomma\space}% - \printdate}}}% + \setunit{\addspace}% + \printfield{issue}}% + {\setunit{\addcomma\space}% + \printdate}}}% {\iffieldundef{issue}% mit definiertem Feld number {\iffieldundef{month} {\setunit{\addspace}% @@ -484,9 +516,7 @@ {\setunit{\addcomma\space\journumstring}% \printfield{number}% \setunit{\addcomma\space}% - \printfield{month}% - \setunit{\addspace}% - \printfield{year}}% + \printdate}% {\setunit{\addcomma\space\journumstring}% \printfield{number}% \setunit{\addcomma\space}% @@ -501,9 +531,7 @@ {\setunit{\addspace\journumstring}% \printfield{number}% \setunit{\addcomma\space}% - \printfield{month}% - \setunit{\addspace}% - \printfield{year}% + \printdate \setunit{\addcomma\space}% \printfield{issue}}% {\setunit{\addcomma\space\journumstring}% @@ -514,6 +542,17 @@ \printfield{issue}}}}}% \newunit} +%% pageref: space statt \newunit, da sonst Komma vor Klammer steht +\renewbibmacro*{pageref}{% + \iflistundef{pageref} + {} + {\setunit{\addspace}% + \printtext[parens]{% + \ifnumgreater{\value{pageref}}{1} + {\bibstring{backrefpages}\ppspace} + {\bibstring{backrefpage}\ppspace}% + \printlist[pageref][-\value{listtotal}]{pageref}}}} + %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% Bibmacros für Code, der im Bibliography %%%%% %%%%% Driver aufgerufen wird, wenn KEIN xref %%%%% @@ -521,7 +560,7 @@ %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% \newbibmacro{noxref:inbook}{% \usebibmacro{bybookauthor}% - \newunit\newblock + \setunit{\labelnamepunct}\newblock% \usebibmacro{maintitle+booktitle}% \newunit \usebibmacro{byeditor+others}% @@ -554,16 +593,11 @@ \usebibmacro{pageref}}% \newbibmacro{noxref:incollection}{% - \ifuseeditor - {\usebibmacro{editorincoll}% - \setunit{\labelnamepunct}\newblock} - {}% + \usebibmacro{useeditor+others}% \usebibmacro{maintitle+booktitle}% \newunit - \ifuseeditor - {} - {\usebibmacro{byeditor+others}% - \newunit\newblock}% + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock \usebibmacro{edition}% \usebibmacro{volumes+volume+part}% \setunit{\addspace}% @@ -592,18 +626,12 @@ \usebibmacro{pageref}} \newbibmacro{noxref:inproceedings}{% - \ifuseeditor - {\usebibmacro{editorincoll}% - \setunit{\labelnamepunct}\newblock} - {}% + \usebibmacro{useeditor+others}% \usebibmacro{maintitle+booktitle}% \newunit\newblock \usebibmacro{event+venue+date}% \newunit\newblock - \ifuseeditor - {} - {\usebibmacro{byeditor+others}% - \newunit\newblock}% + \usebibmacro{ifuse:byeditor+others}% \newunit\newblock \usebibmacro{volumes+volume+part}% \setunit{\addspace}% @@ -634,16 +662,11 @@ \usebibmacro{pageref}}% \newbibmacro{noxref:inreference}{% - \ifuseeditor - {\usebibmacro{editorincoll}% - \setunit{\labelnamepunct}\newblock} - {}% + \usebibmacro{useeditor+others}% \usebibmacro{maintitle+booktitle}% \newunit - \ifuseeditor - {} - {\usebibmacro{byeditor+others}% - \newunit\newblock}% + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock \usebibmacro{edition}% \setunit{\addspace}% \ifbool{bbx:seriesafteryear} @@ -679,7 +702,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -714,7 +739,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{maintitle+title}% \newunit \printlist{language}% @@ -761,7 +788,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -796,8 +825,10 @@ \usebibmacro{begentry}% \ifbool{cbx:idemfull} {} - {\usebibmacro{editor+others}% - \setunit{\labelnamepunct}\newblock}% + {\usebibmacro{editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}}}% \usebibmacro{maintitle+title}% \newunit \printlist{language}% @@ -842,7 +873,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit\newblock \printlist{language}% @@ -850,10 +883,18 @@ \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% - \ifnamexref{labelname}% - {\global\boolfalse{bbx:xrefnoidem}}% - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}% + \ifboolexpr{ + test \ifuseeditor + or + test \ifusetranslator + } + {\ifnamexref{labelname}% + {\booltrue{xrefidem}}% + {\boolfalse{xrefidem}}} + {\usebibmacro{authedxrefcheck}% + \ifbool{cbx:authedxref} + {\booltrue{xrefidem}} + {\boolfalse{xrefidem}}}% \ifbool{bbx:xref} {\iffieldundef{xref}% {% Code, wenn kein xref vorhanden @@ -870,7 +911,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -878,17 +921,10 @@ \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% - \ifuseeditor - {\ifnamexref{labelname} - {\global\boolfalse{bbx:xrefnoidem}} - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}} - {\usebibmacro{authedxrefcheck}% - \ifbool{cbx:authedxref} - {\global\boolfalse{bbx:xrefnoidem}% - \global\boolfalse{cbx:xrefnoidem}} - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}}% + \usebibmacro{authedxrefcheck}% + \ifbool{cbx:authedxref} + {\booltrue{xrefidem}} + {\boolfalse{xrefidem}}% \ifbool{bbx:xref} {\iffieldundef{xref} {% Code, wenn kein xref vorhanden @@ -905,7 +941,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -913,16 +951,18 @@ \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% - \ifuseeditor + \ifboolexpr{ + test \ifuseeditor + or + test \ifusetranslator + } {\ifnamexref{labelname}% - {\global\boolfalse{bbx:xrefnoidem}}% - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}} + {\booltrue{xrefidem}}% + {\boolfalse{xrefidem}}} {\usebibmacro{authedxrefcheck}% \ifbool{cbx:authedxref} - {\global\boolfalse{bbx:xrefnoidem}} - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}}% + {\booltrue{xrefidem}} + {\boolfalse{xrefidem}}}% \ifbool{bbx:xref} {\iffieldundef{xref}% {% Code, wenn kein xref vorhanden @@ -939,7 +979,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit*{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -947,16 +989,18 @@ \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% - \ifuseeditor + \ifboolexpr{ + test \ifuseeditor + or + test \ifusetranslator + } {\ifnamexref{labelname}% - {\global\boolfalse{bbx:xrefnoidem}}% - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}} + {\booltrue{xrefidem}}% + {\boolfalse{xrefidem}}} {\usebibmacro{authedxrefcheck}% \ifbool{cbx:authedxref} - {\global\boolfalse{bbx:xrefnoidem}} - {\global\booltrue{bbx:xrefnoidem}% - \global\booltrue{cbx:xrefnoidem}}}% + {\booltrue{xrefidem}} + {\boolfalse{xrefidem}}}% \ifbool{bbx:xref} {\iffieldundef{xref}% {% Code, wenn kein xref vorhanden @@ -976,7 +1020,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1027,7 +1073,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1063,7 +1111,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1096,7 +1146,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1132,8 +1184,10 @@ \usebibmacro{begentry}% \ifbool{cbx:idemfull} {} - {\usebibmacro{editor+others}% - \setunit{\labelnamepunct}\newblock}% + {\usebibmacro{editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title+issuetitle}% \newunit \printlist{language}% @@ -1158,8 +1212,10 @@ \usebibmacro{begentry}% \ifbool{cbx:idemfull} {} - {\usebibmacro{editor+others}% - \setunit{\labelnamepunct}\newblock}% + {\usebibmacro{editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{maintitle+title}% \newunit \printlist{language}% @@ -1207,7 +1263,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1247,7 +1305,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1279,7 +1339,9 @@ \ifbool{cbx:idemfull} {} {\usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% \usebibmacro{title}% \newunit \printlist{language}% @@ -1310,7 +1372,8 @@ \DeclareBibliographyDriver{xrefbook}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% - \ifuseeditor + \ifboolexpr{ + test \ifuseauthor or test \ifuseeditor or test \ifusetranslator} {\usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock} {}% @@ -1320,10 +1383,8 @@ \newunit\newblock \usebibmacro{byauthor}% \newunit\newblock - \ifuseeditor - {} - {\usebibmacro{byeditor+others}% - \newunit\newblock}% + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock \usebibmacro{edition}% \usebibmacro{volumes+volume+part}% \setunit{\addspace}% @@ -1359,18 +1420,17 @@ \DeclareBibliographyDriver{xrefcollection}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% - \ifuseeditor - {\usebibmacro{editor+others}% + \ifboolexpr{ + test \ifuseeditor or test \ifusetranslator} + {\usebibmacro{editor+others/translator+others}% \setunit{\labelnamepunct}\newblock} {}% \usebibmacro{maintitle+title}% \newunit \printlist{language}% \newunit\newblock - \ifuseeditor - {} - {\usebibmacro{byeditor+others}% - \newunit\newblock}% + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock \usebibmacro{edition}% \usebibmacro{volumes+volume+part}% \setunit{\addspace}% @@ -1406,8 +1466,9 @@ \DeclareBibliographyDriver{xrefproceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% - \ifuseeditor - {\usebibmacro{editor+others}% + \ifboolexpr{ + test \ifuseeditor or test \ifusetranslator} + {\usebibmacro{editor+others/translator+others}% \setunit{\labelnamepunct}\newblock} {}% \usebibmacro{maintitle+title}% @@ -1416,10 +1477,8 @@ \newunit\newblock \usebibmacro{event+venue+date}% \newunit\newblock - \ifuseeditor - {} - {\usebibmacro{byeditor+others}% - \newunit\newblock}% + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock \usebibmacro{volumes+volume+part}% \setunit{\addspace}% \ifbool{bbx:seriesafteryear} @@ -1472,7 +1531,7 @@ \newunit\newblock \usebibmacro{byauthor}% \newunit\newblock - \usebibmacro{byeditor+others}% + \usebibmacro{ifuse:byeditor+others}% \newunit\newblock \usebibmacro{edition}% \usebibmacro{volumes+volume+part}% @@ -1509,17 +1568,12 @@ \DeclareBibliographyDriver{xrefidemcollection}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% - \ifuseeditor - {\printtext{\bibstring[\mkidem]{idem\thefield{gender}}% - \addspace}% - \usebibmacro{editorstrg}% - \setunit{\labelnamepunct}\newblock} - {}% + \usebibmacro{ifuse:xrefidem}% \usebibmacro{maintitle+title}% \newunit \printlist{language}% \newunit\newblock - \usebibmacro{byeditor+others}% + \usebibmacro{ifuse:byeditor+others}% \newunit\newblock \usebibmacro{edition}% \usebibmacro{volumes+volume+part}% @@ -1556,19 +1610,14 @@ \DeclareBibliographyDriver{xrefidemproceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% - \ifuseeditor - {\printtext{\bibstring[\mkidem]{idem\thefield{gender}}% - \addspace}% - \usebibmacro{editorstrg}% - \setunit{\labelnamepunct}\newblock} - {}% + \usebibmacro{ifuse:xrefidem}% \usebibmacro{maintitle+title}% \newunit \printlist{language}% \newunit\newblock \usebibmacro{event+venue+date}% \newunit\newblock - \usebibmacro{byeditor+others}% + \usebibmacro{ifuse:byeditor+others}% \newunit\newblock \usebibmacro{volumes+volume+part}% \setunit{\addspace}% @@ -1603,9 +1652,15 @@ \usebibmacro{pageref}% \usebibmacro{finentry}} -%%%%% %%%%% %%%%% %%%%% -%%%%% Warnungen %%%%% -%%%%% %%%%% %%%%% %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Warnungen und Fehlermeldungen %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +\protected\def\blxdw@error#1{% + \begingroup + \blx@safe@actives + \PackageError{biblatex-dw}{#1}% + \endgroup} + \protected\def\blxdw@warning#1{% \begingroup \blx@safe@actives @@ -1632,62 +1687,6 @@ {\blxdw@warning@noline{% Unknown value for option 'origfieldsformat'.\MessageBreak Option 'origfieldsformat=punct' used instead}}}}% - \ifdefstring{\bbx@option@namefont}{smallcaps} - {} - {\ifdefstring{\bbx@option@namefont}{italic} - {} - {\ifdefstring{\bbx@option@namefont}{bold} - {} - {\ifdefstring{\bbx@option@namefont}{normal} - {} - {\blxdw@warning@noline{% - Unknown value for option 'namefont'.\MessageBreak - Option 'namefont=normal' used instead}}}}}% - \ifdefstring{\bbx@option@firstnamefont}{smallcaps} - {} - {\ifdefstring{\bbx@option@firstnamefont}{italic} - {} - {\ifdefstring{\bbx@option@firstnamefont}{bold} - {} - {\ifdefstring{\bbx@option@firstnamefont}{normal} - {} - {\blxdw@warning@noline{% - Unknown value for option 'firstnamefont'.\MessageBreak - Option 'firstnamefont=normal' used instead}}}}}% - \ifdefstring{\bbx@option@ibidemfont}{smallcaps} - {} - {\ifdefstring{\bbx@option@ibidemfont}{italic} - {} - {\ifdefstring{\bbx@option@ibidemfont}{bold} - {} - {\ifdefstring{\bbx@option@ibidemfont}{normal} - {} - {\blxdw@warning@noline{% - Unknown value for option 'ibidemfont'.\MessageBreak - Option 'ibidemfont=normal' used instead}}}}}% - \ifdefstring{\bbx@option@idemfont}{smallcaps} - {} - {\ifdefstring{\bbx@option@idemfont}{italic} - {} - {\ifdefstring{\bbx@option@idemfont}{bold} - {} - {\ifdefstring{\bbx@option@idemfont}{normal} - {} - {\ifdefstring{\bbx@option@idemfont}{empty} - {} - {\blxdw@warning@noline{% - Unknown value for option 'idemfont'.\MessageBreak - Value of option 'namefont' used instead}}}}}}% - \ifdefstring{\bbx@option@editorstring}{parens} - {} - {\ifdefstring{\bbx@option@editorstring}{brackets} - {} - {\ifdefstring{\bbx@option@editorstring}{normal} - {} - {\ExecuteBibliographyOptions{editorstring=parens}% - \blxdw@warning@noline{% - Unknown value for option 'editorstring'.\MessageBreak - Option 'editorstring=parens' used instead}}}}% \ifdefstring{\bbx@option@journalnumber}{standard} {} {\ifdefstring{\bbx@option@journalnumber}{afteryear} |