Book Eintrag killt Literaturverzeichnis

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


Chris916
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Di 13. Sep 2011, 19:50

Book Eintrag killt Literaturverzeichnis

Beitrag von Chris916 »

Hallo,

ich habe ein Problem mit meinem Literaturverzeichnis. Seit ich den im Minimalbeispiel aufgeführten Eintrag in meiner Bib-Datei habe, läuft die nicht mehr so wirklich. Ich kriege die Meldung

!Missing \endcsname inserted.
<to be read again>
\"'
1.45 \bibitem[7]{schürmann2008konstruieren}

Das Buch wird zwar noch im Literaturverzeichnis aufgeführt an letzter Stelle, allerdings ohne Nummerierung in den eckigen Klammern. Alle neueren Einträge werden nicht mit angezeigt. Auch wenn ich den Eintrag aus der Bibdatei lösche, werden die neueren Einträge nicht ins Literaturverzeichnis geschrieben.

Ich hoffe, ich hab das mit dem Minimalbeispiel hinbekommen. Falls nicht, bin ich für Verbesserungsvorschläge dankbar.

Gruß
Christian
\begin{filecontents*}{MeineBib.bib}

@book{schürmann2008konstruieren,
  title={{Konstruieren mit Faser-Kunststoff-Verbunden}},
  author={Schürmann, Helmut},
  edition={2.Auflage},
  isbn={9783540721895},
  year={2008},
  publisher={Springer}
}
\end{filecontents*}

\documentclass[
pdftex, 
a4paper,							
12pt,								
headsepline,					
footsepline,				
smallheadings,			
bibtotoc,						

]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{bibgerm}
\usepackage{amsmath}
\usepackage[breaklinks,linktocpage]{hyperref}
\usepackage{ifpdf} 
\usepackage{setspace}
%\setlength{\parindent}{10mm}
\usepackage[voffset = 10pt, hoffset =5pt, textwidth = 450pt, textheight = 677pt, footskip = 30pt]{geometry}
\parindent 0pt 
\usepackage[numbers,sort&compress]{natbib}
\usepackage{float}
\usepackage[T1]{fontenc}
\usepackage[scaled]{uarial}
\usepackage[small]{caption}
\usepackage{array}
\renewcommand{\arraystretch}{1.5}
\pagestyle{empty}


\begin{document}

\tableofcontents

\newpage



\listoffigures
\thispagestyle{empty}

\newpage
\include{Symbolverzeichnis}

\newpage

\linespread{1.5}
\normalsize
\pagestyle{headings}
\include{1_Kap1}
\include{2_Kap2}
\include{3_Kap3}
\include{Anhang}

\bibliographystyle{abbrvdin}
\bibliography{MeineBib}




\end{document}

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

\begin{filecontents*}{MeineBib.bib}
@book{schuermann2008konstruieren,
  title={Konstruieren mit Faser-Kunststoff-Verbunden},
  author={Sch{\"u}rmann, Helmut},
  year={2008},
  publisher={Springer}}
\end{filecontents*}

\documentclass[bibtotoc]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[breaklinks,linktocpage]{hyperref}
\usepackage[numbers,sort&compress]{natbib}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\begin{document}

\tableofcontents

\chapter{Test}

In den \emph{Schlüssel} gehören \textbf{keine} Umlaute!!!\cite{schuermann2008konstruieren}

Außerdem wäre es nett, wenn deine \emph{Minimalbeispiele} a.) wirklich minimal und b.) getestet wären.
Was soll z.\,B das Paket \texttt{graphicx} da tun?

\bibliographystyle{abbrvdin}
\bibliography{MeineBib}

\end{document}

Schweinebacke
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Do 1. Sep 2011, 16:23

Beitrag von Schweinebacke »

Bevor ich noch zu ein paar Hinweisen zum ursprünglichen Minimalbeispiel komme, die Du beachten solltest, nur zur ergänzenden Erklärung zu skaters 100% korrekter Lösung: Dass man keine Umlaute in Schlüssel verwenden sollte, liegt daran, dass sowohl TeX selbst als auch - und das ist ganz wesentlich - bibtex kein utf8 verstehen.

