PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhaltsverzeichnis mit Biblatex: et al. - aber wie?



Mareike83
28-11-2011, 12:24
Hallo zusammen,

ich schreibe an meiner Diplomarbeit und brauche eine bestimmte Form der Quellenangaben. Und zwar soll an der jeweiligen Stelle nur der Nachname des Erstautors, dann (bei mehr als einem Autor) "et al.", dann ein Komma, dann die Jahreszahl genannt werden:

"..blabla (vgl. Autor et al., 2010)"

Im Literaturverzeichnis müssen dann aber alle Autoren aufgeführt werden, also ohne et al.... Gibts da Möglichkeiten? Ich muss gestehen, dass ich es nur gerade eben so hingekriegt hab, dass es überhaupt ein Literaturverzeichnis gibt, und kann nicht mal den Style ändern, weil sonst sofort Fehlermeldungen ausgespuckt werden. Kann also leider auch gut sein, dass da was grundlegend falsch ist...
Hier mal ein Minimalbeispiel:



\documentclass[12pt,a4paper,oneside, titlepage]{article}
\usepackage{stmaryrd}
\usepackage[latin1]{inputenc}
\usepackage{fancyhdr}
\usepackage{epsfig}
\usepackage{psfrag}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{verbatim}
\usepackage{bbm}
\usepackage[left=4cm,top=3cm,right=2.5cm,bottom=3cm]{geometry}
\usepackage{capt-of}

\usepackage{tocbibind}
\usepackage{arydshln}

\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\addbibresource{science.bib}

\usepackage{pdfpages}

\usepackage{ngerman}
\usepackage{notes}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{hyperref}

\renewcommand{\baselinestretch}{1.1}

\usepackage{graphics}

\parindent0cm

\pagestyle{fancy}
\fancyhf{}
\fancyhead[LO]{ }
\fancyhead[RO]{\thepage}
\fancyfoot[RO]{ }
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}

\newenvironment{bew}{\begin{proof}[Beweis]}{\end{proof}}
\begin{document}

Hier kommt ein Beispiel (vgl. \cite{BLA}).

\listoffigures
\listoftables
\renewcommand\refname{Literaturverzeichnis}
\addcontentsline{toc}{section}{Literaturverzeichni s}
\printbibliography

\end{document}



Die in blau markierten Stellen markieren, wo irgendwas mit dem Literaturverzeichnis passiert.

In einer (im selben Ordner befindlichen) Datei mit Namen science.bib gibt es einen zugehörigen Eintrag:



@BOOK{BLA,
title = {Scheduling Computer and Manufactoring Processes},
year = {2001},
author = {Jacek Blazewicz, Klaus H. Ecker, Erwin Pesch, G"unter Schmidt, Jan
Weglarz},
volume = {2}}

Im Literaturverzeichnis stimmt schon fast alles, es fehlt nur ein Komma zwischen dem ersten und dem zweiten Autor. Aber an der Stelle, wo zitiert wird, steht der Erstautor - mit Vorname - und dann sofort, also ohne Komma, das Jahr. Die weiteren Autoren werden gar nicht erst erwähnt.

Kann mir da jemand helfen?

Ich bin für jede Antwort dankbar!!


Gruß,
Mareike

Xenara
28-11-2011, 12:33
Was bei dir auf alle Fälle so nicht ganz passt: Du musst im BibTeX-Eintrag Autoren mit "and" trennen, sonst weiss LaTeX nicht, welche Zeichenkette zu welchem Namen gehört.
Also in deinem Fall


