PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Literaturverzeichnis: Organisation an erster Stelle (BibLaTeX)



kuntabunta
19-07-2011, 01:48
Hallo liebe mrunix-user!

Ich stehe kurz vor der Abgabe meiner Diplomarbeit und habe ein kleines Problem mit dem Literaturverzeichnis.

Ich verwende einige Literaturangaben, in denen eine Organisation der Herausgeber eine Quelle ist. Folgerichtig habe ich die Einträge unter "organization" geführt. Leider werden diese im Literaturverzeichnis jedoch nicht in der richtigen Reihenfolge ausgegeben (die Organisation (hier FOOD AND AGRICULTURE ORGANIZATION OF THE UNITED NATIONS) sollte die erste Angabe sein!).

Kann mir jemand damit helfen?

Ich würde mich riesig freuen!

Minimalbeispiel folgend:




\documentclass[a4paper,oneside,11pt]{scrreprt}

\usepackage[style=numeric,sorting=none,language=ngerman,maxbib names=1,backref=true,doi=false,isbn=false]{biblatex}
\bibliography{minima.bib}

% Erzeugt: et al.; (Hrsg.)

\DefineBibliographyStrings{ngerman}{%
andothers={et \addabbrvspace al\adddot},%
editor = {(Hrsg.):},editors = {(Hrsg.):}
}

% Erzeugt ":" vor dem Titel (!!! Leider nicht bei book/incollection !!!)
\renewcommand{\labelnamepunct}{\addcolon\space}

% Erzeugt bei Bedarf ":" vor Seitenzahl
%\renewcommand*{\bibpagespunct}{\addcolon}
%\DeclareFieldFormat{pages}{#1}

% NACHNAME, Vorname
\DeclareNameAlias{default}{last-first}
\newcommand*\makefirstonlarge[2]{{#1}\footnotesize #2}
\renewcommand*{\mkbibnamelast}[1]{\MakeUppercase{\makefirstonlarge #1}}

\renewbibmacro*{editor+others}{%
\ifboolexpr{
test \ifuseeditor
and
not test {\ifnameundef{editor}}
}
{\printnames{editor}%
\setunit{\addspace}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}}
{}}

% Hrsg. vor dem Titel
\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:}%
\begingroup% NEU
\renewbibmacro*{date+extrayear}{}% NEU
\usebibmacro{editor+others}% NEU
\setunit{\addcolon\space}\newblock% NEU
\endgroup% NEU
\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}%
\newunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}

% Keine Anführungszeichen und Titel nicht kursiv
\DeclareFieldFormat*{title}{#1}

% Nummer vor Ausgabe
\DeclareFieldFormat*{number}{Nr.~#1}

\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addspace}
\usebibmacro{issue+date}
\setunit*{\addcomma\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}

\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+eid}%
% \setunit{\addspace}%
% \usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}

\begin{document}
text\cite{FOODANDAGRICULTUREORGANIZATIONOFTHEUNITE DNATIONS.2009}

\addtocontents{toc}{\protect\vspace*{\baselineskip }}

%% Literaturverzeichnis

\addcontentsline{toc}{chapter}{Literaturverzeichni s}
\nocite{*}
%\bibliographystyle{unsrtdin}
%\bibliography{./Literatur/Literatur}
\printbibliography

\end{document}



mit der Datei minima.bib




@misc{FOODANDAGRICULTUREORGANIZATIONOFTHEUNITEDNAT IONS.2009,
organization = {{FOOD AND AGRICULTURE ORGANIZATION OF THE UNITED NATIONS}},
year = {2009},
title = {FAOSTAT STATISTICS: Production crops},
url = {http://faostat.fao.org/site/567/default.aspx#ancor},
urldate = {02. Juli 2011}
}



Vielen Dank an alle und beste Grüße,

Gunnar

Kathrin_B
19-07-2011, 21:29
Hallo Gunnar,

ich habe aus deinem Beispiel erstmal ein MINIMALbeispiel gemacht und deine Bibdatei mit filecontents in die gleiche Datei gepackt. Bitte lass in Zukunft alle überflüssigen Angaben weg!

Ich habe den Typ Misc umdefiniert, sodass die Organisation nun anstelle des Autors ausgeben wird. Hast du auch Miscs, die einen Autor haben? Dann müsste man eine entsprechende Abfrage machen, und wenn das Feld Autor nichtleer ist, es ausgeben und Organisation wie vorher auch erst später im Eintrag. Kann man also alles bei Bedarf auch realisieren.


\documentclass{scrreprt}

\usepackage[style=numeric,sorting=none]{biblatex}
\bibliography{minima}

\DeclareBibliographyDriver{misc}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
%\usebibmacro{author/editor+others/translator+others}%
\printlist{organization}%%%%%%%%%%%%%%%%%%%%%%%%%N EU
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{howpublished}%
\newunit\newblock
\printfield{type}%
\newunit
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
%\usebibmacro{organization+location+date}%
\usebibmacro{location+date}%%%%%%%%%%%%%%%%%%NEU (entsprechendes Makro existiert bereits)
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}

\usepackage{filecontents}

\begin{filecontents}{minima.bib}
@misc{2009,
organization = {{FOOD AND AGRICULTURE ORGANIZATION OF THE UNITED NATIONS}},
year = {2009},
title = {FAOSTAT STATISTICS: Production crops},
url = {http://faostat.fao.org/site/567/default.aspx#ancor},
urldate = {2011-07-02}
}

\end{filecontents}

\begin{document}

\nocite{*}
\printbibliography

\end{document}

Dein urldate wurde übrigens nicht mit ausgegeben, weil es im falschen Format angegeben war. Du hast von biblatex auch eine dementsprechende Warnung bekommen. Gibst du es im richtigen Format an (so wie im Beispiel), wird es mit ausgegeben und entsprechend der eingestellten Sprache formatiert.

Grüße,
Kathrin

kuntabunta
20-07-2011, 01:27
Hallo Kathrin,

vielen Dank für Deine Antwort. Das klappt alles ganz prima!

Allerdings habe ich tatsächlich einige wenige "miscs", in denen ein Autor steht. Ich arbeite mit Citavi und hier wird der dokumententyp "Persönliche Mitteilung" standardmäßig als misc exportiert. Könntest du mir also noch mal helfen und eine entsprechende Abfrage definieren?

Vielen Dank übrigens für den Hinweis, dass das Datum nicht ausgegeben wird. Das ist mir noch gar nicht aufgefallen.

Übrigens war es nicht bös gemeint, dass ich eine so große Präambel geschrieben habe. Ich dachte, dass es vielleicht besser ist, damit etwaige Änderungen nicht miteinander konkurrieren. Werde in Zukunft dann auch über "filecontents" andere Datein einbinden, sofern nötig!

Viele Grüße und vielen Dank im Voraus,

Gunnar