Herausgeber durch / trennen und Vor und Zunamen als Init.

Schriftbild, Absätze und Auflistungen einstellen
Gast

Herausgeber durch / trennen und Vor und Zunamen als Init.

Beitrag von Gast »

Ich möchte gerne die Herausgeber durch "/" trennen (Autor weiterhin durch Kommas)

Code: Alles auswählen

\AtBeginBibliography{% 
	\renewcommand*{\multinamedelim}{\addslash\space} 
	\renewcommand*{\finalnamedelim}{\addslash\space} 
}
funktioniert soweit. Aber vor dem Flash sollte noch ein Leerzeichen

Code: Alles auswählen

\AtBeginBibliography{% 
	\renewcommand*{\multinamedelim}{\space\addslash\space} 
	\renewcommand*{\finalnamedelim}{\space\addslash\space} 
}
Das war meines "space" davor wird einfach ignoriert.

Zweites Problem ist, die die Vor und Zunamen der Herausgeber, sollen als Initialen angegeben werden (Autoren weiter als Vollnamen). Wie bekommt man das bewerkstelligt?

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

Beitrag von MoeWe »

Die von biblatex bereitgestellten Zeichensetzungsbefehle, die mit \add beginnen, löschen immer vorherigen Leerraum. Daher wäre wohl \slash statt \addslash die richtige Wahl. Mit einer modernen biblatex-Installation kann man sich das \AtBeginBibliography und nutzt stattdessen besser, dass multinamedelim und filenamedelim kontextsensitiv sind.

Wenn Autoren weiter ihren vollen Namen bekommen sollen und nur Herausgeber mit Initialen dargestellt werden sollen, ist das etwas schwieriger als einfach nur giveninits=true beim Laden zuzufügen. Daher möchte ich Dich bitten, ein Minimalbeispiel zu zeigen, dass genau erklärt, worum es geht. Bedenke auch, dass bei einigen Eintragstypen die Herausgeber in Autor-Position auftauchen können.

Code: Alles auswählen

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat[bib]{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias*[bib]{finalnamedelim}[bib]{multinamedelim}


\begin{document}
\autocite{sigfridsson,nussbaum,geer,cicero,companion,
  worman,westfahl:frontier,gaonkar:in,pines}
\printbibliography
\end{document}

Gast

Beitrag von Gast »

Code: Alles auswählen

\begin{filecontents*}{test.bib}
	@incollection{test2019,
		Author = {Max Mustermann and Moritz Mustermann},
		Booktitle = {Testbuch},
		Editor = {Maria Musterfrau and Peter Pan and Karl-Heinz Müller},
		Title = {Testtitel},
		Year = {2019}}
\end{filecontents*}
\documentclass{article} 
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc} 
\usepackage[ngerman]{babel} 


\usepackage[style=authortitle, backend=biber]{biblatex} 

\addbibresource{test.bib} 

\DeclareDelimFormat{multinamedelim}{~\slash\space} 
\DeclareDelimFormat{finalnamedelim}{~\slash\space} 

\begin{document} 
test\footcite{test2019}
\printbibliography
\end{document}
Ausgegeben wird:

Nachname(2), Vorname(1) / Nachname(2), Vorname(1). "Titel". In: Buchtitel. Hrsg von Vorname(1) Nachname (1) / Vorname(2) Nachname (2). Jahr.


Ich hätte gerne:

Nachname(2), Vorname(1) und Nachname(2), Vorname(1). "Titel". In: Buchtitel. Hrsg von VornameInitalen(1) Nachname (1) / VornameInitialen(2) Nachname (2). Jahr.

Also die Initialen des Herausgebers sowie bei den Autoren Trennung über KOMMA und UND, nicht über SLASH wie bei den Herausgebern

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

Beitrag von MoeWe »

Da muss man etwas friemeln, um die Namen unterschiedlich zu behandeln.

Code: Alles auswählen

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[style=authortitle, backend=biber]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@incollection{test2019,
  Author    = {Max Mustermann and Moritz Mustermann},
  Booktitle = {Testbuch},
  Editor    = {Maria Musterfrau and Peter Pan and Karl-Heinz Müller},
  Title     = {Testtitel},
  Year      = {2019},
}
\end{filecontents*}
\addbibresource{\jobname.bib}


