Biblatex: Zeilenumbruch nach Autor und Jahr

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


Rob
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 1. Feb 2010, 14:54

Biblatex: Zeilenumbruch nach Autor und Jahr

Beitrag von Rob »

Hallo,

ich benutze Biblatex mit einem authoryear style. In der Bib soll nach Autor und Jahr ein Zeilenumbruch folgen. Wie erreiche ich das?

Es kommt noch hinzu, dass alle folgenden Zeilen mit den restlichen bibliografischen Angaben eingerückt sein soll. Momentan klappt das ja, aber vielleicht muss man da noch extra was tun, wenn ein Zeilenumbruch nach Autor und Jahr eingefügt wird?

Hier ein Minimalbeispiel:
\documentclass{article}
\usepackage[bibstyle=authoryear, citestyle=authoryear-icomp]{biblatex}
\bibliography{@ARTICLE{gast06,
  author = {Gast, Volker},
  title = {The distribution of \textit{also} and \textit{too}: a preliminary
	corpus study},
  journal = {Zeitschrift f\"ur Anglistik und Amerikanistik},
  year = {2006},
  volume = {54},
  pages = {1-12},
  number = {1},
 }
@BOOK{koenig91,
  title = {The meaning of focus particles. A comparative perspective},
  publisher = {Routledge},
  year = {1991},
  author = {K\"onig, Ekkehard},
  address = {London}
}
}



\begin{document}
bla \parencite{gast06} bla
\parencite{koenig91}

\printbibliography
 
\end{document}

Rob
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 1. Feb 2010, 14:54

Beitrag von Rob »

Mhh, ist die Frage zu trivial? :wink: Ich habe trotz intensiver Recherche leider keine Möglichkeit gefunden. In der biblatex Doku sind zwar eine ganze Menge delimiter verzeichnet, die man ändern kann, aber für mein Problem habe ich keinen passenden gefunden. Wär cool wenn jemand einen Tipp hätte!

Rob
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 1. Feb 2010, 14:54

Beitrag von Rob »

Habe inzwischen durch ewiges Probieren und Recherchieren eine Lösung gefunden. Wenn es jemanden interessiert, kann ich das hier auch dokumentieren.

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

Beitrag von domwass »

Die Lösung würde mich interessieren (und sicher auch andere). Ich hatte
keine Zeit, selber zu testen, aber es wäre interessant zu sehen, wie du es
gelöst hast.

Gruß,
Dominik.-

Rob
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 1. Feb 2010, 14:54

Beitrag von Rob »

Folgende Änderungen sind in der Präambel notwendig:
\AtBeginBibliography{%
%kein Punkt nach dem Jahr
\renewcommand*{\labelnamepunct}{}
%Anpassung des Einzugs in der Bib
\setlength{\parindent}{0pt}
\setlength{\leftmargin}{0pt}
\setlength{\itemindent}{0pt}
}

%Umgebung mit Einzug für Definition in standard-break.bbx
\newenvironment{myindentpar}[1]%
{\begin{list}{}%
         {\setlength{\leftmargin}{#1}}%
         \item[]%
}
{\end{list}}

%Noch mehr Anpassungen des Einzugs in der Bib
\defbibenvironment{bibliography}
{\list{}
{\setlength{\leftmargin}{0pt}%
\setlength{\itemindent}{0pt}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
Außerdem habe ich neue Dateien authoryear-break.bbx und standard-break.bbx angelegt (das sind die authoryear.bbx und standard.bbx mit meinen Veränderungen). Dementsprechende benutze ich den bib style authoryear-break. Diese Datei wiederum benutzt normalerweise standard.bbx, aber das habe ich auf standard-break.bbx geändert.

Änderungen (fett) in authoryear-break.bbx:
\ProvidesFile{authoryear-[b]break[/b].bbx}
\RequireBibliographyStyle{standard-[b]break[/b]}
...
\renewbibmacro*{author}{%
  [b]\begin{flushleft} %notwendig, weil die Zeile sonst im Blocksatz steht; außerdem entsteht der gewünscht Absatz
   % normaler Inhalt des Makros
  \end{flushleft}}[/b]
Und in der standard-break.bbx musste ich bei jedem Driver den Einzug für die zweite und folgende Zeilen jedes Eintrags in der Bib einfügen. Ich habe keine Möglichkeit gesehen, das allgemein umzudefinieren. Hier ein Beispiel für den Typ article. Übrigens habe ich es nicht geschafft, nur mit einem Befehl den Einzug zu verändern. Es musste schon eine Umgebung sein.
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
[b]  \begin{myindentpar}{1cm}
  %weiterer Inhalt
  \end{myindentpar}[/b]}

Antworten