Feinanpassungen für Literaturverzeichnis mit BibLaTeX

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


Gast

Beitrag von Gast »

Das Problem ist, dass mit dem aktuellen Code durchaus noch ein paar Sachen zwischen (Auflage) und [Reader] kommen. Daher ist es nicht so einfach, das richtig hinzubekommen.

Zweiter Versuch
\documentclass[
paper=A4,
11pt,
headings=big,
listof=leveldown,
listof=numbered,
numbers=noenddot,
bibliography=totoc
]{scrartcl}

\usepackage[
  backend = biber,    
  style = authoryear,  
  giveninits = true,    
  uniquename = init,    
  dashed = false,    
%  sorting = nyt,% das ist die Voreinstellung bei style=authoryear
%  doi = true,% ebenfalls Standard
  url = false,  
  isbn = false,      
  eprint = false  
  ]{biblatex}


% "&" statt "und" verwenden
% geht nun etwas einfacher
\DeclareDelimFormat{finalnamedelim}{\addspace\&\space}
% mit dieser Einstellung werden alle "und"s in Namenlisten zu "&"
% ist das anders geplant, kann das über das optionale Argument gesteuert werden.
% nur für \parencite: \DeclareDelimFormat[parencite]{finalnamedelim}{\addspace\&\space}
%nur für Verzeichnis: \DeclareDelimFormat[bib,biblist]{finalnamedelim}{\addspace\&\space}

% Bei Parencite ein "," zwischen Names und Year
% s.o. eventuell auch nur \DeclareDelimFormat{nameyeardelim}{\addcomma\space}
% je nach dem, was für \cite gewüscht ist.
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
% sorgt für den Punkt hinter dem Autorennamen im Verzeichnis
\DeclareDelimFormat[bib,biblist]{nameyeardelim}{\addperiod\space}


\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{editor}{given-family}

%\DeclareFieldFormat[article]{title}{#1\isdot}
%\DeclareFieldFormat[incollection]{title}{#1\isdot}
% Wirklich alle " in Titeln werden wie folgt unterdrückt
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

\DeclareFieldFormat[article]{pages}{#1}

% Klammern um Edition
\DeclareFieldFormat{edition}{%
  \mkbibparens{%
    \ifinteger{#1}
      {\mkbibordedition{#1}~\bibstring{edition}}
      {#1\isdot}}}

% korrigiert die Zeichensetzung vor edition
\usepackage{xpatch}
\def\do#1{%
  \xpatchbibdriver{#1}
    {\newunit\newblock\printfield{edition}}
    {\setunit{\addspace}\newblock\printfield{edition}}
    {}
    {\typeout{failed to patch edition in #1}}%
  \xpatchbibdriver{#1}
    {\newunit\newblock\printfield{note}}
    {\setunit{\addspace}\newblock\printfield{note}}
    {}
    {\typeout{failed to patch note in #1}}}
\docsvlist{book,inbook,collection,incollection,manual}


% Eckige Klammern um note
\DeclareFieldFormat[book]{note}{\mkbibbrackets{#1}}

\renewbibmacro{in:}{%
   \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}

\renewcommand*{\intitlepunct}{\addspace}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\addspace}%<--da
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}}

\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{in:editor+others}% NEU
  \setunit{\addcomma\space}\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{byeditor+others}% NEU
  \newunit\newblock % NEU
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \setunit{\addspace}%
  \usebibmacro{in:chapter+pages}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}


\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}


\newbibmacro*{in:editor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames{editor}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}}


\newbibmacro*{in:chapter+pages}{%
  \ifboolexpr{not test {\iffieldundef{chapter}} or not test {\iffieldundef{pages}}}
    {\printtext[parens]{%
       \printfield{chapter}%
       \setunit{\bibpagespunct}%
       \printfield{pages}}}
     {}%
  \newunit}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[typesource=techreport, typetarget=report, final]
    }
  }
}

\addbibresource{LitDaten.bib}
\usepackage{filecontents}  
\begin{filecontents}{LitDaten.bib}
@report{Bundesamt2016,
  abstract    = {S. 25 Bildungsabschlüsse Ausländer},
  address     = {Wiesbaden},
  author      = {{Statistisches Bundesamt}},
  institution = {Statistisches Bundesamt},
  keywords    = {Abschluss,Schulart,Schulbesuch,Staatsangehörigkeit},
  title       = {Bildungsstand der Bevölkerung},
  date        = {2016-11},% date ist besser als year und month
  url         = {https://www.destatis.de/GPStatistik/receive/DEHeft_heft_00057188},
}
@book{unireader,
  address     = {London},
  author      = {Anne Elk},
  institution = {University of Monthy},
  title       = {University Reader},
  note  = {Reader},
  isbn        = {978-1-56619-909-4},
  date        = {2016},
  edition     = {2},
  url         = {https://www.example.edu/~elk/reader.pdf},
}
@book{unireaderze,
  address     = {London},
  author      = {Anne Elk},
  institution = {University of Monthy},
  title       = {University Reader},
  note  = {Reader},
  isbn        = {978-1-56619-909-4},
  date        = {2016},
  url         = {https://www.example.edu/~elk/reader.pdf},
}
@book{unireaderzn,
  address     = {London},
  author      = {Anne Elk},
  institution = {University of Monthy},
  title       = {University Reader},
  edition     = {2},
  isbn        = {978-1-56619-909-4},
  date        = {2016},
  url         = {https://www.example.edu/~elk/reader.pdf},
}
@book{unireaderzen,
  address     = {London},
  author      = {Anne Elk},
  institution = {University of Monthy},
  title       = {University Reader},
  isbn        = {978-1-56619-909-4},
  date        = {2016},
  url         = {https://www.example.edu/~elk/reader.pdf},
}
@book{Martin2006,
address = {Weinheim},
author = {Martin, Ernst and Wawrinowski, Uwe},
isbn = {978-3779907442},
publisher = {Beltz Juventa},
title = {{Beobachtungslehre: Theorie und Praxis reflektierter Beobachtung und Beurteilung}},
year = {2006}
}
@book{Brentano2013,
address = {Hamburg},
author = {Brentano, Franz},
isbn = {978-3787300136},
publisher = {Felix Meiner},
title = {{Psychologie vom empirischen Standpunkt}},
year = {2013},
edition = {3}
}
@techreport{padhye:copy,
  author       = {Padhye, Jitendra and Firoiu, Victor and Towsley, Don},
  title        = {A Stochastic Model of {TCP Reno} Congestion Avoidance and
                  Control},
  institution  = {University of Massachusetts},
  date         = 1999,
  number       = {99-02},
  location     = {Amherst, Mass.},
}
\end{filecontents}
   
   
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel,german=quotes]{csquotes}

\usepackage{hyperref}
% im Allgemeinen sollte hyperref als letztes Paket geladen werden
% wie immer gibt es Ausnahmen, aber bei Dir war es eindeutig zu früh

\begin{document}
  \parencite{Bundesamt2016,unireader,unireaderze,unireaderzn,unireaderzen,padhye:copy,Martin2006,Brentano2013}
  \printbibliography[title=Literaturverzeichnis]
\end{document}

Tassadar
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 6. Sep 2017, 00:25

Beitrag von Tassadar »

Anonymous hat geschrieben:Daher ist es nicht so einfach, das richtig hinzubekommen.
Also in der Fassung in der es jetzt ist erfüllt es aber glaube ich alle meine Anforderungen.

VIELEN VIELEN VIELEN DANK!!!

Antworten