PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Internetquelle mit Biblatex Authoryear



Mander
07-11-2010, 14:17
Hallo zusammen,

ich brauche noch mal Hilfe bei der Änderung des authoryear-styles von Biblatex. Ich würde gerne bei einer Internetquelle ergänzen: erstellt am: und abgerufen am:
Außerdem sollte die Formatierung der Url "normal" sein.

Ciao

Mander

mechanicus
07-11-2010, 15:20
erstellt am: und abgerufen am:
date und urldate in die bib-Datei rein.



Außerdem sollte die Formatierung der Url "normal" sein.


\urlstyle{rm}

Gruß
Marco

Mander
07-11-2010, 15:52
Hi Marco,

heir ein Minimalbeispiel:

\documentclass[ngerman]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}

@online{BMWi2009,
author = {{Bundesministerium für Wirtschaft und Technologie}},
year = {2009},
title = {Dreizehntes Gesetz zur Änderung des Außenwirtschaftsgesetzes und
der Außenwirtschaftsverordnung},
url = {http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=bmwi,sprache=de,rwb =true.pdf},
citeseerurl = {http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=bmwi,sprache=de,rwb =true.pdf},
comment = {\\erstellt am: 23.04.2009 abgerufen am: 07.11.2010},
date = {07.11.2010},
urldate = {23.04.2009},
owner = {Christoph},
shortauthor = {{BMWi}},
timestamp = {2010.11.07}
}

\end{filecontents}
\usepackage[latin9]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,bibstyle=authoryear,minnames=1,ma xnames=3,firstinits=true]{biblatex}
\bibliography{\jobname}

%Zitieren und Literaturverzeichnis

\renewcommand{\postnotedelim}{\addcolon\addspace}% Doppelpunkt hinter Jahr
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}}, % 'et al.' anstatt 'u.a.'
references = {Literaturverzeichnis}}%umbennen Litertaur zu Literaturverzeichnis

%sorgt dafür, dass bei Zitaten mit mehreren Autoren ein "\" im Text steht und im Literatutverzeichnis ein ";"
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\addslash}
\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\addsemicolon\spac e}
\renewcommand*{\finalnamedelim}{\addsemicolon\spac e}
}

%Sortierung der Namen im Literaturverzeichnis
\DeclareNameFormat{sortname}{%
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
\usebibmacro{name:andothers}}

\renewcommand*{\mkbibnamefirst}{\textsc} % Setzt die Autoren-Vornamen auf Kapitälchen
\renewcommand*{\mkbibnamelast}{\textsc} % Setzt die Autoren-Nachnamen auf Kapitälchen

\setlength{\bibitemsep}{0.3cm} % Abstabd nach Bib einbtrrag
\setlength{\bibhang}{2em} % Hängender Einzug nur im Lit verzeichnis!

%Klammer um Jahr los werden
\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}
{}
{\printtext{\printdateextra}}}

%Doppelpunkt nach Jahr im Literaturverzeichnis
\renewcommand*{\labelnamepunct}{\addcolon\space}

% Nachgestellte Zitatanmerkung ohne automatischen Zusatz
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\urlstyle{rm} %URL normale Schriftformatierung

\begin{document}
Dies ist nur ein kleines Testdokument.\parencite[vgl.][]{BMWi2009}
\printbibliography[maxnames=99]
\end{document}

Die Url wird nun korrekt dargestellt, aber die beiden Daten tauchen nicht auf.

mechanicus
07-11-2010, 16:24
Die Url wird nun korrekt dargestellt, aber die beiden Daten tauchen nicht auf.

date = {2010-11-7},
urldate = {2009-04-23},

Beachte die Schreibweise.

Gruß
Marco

Mander
07-11-2010, 18:10
Hi Marco,

soweit so gut danke!

BUNDESMINISTERIUM FÜR WIRTSCHAFT UND TECHNOLOGIE 23. Apr. 2009: Dreizehntes Gesetz zur Änderung des Außenwirtschaftsgesetzes und der Außenwirtschaftsverordnung. URL: http : / / www. bmwi . de / BMWi / Redaktion / PDF / Gesetz / begruendung -
dreizehnte- aenderung, property=pdf, bereich=bmwi, sprache=de, rwb=true.pdf (besucht
am 07. 11. 2010).
Jetzt müsste nur noch das Erstellungsdatum nicht hinter den Titel, sondern vor dem "besucht am". Also so:


