Komma vor (Hrsg.) soll weg

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


underCover
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Di 27. Sep 2016, 13:50

Komma vor (Hrsg.) soll weg

Beitrag von underCover »

Guten Tag!
Ich würde gerne im Literaturverzeichnis den Eintrag in der Form
Name, V. und Name, V. (Hrsg.). Buchtitel usw. stehen haben, d.h. das Komma vor dem (Hrsg.) soll weg. Habt ihr einen Tipp für mich, wie ich das hinbekomme?
Hier mein Minimalbeispiel:
 \begin{filecontents}{MeineBib.bib} 
@Collection{test,
  title     = {test - Eine Einführung},
  year      = {2016},
  edition   = {2},
  editor    = {Peter, H. and Hans, P.},
  publisher = {Verlag},
  subtitle  = {Grundlagen des Tests},
}
\end{filecontents}

\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
backend=biber,
style=numeric,
citestyle=authoryear 
]{biblatex}
\addbibresource{MeineBib.bib}
\DefineBibliographyStrings{ngerman}{andothers={et \addabbrvspace al\adddot},editor = {(Hrsg.).},editors = {(Hrsg.).}} 

\begin{document}
\cite{test}
\printbibliography
\end{document}
Vielen Dank für die Hilfe,
underCover

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

\usepackage{xpatch}
\xpatchbibmacro{editor+others}{\addcomma}{}{}{\fail}

Gast

Beitrag von Gast »

Mit der neuen Version 3.8(a) von biblatex geht es noch etwas intuitiver.

Da gibt es nämlich direkt für dieses Komma einen eigenen Befehl, den man auf ein Leerzeichen umstellen kann
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareDelimFormat{translatortypedelim}{\addspace}
Du solltest die Klammern auch nicht mit \DefineBibliographyStrings hinzufügen, sondern mittels
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
Im Ganzen
\begin{filecontents}{MeineBib.bib}
@Collection{test,
  title     = {test - Eine Einführung},
  year      = {2016},
  edition   = {2},
  editor    = {Peter, H. and Hans, P.},
  publisher = {Verlag},
  subtitle  = {Grundlagen des Tests},
}
\end{filecontents}

\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=numeric,
citestyle=authoryear
]{biblatex}
\addbibresource{MeineBib.bib}
\DefineBibliographyStrings{ngerman}{%
  andothers={et \addabbrvspace al\adddot},
}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}

\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareDelimFormat{translatortypedelim}{\addspace}

\begin{document}
\cite{test}
\printbibliography
\end{document}
style=numeric, citestyle=authoryear ist übrigens eine kuriose Kombination. Möchtest Du nun style=numeric oder style=authoryear?

underCover
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Di 27. Sep 2016, 13:50

Beitrag von underCover »

Perfekt, danke für die guten Tipps. Das mit den verschiedenen Styles ist mir gar nicht aufgefallen, weil der richtige angezeigt wurde. Schönen Abend noch!

underCover
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Di 27. Sep 2016, 13:50

Beitrag von underCover »

Hallo nochmal,

ich habe leider doch noch zwei Fragen. Ich habe mich jetzt auch für den bibstyle authoryear entschieden. Allerdings treten noch zwei Probleme auf:

1. das Komma vor (Hrsg.) ist jetzt wieder da.
2. er wählt die Struktur Name, V. und V. Name, (Hrsg.)

Insgesamt hätte ich gerne:
Name, V. und Name, V. (Hrsg.) (Jahr). Buchtitel usw.

Hier mein Minimalbeispiel:
\begin{filecontents}{MeineBib.bib} 
@Collection{test,
  title     = {test - Eine Einführung},
  year      = {2016},
  edition   = {2},
  editor    = {Peter, H. and Hans, P.},
  publisher = {Verlag},
  subtitle  = {Grundlagen des Tests},
}
\end{filecontents}

\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
backend=biber,
style=authoryear 
]{biblatex}
\addbibresource{MeineBib.bib}
\DefineBibliographyStrings{ngerman}{% 
  andothers={et \addabbrvspace al\adddot}, 
} 

\DeclareFieldFormat{editortype}{\mkbibparens{#1}} 
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}} 

\DeclareDelimFormat{editortypedelim}{\addspace} 
\DeclareDelimFormat{translatortypedelim}{\addspace} 

\begin{document}
\cite{test}
\printbibliography

\end{document}
Nochmals vielen Dank!
underCover

Gast

Beitrag von Gast »

Wenn das Komma mit dem Beispielcode noch da ist, dann verwendest Du nicht die neueste Version 3.8a sondern eine ältere (wie auch der Online-Editor). Entweder machst Du ein Update, oder Du verwendest Ulrikes Vorschlag. Deine biblatex-Version kannst Du herausfinden, wenn Du \listfiles an den Anfang Deines Dokumentes schreibst und die dann erstellte Liste am Ende der .log-Datei untersuchst.

Das gewünschte Namensformat gibt es mit \DeclareNameAlias{sortname}{family-given}.
\begin{filecontents}{MeineBib.bib}
@Collection{test,
  title     = {test - Eine Einführung},
  year      = {2016},
  edition   = {2},
  editor    = {Peter, H. and Hans, P.},
  publisher = {Verlag},
  subtitle  = {Grundlagen des Tests},
}
\end{filecontents}

\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
backend=biber,
style=authoryear
]{biblatex}
\addbibresource{MeineBib.bib}
\DefineBibliographyStrings{german}{%
  andothers={et\addabbrvspace al\adddot},
}

\DeclareNameAlias{sortname}{family-given}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}

\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareDelimFormat{translatortypedelim}{\addspace}

\begin{document}
\cite{test}
\printbibliography
\end{document}

underCover
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Di 27. Sep 2016, 13:50

Beitrag von underCover »

Ja stimmt! biblatex war noch auf Version 3.7, habe jetzt alles auf den neuesten Stand gebracht und es funktioniert! :D
Vielen Dank! :)

Antworten