Citation-Style anpassen - Biblatex

Schriftbild, Absätze und Auflistungen einstellen


comtw
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 21. Jan 2010, 18:08

Citation-Style anpassen - Biblatex

Beitrag von comtw »

Hallo allemiteinander,

ich arbeite gerade am Layout meiner Diplomarbeit. Mithilfe dieses Forums und der Dokumentationen kam ich meinem Wunschlayout schon sehr nahe. :)

Nun habe ich folgendes Problem:
Ich benutze das Package biblatex, bei dem man unterschiedliche Stile für die Zitation und das Literaturverzeichnis als Option verwenden kann.
Mithilfe dieser Dokumentation (http://biblatex.dominik-wassenhoven.de/ ... ?biblatex2) habe ich das Aussehen des Literaturverzeichnisses meinen Wünschen angepasst.

Beim Citation-Style bin ich gescheitert. :(
Für die Zitation möchte ich den Style "verbose-trad2" verwenden, da er dem, was ich haben möchte sehr nahe kommt. Es gibt eigentlich nur eine "Kleinigkeit" zu ändern:

Problematisch sind nur die Einträge Sammelwerk und Zeitschrift. Dort wird im Literaturverzeichnis die Seitenangabe des gesamten Artikels angegeben (Vorgabe) und in der Zitation natürlich nur die jeweilige Seite, die zitiert wurde.

Dumm ist nur, dass bei der Zitation (bei Vollzitaten, also wenn die Quelle das allererste Mal zitiert wird) dann auch noch diese "Gesamt-Seiten" (in der Literaturdatenbank: pages = {4-34}) erscheinen. Das darf nicht sein.
Wie kann ich das ändern?
Ich hab schon so viel versucht, aber ich komm einfach nicht dahinter.

Anbei natürlich auch noch ein Minibeispiel:
Die .tex-Datei:
%mini.tex
\documentclass[12pt,a4paper,cleardoublepage=empty,liststotoc,bibtotoc]{scrbook}
\usepackage{graphicx,textcomp,hyperref,float}
\usepackage[T1]{fontenc}  % Die neue Fontcodierung; wenn möglich benutzen
\usepackage[latin1]{inputenc} % Eingabekodierung für Umlaute, usw.
\usepackage[ngerman]{babel}
\usepackage{typearea}
\usepackage[citestyle=verbose-trad2,bibstyle=verbose-trad1]{biblatex}
\usepackage[babel,german=quotes]{csquotes} % statt german=quotes kann man auch german=guillemets für französische Anführungszeichen << >> benutzen

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Bibliographie

\bibliography{minibib}
\defbibheading{monographie}{\section*{\normalsize{Monographien und eigenständige Werke}}}
\defbibheading{sammlung}{\section*{\normalsize{Sammelwerke und Beiträge in Sammelwerken}}}
\defbibheading{zeitschrift}{\section*{\normalsize{(Fach-)Zeitschriften und Beiträge in (Fach-)Zeitschriften}}}
\defbibheading{sonstige}{\section*{\normalsize{Forschungsberichte, Arbeitspapiere und sonstige Veröffentlichungen}}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Fußnoten
\usepackage{footnpag} % Auf jeder Seite neu beginnen

\deffootnote{1.5em}{2em}{%
\makebox[1.5em][r]{\textsuperscript{\thefootnotemark\hspace{0.7em}}}} % Ausrichtung der Fußnoten 
\renewcommand{\footnote}[1]%
{\footnotemark%
\linespread{1.00}%
\footnotetext{#1}%
\linespread{1.45}%
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document} %Beginn des eigentlichen Dokument

\mainmatter
Dies ist ein Text für die Erstnennung (also das Vollzitat) für Monographie.\footnote{\Cite[40]{ReferenzMonographie}.}\\
Dies ist ein Text für die Erstnennung (also das Vollzitat) für Sammelwerk.\footnote{\Cite[33]{ReferenzSammelwerk}.}\\
Dies ist ein Text für die Erstnennung (also das Vollzitat) für Zeitschrift.\footnote{\Cite[20]{ReferenzZeitschrift}.}\\
Dies ist ein Text für die Erstnennung (also das Vollzitat) für Sonstige Werke.\footnote{\Cite[12]{ReferenzSonstige}.}\\

Dies ist ein Text für die Folgezitate für Monographie.\footnote{\Cite[30]{ReferenzMonographie}.}\\
Dies ist ein Text für die Folgezitate für Sammelwerk.\footnote{\Cite[65]{ReferenzSammelwerk}.}\\
Dies ist ein Text für die Folgezitate für Zeitschrift.\footnote{\Cite[33]{ReferenzZeitschrift}.}\\
Dies ist ein Text für die Folgezitate für Sonstige Werke.\footnote{\Cite[50]{ReferenzSonstige}.}\\

\backmatter
\pagenumbering{Roman}
%\nocite{*} % Alles aus dem Literaturverzeichnis wird aufgeführt, auch wenn nicht zitiert.
\cleardoublepage
\chapter{Literaturverzeichnis}
\printbibliography[heading=monographie,keyword=Monographie]
\printbibliography[heading=sammlung,keyword=Sammlung]
\printbibliography[heading=zeitschrift,keyword=Zeitschrift]
\printbibliography[heading=sonstige,keyword=Rest]

\end{document}
Die .bib-Datei:
%minibib.bib
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Monographien und eigenständige Werke
@book{ReferenzMonographie,
  author = {{Nachname, F.:}},
  title = {Buchtitel},
  subtitle = {Buchuntertitel},
  address = {Wiesbaden},
  year = {2009},
  keywords = {Monographie}
}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Sammelwerke und Beiträge in Sammelwerken

@collection{ReferenzSammelwerk,
 author = {{Nachname, V.:}},
 title = {Titel des Beitrags},
 editor = {{{Nachname, V.}; {Nachname2, V2.}}},
 maintitle = {Titel des Sammelbandes},
 address = {Stuttgart},
 year = {1993},
 edition = {5., völlig neu gestaltete Aufl., Teilband 3},
 pages = {13-140},
 keywords = {Sammlung}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (Fach-)Zeitschriften und Beiträge in (Fach-)Zeitschriften

@collection{ReferenzZeitschrift,
 author = {{Nachname, V.:}},
 title = {Titel des Beitrags},
 edition = {Spiegel, 87. Jg., Heft 24 },
 year = {(1964)},
 pages = {4-34},
 keywords = {Zeitschrift}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Forschungsberichte, Arbeitspapiere und sonstige Veröffentlichungen

@booklet{ReferenzSonstige,
 author = {{Nachname, V.:}},
 title = {Titel des Werkes},
 subtitle = {Untertitel des Werkes},
 address = {Mönchengladbach 2007. http://www.zdf.de (Download 11.02.2010, 10:15 Uhr MEZ)},
 editor = {{Herausgeber}},
 keywords = {Rest}
}
Ich denke es müsste mit der Style-Datei verbose-trad2.cbx zusammenhängen, allerdings weiß ich dort nicht was ich machen soll, bzw. find ich mich darin nicht zurecht. Das war bei der verbose-trad1.bbx (für das Literaturverzeichnis) anders und einfacher
Ich hoffe ihr könnt mir weiterhelfen.
Viele Grüße und schonmal vielen Dank!

Thorsten
Dateianhänge
mini.pdf
so sieht es bei mir aus... hab in den Dateien standard.bbx, authortitle.bbx die von verbose-trad1.bbx geladen werden anpassungen vorgenommen. Da ihr diese ja nicht habt, sollte es bei euch anders aussehen, aber nur das Literaturverzeichnis. Und darum geht
(160.44 KiB) 830-mal heruntergeladen

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

Re: Citation-Style anpassen - Biblatex

Beitrag von domwass »

comtw hat geschrieben:Dumm ist nur, dass bei der Zitation (bei Vollzitaten, also wenn die Quelle das allererste Mal zitiert wird) dann auch noch diese "Gesamt-Seiten" (in der Literaturdatenbank: pages = {4-34}) erscheinen. Das darf nicht sein.
Für die Vollzitate ist folgender Befehl zuständig:
\newbibmacro*{cite:full}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}
Der Befehl \usedriver führt einen BibliographyDriver aus. Dabei wird statt
des Namensformat 'sortname' (das im Literaturverzeichnis verwendet
wird) das Namensformat 'default' verwendet. Man müsste also hier
ansetzen, um Informationen an den BibliographyDriver zu übergeben.
Zunächst würde ich einen neuen Schalter einbauen:
\newbool{cbx:omitpages}
Im bibmacro 'cite:full' kann man diesen Schalter dann verwenden:
\renewbibmacro*{cite:full}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\booltrue{cbx:omitpages}%
        \DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}
Jetzt muss man im entsprechenden BibliographyDriver noch @article und
@incollection anpassen, damit die Seiten dort nur ausgegeben werden,
wenn omitpages=false ist. Für article (gekürzt):
\DeclareBibliographyDriver{article}{%
  ...
  \printfield{note}%
  \ifbool{cbx:omitpages}
	  {}
		{\setunit{\bibpagespunct}%
     \printfield{pages}}
  \newunit\newblock
  ...}
Bei @incollection sieht es anders aus, weil dort das bibmacro 'chapter+pages'
angewendet wird:
\renewbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \ifbool{cbx:omitpages}
    {}
    {\setunit{\bibpagespunct}%
     \printfield{pages}}%
  \newunit}
Den genauen Code findest du unten im überarbeiteten Minimalbeispiel.

Noch ein paar wichtige Bemerkungen:
Im Kommentar zum angehängten PDF hast du geschrieben, dass du
authortitle.bbx angepasst hast. Das ist eine ganz schlechte Idee, weil bei
einem Update von biblatex alle Änderungen verloren gehen (oder du sie
umständlich wieder einarbeiten musst). Erstelle deshalb einen neuen Stil.
Wie das gemacht wird, hab ich in dem von dir selbst verlinkten DTK-
Artikel ausführlich beschrieben.

Dein Minimalbeispiel weist aber auch sonst einige Mängel auf. Wichtig vor
allem: Gib niemals Formatierungsanweisungen in der .bib-Datei an
(also Doppelpunkte oder so etwas). Das Erscheinungsbild der Namen etc.
kannst du mit biblatex anpassen, auch dass 'Jg.' bei einem
Zeitschriftenband erscheinen soll. Ein Artikel in einer Zeitschrift ist ein
@article, ein Artikel in einem Sammelband @incollection. Schau dir einfach
den Code unten genau an, ich habe die Sachen mal angepasst.

Vielleicht ist auch mein Paket biblatex-dw etwas für dich, dort lassen sich
einige Anpassungen noch einfacher vornehmen als mit Standard-biblatex.

Gruß,
Dominik.-

überarbeitetes Minimalbeispiel:
\documentclass{scrbook} 
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{textcomp} 
\usepackage[ngerman]{babel} 
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=verbose-trad2]{biblatex} 
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{ReferenzMonographie, 
  author = {Nachname, F.}, 
  title = {Buchtitel}, 
  subtitle = {Buchuntertitel}, 
  address = {Wiesbaden}, 
  year = {2009}, 
  keywords = {Monographie} 
} 
@incollection{ReferenzSammelwerk, 
 author = {Nachname, V.}, 
 title = {Titel des Beitrags}, 
 editor = {Nachname, V. and Nachname2, V2.}, 
 maintitle = {Titel des Sammelbandes}, 
 address = {Stuttgart}, 
 year = {1993}, 
 edition = {5., völlig neu gestaltete Aufl.},
 volume = {3}, 
 pages = {13-140}, 
 keywords = {Sammlung} 
} 
@article{ReferenzZeitschrift, 
 author = {Nachname, V.}, 
 title = {Titel des Beitrags}, 
 journaltitle = {Spiegel},
 volume = {87},
 number = {24}, 
 year = {1964}, 
 pages = {4-34}, 
 keywords = {Zeitschrift} 
} 
@booklet{ReferenzSonstige, 
 author = {Nachname, V.}, 
 title = {Titel des Werkes}, 
 subtitle = {Untertitel des Werkes}, 
 address = {Mönchengladbach},
 year = 2007,
 url = {http://www.zdf.de/...},
 urldate = {2010-02-11}, 
 editor = {Herausgeber, V.}, 
 keywords = {Rest} 
}
\end{filecontents}

\bibliography{\jobname} 
\defbibheading{monographie}{\section*{\normalsize{Monographien und eigenständige Werke}}} 
\defbibheading{sammlung}{\section*{\normalsize{Sammelwerke und Beiträge in Sammelwerken}}} 
\defbibheading{zeitschrift}{\section*{\normalsize{(Fach-)Zeitschriften und Beiträge in (Fach-)Zeitschriften}}} 
\defbibheading{sonstige}{\section*{\normalsize{Forschungsberichte, Arbeitspapiere und sonstige Veröffentlichungen}}} 

\newbool{cbx:omitpages}
\renewbibmacro*{cite:full}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\booltrue{cbx:omitpages}%
			 \DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{journal+issuetitle}%
  \newunit\newblock
  \printfield{note}%
  \ifbool{cbx:omitpages}
	  {}
		{\setunit{\bibpagespunct}%
     \printfield{pages}}
  \newunit\newblock
  \printfield{issn}%
  \newunit\newblock
  \printfield{doi}%
  \newunit\newblock
  \usebibmacro{eprint}
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
		
\renewbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \ifbool{cbx:omitpages}
	  {}
		{\setunit{\bibpagespunct}%
     \printfield{pages}}%
  \newunit}

\begin{document}
\section*{Erstzitate}
Monographie,\footnote{\Cite[40]{ReferenzMonographie}.}
Sammelwerk,\footnote{\Cite[33]{ReferenzSammelwerk}.}
Zeitschrift,\footnote{\Cite[20]{ReferenzZeitschrift}.}
Sonstige Werke.\footnote{\Cite[12]{ReferenzSonstige}.}

\section*{Folgezitate}
Monographie,\footcite[30]{ReferenzMonographie}
Sammelwerk,\footcite[65]{ReferenzSammelwerk}
Zeitschrift,\footcite[33]{ReferenzZeitschrift}
Sonstige Werke.\footcite[50]{ReferenzSonstige}

\chapter{Literaturverzeichnis} 
\printbibliography[heading=monographie,keyword=Monographie] 
\printbibliography[heading=sammlung,keyword=Sammlung] 
\printbibliography[heading=zeitschrift,keyword=Zeitschrift] 
\printbibliography[heading=sonstige,keyword=Rest] 

\end{document} 

comtw
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 21. Jan 2010, 18:08

Beitrag von comtw »

Hallo,

vielen, vielen Dank für die superschnelle Antwort!
Hat soweit funktioniert! Prima! - Die pages werden nicht mehr mitzitiert.

Kann gut sein, dass ich einige Fehler hab im minimal-Beispiel. Verwende LaTeX noch nicht so lange.
Habe deinen Vorschlag eines "eigenen Stils" beherzigt und diesen erstellt.

In meinem ersten Eintrag hatte ich in der Bib-Datei doppelt geschweifte Klammern verwendet, die hast du wieder raus gemacht. Ich hatte das in irgendeinem Forum gelesen um so die Reihenfolge genau so zu erzwingen, wie ich es in der Bib-Datei erfasst habe.
Das klappt auch ganz gut. Oder ist das total falsch und verursacht evtl. Probleme?
Wie sollte ich es programmieren, dass es aufjedenfall genauso abgebildt wird?

Was allerdings nicht schön, bzw. falsch ist, ist folgendes: Laut Vorgabe vom Lehrstuhl soll das Literaturverzeichnis so aussehen:
Sammelbände:
Nachname, V.: Titel. Untertitel, in: Nachname, V. (Hrsg.): Titel,...

Der Fehler ist das Komma zwichen V. und (Hrsg.). Ich bekomm es nicht weg.

Gleiches gilt für die Sonstigen Werke. Also überall wo ein Herausgeber dabei ist.

Hier meine .bbx - Datei:
Habe Article und Book entfernt, da diese ja stimmen.
% $Id: DATWbib.bbx,v für meine Diplomarbeit

\ProvidesFile{DATWbib.bbx}
[\abx@bbxid $Id: DATWbib.bbx,v für meine Diplomarbeit $]

\newbibmacro*{begentry}{}
\newbibmacro*{finentry}{\finentry}

%...article und book stimmen, also hab ich sie rausgenommen

\DeclareBibliographyDriver{booklet}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
   \renewcommand *{\labelnamepunct}{\addcolon \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \renewcommand *{\labelnamepunct}{\addcomma \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{in:}%
  \usebibmacro{editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle}%
  \setunit{\labelnamepunct}
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \setunit{\labelnamepunct}
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \printfield{isbn}%
  \newunit\newblock
  \printfield{doi}%
  \newunit\newblock
  \usebibmacro{eprint}
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \printfield{addendum}%
  \printfield{link}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
    \renewcommand *{\labelnamepunct}{\addcolon \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \renewcommand *{\labelnamepunct}{\addcomma \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{in:}%
   \usebibmacro{editor}%
   \renewcommand *{\labelnamepunct}{\addcolon \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle}%
    \renewcommand *{\labelnamepunct}{\addcomma \space}
  \setunit{\labelnamepunct}\newblock
  \printfield{edition}%
  \setunit{\labelnamepunct}\newblock
  \printfield{volumes}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{shorthands}{%
  \usedriver
    {\DeclareNameAlias{sortname}{default}}
    {\thefield{entrytype}}%
  \finentry}

\DeclareBibliographyDriver{set}{%
  \entryset{}{}%
  \finentry}

\DeclareBibliographyAlias{review}{article}
\DeclareBibliographyAlias{reference}{collection}
\DeclareBibliographyAlias{inreference}{incollection}
\DeclareBibliographyAlias{suppbook}{inbook}
\DeclareBibliographyAlias{suppcollection}{incollection}
\DeclareBibliographyAlias{suppperiodical}{article}

\newbibmacro*{in:}{%
  \bibstring{in}\addcolon
  \setunit{\space}}

\newbibmacro*{maintitle+title}{%
  \iffieldsequal{maintitle}{title}
    {\clearfield{maintitle}%
     \clearfield{mainsubtitle}%
     \clearfield{maintitleaddon}}
    {\iffieldundef{maintitle}
       {}
       {\usebibmacro{maintitle}%
	\newunit\newblock
	\iffieldundef{volume}
	  {}
	  {\printfield{volume}%
           \printfield{part}%
           \setunit{\addcolon\space}}}}%
  \usebibmacro{title}%
  \newunit}

\newbibmacro*{maintitle+booktitle}{%
  \iffieldundef{maintitle}
    {}
    {\usebibmacro{maintitle}%
     \newunit\newblock
     \iffieldundef{volume}
       {}
       {\printfield{volume}%
        \printfield{part}%
        \setunit{\addcolon\space}}}%
  \usebibmacro{booktitle}%
  \newunit}

\newbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \setunit*{\addspace}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \newunit\newblock
  \usebibmacro{issue}%
  \newunit}

\newbibmacro*{title+issuetitle}{%
  \usebibmacro{periodical}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \newunit\newblock
  \usebibmacro{issue}%
  \newunit}

\newbibmacro*{issue+date}{%
  \printtext[parens]{%
    \iffieldundef{issue}
      {\iffieldundef{month}
         {\printfield{year}}
         {\iffieldundef{day}
            {\printfield{month}%
             \setunit{\addspace}%
             \printfield{year}}
            {\printtext{\bibdate}}}}
      {\printfield{issue}%
       \setunit{\addspace}%
       \printfield{year}}}%
  \newunit}

\newbibmacro*{series+number}{%
  \printfield{series}%
  \setunit*{\addspace}%
  \printfield{number}%
  \newunit}

\newbibmacro*{publisher+location+year}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addspace}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printfield{year}%
  \newunit}

\newbibmacro*{institution+location+year}{%
  \printlist{location}%
  \iflistundef{institution}
    {\setunit*{\addspace}}
    {\setunit*{\addcolon\space}}%
  \printlist{institution}%
  \setunit*{\addcomma\space}%
  \printfield{year}%
  \newunit}

\newbibmacro*{location+year}{%
  \printlist{location}%
  \setunit*{\addspace}%
  \printfield{year}%
  \newunit}

\newbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit}


\endinput
Bitte nicht die Hände über dem Kopf zusammenschlagen, bin kein Informatiker... :-) Habe nach "bestem Wissen" mit "copy'n'paste" gearbeitet... :-P

Vielen Dank und viele Grüße
Thorsten
Dateianhänge
mini.pdf
Habe nur deshalb zu jeder Klassifizierung des Literaturverzeichnisses 3 Werke erstellt, um die richtige Sortierreihenfolge der Einträge zu kontrollieren. ;-)
(192.84 KiB) 886-mal heruntergeladen

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

Beitrag von domwass »

Hab gerade keine Zeit, deinen Code komplett zu prüfen, daher nur einige
Hinweise.
comtw hat geschrieben:In meinem ersten Eintrag hatte ich in der Bib-Datei doppelt geschweifte Klammern verwendet, die hast du wieder raus gemacht. Ich hatte das in irgendeinem Forum gelesen um so die Reihenfolge genau so zu erzwingen, wie ich es in der Bib-Datei erfasst habe.
Das klappt auch ganz gut. Oder ist das total falsch und verursacht evtl. Probleme?
Das Problem tritt dann auf, wenn du irgendwann einmal eine andere
Reihenfolge oder nicht abgekürzte Vornamen brauchst. Dann musst du
nämlich jeden einzelnen Eintrag deiner bib-Datei ändern. Ich habe eine
Datei mit weit mehr als 1000 Einträgen, da würde ich das nicht machen
wollen.

Wie man die Reihenfolge der Autoren bei biblatex einstellt, habe ich in der
De-TeX-FAQ beschrieben.
\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewcommand führt man nur einmal aus, danach kannst du
einfach
\setunit{\labelnamepunct}\newblock
verwenden. Der ist aber eigentlich nur dazu nach, nach dem Autor/Herausgeber
verwendet zu werden. Ansonsten würde ich \newunit\newblock stehen
lassen. Wenn du generell ein Komma haben willst, musst du \newunitpunct
umdefinieren (siehe dazu die biblatex-Dokumentation).

Gruß,
Dominik.-

comtw
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 21. Jan 2010, 18:08

Beitrag von comtw »

Hallo,
Danke für die Erklärung. Werde ich dann bei Gelegenheit noch anpassen. Es funktioniert ja nun erstmal, soweit zumindest...
Eine Kleinigkeit gibt es abe noch:
comtw hat geschrieben:Was allerdings nicht schön, bzw. falsch ist, ist folgendes: Laut Vorgabe vom Lehrstuhl soll das Literaturverzeichnis so aussehen:
Sammelbände:
Nachname, V.: Titel. Untertitel, in: Nachname, V. (Hrsg.): Titel,...

Der Fehler ist das Komma zwichen V. und (Hrsg.). Ich bekomm es nicht weg.
Hierzu gibt es ja ne super Anleitung auf Seite 11 (Ändern feststehender Ausdrücke (Bibliography strings)) unter: http://biblatex.dominik-wassenhoven.de/ ... -Teil2.pdf Diese habe ich befolgt, aber leider ist das Ergebnis nicht zufriedenstellend: Das Komma ist weg. Super. Leider sieht es aber nun so aus:

...Titel des Beitrags im Sammelwerk, in: Müller, F.; Meyer, R.( Hrsg.): Titel des Sammelbandes...

Zwischen den Namen der Herausgeber und der offenen Klammer ist kein Leerzeichen, dafür aber vor dem Wort Hrsg.. (s. das fettgedruckte (hab ich nur zur Verdeutlichung hier eingefügt, im eigentlichen Literaturverzeichnis ist dort natürlich nichts fett)
Hab es schon 3 Mal neu gemacht, aber finde den Fehler einfach nicht. Daher hier die entscheidenden Stellen in den Dateien .lbx und .def

die .lbx
typeeditor       = {{Herausgeber}{Hrsg\adddot}},
typeeditors      = {{Herausgeber}{Hrsg\adddot}},
die .def
\newbibmacro*{editor}{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\printnames{editor}%
     \setunit{addspace}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}
    {}}

\newbibmacro*{editorstrg}{%
  \ifthenelse{\value{editor}>1\OR\ifandothers{editor}}
    {\bibstring{editors}}
    {\bibstring{editor}}}
	
\renewbibmacro*{editorstrg}{%
  \ifthenelse{\value{editor}>1\OR\ifandothers{editor}}
    {\mkbibparens{\bibstring{editors}}}
    {\mkbibparens{\bibstring{editor}}}}
Finde den Fehler einfach nicht, meine aber die Vorgaben aus obigem PDF alle genauso übernommen zu haben... :-(

oder liegt er evtl. in meiner .bbx Datei zum entsprechenen Eintrag für Sammelwerke?
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
    \renewcommand *{\labelnamepunct}{\addcolon \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \renewcommand *{\labelnamepunct}{\addcomma \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{in:}%
   \usebibmacro{editor}%
   \renewcommand *{\labelnamepunct}{\addcolon \space}
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle}%
    \renewcommand *{\labelnamepunct}{\addcomma \space}
  \setunit{\labelnamepunct}\newblock
  \printfield{edition}%
  \setunit{\labelnamepunct}\newblock
  \printfield{volumes}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{publisher+location+year}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

Viele Grüße und besten Dank!
Thorsten

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

Beitrag von domwass »

Lies dir in meinem DTK-Beitrag auch nochmal den Abschnitt zum
Unterschied zwischen \setunit* und \setunit durch (Teil 2, Seite 13).
Außerdem: schmeiß \renewcommand aus den BibliographyDrivern heraus
(siehe meine vorige Antwort).

Gruß,
Dominik.-

comtw
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 21. Jan 2010, 18:08

Beitrag von comtw »

So ich habs gelöst. Sicher nicht bilatex-100%-richtig, aber meinen Layoutbedürfnissen überaus dienlich... :-)

Hab in der .def-Datei folgendes Kommando durch \setunit{\addspace}% ergänzt.
\newbibmacro*{editorstrg}{%
   \setunit{\addspace}%
   \ifthenelse{\value{editor}>1\OR\ifandothers{editor}}
	{\bibstring{editors}}
    {\bibstring{editor}}}
sodass wenigstens mal nach dem letzten Editor ein Leezeichen produziert wird.
Den \renowbibmacro*{editorstrg}... hab ich komplett wieder rausgenommen, da er immer oben beschriebenen Fehler produziert hat.

in der .lbx-Datei hab ich dann
typeeditor       = {{Herausgeber}{(Hrsg\adddot)}},
  typeeditors      = {{Herausgeber}{(Hrsg\adddot)}},
durch die öffnende und schließende Klammern ergänzt.

Ergebnis wie gewünscht. :-)
Da dies vorerst meine einzige Arbeit mit LaTeX in diesem Umfang sein wird und sich die Literaturquellen überschaubau auf eine Anzahl von ca. 70 erstrecken, lasse ich auch die "Fehler" in den BibliographyDrivern drin, da mir momentan die Zeit fehlt mich noch intensiver damit zu beschäftigen. Ich habs direkt nach deinem Vorschlag versucht, hat aber nicht auf Anhieb geklappt, also bleibts so wie es ist. Auch wenn es nicht 100%-programmiertechnisch richtig ist - Es funktioniert soweit. :-)
Aber vielen Dank für die schnelle und kompetente Hilfe!!!

VG
Thorsten

Antworten