Stellung Herausgeber

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


karl-heinz
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 50
Registriert: Sa 14. Mär 2009, 17:50

Stellung Herausgeber

Beitrag von karl-heinz »

Hallo zusammen,

ich hab eine Frage zur Anpassung des Stils authoryear von biblatex, an der ich derzeit leider nicht weiterkomme:

Anstelle von (der schon angepassten Ausgabe):

Irgendein Aufsatz, in: Hrsg. von Müller, Karl/Meyer, Thomas, ...

möchte ich gerne

Irgendein Aufsatz, in: Müller, Karl/Meyer, Thomas (Hrsg.), ...

Also schlichtweg den Ausdruck (Hrsg). hinter die Herausgeber...

Kann mir da jemand einen Tipp geben?

Alles Gute und danke...

Karl-Heinz

karl-heinz
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 50
Registriert: Sa 14. Mär 2009, 17:50

Beitrag von karl-heinz »

Hallo,

wenn vll. auch niemand einen quasi schlüsselfertigen Vorschlag hat, hat denn vll. jemand eine Idee oder einen Ansatzpunkt, von dem aus ich mich weiterarbeiten könnte...? Stehe nämlich irgendwie wie der Ochs vorm Berg...

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Du musst den entsprechenden BibliographyDriver anpassen. Den findest
du in standard.bbx. Das ist allerdings nicht ganz trivial, da in diesem Fall
mehrere Faktoren berücksichtig werden müssen. Eventuell könnten dir
folgende Codeschnipsel helfen.
\newbibmacro*{editorincoll}{%
  \ifnameundef{editor}
    {}%
    {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}}

  \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:}%
  \usebibmacro{editorincoll}%            <-- EINGEFÜGT
  \newunit\newblock%                        <-- EINGEFÜGT
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
%  \usebibmacro{byeditor+others}% <-- AUSKOMMENTIERT
%  \newunit\newblock%                    <-- AUSKOMMENTIERT
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \printfield{isbn}%
  \newunit\newblock
  \printfield{doi}%
  \newunit\newblock
  \usebibmacro{eprint}
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
Ich übernehme keine Gewähr. Ich hab das bibmacro 'editorincoll' nur kurz
aus meinen Stilen rauskopiert und angepasst (weil ich da noch andere
Dinge eingebaut habe). Vielleicht hilft es dir ja weiter.

Gruß,
Dominik.-

Robert
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 24. Mär 2010, 12:52
Wohnort: Ravensburg

Hrsg. hinter Herausgebernamen

Beitrag von Robert »

Hallo,
habe gleiches Problem. Bei mir erscheint die Abkürzung "(Hrsg.") auch vor dem Herausgebernamen, möchte die Abkürzung aber gerne dahinter. Suche bereits seit Stunden nach einer Lösung aber bisher ohne erfolg. Wenn möglich, will ich die Änderung in der Präambel vornehmen und nicht in standard.bbx o.ä.

Wäre super, wenn mir jemand dabei helfen könnte. Hier mal mein bisher erarbeitetes Minibeispiel.
%%%%% LITERATUR %%%%%%%%
\begin{filecontents}{testbib.bib}
@inbook{Fuhrmans:08,
	Address = {Berlin Heidelberg},
	Author = {Dieter Arnold and Heins Isermann and Axel Kuhn and Horst Tempelmeier and Kai Furmans},
	Date-Added = {2010-03-23 15:01:41 +0100},
	Date-Modified = {2010-03-23 23:26:06 +0100},
	Edition = {3. Auflage},
	Editor = {Kai Furmans},
	Publisher = {Springer},
	Title = {Handbuch Logistik},
	Year = {2008}}
}
\end{filecontents}


%%%%% PRÄAMBEL %%%%%%									
\documentclass[pdftex,a4paper]{scrartcl} %[12pt, a4paper, pdftex, fleqn, headsepline]{scrreprt} 		
\usepackage[ngerman]{babel} 
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}	
\usepackage[automark]{scrpage2}
\usepackage{remreset} %Verhinderung des Zurücksetzens des Fussnotenzählers in jedem Kapitel 
\usepackage[citestyle= authoryear,bibstyle= authoryear, dashed=false, maxnames=1]{biblatex}
\usepackage{hyperref}
\bibliography{Literaturverzeichnis}

