goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Hrsg. in Klammern, @incollection Feldreihenfolge

 

eve
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 16.07.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2017, 20:22     Titel: Hrsg. in Klammern, @incollection Feldreihenfolge
  Antworten mit Zitat      
Hallo Smile

seit einer Woche bastel ich daran, die Bibliographievorlage meiner Uni in BibLatex umzusetzen, und dank der vielen schon beantworteten Fragen hier habe ich auch schon fast alles geschafft. Also erstmal vielen Dank dafür Smile . Aber zwei Sachen muss ich noch ändern. So sieht es jetzt aus:

Brodocz, André (2001): "Kapitel XV. Die politische Theorie autopoietischer Systeme: Niklas Luhmann\. In: Brodocz, André/Schaal, Gary S. Hrsg.: Politische Theorien der Gegenwart II. Eine Einführung. Wiesbaden: VS. 465-495.

Jetzt muss nur noch "Hrsg." in Klammern gesetzt werden. Ich vermute, dass man das in den BibliographyDriver einfügen kann (den brauche ich, damit Autor und Titel des Sammelbandes bei @incollection vertauscht sind). Auf jeden Fall überschreibt der den DefineBibliographyString-Befehl. Ich kann anscheinend nur eines von beidem haben...

Außerdem hätte meine Dozentin gerne, dass ich hinter jeden Eintrag den Dokumententyp in Klammern setze. Kann man vielleicht den Dokumententyp als eine andere Kategorie im bibfile erfassen (Untertitel brauche ich zum Beispiel nicht), und dann hinter das jeweils letzte Feld hängen? So soll es dann aussehen:

Brodocz, André (2001): "Kapitel XV. Die politische Theorie autopoietischer Systeme: Niklas Luhmann\. In: Brodocz, André/Schaal, Gary S. Hrsg.: Politische Theorien der Gegenwart II. Eine Einführung. Wiesbaden: VS. 465-495. (Sammelband)

Schonmal vielen Dank für eure Mühe, hier mein Versuch eines Minimalbeispiels:

Code • Öffne in Overleaf
\documentclass[11pt]{scrreprt}

\usepackage[
style=authoryear,
citestyle=authoryear,    
isbn=false,
doi=false,                
pagetracker=true,        
maxbibnames=3,            
maxcitenames=3,          
autocite=inline,          
block=space,              
backref=false,            
backrefstyle=three+,      
date=short,
backend=bibtex,
mergedate=minimum              
]{biblatex}


\DefineBibliographyStrings{german}{byeditor ={\unspace\mkbibparens{Hrsg\adddot}},}

\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}
  @incollection{Brodocz.2001,
 author = {Brodocz, André
},
 title = {Kapitel XV. Die politische Theorie autopoietischer Systeme: Niklas Luhmann},
 pages = {465--495},
 publisher = {VS},
editor = {Brodocz, André and Schaal, Gary S.},
 booktitle = {Politische Theorien der Gegenwart II. Eine Einführung},
 year = {2001},
 address = {Wiesbaden}
}
\end{filecontents}

\bibliography{literature}


\begin{document}
\cite{Brodocz.2001}
\printbibliography
\end{document}
 


Liebe Grüße,
Eva
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 934
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 16.07.2017, 21:25     Titel:
  Antworten mit Zitat      
Dein Beispiel ist unvollständig.

Die filecontents-Umgebung erwartet ein Argument. In Deinem Fall wäre das

Code • Öffne in Overleaf
\begin{filecontents}{literature.bib}


Für die runden Klammern um den Hrsg. könnte

Code • Öffne in Overleaf
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}


hilfreich sein.

Du behauptest, in Deinem Literatureintrag werden die Namen der Herausgeber durch Schrägstriche getrennt. Dein Beispiel zeigt aber etwas anderes.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2017, 21:27     Titel:
  Antworten mit Zitat      
Ist das der Code von Reihenfolge bei Beiträgen aus Sammelbändn?

