Hallo,
folgendes Beispiel führt zu grauenhaften Fehlermeldungen ("texmf/tex/latex/koma-script/scrpage2.sty:165:Undefined control sequence. \def@onesidehead
"):
\documentclass{article} \usepackage{titlesec} \usepackage{scrpage2} % \begin{document} Here we (don't) go! \end{document}
Der Fehler tritt bei alter (texlive 2007) und neuer titlesec-Version auf:
*File List* article.cls 2005/09/16 v1.4f Standard LaTeX document class size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option) titlesec.sty 2007/08/12 v2.8 Sectioning titles scrpage2.sty 2007/07/23 v2.2e LaTeX2e KOMA-Script package *********** *File List* article.cls 2005/09/16 v1.4f Standard LaTeX document class size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option) titlesec.sty 2005/01/22 v2.6 Sectioning titles scrpage2.sty 2007/07/23 v2.2e LaTeX2e KOMA-Script package
Muss ich mich an den Autor von titlesec halten? Der Fehler kann übrigens vermieden werden, wenn man scrpage2 vor titlesec lädt.
Gruß und Danke,
Alexander
Da musst Du Dich schon an den titlesec-Autor wenden
\def@onesidehead
ist in scrpage2 definiert und wird von scrpage2 verwendet. Was titlesec alles fummelt, dass die eigentlich nicht weiter wilde Definition in scrpage2 nicht mehr funktioniert, kann ich Dir nicht sagen. Ich habe weder Zeit noch Lust, dem nachzulaufen. Ich kann nur vermute, dass titlesec zu irgendwelchen Expansionen führt, die es eigentlich nicht geben sollte.Du kannst natürlich auch einfach die Reihenfolge der Pakete vertauschen.
Allerdings kann ich Dir auch nicht sagen, ob die Umdefinierungen von
\markboth
etc. in titlesec kompatibel mit scrpage2 sind. So definiert und verwendet scrpage2 ggf. auch\markleft
, das natürlich von titlesec bei seinen Änderungen nicht berücksichtigt wird. Ich weiß nicht einmal, ob das nicht am Ende vielleicht sogar gut so ist.Man muss sich bei der Verwendung von titlesec immer bewusst sein, dass es sehr tief in LaTeX eingreift. Da kann schon mal das Zusammenspiel mit mit dem eine oder andere Feature eines anderen Pakets oder einer Klasse, das sich ebenfalls mit Überschriften, Kolumnentitel oder Verzeichnissen befasst, auf der Strecke bleiben.
Erledigt!
Ich habe Javier Bezos eine E-Mail geschrieben und werde über eine etwaige Antwort berichten.
Das Problem liegt für Leute wie mich darin, den Fehler zu finden, denn die Meldung selbst ist ja völlig nichtssagend.
Gruß,
Alexander
Fehler tritt übrigens nicht mehr auf
Mit scrpage2 tritt der beschriebene Fehler übrigens inzwischen nicht mehr auf. Verwendet man statt scrpage2 nun scrlayer-scrpage, was ich unbedingt empfehlen würde, tritt das Problem auf, dass titlesec auch eine Anweisung
\newpagestyle
definiert (was die meisten Anwender gar nicht wissen). Damit kann dann scrlayer-scrpage die darin enthaltene gleichnamige Anweisung nicht mehr definieren. Man muss sich nun entscheiden, welches\newpagestyle
man haben will. Will man das von titlesec, so muss man es nach scrlayer-scrpage laden. Will man dagegen das von scrlayer-scrpage muss man dieses Paket mit Optionforceoverwrite
laden: