Hallo,
ich verwende seit ca. einem 3/4 Jahr LaTex und habe darin meine Diplomarbeit geschrieben. Nun wollte ich im Nachhinein diese noch "optisch aufwerten", indem ich eine Kopfzeile auf allen Seiten einfüge. Die Kopfzeile soll Seitenzahlen sowie auf "linken" Seiten die Kapitelüberschrift, bzw. auf "rechten" Seiten die 'Section'-Überschriften enthalten. Grundsätzlich funktioniert das auch mit dem Paket "fancyheadings" als auch mit dem Koma-script "scrpage2", d.h. es werden die Seitenzahlen etc. angegeben.
Ein Problem tritt allerdings bei Überschriften auf, in denen ich einen Literaturverweis ('\cite{...}') hinzugefügt habe, also z.B.: '\section{Vorgehen im ESWM nach Mustermann et al. [4]'
Dann wird in der Kopfzeile der Verweis nicht erkannt und eine Warnmeldung ausgegeben (s.u.)
Die Literaturstellen funktionieren im "normalen" Dokument überall einwandfrei, werden erkannt und der entsprechende Eintrag im Anhang auch sauber geschrieben.
Ärgerlicherweise tritt dieser Fehler nicht bei allen Verweisen auf!
Im Folgenden ein Minimalbeispiel (1) die zugehörigen Einträge in der "LiteraturNEU.bib"-Datei (2) sowie die ausgegebene Information zur Warnung vom TeXnicCenter in der ".bbl"-Datei (3):
(1):
\documentclass[fleqn,titlepage,twoside,openany,12pt]{book} \usepackage{a4} \usepackage[headsepline,standardstyle]{scrpage2} \setlength{\topmargin}{-5.4mm} \setlength{\headheight}{10.0mm} \setlength{\headsep}{5.0mm} \setlength{\textheight}{230mm} \setlength{\footskip}{10mm} \setlength{\evensidemargin}{-0.4mm} \setlength{\oddsidemargin}{-0.4mm} \setlength{\textwidth}{16.truecm} \setlength{\parindent}{0.0em} \setlength{\parskip}{1.3ex plus 0.6ex minus 0.3ex} \setlength{\intextsep}{4.0ex} \renewcommand{\baselinestretch}{1.2} \begin{document} \newpage \pagestyle{empty} \pagestyle{scrheadings} \chapter{Test} \newpage \section{Zitat \cite{Tacan11} and \cite{API00} and \cite{Taiebat99}} Inhalt des Abschnitts (Kapitel in Kopfzeile) \newpage Zweite Seite (Section in Kopfzeile) \bibliographystyle{plain} \bibliography{LiteraturNEU} \end{document}
(2):
@MISC{API00, author = {American Petroleum Institute, API}, title = {{Recommended Practice for Planning, Designing and Constructing Fixed Offshore Platforms - Working Stress Design}}, howpublished = {{API RP 2A - WSD, Washington DC, USA}}, year = {2000} } @ARTICLE{Tacan11a, author = {Ta\c{s}an, H.E. and Rackwitz, F. and Glasenapp, R.}, title = {{Experimentelle Untersuchungen zum Verhalten von zyklisch horizontal belasteten Monopiles}}, journal = BT, year = {2011}, volume = {88}, pages = {102-112}, number = {2} } @ARTICLE{Taciroglu02, author = {Taciroglu, E. and Hjelmstad, K. D.}, title = {{Simple Nonlinear Model for Elastic Response of Cohesionless Granular Materials}}, journal = JEM, year = {2002}, volume = {128}, pages = {969 - 978} }
(3):
\begin{thebibliography}{1} \bibitem{API00} API American Petroleum~Institute. \newblock {Recommended Practice for Planning, Designing and Constructing Fixed Offshore Platforms - Working Stress Design}. \newblock {API RP 2A - WSD, Washington DC, USA}, 2000. \bibitem{Tacan11} H.E. Ta\c{s}an, F.~Rackwitz, and R.~Glasenapp. \newblock {Ein Bemessungsmodell f\"ur Monopilegr\"undungen unter zyklischen Horizontallasten}. \newblock {\em Bautechnik}, 88(5):301--318, 2011. \bibitem{Taiebat99} H.A. Taiebat. \newblock {\em Three dimensional liquefaction analysis of offshore foundation}. \newblock PhD thesis, University of Sydney, 1999. \end{thebibliography}
Die Warnung lautet: WARNING: Citation .... on page 3 undefined on input line 1
Der Fehler trat bereits mit dem "fancyheadings"-Paket auf, weßhalb ich auf das Komaskript ausgewichen bin, in der Hoffnung, dass es hilft.
Ich verwende das TeXnicCenter (1.0), habe die BIB-Einträge über JabRef (2.8.1) eingelesen und erneut erstellt. Daneben verwende ich "scrpage2" aus dem KomaSript (2012-07-22)
Ich vermute, dass Besonderheiten der BIB-Einträge die Probleme verursachen, da der zweite Verweis in der Kopfzeile erkannt wird. Da allerdings die andren beiden Einträge vom BIB-tex ohne eine Kopfzeile, bzw. die Verwendung von "scrpage2" einwandfrei erkannt und verarbeitet werden, denke ich liegt das Problem im KomaSkript.
Ich würde mich sehr freuen, wenn mir jemand bei diesem Problem helfen könnte, so dass ich nicht gezwungen bin alle Zitate aus meinen Überschriften herauszunehmen.
Vielen Dank dafür im Voraus!
Kein KOMA-Script-Problem
Zunächst bekomme ich bereits bei Deinem Beispiel von BibTeX die Fehlermeldung:
Das ist auch nicht weiter verwunderlich. Im
standardstyle
(der übrigens bei Verwendung der Standardklassen voreingestellt ist, so dass die Option überflüssig ist) wird für die Kopfzeilen\MakeUppercase
verwendet. Diese Anweisung wandelt alles, was selbst kein Befehl ist, in Großbuchstaben. Das gilt auch für Argumente von anderen Befehlen. Also wird aus »Zitat \cite{Tacan11} and \cite{API00} and \cite{Taiebat99}
« in der Kopfzeile »ZITAT \cite{TACAN11} AND \cite{API00} AND \cite{TAIEBAT99}
«. Da es fürTACAN11
undTAIEBAT99
aber keine Einträge im Literaturverzeichnis gibt, stellt BibTeX auch keine dafür bereit.Die einfachste Lösung für dieses Problem wäre, alle Schlüssel im Literaturverzeichnis in Großbuchstaben anzugeben oder auf den unsäglichen, typographisch ohnehin falschen Versalsatz in den Kopfzeilen zu verzichten. Theoretisch müsste es dann funktionieren. Praktisch kann ich das nur ausprobieren, indem ich Dein Beispiel modifizieren, weil nämlich Dein Ausschnitt aus der bib-Datei gar keine Einträge für Tacan11 und Taiebat99 enthält. :(
Ich beginne also einmal damit, ein echtes vollständiges Minimalbeispiel für Dein Problem zu machen:
Siehe da, das Problem tritt bereits hier ganz ohne Zutun von scrpage2 auf. Du darfst also sofort davon ausgehen, dass es nichts mit scrpage2 zu tun hat, sondern eine der vielen Einschränkungen der LaTeX-Kernanweisung
\MakeUppercase
ist.Es ändert sich auch nichts, wenn man die beiden auskommentierten Zeilen aktiviert. Es ändert sich aber, wenn man zusätzlich eine Option einfügt:
Damit hat man dann auch nicht mehr den unsäglichen, falschen Versalsatz.
Oder aber man ändert, wie bereits erwähnt alle Schlüssel (und dann natürlich auch alle
\cite-
Argumente:Hier kann man auch wieder wahlweise die beiden scrpage2-Zeilen auskommentieren, um zu sehen ob bzw. dass es dann auch mit der Klasse selbst funktioniert. Aber wie erwähnt empfehle ich: Keinen stümperhaft automatischen Versalsatz verwenden!
BTW: Die restlichen Warnungen von BibTeX solltest Du ebenfalls ernst nehmen. Außerdem solltest Du dringend einmal »Das LaTeX2e Sündenregister« lesen! Nicht nur, dass das Paket a4 aus Deinem eigenen Beispiel besser nicht verwendet werden sollte, es wird durch das (ebenfalls eher nicht empfehlenswerte) manuelle Ändern der Seitenspiegellängen ohnehin weitgehend überflüssig.