Schreiben/Umschreiben eines bibLaTeX-Stils

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Eglatholion hat geschrieben:Eine weitere Kleinigkeit: Zwischen Seitenzahl und f./ff. darf keine Lücke. Also „S. 4ff.“ statt „S. 4 ff.“
\renewcommand*{\sqspace}{}
Gruß,
Dominik.-

Eglatholion
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Mo 31. Jan 2011, 13:18
Kontaktdaten:

Beitrag von Eglatholion »

Hallo!

Wie kann ich dies denn nun in eine externe Datei auslagern? Wenn ein eine datei.bbx anlege und darin dann auf die authortitle-dw-Stile verweise, bekomme ich einen ganzen Haufen Fehler -- vor allem dass „Command '\cite' undefined“ sei.

Ich hatte Folgendes probiert:
\ProvidesFile{zitierstil.bbx}

\RequireBibliographyStyle{authortitle-dw}
\RequireCitationStyle{authortitle-dw}
Da drunter dann alle Definitionen und in der Texdatei
\usepackage[
  style=zitierstil.bbx,
  xref=true,
  firstfull=true,
  journalnumber=afteryear,
  maxnames=2,
  idembibformat=dash,
  bibwarn=false,
  ibidpage=true, 
  ]{biblatex}
\bibliography{test}
LG

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Eglatholion hat geschrieben:Ich hatte Folgendes probiert:
\ProvidesFile{zitierstil.bbx}

\RequireBibliographyStyle{authortitle-dw}
\RequireCitationStyle{authortitle-dw}
Soweit ich weiß, funktioniert \RequireCitationStyle nur in einer cbx-Datei. Lege also zwei Dateien an:
\ProvidesFile{zitierstil.bbx}

\RequireBibliographyStyle{authortitle-dw}
\ProvidesFile{zitierstil.cbx}

\RequireCitationStyle{authortitle-dw}
Dann kannst du mit
\usepackage[style=zitierstil]{biblatex}
deinen neuen Stil laden.

Gruß,
Dominik.-

Eglatholion
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Mo 31. Jan 2011, 13:18
Kontaktdaten:

Beitrag von Eglatholion »

Hi!

Das hatte ich befürchtet. ;)

Nun gilt es nämlich herauszufinden, in welche Datei welche der Definitionen reingehört. :shock:

LG

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Eglatholion hat geschrieben:Das hatte ich befürchtet. ;)

Nun gilt es nämlich herauszufinden, in welche Datei welche der Definitionen reingehört. :shock:
Das wird, abgesehen von den genannten Befehlen, nicht ganz so strikt
gehandhabt. Das heißt, wenn du deinen Zitierstil nicht mit anderen mischen
willst (also z.B. citestyle=zitierstil,bibstyle=authoryear), dann spielt es keine
so große Rolle, was du in die bbx und was in die cbx-Datei schreibst. Ich
mache das meistens so, dass alles, was grundsätzlich mit den
Literaturangaben im Text zu tun hat, in die cbx-Datei kommt, und alles, was
das Literaturverzeichnis betrifft, in die bbx-Datei.

Gruß,
Dominik.-

Eglatholion
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Mo 31. Jan 2011, 13:18
Kontaktdaten:

Beitrag von Eglatholion »

Hallo nochmal!

Ich habe mich nun auch noch rangesetzt, einen Zitierstil für unsere Linguistik zu schreiben.
Ich habe dafür authoryear etwas angepasst.

Probleme habe ich noch bei InCollection:

Wie bekomme ich es hin, dass es nach "In" so aussieht:
In maintitle, Hg-vorname Hg-Nachname (Hgg.), Seite, Ort: Verlag.

Den Doppelpunkt nach In habe ich schon wegbekommen, das Komma nach Seite und die Reihenfolge von Seite und Ort: Verlag auch.

Was noch fehlt, ist, dass das (Hgg.) HINTER den Hg-Namen steht. Momentan steht es davor. Ich kann es mit byeditor schon so anpassen, dass es in Klammern kommt, aber die Reihenfolge kann ich nicht ändern.

Ich habe schon versucht, \renewbibmacro*{byeditor} und \renewbibmacro*{byeditor+othersstrg} anzupassen.
Klappt aber nicht.