Für LaTeX sind utf8-Zeichen außerhalb von US-ASCII deshalb Befehle, die in manchen Situationen auch Probleme bereiten können (Paket listings ist so ein Fall, der Bau von Makros für Querverweise aller Art, kann so ein Fall sein). Für bibtex sind utf8-Zeichen schlicht mehrere einzelne Zeichen, die gemäß ihrem Zeichencode behandelt/sortiert werden. Das ist wenig tauglich. Das gilt übrigens für andere Codierungen Außerhalb US-ASCII genauso. Für bibtex gibt es dann immerhin den Ersatz bibtex8, der etwas besser mit (einigen) 8-Bit-Codierungen, aber auch nicht mit variablen Mehr-Byte-Codierungen wie utf8 umgehen kann.

Besser wird es auf LaTeX-Seite mit XeLaTeX oder LuaLaTeX, aber auch nur, wenn man dann kein inputenc, sondern die native utf8-Eingabe verwendet. Bei LuaLaTeX könnte man theoretisch Umlaute etc. sogar in Befehlsnamen verwenden, vorausgesetzt sie werden als ein Zeichen und nicht als Steuerzeichen und Grundzeichen zusammengesetzt (was beispielsweise bei akzentuierten Zeichen alternativ möglich ist).

Auf Seiten der Literaturdatenbank wird es mit dem Gespann biblatex und biber besser.

Nun noch zu den versprochenen Hinweisen:
  • Die Option pdftex sollte man eher weglassen. Für ein Minimalbeispiel stört sie, weil sie bei Helfern, die nicht direkt pdfTeX verwenden, zu Fehlermeldungen führt. Pakete wie hyperref und graphics/graphicx benötigen die Option ohnehin nicht. Für KOMA-Script ist die Option pagesize besser.
  • Die Optionen smallheadings und bibtotoc sind veraltet und führen dazu, dass gleichzeitig version=first ausgeführt wird. Damit stehen diverse Verbesserungen von KOMA-Script nicht zur Verfügung. Wie man die Optionen ersetzen sollte, gibt KOMA-Script als Warnung aus. Im KOMA-Script-Buch sind ebenfalls entsprechende Hinweis im Expertenteil zu finden.
  • Statt \linespread{1.5} empfehle ich die Verwendung der Optionen, Anweisungen und Umgebungen des setspace-Pakets, das Du ohnehin bereits lädst.
  • Statt \parindent auf 0 zu setzen, sollte man die KOMA-Script-Option parskip mit der gewünschten Einstellung verwenden (siehe dazu ³, aber auch l2tabu über den ersten Link in ²).
Als Verbesserungsvorschlag - Du fragst ja explizit danach - zu dem Minimalbeispiel sei anzumerken, dass Du es unter Weglassen diverser Pakete und Einstellungen hättest deutlich verkürzen können, ohne das nachgefragte Problem zu verlieren. skater hat ja bereits darauf hingewiesen. Man kann das auch als Anfänger leicht selbst durch schrittweises Auskommentieren erkennen. Die auskommentierten Teile löscht man dann natürlich im letzten Schritt der Erstellung eines Minimalbeispiels. Sehr schön war aber, dass und wie Du die kritische Literaturdatenbank beigefügt hast! Im Gegenzug fehlte jedoch der entscheidende \cite-Befehl, ohne den das Literaturverzeichnis leer bleibt. Außerdem sind leider die ganzen \include nutzlos. Wie man diese beseitigt ist im Minimalbeispiel-Eintrag in ¹ zu finden. In Deinem Fall können sie nahezu komplett gelöscht werden. Lediglich die fehlende \cite-Anweisung oder ein \nocite{*} wird benötigt.

Insgesamt war das Beispiel weit besser als es die meisten Anfänger leisten, und sehr schön finde ich, dass Du Interesse an weiteren Verbesserungsmöglichkeiten zeigst.
¹ Ganz wichtig: Der kleine goLaTeX-Knigge, vollständiges Minimalbeispiel, Wichtige, allgemeine Forenhinweise
² Sehr hilfreich: l2kurz, l2tabu, Font Catalogue, tabsatz …, CTAN-Paketliste, CTAN-Paketsuche, BBCode-Übersicht
³ Anleitung zu einer der besten LaTeX-Sammlungen: scrguide.pdf 2011-04-14

Ich bin hier nicht mehr zu erreichen!

Antworten