diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/biblatex-contrib/biblatex-dw/latex |
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-dw/latex')
8 files changed, 4167 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx new file mode 100644 index 0000000000..075131d4ee --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/authortitle-dw.bbx @@ -0,0 +1,914 @@ +% authortitle-dw.bbx, Dominik Waßenhoven 2016 + +\ProvidesFile{authortitle-dw.bbx}[2016/12/06 v1.7 biblatex bibliography style] + +\RequireBibliographyStyle{standard-dw} + +\newbool{bbx:annotation} +\newbool{bbx:edbyidem} +\newbool{bbx:editorstring}% Test, ob editorstring auf parens oder brackets gesetzt wurde +\newbool{bbx:editionstring} +\newbool{bbx:edsuper} +\newbool{bbx:idembib} +\newbool{bbx:idemfont}% Test, ob idemfont gesetzt wurde +\newbool{bbx:library} +\newbool{bbx:nolocation} +\newbool{bbx:nopublisher} +\newbool{bbx:oldauthor} +\newbool{bbx:origfields} +\newbool{bbx:pseudoauthor} +\newbool{oldbookauthor} +\newbool{oldauthor} +\newbool{pseudoauthor} + +\DeclareEntryOption{oldbookauthor}[true]{% + \csuse{bool#1}{oldbookauthor}} +\DeclareEntryOption{oldauthor}[true]{% + \csuse{bool#1}{oldauthor}} +\DeclareEntryOption{pseudoauthor}[true]{% + \csuse{bool#1}{pseudoauthor}} + +\DeclareBibliographyOption{annotation}[true]{% + \csuse{bool#1}{bbx:annotation}} +\DeclareBibliographyOption{edbyidem}[true]{% + \csuse{bool#1}{bbx:edbyidem}} +\DeclareBibliographyOption{editionstring}[true]{% + \csuse{bool#1}{bbx:editionstring}} +\DeclareBibliographyOption{edsuper}[true]{% + \csuse{bool#1}{bbx:edsuper}} +\DeclareBibliographyOption{idembib}[true]{% + \csuse{bool#1}{bbx:idembib}} +\DeclareBibliographyOption{library}[true]{% + \csuse{bool#1}{bbx:library}} +\DeclareBibliographyOption{nolocation}[true]{% + \csuse{bool#1}{bbx:nolocation}} +\DeclareBibliographyOption{nopublisher}[true]{% + \csuse{bool#1}{bbx:nopublisher}} +\DeclareBibliographyOption{oldauthor}[true]{% + \csuse{bool#1}{bbx:oldauthor}} +\DeclareBibliographyOption{origfields}[true]{% + \csuse{bool#1}{bbx:origfields}} +\DeclareBibliographyOption{pseudoauthor}[true]{% + \csuse{bool#1}{bbx:pseudoauthor}} + +\newcommand{\bbx@origfieldsformat}{} + +\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}{\mkbibemph}} +\def\bbx@opt@namefont@bold{% + \renewcommand{\bbx@namefont}{\mkbibbold}} + +\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}{\mkbibemph}} +\def\bbx@opt@firstnamefont@bold{% + \renewcommand{\bbx@firstnamefont}{\mkbibbold}} + +\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}{\mkbibemph}} +\def\bbx@opt@idemfont@bold{% + \global\booltrue{bbx:idemfont}% + \renewcommand{\bbx@idemfont}{\mkbibbold}} + +\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}{\mkbibemph}} +\def\bbx@opt@ibidemfont@bold{% + \renewcommand{\bbx@ibidemfont}{\mkbibbold}} + +\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}} + +\DeclareBibliographyOption{editorstringfont}[normal]{% + \ifcsdef{bbx@opt@edstringfont@#1} + {\csuse{bbx@opt@edstringfont@#1}} + {\blxdw@error{% + Invalid option 'editorstringfont=#1'\MessageBreak + Valid values are 'normal' and 'namefont'}}} +\newcommand{\bbx@edstringfont}{} +\def\bbx@opt@edstringfont@normal{% + \renewcommand{\bbx@edstringfont}{}} +\def\bbx@opt@edstringfont@namefont{% + \renewcommand{\bbx@edstringfont}{\bbx@namefont}} + +\ExecuteBibliographyOptions{ + edbyidem=true, + editorstring=parens, + idembib=true, + idembibformat=idem, + nolocation=false, + nopublisher=true, + oldauthor=true, + origfields=true, + origfieldsformat=punct, + pseudoauthor=true +} + +%% Autoren, Herausgeber und Übersetzter in der Bibliographie +\DeclareNameAlias{author}{sortname} +\DeclareNameAlias{editor}{sortname} +\DeclareNameAlias{translator}{sortname} + +%% Komma statt Punkt nach einzelnen Elementen der Literaturangaben +\renewcommand*{\newunitpunct}{\addcomma\space} + +%% Punkt zwischen Titel und Untertitel +\renewcommand*{\subtitlepunct}{\addperiod\space} + +%% Punkt zwischen Untertitel und Titelzusatz ([book|main]titleaddon) +\newcommand*{\titleaddonpunct}{\addperiod\space} + +%% Doppelpunkt nach Autoren/Editoren +\renewcommand*{\labelnamepunct}{\addcolon\space} + +%% Zeichensetzung zwischen Ort und Jahr +\newcommand*{\locationdatepunct}{\addspace} + +%% Zeichensetzung zwischen Ort und Verlag +\newcommand*{\locationpublisherpunct}{\addcolon\space} + +%% Zeichensetzung zwischen Verlag und Jahr +\newcommand*{\publisherdatepunct}{\addcomma\space} + +%% Zeichen vor 'Nachdruck' bei Benutzung von 'origfields' +\newcommand*{\origfieldspunct}{\addcomma\space} + +%% Zeichen für pseudoauthor=true +\newcommand*{\bibleftpseudo}{} +\newcommand*{\bibrightpseudo}{} + +%% Zeichen zw. Autoren/Editoren in der Bibliographie +\newcommand*{\bibrevsdnamedelim}{\addspace} +\newcommand*{\bibmultinamedelim}{\addcomma\space} +\newcommand*{\bibfinalnamedelim}{% + \ifnum\value{liststop}>2 \finalandcomma\fi + \addspace\bibstring{and}\space}% + +\AtBeginBibliography{% + \let\revsdnamedelim\bibrevsdnamedelim% + \let\multinamedelim\bibmultinamedelim% + \let\finalnamedelim\bibfinalnamedelim% +} + +%% Makros für Schriften der Felder 'annotation' und 'library' +\newcommand{\annotationfont}{\small\itshape} +\newcommand{\libraryfont}{\small\sffamily} + +%% Formate in der Bibliographie +\DeclareFieldFormat{annotation}{% + \annotationfont #1}%\addperiod\par} +\DeclareFieldFormat{booktitle}{#1} +\DeclareFieldFormat{edition}{% + \ifinteger{#1} + {\mkbibordedition{#1}~\bibstring{edition}} + {\ifbool{bbx:editionstring} + {#1\addspace\bibstring{edition}\isdot} + {#1\isdot}}} +\DeclareFieldFormat{edition:super}{% für Option 'edsuper' + \ifinteger{#1} + {\textsuperscript{#1}} + {\blxdw@warning@noline{% + The 'edition' field of entry\MessageBreak + '\abx@field@entrykey' is not an integer.\MessageBreak + The edition will not be printed as\MessageBreak + superscript. Instead, the 'edition'\MessageBreak + field is printed completely}}} +\DeclareFieldFormat{journaltitle}{#1} +\DeclareFieldFormat{issuetitle}{#1} +\DeclareFieldFormat{library}{% + \libraryfont #1}%\addperiod\par} +\DeclareFieldFormat{maintitle}{#1} +\DeclareFieldFormat{review}{% + \bibstring{review}% + \enquote{#1}} +\DeclareFieldFormat{shorthandwidth}{% + \ifboolexpr{ + bool {bbx:shorthandacro} + and + bool {bbx:acronym} + } + {\mkbibacro{#1}\isdot} + {#1\isdot}} +\DeclareFieldFormat{shortjournal}{% + \ifboolexpr{ + bool {bbx:shorthandacro} + and + bool {bbx:acronym} + } + {\mkbibacro{#1}\isdot} + {#1\isdot}} +\DeclareFieldFormat*{title}{#1} +\DeclareFieldFormat[inreference]{title}{% + \bibstring{inrefstring}% + \enquote{#1}} +\DeclareFieldFormat[review]{title}{% + \bibstring{review}% + \enquote{#1}} +\DeclareFieldFormat[inreference]{volume}{#1}% volume of an inreference entry +\DeclareFieldFormat[review]{volume}{#1}% volume of a review entry +\DeclareFieldFormat{shorthand}{% + \ifbool{bbx:shorthandacro} + {\ifbool{bbx:acronym} + {\mkbibacro{#1}\isdot} + {#1\isdot}} + {#1\isdot}} + +%% Umdefinierung von finentry für 'annotation' und 'library' +\renewbibmacro*{finentry}{% + \ifboolexpr{ + test {\iffieldundef{annotation}} + and + test {\iffieldundef{library}} + } + {\finentry} + {\iffieldundef{annotation} + {\iffieldundef{library} + {\finentry} + {}}% + {\ifbool{bbx:annotation} + {\setunit{\addperiod\par} + \printfield{annotation}} + {}}% + \iffieldundef{library} + {} + {\ifbool{bbx:library} + {\setunit{\addperiod\par} + \printfield{library}} + {}}% + \finentry}} + +% Ausschalten von annotation und library für die List of Shorthands +\AtEveryLositem{% + \boolfalse{bbx:annotation}% + \boolfalse{bbx:library}% +} + +%% Wichtig für die Herausgebernamen in der List of Shorthands +\InitializeBibliographyStyle{% + \let\bbx@lasthash\undefined} + +% Nachnamen von Einträgen mit 'options = {oldauthor=true}' +% oder 'options = {oldbookauthor=true}' +% werden nicht in der Schrift von 'namefont' gesetzt +% Formatierung der Nachnamen entsprechend der Option 'namefont' +\renewcommand*{\mkbibnamefamily}[1]{% + \ifboolexpr{ + ( bool {bbx:oldauthor} + and + ( ( bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) ) + or + ( bool {oldbookauthor} + and + test {\ifcurrentname{bookauthor}} ) ) ) + or + ( bool{cbx:citeauthor} + and + ( bool{cbx:citeauthornormalfont} + or + ( bool{cbx:citeauthorfoot} + and + not test {\iffootnote} ) ) ) + } + {#1} + {\bbx@namefont{#1}}} + +% Formatierung der Vornamen entsprechend der Option 'firstnamefont' +\renewcommand*{\mkbibnamegiven}[1]{% + \ifboolexpr{ + ( bool {bbx:oldauthor} + and + ( ( bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) ) + or + ( bool {oldbookauthor} + and + test {\ifcurrentname{bookauthor}} ) ) ) + or + ( bool{cbx:citeauthor} + and + ( bool{cbx:citeauthornormalfont} + or + ( bool{cbx:citeauthorfoot} + and + not test {\iffootnote} ) ) ) + } + {#1} + {\bbx@firstnamefont{#1}}} + +% prefix richtet sich nach 'namefont' (useprefix=true) +% oder 'firstnamefont' (useprefix=false) +\renewcommand*{\mkbibnameprefix}[1]{% + \ifboolexpr{ + ( bool {bbx:oldauthor} + and + ( ( bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) ) + or + ( bool {oldbookauthor} + and + test {\ifcurrentname{bookauthor}} ) ) ) + or + ( bool{cbx:citeauthor} + and + ( bool{cbx:citeauthornormalfont} + or + ( bool{cbx:citeauthorfoot} + and + not test {\iffootnote} ) ) ) + } + {#1} + {\ifuseprefix + {\bbx@namefont{#1}} + {\bbx@firstnamefont{#1}}}} + +% suffix richtet sich nach 'firstnamefont' +\renewcommand*{\mkbibnamesuffix}[1]{% + \ifboolexpr{ + ( bool {bbx:oldauthor} + and + ( ( bool {oldauthor} + and + ( test {\ifcurrentname{author}} + or + ( test {\ifcurrentname{labelname}} + and + not test {\ifnameundef{author}} ) ) ) + or + ( bool {oldbookauthor} + and + test {\ifcurrentname{bookauthor}} ) ) ) + or + ( bool{cbx:citeauthor} + and + ( bool{cbx:citeauthornormalfont} + or + ( bool{cbx:citeauthorfoot} + and + not test {\iffootnote} ) ) ) + } + {#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 entsprechend der Option 'idemfont', +% falls diese nicht vorhanden ist, wird der Wert von 'namefont' übernommen +\newcommand*{\mkidem}[1]{% + \ifboolexpr{ + bool {bbx:oldauthor} + and + bool {oldauthor} + } + {#1} + {\ifbool{bbx:idemfont} + {\bbx@idemfont{#1}} + {\bbx@namefont{#1}}}} + +%% Punkt zwischen Untertitel und Titelzusatz ([book|main]titleaddon) +\renewbibmacro*{title}{% + \iffieldundef{title} + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \setunit{\titleaddonpunct}% + \printfield{titleaddon}}} + +\renewbibmacro*{booktitle}{% + \iffieldundef{booktitle} + {} + {\printtext[booktitle]{% + \printfield[titlecase]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{booksubtitle}}% + \setunit{\titleaddonpunct}% + \printfield{booktitleaddon}}} + +\renewbibmacro*{maintitle}{% + \iffieldundef{maintitle} + {} + {\printtext[maintitle]{% + \printfield[titlecase]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{mainsubtitle}}% + \setunit{\titleaddonpunct}% + \printfield{maintitleaddon}}} + +%% Ort, Verlag, Jahr: +%% - mit 'origfields=true' werden origlocation, origpublisher +%% und origyear gesetzt, der Rest als 'reprint' angehängt +%% - der Verlag ist optional (nopublisher=true|false) +%% - die Edition kann hochgestellt werden (edsuper=true|false) +\newbibmacro*{origdate}{\printorigdate} + +\renewbibmacro*{publisher+location+date}{% + \ifbool{bbx:origfields} + {\ifbool{bbx:nolocation} + {\iffieldundef{origyear} + {\usebibmacro{loc+pub+year}} + {\usebibmacro{origloc+origpub+origyear}}} + {\iflistundef{origlocation} + {\iffieldundef{origyear} + {\usebibmacro{loc+pub+year}} + {\usebibmacro{origloc+origpub+origyear}}} + {\iffieldundef{origyear} + {\blxdw@warning{% + Field 'origlocation' is set, but 'origdate' is + \MessageBreak% + empty at entry '\abx@field@entrykey'. + The 'orig' fields \MessageBreak are omitted + for this entry}% + \usebibmacro{loc+pub+year}} + {\usebibmacro{origloc+origpub+origyear}}}}} + {\usebibmacro{loc+pub+year}}} + +\newbibmacro{loc+pub+year}{% + \ifbool{bbx:nolocation} + {} + {\printlist{location}% + \ifbool{bbx:nopublisher} + {\setunit*{\locationdatepunct}}% + {\iflistundef{publisher} + {\setunit*{\locationdatepunct}} + {\setunit*{\locationpublisherpunct}% + \printlist{publisher}% + \setunit*{\publisherdatepunct}}}}% + \ifbool{bbx:edsuper} + {\printfield[edition:super]{edition}} + {}% + \usebibmacro{date}% + \newunit} + +\newbibmacro{origloc+origpub+origyear}{% + \ifbool{bbx:nolocation} + {} + {\printlist{origlocation}% + \ifbool{bbx:nopublisher} + {\setunit*{\locationdatepunct}}% + {\iflistundef{origpublisher} + {\setunit*{\locationdatepunct}} + {\setunit*{\locationpublisherpunct}% + \printlist{origpublisher}% + \setunit*{\publisherdatepunct}}}}% + \ifbool{bbx:edsuper} + {\printfield[edition:super]{edition}} + {}% + \usebibmacro{origdate}% + \ifdefstring{\bbx@origfieldsformat}{punct} + {\setunit*{\origfieldspunct}% + \usebibmacro{origfields:loc+pub+year}} + {\ifdefstring{\bbx@origfieldsformat}{parens} + {\setunit*{\addspace}% + \printtext[parens]{% + \usebibmacro{origfields:loc+pub+year}}} + {\ifdefstring{\bbx@origfieldsformat}{brackets} + {\setunit*{\addspace}% + \printtext[brackets]{% + \usebibmacro{origfields:loc+pub+year}}} + {\setunit*{\origfieldspunct}% + \usebibmacro{origfields:loc+pub+year}}}} + \newunit} + +\newbibmacro{origfields:loc+pub+year}{% + \bibstring{reprint}% + \setunit{\addspace}% + \ifbool{bbx:nolocation} + {} + {\printlist{location}% + \ifbool{bbx:nopublisher} + {\setunit*{\locationdatepunct}}% + {\iflistundef{publisher} + {\setunit*{\locationdatepunct}} + {\setunit*{\locationpublisherpunct}% + \printlist{publisher}% + \setunit*{\publisherdatepunct}}}}% + \usebibmacro{date}} + +%% Test, ob ein Feld nur eine Zahl beinhaltet +\newcommand{\bbx@iffieldinteger}[1]{% + \iffieldundef{#1} + {\@secondoftwo} + {\edef\@tempa{\strfield{#1}}% + \expandafter\ifinteger\expandafter{\@tempa}}} + +%% Edition nur ausgeben, wenn Option 'edsuper=false' +\newbibmacro*{edition}{% + \ifbool{bbx:edsuper} + {\bbx@iffieldinteger{edition} + {}% falls 'edition' eine Zahl ist, wird hochgestellt + {\printfield{edition}% + \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}} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{editors}}}} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{editor}}}}} + {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{\thefield{editortype}s}}}} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{\thefield{editortype}}}}}}} + +\renewbibmacro*{editor+othersstrg}{% + \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\abx@tempa{tr}% + \appto\abx@tempb{\clearname{translator}}} + {}% + \ifnamesequal{editor}{commentator} + {\appto\abx@tempa{co}% + \appto\abx@tempb{\clearname{commentator}}} + {\ifnamesequal{editor}{annotator} + {\appto\abx@tempa{an}% + \appto\abx@tempb{\clearname{annotator}}} + {}}% + \ifnamesequal{editor}{introduction} + {\appto\abx@tempa{in}% + \appto\abx@tempb{\clearname{introduction}}} + {\ifnamesequal{editor}{foreword} + {\appto\abx@tempa{fo}% + \appto\abx@tempb{\clearname{foreword}}} + {\ifnamesequal{editor}{afterword} + {\appto\abx@tempa{af}% + \appto\abx@tempb{\clearname{afterword}}} + {}}}% + \ifbibxstring{\abx@tempa} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{\abx@tempa}}}% + \abx@tempb} + {\usebibmacro{editorstrg}}} + +%% Übersetzer ('Übers.') je nach Option editorstring +\renewbibmacro*{translatorstrg}{% + \ifthenelse{\value{translator}>1\OR\ifandothers{translator}} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{translators}}}} + {\bbx@edstringfont{\bbx@editorstring{\bibstring{translator}}}}} + +\renewbibmacro*{translator+othersstrg}{% + \ifthenelse{\value{translator}>1\OR\ifandothers{translator}} + {\def\abx@tempa{translators}} + {\def\abx@tempa{translator}}% + \ifnamesequal{translator}{commentator} + {\appto\abx@tempa{co}% + \clearname{commentator}} + {\ifnamesequal{translator}{annotator} + {\appto\abx@tempa{an}% + \clearname{annotator}} + {}}% + \ifnamesequal{translator}{introduction} + {\appto\abx@tempa{in}% + \clearname{introduction}} + {\ifnamesequal{translator}{foreword} + {\appto\abx@tempa{fo}% + \clearname{foreword}} + {\ifnamesequal{translator}{afterword} + {\appto\abx@tempa{af}% + \clearname{afterword}} + {}}}% + \bbx@edstringfont{\bbx@editorstring{\bibstring{\abx@tempa}}}} + +%% Option 'editorstring=brackets|parens|normal' +%% Option 'idembib=true|false' +\renewbibmacro*{editor}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}} + {\ifbool{bbx:idembib} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\bibnamedash} + {\printnames{editor}% + \savefield{namehash}{\bbx@lasthash}}}% + {\printnames{editor}% + \global\undef\bbx@lasthash}% + \usebibmacro{editorstringpunct}% + \usebibmacro{editorstrg}% + \ifbool{bbx:idembib} + {} + {\labelnamepunct}% + \clearname{editor}} + {}} + +\renewbibmacro*{editor+others}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}} + {\ifbool{bbx:idembib} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\bibnamedash} + {\printnames{editor}% + \savefield{namehash}{\bbx@lasthash}}}% + {\printnames{editor}}% + \usebibmacro{editorstringpunct}% + \usebibmacro{editor+othersstrg}% + \ifbool{bbx:idembib} + {} + {\labelnamepunct}% + \clearname{editor}} + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}} + {\ifbool{bbx:idembib} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\bibnamedash} + {\printnames{translator}% + \savefield{namehash}{\bbx@lasthash}}}% + {\printnames{translator}}% + \usebibmacro{editorstringpunct}% + \usebibmacro{translatorstrg}% + \ifbool{bbx:idembib} + {} + {\labelnamepunct}% + \clearname{translator}} + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator+others}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}} + {\ifbool{bbx:idembib} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\bibnamedash} + {\printnames{translator}% + \savefield{namehash}{\bbx@lasthash}}}% + {\printnames{translator}}% + \usebibmacro{editorstringpunct}% + \usebibmacro{translator+othersstrg}% + \ifbool{bbx:idembib} + {} + {\labelnamepunct}% + \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} + {\usebibmacro{author:pseudotrue}} + {\usebibmacro{author:pseudofalse}}} + +\newbibmacro*{author:pseudotrue}{% + \ifbool{pseudoauthor} + {\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 + \NOT\iffirstonpage} + {\bibnamedash} + {\printnames{author}% + \savefield{namehash}{\bbx@lasthash}}} + {\printnames{author}% + \global\undef\bbx@lasthash}% + \iffieldundef{authortype} + {} + {\setunit{\addcomma\space}% + \usebibmacro{authorstrg}}} + {}} + +%% 'Ders.' bei inbook, wenn gleicher Autor +\renewbibmacro*{bybookauthor}{% + \ifnamesequal{author}{bookauthor} + {\ifbool{bbx:edbyidem} + {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}\addcolon} + {\printnames[byauthor]{bookauthor}% + \newunit\newblock}} + {\printnames[byauthor]{bookauthor}% + \newunit\newblock}} + +%% Wenn Autor und Hrsg. gleich --> hg. v. dems./ders./dens.: +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {\usebibmacro{byeditor+othersstrg}% + \setunit{\addspace}% + \ifboolexpr{ + ( ( ( not test {\ifentrytype{inbook}}% alle außer inbook: author und editor gleich? + and + test {\ifnamesequal{editor}{author}} ) + or + ( test {\ifentrytype{inbook}} + and + ( test {\ifnameundef{bookauthor}}% inbook ohne bookauthor: author und editor gleich? + and + test {\ifnamesequal{editor}{author}} ) + or + ( not test {\ifnameundef{bookauthor}}% inbook mit bookauthor: author und bookauthor gleich? + and + test {\ifnamesequal{editor}{bookauthor}} ) ) ) + or + ( bool {xrefidem} + and not + bool {cbx:authauthxref} ) ) + and + bool {bbx:edbyidem} + } + {\bibstring[\mkidem]{idemdat\thefield{gender}}} + {\printnames[byeditor]{editor}}% + \clearname{editor}% + \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}} ) + or + bool {xref:inbook} + } + {} + {\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) %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% + +\setlength{\bibitemsep}{0pt} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx new file mode 100644 index 0000000000..a0ebd77967 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/footnote-dw.bbx @@ -0,0 +1,7 @@ +% footnote-dw.bbx, Dominik Waßenhoven 2016 + +\ProvidesFile{footnote-dw.bbx}[2016/12/06 v1.7 biblatex bibliography style] + +\RequireBibliographyStyle{authortitle-dw} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx new file mode 100644 index 0000000000..66d7740802 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/bbx/standard-dw.bbx @@ -0,0 +1,1884 @@ +% standard-dw.bbx, Dominik Waßenhoven 2016 + +\ProvidesFile{standard-dw.bbx}[2016/12/06 v1.7 biblatex bibliography style] + +\@ifpackagelater{biblatex}{2016/03/11} + {} + {\PackageError{biblatex-dw} + {Outdated 'biblatex' package\MessageBreak + Upgrade to biblatex v3.3 (2016/03/11) or later.\MessageBreak + I found: '\csuse{ver@biblatex.sty}'.\MessageBreak + This is a fatal error. I'm aborting now}% + \endinput} + +\RequireBibliographyStyle{standard} + +\DeclareLanguageMapping{english}{english-dw} +\DeclareLanguageMapping{german}{german-dw} + +\newbool{bbx:acronym} +\newbool{bbx:journumafteryear} +\newbool{bbx:journumdate} +\newbool{bbx:seriesstandard} +\newbool{bbx:seriesafteryear} +\newbool{bbx:seriesbeforeedition} +\newbool{bbx:seriesinparens} +\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{xrefidem} + +\newtoggle{listofshorthands}% sind wir in der List of Shorthands? + +% Schalter zum ein-/ausblenden bestimmter Felder +\newbool{bbx:pagetotal} + +% Längen für Shorthand +\newlength{\bbx@shorthandwidth} +\newlength{\shorthandsep} + +% Hilfsbefehl für @review +\newcommand*{\bbx@reviewparent} + +\DeclareEntryOption{acronym}[true]{% + \csuse{bool#1}{bbx:acronym}} + +\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}} +\DeclareBibliographyOption{terselos}[true]{% + \csuse{bool#1}{bbx:terselos}} +\DeclareBibliographyOption{xref}[true]{% + \csuse{bool#1}{bbx:xref}} + +% Optionen zum ein-/ausblenden bestimmter Felder +\DeclareBibliographyOption{pagetotal}[true]{% + \csuse{bool#1}{bbx:pagetotal}} + +% journalnumber=standard|afteryear|date +\newcommand{\bbx@option@journalnumber}{} +\DeclareBibliographyOption{journalnumber}{% + \renewcommand{\bbx@option@journalnumber}{#1}} +% zu Ehren von Bernhard Tempel +\newbool{bbx:bernhard} +\DeclareBibliographyOption{bernhard}[true]{% + \csuse{bool#1}{bbx:bernhard}} + +% Option series=standard|afteryear|beforeedition +\DeclareBibliographyOption{series}[standard]{% + \ifcsdef{bbx@opt@series@#1} + {\csuse{bbx@opt@series@#1}} + {\blxdw@error{% + Invalid option 'series=#1'\MessageBreak + Valid values are 'standard', 'afteryear', 'beforeedition'}}} +\def\bbx@opt@series@standard{% + \global\booltrue{bbx:seriesstandard}% + \global\boolfalse{bbx:seriesafteryear}% + \global\boolfalse{bbx:seriesbeforeedition}} +\def\bbx@opt@series@afteryear{% + \global\boolfalse{bbx:seriesstandard}% + \global\booltrue{bbx:seriesafteryear}% + \global\boolfalse{bbx:seriesbeforeedition}} +\def\bbx@opt@series@beforeedition{% + \global\boolfalse{bbx:seriesstandard}% + \global\boolfalse{bbx:seriesafteryear}% + \global\booltrue{bbx:seriesbeforeedition}} + +% Option seriesformat=standard|parens +\newcommand{\bbx@option@seriesformat}{} +\DeclareBibliographyOption{seriesformat}{% + \renewcommand{\bbx@option@seriesformat}{#1}} +\AtBeginDocument{% + \ifdefstring{\bbx@option@seriesformat}{parens} + {\global\booltrue{bbx:seriesinparens}} + {\global\boolfalse{bbx:seriesinparens}}} + +\ExecuteBibliographyOptions{ + doi=false, + eprint=false, + isbn=false, + journalnumber=standard, + pagetotal=false, + series=standard, + seriesformat=parens, + shorthandinbib=false, + terselos=true, + xref=false +} + +\AtBeginDocument{% + \ifbool{bbx:xref} + {\ExecuteBibliographyOptions{mincrossrefs=1}} + {}} + +\DeclareBibliographyAlias{idemreference}{idemcollection} +\DeclareBibliographyAlias{xrefreference}{xrefcollection} +\DeclareBibliographyAlias{xrefidemreference}{xrefidemcollection} + +%% Zeichen bei Zeitschriften: +%% -> vor 'volume' (z.B. 'Jg. ') +\newcommand*{\jourvolstring}{\addspace} +%% -> zwischen 'volume' und 'number' +%% (nur mit journumafteryear=true) +\newcommand*{\jourvolnumsep}{\adddot} +%% -> vor 'number' (z.B. ', Nr. ') +\newcommand*{\journumstring}{% + \addcomma\space% + \bibstring{number}% + \addnbspace} + +%% Zeichen bei Reihen: +%% -> vor 'series' (z.B. '= ') +\newcommand*{\seriespunct}{} +%% -> vor 'number' (z.B. ', Bd. ') +\newcommand*{\sernumstring}{\addspace} + +%% Reihe in Klammern (Option seriesformat) +\renewbibmacro*{series+number}{% + \iffieldundef{series}% + {} + {\ifbool{bbx:seriesinparens} + {\printtext[parens]{% + \seriespunct% + \printfield{series}% + \setunit*{\sernumstring}% + \printfield{number}}% + \newunit} + {\setunit{\newunitpunct\seriespunct}% + \printfield{series}% + \setunit*{\sernumstring}% + \printfield{number}% + \newunit}}} + +%% Kürzere Ausgabe der List of Shorthands +\newbibmacro*{terselos}{% + \ifbool{bbx:terselos} + {\ifnameundef{labelname} + {} + {\ifnameundef{author} + {\printnames{editor}% + \usebibmacro{editorstringpunct}% + \usebibmacro{editorstrg}} + {\printnames{author}}% + \setunit{\labelnamepunct}}% + \iffieldundef{booktitle} + {\usebibmacro{maintitle+title-terselos}} + {\printfield{title}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle-terselos}}% + \finentry} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}% + \finentry}} + +\newbibmacro*{maintitle+title-terselos}{% + \iffieldsequal{maintitle}{title} + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}} + {\iffieldundef{maintitle} + {} + {\printfield{maintitle}% + \newunit\newblock + \iffieldundef{volume} + {} + {\iffieldundef{volumes} + {} + {\printfield{volumes}% + \setunit{\addcomma\space}}% + \printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}}% + \printfield{title}% + \newunit} + +\newbibmacro*{maintitle+booktitle-terselos}{% + \iffieldundef{maintitle} + {} + {\printfield{maintitle}% + \newunit\newblock + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \printfield{booktitle}% + \newunit} + +\DeclareBibliographyDriver{shorthand}{% + \toggletrue{listofshorthands}% + \usebibmacro{terselos}} + +%% Zeichensetzung nach dem Shorthand-Label +\newcommand{\shorthandpunct}{} + +%% List of Shorthands: Länge der Labels einstellbar +\AtBeginDocument{% +\ifbool{bbx:shorthandwidthbool} + {\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}% + \printtext{\shorthandpunct}} + {\setlength{\labelwidth}{\bbx@shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\shorthandsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item}} + {\defbibenvironment{shorthand} + {\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}}} + +%% 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}{% + \ifboolexpr{ + bool {bbx:shorthandinbib} + and not + ( test {\ifcitation} + or + togl {listofshorthands} ) + } + {\iffieldundef{shorthand} + {} + {\printfield[shorthandinbib]{shorthand}% + \nopunct\shorthandinbibpunct}} + {}} + +%% 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} + +%% Wenn 'volumes' und 'volume' angegeben sind, +%% 'volumes' immer vor 'volume' ausgeben +\newbibmacro*{volumes+volume+part}{% + \iffieldundef{maintitle} + {\iffieldundef{volumes} + {} + {\printfield{volumes}% + \newunit}% + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}} + {\iffieldundef{volume}% Wenn es einen maintitle gibt, + % aber kein 'volume'-Feld, wurde + % 'volumes' noch nicht ausgegeben! + {\printfield{volumes}} + {}}} + +\renewbibmacro*{maintitle+title}{% + \iffieldsequal{maintitle}{title} + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}} + {\iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit\newblock + \iffieldundef{volume} + {} + {\iffieldundef{volumes} + {} + {\printfield{volumes}% + \setunit{\addcomma\space}}% + \printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}}% + \usebibmacro{title}% + \newunit} + +%% Test, ob 'volume' vorhanden ist (bei xref parent) +\newbibmacro*{xrefvolumecheck}{% + \ifbool{bbx:xref} + {\iffieldundef{volume} + {\xifinlistcs{\strfield{entrykey}}{novolume@xrefparent} + {}% schon in Liste vorhanden, dann passiert nichts + {\listcsxadd{novolume@xrefparent}{\thefield{entrykey}}}}% + {}} + {}} + +%% Test, ob 'citedas=true' gesetzt ist (bei xref parent) +\newbibmacro*{xrefcitedascheck}{% + \ifbool{bbx:xref} + {\ifbool{cbx:citedas} + {\xifinlistcs{\strfield{entrykey}}{citedas@xrefparent} + {}% schon in Liste vorhanden, dann passiert nichts + {\listcsxadd{citedas@xrefparent}{\thefield{entrykey}}}}% + {}} + {}} + +%% Tests werden bei 'xref=true' in @book, @collection, +%% @proceedings und @reference ausgeführt +\AtDataInput[book]{% + \usebibmacro{xrefvolumecheck}% + \usebibmacro{xrefcitedascheck}} +\AtDataInput[collection]{% + \usebibmacro{xrefvolumecheck}% + \usebibmacro{xrefcitedascheck}} +\AtDataInput[proceedings]{% + \usebibmacro{xrefvolumecheck}% + \usebibmacro{xrefcitedascheck}} +\AtDataInput[reference]{% + \usebibmacro{xrefvolumecheck}% + \usebibmacro{xrefcitedascheck}} + +%% 'volume' bei xref-child ausgeben, falls +%% in xref-parent nicht definiert +\newbibmacro*{xrefvolume}{% + \xifinlistcs{\strfield{xref}}{novolume@xrefparent} + {\newunit + \printfield{volume}% + \iffieldxref{year}% wenn 'year' bei child und parent gleich + {} + {\setunit{\addcomma\space}% + \iflistxref{location}% wenn 'location' bei child und parent gleich + {} + {\printlist{location}% + \setunit*{\addspace}}% + \usebibmacro{date}}} + {}}% + +% bei @inreference: booktitle, vol. (year) +\newbibmacro*{xrefvolume:inreference}{% + \xifinlistcs{\strfield{xref}}{novolume@xrefparent} + {\iffieldundef{volume} + {} + {\ifbibliography + {\setunit{\addspace}} + {\xifinlistcs{\strfield{xref}}{citedas@xrefparent} + {\ifbool{cbx:xrefparent:firstcite} + {\newunit + \printtext{\bibstring{volume}\addspace}} + {\setunit{\addspace}}} + {\newunit + \printtext{\bibstring{volume}\addspace}}}% + \printfield{volume}% + \iffieldxref{year}% wenn 'year' bei child und parent gleich + {} + {\setunit{\addspace}% + \printfield[parens]{year}}}} + {}} + +%% 'volume' und 'year' ausgeben bei @inreference +\newbibmacro*{volumes+volume+part+year}{% + \iffieldundef{maintitle} + {\iffieldundef{volumes} + {} + {\printfield{volumes}% + \newunit}% + \iffieldundef{volume} + {} + {\setunit{\addspace}% + \printfield{volume}% + \printfield{part}}% + \iffieldundef{year} + {} + {\setunit{\addspace}% + \printfield[parens]{year}% + \setunit{\addspace}}} + {\iffieldundef{volume}% Wenn es einen maintitle gibt, + % aber kein 'volume'-Feld, wurde + % 'volumes' noch nicht ausgegeben! + {\printfield{volumes}} + {}}} + +%% Option 'shortjournal=true|false' +\renewbibmacro*{journal}{% + \ifbool{bbx:shortjournal} + {\iffieldundef{shortjournal} + {\usebibmacro{journal:normal}} + {\printfield{shortjournal}}} + {\usebibmacro{journal:normal}}} + +\newbibmacro*{journal:normal}{% vollständige, 'normale' Ausgabe eines Zeitschriftentitels + \iffieldundef{journaltitle} + {} + {\printtext[journaltitle]{% + \printfield[titlecase]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{journalsubtitle}}}} + +%% Option 'journalnumber=standard|afteryear|date' +\AtBeginDocument{% + \ifbool{bbx:bernhard}% Bernhard geht vor (c; + {\global\boolfalse{bbx:journumafteryear}% + \global\booltrue{bbx:journumdate}} + {\ifdefstring{\bbx@option@journalnumber}{afteryear} + {\global\booltrue{bbx:journumafteryear}% + \global\boolfalse{bbx:journumdate}} + {\ifdefstring{\bbx@option@journalnumber}{date} + {\global\boolfalse{bbx:journumafteryear}% + \global\booltrue{bbx:journumdate}} + {\global\boolfalse{bbx:journumafteryear} + \global\boolfalse{bbx:journumdate}}}}} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{useeditor+others}% + \usebibmacro{journal}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \iffieldundef{volume} + {} + {\setunit{\jourvolstring}% + \printfield{volume}}% + % ab hier Unterscheidung nach standard|afteryear|date + \ifbool{bbx:journumdate} + {\usebibmacro{journal+issuetitle+date}} + {\ifbool{bbx:journumafteryear} + {\usebibmacro{journal+issuetitle+afteryear}} + {\usebibmacro{journal+issuetitle+standard}}}} + +% journalnumber=standard +\newbibmacro*{journal+issuetitle+standard}{% + \iffieldundef{volume} + {\iffieldundef{number} + {} + {\blxdw@warning{% + Field 'number' set, but 'volume' is empty + \MessageBreak at entry '\abx@field@entrykey'. + The output might not \MessageBreak be correct}}} + {\setunit{\jourvolnumsep}% + \printfield{number}}% + \setunit{\addcomma\space}% + \printfield{eid}% + \setunit{\addspace}% + \iffieldundef{volume} + {\iffieldundef{month} + {} + {\setunit{\addcomma\space}}% + \usebibmacro{issue+date}} + {\printtext[parens]{\usebibmacro{issue+date}}}% + \newunit\newblock + \usebibmacro{issue}% + \newunit + \usebibmacro{byeditor+others}% + \newunit} + +% journalnumber=afteryear +\newbibmacro*{journal+issuetitle+afteryear}{% + \setunit{\addcomma\space}% + \printfield{eid}% + \setunit{\addspace}% + \iffieldundef{volume} + {\iffieldundef{month} + {} + {\setunit{\addcomma\space}}% + \usebibmacro{issue+date}% + \iffieldundef{number} + {} + {\setunit*{\addcomma\space\journumstring}% + \printfield{number}}}% + {\printtext[parens]{\usebibmacro{issue+date}}% + \iffieldundef{number} + {} + {\setunit*{\journumstring}% + \printfield{number}}}% + \newunit\newblock + \usebibmacro{issue}% + \newunit + \usebibmacro{ifuse:byeditor+others}% + \newunit} + +% journalnumber=date +\newbibmacro*{journal+issuetitle+date}{% + \setunit{\addcomma\space}% + \printfield{eid}% + \setunit{\addspace}% + \usebibmacro{issue+date+number}% + \newunit\newblock + \usebibmacro{issue}% + \newunit + \usebibmacro{ifuse:byeditor+others}% + \newunit} + +\renewbibmacro*{issue+date}{% Klammern entfernt + \iffieldundef{issue} + {\printdate} + {\printfield{issue}% + \setunit{\addspace}% + \printfield{year}}% + \newunit} + +\newbibmacro*{issue+date+number}{% + \iffieldundef{number} + {\iffieldundef{issue}% + {\iffieldundef{month} + {\printtext[parens]{\printdate}} + {\setunit{\addcomma\space}% + \printdate}}% + {\iffieldundef{month}% mit definiertem Feld issue + {\printtext[parens]{\printdate}% + \setunit{\addspace}% + \printfield{issue}}% + {\setunit{\addcomma\space}% + \printdate}}}% + {\iffieldundef{issue}% mit definiertem Feld number + {\iffieldundef{month} + {\setunit{\addspace}% + \printtext[parens]{\printdate}% + \setunit{\addspace}% + \printfield{number}} + {\iffieldundef{day} + {\setunit{\addcomma\space\journumstring}% + \printfield{number}% + \setunit{\addcomma\space}% + \printdate}% + {\setunit{\addcomma\space\journumstring}% + \printfield{number}% + \setunit{\addcomma\space}% + \printdate}}}% + {\iffieldundef{month}% mit definiertem Feld issue + {\printtext[parens]{\printdate}% + \setunit{\addspace}% + \printfield{number}% + \setunit{\addspace}% + \printtext[parens]{\printfield{issue}}}% + {\iffieldundef{day}% + {\setunit{\addspace\journumstring}% + \printfield{number}% + \setunit{\addcomma\space}% + \printdate + \setunit{\addcomma\space}% + \printfield{issue}}% + {\setunit{\addcomma\space\journumstring}% + \printfield{number}% + \setunit{\addcomma\space}% + \printdate% + \setunit{\addcomma\space}% + \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}}}} + +\renewbibmacro*{note+pages}{% + \printfield{note}% + \ifbool{cbx:rpcited} + {} + {\setunit{\bibpagespunct}% + \printfield{pages}}% + \newunit} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Bibmacros für Code, der im Bibliography %%%%% +%%%%% Driver aufgerufen wird, wenn KEIN xref %%%%% +%%%%% vorhanden ist. %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +\newbibmacro{noxref:inbook}{% + \usebibmacro{bybookauthor}% + \setunit{\labelnamepunct}\newblock% + \usebibmacro{maintitle+booktitle}% + \newunit + \usebibmacro{byeditor+others}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}}% + +\newbibmacro{noxref:incollection}{% + \usebibmacro{useeditor+others}% + \usebibmacro{maintitle+booktitle}% + \newunit + \usebibmacro{ifuse:byeditor+others}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}} + +\newbibmacro{noxref:inproceedings}{% + \usebibmacro{useeditor+others}% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}}% + +\newbibmacro{noxref:inreference}{% + \usebibmacro{useeditor+others}% + \usebibmacro{maintitle+booktitle}% + \newunit + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock + \usebibmacro{edition}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{volumes+volume+part+year}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Bibliography Driver %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{journal+issuetitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{booklet}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{editor+others/translator+others}% + \setunit*{\labelnamepunct}}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\newbool{xref:inbook}% +\DeclareBibliographyDriver{inbook}{% + \booltrue{xref:inbook}% the child is an inbook + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit\newblock + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{authauthxrefcheck}% + \ifbool{cbx:authauthxref} + {\booltrue{xrefidem}} + {\boolfalse{xrefidem}}% + \ifbool{bbx:xref} + {\iffieldundef{xref}% + {% Code, wenn kein xref vorhanden + \usebibmacro{noxref:inbook}}% + {\printtext{\bbx@xref{\thefield{xref}}}% xref + \usebibmacro{xrefvolume}% + \usebibmacro{pages}}}% + {\usebibmacro{noxref:inbook}}% bei xref=false + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{authedxrefcheck}% + \ifbool{cbx:authedxref} + {\booltrue{xrefidem}} + {\boolfalse{xrefidem}}% + \ifbool{bbx:xref} + {\iffieldundef{xref} + {% Code, wenn kein xref vorhanden + \usebibmacro{noxref:incollection}} + {\printtext{\bbx@xref{\thefield{xref}}}% xref + \usebibmacro{xrefvolume}% + \usebibmacro{pages}}}% + {\usebibmacro{noxref:incollection}}% bei xref=false + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \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 + \usebibmacro{noxref:inproceedings}}% + {\printtext{\bbx@xref{\thefield{xref}}}% xref + \usebibmacro{xrefvolume}% + \usebibmacro{pages}}}% + {\usebibmacro{noxref:inproceedings}}% bei xref=false + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \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 + \usebibmacro{noxref:inreference}}% + {\ifentryseen{\thefield{xref}} + {\boolfalse{cbx:xrefparent:firstcite}}% parent wurde schon zitiert + {\booltrue{cbx:xrefparent:firstcite}}% parent wurde noch nicht zitiert + \printtext{\bbx@xref{\thefield{xref}}}% xref + \usebibmacro{xrefvolume:inreference}% + \usebibmacro{pages}}}% + {\usebibmacro{noxref:inreference}}% bei xref=false + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit\newblock + \printlist{location}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \usebibmacro{url+urldate}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \iflistundef{location} + {} + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newunit\newblock + \usebibmacro{byholder}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title+issuetitle}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{editor+others/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isrn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \iffieldundef{xref} + {% Code, wenn kein xref vorhanden + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}} + {% Code, wenn xref vorhanden + \savefield{xref}{\bbx@reviewparent}% + \printtext[review]{\bbx@review{\thefield{xref}}}}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{journal+issuetitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref} + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printfield{type}% + \newunit + \usebibmacro{institution+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifbool{cbx:idemfull} + {} + {\usebibmacro{author/translator+others}% + \ifnameundef{labelname} + {} + {\setunit{\labelnamepunct}\newblock}}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Die folgenden 'xref'-BibliographyDriver sind %%%%% +%%%%% nötig, damit bei Erstzitaten mit xref die %%%%% +%%%%% Option useeditor=true beachtet wird. %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% + +\DeclareBibliographyDriver{xrefbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifboolexpr{ + test \ifuseauthor or test \ifuseeditor or test \ifusetranslator} + {\usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock} + {}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \ifbool{xref:inbook}% child is an @inbook entry + {\usebibmacro{byeditor+others}} + {\usebibmacro{ifuse:byeditor+others}}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{xrefcollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifboolexpr{ + test \ifuseeditor or test \ifusetranslator} + {\usebibmacro{editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock} + {}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{ifuse:byeditor+others}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{xrefproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifboolexpr{ + test \ifuseeditor or test \ifusetranslator} + {\usebibmacro{editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock} + {}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Die folgenden 'xrefidem'-BibliographyDriver %%%%% +%%%%% sind nötig damit bei Erstzitaten mit demselben %%%%% +%%%%% Autor und xref ein Vollzitat erfolgen kann, %%%%% +%%%%% ohne den Autor des referenzierten Werkes (der %%%%% +%%%%% durch 'idem' ersetzt wird) auszugeben. %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% + +\DeclareBibliographyDriver{xrefidembook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \printtext{\bibstring[\mkidem]{idem\thefield{gender}}}% + \setunit{\nametitledelim}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \ifbool{xref:inbook}% child is an @inbook entry + {\usebibmacro{byeditor+others}} + {\usebibmacro{ifuse:byeditor+others}}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{xrefidemcollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{ifuse:xrefidem}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{ifuse:byeditor+others}% + \ifbool{bbx:seriesbeforeedition} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{edition}% + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{xrefidemproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{ifuse:xrefidem}% + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{ifuse:byeditor+others}% + \newunit\newblock + \usebibmacro{volumes+volume+part}% + \ifbool{bbx:seriesstandard} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \ifbool{bbx:seriesafteryear} + {\setunit{\addspace}% + \usebibmacro{series+number}} + {}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \ifbool{bbx:pagetotal} + {\printfield{pagetotal}% + \newunit\newblock} + {}% + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% 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 + \PackageWarning{biblatex-dw}{#1\blxdw@noline}% + \endgroup} +\protected\def\blxdw@warning@noline#1{% + \begingroup + \blx@safe@actives + \PackageWarning{biblatex-dw}{#1\@gobble}% + \endgroup} +\protected\def\blxdw@warning@entry#1{% + \ifundef\abx@field@entrykey + {\blxdw@warning{#1}} + {\blxdw@warning{#1\MessageBreak at entry '\abx@field@entrykey'}}} +\let\blxdw@noline\@gobble + +\AtBeginDocument{% + \ifdefstring{\bbx@origfieldsformat}{punct} + {} + {\ifdefstring{\bbx@origfieldsformat}{parens} + {} + {\ifdefstring{\bbx@origfieldsformat}{brackets} + {} + {\blxdw@warning@noline{% + Unknown value for option 'origfieldsformat'.\MessageBreak + Option 'origfieldsformat=punct' used instead}}}}% + \ifdefstring{\bbx@option@journalnumber}{standard} + {} + {\ifdefstring{\bbx@option@journalnumber}{afteryear} + {} + {\ifdefstring{\bbx@option@journalnumber}{date} + {} + {\blxdw@warning@noline{% + Unknown value for option 'journalnumber'.\MessageBreak + Option 'journalnumber=standard' used instead}}}}% + \iftoggle{blx@useeditor} + {\ifbool{cbx:omiteditor} + {\blxdw@warning@noline{% + Option 'omiteditor' cannot be used\MessageBreak + together with option 'useeditor=true'.\MessageBreak + Thus, 'omiteditor' is ignored}} + {}}% + {}% + \ifdefstring{\bbx@option@seriesformat}{standard} + {} + {\ifdefstring{\bbx@option@seriesformat}{parens} + {} + {\blxdw@warning@noline{% + Unknown value for option 'seriesformat'.\MessageBreak + Option 'seriesformat=standard' used instead}}}% +} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx new file mode 100644 index 0000000000..4362c0355c --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/authortitle-dw.cbx @@ -0,0 +1,403 @@ +% authortitle-dw.cbx, Dominik Waßenhoven 2016 + +\ProvidesFile{authortitle-dw.cbx}[2016/12/06 v1.7 biblatex citation style] + +\RequireCitationStyle{standard-dw} + +\newbool{cbx:addyear} +\newbool{cbx:firstfull} +\newbool{cbx:inref}% Option inreference (true: inreference=full; false: inreference=normal) +\newbool{cbx:inreffull}% für fullcite bei inreference (nur bei Option inreference=full) + +\DeclareBibliographyOption{addyear}[true]{% + \csuse{bool#1}{cbx:addyear}} + +\DeclareBibliographyOption{firstfull}[true]{% + \csuse{bool#1}{cbx:firstfull}} + +\DeclareBibliographyOption{inreference}[normal]{% + \ifcsdef{cbx@opt@inreference@#1} + {\csuse{cbx@opt@inreference@#1}} + {\blxdw@error + {Invalid option 'inreference=#1'\MessageBreak + Valid values are 'normal' and 'full'}}} +\def\cbx@opt@inreference@normal{% + \boolfalse{cbx:inref}} +\def\cbx@opt@inreference@full{% + \booltrue{cbx:inref}% + \ExecuteBibliographyOptions[inreference]{skipbib=true,}} + +% Test, ob inreference genutzt wird +\AtEveryCitekey{% + \ifentrytype{inreference} + {\ifbool{cbx:inref} + {\booltrue{cbx:inreffull}} + {\boolfalse{cbx:inreffull}}} + {}} + +%% Zeichen zwischen Titel und Jahr (bei addyear=true) +\newcommand*{\titleyeardelim}{\addspace} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\boolfalse{cbx:loccit}% + \ifbool{cbx:inreffull} + {\usebibmacro{cite:inreffull}} + {\ifbool{cbx:firstfull} + {\ifciteseen + {\usebibmacro{cite:normal}} + {\usebibmacro{cite:firstfull}}} + {\usebibmacro{cite:normal}}}} + +\newbibmacro*{cite:normal}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}% + \AND\NOT\iffirstonpage} + {\usebibmacro{cite:idem}% + \usebibmacro{cite:title}% + \usebibmacro{cite:save}} + {\ifnameundef{labelname} + {} + {\usebibmacro{cite:name}}% + \usebibmacro{cite:title}}% + \ifbool{cbx:omiteditor} + {} + {\ifnameundef{labelname} + {\newunit + \usebibmacro{cite:byeditor}} + {}}% + \usebibmacro{cite:save}}}% + {\ifbool{cbx:shorthandibid}% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:shorthand}}}% + {\usebibmacro{cite:shorthand}}}} + +\newbibmacro*{cite:inreffull}{% + \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}% + \AND\NOT\iffirstonpage} + {\usebibmacro{cite:idem}% + \booltrue{cbx:idemfull}} + {}% + \printtext[bibhyperref]{\usebibmacro{cite:full}}}% + \usebibmacro{cite:save}} + +\newbibmacro*{cite:firstfull}{% + \ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}% + \AND\NOT\iffirstonpage} + {\usebibmacro{cite:idem}% + \booltrue{cbx:idemfull}} + {}% + \printtext[bibhyperref]{\usebibmacro{cite:full}}% + \usebibmacro{cite:save}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}% + \iffieldundef{shorthand} + {} + {\ifbool{cbx:citedas} + {\addspace\usebibmacro{shorthandintro}} + {}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}% + \global\booltrue{cbx:noidem}} + +\newbibmacro*{textcite}{% + \global\boolfalse{cbx:loccit}% + \ifnameundef{labelname} + {\blxdw@warning@noline{No author or editor given for \textcite}% + \textbf{\thefield{entrykey}}} + {\ifboolexpr{ + bool {cbx:citeauthornamefirstfull} + or + bool {cbx:citeauthornamefull} + } + {\printnames[citeauthor]{labelname}} + {\printnames{labelname}}% + \setunit{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \usebibmacro{cite:save}}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \ifbool{cbx:firstfull} + {\ifciteseen + {\usebibmacro{textcite:normal}} + {\usebibmacro{textcite:firstfull}}}% + {\usebibmacro{textcite:normal}}} + +\newbibmacro*{textcite:firstfull}{% + \ifnameundef{labelname} + {} + {\ifnamesequal{labelname}{author} + {\clearname{author}} + {}% + \ifnamesequal{labelname}{editor} + {\clearname{editor}} + {}% + \ifnamesequal{labelname}{translator} + {\clearname{translator}} + {}}% + \printtext[bibhyperref]{\usebibmacro{cite:full}}} + +\newbibmacro*{textcite:normal}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\ifsingletitle + {\usebibmacro{cite:title:force}} + {\usebibmacro{cite:title}}}}% + {\usebibmacro{cite:shorthand}}} + +%% xref +\newbibmacro*{cite:xref}{% + \ifbool{cbx:firstfull} + {\ifciteseen + {\iffieldundef{shorthand} + {\ifnameundef{labelname} + {}% + {\ifbool{xrefidem} + {\usebibmacro{cite:xref:idem}}% + {\usebibmacro{cite:editor} + \nametitledelim}}% + \usebibmacro{cite:title}% + \ifnameundef{labelname} + {\ifboolexpr{ + bool {xrefidem} + and + bool {bbx:edbyidem} + } + {\newunit + \bibstring{byeditor}% + \setunit{\addspace}% + \bibstring[\mkidem]{idemdat\thefield{gender}}} + {\newunit + \usebibmacro{cite:byeditor}}} + {}} + {\usebibmacro{cite:shorthand}}}% + {\ifbool{xrefidem} + {\ifbool{bbx:edbyidem} + {\usebibmacro{cite:fullxrefidem}}% + {\usebibmacro{cite:fullxref}}}% + {\usebibmacro{cite:fullxref}}}}% + {\iffieldundef{shorthand} + {\ifbool{xrefidem} + {\ifbool{bbx:edbyidem} + {\usebibmacro{cite:idem}}% + {\printnames{labelname}% + \nametitledelim}}% + {\usebibmacro{cite:editor}% + \nametitledelim}% + \usebibmacro{cite:title}% + \ifuseeditor + {} + {\ifbool{cbx:omiteditor} + {} + {\newunit + \usebibmacro{cite:byeditor}}}}% + {\usebibmacro{cite:shorthand}}}} + +\AtBeginBibliography{% + \renewbibmacro*{cite:xref}{% + \iffieldundef{shorthand} + {\ifbool{xref:inbook} + {\usebibmacro{cite:author}} + {\usebibmacro{cite:editor}}% + \iffieldundef{shorttitle} + {\printfield{title}} + {\printfield{shorttitle}}% + \ifuseeditor + {} + {\ifbool{cbx:omiteditor} + {} + {\ifnameundef{editor} + {} + {\ifbool{xrefidem} + {\ifbool{bbx:edbyidem} + {\newunit% + \bibstring{byeditor}% + \setunit{\addspace}% + \bibstring[\mkidem]{idemdat\thefield{gender}}} + {\newunit% + \usebibmacro{byeditor}}}% + {\newunit% + \usebibmacro{byeditor}}}}}} + {\printtext[bibhyperref]{\printfield{shorthand}}}}} + +\newbibmacro*{cite:fullxref}{% + \usebibmacro{cite:full:citepages}% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {xref\thefield{entrytype}}% + \iffieldundef{shorthand} + {} + {\ifbool{cbx:citedas} + {\addspace\usebibmacro{shorthandintro}} + {}}}% + +\newbibmacro*{cite:fullxrefidem}{% + \usebibmacro{cite:full:citepages}% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {xrefidem\thefield{entrytype}}% + \iffieldundef{shorthand} + {} + {\ifbool{cbx:citedas} + {\addspace\usebibmacro{shorthandintro}} + {}}} + +\DeclareCiteCommand{\fullcite} + {\usebibmacro{prenote}% + \usebibmacro{cite:full:citepages}% + \booltrue{cbx:fullcite}} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footfullcite}[\mkbibfootnote] + {\bibsentence + \usebibmacro{prenote}% + \usebibmacro{cite:full:citepages}% + \booltrue{cbx:fullcite}} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{citetitle}{% + \global\boolfalse{cbx:loccit}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title:force}}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{cite:title}{% + \ifsingletitle + {\setunit{}}% Löschen des \nametitledelim, falls kein Titel ausgegeben wird + {\ifboolexpr{ + test {\ifentrytype{review}} + and + not test {\iffieldundef{xref}} + } + {\printtext[review]{\bbx@review{\thefield{xref}}}} + {\printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}}% + \ifbool{cbx:addyear} + {\iffieldundef{year} + {} + {\titleyeardelim% + \parentext{\printfield{year}}}} + {}}} + +\newbibmacro*{cite:title:force}{% + \printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}% + \ifbool{cbx:addyear} + {\iffieldundef{year} + {} + {\titleyeardelim% + \parentext{\printfield{year}}}} + {}} + +\newbibmacro*{cite:labelyear+extrayear}{% + \iffieldundef{labelyear} + {} + {\printtext[bibhyperref]{% + \printfield{labelyear}% + \printfield{extrayear}}}} + +\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{\textcite} + {\boolfalse{cbx:parens}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {\ifbool{cbx:parens} + {\bibcloseparen\boolfalse{cbx:parens}} + {}% + \multicitedelim} + {\usebibmacro{textcite:postnote}} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Unverändert übernommen aus authortitle-ibid.cbx %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% + +\newbool{cbx:parens} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\booltrue{cbx:loccit}} + {}} + +\newbibmacro*{textcite:postnote}{% + \ifthenelse{\iffieldundef{postnote}\OR\boolean{cbx:loccit}} + {\ifbool{cbx:parens} + {\bibcloseparen} + {}} + {\ifbool{cbx:parens} + {\postnotedelim} + {\addspace\bibopenparen}% + \printfield{postnote}\bibcloseparen}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx new file mode 100644 index 0000000000..a45a55f260 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/footnote-dw.cbx @@ -0,0 +1,324 @@ +% footnote-dw.cbx, Dominik Waßenhoven 2016 + +\ProvidesFile{footnote-dw.cbx}[2016/12/06 v1.7 biblatex citation style] + +\RequireCitationStyle{standard-dw} + +\newbool{cbx:pageref} +\newbool{cbx:review} +\newbool{cbx:textcitefull} + +\ExecuteBibliographyOptions{ + uniquename=false, % damit bei idem=false Vor- und Nachname gesetzt werden! +} + +% Befehle zum Verpacken der Zitate in Fußnoten +\newrobustcmd{\mkfootnotecite}[1]{% + \iffootnote + {#1} + {\unspace\footnote{% + \toggletrue{blx@footnote}% + \bibsentence#1\addperiod}}} + +\newbool{cbx:parencitefoot}% wenn parencite innerhalb einer + % Fußnote aufgerufen wird + % (wichtig für seenote) +\newrobustcmd{\mkparencite}[1]{% + \iffootnote + {\booltrue{cbx:parencitefoot}% + \begingroup + \let\mkbibparens\mkbibbrackets + \bibopenparen#1\bibcloseparen + \endgroup} + {\unspace\footnote{% + \toggletrue{blx@footnote}% + \bibsentence#1\addperiod}}} + +% Befehl zum Testen, ob in Fußnote (für \textcite) +\newrobustcmd{\footnotecheck}{% + \iffootnote + {\booltrue{cbx:parencitefoot}} + {\boolfalse{cbx:parencitefoot}}} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\boolfalse{cbx:loccit}% + \bibhypertarget{cite\the\value{instcount}}{% + \ifboolexpr{ + test {\ifciteseen} + and not + bool {cbx:textcitefull} + } + {\iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}% + \usebibmacro{cite:save}% + \usebibmacro{cite:reset}} + {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}% + \AND\NOT\iffirstonpage} + {\usebibmacro{cite:idem}% + \usebibmacro{cite:title}} + {\ifnameundef{labelname} + {} + {\usebibmacro{cite:name}}% + \usebibmacro{cite:title}}% + \usebibmacro{cite:save}}} + {\ifbool{cbx:shorthandibid}% + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% + {\usebibmacro{cite:ibid}}% + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:shorthand}}% + \usebibmacro{cite:save}% + \usebibmacro{cite:reset}}} + {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}% + \AND\NOT\iffirstonpage} + {\usebibmacro{cite:idem}% + \booltrue{cbx:idemfull}} + {}% + \usebibmacro{cite:full}% + \usebibmacro{cite:save}}}} + +\newbibmacro*{footref}{% + \csxdef{cbx@first@\thefield{entrykey}}{\the\value{instcount}}% + \label{cbx@\the\value{instcount}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \usebibmacro{footref}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}% + \iffieldundef{shorthand} + {} + {\ifbool{cbx:citedas} + {\addspace\usebibmacro{shorthandintro}} + {}}}} + +\newbibmacro*{cite:title}{% + \ifboolexpr{ + test {\ifentrytype{review}} + and + not test {\iffieldundef{xref}} + } + {\booltrue{cbx:review}% für cite:seenote (damit das rezensierte Werk keinen Verweis bekommt) + \printtext[review]{\bbx@review{\thefield{xref}}}% + \boolfalse{cbx:review}}% \boolfalse ist nötig, damit @review selbst wieder einen Verweis bekommt + {\ifsingletitle + {\setunit{}}% Löschen des \nametitledelim, falls kein Titel ausgegeben wird + {\printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}}}% + \ifboolexpr{ + test \ifuseeditor + or + test \ifusetranslator + } + {} + {\ifbool{cbx:omiteditor} + {} + {\ifnameundef{editor} + {} + {\ifboolexpr{ + bool {xrefidem} + and + bool {bbx:edbyidem} + } + {\newunit + \bibstring{byeditor}% + \setunit{\addspace}% + \bibstring[\mkidem]{idemdat\thefield{gender}}} + {\newunit + \usebibmacro{cite:byeditor}}}}}% + \usebibmacro{cite:seenote}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}% + \ifbool{cbx:citedas} + {} + {\usebibmacro{cite:seenote}}} + +\newbibmacro*{cite:seenote}{% + \ifbool{cbx:review} + {} + {\ifbool{cbx:parencitefoot} + {\addspace\mkbibbrackets{% + \midsentence\bibstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@first@\thefield{entrykey}}}% + \ifbool{cbx:pageref} + {\ifsamepage{\the\value{instcount}} + {\csuse{cbx@first@\thefield{entrykey}}} + {} + {\addcomma\space\bibstring{page}\addnbspace% + \pageref{cbx@\csuse{cbx@first@\thefield{entrykey}}}}} + {}}} + {\addspace\mkbibparens{% + \midsentence\bibstring{seenote}\addnbspace% + \ref{cbx@\csuse{cbx@first@\thefield{entrykey}}}% + \ifbool{cbx:pageref} + {\ifsamepage{\the\value{instcount}} + {\csuse{cbx@first@\thefield{entrykey}}} + {} + {\addcomma\space\bibstring{page}\addnbspace% + \pageref{cbx@\csuse{cbx@first@\thefield{entrykey}}}}} + {}}}}} + +%% xref +\newbibmacro*{cite:xref}{% + \ifciteseen + {\iffieldundef{shorthand} + {\ifnameundef{labelname} + {} + {\ifboolexpr{ + bool {xrefidem} + and + bool {bbx:edbyidem} + } + {\usebibmacro{cite:xref:idem}} + {\ifbool{xref:inbook} + {\usebibmacro{author}} + {\usebibmacro{cite:editor}}% + \nametitledelim}}% + \usebibmacro{cite:title}} + {\usebibmacro{cite:shorthand}}} + {\ifboolexpr{ + bool {xrefidem} + and + bool {bbx:edbyidem} + } + {\usebibmacro{cite:fullxrefidem}} + {\usebibmacro{cite:fullxref}}}} + +\newbibmacro*{cite:fullxref}{% + \usebibmacro{footref}% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {xref\thefield{entrytype}}% + \iffieldundef{shorthand} + {} + {\ifbool{cbx:citedas} + {\addspace\usebibmacro{shorthandintro}} + {}}} + +\newbibmacro*{cite:fullxrefidem}{% + \usebibmacro{footref}% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {xrefidem\thefield{entrytype}}% + \iffieldundef{shorthand} + {} + {\ifbool{cbx:citedas} + {\addspace\usebibmacro{shorthandintro}} + {}}}% + +%% falls eine Bibliographie ausgegeben wird, +%% soll kein '(wie Anm. x)' erscheinen +\AtBeginBibliography{% + \renewbibmacro*{cite:xref}{% + \iffieldundef{shorthand}% + {\usebibmacro{cite:editor}% + \iffieldundef{shorttitle}% + {\printfield{title}}% + {\printfield{shorttitle}}% + \ifboolexpr{ + test \ifuseeditor + or + test \ifusetranslator + } + {} + {\ifbool{cbx:omiteditor} + {} + {\ifbool{xrefidem}% + {\ifbool{bbx:edbyidem} + {\newunit + \bibstring{byeditor}% + \setunit{\addspace}% + \bibstring[\mkidem]{idemdat\thefield{gender}}} + {\newunit + \usebibmacro{byeditor+others}}} + {\newunit + \usebibmacro{byeditor+others}}}}}% + {\printtext[bibhyperref]{\printfield{shorthand}}}}} + +\DeclareCiteCommand{\cite}[\mkfootnotecite] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkparencite] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkfootnotecite] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\fullcite}[\mkfootnotecite] + {\usebibmacro{prenote}% + \usebibmacro{cite:full:citepages}% + \booltrue{cbx:fullcite}} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footfullcite}[\mkfootnotecite] + {\usebibmacro{prenote}% + \usebibmacro{cite:full:citepages}% + \booltrue{cbx:fullcite}} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkparencite\mkfootnotecite] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\textcite}[\footnotecheck\cbx@textcite\footcite] + {\gdef\cbx@savedkeys{}} + {\printnames{labelname}% + \ifciteseen + {\global\boolfalse{cbx:textcitefull}} + {\global\booltrue{cbx:textcitefull}}% + \xappto\cbx@savedkeys{\thefield{entrykey},}} + {\multinamedelim} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +\newrobustcmd{\cbx@textcite}[2]{% + \def\cbx@savedcites{#1}% + \ifbool{cbx:parencitefoot} + {#2% + \addspace\mkbibparens{\cbx@savedcites}} + {#2% + \cbx@savedcites}} + +\DeclareMultiCiteCommand{\cites}[\mkfootnotecite]{\cite}{\multicitedelim} +\DeclareMultiCiteCommand{\parencites}[\mkparencite]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\footcites}[\mkfootnotecite]{\footcite}{\multicitedelim} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcite\footcites]{\textcite}{\textcitesdelim} + +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% +%%%%% Unverändert aus verbose-inote übernommen %%%%% +%%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\booltrue{cbx:loccit}} + {}} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx new file mode 100644 index 0000000000..348daefb5d --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/cbx/standard-dw.cbx @@ -0,0 +1,473 @@ +% standard-dw.cbx, Dominik Waßenhoven 2016 + +\ProvidesFile{standard-dw.cbx}[2016/12/06 v1.7 biblatex citation style] + +\@ifpackagelater{biblatex}{2016/03/11} + {} + {\PackageError{biblatex-dw} + {Outdated 'biblatex' package\MessageBreak + Upgrade to biblatex v3.3 (2016/03/11) or later.\MessageBreak + I found: '\csuse{ver@biblatex.sty}'.\MessageBreak + This is a fatal error. I'm aborting now}% + \endinput} + +\newbool{cbx:authauthxref} +\newbool{cbx:authedxref} +\newbool{cbx:citeauthor} +\newbool{cbx:citeauthorfoot} +\newbool{cbx:citeauthornormalfont} +\newbool{cbx:citeauthornamefirstfull} +\newbool{cbx:citeauthornamefull} +\newbool{cbx:citedas} +\newbool{cbx:edstringincitations} +\newbool{cbx:fullcite}% Test, ob fullcite ausgeführt wurde (wichtig für @review) +\newbool{cbx:idemfull} +\newbool{cbx:noidem} +\newbool{cbx:omiteditor} +\newbool{cbx:rpcited}% wurde der parent des @review schon zitiert? +\newbool{cbx:xrefparent:firstcite} +\newbool{cbx:shorthandibid} +\newbool{cbx:loccit} + +\newbibmacro*{cite:citepages}{} +\newbibmacro*{cite:full:citepages}{} +\newbibmacro*{cite:postnote}{} + +\DeclareBibliographyOption{citedas}[true]{% + \csuse{bool#1}{cbx:citedas}} +\DeclareBibliographyOption{edstringincitations}[true]{% + \csuse{bool#1}{cbx:edstringincitations}} +\DeclareBibliographyOption{omiteditor}[true]{% + \csuse{bool#1}{cbx:omiteditor}} +\DeclareBibliographyOption{shorthandibid}[true]{% + \csuse{bool#1}{cbx:shorthandibid}} + +\DeclareEntryOption{citedas}[true]{% + \csuse{bool#1}{cbx:citedas}} +\DeclareEntryOption{shorthandibid}[true]{% + \csuse{bool#1}{cbx:shorthandibid}} + +\DeclareBibliographyOption{citeauthor}[namefont]{% + \ifcsdef{cbx@opt@citeauthor@#1} + {\csuse{cbx@opt@citeauthor@#1}} + {\blxdw@error{% + Invalid option 'citeauthor=#1'\MessageBreak + Valid values are 'namefont', 'namefontfoot', 'normalfont'}}} +\def\cbx@opt@citeauthor@namefont{% + \boolfalse{cbx:citeauthornormalfont}% + \boolfalse{cbx:citeauthorfoot}} +\def\cbx@opt@citeauthor@namefontfoot{% + \boolfalse{cbx:citeauthornormalfont}% + \booltrue{cbx:citeauthorfoot}} +\def\cbx@opt@citeauthor@normalfont{% + \booltrue{cbx:citeauthornormalfont}% + \boolfalse{cbx:citeauthorfoot}} + +\DeclareBibliographyOption{citeauthorname}[normal]{% + \ifcsdef{cbx@opt@citeauthorname@#1} + {\csuse{cbx@opt@citeauthorname@#1}} + {\blxdw@error{% + Invalid option 'citeauthorname=#1'\MessageBreak + Valid values are 'normal', 'firstfull', 'full'}}} +\def\cbx@opt@citeauthorname@normal{% + \boolfalse{cbx:citeauthornamefull}% + \boolfalse{cbx:citeauthornamefirstfull}} +\def\cbx@opt@citeauthorname@firstfull{% + \boolfalse{cbx:citeauthornamefull}% + \booltrue{cbx:citeauthornamefirstfull}} +\def\cbx@opt@citeauthorname@full{% + \booltrue{cbx:citeauthornamefull}% + \boolfalse{cbx:citeauthornamefirstfull}} + +\DeclareBibliographyOption{firstfullname}[true]{% aus Kompatibilitätsgründen + \blxdw@error{% + Option 'firstfullname' is obsolete,\MessageBreak + please use option 'citeauthorname' instead}} + +\DeclareBibliographyOption{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=context}}% Standard: constrict + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\DeclareBibliographyOption{pageref}[true]{% + \setbool{cbx:pageref}{#1}} + +\DeclareBibliographyOption{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\blxdw@error + {Invalid option 'citepages=#1'\MessageBreak + 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}} + and + bool {bbx:pagetotal} + ) + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{cite:postnote:ibidpage}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\postnotedelim}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{ + autocite=footnote, + citedas=true, + citepages=separate, + citetracker=true, + edstringincitations=true, + ibidtracker=constrict, + idemtracker=constrict, + opcittracker=false, + pagetracker=true, + shorthandibid=true +} + +\InitializeCitationStyle{% + \usebibmacro{cite:reset}} + +\OnManualCitation{% + \usebibmacro{cite:reset}} + +\newbibmacro*{cite:reset}{% + \global\undef\cbx@lasthash% + \global\booltrue{cbx:noidem}} + +\newbibmacro*{cite:save}{% + \savefield{namehash}{\cbx@lasthash}% + \csxdef{cbx:lastcite@\thefield{entrykey}}{\the\value{instcount}}% + \global\boolfalse{cbx:noidem}} + +% Ausschalten von annotation und library für Zitate im Text +\AtEveryCite{% + \boolfalse{bbx:annotation}% + \boolfalse{bbx:library}% +} + +%% Doppelpunkt nach Autoren/Editoren +%% aus Kompatibilitätsgründen zu früheren Versionen wird +%% \citenamepunct verwendet +\newcommand*{\citenamepunct}{\addcolon\space} +\renewcommand*{\nametitledelim}{\citenamepunct} +\AtEveryCite{% bei jedem Zitat nametitledelim statt labelnamepunct verwenden + \let\labelnamepunct\nametitledelim +} + +%% Slashes zwischen Autoren/Editoren +\newcommand*{\citerevsdnamedelim}{} +\newcommand*{\citemultinamedelim}{\slash} +\newcommand*{\citefinalnamedelim}{\slash} +\AtBeginDocument{% + \let\revsdnamedelim\citerevsdnamedelim + \let\multinamedelim\citemultinamedelim + \let\finalnamedelim\citefinalnamedelim +} +\AtBeginBibliography{% am Anfang des Literaturverzeichnisses umschalten wegen xref + \let\citerevsdnamedelim\bibrevsdnamedelim + \let\citemultinamedelim\bibmultinamedelim + \let\citefinalnamedelim\bibfinalnamedelim +} + +%% Textcite delimiter +\newcommand*{\textcitesdelim}{\addspace\bibstring{and}\space} + +%% Titelformate in Zitaten +\DeclareFieldFormat*{citetitle}{#1} + +\newbibmacro*{cite:name}{% + \printnames{labelname}% + \usebibmacro{cite:edstringincitations}} + +\newbibmacro*{cite:idem}{% + \bibstring[\mkidem]{idem\thefield{gender}}% + \usebibmacro{cite:edstringincitations}} + +\newbibmacro*{cite:xref:idem}{% + \bibstring[\mkidem]{idem\thefield{gender}}% + \usebibmacro{cite:edstringincitations}% + \ifuseeditor + {\ifnameundef{editor} + {\ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\clearname{translator}} + {}} + {\clearname{editor}}} + {\ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\clearname{translator}} + {}}} + +\newbibmacro*{cite:edstringincitations}{% + \ifbool{cbx:edstringincitations} + {\usebibmacro{cite:editorstrg/translatorstrg}} + {}% + \setunit{\nametitledelim}} + +\newbibmacro*{cite:editorstrg/translatorstrg}{% + \ifthenelse{\ifuseeditor\AND\ifnameundef{author}% + \AND\NOT\ifnameundef{editor}} + {\usebibmacro{editorstringpunct}% + \usebibmacro{editorstrg}% + \clearname{editor}} + {}% + \ifthenelse{\ifusetranslator\AND\ifnameundef{author}% + \AND\ifnameundef{editor}% + \AND\NOT\ifnameundef{translator}} + {\usebibmacro{editorstringpunct}% + \usebibmacro{translatorstrg}% + \clearname{translator}} + {}} + +% Option 'citeauthorname' +\newcommand*{\cbx@seennames}{} +\newrobustcmd*{\cbx@nameseen}[1]{% + \listxadd{\cbx@seennames}{\detokenize{#1}}} +\newrobustcmd*{\cbx@ifnameseen}[1]{% + \xifinlist{\detokenize{#1}}{\cbx@seennames}} + +\AtBeginDocument{% + \ifbool{cbx:citeauthornamefirstfull} + {\DeclareNameFormat{citeauthor}{% + \nameparts{#1}% + \cbx@ifnameseen{\namepartfamily\namepartgiven\namepartprefix\namepartsuffix} + {\ifcase\value{uniquename}% + \usebibmacro{name:family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% + \or + \ifuseprefix + {\usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffixi}} + {\usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefixi}{\namepartsuffixi}}% + \fi}% + {\usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% + \cbx@nameseen{\namepartfamily\namepartgiven\namepartprefix\namepartsuffix}}% + \usebibmacro{name:andothers}}% + \DeclareCiteCommand{\citeauthor} + {\booltrue{cbx:citeauthor}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\indexnames{labelname}% + \printnames[citeauthor]{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}}} + {\ifbool{cbx:citeauthornamefull} + {\DeclareNameFormat{citeauthor}{% + \nameparts{#1}% + \ifuseprefix + {\usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffixi}} + {\usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}}% + \usebibmacro{name:andothers}}% + \DeclareCiteCommand{\citeauthor} + {\booltrue{cbx:citeauthor}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\indexnames{labelname}% + \printnames[citeauthor]{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}}} + {\DeclareCiteCommand{\citeauthor} + {\booltrue{cbx:citeauthor}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\indexnames{labelname}% + \printnames{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}}}}} + +%% Formatierung von 'ibidem' entsprechend der Option 'ibidemfont' +\providecommand*{\mkibid}[1]{% + \bbx@ibidemfont{#1}} + +%% pages (wichtig für xref) +\newbibmacro*{pages}{% + \setunit{\bibpagespunct}% + \printfield{pages}} + +%% in manchen Literaturverweisen (wenn nicht fullcite) +%% müssen statt der vollen Namen (Format [byeditor]) +%% nur die Nachnamen ausgegeben werden (Format [labelname]) +\newbibmacro*{cite:byeditor}{% + \ifnameundef{editor} + {\ifnameundef{translator} + {} + {\usebibmacro{bytypestrg}{translator}{translator}% + \setunit{\addspace}% + \printnames[labelname]{translator}}} + {\usebibmacro{bytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[labelname]{editor}}} + +\newbibmacro*{cite:author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\ifbool{xrefidem} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\usebibmacro{cite:idem}} + {\printnames[labelname]{author}}} + {\printnames[labelname]{author}% + \global\undef\bbx@lasthash}% + \clearname{author}} + {}} + +\newbibmacro*{cite:editor}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\ifbool{bbx:edbyidem} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\usebibmacro{cite:idem}} + {\printnames[labelname]{editor}% + \usebibmacro{cite:edstringincitations}}} + {\printnames[labelname]{editor}% + \usebibmacro{cite:edstringincitations}% + \global\undef\bbx@lasthash}% + \clearname{editor}} + {}% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + and + ( not test \ifuseeditor + or + ( test \ifuseeditor + and + test {\ifnameundef{editor}} ) ) + } + {\ifbool{bbx:edbyidem} + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND + \NOT\iffirstonpage} + {\usebibmacro{cite:idem}} + {\printnames[labelname]{translator}% + \usebibmacro{cite:edstringincitations}}} + {\printnames[labelname]{translator}% + \usebibmacro{cite:edstringincitations}% + \global\undef\bbx@lasthash}% + \clearname{translator}} + {}} + +\newbibmacro*{cite:postnote:ibidpage}{% + \ifbool{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +%% Test, ob author und editor bei xref identisch sind +%% (für xref=true, useeditor=false oder usetranslator=false, +%% edbyidem=true) +\newbibmacro*{authedxrefcheck}{% + \iffieldundef{xref} + {} + {\savefield{xref}{\bbx@tempa}% + \savefield{xref}{\bbx@tempb}% + \entrydata{\bbx@tempa}{% + \savename{editor}{\bbx@tempa}}% + \entrydata{\bbx@tempb}{% + \savename{translator}{\bbx@tempb}}% + \ifboolexpr{ + test {\ifnameequals{author}{\bbx@tempa}} + or + test {\ifnameequals{author}{\bbx@tempb}} + } + {\booltrue{cbx:authedxref}} + {\boolfalse{cbx:authedxref}}}} + +%% Test, ob author des @inbook und author des @book bei xref +%% identisch sind (für xref=true, edbyidem=true); nötig, +%% damit der Herausgeber nicht durch idem ersetzt wird +%\newbool{cbx:autheddiff}% auther of @inbook and editor of @book differ +\newbibmacro*{authauthxrefcheck}{% + \iffieldundef{xref} + {} + {\savefield{xref}{\bbx@tempa}% + \entrydata{\bbx@tempa}{% + \savename{author}{\bbx@tempa}}% + \ifboolexpr{ + test {\ifnameequals{author}{\bbx@tempa}} + } + {\booltrue{cbx:authauthxref}} + {\boolfalse{cbx:authauthxref}}}} + +%% für @review +\DeclareCiteCommand{\bbx@review} + {} + {\usebibmacro{citeindex}% + \ifentryseen{\bbx@reviewparent} + {\booltrue{cbx:rpcited}} + {\boolfalse{cbx:rpcited}}% + \ifbool{cbx:fullcite} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\usebibmacro{cite}}} + {} + {} + +%% xref +\DeclareCiteCommand{\bbx@xref} + {} + {\usebibmacro{cite:xref}} + {} + {} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx new file mode 100644 index 0000000000..1f61a78583 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/english-dw.lbx @@ -0,0 +1,34 @@ +% english-dw.lbx, Dominik Waßenhoven 2016 + +\ProvidesFile{english-dw.lbx}[2016/12/06 v1.7 biblatex localization file] + +\NewBibliographyString{% + idemdat,% + idemdatsf,% + idemdatsm,% + idemdatsn,% + idemdatpf,% + idemdatpm,% + idemdatpn,% + idemdatpp,% + inrefstring,% + review} + +\InheritBibliographyExtras{english} + +\DeclareBibliographyStrings{% + inherit = {english}, + thiscite = {{here}{here}}, + idemdat = {{eidem}{eidem}}, + idemdatsm = {{eidem}{eidem}}, + idemdatsf = {{eidem}{eidem}}, + idemdatsn = {{eidem}{eidem}}, + idemdatpm = {{eisdem}{eisdem}}, + idemdatpf = {{eisdem}{eisdem}}, + idemdatpn = {{eisdem}{eisdem}}, + idemdatpp = {{eisdem}{eisdem}}, + inrefstring = {{article\addspace}{art\adddotspace}}, + review = {{Review of\addspace}{Review of\addspace}}, +} + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx new file mode 100644 index 0000000000..99976350ff --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-dw/latex/lbx/german-dw.lbx @@ -0,0 +1,128 @@ +% german-dw.lbx, Dominik Waßenhoven 2016 + +\ProvidesFile{german-dw.lbx}[2016/12/06 v1.7 biblatex localization file] + +\InheritBibliographyExtras{german} + +\NewBibliographyString{% + idemdat,% + idemdatsf,% + idemdatsm,% + idemdatsn,% + idemdatpf,% + idemdatpm,% + idemdatpn,% + idemdatpp,% + inrefstring,% + review} + +\DeclareBibliographyStrings{% + inherit = {german}, + idem = {{derselbe}{ders\adddot}}, + idemsm = {{derselbe}{ders\adddot}}, + idemsf = {{dieselbe}{dies\adddot}}, + idemsn = {{dasselbe}{dass\adddot}}, + idempm = {{dieselben}{dies\adddot}}, + idempf = {{dieselben}{dies\adddot}}, + idempn = {{dieselben}{dies\adddot}}, + idempp = {{dieselben}{dies\adddot}}, + ibidem = {{ebenda}{ebd\adddot}}, + idemdat = {{demselben}{dems\adddot}}, + idemdatsm = {{demselben}{dems\adddot}}, + idemdatsf = {{derselben}{ders\adddot}}, + idemdatsn = {{demselben}{dems\adddot}}, + idemdatpm = {{denselben}{dens\adddot}}, + idemdatpf = {{denselben}{dens\adddot}}, + idemdatpn = {{denselben}{dens\adddot}}, + idemdatpp = {{denselben}{dens\adddot}}, + inrefstring = {{Artikel\addspace}{Art\adddotspace}}, + seenote = {{wie Anmerkung}{wie Anm\adddot}}, + review = {{Rezension zu\addspace}{Rez\adddotspace zu\addspace}}, + reprint = {{Nachdruck}{Ndr\adddot}}, + reprintof = {{Nachdruck von}{Ndr\adddot\addabthinspace v\adddot}}, + reprintas = {{Nachdruck unter dem Titel}{Ndr\adddotspace u\adddot\addabthinspace d\adddot\ Titel}}, + byauthor = {{von}{v\adddot}}, + byeditor = {{herausgegeben von}{hrsg\adddot\addabthinspace v\adddot}}, + bycompiler = {{kompiliert von}{komp\adddot\addabthinspace v\adddot}}, + byredactor = {{bearbeitet von}{bearb\adddot\addabthinspace v\adddot}}, + byfounder = {{begr\"undet von}{begr\adddot\addabthinspace v\adddot}}, + bycontinuator = {{fortgef\"urt von}{fortgef\adddot\addabthinspace v\adddot}}, + bycollaborator = {{unter Mitarbeit von}{unter Mitarb\adddot\addabthinspace v\adddot}}, + bytranslator = {{\lbx@lfromlang \"ubersetzt von}{\lbx@sfromlang \"ubers\adddot\addabthinspace v\adddot}}, + bycommentator = {{kommentiert von}{komm\adddot\addabthinspace v\adddot}}, + byannotator = {{erl\"autert von}{erl\"aut\adddot\addabthinspace v\adddot}}, + withcommentator = {{mit einem Kommentar von}{komm\adddot\addabthinspace v\adddot}}, + withannotator = {{mit Erl\"auterungen von}{erl\"aut\adddot\addabthinspace v\adddot}}, + withintroduction = {{mit einer Einleitung von}{eingel\adddot\addabthinspace v\adddot}}, + withforeword = {{mit einem Vorwort von}{mit einem Vorw\adddot\ v\adddot}}, + withafterword = {{mit einem Nachwort von}{mit einem Nachw\adddot\ v\adddot}}, + byeditortr = {{herausgegeben und \lbx@lfromlang \"ubersetzt von}% + {hrsg\adddotspace und \lbx@sfromlang \"ubers\adddot\ v\adddot}}, + byeditorco = {{herausgegeben und kommentiert von}% + {hrsg\adddotspace und komm\adddot\ v\adddot}}, + byeditoran = {{herausgegeben und erl\"autert von}% + {hrsg\adddotspace und erl\"aut\adddot\ v\adddot}}, + byeditorin = {{herausgegeben und mit einer Einleitung versehen von}% + {hrsg\adddotspace und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + byeditorfo = {{herausgegeben und mit einem Vorwort versehen von}% + {hrsg\adddotspace und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + byeditoraf = {{herausgegeben und mit einem Nachwort versehen von}% + {hrsg\adddotspace und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + byeditortrco = {{herausgegeben, \lbx@lfromlang \"ubersetzt und kommentiert von}% + {hrsg., \lbx@sfromlang \"ubers\adddot\ und komm\adddot\ v\adddot}}, + byeditortran = {{herausgegeben, \lbx@lfromlang \"ubersetzt und erl\"autert von}% + {hrsg., \lbx@sfromlang \"ubers\adddot\ und erl\"aut\adddot\ v\adddot}}, + byeditortrin = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen von}% + {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + byeditortrfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen von}% + {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + byeditortraf = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen von}% + {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + byeditorcoin = {{herausgegeben, kommentiert und mit einer Einleitung versehen von}% + {hrsg., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + byeditorcofo = {{herausgegeben, kommentiert und mit einem Vorwort versehen von}% + {hrsg., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + byeditorcoaf = {{herausgegeben, kommentiert und mit einem Nachwort versehen von}% + {hrsg., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + byeditoranin = {{herausgegeben, erl\"autert und mit einer Einleitung versehen von}% + {hrsg., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + byeditoranfo = {{herausgegeben, erl\"autert und mit einem Vorwort versehen von}% + {hrsg., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + byeditoranaf = {{herausgegeben, erl\"autert und mit einem Nachwort versehen von}% + {hrsg., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + byeditortrcoin = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einer Einleitung versehen von}% + {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + byeditortrcofo = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen von}% + {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + byeditortrcoaf = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einem Nachwort versehen von}% + {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + byeditortranin = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einer Einleitung versehen von}% + {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + byeditortranfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Vorwort versehen von}% + {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + byeditortranaf = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Nachwort versehen von}% + {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + bytranslatorco = {{\lbx@lfromlang \"ubersetzt und kommentiert von}% + {\lbx@sfromlang \"ubers\adddot\ und komm\adddot\ v\adddot}}, + bytranslatoran = {{\lbx@lfromlang \"ubersetzt und erl\"autert von}% + {\lbx@sfromlang \"ubers\adddot\ und erl\"aut\adddot\ v\adddot}}, + bytranslatorin = {{\lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen von}% + {\lbx@sfromlang \"ubers\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + bytranslatorfo = {{\lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen von}% + {\lbx@sfromlang \"ubers\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + bytranslatoraf = {{\lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen von}% + {\lbx@sfromlang \"ubers\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + bytranslatorcoin = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einer Einleitung versehen von}% + {\lbx@sfromlang \"ubers., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen von}% + {\lbx@sfromlang \"ubers., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + bytranslatorcoaf = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Nachwort versehen von}% + {\lbx@sfromlang \"ubers., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, + bytranslatoranin = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einer Einleitung versehen von}% + {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ v\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Vorwort versehen von}% + {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ v\adddot}}, + bytranslatoranaf = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Nachwort versehen von}% + {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ v\adddot}}, +} +\endinput |