Reihenfolge bei Beiträgen aus Sammelbändn

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Reihenfolge bei Beiträgen aus Sammelbändn

von chkmac » Mi 8. Mär 2017, 09:25

super :D :D :D
vielen lieben dank

hab mich für die xpatch-methode entschieden

von Gast » Di 7. Mär 2017, 10:13

Hier
\documentclass[11pt, a4paper, halfparskip]{scrartcl}
\usepackage[utf8]{inputenc}  
\usepackage[T1]{fontenc}  
\usepackage{lmodern}      
\usepackage[ngerman]{babel}      
\usepackage[babel,german=quotes]{csquotes}

\usepackage[backend=biber,
 style=authoryear,
 isbn=false,
 giveninits=true,
 uniquename=init,]{biblatex}

\renewcommand*{\labelnamepunct}{\addcolon\addspace}
\DeclareFieldFormat[incollection]{title}{#1}

\renewbibmacro*{cite:labelyear+extrayear}{%
   \iffieldundef{labelyear}
   {}
   {\printtext[bibhyperref]{%
         \printtext[parens]{% <- space
            \printfield{labelyear}%
            \printfield{extrayear}}}}}

\AtEveryBibitem{\clearlist{publisher}}

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

\renewbibmacro*{bbx:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
        \setunit{\addspace}%
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\printdelim{nameyeardelim}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameyeardelim}}}%
  \usebibmacro{date+extrayear}}
\makeatother

\newbibmacro*{in:editor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}}
 
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{in:editor+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \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
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\begin{filecontents}{\jobname.bib}
@incollection{Name.2014,
 author = {Name, Vorname},
 title = {Der Beitrag aus dem Sammelband},
 pages = {179--198},
 volume = {4},
 isbn = {978-3-9503401-6-7},
 editor = {Edward D. Itor},
 booktitle = {Titel des Sammelbands},
 year = {2014},
 address = {Ort}
}
\end{filecontents}
\addbibresource{\jobname.bib}  

\begin{document}
   Zitat.\footcite{Name.2014}
   \printbibliography[heading=bibintoc, title=Literatur]
\end{document}
Der relevante Teil ist \newbibmacro*{in:editor+others} und \DeclareBibliographyDriver{incollection}. Das \renewbibmacro*{bbx:editor} davor ist für die Konsistenz.

Leider muss man für diese Änderung den Driver ändern, man hätte das auch mit xpatch machen können.
\documentclass[11pt, a4paper, halfparskip]{scrartcl}
\usepackage[utf8]{inputenc}  
\usepackage[T1]{fontenc}  
\usepackage{lmodern}      
\usepackage[ngerman]{babel}      
\usepackage[babel,german=quotes]{csquotes}

\usepackage[backend=biber,
 style=authoryear,
 isbn=false,
 giveninits=true,
 uniquename=init,]{biblatex}

\renewcommand*{\labelnamepunct}{\addcolon\addspace}
\DeclareFieldFormat[incollection]{title}{#1}

\renewbibmacro*{cite:labelyear+extrayear}{%
   \iffieldundef{labelyear}
   {}
   {\printtext[bibhyperref]{%
         \printtext[parens]{% <- space
            \printfield{labelyear}%
            \printfield{extrayear}}}}}

\AtEveryBibitem{\clearlist{publisher}}

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

\usepackage{xpatch}
\xpatchbibmacro{bbx:editor}
  {\setunit{\addcomma\space}}
  {\setunit{\addspace}}
  {}{\typeout{failed to patch bbx:editor}}

\newbibmacro*{in:editor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}}

\xpatchbibdriver{incollection}
  {\usebibmacro{in:}}
  {\usebibmacro{in:}%
   \usebibmacro{in:editor+others}%
   \setunit{\printdelim{nametitledelim}}\newblock}
  {}{\typeout{failed to patch driver @incollection}}

\begin{filecontents}{\jobname.bib}
@incollection{Name.2014,
 author = {Name, Vorname},
 title = {Der Beitrag aus dem Sammelband},
 pages = {179--198},
 volume = {4},
 isbn = {978-3-9503401-6-7},
 editor = {Edward D. Itor},
 booktitle = {Titel des Sammelbands},
 year = {2014},
 address = {Ort}
}
\end{filecontents}
\addbibresource{\jobname.bib}  

\begin{document}
   Zitat.\footcite{Name.2014}
   \printbibliography[heading=bibintoc, title=Literatur]
\end{document}

von chkmac » Mo 6. Mär 2017, 21:39

Ajo oki

Der Sammelband:
@incollection{Name.2014,
 author = {Name, Vorname},
 title = {Der Beitrag aus dem Sammelband},
 pages = {179--198},
 volume = {4},
 isbn = {978-3-9503401-6-7},
 editor = {Herausgebername},
 booktitle = {Titel des Sammelbands},
 year = {2014},
 address = {Ort}
}


Das Latex-Dokument
\documentclass[11pt, a4paper, halfparskip]{scrartcl}

\usepackage[utf8]{inputenc}	
\usepackage[T1]{fontenc}	
\usepackage{lmodern}		
\usepackage[ngerman]{babel}		
\usepackage[babel,german=quotes]{csquotes} 


%%##########LITERATURVERZEICHNIS#####################
\usepackage[backend=biber,
 style=authoryear,
 citestyle=authoryear,
 isbn=false,
 firstinits=true]{biblatex}

\renewcommand*{\labelnamepunct}{\addcolon\addspace}%Macht statt Punkt Doppelpunkt nach Autor
\DeclareFieldFormat[incollection]{title}{{#1}}%Damit keine Anführungsstriche bei incollection 	

%%%%%Klammern um jahreszahl beim Zitat%%%%
\renewbibmacro*{cite:labelyear+extrayear}{%
	\iffieldundef{labelyear}
	{}
	{\printtext[bibhyperref]{%
			\printtext[parens]{% <- space
				\printfield{labelyear}%
				\printfield{extrayear}}}}}

\AtEveryBibitem{\clearlist{publisher}} % clears language

\addbibresource{test.bib}	

\begin{document}
	Zitat.\footcite{Name.2014}
	\printbibliography[heading=bibintoc, title=Literatur]
\end{document}
:arrow: :arrow:

von Bartman » Mo 6. Mär 2017, 17:05

Dein Kontext fehlt.

Reihenfolge bei Beiträgen aus Sammelbändn

von chkmac » Mo 6. Mär 2017, 16:22

Tachchen

Folgendes Problem:

Aktuell:
Name, V. (2000): Beitragstitel. In: Titel. Hrsg. von Name, V. Ort, S. 1-2

Ziel:
Name, V. (2000): Beitragstitel. In: Name, V. (Hrsg.): Titel. Ort, S. 1-2

Wie krieg ichs hin?

Grüße

Nach oben