PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biblatex authoryear



menuhin
16-08-2009, 23:17
Hallo,

verwende den style authoryear und habe diesen an meine Bedürfnisse angepasst. Lediglich eine letzte Änderung will mir nicht gelingen. Wie errreiche ich, dass nach dem Feld volume kein Punkt geschrieben wird sondern ein Leerzeichen? Also Vol. 20 No. 4 statt Vol. 20.No.4

Min.Bsp.:


\documentclass[%
ngerman, 12pt, paper=a4, DIV=14, headinclude, headsepline, chapterprefix=true, numbers=noendperiod, listof=totoc, bibliography=totoc, parskip=half]{scrbook}
\usepackage{scrhack}

%Sprachpakete
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[babel,german=quotes]{csquotes} % Deutsche Anführungszeichen mit enquote{}


%Schriftpakete
\usepackage[T1]{fontenc}


%Seitenlayout
\usepackage{scrpage2}
\usepackage{setspace}


%Literaturverzeichnis
\usepackage[bibstyle=authoryear, sorting=nyvt, maxnames=999, maxitems=999, block=none, hyperref=true, punctfont=true, abbreviate=true, firstinits=true, uniquename=init, useprefix=true, citestyle=authoryear, autocite=footnote, pagetracker=false]{biblatex}
\bibliography{Eintraege}
\nocite{*}
\DefineBibliographyStrings{ngerman}{%
bibliography={Literaturverzeichnis},
}

\setlength{\bibitemsep}{12pt}

\begin{filecontents}{Eintraege.bib}
@article{Schmidt200601,
Author={Heinrich Schmidt and Karl Meier and Ferdinand M"uller},
Journal={Eine Zeitschrift},
Title={Ein Titel},
Year={2006},
Volume={1. Jg.},
Number={Nr. 5},
Pages={1--10}
}

@article{Zimmermann200901,
Author={Viktor Zimmermann},
Journal={A Journal},
Title={A Journal},
Year={2009},
Volume={Vol. 83},
Number={No. 12},
Pages={123--145}
}

@article{Rosenblatt195201,
author={Murray Rosenblatt},
title={Remarks on a Multivariate Transformation},
journal={The Annals of Mathematical Statistics},
year={1952},
volume={Vol. 23},
issuetitle={},
editor={},
number={No. 3},
issue={},
pages={470--472},
url={},
doi={10.2307/2236692},
}

\end{filecontents}

% Vornamen der Autoren, Herausgeber usw als Initialen NACH dem Nachnamen ausweisen.
\DeclareNameFormat{default}{%
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} %statt orig. first-last
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% orig. first-last
\usebibmacro{name:andothers}}

% Vornamen bei mehreren Autoren als Initialen NACH dem Nachnamen ausweisen.
\DeclareNameFormat{sortname}{%
\ifnum\value{listcount}=1\relax
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
\ifblank{#3#5}
{}
{\usebibmacro{name:revsdelim}}%
\else
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} %statt orig. first-last
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% orig. first-last
\fi
\usebibmacro{name:andothers}}

%horizontaler Einzug der einzelnen Einträge
\setlength{\bibhang}{20pt}
%Vertikaler Abstand zwischen den einzelnen Einträgen
\setlength{\bibitemsep}{6pt}
%Vertikaler Abstand z.B. zwischen Autoren A... und Autoren B...
\setlength{\bibinitsep}{20pt}

\makeatletter
\renewbibmacro*{author}{%
\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{autho r}}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthas h}\AND
\NOT\iffirstonpage}
{\savefield{fullhash}{\bbx@lasthash}%
\printnames{author}%
\iffieldundef{authortype}
{\setunit{\addspace}}
{\setunit{\addcomma\space}}}
{\savefield{fullhash}{\bbx@lasthash}%
\printnames{author}%
\iffieldundef{authortype}
{\setunit{\addspace}}
{\setunit{\addcomma\space}}}%
\iffieldundef{authortype}
{}
{\usebibmacro{authorstrg}%
\setunit{\addspace}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
\usebibmacro{year+labelyear}}
\makeatother

%Statt Meyer "und" Müller besser Meyer/Müller in Fussnoten und Literaturverzeichnis
\renewcommand*{\finalnamedelim}{/}
\renewcommand*{\multinamedelim}{/}

%Trennnung von Titel und Untertitel durch Bindestrich
\renewcommand*{\subtitlepunct}{\addspace\textendas h\addspace}

%Trennunung der Units eines Eintrags im Literaturverzeichnis durch Komma statt Punkt
\renewcommand*{\newunitpunct}{\addcomma\space}

%Doppelpunkt nach Jahresangabe im Literaturverzeichnis statt Komma s.o. bzw. Punkt (default)
\renewcommand*{\labelnamepunct}{\addcolon\addspace }

%Kapitälchen von Nachnamen der Autoren, Herausgeber, Übersetzter etc. sowie deren Prefix
\renewcommand*{\mkbibnamelast}{\textsc}
\renewcommand*{\mkbibnameprefix}{\textsc}

%In Fussnoten die Jahresangabe in Klammern
\renewcommand*{\nameyeardelim}{\addspace(}
\renewcommand*{\postnotedelim}{)\addcomma\space}

\usepackage{hyperref}
\hypersetup{%
colorlinks=true,%
breaklinks=true,%
}

\begin{document}

\printbibliography

\end{document}

Vielen Dank im Voraus!

Grüsse,

menuhin

menuhin
17-08-2009, 12:30
Hallo,

hat denn tatsächlich keiner eine Idee???

Kathrin_B
18-08-2009, 13:57
Hallo menuhin,

bei mir wird mit Biblatex und authoryear bei der Zeitschrift z. B. als 14 (2 1983) ausgegeben und nicht als Vol. 14.No. 2. Aber das ist ja auch egal. Wenn du dir das Makro journal+issuetitle umdefinierst, solltest du es wie gewünscht hinbekommen. Bei mir sieht es z. B. so aus:


%Volume und Issue eines Artikels werden als Jg./Vol. 42 und Nr./No. 5 ausgegeben
\DeclareFieldFormat[article]{volume}{\bibstring{jourvol}~#1}% volume of a journal
\DeclareFieldFormat[article]{issue}{\bibstring{number}~#1}% issue of a journal

\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\printfield{eid}%
\setunit{\addspace}%
\printfield{volume}
\printfield[parens]{year}
\iffieldundef{issue}
{}%
{\setunit{\addcomma\addspace}%
\printfield{issue}}%
\newunit
\newunit\newblock
\usebibmacro{issue}%
\newunit}
Die Ausgabe ist dann Jg. 14 (1983), Nr. 2 (Sprache ist auf deutsch eingestellt). Pass es einfach an deine Bedürfnisse an.

Grüße,
Kathrin

menuhin
18-08-2009, 22:53
Hallo Kathrin,

erstmal vielen Dank! Mein Problem war bzw. ist, dass ich das Macro "journal+issuetitle" nicht gefunden habe bzw. immer noch nicht finde. In welchem File befindet sich dieses denn? Die \DeclareFieldFormat - Befehle stammen aus der biblatex.def aber das Macro???

Jedenfalls ist es nun kein Problem mehr auch das Volume- und das Number-Feld anzupassen. Merci.

menuhin

Kathrin_B
19-08-2009, 08:49
Hallo menuhin,

das Makro steckt in standard.bbx, die dann wiederum von authoryear.bbx aufgerufen wird. Falls du also nochmal was suchst, schau auch dort nach :-)

Grüße,
Kathrin