Sie sind hier

Zitate/Literaturverweise aus Überschriften in Kopfzeile übernehmen

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!

Bild von Markus Kohm

Zunächst bekomme ich bereits bei Deinem Beispiel von BibTeX die Fehlermeldung:

Case mismatch error between cite keys TACAN11 and Tacan11
---line 11 of file test.aux
 : \citation{TACAN11
 :                  }
I'm skipping whatever remains of this command
Case mismatch error between cite keys TAIEBAT99 and Taiebat99
---line 13 of file test.aux
 : \citation{TAIEBAT99
 :                    }
I'm skipping whatever remains of this command
Database file #1: test.bib
Warning--I didn't find a database entry for "Tacan11"
Warning--I didn't find a database entry for "Taiebat99"
(There were 2 error messages)

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ür TACAN11 und TAIEBAT99 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:

\begin{filecontents*}{\jobname.bib}
@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}
}
\end{filecontents*}
 
\documentclass{book} 
%\usepackage[headsepline,standardstyle]{scrpage2}
%\pagestyle{scrheadings} 
\begin{document}
 
\chapter{Test}
\newpage
\section{Zitat \cite{Tacan11a} and \cite{API00} and \cite{Taciroglu02}}
Inhalt des Abschnitts (Kapitel in Kopfzeile)
\newpage
Zweite Seite (Section in Kopfzeile)
 
\bibliographystyle{plain}
\bibliography{\jobname}
 
\end{document}

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:

% Hinweis: Die bib-Datei wurde bereits mit dem vorherigen Beispiel
% erzeugt, weshalb die filecontents-Umgebung hier weggelassen
% wurde. Sie ist ggf. hierher zu duplizieren.
\documentclass{book} 
\usepackage[headsepline,standardstyle,nouppercase]{scrpage2}
\pagestyle{scrheadings} 
\begin{document}
 
\chapter{Test}
\newpage
\section{Zitat \cite{Tacan11a} and \cite{API00} and \cite{Taciroglu02}}
Inhalt des Abschnitts (Kapitel in Kopfzeile)
\newpage
Zweite Seite (Section in Kopfzeile)
 
\bibliographystyle{plain}
\bibliography{\jobname}
 
\end{document}

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:

\RequirePackage{filecontents}% Damit \jobname.bib ggf. überschrieben wird.
\begin{filecontents*}{\jobname.bib}
@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}
}
\end{filecontents*}
 
\documentclass{book} 
\usepackage[headsepline,standardstyle
%  ,nouppercase% Eigentlich unbedingt zu empfehlen, aber ich weiß ja, dass
              % Anwender sich bei der Typographie ungern etwas erzählen
              % lassen.
]{scrpage2}
\pagestyle{scrheadings} 
\begin{document}
 
\chapter{Test}
\newpage
\section{Zitat \cite{TACAN11A} and \cite{API00} and \cite{TACIROGLU02}}
Inhalt des Abschnitts (Kapitel in Kopfzeile)
\newpage
Zweite Seite (Section in Kopfzeile)
 
\bibliographystyle{plain}
\bibliography{\jobname}
 
\end{document}

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.

Comments for "Zitate/Literaturverweise aus Überschriften in Kopfzeile übernehmen" abonnieren