Schreiben/Umschreiben eines bibLaTeX-Stils

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: Schreiben/Umschreiben eines bibLaTeX-Stils

von domwass » Mi 19. Okt 2011, 08:49

Eglatholion hat geschrieben:
  \setunit{\addcomma\space}%            <---------
  \newunit 
Nimm das \newunit raus, das überschreibt das \setunit wieder.
Und \DeclareNameAlias{byeditor}{first-last} setze ich irgendwo einzeln?
Ja.

Gruß,
Dominik.-

von Eglatholion » Di 18. Okt 2011, 20:50

Hallo!

Hmm, merkwürdig.

Beides reagiert gar nicht. :roll:

Ich hab das doch richtig verstanden, dass ich die unit innehalb hiervon setze?!
%% InCollection
\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{maintitle+booktitle}%
  \setunit{\addcomma\space}%            <---------
  \newunit 
  \iffieldundef{maintitle} 
    {\printfield{volume}% 
     \printfield{part}}%
    {}% 
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock 
  \printfield{edition}%
  \newunit 
  \printfield{volumes}% 
  \newunit\newblock 
  \printfield{note}% 
  \newunit\newblock 
  \usebibmacro{chapter+pages}% 
  \newunit\newblock 
  \usebibmacro{publisher+location+date}% 
  \newunit\newblock 
  \usebibmacro{doi+eprint+url}% 
  \newunit\newblock 
  \usebibmacro{addendum+pubstate}% 
  \setunit{\bibpagerefpunct}%
  \newblock 
  \usebibmacro{pageref}% 
  \usebibmacro{finentry}}% 
Und \DeclareNameAlias{byeditor}{first-last} setze ich irgendwo einzeln?

LG

von domwass » Mo 17. Okt 2011, 09:35

Eglatholion hat geschrieben:1. Bei den durch byeditor erzeugten Namen müsste nun immer "Vorname Nachname" kommen und nicht "Nachname, Vorname, Vorname Nachname".
Wenn ich dafür \DeclareNameFormat nehme, werden jedoch auch die eigentlichen Autoren am Anfang in der Reihenfolge gedreht. Dort ist diese Reihenfolge aber richtig.
Was kann ich da machen?
Das NameFormat »byeditor« verweist auf das NameFormat »standard«.
Du kannst das recht einfach ändern mit einem Alias:
\DeclareNameAlias{byeditor}{first-last}
Oder du änderst mit \DeclareNameFormat{byeditor}{…}
2. Nach dem Buchtitel bei InCollection benötige ich (unkonsequenterweise) ein Komma statt eines Punktes (bei Book u.Ä. aber nicht). Ich bin jetzt hergegangen und habe innerhalb von \DeclareBibliographyDriver{incollection} einfach das Komma an der entsprechenden Stelle angefügt:
[...]
\usebibmacro{maintitle+booktitle}\addcomma\space%
[...]

Ich nehme an, dass auch das nicht handwerklich geschickt ist?!
Das kann man so schon machen, allerdings würde ich die Zeichensetzung
mit Hilfe von \setunit einstellen:
\usebibmacro{maintitle+booktitle}%
\setunit{\addcomma\space}%
Gruß,
Dominik.-

von Eglatholion » So 16. Okt 2011, 18:51

Hallo! :)

Zunächst vielen Dank und sorry für die späte Rückmeldung. Es hat nun einige Zeit gedauert, bis ich es ausprobieren konnte.

Ich habe nun noch eine weitere Umsetzungsfrage und eine handwerkliche:

1. Bei den durch byeditor erzeugten Namen müsste nun immer "Vorname Nachname" kommen und nicht "Nachname, Vorname, Vorname Nachname".
Wenn ich dafür \DeclareNameFormat nehme, werden jedoch auch die eigentlichen Autoren am Anfang in der Reihenfolge gedreht. Dort ist diese Reihenfolge aber richtig.
Was kann ich da machen?