Deine Redefinition von hat aus verschiedenen Gründen keine Wirkung. Zunächst ist Dein Beispiel auf englisch, aber Du änderst nur den deutschen String, das reicht nicht. Außerdem ist byeditor nicht der richtige String.

Ich würde vorschlagen, der Methode aus http://golatex.de/viewtopic,p,91385.html zu folgen und
Code • Öffne in Overleaf
\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
 
zu verwenden. Das sieht zwar erstmal lang aus. Und eigentlich ist nur das \DeclareFieldFormat{editortype}{\mkbibparens{#1}} wichtig, der Rest kann ab der kommenden Version von biblatex kürzer gefasst werden.

Die Dokumentenart auszugeben halte ich zwar für Quatsch, aber das geht im Grunde automatisch.
Code • Öffne in Overleaf
\NewBibliographyString{typearticle}
\NewBibliographyString{typebook}
\NewBibliographyString{typeinbook}
\NewBibliographyString{typecollection}
\NewBibliographyString{typeincollection}
\NewBibliographyString{typeonline}
\DefineBibliographyStrings{german}{%
  typearticle      = {Artikel},
  typebook         = {Buch},
  typeinbook       = {Buchkapitel},
  typecollection   = {Sammelband},
  typeincollection = {Artikel in Sammelband},
  typeonline       = {Webseite},
}

\DeclareFieldFormat{entrytype}{%
  \mkbibparens{%
    \ifbibstring{type#1}
      {\bibstring{type#1}}
      {#1}}}

\renewbibmacro*{finentry}{%
  \newunit\newblock
  \printfield{entrytype}%
  \finentry}

Die Ausgabe wird automatisch vom Typ der Quelle ausgewählt. Du kannst das ganze auf andere Typen erweitern.

Im Ganzen
Code • Öffne in Overleaf
\documentclass[ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
  style=authoryear,
  isbn=false,
  doi=false,                
  pagetracker=true,        
  maxnames=3,            
  autocite=inline,          
  block=space,              
  backref=false,            
  backrefstyle=three+,      
  date=short,
  backend=bibtex,
  mergedate=minimum              
]{biblatex}



\NewBibliographyString{typearticle}
\NewBibliographyString{typebook}
\NewBibliographyString{typeinbook}
\NewBibliographyString{typecollection}
\NewBibliographyString{typeincollection}
\NewBibliographyString{typeonline}
\DefineBibliographyStrings{german}{%
  typearticle      = {Artikel},
  typebook         = {Buch},
  typeinbook       = {Buchkapitel},
  typecollection   = {Sammelband},
  typeincollection = {Artikel in Sammelband},
  typeonline       = {Webseite},
}

\DeclareFieldFormat{entrytype}{%
  \mkbibparens{%
    \ifbibstring{type#1}
      {\bibstring{type#1}}
      {#1}}}

\renewbibmacro*{finentry}{%
  \newunit\newblock
  \printfield{entrytype}%
  \finentry}

\renewcommand*{\labelnamepunct}{\addcolon\addspace}

\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{Brodocz.2001,
 author = {Brodocz, André
},
 title = {Kapitel XV. Die politische Theorie autopoietischer Systeme: Niklas Luhmann},
 pages = {465--495},
 publisher = {VS},
editor = {Brodocz, André and Schaal, Gary S.},
 booktitle = {Politische Theorien der Gegenwart II. Eine Einführung},
 year = {2001},
 address = {Wiesbaden}
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\cite{Brodocz.2001}
\printbibliography
\end{document}
 

eve
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 16.07.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2017, 22:09     Titel:
  Antworten mit Zitat      
Vielen, vielen Dank. Jetzt ist alles so, wie meine Uni es haben will. Und ja, den Dokumententyp in Klammern anzugeben ist Blödsinn. Aber als Erstsemester sollen wir zeigen, dass wir die Kategorien unterscheiden können Rolling Eyes
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de