PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biblatex authoryear style anpassen



Mander
03-11-2010, 13:34
Hallo zusammen,

ich bin gerade dabei den authoryearstyle auf meine Bedürfnisse anzupassen. Die Zitierweise im Text funktioniert auch schon gut. Das Literaturverzeichnis wird nur noch nicht optimal dargestellt.
Hier zu nächste ein Beispiel:

\documentclass[ngerman]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@PROCEEDINGS{Destatis2008,
title = {Verlagerung wirtschaftlicher Aktivitäten - Ergebnisse der Piloterhebung},
year = {2008},
editor = {{Statistisches Bundesamt}},
address = {Wiesbaden},
publisher = {{Statistisches Bundesamt}},
owner = {Christoph},
timestamp = {2010.07.27}
}
@PROCEEDINGS{Buch2007,
title = {Analyse der Beweggründe, der Ursachen und der Auswirkungen des so
genannten Offshoring auf Arbeitsplätze und Wirtschaftsstruktur in
Deutschland},
year = {2007},
editor = {Claudia M. Buch and Monika Schnitzer and Christian Arndt and Iris
Kesternich and Anselm Mattes},
owner = {Christoph},
timestamp = {2010.08.18}
}
@BOOK{Reker2001,
title = {Ursachen und Verflechtung deutscher Direktinvestitionen},
publisher = {Lang},
year = {2001},
author = {Christoph Reker},
series = {Europäische Hochschulschriften},
address = {Frankfurt am Main [u.a.]},
isbn = {3631385463},
owner = {Christoph},
pagetotal = {XIII, 270},
ppn_gvk = {332841669},
timestamp = {2010.07.27}
}
}
\end{filecontents}
\usepackage[latin9]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,bibstyle=authoryear,minnames=1,ma xnames=3]{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}
}

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


\begin{document}
Dies ist nur ein kleines Testdokument.\parencite[vgl.][25f]{Reker2001}
Weiterer Text. \parencite[vgl.][25f]{Destatis2008}
Noch mehr Text.\parencite[vgl.][25f]{Buch2007}
\printbibliography[maxnames=99]
\end{document}

Was gefällt mir noch nicht?

Buch, Claudia M.; Monika Schnitzer; Christian Arndt; Iris Kesternich; Anselm
Mattes, Hrsg. (2007). Analyse der Beweggründe, der Ursachen und der Aus-
wirkungen des so genannten Offshoring auf Arbeitsplätze und Wirtschaftss-
truktur in Deutschland.
Hier wird zunächst richtig zitiert Buch (Nachname), Claudia M. (Vornamen), dann jedoch werden die anderen Autoren in der Reihenfolge Vorname, Nachname zitiert.
Dann wäre es gut wenn
Reker, Christoph (2001). Ursachen und Verflechtung deutscher Direktinvestitio-
nen. Europäische Hochschulschriften. Frankfurt am Main [u.a.]: Lang. XIII,
270. isbn: 3631385463.
so aussähe:
REKER, CHRISTOPH 2001: Ursachen und Verflechtung deutscher Direktinvestitionen. Europäische Hochschulschriften. Frankfurt am Main [u.a.]
D.h. Der Name des Autor in Großbuchstaben, ein Leerzeichen, das Jahr, Doppelpunkt, der Titel, Punkt und dann der Ort. ISBN und Kapitel- und Seitenzahl sollen wiederum nicht angezeigt werde.
Ist schon eine ganze Menge, was ich da noch ändern möchte!?

Ciao

Mander

mechanicus
03-11-2010, 18:13
Hier wird zunächst richtig zitiert Buch (Nachname), Claudia M. (Vornamen), dann jedoch werden die anderen Autoren in der Reihenfolge Vorname, Nachname zitiert.

http://projekte.dante.de/DanteFAQ/BiblatexReihenfolgeAutoren



D.h. Der Name des Autor in Großbuchstaben, ein Leerzeichen, das Jahr, Doppelpunkt, der Titel, Punkt und dann der Ort. ISBN und Kapitel- und Seitenzahl sollen wiederum nicht angezeigt werde.

Wenn du ISBN usw. nicht willst, dann solltest du sie einfach nicht mit angeben.
Willst du die Anpassungen für alle Eintragstypen?

Gruß
Marco

Mander
04-11-2010, 14:09
Hi mechanicus,

Danke für deine Hilfe. Der Vorschlag aus dem Link führt zu einer Veränderung der Darstellung der Zititierweise im Fließtext. Ich wollte eigentlich die Darstellung im Inhaltsverzeichnis ändern.
Vielleicht gibt es auch einen anderen biblatex style der sich besser eignet als authoryear.
Die Sache mit den Einträgen ist wahrscheinlich die unkomplizierteste.

Ciao

Mander

mechanicus
04-11-2010, 14:37
Ich wollte eigentlich die Darstellung im Inhaltsverzeichnis ändern.
Vermutlich meinst Lit-Verzeichnis.


\DeclareNameAlias{sortname}{last-first}