2. Nach dem Buchtitel bei InCollection benötige ich (unkonsequenterweise) ein Komma statt eines Punktes (bei Book u.Ä. aber nicht). Ich bin jetzt hergegangen und habe innerhalb von \DeclareBibliographyDriver{incollection} einfach das Komma an der entsprechenden Stelle angefügt:
[...]
\usebibmacro{maintitle+booktitle}\addcomma\space%
[...]

Ich nehme an, dass auch das nicht handwerklich geschickt ist?!
Wenn ich das mit \renewbibmacro machen würde, hätte in das Komma ja auch in Book und Ähnlichem mit verändert.
Gibt es dennoch eine Stelle, wo das besser angebracht ist oder ist es recht ungefährlich, wenn ich es so lasse?

von domwass » So 4. Sep 2011, 17:03

Hallo Eglatholion,
Eglatholion hat geschrieben:
%% change of abbreviations
\DefineBibliographyStrings{german}{%
  and={\&},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={Hg\addcolon\thinspace},
%  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
Es ist keine gute Idee, Zeichensetzung in die BibliographyStrings
hineinzunehmen. Dazu solltest du besser die entsprechenden bibmacros
(editor, editor+others etc.) umdefinieren. Das byeditor-Problem kriegst du
ebenfalls hin, indem du die entsprechenden bibmacros (byeditor,
byeditor+others …), die du übrigens in biblatex.def findest, umdefinierst:
\renewbibmacro*{editor+others}{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\printnames{editor}%
     \setunit{\addspace}% statt \addcomma\space
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}
    {}}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames{editor}%
     \setunit{\addspace}% statt \addcomma\space
     \usebibmacro{editorstrg}%
     \clearname{editor}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}
Ich habe jetzt nur mal bei editor+others das Komma entfernt und
byeditor+others dem bibmacro editor+others angeglichen. Eventuell musst
du auch byeditorx, bytranslator+others und ähnliche Makros umdefinieren,
das kommt ein bisschen auf deine Daten an. Jedenfalls findest du die
ganzen Makros in biblatex.def.

Um die Herausgeber in Klammern zu haben, brauchst du dann nur noch
die bibstrings anpassen:
\DefineBibliographyStrings{german}{% 
   and={\&}, 
   editor={\mkbibparens{Hg\adddot}}, 
   editors={\mkbibparens{Hgg\adddot}}, 
   thiscite={hier\addcolon\thinspace}, 
   number={H\adddot}, 
   } 
Gruß,
Dominik.-

von Eglatholion » Sa 27. Aug 2011, 02:35

Hallo zusammen!

Ich habe den Code und das Minimalbeispiel jetzt noch einmal wesentlich erweitert.

Es fehlen eigentlich nur noch 2 Sachen, die ich nicht hinbekomme.

1. weiterhin byeditor (siehe oben). Dies muss in Klammern dahinter stehen, sodass es ab "In" so aussieht:
In maintitle, Hg-vorname Hg-Nachname (Hg.), Seite. Ort: Verlag.

Wenn es mehrere Editors gibt, müsste ein (Hgg.) daraus werden. Für Editor klappt das, wie man sieht, für byeditor gibt es das in authoryear anscheinend standardmäßig nicht.

2. Das Komma zwischen Editor und (Hgg.) muss weg. (Siehe 2. Eintrag im Literaturverzeichnis.)

Anmerkung: Da Series+Number bei mir in Klammern sollte, habe ich dies ganz unten mit \renewbibmacro*{series+number} neu definiert. Danach entstanden überall zunächst einmal leere Klammern, wenn der Bib-Eintrag keinen Series-Eintrag hat. Ich habe daher dann in den entsprechenden DeclareBibliographyDriver jeweils eine if-Abfrage eingebaut.

Meine Frage ist, ob das geschickt so war.

Des Weiteren würde ich mich sehr freuen, wenn ich andere handwerkliche Hinweise zum Code bekommen könnte.

