Diverse Feinanpassungen für Biblatex Literaturverzeichnis

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Diverse Feinanpassungen für Biblatex Literaturverzeichnis

von Tassadar » Mo 18. Sep 2017, 15:52

Gut, dass wir drüber sprechen. ^^

Dann liegt es nämlich daran, dass ich dieses "Problem" in der Zwischenzeit selbst angegangen bin, da ich nicht möchte, dass er die Autoren durch Striche ersetzt.

Ich hatte es so gemacht:
%\makeatletter
%\newbibmacro*{bbx:dashcheck}[2]{#2}
%\makeatother
Aber auch hier ist deine Lösung mit
dashed = false
natürlich klar zu bevorzugen.

Dann bleibt mir wohl nur nochmal ein abschließendes

Vielen, vielen Dank!!!

von Gast » Mo 18. Sep 2017, 15:46

Mhhh, das kann ich nicht ganz nachvollziehen. Bei mir trat das Problem nicht auf. Auch mit Overleaf bekomme ich das Problem nicht, wenn ich auf "Öffne in Overleaf" klicke.

Der Code ist dazu da, die dashed-Funktion auszuführen. Dabei wird der Autorenname durch einen Strich ersetzt, wenn er in der Bibliographie ein zweites Mal auftritt. Wenn Du die zwei genannten Zeilen entfernst, dann bekommst Du diesen Strich nie. (Was aber mit dashed=false als Option besser erreicht wird.)

von Tassadar » Mo 18. Sep 2017, 15:38

Achso eine Sache wäre doch noch...

Ich musste das folgende auskommentieren
	{\usebibmacro{bbx:dashcheck} 
	{\bibnamedash} 
Da ich sonst eine Fehlermeldung bekomme:

File ended while scanning use of \@argdef.

Aber scheint zumindest vom Ergebnis her bei mir kein Problem zu machen.
Wofür wären die Zeilen gedacht?[/code]

von Tassadar » Mo 18. Sep 2017, 15:35

Habe alle Fehler gefunden. Lag daran, dass ich in der Zwischenzeit selber versucht hatte die Probleme zu lösen und es manchmal Kollisionen gab.
Waren zwei drei Kleinigkeiten und hatte vor allem übersehen das
\DefineBibliographyStrings{ngerman}{andothers={et \addabbrvspace al\adddot}}
In der gekürzten Fassung zu übernehmen.

Mega gut! Vielen, vielen Dank!!!

Jetzt müsste ich es nur noch umfassend verstehen. :D

von Gast » Mo 18. Sep 2017, 14:18

Tassadar hat geschrieben:
\DeclareNameFormat{first-last}{%
	\usebibmacro{name:first-last}
	{\namepartfamily}
	{\namepartgiveni}
	{\namepartprefix}
	{\namepartsuffix}%
}%
\DeclareNameAlias{editor}{first-last}
hattest du rausgenommen, brauche ich aber, da der Herausgeber im Stil V. Nachname dargestellt werden soll.

In Anlehnung an deine Änderung ist aber natürlich das hier viel schöner:
\DeclareNameAlias{editor}{given-family}
Hupps, da habe ich mich vertan. Ich würde dann
\DeclareNameAlias{default}{given-family}
empfehlen. Oder, wenn es wirklich nur der editor sein soll, eben \DeclareNameAlias{editor}{given-family}.
Tassadar hat geschrieben:
\renewcommand*{\intitlepunct}{\addspace}
führt bei mir dazu, dass dann nach dem "In" ein Space zuviel ist. Habe es daher abgeändert zu:
\renewcommand*{\intitlepunct}{}
Das liegt daran, dass der Code
   \begingroup % NEU
   \renewbibmacro*{date+extrayear}{} % NEU
   \usebibmacro{editor+others} % NEU
   \setunit{\addcolon\space} % NEU
   \endgroup % NEU
ungewollte Leerzeichen erzeugt. Du musst die % direkt nach der schließenden Klammer haben, sonst wird ein Leerzeichen erzeugt. Siehe https://tex.stackexchange.com/q/7453/
Habe versucht die anderen Änderungen bei mir einzubauen, aber wenn ich deine Lösung einfach auf meine draufkopiere zerschießt er mir an irgendeiner Stelle irgendwas...

Kannst du nochmal kurz hervorheben, was die entscheidenden Punkte sind um das Komma hinter dem Booktitle wegzubekommen?
Dann versuche ich das für mich anzupassen.
Ich war davon ausgegangen, dass der gezeigte Code Deine Änderungen an biblatex vollständig abbildet. Dann ist mein Code - zumindest meiner Meinung nach - so auf jeden Fall vorzuziehen. Was genau geht denn kaputt und was hast Du sonst noch in Deinem Dokument an Modifikationen für biblatex?

Das Komma wird mit
\setunit{\addspace}%
  \usebibmacro{in:chapter+pages}%
statt
\newunit\newblock
  \usebibmacro{in:chapter+pages}%
oder gar
\newunit\newblock
  \usebibmacro{chapter+pages}%
zu einem Leerzeichen, wenn die Seitenzahl folgt.

von Tassadar » Mo 18. Sep 2017, 14:04

Erstmal vielen vielen vielen Dank!!!

Bzgl. deiner Änderungen:
\DeclareNameFormat{first-last}{%
	\usebibmacro{name:first-last}
	{\namepartfamily}
	{\namepartgiveni}
	{\namepartprefix}
	{\namepartsuffix}%
}%
\DeclareNameAlias{editor}{first-last}
hattest du rausgenommen, brauche ich aber, da der Herausgeber im Stil V. Nachname dargestellt werden soll.
In Anlehnung an deine Änderung ist aber natürlich das hier viel schöner:
\DeclareNameAlias{editor}{given-family}
\renewcommand*{\intitlepunct}{\addspace}
führt bei mir dazu, dass dann nach dem "In" ein Space zuviel ist. Habe es daher abgeändert zu:
\renewcommand*{\intitlepunct}{}

Habe versucht die anderen Änderungen bei mir einzubauen, aber wenn ich deine Lösung einfach auf meine draufkopiere zerschießt er mir an irgendeiner Stelle irgendwas...

Kannst du nochmal kurz hervorheben, was die entscheidenden Punkte sind um das Komma hinter dem Booktitle wegzubekommen?
Dann versuche ich das für mich anzupassen.

Vielen vielen Dank aber auf jeden Fall!!!

von Gast » Mo 18. Sep 2017, 12:12

Probier es mal mit
\documentclass[
paper=A4,
11pt,
headings=big,
listof=leveldown,
listof=numbered,
numbers=noenddot,
bibliography=totoc
]{scrartcl}

\usepackage[
   backend = biber,
   style = authoryear,
   giveninits = true,
   url = false,
   isbn = false,
   eprint = false
   ]{biblatex}
   
\AtBeginBibliography{%
   \renewcommand{\finalnamedelim}{\addspace\&\space}}

\DeclareNameAlias{sortname}{family-given}

\DeclareFieldFormat[article]{title}{#1\isdot}
%\DeclareFieldFormat[book]{title}{\textit{#1}\isdot}% geht auch so, ist dann zwar \emph, aber das kann auch Vorteile haben
\DeclareFieldFormat[incollection]{title}{#1\isdot}

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

\renewcommand*{\intitlepunct}{\addspace}

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

% Komma zwischen Journal und Volume
\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}
  \newunit\newblock
  \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}

% wird in der kommenden Version 3.8 nicht mehr benötigt
% BEGIN
\makeatletter
\renewbibmacro*{bbx:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
        \setunit{\printdelim{editortypedelim}}%
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\printdelim{nameyeardelim}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameyeardelim}}}%
  \usebibmacro{date+extrayear}}
\makeatother
% STOP

\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} 


