Literaturverzeichnis Kapitelweise

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Claus
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 27. Jul 2016, 20:57

Literaturverzeichnis Kapitelweise

Beitrag von Claus »

Moin, hab mal ein paar Fragen, die ich nicht mit google und schon gestellten Forenbeiträgen lösen kann. Arbeite noch nicht lange mit Latex ...

Also, ich habe vor, ein Literaturverzeichnis nach jedem Kapitel zu erstellen. Das Zitieren klappt(e), das Verzeichnis wurde allerdings nicht angezeigt, wie gewünscht.

Ich verwende TeXstudio und Jabref.

Frage 1: Auf was sollte ich in den Optionen 'Texstudio konfigurieren' die im Reiter 'Erzeugen' das Standard Bibliographieprogramm auswählen, biber, bibtex oder bibtex 8bit? Hab im Internet gelesen, dass man das auf biber stellen sollte, danach hab ich das Dokument nicht mehr kompilieren können, auch nach umstellen nicht mehr.

Frage 2: Nach dem oben beschriebenen Umstellen werden jetzt auch Fehler in der bbl Datei angezeigt: 'Use of \sortlist doesn't match its definition. \sortlist('.
Warum?

Frage 3: Im Internet bin ich auf die Kompilierungsfolge 'latex - bibtex - latex - latex' gestoßen, die mir nichts sagt. Muss ich die bei TeXstudio immer noch anwenden? Und wenn ja, wie stell ich zwischen latex und bibtex um und kompiliere?

Frage 4: In einem Buch wird folgendes als Beispiel für das Literaturverzeichnis am Ende jeden Kapitels angegeben, was bei mir nicht funktioniert.
[/code]%\usepackage[refsegment=chapter]{biblatex}
\defbibheading{subbibliography}{\subsection*{Literatur für Abschnitt \therefsegment}}%[/code]
Bei mir wird der Befehl '\refsegment' rot hinterlegt und TeXstudio sagt, dass es diesen Befehl nicht kennt.

Dies ist mein bisheriger Code aus der Tex.Datei:
[code]%\documentclass[a4paper]{scrbook}
\usepackage[T1] {fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{varioref}
\usepackage[locale=DE]{siunitx}
\usepackage{url}
\usepackage[backend=biber]{biblatex}
\addbibresource{Literatur.bib}
\usepackage{color}
\usepackage{textcomp}
\definecolor{listinggray}{gray}{0.9}
\usepackage[table,grey]{xcolor}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{csquotes}
\lstset{}
\lstset{inputencoding=ansinew}
\begin{document}%
[/code]

Danke im Voraus

Claus

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Erst einmal: Mit biblatex und biber bist Du absolut auf dem richtigen Weg. In den Wichtigen Hinweisen zur Erstellung von Literaturverzeichnissen findest Du u.a. zur Konfiguration des Editors Hinweise (die darin enthaltenen Links gehören mit zum Hilfetext) und auch dazu, wie Du ein lauffähiges Minimalbeispiel erstellst.

Um Bibliographien kapitelweise auszudrucken, musst Du refsections definieren. Wie das geht, zeigt Kap. 3.11.3 der [d]biblatex[/d]-Doku an einem Beispiel sehr anschaulich.

Gutes Nächtle, Helmut

DADABBI

Beitrag von DADABBI »

Du solltest übrigens den Haken bei BBCode in diesem Beitrag deaktivieren nicht setzen bzw. entfernen, damit die Tags auch Wirkung haben und deine Code-Beispiele entsprechend formatiert werden. Ob es passt, kannst/solltest du außerdem mit dem Vorschau-Knopf überprüfen.

Der \sortlist-Fehler tritt AFAIK auf, wen biber zu alt ist. Am besten sowohl biber als auch biblatex aktualisieren – bei MiKTeX sowohl mit dem Admin-Updatemanager als auch dem User-Updatemanager.

Wenn Texstudio einen Befehl nicht kennt, heißt es nicht, dass es diesen nicht gibt. Das heißt nur, dass Texstudio keine Eingabehilfen o. ä. für den Befehl bietet. Erst, wenn es beim LaTeX-Lauf eine entsprechende Fehlermeldung gibt, gibt es den Befehl wirklich nicht. Dieses Feature von Texstudio verwirrt Anfänger leider immer wieder. Allerdings liegt in diesem Fall Texstudio gar nicht so falsch, weil es sich bei refsection und refsegment um Umgebungen handelt. Siehe Abschnitt 3.7.4 und 3.7.5, sowie die Beispiele in Abschnitt 3.12.3 der aktuellen biblatex-Anleitung.

Gast

Beitrag von Gast »

Ad 1: Du musst Deinem Editor in der Tat mitteilen, dass Du von nun an biber statt BibTeX verwenden möchtest. Genaue Erklärungen dazu gibt es entweder in dem Link in den wichtigen Hinweisen (er ist vielleicht etwas versteckt auf Deutsch) oder bei TeX.SX auf Englisch: Biblatex with Biber: Configuring my editor to avoid undefined citations

Wenn es dann nicht geht, kann das unterschiedliche Gründe haben, ohne genaue Beschreibung, was Du als Fehlermeldung/Warnung/... bekommst, ist das Stochern im Nebel. Ein häufiges Problem ist aber in der Tat, dass die Versionen von biblatex und biber nicht zusammenpassen, da wäre dann ein Update (bei MikTeX wie DADABBI bereits bemerkt mit beiden Updater-Versionen) notwendig. Es kann aber auch sein, dass biber noch gar nicht installiert ist, dann kannst Du das über den Paket-Manager von MikTeX oder tlmgr bei TeX Live leicht tun; Du solltest biber nicht manuell herunterladen und installieren.

Ad 2: Das ist ein klassisches Problem, wenn man zwischen den Back-Ends biber und BibTeX wechselt (und auch bei veralteten Versionen). Nachdem Du alles auf Biber umgestellt und die Updates ausgeführt hast, solltest Du die .bbl-Datei und die anderen temporären Dateien löschen (.aux, .bcf, ...), dann solltest Du das Dokument in einem Rutsch kompilieren können.

Ad 3: Wenn TeXstudio nicht so einen Zauberbutton hat, der alle Programme einmal für Dich ausführt, oder Du latexmk oder arara (kannst Du Dir beide mal ansehen) benutzt, musst Du von Zeit zu Zeit, wenn sich an Zitaten oder Literaturverweisen etwas geändert hat, Biber laufen lassen. Für eine vollständige Kompilation wird mindestens die Reihenfolge LaTeX, Biber, LaTeX, LaTeX empfohlen. Dabei sammelt der erste LaTeX-Lauf eine Liste von zitierten Werken, diese wird an Biber übergeben und Biber sucht die benötigten Werke aus der .bib-Datei, die nächsten zwei TeX-Läufe schreiben die Angaben in die PDF (dabei sind zwei Läufe vorgeschlagen, falls sich Seitenumbrüche ändern, wenn TeX Dich warnt, kann durchaus noch ein weiter LaTeX-Lauf nötig sein).

Ad 4: Der Code sieht in Ordnung aus, nur weil Dein Editor (!) TeXstudio den Befehl nicht kennt und ihn rot hinterlegt, heißt das ja noch lange nicht, dass TeX ihn wirklich nicht kennt. Allerdings wirst Du mit dem von Dir gezeigten Code gar nicht \refsegment selber schreiben müssen.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style = authoryear-comp, refsegment=section]{biblatex}
\addbibresource{biblatex-examples.bib}

\defbibheading{subbibliography}{\subsection*{Literatur für Abschnitt \thesection}}

\begin{document}
\section{Lorem}
\cite{sigfridsson,worman}
\printbibliography[segment=\therefsegment,heading=subbibliography]

\section{Ipsum}
\cite{geer,cicero}
\printbibliography[segment=\therefsegment,heading=subbibliography]
\end{document}
Beachte, dass Du segment=\therefsegment in \printbibliography explizit angeben musst; außerdem ist es nicht notwendig, dass die Zahl des Refsegments mit der Kapitalnummer übereinstimmt. Vielleicht wäre also \defbibheading{subbibliography}{\subsection*{Literatur für Abschnitt \thesection}} oder \defbibheading{subbibliography}{\subsection*{Literatur für Abschnitt \thechapter}} angemessener.

Claus
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 27. Jul 2016, 20:57

Beitrag von Claus »

Erstmal danke für die Antworten.

In der Zwischenzeit habe ich es mit dem Beispiel beschrieben von Gast hinbekommen, dass in einem Minimalbeispiel das Literaturverzeichnis kapitelweise anzeigen zu lassen.

Dies habe ich auf meine Arbeit übertragen. Dort funktioniert das noch nicht ganz. Der Compiler meint, dass die Bibliographie leer sei. Ich habe allerdings mit den Befehlen \cite schon einige Zitate in meine Arbeit eingepflegt, so dass ich diese Fehlermeldung nicht nachvollziehen kann.
Wenn ich am Ende zum Test ein paar Zitate (die gleichen, die weiter oben im Text benutzt werden) durch den \cite Befehl eintrage, erscheint das Literaturverzeichnis. Wenn ich diese wieder lösche, dann verschwindet das wieder.
Habe die Befehle \cite in meiner Arbeit erneuert, bringt nicht viel ...

DADABBI

Beitrag von DADABBI »

Dann solltest du dich jetzt nach Anleitung auf Fehlersuche machen. Bei Problemen mit dem Literaturverzeichnis kann auch ein Blick in die blg-Datei nützlich sein.

Gast

Beitrag von Gast »

Da der Code wie Du selbst festgestellt hat durchaus funktioniert, bräuchten wir ein Minimalbeispiel, das Dein Problem reproduziert.

Vielleicht musst Du nochmal die Kompilationsfolge LaTeX - Biber - LaTeX - LaTeX durchlaufenen lassen. Zeigt die .blg-Datei Probleme an?

Was meinst Du mit "Habe die Befehle \cite in meiner Arbeit erneuert"?

Mit welcher refsegment-Einstellung arbeitest Du denn in Deinem Dokument? Vielleicht sorgt die Einstellung dafür, dass die angezeigten Bibliographien kein Inhalt haben, da die Zitate in anderen Segmenten stattfinden.

Antworten