Hier das Minimalbeispiel.
\begin{filecontents*}{MeineBib.bib}
@InCollection{house,
  author	=		{David House},
  year		=		{2004},
  title		=		{Small words in meaningless sentences},
  editor	=		{Philip Swallow and Morris Zapp},
  booktitle	=		{Tense, Mood and Aspect},
  booksubtitle	=		{Selected Papers from the 24th University Teachers of English
  Conference},
  location	=		{Euphoria},
  publisher =		{The TMA Press},
  pages		=		{324-367},
}

@InCollection{wort,
  author	=		{Richard Wort and Karla Schatz},
  year		=		{1994},
  title		=		{Die Welt der Wörter},
  editor	=		{Anna Vohr and Ann Pees},
  booktitle	=		{Wörter und Sachen},
  location	=		{Tübingen},
  publisher =		{Knarr},
  pages		=		{204-222},
}

@Collection{vohr,
  year		=		{1994},
  editor	=		{Anna Vohr and Ann Pees},
  title		=		{Wörter und Sachen},
  location	=		{Tübingen},
  publisher =		{Knarr},
}

\end{filecontents*} 
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[12pt,notitlepage,parskip]{scrartcl}
\usepackage{xltxtra}
\usepackage{fontspec}
\usepackage{xunicode}
\setmainfont{Linux Libertine}
\usepackage{polyglossia}
\setmainlanguage[spelling=new, latesthyphen=true]{german}
\setotherlanguage[variant=ancient]{greek}
\usepackage{babel}
\usepackage[babel]{csquotes}

\usepackage[
  style=authoryear,
  bibwarn=false,
  ]{biblatex}
\bibliography{MeineBib}
 
\usepackage[onehalfspacing]{setspace}
\usepackage[a4paper,left=2.0cm,bottom=2.0cm,right=2.0cm,top=2.0cm]{geometry}

%% colon after year
\renewcommand{\postnotedelim}{\addcolon\addspace}  

%% no p. before page number
\DeclareFieldFormat{postnote}{#1} 
\DeclareFieldFormat{multipostnote}{#1} 
\DeclareFieldFormat{pages}{#1}

%% set delimiter between names
\renewcommand*{\multinamedelim}{\addspace\&\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}

%% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}

%% change of abbreviations
\DefineBibliographyStrings{german}{%
  and={\&},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={Hg\addcolon\thinspace},
%  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
  
%% no quotation marks for article, inbook, ...
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

%% no colon after the word "in"
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\nopunct\space}}

%% book
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \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}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

%% inbook
\DeclareBibliographyDriver{inbook}{%
  \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{bybookauthor}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \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}%
  \usebibmacro{finentry}}

%% Collection
\DeclareBibliographyDriver{collection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{editor+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\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}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

%% InCollection
\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{maintitle+booktitle}% 
  \newunit 
  \iffieldundef{maintitle} 
    {\printfield{volume}% 
     \printfield{part}} 
    {}% 
  \newunit\newblock
  \iffieldundef{series}
  {}%
  {\usebibmacro{series+number}}
  \usebibmacro{byeditor+others} 
  \newunit\newblock 
  \printfield{edition}%
  \newunit 
  \printfield{volumes}% 
  \newunit\newblock 
  \printfield{note}% 
  \newunit\newblock 
  \usebibmacro{chapter+pages}% 
  \newunit\newblock 
  \usebibmacro{publisher+location+date}% 
  \newunit\newblock 
  \usebibmacro{doi+eprint+url}% 
  \newunit\newblock 
  \usebibmacro{addendum+pubstate}% 
  \setunit{\bibpagerefpunct}\newblock 
  \usebibmacro{pageref}% 
  \usebibmacro{finentry}} 

%% article 
\DeclareBibliographyDriver{article}{% 
  \usebibmacro{author/editor}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \printtext{\printfield{volume}}%
  \iffieldundef{number}{}{\printtext[parens]{\printfield{number}}}%   
  \setunit*{\addcolon\addspace}%
  \printfield{pages}% 
  \usebibmacro{finentry}} 


\renewbibmacro*{series+number}{%
  \printtext[parens]{\printfield{series}%
  \setunit*{\addcomma\addspace}%
  \printfield{number}\adddot%
  }\setunit*{\addspace}\nopunct}

%% kein Leerzeichen vor f.
\renewcommand*{\sqspace}{}

\begin{document}

Auch \textcite[23-53]{house} schreibt a, aber
\textcite[11-22]{wort} schreiben b.\\ Allerdings geht es auch anders: c
\parencite[22]{house} oder d \parencite[55]{wort}.

Für einen Überblick siehe e. \parencite{vohr}

\printbibliography

\end{document}
Vielen Dank und liebe Grüße.

von Eglatholion » Do 18. Aug 2011, 04:41

Hallo nochmal!

Da ich die Arbeit, für die ich den Zitierstil erstelle, bald abgeben muss, wollte ich noch einmal fragen, ob noch jemand eine Idee hat, wie ich das byeditor so umstellen kann, dass es so wie oben angegeben aussieht?

LG

von Eglatholion » Mi 27. Jul 2011, 13:52

Hi!

Das hatte ich auch schon ausprobiert. Es bewirkt aber, dass dann noch ein zusätzlicher Punkt davor entsteht sowie dass das Datum in Klammern nochmal hinzugefügt wird. (Und es entsteht zunächst einmal ein dash -- solange man diesen nicht mit dashed=false verhindert).

Ich habe mal ein Minimalbeispiel erstellt.

Die Ausgabe soll statt dem, was passiert, folgendermaßen aussehen:

House, David (2004). Small words in meaningless sentences. In Tense, Mood and Aspect. Selected Papers from the 24th University Teachers of English Conference, Philip Swallow & Morris Zapp (Hgg.), 324–367. Euphoria: The TMA Press.
\begin{filecontents*}{MeineBib.bib}
@InCollection{house,
  author	=		{David House},
  year		=		{2004},
  title		=		{Small words in meaningless sentences},
  editor	=		{Philip Swallow and Morris Zapp},
  booktitle	=		{Tense, Mood and Aspect},
  booksubtitle	=		{Selected Papers from the 24th University Teachers of English Conference},
  location	=		{Euphoria},
  publisher =		{The TMA Press},
  pages	=		{324-367},
}

@InCollection{wort,
  author	=		{Richard Wort and Karla Schatz},
  year		=		{1994},
  title		=		{Die Welt der Wörter},
  editor	=		{Anna Vohr and Ann Pees},
  booktitle	=		{Wörter und Sachen},
  location	=		{Tübingen},
  publisher =		{Knarr},
  pages		=		{204-222},
}
\end{filecontents*} 
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[12pt,notitlepage,parskip]{scrartcl}
\usepackage{xltxtra}
\usepackage{fontspec}
\usepackage{xunicode}
\setmainfont{Linux Libertine}
\usepackage{polyglossia}
\setmainlanguage[spelling=new, latesthyphen=true]{german}
\setotherlanguage[variant=ancient]{greek}
\usepackage{babel}
\usepackage[babel]{csquotes}

\usepackage[
  style=authoryear,
  bibwarn=false,
  ]{biblatex}
\bibliography{MeineBib}
 
\usepackage[onehalfspacing]{setspace}
\usepackage[a4paper,left=2.0cm,bottom=2.0cm,right=2.0cm,top=2.0cm]{geometry}

%% colon after year
\renewcommand{\postnotedelim}{\addcolon\addspace}  