\addbibresource{LitDaten.bib}
\usepackage{filecontents}  
\begin{filecontents}{LitDaten.bib}
@incollection{Kruger1980,
address = {T{\"{u}}bingen},
author = {Kr{\"{u}}ger, Hans-Peter},
booktitle = {Klinische Psychologie und Psychotherapie},
editor = {Schulz, Wolfgang},
pages = {339--350},
publisher = {DGVT},
title = {Selbst- und Fremdbeurteilung in Diagnostik und Psychotherapie},
year = {1980}
}
\end{filecontents}

%Verlinkungen in der PDF
\usepackage[breaklinks=true, linkbordercolor={1 1 1}, citebordercolor={1 1 1}, urlbordercolor={1 1 1}]{hyperref}  
\usepackage[ngerman]{babel}      % Spracheinstellung
\usepackage[utf8]{inputenc}      % deutsche Umlaute
\usepackage[T1]{fontenc}      % Trennung bei deutschen Umlauten
\usepackage[babel,german=quotes]{csquotes}

\begin{document}
\parencite{Kruger1980}
\printbibliography
\end{document}
Ich habe auch einen Teil des schon vorhandenen Codes behutsam angepasst, sieh es Dir mal an.

von Tassadar » Mo 18. Sep 2017, 11:46

Ok, Problem 3 ist gelöst durch folgenden einfachen Code:
\DeclareFieldFormat[incollection]{pages}{(S. #1)}
Ist vielleicht nicht die schöne/korrekte Art es zu machen, aber es Funktioniert.

Bleiben noch zwei Probleme.
Ich bin nach wie vor dankbar für Hilfe!

Diverse Feinanpassungen für Biblatex Literaturverzeichnis

von Tassadar » Mo 18. Sep 2017, 01:18

Hi Leute,

ich habe jetzt fast den ganzen Tag damit verbracht mein Literaturverzeichnis umzudefinieren um diesen nervigen Vorgaben der Uni zu entsprechen.

Habe zwar viel erreicht, aber an den letzten Punkten verzweifel ich einfach, finde nichts und wäre für Hilfe mega dankbar!

Im Endeffekt geht es darum, dass der Literaturverzeichniseintrag in dem Minimalbeispiel wie folgt angezeigt werden soll:

Nachname, Initialen. (Jahr). Titel des Kapitels oder Beitrags. In Initial(en).
Nachname (Hrsg.), Titel des Herausgeberwerks (S. Seitenzahlen). Erscheinungsort: Verlag.

Was also geändert werden müsste ist folgendes:
- kein Doppelpunkt nach "In"
- kein "," nach dem Booktitle
- Seitenzahlen in Klammern

Ich wäre sososo dankbar für Hilfe!
\documentclass[
paper=A4, 
11pt, 
headings=big, 
listof=leveldown, 
listof=numbered, 
numbers=noenddot, 
bibliography=totoc
]{scrartcl}




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%			Bibliography Formatierungen     %%%%%%%%%%%%%%%%%%%%
% Bibliography Formatierungen

\usepackage[
	backend = biber,
	style = authoryear,
	sorting = nyt,
	doi = true,
	url = false,
	isbn = false,
	eprint = false
	]{biblatex}
    
%%%%%%%%%%%%%%%%%%%%			Formatierungen für Verzeichnis  %%%%%%%%%%%%%%%%%%%%
% "&" statt "und" verwenden
\AtBeginBibliography{%
	\renewcommand{\finalnamedelim}{\addspace\&\space}}

% immer "Nachname, V."
\DeclareNameFormat{sortname}{%
	\usebibmacro{name:last-first}
	{\namepartfamily}
	{\namepartgiveni}
	{\namepartprefix}
	{\namepartsuffix}%
}%

% Herausgeber als "V. Nachname"
\DeclareNameFormat{first-last}{%
	\usebibmacro{name:first-last}
	{\namepartfamily}
	{\namepartgiveni}
	{\namepartprefix}
	{\namepartsuffix}%
}%
\DeclareNameAlias{editor}{first-last}

% keine " " um Titel und für Bücher kursiv
\DeclareFieldFormat[article]{title}{#1\isdot}
\DeclareFieldFormat[book]{title}{\textit{#1}\isdot}
\DeclareFieldFormat[incollection]{title}{#1\isdot}

% keine "S." bei Seitenangabe
\DeclareFieldFormat[article]{pages}{#1}

% kein "In:" vor Journal (eventuell löscht es auch andere "In")
\renewbibmacro{in:}{%
	\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}


% Komma zwischen Journal und Volume
\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},editor = {(Hrsg.),},editors = {(Hrsg.),}}


\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:}%
	\begingroup % NEU
	\renewbibmacro*{date+extrayear}{} % NEU
	\usebibmacro{editor+others} % NEU
	\setunit{\addcolon\space} % NEU
	\endgroup % NEU
	\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}%
	\newunit\newblock
	\usebibmacro{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}%
	\newunit\newblock
	\usebibmacro{pageref}%
	\usebibmacro{finentry}}
\makeatletter
\renewbibmacro*{bbx:editor}[1]{%
	\ifboolexpr{
		test \ifuseeditor
		and
		not test {\ifnameundef{editor}}
	}%
	{\printnames{editor}%
		\setunit{\space}%
		\usebibmacro{bbx:savehash}
		\usebibmacro{#1}%
		\clearname{editor}%
		\setunit{\addspace}
	}%
	{\global\undef\bbx@lasthash
		\usebibmacro{labeltitle}%
		\setunit*{\addspace}
	}%
	\usebibmacro{date+extrayear}
}
\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\addbibresource{LitDaten.bib} 
\usepackage{filecontents}   
\begin{filecontents}{LitDaten.bib} 
@incollection{Kruger1980,
address = {T{\"{u}}bingen},
author = {Kr{\"{u}}ger, Hans-Peter},
booktitle = {Klinische Psychologie und Psychotherapie},
editor = {Schulz, Wolfgang},
file = {:C$\backslash$:/Users/Julian/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Kr{\"{u}}ger - 1968 - Selbst- und Fremdbeurteilung in Diagnostik und Psychotherapie.pdf:pdf},
pages = {339--350},
publisher = {DGVT},
title = {{Selbst- und Fremdbeurteilung in Diagnostik und Psychotherapie}},
year = {1980}
} 
\end{filecontents} 

%Verlinkungen in der PDF
\usepackage[breaklinks=true, linkbordercolor={1 1 1}, citebordercolor={1 1 1}, urlbordercolor={1 1 1}]{hyperref}	
\usepackage[ngerman]{babel}		% Spracheinstellung
\usepackage[utf8]{inputenc}		% deutsche Umlaute
\usepackage[T1]{fontenc}		% Trennung bei deutschen Umlauten
\usepackage[babel,german=quotes]{csquotes}

\begin{document}

\parencite{Kruger1980} \\
\printbibliography

\end{document}


Nach oben