author = {Jacek Blazewicz and Klaus H. Ecker and Erwin Pesch and G"unter Schmidt and Jan Weglarz},


Ändere die Einträge mal dahingehend und schau, wie das Literaturverzeichnis damit aussieht, vielleicht löst das Dein Problem schon.

Mareike83
28-11-2011, 12:38
Nope, hab ich schon probiert.
Ich hab auch schon Anführungszeichen um die Namen gemacht, die Reihenfolge "Vorname Nachname" zu "Nachname, Vorname" geändert - aber nichts hilft.

bobmalaria
28-11-2011, 13:30
hi,

lade

\usepackacke[deine optionen, maxnames=1]{biblatex}

das sollte dir im text nur einen autor ausgeben.

dann beim ausgeben der bib

\printbibliography[maxnames=99]

und du musst die namen in der bib so anordnen das biblates sie verstehen kann. in der anleitung ist das glaube ich aufgefuerhrt, oder du schaust in die beispiel bib die bei biblatex dabei ist

Mareike83
28-11-2011, 13:41
Hm, interessant. Von der Idee her einleuchtend.
Allerdings hab ich dann beim Zitieren im Text immer noch den Vornamen bzw. die Initialen des Autors mit dabei.
Und im Literaturverzeichnis fehlt auch noch das Komma zwischen dem ersten und dem zweiten Autor.

Komischerweise dreht er jetzt bei den Büchern, die nur einen Autor haben, Vorname und Nachname um.... bei allen anderen ist es "X. Blablubb, Y. Blubbla" und da ists dann plötzlich "Blubb, Z."

Ich bastel mal noch ein bißchen an der bib- Datei rum, vielleicht bringt es ja jetzt etwas, wenn ich "and"'s zwischen die Autoren packe....


Vielen Dank schon mal euch beiden. Weiterhin dankbar für Lösungsvorschläge :)

domwass
28-11-2011, 13:57
Sieh dir mal die de-TeX-FAQ »Wie kann ich bei biblatex die Reihenfolge der Autoren ändern? (http://projekte.dante.de/DanteFAQ/BiblatexReihenfolgeAutoren)« an.

Gruß,
Dominik.-

Mareike83
28-11-2011, 14:27
Ah, ok, und wieder etwas schlauer.
In den FAQs steht, dass die Voreinstellung das automatisch so ordnet:
Nachname1, Vorname1, Vorname2 Nachname2.
Man kann das angeblich ändern, indem man ein

\DeclareNameAlias{labelname}{first-last}

benutzt.

Edit: Super, klappt! Also zumindest das mit dem Vorname/Nachname-Sortieren.

Eines ist jetzt aber wieder merkwürdig:
wenn ich den Autor wie folgt in die bib-Datei eintrage:
author = {M.R. Garey, D.S. Johnson, R. Sethi},
dann liefert mir das im pdf sowas:

R. Sethi M.R. Garey D.S. Johnson

Wieso sind jetzt alle Kommata verschwunden? Und die Reihenfolge scheint komplett willkürlich....

Mareike83
28-11-2011, 14:42
Wie ich gerade mit Erschrecken feststellen musste, hat sich nun auch im Text etwas geändert... Dort werden jetzt wieder alle Namen genannt, nicht nur der erste.

Weiß jemand, warum das so ist? Und was man dagegen tun kann?

Xenara
28-11-2011, 14:49
Mein Hinweis in Post #2, dass Autoren im bibtex-Eintrag mit "and" zu trennen sind, war nicht zum Spass gemeint.
Es hat keinen Wert, an der Stil-Datei zu basteln, wenn die Einträge in der Datenbank (= .bib-Datei) dahinter Fehler haben.

domwass
28-11-2011, 15:03
Und in der verlinkten FAQ steht, welches Namensformat bei welchem Stil an
welcher Stelle greift; »labelname« vielfach in Zitaten (manchmal auch
»default«), im Literaturverzeichnis dagegen je nach Stil »sortname« oder
»default«. Bei authoryear wird »labelname« in den Zitaten im Text verwendet,
in der Bibliographie dagegen »sortname«.

Edit:
Schau dir außerdem in der Doku mal die Optionen »maxbibnames« und »maxcitenames« an.

Gruß,
Dominik.-

Mareike83
28-11-2011, 15:09
Mein Hinweis in Post #2, dass Autoren im bibtex-Eintrag mit "and" zu trennen sind, war nicht zum Spass gemeint.
Es hat keinen Wert, an der Stil-Datei zu basteln, wenn die Einträge in der Datenbank (= .bib-Datei) dahinter Fehler haben.

Mittlerweile hab ich alles ausprobiert, und mit den Kommata statt der "and"s wars immer noch am nächsten dran an dem, was ich eigentlich wollte.
Sobald ich die "and"s benutze, erscheint automatisch auch im Literaturverzeichnis ein "and", und das hab ich jetzt einfach mal schlimmer empfunden als ein fehlendes Komma.

Keine Sorge, sämtliche Tipps, die ich hier kriege, probiere ich mit sämtlichen Möglichkeiten durch.... mit and... ohne and... mit Komma.... mit Leerzeichen zwischen den doppelten Vornamen... einfach alles Mögliche - weil ich halt weiß, dass ich zu wenig Ahnung hab, als dass ich gezielt auf die Lösung kommen würde ;)

