Seite 1 von 3

Bei @inbook Reihenfolge ändern (editor nach

Verfasst: Mi 5. Feb 2020, 10:00
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:

Code: Alles auswählen

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

Verfasst: Mi 5. Feb 2020, 17:48
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.

Code: Alles auswählen

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

Verfasst: Mi 5. Feb 2020, 18:01
von Thesis-Struktur
Guten Abend,

dankeschön für deine Hilfe:

jedoch kommt bei mir beim Kompilieren ein Fehler:

Package keyval Error: innamebeforetitle undefined.

Verfasst: Mi 5. Feb 2020, 18:07
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

Code: Alles auswählen

! 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.)

Verfasst: Mi 5. Feb 2020, 18:42
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.

Verfasst: Do 6. Feb 2020, 07:52
von Thesis-Struktur
Ich schreibe in overleaf

Verfasst: Do 6. Feb 2020, 08:24
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.

Verfasst: Do 6. Feb 2020, 09:09
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.

Verfasst: Do 6. Feb 2020, 10:02
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?

Verfasst: Do 6. Feb 2020, 10:09
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.