Außerdem gibt es da bislang nur Hg, nicht Hgg, da es kein byeditors (im Plural gibt)

Hier meine Modifikationen zu authoryear. Ich packe mal alles rein, da ich auch dankbar für Hinweise bin, wenn ich an der einen oder anderen Stelle etwas mit einem ungeschickten „Schalter“ verstellt haben sollte:
% --> Angepasst, damit kein S. mehr vor der Seite erscheint.
\DeclareFieldFormat{postnote}{#1} 
\DeclareFieldFormat{multipostnote}{#1} 
\DeclareFieldFormat{pages}{#1}

% --> Angepasst, damit ein & zwischen den Namen erscheint.
\renewcommand*{\multinamedelim}{\addspace\&\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}

% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}

% --> hier habe ich noch das Problem, dass es kein byeditors für Hgg. gibt
\DefineBibliographyStrings{german}{%
  and={u\adddot},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
  
% --> keine Anführungszeichen für Artikel
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

% kein colon nach "in"
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\nopunct\space}}

% --> article neu deklariert, um das "In" vor journal wegzubekommen. 
% Geht das auch einfacher?
\DeclareBibliographyDriver{article}{% 
  \usebibmacro{author/editor}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \printtext{\printfield{volume}}%
  \iffieldundef{number}{}{\printtext[parens]{\printfield{number}}}%   
  \setunit*{\addcolon\addspace}%
  \printfield{pages}% 
  \usebibmacro{finentry}} 

% InCollection neu deklariert, um Reihenfolge von Seiten und Ort: Verlag
% zu ändern und um Komma an einer Stelle einzufügen. (siehe unten)
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \setunit*{\addcomma\addspace}% anstatt \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Mangels Minimalbeispiel nur ein Schuss ins Blaue:
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{editor+others}% statt byeditor+others
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
Gruß,
Dominik.-

Eglatholion
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Mo 31. Jan 2011, 13:18
Kontaktdaten:

Beitrag von Eglatholion »

Hi!

Das hatte ich auch schon ausprobiert. Es bewirkt aber, dass dann noch ein zusätzlicher Punkt davor entsteht sowie dass das Datum in Klammern nochmal hinzugefügt wird. (Und es entsteht zunächst einmal ein dash -- solange man diesen nicht mit dashed=false verhindert).

Ich habe mal ein Minimalbeispiel erstellt.

Die Ausgabe soll statt dem, was passiert, folgendermaßen aussehen:

House, David (2004). Small words in meaningless sentences. In Tense, Mood and Aspect. Selected Papers from the 24th University Teachers of English Conference, Philip Swallow & Morris Zapp (Hgg.), 324–367. Euphoria: The TMA Press.
\begin{filecontents*}{MeineBib.bib}
@InCollection{house,
  author	=		{David House},
  year		=		{2004},
  title		=		{Small words in meaningless sentences},
  editor	=		{Philip Swallow and Morris Zapp},
  booktitle	=		{Tense, Mood and Aspect},
  booksubtitle	=		{Selected Papers from the 24th University Teachers of English Conference},
  location	=		{Euphoria},
  publisher =		{The TMA Press},
  pages	=		{324-367},
}

@InCollection{wort,
  author	=		{Richard Wort and Karla Schatz},
  year		=		{1994},
  title		=		{Die Welt der Wörter},
  editor	=		{Anna Vohr and Ann Pees},
  booktitle	=		{Wörter und Sachen},
  location	=		{Tübingen},
  publisher =		{Knarr},
  pages		=		{204-222},
}
\end{filecontents*} 
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[12pt,notitlepage,parskip]{scrartcl}
\usepackage{xltxtra}
\usepackage{fontspec}
\usepackage{xunicode}
\setmainfont{Linux Libertine}
\usepackage{polyglossia}
\setmainlanguage[spelling=new, latesthyphen=true]{german}
\setotherlanguage[variant=ancient]{greek}
\usepackage{babel}
\usepackage[babel]{csquotes}

\usepackage[
  style=authoryear,
  bibwarn=false,
  ]{biblatex}
\bibliography{MeineBib}
 
\usepackage[onehalfspacing]{setspace}
\usepackage[a4paper,left=2.0cm,bottom=2.0cm,right=2.0cm,top=2.0cm]{geometry}

%% colon after year
\renewcommand{\postnotedelim}{\addcolon\addspace}  

%% no p. before page number
\DeclareFieldFormat{postnote}{#1} 
\DeclareFieldFormat{multipostnote}{#1} 
\DeclareFieldFormat{pages}{#1}

%% set delimiter between names
\renewcommand*{\multinamedelim}{\addspace\&\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}

%% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}

%% change of abbreviations
\DefineBibliographyStrings{german}{%
  and={u\adddot},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={Hg\addcolon\thinspace},
%  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
  
%% no quotation marks for article, inbook, ...
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

%% no colon after the word "in"
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\nopunct\space}}

%% article 
\DeclareBibliographyDriver{article}{% 
  \usebibmacro{author/editor}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \printtext{\printfield{volume}}%
  \iffieldundef{number}{}{\printtext[parens]{\printfield{number}}}%   
  \setunit*{\addcolon\addspace}%
  \printfield{pages}% 
  \usebibmacro{finentry}} 

%% InCollection
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle}%
  \setunit*{\addcomma\addspace}%
%  \usebibmacro{byeditor+others}%
  \usebibmacro{editor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \setunit*{\addcomma\addspace}% anstatt \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\begin{document}

Collection: Auch \textcite[23-53]{house} schreibt schon, dass\\
Allerdings geht es auch anders: \parencite[22]{house}

\printbibliography

\end{document}

Eglatholion
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Mo 31. Jan 2011, 13:18
Kontaktdaten:

Beitrag von Eglatholion »

Hallo nochmal!

Da ich die Arbeit, für die ich den Zitierstil erstelle, bald abgeben muss, wollte ich noch einmal fragen, ob noch jemand eine Idee hat, wie ich das byeditor so umstellen kann, dass es so wie oben angegeben aussieht?

LG

Eglatholion
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Mo 31. Jan 2011, 13:18
Kontaktdaten:

Beitrag von Eglatholion »

Hallo zusammen!

Ich habe den Code und das Minimalbeispiel jetzt noch einmal wesentlich erweitert.

Es fehlen eigentlich nur noch 2 Sachen, die ich nicht hinbekomme.

1. weiterhin byeditor (siehe oben). Dies muss in Klammern dahinter stehen, sodass es ab "In" so aussieht:
In maintitle, Hg-vorname Hg-Nachname (Hg.), Seite. Ort: Verlag.

Wenn es mehrere Editors gibt, müsste ein (Hgg.) daraus werden. Für Editor klappt das, wie man sieht, für byeditor gibt es das in authoryear anscheinend standardmäßig nicht.

2. Das Komma zwischen Editor und (Hgg.) muss weg. (Siehe 2. Eintrag im Literaturverzeichnis.)

Anmerkung: Da Series+Number bei mir in Klammern sollte, habe ich dies ganz unten mit \renewbibmacro*{series+number} neu definiert. Danach entstanden überall zunächst einmal leere Klammern, wenn der Bib-Eintrag keinen Series-Eintrag hat. Ich habe daher dann in den entsprechenden DeclareBibliographyDriver jeweils eine if-Abfrage eingebaut.

Meine Frage ist, ob das geschickt so war.

Des Weiteren würde ich mich sehr freuen, wenn ich andere handwerkliche Hinweise zum Code bekommen könnte.

Hier das Minimalbeispiel.
\begin{filecontents*}{MeineBib.bib}
@InCollection{house,
  author	=		{David House},
  year		=		{2004},
  title		=		{Small words in meaningless sentences},
  editor	=		{Philip Swallow and Morris Zapp},
  booktitle	=		{Tense, Mood and Aspect},
  booksubtitle	=		{Selected Papers from the 24th University Teachers of English
  Conference},
  location	=		{Euphoria},
  publisher =		{The TMA Press},
  pages		=		{324-367},
}

@InCollection{wort,
  author	=		{Richard Wort and Karla Schatz},
  year		=		{1994},
  title		=		{Die Welt der Wörter},
  editor	=		{Anna Vohr and Ann Pees},
  booktitle	=		{Wörter und Sachen},
  location	=		{Tübingen},
  publisher =		{Knarr},
  pages		=		{204-222},
}

@Collection{vohr,
  year		=		{1994},
  editor	=		{Anna Vohr and Ann Pees},
  title		=		{Wörter und Sachen},
  location	=		{Tübingen},
  publisher =		{Knarr},
}

\end{filecontents*} 
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[12pt,notitlepage,parskip]{scrartcl}
\usepackage{xltxtra}
\usepackage{fontspec}
\usepackage{xunicode}
\setmainfont{Linux Libertine}
\usepackage{polyglossia}
\setmainlanguage[spelling=new, latesthyphen=true]{german}
\setotherlanguage[variant=ancient]{greek}
\usepackage{babel}
\usepackage[babel]{csquotes}

\usepackage[
  style=authoryear,
  bibwarn=false,
  ]{biblatex}
\bibliography{MeineBib}
 
\usepackage[onehalfspacing]{setspace}
\usepackage[a4paper,left=2.0cm,bottom=2.0cm,right=2.0cm,top=2.0cm]{geometry}

%% colon after year
\renewcommand{\postnotedelim}{\addcolon\addspace}  

%% no p. before page number
\DeclareFieldFormat{postnote}{#1} 
\DeclareFieldFormat{multipostnote}{#1} 
\DeclareFieldFormat{pages}{#1}

%% set delimiter between names
\renewcommand*{\multinamedelim}{\addspace\&\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}

%% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}

%% change of abbreviations
\DefineBibliographyStrings{german}{%
  and={\&},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={Hg\addcolon\thinspace},
%  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
  
%% no quotation marks for article, inbook, ...
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

%% no colon after the word "in"
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\nopunct\space}}

%% book
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

%% inbook
\DeclareBibliographyDriver{inbook}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{bybookauthor}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

%% Collection
\DeclareBibliographyDriver{collection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{editor+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

%% InCollection
\DeclareBibliographyDriver{incollection}{% 
  \usebibmacro{bibindex}% 
  \usebibmacro{begentry}% 
  \usebibmacro{author/translator+others}% 
  \setunit{\labelnamepunct}\newblock 
  \usebibmacro{title}% 
  \newunit 
  \printlist{language}% 
  \newunit\newblock 
  \usebibmacro{byauthor}% 
  \newunit\newblock 
  \usebibmacro{in:}% 
  \usebibmacro{maintitle+booktitle}% 
  \newunit 
  \iffieldundef{maintitle} 
    {\printfield{volume}% 
     \printfield{part}} 
    {}% 
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}
  \usebibmacro{byeditor+others} 
  \newunit\newblock 
  \printfield{edition}%
  \newunit 
  \printfield{volumes}% 
  \newunit\newblock 
  \printfield{note}% 
  \newunit\newblock 
  \usebibmacro{chapter+pages}% 
  \newunit\newblock 
  \usebibmacro{publisher+location+date}% 
  \newunit\newblock 
  \usebibmacro{doi+eprint+url}% 
  \newunit\newblock 
  \usebibmacro{addendum+pubstate}% 
  \setunit{\bibpagerefpunct}\newblock 
  \usebibmacro{pageref}% 
  \usebibmacro{finentry}} 

%% article 
\DeclareBibliographyDriver{article}{% 
  \usebibmacro{author/editor}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \printtext{\printfield{volume}}%
  \iffieldundef{number}{}{\printtext[parens]{\printfield{number}}}%   
  \setunit*{\addcolon\addspace}%
  \printfield{pages}% 
  \usebibmacro{finentry}} 


\renewbibmacro*{series+number}{%
  \printtext[parens]{\printfield{series}%
  \setunit*{\addcomma\addspace}%
  \printfield{number}\adddot%
  }\setunit*{\addspace}\nopunct}

%% kein Leerzeichen vor f.
\renewcommand*{\sqspace}{}

\begin{document}

Auch \textcite[23-53]{house} schreibt a, aber
\textcite[11-22]{wort} schreiben b.\\ Allerdings geht es auch anders: c
\parencite[22]{house} oder d \parencite[55]{wort}.

Für einen Überblick siehe e. \parencite{vohr}

\printbibliography

\end{document}
Vielen Dank und liebe Grüße.

Antworten