BUNDESMINISTERIUM FÜR WIRTSCHAFT UND TECHNOLOGIE 2009: Dreizehntes Gesetz zur Änderung des Außenwirtschaftsgesetzes und der Außenwirtschaftsverordnung. URL: http : / / www. bmwi . de / BMWi / Redaktion / PDF / Gesetz / begruendung -
dreizehnte- aenderung, property=pdf, bereich=bmwi, sprache=de, rwb=true.pdf
erstellt am: 23.04.2009; besucht am: 07. 11. 2010.
Am besten auch in einer neuen Zeile und ohne die Klammern. Wobei das mit den Klammern nur kosmetischer Feinschliff wäre.

mechanicus
07-11-2010, 19:04
Hi,

hierzu müsste die Ausgabe von online komplett abgeändert werden.

\documentclass[ngerman]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ELECTRONIC{BMWi2009,
author = {{Bundesministerium für Wirtschaft und Technologie}},
year = {2009},
title = {Dreizehntes Gesetz zur Änderung des Außenwirtschaftsgesetzes und
der Außenwirtschaftsverordnung},
address = {Berlin},
url = {http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=bmwi,sprache=de,rwb =true.pdf},
citeseerurl = {http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=bmwi,sprache=de,rwb =true.pdf},
owner = {Christoph},
shortauthor = {BMWi},
timestamp = {2010.11.07},
urldate = {2010-11-7},
date = {2009-04-23}
}
\end{filecontents}
\usepackage[latin1]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,bibstyle=authoryear,minnames=1,ma xnames=3,urldate=comp]{biblatex}
\bibliography{\jobname}
\nocite{*}
%Zitieren und Literaturverzeichnis

\renewcommand{\postnotedelim}{\addcolon\addspace}% Doppelpunkt hinter Jahr
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}}, % 'et al.' anstatt 'u.a.'
references = {Literaturverzeichnis}}%umbennen Litertaur zu Literaturverzeichnis

%sorgt dafür, dass bei Zitaten mit mehreren Autoren ein "\" im Text steht und im Literatutverzeichnis ein ";"
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\addslash}
\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\addsemicolon\spac e}
\renewcommand*{\finalnamedelim}{\addsemicolon\spac e}
}

% Nachgestellte Zitatanmerkung ohne automatischen Zusatz
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\DeclareNameAlias{sortname}{last-first}

\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}
{}
{\printtext{\printdateextra}}}

\renewcommand*{\mkbibnamefirst}[1]{%
\ifstrequal{#1}{BMWi}{\textbf{#1}}{\textsc{A#1}}
} % Setzt die Autoren-Vornamen auf Kapitälchen
\renewcommand*{\mkbibnamelast}[1]{%
\ifstrequal{#1}{BMWi}{#1}{\textsc{#1}}
} % Setzt die Autoren-Nachnamen auf Kapitälchen

\DeclareBibliographyDriver{online}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit
\usebibmacro{date}%
\newunit\newblock
\iftoggle{bbx:eprint}
{\usebibmacro{eprint}}
{}%
\newunit
\usebibmacro{url+urldate+date}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}

\DeclareFieldFormat{urldate}{\bibstring{urlseen}\s pace#1}
\newbibmacro*{url+urldate+date}{%
\printfield{url}%
\iffieldundef{urlyear}
{}
{\setunit*{.\par\nobreak}%
\iffieldundef{year}
{}
{\printtext{erstellt am: \printdate}%
\setunit{\addsemicolon\space}%
\printtext[urldate]{\printurldate}}
}
}




\begin{document}
Dies ist nur ein kleines Testdokument.
\parencite[vgl.][25f]{BMWi2009}


\printbibliography[maxnames=99]
\end{document}

Gruß
Marco

mechanicus
07-11-2010, 19:16
Hi,

füge mal bitte zusätzlich ein:

\makeatletter
\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}
{}
{\def\tempb{online}
\ifx\abx@field@entrytype\tempb\relax
\printfield{year}%
\else
\printtext{\printdateextra}%
\fi
}}
\makeatother

Gruß
Marco

Mander
07-11-2010, 20:34
Hi Marco,

fast geschafft, die Ausgabe sieht jetzt so aus:

Bundesministerium f¨ur Wirtschaft und Technologie 2009. Dreizehn-
tes Gesetz zur ¨Anderung des Außenwirtschaftsgesetzes und der Außenwirt-
schaftsverordnung. url: http : / / www . bmwi . de / BMWi / Redaktion / PDF /
Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=
bmwi,sprache=de,rwb=true.pdf (besucht am 07. 11. 2010).