\DeclareNameFormat{labelname}{% 
   \usebibmacro{name:last-first}{#1}{#4}{#5}{#8} %siehe "Bibliographien erstellen mit biblatex (Teil2), S. 9
   \usebibmacro{name:andothers}} %wenn max. Anzahl an Autoren überschritten wird
\DeclareNameFormat{sortname}{%
  \usebibmacro{name:last-first}{#1}{#4}{#5}{#8} %Autoren- und Editoren-Vorname als Initialen
  \usebibmacro{name:andothers}} %wenn max. Anzahl an Autoren überschritten wird
\DeclareNameFormat{default}{% Bibliographie
  \iffirstinits
  {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
  {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}%
  \usebibmacro{name:andothers}}
  
\DeclareFieldFormat[article]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[article]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[article]{pages}{#1}% S. vor Seitenangabe entfernen
  
\setlength{\bibitemsep}{\baselineskip}
\setlength{\bibhang}{0pt} %Einrücken der zweiten und folgenden Zeilen

\DefineBibliographyStrings{german}{%
  byeditor ={\unspace\mkbibparens {Hrsg\adddot}}, %Herausgeber als "(Hrsg.)"
  andothers={et\ al\adddot}} %"et. al" statt "u.a."

%Anpassen der Valume, Number und Pages Angaben "Volume/Nummer:Seiten"
\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit{\addcomma\addspace}%
  \printfield{volume}
  \setunit{\addslash}
  \printfield{number}
  \newunit}
\renewbibmacro*{note+pages}{%
     \setunit{\addcolon}
  \printfield{pages}
   \newunit}

\renewcommand*{\labelnamepunct}{\addcolon\space} %Doppelpunkt nach Jahreszahl
\renewcommand{\blxmkbibnote}[1]{} %Zitierung: Punkt am Ende entfernen
\renewcommand*{\multinamedelim}{\addsemicolon\space} %Semikolon zwischen Autoren


%%%%% DOKUMENT %%%%%%%
\begin{document}	
\section{Beispiel}

Das ist das erste Beispiel für eine Zitation.\footcite[96-111]{Fuhrmans:08}

\printbibliography[maxnames=6] %im Literaturverzeichnis maximal 6 Autoren

\end{document}

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Auch du wirst nicht darum herumkommen, den BibliographyDriver
anzupassen (siehe mein vorheriger Beitrag in diesem Thread). Du hast
einfach den Begriff „hg. v.“ durch „(Hrsg.)“ ersetzt. An der Reihenfolge
ändert das natürlich gar nichts.

Gruß,
Dominik.-

Robert
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 24. Mär 2010, 12:52
Wohnort: Ravensburg

Beitrag von Robert »

Hallo Dominik,

ich hab es versucht, aber leider hat es nicht funktioniert. Mein Problem ist, dass ich im Quellcode der standard.bbx nichts finde, was annähernd so aussieht wie dein angegebener Quellcode.

Edit: 24.03.2010 21:41

So, hab es inzwischen nach obrigem Tipp doch hinbekommen. Also folgende Änderungen wurden in der standard.bbx Datei vorgenommen:
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{editorincoll}%            		<-- EINGEFÜGT 
  \newunit\newblock%                        		<-- EINGEFÜGT 
%  \usebibmacro{byeditor+others}%		<-- AUSGEKLAMMERT
%  \newunit\newblock				        <-- AUSGEKLAMMERT
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
Zusätzlich musste ich noch folgendes in der Datei ergänzen.
\newbibmacro*{editorincoll}{% 			<--- EINGEFÜGT
  \ifnameundef{editor}% 				<--- EINGEFÜGT
    {}% 							<--- EINGEFÜGT
    {\printnames{editor}% 				<--- EINGEFÜGT
     \setunit{\addspace}% 				<--- EINGEFÜGT
     \usebibmacro{editorstrg}% 			<--- EINGEFÜGT
     \clearname{editor}}} %			<--- EINGEFÜGT
Also im Prinzip genau das, was Dominik oben vorgeschlagen hat. Einziges Problem, was ich jetzt habe ist, dass die Klammern um "Hrsg." nicht mehr gemacht werden, obwohl ich folgenden Befehl in meinem obrigen Minibeispiel habe.
\DefineBibliographyStrings{german}{% 
  byeditor ={\unspace\mkbibparens {Hrsg\adddot}}, %Herausgeber als "(Hrsg.)"
  andothers={et\ al\adddot}} %"et. al" statt "u.a." 
EDIT 24.03.2010 21:50

Dank diesem Forum habe ich das Problem doch schon gelöst. Seltsam, vorhin probiere ich ständig aus und kaum editiere ich den Beitrag, funktioniert's. ;)

Zur Info, folgende Änderung hat zum gewünschten Ergebnis geführt.
\DefineBibliographyStrings{german}{% 
        andothers = {{et\,al\adddot}},            % 'et al.' anstatt 'u.a.' 
        editor    = {(Hrsg.)}, 
        editors   = {(Hrsg.)}} 

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Ich habe den Status dieses Threads dann mal auf „beantwortet“ gesetzt.
Beim nächsten Mal bitte dran denken, den Status aktuell zu halten.

Gruß,
Dominik.-

Effi

Beitrag von Effi »

Hi ihr Lieben,

ich hatte das gleiche Problem und habe es dank dieses Threads hingekriegt. Vielen vielen Dank!!
Allerdings fehlt mir noch eine Kleinigkeit, und zwar hätte ich hinter dem (Hrsg.) gerne einen Doppelpunkt bevor der Titel des Sammelbandes folgt, also:
.... Name, Vorname (Hrsg.): Titel des Sammelbandes
im Moment ist da bei mir nur ein Leerzeichen.

Meine Präambel sieht im Moment so aus
\documentclass[12pt,oneside,a4paper,bibliography=totoc]{scrartcl}
\usepackage{geometry}
\usepackage[english,ngerman]{babel}
\usepackage[applemac]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage[dashed=false,autocite=inline,style=authoryear-ibid]{biblatex} 
\usepackage[babel, german=quotes]{csquotes}

\bibliography{Literatur}

\newbibmacro*{editorincoll}{%
  \ifnameundef{editor}
    {}%
    {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}}
     
  \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:}%
  \usebibmacro{editorincoll}%            <-- EINGEFÜGT
  %\newunit\newblock%                        <-- EINGEFÜGT
  \setunit*{\addcolon\addspace}
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
%  \usebibmacro{byeditor+others}% <-- AUSKOMMENTIERT
%  \newunit\newblock%                    <-- AUSKOMMENTIERT
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \printfield{isbn}%
  \newunit\newblock
  \printfield{doi}%
  \newunit\newblock
  \usebibmacro{eprint}
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}} 