\DeclareNameFormat{given-family-inits}{%
  \usebibmacro{name:given-family}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{byname}{given-family-inits}

\DeclareNameAlias{byauthor}{byname}
\DeclareNameAlias{byeditor}{byname}
\DeclareNameAlias{bytranslator}{byname}

\DeclareNameWrapperFormat{byname}{%
  \DeclareDelimFormat*{multinamedelim}{\addnbspace\slash\space}%
  \DeclareDelimAlias{finalnamedelim}{multinamedelim}%
  #1}

\DeclareNameWrapperAlias{byauthor}{byname}
\DeclareNameWrapperAlias{byeditor}{byname}
\DeclareNameWrapperAlias{bytranslator}{byname}

\begin{document}
test\footcite{test2019}
\printbibliography
\end{document}
Bitte beachte, dass dieser Code wegen DeclareNameWrapper mindestens biblatex 3.12 (2018-10-30) benötigt. Aktuell ist 3.13a.

Gast

Beitrag von Gast »

das Minimalbeispiel klappt, beim Einarbeiten in das Original passt aber leider nichts. Ich werde es einfach so Handhaben dass ich im Literaturverzeichnis die Vornamen schon als Initialen angebe. Geht ja so auch.

Aber weiterhin hab ich das Problem, dass durch das

Code: Alles auswählen

\renewcommand*{\multinamedelim}{~\slash\space} 
\renewcommand*{\finalnamedelim}{~\slash\space} 
die Herausgeber per Slash getrennt werden, die Autoren aber auch, was ich nicht möchte. Dafür ne Idee?

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

Beitrag von MoeWe »

Dafür habe ich ja extra die NameWrapper benutzt, damit das nicht passiert. So wie Du sie nutzt, sind die Definitionen von \multinamedelim und \finalnamedelim global und treffen damit auf alle Namen in allen Kontexten zu. Prinzipiell müsstest Du meinen Vorschlag "nur" an die Gegebenheiten Deines Stils anpassen. Aber ohne Minimalbeispiel kann ich Dir da leider absolut nicht weiterhelfen.

Gast

Beitrag von Gast »

ok hab den Fehler gefunden:

liegt an der Option

Code: Alles auswählen

innamebeforetitle=true
beim Laden von Biblatex.
Wenn ich das weg lasse funktioniert es zwar, jedoch wird beim Zitieren nicht Nachname, Kurztitel, Seitenzahl. angegeben sondern nur Kurztitel, Seitenzahl. Dafür auch eine Lösung parat? 😄

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

Beitrag von MoeWe »

Code: Alles auswählen

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[style=ext-authortitle, backend=biber,
  innamebeforetitle=true]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@incollection{test2019,
  Author    = {Max Mustermann and Moritz Mustermann},
  Booktitle = {Testbuch},
  Editor    = {Maria Musterfrau and Peter Pan and Karl-Heinz Müller},
  Title     = {Testtitel},
  Year      = {2019},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\DeclareNameFormat{given-family-inits}{%
  \usebibmacro{name:given-family}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{ineditor}{given-family-inits}


\DeclareNameWrapperFormat{ineditor}{%
  \DeclareDelimFormat*{multinamedelim}{\addnbspace\slash\space}%
  \DeclareDelimAlias{finalnamedelim}{multinamedelim}%
  #1}

\begin{document}
test\footcite{test2019}
\printbibliography
\end{document}
Ich weiß, dass es gerade bei einem größeren Dokument schwierig sein kann, zu entscheiden, was genau in ein Minimalbeispiel gehört und was nicht, außerdem verstehe ich auch, dass Du Besseres zu tun hast, als ewig an einem Beispiel zu werkeln, aber dieses Hin und Her hier zeigt doch sehr schön, wie wichtig es ist, für eine klare und passende Antwort ein gutes Minimalbeispiel zu liefern. Als Faustregel würde ich auf jeden Fall mitgeben, immer den echt genutzten Stil und alle Ladeoptionen mitzugeben. Das macht ein Beispiel in den seltensten Fällen so viel länger, dass man keine Lust mehr hätte, es sich anzusehen, sorgt teilweise aber dafür, dass sehr relevante Informationen nicht verloren gehen.

Gast

Beitrag von Gast »

Jetzt funktioniert alles einwandfrei, vielen Dank.

Antworten