Mareike83
28-11-2011, 15:17
Und in der verlinkten FAQ steht, welches Namensformat bei welchem Stil an
welcher Stelle greift; »labelname« vielfach in Zitaten (manchmal auch
»default«), im Literaturverzeichnis dagegen je nach Stil »sortname« oder
»default«. Bei authoryear wird »labelname« in den Zitaten im Text verwendet,
in der Bibliographie dagegen »sortname«.

Edit:
Schau dir außerdem in der Doku mal die Optionen »maxbibnames« und »maxcitenames« an.

Gruß,
Dominik.-


Ja, danke, mittlerweile benutze ich für das Literaturverzeichnis "sortname".
Die Sachen in der Doku guck ich mir gerne an - wenn Du mir sagst, wo ich die Doku finde ;)

Xenara
28-11-2011, 15:23
Das "and" in der .bib-Datei hat aber nichts mit deinem "and" im Literaturverzeichnis zu tun. Lass das in der .bib unbedingt drin. Wenns im LitVZ nicht sein soll, kriegt man das anders weg als über falsche Einträge in der Datenbank, die dann andere Probleme nach sich ziehen.

Hier mal dein Code mit einem Teil der Änderungen, im LitVZ sind jetzt alle Autoren in der Form Vorname Nachname.
Was ich noch nicht hinbekommen habe, ist das Komma zwischen Autor und Jahreszahl im Label.


\documentclass{article}% Wieso nicht scrartcl?
\usepackage[latin1]{inputenc}
%\usepackage{ngerman}% Besser babel
\usepackage[ngerman]{babel}

\usepackage{csquotes}
\usepackage[style=authoryear,maxbibnames=10]{biblatex}
\DeclareNameAlias{sortname}{first-last}

\addbibresource{science.bib}

\usepackage{filecontents}
\begin{filecontents}{science.bib}
@BOOK{BLA,
title = {Scheduling Computer and Manufactoring Processes},
year = {2001},
author = {Jacek Blazewicz and Klaus H. Ecker and Erwin Pesch and G\"unter Schmidt and Jan Weglarz},
volume = {2}}
\end{filecontents}


\usepackage{graphicx}% NEU
\usepackage{hyperref}% Letztes Paket zu laden!

\begin{document}

Hier kommt ein Beispiel (vgl. \cite{BLA}).


\renewcommand\refname{Literaturverzeichnis}
\addcontentsline{toc}{section}{Literaturverzeichni s}
\printbibliography

\end{document}


Ich habe es 1. um unnötige Pakete gekürzt und 2. ein paar Anmerkungen reingeschrieben:
- hyperref wird in 90% der Fälle als letztes Paket geladen
- "graphics" ist veraltet, der Nachfolger ist "graphicx"
- Wieso verwendest du article und nicht die Komaklasse scrartcl? Damit ist man flexibler.
- statt ngerman wird eher babel mit der Option ngerman empfohlen

Xenara
28-11-2011, 15:25
Die Dokus sind bereits auf deinem Rechner, am einfachsten findet man sie so (WinXP):
Start -> Programme -> Zubehör -> Eingabeaufforderung

Dort eintippen:
"texdoc biblatex"

Es öffnet sich dein PDF-Reader mit der Doku.

Mit "texdoc Paketname" bekommt man so übrigens die Doku zu praktisch jedem Paket.

Mareike83
28-11-2011, 15:36
Das "and" in der .bib-Datei hat aber nichts mit deinem "and" im Literaturverzeichnis zu tun. Lass das in der .bib unbedingt drin. Wenns im LitVZ nicht sein soll, kriegt man das anders weg als über falsche Einträge in der Datenbank, die dann andere Probleme nach sich ziehen.

Ok, danke fürs Erklären.


Ich habe es 1. um unnötige Pakete gekürzt
Heißt das, ich brauche keines der Pakete, die jetzt bei Deiner Version nicht mehr auftauchen?? :eek: Trau mich ja kaum, die einfach rauszulöschen...


und 2. ein paar Anmerkungen reingeschrieben:
- hyperref wird in 90% der Fälle als letztes Paket geladen
- "graphics" ist veraltet, der Nachfolger ist "graphicx"
- Wieso verwendest du article und nicht die Komaklasse scrartcl? Damit ist man flexibler.
- statt ngerman wird eher babel mit der Option ngerman empfohlen

Ok, hyperref lad ich jetzt als Letztes.... graphicx hab ich auch mal dazugenommen... scrartcl und babel mit ngerman kann ich aber nicht nehmen, weil meine Betreuerin das wohl so haben will.

Insgesamt muss also noch gebastelt werden:
- kein "and" mehr im Literaturverzeichnis
- im Text ein zusätzliches Komma zwischen dem Autor und der Jahreszahl.

Immerhin^^

Danke für die vielen Tips :)