\DefineBibliographyStrings{german}{%
        andothers = {{et\,al\adddot}},            % 'et al.' anstatt 'u.a.'
        editor    = {(Hrsg.)},
        editors   = {(Hrsg.)}}
        
\DeclareNameFormat{sortname}{%
 \ifuseprefix
  {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}
  {\usebibmacro{name:last-first}{#1}{#3}{#6}{#7}}%
 \usebibmacro{name:andothers}}
Es wäre super, wenn mir jemand helfen könnte!
Grüße, Effi

Effi

Beitrag von Effi »

Sorry, kleiner Fehler noch drin gewesen...
Meine Präambel sieht korrekterweise so aus
\documentclass[12pt,oneside,a4paper,bibliography=totoc]{scrartcl}
\usepackage{geometry}
\usepackage[english,ngerman]{babel}
\usepackage[applemac]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage[dashed=false,autocite=inline,style=authoryear-ibid]{biblatex} 
\usepackage[babel, german=quotes]{csquotes}

\bibliography{Literatur}

\newbibmacro*{editorincoll}{%
  \ifnameundef{editor}
    {}%
    {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}}
     
  \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:}%
  \usebibmacro{editorincoll}%            <-- EINGEFÜGT
  \newunit\newblock%                        <-- EINGEFÜGT
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
%  \usebibmacro{byeditor+others}% <-- AUSKOMMENTIERT
%  \newunit\newblock%                    <-- AUSKOMMENTIERT
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \printfield{isbn}%
  \newunit\newblock
  \printfield{doi}%
  \newunit\newblock
  \usebibmacro{eprint}
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}} 

\DefineBibliographyStrings{german}{%
        andothers = {{et\,al\adddot}},            % 'et al.' anstatt 'u.a.'
        editor    = {(Hrsg.)},
        editors   = {(Hrsg.)}}
        
\DeclareNameFormat{sortname}{%
 \ifuseprefix
  {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}
  {\usebibmacro{name:last-first}{#1}{#3}{#6}{#7}}%
 \usebibmacro{name:andothers}}

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Effi hat geschrieben:Allerdings fehlt mir noch eine Kleinigkeit, und zwar hätte ich hinter dem (Hrsg.) gerne einen Doppelpunkt bevor der Titel des Sammelbandes folgt, also:
.... Name, Vorname (Hrsg.): Titel des Sammelbandes
im Moment ist da bei mir nur ein Leerzeichen.
Das Problem entsteht beim Umdefinieren des bibstrings:
\DefineBibliographyStrings{german}{%
        andothers = {et\,al\adddot},            % 'et al.' anstatt 'u.a.'
        editor    = {(Hrsg.)},
        editors   = {(Hrsg.)}}
Dadurch, dass du einen Punkt hart kodiert an das »Hrsg« anhängst, geht
biblatex davon aus, dass es sein Satzendepunkt ist und fügt keine
zusätzlichen Zeichen an, die mit Befehlen wie \addcolon, \newunit usw.
gesetzt werden. Mach also stattdessen folgendes:
\DefineBibliographyStrings{german}{% 
  andothers = {et\addabthinspace al\adddot},
  editor    = {\mkbibparens{Hrsg\adddot}}, 
  editors   = {\mkbibparens{Hrsg\adddot}}}
Gruß,
Dominik.-

Antworten