\documentclass[ngerman]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@PROCEEDINGS{Destatis2008,
title = {Verlagerung wirtschaftlicher Aktivitäten - Ergebnisse der Piloterhebung},
year = {2008},
editor = {{Statistisches Bundesamt}},
address = {Wiesbaden},
publisher = {{Statistisches Bundesamt}},
owner = {Christoph},
timestamp = {2010.07.27}
}
@PROCEEDINGS{Buch2007,
title = {Analyse der Beweggründe, der Ursachen und der Auswirkungen des so
genannten Offshoring auf Arbeitsplätze und Wirtschaftsstruktur in
Deutschland},
year = {2007},
editor = {Claudia M. Buch and Monika Schnitzer and Christian Arndt and Iris
Kesternich and Anselm Mattes},
owner = {Christoph},
timestamp = {2010.08.18}
}
@BOOK{Reker2001,
title = {Ursachen und Verflechtung deutscher Direktinvestitionen},
publisher = {Lang},
year = {2001},
author = {Christoph Reker},
series = {Europäische Hochschulschriften},
address = {Frankfurt am Main [u.a.]},
isbn = {3631385463},
owner = {Christoph},
pagetotal = {XIII, 270},
ppn_gvk = {332841669},
timestamp = {2010.07.27}
}
}
\end{filecontents}
\usepackage[latin1]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,bibstyle=authoryear,minnames=1,ma xnames=3]{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}
}

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

\DeclareNameAlias{sortname}{last-first}

\begin{document}
Dies ist nur ein kleines Testdokument.\parencite[vgl.][25f]{Reker2001}
Weiterer Text. \parencite[vgl.][25f]{Destatis2008}
Noch mehr Text.\parencite[vgl.][25f]{Buch2007}
\printbibliography[maxnames=99]
\end{document}



Vielleicht gibt es auch einen anderen biblatex style der sich besser eignet als authoryear.

kommt ja auf deine Bedürfnisse an.

Gruß
Marco

Mander
04-11-2010, 14:38
Habe die Sortierung der Namen hinbekommen:

\DeclareNameFormat{sortname}{%
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
\usebibmacro{name:andothers}}
Jetzt würde ich gerne noch die Klammer um das Jahr los werden. Und Nachname und Vorname in Großbuchstaben.

Ciao

Mander

mechanicus
04-11-2010, 15:11
Jetzt würde ich gerne noch die Klammer um das Jahr los werden.


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



Und Nachname und Vorname in Großbuchstaben.

Hier würde ich mal nach \DeclareFieldFormat schauen.

Gruß
Marco

Mander
04-11-2010, 15:55
Super die Klammer ist weg.
Die Namen habe ich jetzt als Kapitälchen dargestellt:

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

Danke!

Mander
07-11-2010, 14:13
So, ich noch mal. Die Sache mit den Kapitälchen sieht ganz gut aus bei "normalen" Autoren. Jetzt möchte ich aber das BMWi zitieren und da sieht es dann wieder nicht gut aus mit dem kleinen "i" als Kapitälchen. Kann ich eine Ausnahme definieren? {BMWi} in Biblatex hilft nicht.

mechanicus
07-11-2010, 15:30
\documentclass[ngerman]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@PROCEEDINGS{Destatis2008,
title = {Verlagerung wirtschaftlicher Aktivitäten - Ergebnisse der Piloterhebung},
year = {2008},
editor = {{Statistisches Bundesamt}},
address = {Wiesbaden},
publisher = {{Statistisches Bundesamt}},
owner = {Christoph},
timestamp = {2010.07.27}
}
@PROCEEDINGS{Buch2007,
title = {Analyse der Beweggründe, der Ursachen und der Auswirkungen des so
genannten Offshoring auf Arbeitsplätze und Wirtschaftsstruktur in
Deutschland},
year = {2007},
editor = {Claudia M. Buch and Monika Schnitzer and Christian Arndt and Iris
Kesternich and Anselm Mattes},
owner = {Christoph},
timestamp = {2010.08.18}
}
@BOOK{Reker2001,
title = {Ursachen und Verflechtung deutscher Direktinvestitionen},
publisher = {Lang},
year = {2001},
author = {Christoph Reker},
series = {Europäische Hochschulschriften},
address = {Frankfurt am Main [u.a.]},
isbn = {3631385463},
owner = {Christoph},
pagetotal = {XIII, 270},
ppn_gvk = {332841669},
timestamp = {2010.07.27}
}

@online{BMWi,
title = {Kenne ich nicht},
year = {2007},
author = {BMWi},
}
\end{filecontents}
\usepackage[latin1]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,bibstyle=authoryear,minnames=1,ma xnames=3]{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]{\textsc{#1}} % Setzt die Autoren-Vornamen auf Kapitälchen
\renewcommand*{\mkbibnamelast}[1]{%
\ifstrequal{#1}{BMWi}{#1}{\textsc{#1}}
} % Setzt die Autoren-Nachnamen auf Kapitälchen
\begin{document}
Dies ist nur ein kleines Testdokument.\parencite[vgl.][25f]{Reker2001}
Weiterer Text. \parencite[vgl.][25f]{Destatis2008}
Noch mehr Text.\parencite[vgl.][25f]{Buch2007}
\printbibliography[maxnames=99]
\end{document}

Gruß
Marco

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

leider wird es immer noch nicht korrekt dargestellt. Kann man den Eintrag shortauthor anders Formatieren, so wie bei \urlstyle{rm}?

Danke!

mechanicus
07-11-2010, 16:14
shortauthor
Wie kommst du denn jetzt auf shortauthor?

UNd hast du mein Beispiel mal durchlaufen lassen?

Habe das Beispiel nochmal angepasst.

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

sorry mein Fehler. Habe beim Biblatex Code den Befehl shortauthor verwendet, damit im Literaturverzeichnis der vollständige Name des Bundesamtes auftaucht und in der Zitierung die Kurzform.


@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}
}

mechanicus
07-11-2010, 18:43
Hi,

es funktioniert auch, wenn du um BMWi die zusätzlichen Klammern entfernst:

\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},
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]{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
\begin{document}
Dies ist nur ein kleines Testdokument.
\parencite[vgl.][25f]{BMWi2009}


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

Gruß
Marco

EDIT: Und Online nutzen statt Electronic.

Mander
07-11-2010, 18:47
Ja passt! Danke!