Hallo,
ich schreibe gerade meine Diplomarbeit und nutze dafür Lyx und die KOMA-Script report Dokumentenklasse.
Soweit funktioniert alles hervorragend und seit dem ich scrpage2 für die Kopf- und Fußzeilen verwende
komme ich auch damit besser zu recht.
Was ich bisher leider noch nicht hinbekommen habe, ist die Ausgabe von chapter und section in der
Kopfzeile des einseitigen Dokumentes. Alle Bemühungen führten bisher nur zur Ausgabe von chapter
oder section. Ich habe bereits versucht etwas in den vorhandenen blogs und Forumeinträgen zu finden,
bisher leider ohne Erfolg (wenn ich was übersehen haben sollte - sorry).
Gibt es eine Möglichkeit beide Ebenen auf einer Seite auszugeben?
Vielen Dank
mfg Danny
\automark, \leftmark, \rightmark
Das geht, wenn man auch die Option autooneside bei scrpage2 verzichtet mit Hilfe von
\automark
,\leftmark
und\rightmark
.\headmark
genügt in dem Fall nicht, weil das ja nur eine der Marken enthalten würde.Bezüglich Kapitelanfangsseiten siehe KOMA-Script-Anleitung (auch Kapitel 3). Bezüglich näherer Informationen zu den verwendeten Anweisungen siehe ebenfalls KOMA-Script-Anleitung. Wie du die Anweisungen bei Lyx in die Präambel bekommst, wirst du als Lyx-Anwender sicher selbst wissen. Anderenfalls kannst du das in der Lyx-Anleitung nachlesen.
chapter auf beiden Seiten der Kopfzeile
So ähnlich hatte ich mir das schon gedacht und auch entsprechend
versucht, leider führt das nicht zum gewünschten Ergebnis.
Bei Verwendung dieser Präambel wird bei mir das aktuelle Kapitel im
rechten und linken Bereich der Kopfzeile ausgegeben.
Kann das an meinen Lyx Einstellungen liegen?
Meine derzeitigen Einstellungen:
Lyx Dokumentformat:
Klasse: report (koma-script)
Seiten-Stil: default
Seiten: Einseitig
Zusatz-Optionen: smallheadings, BCOR10mm, liststotoc
Päambel:
% hyperref links and bookmarks for pdf files
\usepackage[bookmarks, bookmarksopen, bookmarksopenlevel=1, bookmarksnumbered=true]{hyperref}
% \euro symbol
\usepackage{eurosym}
% foot and head
\usepackage{scrpage2}
\ofoot[\pagemark]{\pagemark}
\cfoot[]{}
\setheadsepline{.2pt}
\ihead{\leftmark}
\ohead{\rightmark}
\chead{}
\pagestyle{scrheadings}
\automark[section]{chapter}
mfg Danny
ps: Was hat es eigentlich mit \null und \clearpage auf sich?
Ich kann dir so nicht helfen
Da mein vollständiges Minimalbeispiel funktioniert (probier es doch bitte einmal aus), solltest du einfach einmal sehen, was der Unterschied zwischen meinem Beispiel und dem Quellcode eines von dir produzierten Beispiels ist. Mit deinem Codeschnipsel kann ich jedenfalls nichts anfangen. Da sind Teile drin, die mit dem Problem garantiert nichts zu tun haben (wie eurosym und vermutlich hyperref) und andererseits ist es nicht vollständig (keine Klasse, kein Body).
\null
ist so etwas ähnliches wie\mbox{}
. Es sorgt also dafür, dass etwas auf der Seite steht. Während also\clearpage\clearpage
keine leere Seite erzeugen würde, erzeugt\clearpage\null\clearpage
eine Seite mit leerem Satzspiegel (auf der in Wirklchkeit eine leere Box steht). Man könnte stattdessen beispielsweise auch~
verwenden. Dann hätte man ein Leerzeichen in dem scheinbar leeren Satzspiegel.Du hast mir schon geholfen!
Ich habe mich heute rangesetzt und die bisherigen Dokumente in
pures Latex umgewandelt - und siehe da es funktioniert. Lyx werde
ich wohl wieder über Board werfen, kann zwar eine Menge Arbeit
abnehmen, bringt aber andauernd irgenwelche Schwierigkeiten mit sich.
Also es funktioniert so wie Du es beschrieben hast.
Recht herzlichen Dank, Danny
lange Kapitel und doppelter Kopfzeileneintrag
Einen unschönen Effekt habe ich aber noch, für den ich bisher noch
keine Lösung gefunden habe. Der Kapitelanfang meiner Arbeit ist
teilweise zwei bis drei Seiten lang, was dazu führt, dass ab der
zweiten Kapitelseite die Kapitelüberschrift und -nummer bei der
vorgeschlagenen Lösung auf beiden Seiten im Kopf angezeigt wird
(siehe auch http://www.komascript.de/node/164).
Gleiches gilt auch für das Inhaltsverzeichnis (siehe auch
http://www.komascript.de/node/159). Grund ist anscheinend,
dass in dem Moment nur \chaptermark aber noch kein \sectionmark
definiert ist.
Wie kann ich das ändern, was für Möglichkeiten gibt es noch?
Danke für alle sachdienlichen Hinweise im Voraus,
mfg Danny
Lösung für das Inhaltsverzeichnis und besondere Kapitel
Die Lösung für das Inhaltsverzeichnis ist einfach: Erst nach den Verzeichnissen also unmittelbar vor dem ersten
\chapter
(und nach einem\clearpage
) das Feld für die Abschnittsmarke im Kopf definieren. Vorher mit einer Definition arbeiten, die dort nichts setzt.Die Lösung für die Kapitel mit besonders langer Einleitung ist fast so einfach: die section-Marke, die ja als rechte Marke definiert ist, wieder mit
\markright
löschen.Lösung
Danke für die schnelle und ausführliche Antwort,
die Lösung funktioniert einwandfrei, hatte zuvor schon
versucht den Inhalt der Variablen zu setzen, aber den
\markright{} Aufruf habe ich wohl leider übersehen.
mfg Danny
ps: Ich glaub nach Beendigung der Arbeit werde ich mich mal
ein wenig genauer mit der "Programmierung" in Latex
auseinander setzen, die Lösung bzw. die Erzeugung des Inhaltes faziniert mich.
Sections auf beiden Seiten der Kopfzeile...
Hallo,
ich habe das gleiche Problem wie es Danny hatte. Ich habe ewig herumprobiert und die Lösung, die Markus Kohm gepostet hat, ausprobiert. Ich weiß, dass sie funktionieren sollte, doch obwohl ich der Meinung bin, alles richtig gemacht zu haben, klappt es nicht. Selbst wenn ich meine Arbeit aus LyX als reines Tex-file exportiere und daraus dann ein DVI-File erzeuge, wird mir die Kopfzeile nicht richtig angezeigt. Es scheint also ein Fehler im Latex-Vorspann zu sein, den ich nicht finden kann.
Ich möchte kurz das Problem beschreiben und hoffe, dass jemand den Fehler in der angehängten Preamble finden kann. Ich will, dass in der rechten Feld der Kopfzeile meines einseitigen Dokumentes automatisch das jeweilige Kapitel aufgeführt wird, in der linken (ebenfalls automatisiert) der aktuelle Abschnitt des Kapitels. Jetzt tritt bei mir folgendes Problem auf: Mein erstes Kapitel hat noch keine Abschnitte (die werde ich erst noch schreiben). Somit wird nur der Titel des Kapitels in der Kopfzeile angezeigt und zwar auf der rechten Seite (eingentlich müsste er ja auf der linken Seite auftauchen). Im folgenden zweiten und dritten Kapitel erscheinen dann auf beiden Seiten der Kopfzeile die Sections und nicht, wie es eigentlich sein müsste, links das Kapitel und rechts die jeweilige section. Allerdings ist mir aufgefallen, dass auf den Seiten, auf denen zwei sections beginnen, beide sections in der Kopfzeile stehen, wobei die frühere section auf der rechten und die spätere auf der linken Seite steht, also:
---------------------------------
3.9 blabla 3.8 bla
---------------------------------
Normalerweise sieht es so aus:
---------------------------------
3.7xy 3.7 xy
---------------------------------
Aussehen sollte es jedoch generell so:
---------------------------------
3. Kapitel 3.8 bla
---------------------------------
Irgendwie komme ich mit der ganzen Sache nicht klar und wäre sehr dankbar, wenn mir einer von Euch Experten helfen könnte. Der LaTeX-Vorspann, den Lyx fabriziert, sieht bei mir so aus:
%% LyX 1.3 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[12pt,german]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{verbose,a4paper,tmargin=2.5cm,bmargin=3cm,lmargin=3cm,rmargin=2cm}
\pagestyle{headings}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\setlength\parskip{\medskipamount}
\setlength\parindent{0pt}
\usepackage{varioref}
\usepackage{setspace}
\onehalfspacing
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{scrpage2}
\ihead{\leftmark}
\ohead{\rightmark}
\chead{}
\pagestyle{scrheadings}
\automark[chapter]{section}
\setheadtopline{.2pt}
\setheadsepline{.4pt}
\setkomafont{pagehead}
{\normalfont\sffamily\mdseries}
\usepackage{babel} \usepackage[citefull=first,authorformat=smallcaps,titleformat=italic,ibidem=strict,commabeforerest,bibformat=ibidem,oxford]{jurabib}
\makeatother
\begin{document}
\chapter{Einleitung}
.
.
.
.
Für den rettenden Hinweis wäre Euch sehr dankbar,
Sebastian
LyX will nicht so recht
leider habe ich es in Lyx nicht hinbekommen. Da ich aber mit der
Zeit eh immer mehr eigene Kommandos verwendet habe und somit die
Arbeit mit Lyx durch die Verwendung der eigebetteten Kommandos immer
umständlicher wurde, habe ich wieder zu reinem Latex gewechselt -
womit auch die geschilderte Lösung funktioniert.
mfg Danny
Leider wahr!
Ich bin jetzt auch auf die klassische TeX-Variante umgestiegen. Dann funktioniert der Code, den Markus Kohm gepostet hat, erwartungsgemäß tadellos! Interessant war folgendes: Ich habe einige Zeilen aus dem aus LyX exportierten .tex-file umgestellt und dann funktionierte es auch mit diesem Code! So funktionierte das Ganze erst dann richtig, als vor ich \usepackage{babel} und alle Bibliographieangaben vor \usepackage{scrpage2} im TeX-Code positionierte. Wahrscheinlich ist das für Leute mit TeX-Erfahrung ein alter Hut?! Außerdem wollte TeX nur dann meine Bibliographie und die Fußnoten richtig darstellen, wenn zugleich nur eine pagestyle-Angabe gemacht wurde, nämlich \pagestyle{scrheadings}. Im obigen von mir geposteten Code sieht man, dass LyX noch einen weiteren pagestyle angibt.
Ich werde auf jeden Fall weiter mit LyX arbeiten - es ist ja unbestritten sehr komfortabel. Am Ende jedoch, wenn es um den Textsatz gehen wird, werde ich einfach das TeX-File exportieren und die fehlerhafte LyX-Präambel duch die funktionierende ersetzen. Mir scheint, dass LyX einfach widersprüchliche Angaben in die Preamble schreibt und die Reihenfolge der Anweisungen missachtet, was dann zu dem Problem mit den Kopfzeilen führt. Da ich jedoch kaum Tex-Erfahrung habe, bin ich wohl nicht der richtige, wenn es darum geht, eine genaue Diagnose zu geben, weshalb der von LyX produzierte Code fehlerhaft ist und wie man das in LyX abstellen könnte. Offenbar eine Aufgabe für jemanden, der mehr davon versteht!
Dank und Gruß
Sebastian
babel-Problem ein alter Hut
Babel definiert
\markboth
um. Das ist deshalb ein Problem, weil vorher eventuell Seitenstile bereits etwas wie\let\@mkboth\markboth
gemacht haben, also\@mkboth
die aktuelle Bedeutung von\markboth
gegeben haben. Intern wird dann zukünftig in den Klassen\@mkboth
mit der alten Bedeutung von\markboth
verwendet, obwohl eigentlich die neue Bedeutung von\markboth
verwendet werden sollte. Das ist schonmal nicht gut. Bei scrpage2 kommt hinzu, dass für die Frage, ob\sectionmark
(bzw. bei Verwendung von\markleft
auchchaptermark
) etwas tun soll oder nicht, verglichen wird, ob derzeit\markright
mit\@mkboth
identisch ist oder nicht. Das ist nicht mehr der Fall, wenn zwischenzeitigbabel
zugeschlagen hat.Es gibt vier mögliche Lösungen für das Problem:
\let\@mkboth\markboth
einfügen, wenn vor der Umdefinierung von\markboth
bereits\ifx\@mkboth\markboth
zutreffend war.\ifx\@mkboth\markboth
in\ifx\@mkboth\@gobbletwo\else
ändern.\automark
ausführen, weil damit dann wieder ein
\let\@mkboth\markboth
ausgeführt wird, falls das notwendig ist.Die ersten beiden Lösungen müssten die Paketautoren durchführen, wobei die zweite Lösung eventuell wieder zu anderen, neuen Problemen führt (beispielsweise mit Tricks, wie in splitidx.sty verwendet). Die letzten beiden Lösungen kann jeder selbst verwenden.
Du hast eben nicht die Einstellungen aus meinem Minimalbeispiel
Es macht einen deutlichen Unterschied, ob man
\automark[section]{chapter}
oder\automark{chapter}[section}
schreibt und dann einfach\leftmark
und\rightmark
vertauscht. Warum das einen deutlochen Unterschied macht, ist den ausführungen zu\markleft
und\markright
in der Erklärung zu\chapterpagestyle
in Kapitel 3 zu entnehmen.WARNUNG: Bitte nicht die Forum-Datenbank durcheinander bringen!
Bitte nicht durch Definition eines laut ALIAS-Beschreibung unzulässigen URL-Aliases, die Forum-Datenbank durcheinander bringen! Das beschädigt beispielsweise den RSS-Zugang zu den Seiten. Außerdem hatten wir nun wirklich schon oft genug Konfussion in der Datenbank. Wenn das nochmal vorkommt, wird der entsprechende Benutzer gesperrt, und der Beitrag komplett gelöscht. Wenn es noch öfter vorkommt, wird das Forum abgeschaltet!
Lösung mit scrlayer-scrpage
Bei Verwendung des aktuellen Kopfzeilenpakets
scrlayer-scrpage
muss die Optionautooneside=false
explizit gesetzt werden, wenn das optionale Argument von\automark
bei einem einseitigen Dokument berücksichtigt werden soll.