Bei @inbook Reihenfolge ändern (editor nach

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


Thesis-Struktur
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Di 24. Dez 2019, 09:53

Bei @inbook Reihenfolge ändern (editor nach

Beitrag von Thesis-Struktur »

Bei @inbook Reihenfolge ändern (editor nach "in:")


Hallo,

ich hätte gerne im Literaturverzeichnis

1. statt A den editor wie in B nach dem "in" + Doppelpunkt nach (Hrsg.)
2. keine Anführungszeichen beim Titel (wie B)

A
Ramberg, Bjorn Torgrim (2013): „For the Sake of His Own Generation: Rorty on Destruction and Edification“, in: Richard Rorty: From Pragmatist Philosophy to Cultural Politics, Gröschner, Alexander/ Koopman, Colin/ Sandbothe, Mike (Hrsg.), London.

B
Ramberg, Bjorn Torgrim (2013): For the Sake of His Own Generation: Rorty on Destruction and Edification, in: Gröschner, Alexander/ Koopman, Colin/ Sandbothe, Mike (Hrsg.): Richard Rorty: From Pragmatist Philosophy to Cultural Politics, London.

Vielen Dank für Eure Hilfe! :)


Hier mein MWE:
\NeedsTeXFormat{LaTeX2e}
\documentclass[a4paper,12pt]{scrbook}

\usepackage{xpatch} % Für "(Hrsg)"

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=35mm,right=25mm,top=25mm,bottom=20mm]{geometry}
\setlength{\footskip}{0,75cm}

\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=authoryear, maxcitenames=2, maxbibnames=10]{biblatex}
\bibliography{bibliography}
\renewcommand{\labelnamepunct}{\addcolon\space} %Doppelpunkt nach Autor

\DefineBibliographyStrings{ngerman}{%
   byeditor  = {Hrsg\adddot}
}

\DeclareNameAlias{sortname}{last-first}%unten
\DeclareNameAlias{default}{last-first}%Dass Nachname, Vorname

%\AtEveryCite{% nur beim Textzitat
\renewcommand*{\multinamedelim}{\space\addslash\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}
%} %Autoren werden im Text mit / getrennt statt "und"
\renewcommand*{\multicitedelim}{\addcomma\space} %Mehrere Quellen werden mit Komma statt Semikolon getrennt

\begin{document}

% KOMMA statt PUNKT im Literaturverzeichnis

\renewcommand*{\newunitpunct}{\addcomma\space} 

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \clearname{editor}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}
  
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{}


\chapter{Test}

This is a test \parencite{Ramberg2013}


---------------------

@inbook{Ramberg2013,
title={For the Sake of His Own Generation: Rorty on Destruction and Edification},
author={Bjorn Torgrim Ramberg},
year={2013},
address={London},
booktitle={Richard Rorty: From Pragmatist Philosophy to Cultural Politics},
editor={Alexander Gr{\"o}schner and Colin Koopman and Mike Sandbothe} 
}

---------------------

\printbibliography[]

\end{document}

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

Mit biblatex-ext geht das ganz komfortabel mit der Option innamebeforetitle=true,.

Das setzt allerdings voraus, dass Du hier den für das Werk passenden Eintragstypen @incollection und nicht @inbook verwendest.

Da biblatex-ext eh neuere Versionen von biblatex und biber benötigt, habe ich den Rest Deines Codes auch noch etwas überarbeitet und erneuert.
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=ext-authoryear,
  maxcitenames=2, maxbibnames=10,
  innamebeforetitle=true,]{biblatex}

\renewcommand*{\newunitpunct}{\addcomma\space}

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

\DeclareDelimFormat{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

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

\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}

\renewcommand*{\subtitlepunct}{\addcolon\space}

\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

\renewcommand*{\multicitedelim}{\addcomma\space}

\begin{filecontents}{\jobname.bib}
@incollection{Ramberg2013,
  author       = {Bjørn Torgrim Ramberg},
  title        = {For the Sake of His Own Generation},
  subtitle     = {{Rorty} on Destruction and Edification},
  booktitle    = {{Richard Rorty}},
  booksubtitle = {From Pragmatist Philosophy to Cultural Politics},
  editor       = {Alexander Gröschner and Colin Koopman and Mike Sandbothe},
  year         = {2013},
  address      = {London},
  pages        = {49–72},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  This is a test \autocite{Ramberg2013}

  \printbibliography
\end{document}

Thesis-Struktur
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Di 24. Dez 2019, 09:53

Beitrag von Thesis-Struktur »

Guten Abend,

dankeschön für deine Hilfe:

jedoch kommt bei mir beim Kompilieren ein Fehler:

Package keyval Error: innamebeforetitle undefined.

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

Ist das der einzige Fehler? Wenn der Stil korrekt geladen wird, sollte die Option definiert sein (und soweit ich sehen kann, hieß die Option schon immer so und wurde nicht umbenannt).

Bekommst Du nicht auch eine Meldung wie
! Package biblatex Error: Style 'ext-authoryear' not found.
Das würde bedeuten, dass der Stil bei Dir nicht installiert ist. (Vielleicht weil Du ein veraltetes System nutzt.)

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Es kommt auch darauf an, welche TeX-Distribution Du benutzt. MiKTeX bietet z. B. mit der Basic-Version ein Minimalsystem an, bei dem biblatex-ext möglicherweise erst noch mithilfe des Paketmanagers abgerufen und installiert werden muss, bevor es zur Verfügung steht.

Thesis-Struktur
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Di 24. Dez 2019, 09:53

Beitrag von Thesis-Struktur »

Ich schreibe in overleaf

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

Hmmm, Overleaf hat seit neustem TeX live 2019 (https://www.overleaf.com/blog/tex-live-2019-upgrade-january-2020), da ist biblatex-ext sicher dabei.

Wenn Du an Deinem Projekt schon länger arbeitest, dann läuft es (um die Kompatibilität zu wahren) unter Umständen noch mit einem älteren System. Klon Dein Projekt (https://de.overleaf.com/learn/how-to/Copying_a_project) und probier aus, ob der Code in dem neuen, geklonten Projekt geht.

Gast

Beitrag von Gast »

MoeWe hat geschrieben:Hmmm, Overleaf hat seit neustem TeX live 2019 (https://www.overleaf.com/blog/tex-live-2019-upgrade-january-2020), da ist biblatex-ext sicher dabei.
Das war eigentlich sogar schon in der finalen Version von TeX Live 2018, die bei Overleaf seit Ende September 2019 läuft.

Das Klonen ist natürlich trotzdem der richtige Rat, um ein Projekt auf ein aktuelles TeX Live zu updaten. Da der alte Code weiterhin mit der TeX Live Version zur Verfügung steht, die beim Anlegen des ursprünglichen Projekts aktiv war, geht man dabei auch keinerlei Risiko ein. Notfalls kann man jederzeit wieder zum alten Projekt zurück.

Thesis-Struktur
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Di 24. Dez 2019, 09:53

Beitrag von Thesis-Struktur »

Vielen Dank soweit für Eure Hilfe!

Ich bin kurz vor der Abgabe und würde ungern jetzt so viel ändern. Zumal ich jetzt nicht weiß, wie ich das MWE in mein bestehendes Dokument einbaue (was ich behalten kann und löschen)

Geht es irgendwie einfacher?

Gast

Beitrag von Gast »

Das Klonen des Projekts ist einfach und, wie gesagt, ohne Risiko, da das Originalprojekt erhalten bleibt. Die Änderungen bei der Einbindung und den Befehlen für biblatex kannst du 1:1 übernehmen.

Antworten