Fehlt mir nur noch das Datum wann es erstellt wurde.

mechanicus
07-11-2010, 20:36
fast geschafft, die Ausgabe sieht jetzt so aus:

bei mir nicht:

\documentclass[ngerman]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ELECTRONIC{BMWi2009,
author = {{Bundesministerium für Wirtschaft und Technologie}},
year = {2009},
title = {Dreizehntes Gesetz zur Änderung des Außenwirtschaftsgesetzes und
der Außenwirtschaftsverordnung},
address = {Berlin},
url = {http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=bmwi,sprache=de,rwb =true.pdf},
citeseerurl = {http://www.bmwi.de/BMWi/Redaktion/PDF/Gesetz/begruendung-dreizehnte-aenderung,property=pdf,bereich=bmwi,sprache=de,rwb =true.pdf},
owner = {Christoph},
shortauthor = {BMWi},
timestamp = {2010.11.07},
urldate = {2010-11-7},
date = {2009-04-23}
}
\end{filecontents}
\usepackage[latin1]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,bibstyle=authoryear,minnames=1,ma xnames=3,urldate=comp]{biblatex}
\bibliography{\jobname}
\nocite{*}
%Zitieren und Literaturverzeichnis

\renewcommand{\postnotedelim}{\addcolon\addspace}% Doppelpunkt hinter Jahr
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}}, % 'et al.' anstatt 'u.a.'
references = {Literaturverzeichnis}}%umbennen Litertaur zu Literaturverzeichnis

%sorgt dafür, dass bei Zitaten mit mehreren Autoren ein "\" im Text steht und im Literatutverzeichnis ein ";"
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\addslash}
\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\addsemicolon\spac e}
\renewcommand*{\finalnamedelim}{\addsemicolon\spac e}
}

% Nachgestellte Zitatanmerkung ohne automatischen Zusatz
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\DeclareNameAlias{sortname}{last-first}

\makeatletter
\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}
{}
{\def\tempb{online}
\ifx\abx@field@entrytype\tempb\relax
\printfield{year}%
\else
\printtext{\printdateextra}%
\fi
}}
\makeatother

\renewcommand*{\mkbibnamefirst}[1]{%
\ifstrequal{#1}{BMWi}{\textbf{#1}}{\textsc{A#1}}
} % Setzt die Autoren-Vornamen auf Kapitälchen
\renewcommand*{\mkbibnamelast}[1]{%
\ifstrequal{#1}{BMWi}{#1}{\textsc{#1}}
} % Setzt die Autoren-Nachnamen auf Kapitälchen

\DeclareBibliographyDriver{online}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{version}%
\newunit
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit
\usebibmacro{date}%
\newunit\newblock
\iftoggle{bbx:eprint}
{\usebibmacro{eprint}}
{}%
\newunit
\usebibmacro{url+urldate+date}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}

\DeclareFieldFormat{urldate}{\bibstring{urlseen}\s pace#1}
\newbibmacro*{url+urldate+date}{%
\printfield{url}%
\iffieldundef{urlyear}
{}
{\setunit*{.\par\nobreak}%
\iffieldundef{year}
{}
{\printtext{erstellt am: \printdate}%
\setunit{\addsemicolon\space}%
\printtext[urldate]{\printurldate}}
}
}




\begin{document}
Dies ist nur ein kleines Testdokument.
\parencite[vgl.][25f]{BMWi2009}


\printbibliography[maxnames=99]
\end{document}

Gruß
Marco

Mander
07-11-2010, 21:54
Ok, stimmt funktioniert :o Hammer!
Kann man das Datum auch nur in Zahlen anzeigen lassen? Also 07.11.2010 anstatt 7. Nov. 2010

mechanicus
08-11-2010, 05:23
Ok, stimmt funktioniert :o Hammer!
Kann man das Datum auch nur in Zahlen anzeigen lassen? Also 07.11.2010 anstatt 7. Nov. 2010

das ist mit der Option urldate=short bzw. date=short möglich.

Gruß
Marco

tirb68
19-11-2010, 13:10
Soweit ich das anhand des Minibeispiels überblicke, hattest Du keine Probleme mit dem Zeilenumbruch in der url. Ich habe gestern nach längerer Zeit (schätze mal ca. 1/2 Jahr) einen update gezogen, seitdem funktioniert der Umbruch nicht mehr. Vorher war das durch \usepackage[breaklinks=true]{hyperref} zu lösen.

Hat sich grundlegend etwas geändert?

Brit