%% no p. before page number
\DeclareFieldFormat{postnote}{#1} 
\DeclareFieldFormat{multipostnote}{#1} 
\DeclareFieldFormat{pages}{#1}

%% set delimiter between names
\renewcommand*{\multinamedelim}{\addspace\&\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}

%% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}

%% change of abbreviations
\DefineBibliographyStrings{german}{%
  and={u\adddot},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={Hg\addcolon\thinspace},
%  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
  
%% no quotation marks for article, inbook, ...
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

%% no colon after the word "in"
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\nopunct\space}}

%% article 
\DeclareBibliographyDriver{article}{% 
  \usebibmacro{author/editor}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \printtext{\printfield{volume}}%
  \iffieldundef{number}{}{\printtext[parens]{\printfield{number}}}%   
  \setunit*{\addcolon\addspace}%
  \printfield{pages}% 
  \usebibmacro{finentry}} 

%% InCollection
\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{maintitle+booktitle}%
  \setunit*{\addcomma\addspace}%
%  \usebibmacro{byeditor+others}%
  \usebibmacro{editor+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{chapter+pages}%
  \setunit*{\addcomma\addspace}% anstatt \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\begin{document}

Collection: Auch \textcite[23-53]{house} schreibt schon, dass\\
Allerdings geht es auch anders: \parencite[22]{house}

\printbibliography

\end{document}

von domwass » Di 26. Jul 2011, 09:47

Mangels Minimalbeispiel nur ein Schuss ins Blaue:
\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{maintitle+booktitle}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{editor+others}% statt 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{chapter+pages}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
Gruß,
Dominik.-

von Eglatholion » Di 26. Jul 2011, 03:49

Hallo nochmal!

Ich habe mich nun auch noch rangesetzt, einen Zitierstil für unsere Linguistik zu schreiben.
Ich habe dafür authoryear etwas angepasst.

Probleme habe ich noch bei InCollection:

Wie bekomme ich es hin, dass es nach "In" so aussieht:
In maintitle, Hg-vorname Hg-Nachname (Hgg.), Seite, Ort: Verlag.

Den Doppelpunkt nach In habe ich schon wegbekommen, das Komma nach Seite und die Reihenfolge von Seite und Ort: Verlag auch.

Was noch fehlt, ist, dass das (Hgg.) HINTER den Hg-Namen steht. Momentan steht es davor. Ich kann es mit byeditor schon so anpassen, dass es in Klammern kommt, aber die Reihenfolge kann ich nicht ändern.

Ich habe schon versucht, \renewbibmacro*{byeditor} und \renewbibmacro*{byeditor+othersstrg} anzupassen.
Klappt aber nicht.

Außerdem gibt es da bislang nur Hg, nicht Hgg, da es kein byeditors (im Plural gibt)

Hier meine Modifikationen zu authoryear. Ich packe mal alles rein, da ich auch dankbar für Hinweise bin, wenn ich an der einen oder anderen Stelle etwas mit einem ungeschickten „Schalter“ verstellt haben sollte:
% --> Angepasst, damit kein S. mehr vor der Seite erscheint.
\DeclareFieldFormat{postnote}{#1} 
\DeclareFieldFormat{multipostnote}{#1} 
\DeclareFieldFormat{pages}{#1}

% --> Angepasst, damit ein & zwischen den Namen erscheint.
\renewcommand*{\multinamedelim}{\addspace\&\space}
\renewcommand*{\finalnamedelim}{\addspace\&\space}

% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}

% --> hier habe ich noch das Problem, dass es kein byeditors für Hgg. gibt
\DefineBibliographyStrings{german}{%
  and={u\adddot},
  editor={\unspace\mkbibparens {Hg\adddot}},
  editors={\unspace\mkbibparens {Hgg\adddot}},
  byeditor={\unspace\mkbibparens {Hg\adddot}},
  thiscite={hier\addcolon\thinspace},
  number={H\adddot},
  }
  
% --> keine Anführungszeichen für Artikel
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

% kein colon nach "in"
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\nopunct\space}}

% --> article neu deklariert, um das "In" vor journal wegzubekommen. 
% Geht das auch einfacher?
\DeclareBibliographyDriver{article}{% 
  \usebibmacro{author/editor}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \printtext{\printfield{volume}}%
  \iffieldundef{number}{}{\printtext[parens]{\printfield{number}}}%   
  \setunit*{\addcolon\addspace}%
  \printfield{pages}% 
  \usebibmacro{finentry}} 

% InCollection neu deklariert, um Reihenfolge von Seiten und Ort: Verlag
% zu ändern und um Komma an einer Stelle einzufügen. (siehe unten)
\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{maintitle+booktitle}%
  \setunit*{\addcomma\addspace}%
  \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{chapter+pages}%
  \setunit*{\addcomma\addspace}% anstatt \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

Nach oben