Xenara
28-11-2011, 15:42
Heißt das, ich brauche keines der Pakete, die jetzt bei Deiner Version nicht mehr auftauchen?? :eek: Trau mich ja kaum, die einfach rauszulöschen...


Neinneinnein, halt, falsch verstanden.
Ob du die Pakete für dein richtiges Dokument brauchst, weiss ich ja nicht. Ich habe lediglich die Pakete rausgelöscht, die zur Demonstration dieses _Minimalbeispiels_ nicht nötig sind.
Jetzt gehts ja nur mal ums Literaturverzeichnis, und da brauchts keine Seiteneinstellungen etc. dazu, das bläht nur den Code auf und versperrt den Blick aufs Wesentliche.

Mareike83
28-11-2011, 15:43
Die Dokus sind bereits auf deinem Rechner, am einfachsten findet man sie so (WinXP):
Start -> Programme -> Zubehör -> Eingabeaufforderung

Dort eintippen:
"texdoc biblatex"

Es öffnet sich dein PDF-Reader mit der Doku.

Mit "texdoc Paketname" bekommt man so übrigens die Doku zu praktisch jedem Paket.


Merci, gefunden. Allerdings verstehe ich noch nicht so ganz den Unterschied zu den Befehlen, die ich momentan benutze. Hier, die meine ich:


hi,

lade

\usepackacke[deine optionen, maxnames=1]{biblatex}

das sollte dir im text nur einen autor ausgeben.

dann beim ausgeben der bib

\printbibliography[maxnames=99]

[...]

Mareike83
28-11-2011, 15:44
Neinneinnein, halt, falsch verstanden.
Ob du die Pakete für dein richtiges Dokument brauchst, weiss ich ja nicht. Ich habe lediglich die Pakete rausgelöscht, die zur Demonstration dieses _Minimalbeispiels_ nicht nötig sind.
Jetzt gehts ja nur mal ums Literaturverzeichnis, und da brauchts keine Seiteneinstellungen etc. dazu, das bläht nur den Code auf und versperrt den Blick aufs Wesentliche.

Ah, ok, hab mich schon gewundert. Dann danke fürs Kürzen.

Xenara
28-11-2011, 15:49
Öh, das mit maxnames darf bobmalaria erklären, ich steig da auch noch nicht so wirklich dahinter.
So wie ich maxbibnames verstehen, ist das die maximale Anzahl Autoren im Literaturverzeichnis, und es tut zumindest hier genau das, was es soll.

Hier noch das add-on für kein "and":


\usepackage{csquotes}
\usepackage[style=authoryear,maxbibnames=10]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\renewcommand{\finalnamedelim}{\multinamedelim}

Xenara
28-11-2011, 15:55
Ok, und hier noch mit Komma im Label:


\documentclass{article}% Wieso nicht scrartcl?
\usepackage[latin1]{inputenc}
\usepackage{ngerman}

\usepackage{csquotes}
\usepackage[style=authoryear,maxbibnames=10]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\renewcommand{\finalnamedelim}{\multinamedelim}
\renewcommand{\nameyeardelim}{,\addspace}

\addbibresource{science.bib}

\usepackage{filecontents}
\begin{filecontents}{science.bib}
@BOOK{BLA,
title = {Scheduling Computer and Manufactoring Processes},
year = {2001},
author = {Jacek Blazewicz and Klaus H. Ecker and Erwin Pesch and G\"unter Schmidt and Jan Weglarz},
volume = {2}}
\end{filecontents}


\usepackage{graphicx}% NEU
\usepackage{hyperref}% Letztes Paket zu laden!

\begin{document}

Hier kommt ein Beispiel (vgl. \cite{BLA}).


\renewcommand\refname{Literaturverzeichnis}
\addcontentsline{toc}{section}{Literaturverzeichni s}
\printbibliography

\end{document}

Mareike83
28-11-2011, 15:56
Öh, das mit maxnames darf bobmalaria erklären, ich steig da auch noch nicht so wirklich dahinter.
So wie ich maxbibnames verstehen, ist das die maximale Anzahl Autoren im Literaturverzeichnis, und es tut zumindest hier genau das, was es soll.

Hier noch das add-on für kein Komma:


\usepackage{csquotes}
\usepackage[style=authoryear,maxbibnames=10]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\renewcommand{\finalnamedelim}{\multinamedelim}


Bislang macht das von Bobmalaria wohl genau das gleiche wie Deins... ich guck mir das noch mal genauer an.

Und Dein Zusatz, wegen dem überflüssigen 'and', funktioniert super! Tausend Dank dafür!!!! :)

bobmalaria
28-11-2011, 15:57
hi,

dir scheinen ein paar basics zu fehlen und du versuchst viel zu tricksen. das kann auf dauer nach hinten los gehen. spendiere dir deshalb am anfang etwas zeit dich genuegend einzuarbeiten, sonst fliegt dir irgendwann das ganze um die ohren. am anfang lassen sich fehler noch leicht beheben.

ausgehen vom oben geposteten beispiel


\documentclass{article}% Wieso nicht scrartcl?
\usepackage[latin1]{inputenc}
%\usepackage{ngerman}% Besser babel
\usepackage[ngerman]{babel}

\usepackage{csquotes}
\usepackage[style=authoryear,maxbibnames=10,maxcitenames=1]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\renewcommand*{\nameyeardelim}{\addcomma\addspace}
\DefineBibliographyStrings{ngerman}{andothers={et\ addabbrvspace al\adddot}}
\renewcommand*{\finalnamedelim}{\addcomma\addspace }
\addbibresource{science.bib}

\usepackage{filecontents}
\begin{filecontents}{science.bib}
@BOOK{BLA,
title = {Scheduling Computer and Manufactoring Processes},
year = {2001},
author = {Jacek Blazewicz and Klaus H. Ecker and Erwin Pesch and G\"unter
Schmidt and Jan Weglarz},
volume = {2}}
\end{filecontents}


\usepackage{graphicx}% NEU
\usepackage[hidelinks]{hyperref}% Letztes Paket zu laden!

\begin{document}

Hier kommt ein Beispiel (vgl. \cite{BLA}).


\renewcommand\refname{Literaturverzeichnis}
\addcontentsline{toc}{section}{Literaturverzeichni s}
\printbibliography

\end{document}

http://www.mrunix.de/forums/attachment.php?attachmentid=4890&stc=1&d=1322492258

Xenara
28-11-2011, 16:01
@Bobmalaria: Dein Beispiel hat sich grad mit meinem letzten Code überschnitten, aber wenn ichs richtig sehe, sind wir uns ziemlich einig.
Du hast noch das mit "et al." fest eingebaut, das ist sehr gut, mir ist nämlich aufgefallen, dass wenn man babel verwendet, das zu "u.a." wird.

Mareike83
28-11-2011, 16:01
Ok, und hier noch mit Komma im Label:


\documentclass{article}% Wieso nicht scrartcl?
\usepackage[latin1]{inputenc}
\usepackage{ngerman}

\usepackage{csquotes}
\usepackage[style=authoryear,maxbibnames=10]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\renewcommand{\finalnamedelim}{\multinamedelim}
\renewcommand{\nameyeardelim}{,\addspace}

\addbibresource{science.bib}

\usepackage{filecontents}
\begin{filecontents}{science.bib}
@BOOK{BLA,
title = {Scheduling Computer and Manufactoring Processes},
year = {2001},
author = {Jacek Blazewicz and Klaus H. Ecker and Erwin Pesch and G\"unter Schmidt and Jan Weglarz},
volume = {2}}
\end{filecontents}


\usepackage{graphicx}% NEU
\usepackage{hyperref}% Letztes Paket zu laden!

\begin{document}

Hier kommt ein Beispiel (vgl. \cite{BLA}).


\renewcommand\refname{Literaturverzeichnis}
\addcontentsline{toc}{section}{Literaturverzeichni s}
\printbibliography

\end{document}


Super! Danke danke danke - alles klappt^^
Damit hast Du mir ganz enorm geholfen :)

Mareike83
28-11-2011, 16:04
Ok, dann bau ich das von Bobmalaria noch mit ein, und pack die maxbibnames usw an die richtige Stelle.

Tausend Dank euch allen!!