PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fancyhdr - Problem bei Kopfzeilenerstellung



doorbell
21-01-2014, 13:13
Hallo,
ich habe gerade erst angefangen mich mit dem Thema LaTeX auseinanderzusetzen. Ich verwende Miktex und Lyx, soweit komme ich eigentlich ganz gut zurecht. Zwischendurch muss ich doch des öfteren mal google oder das Handbuch befragen. Allerdings komm ich jetzt wirklich nicht mehr weiter.

Ich hab als Dokumentenklasse "article" gewählt. Meine Diplomarbeit wird in Abschnitte, Unterabschnitte, Unterunterabschnitte und Paragraphen gegliedert. Ich hätte gerne eine Kopfzeile, die am rechten Blattrand den Abschnittsnamen ohne Nummer angibt. Am linken Rand soll gar nichts stehen. Die Kopfzeile soll vom Text durch eine Linie getrennt sein. Als Fußzeile will ich wiederum eine Linie als Trennung und die Seitenzahlen am rechten Rand.

Ich benutze das package fancyhdr. Habe mich auch bereits durch diverse Dokumentationen (inklusive ctan) gearbeitet. Aber ich schaffe einfach nicht das zu bekommen was ich will. (Ein Grund ist mit Sicherheit das fehlende Verständnis der Befehle).
Im Moment hab ich folgendes in meinem Latex-Vorspann stehen:

\usepackage{fancyhdr}
\pagestyle{fancy}
\pagestyle{fancyplain}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\lhead{\fancyplain{}{\textit{\leftmark}}}


Das führt dazu, dass ich jetzt zwar in der Kopfzeile meine Abschnittsnamen habe, aber leider doppelt, einmal links und einmal rechts. In der Fußzeile ist die Seitenzahl in der Mitte.

Ich sag schon mal Danke für die Hilfe!

Daniel
21-01-2014, 14:38
Hallo, bei "wikibooks" steht Folgendes:

Präambel:
\usepackage{fancyhdr} %Paket laden
\pagestyle{plain} %nur Seitenzahl in der Fußzeile (LaTeX-Standard)
oder:
\pagestyle{empty} %ganz leer
oder:
\pagestyle{headings} %Abschnitt/Kapitel links oben, Seitenzahlen rechts/außen oben

Oder aber eigene Einstellungen vornehmen:
\pagestyle{fancy} %eigener Seitenstil
\fancyhf{} %alle Kopf- und Fußzeilenfelder bereinigen
\fancyhead[L]{Titel} %Kopfzeile links
\fancyhead[C]{} %zentrierte Kopfzeile
\fancyhead[R]{Name} %Kopfzeile rechts
\renewcommand{\headrulewidth}{0.4pt} %obere Trennlinie
\fancyfoot[C]{\thepage} %Seitennummer
\renewcommand{\footrulewidth}{0.4pt} %untere Trennlinie

Unterschied zwischen geraden/ungeraden Seiten:
\fancyhead[OR]{} % "O" steht für "odd", also ungerade Seiten
\fancyhead[ER]{} % "E" für "even", also gerade Seiten.



Es heißt: Wer suchet, der findet.
guenther

doorbell
21-01-2014, 14:54
Hallo,

danke für die Anwort. Glaub mir, ich hab 2 Stunden lang gesucht. Unter anderem auch auf der wikibooks Seite die du mir genannt hast. Ich hab auch hier im Archiv nach Lösungen gesucht bevor ich einen eigenen Thread aufgemacht habe. Ich hab ca. 10 verschiedene command versionen ausprobiert. Entweder mit dem Erfolgt, dass nicht kompiliert wurde, oder es wurde kompiliert aber das falsche angezeigt. Ich bin halt anscheinend zu blöd um zu checken was ich falsch mache. Deswegen habe ich um Hilfe gefragt. Wenn ich es selber lösen könnte, hätte ich es bereits getan, so wie mit den anderen Problemen die ich bis jetzt hatte !


Als Anzeige hatte ich dann auch schon eine Kopfzeile mit Trennlinie in der auf der Contents Seite (automatisch erstelltes Inhaltsverzeichnis) "Contents" stand. Auf den folgenden Seiten wo es nur Abschnitte aber keine Unterabschnitte gibt war die Kopfzeile leer. Und auf den folgenden Seiten mit Unterabschnitten waren diese angeführt anstelle der Abschnittsnamen
Leider habe ich die command lines nicht extra gespeichert. Sonst würde ich sie dir gerne zur Verfügung stellen.

lg

u_fischer
21-01-2014, 15:18
Schicke keine Codeschnipsel, sondern mache immer vollständige, kleine Beispiele, die andere kompilieren können. Dann ist es viel einfacher, dir korrigierten Code zu schicken.

Ansonsten:
Es macht keinen Sinn zwei Seitenstile zu aktivieren:


\pagestyle{fancy}
\pagestyle{fancyplain}

Entscheide dich für einen. D.h. streiche die Zeile mit fancyplain.

Wenn du am linken Rand nichts haben willst, solltest du in \lhead nichts reinschreiben. Wenn dort bereits was ist, kannst du es so leeren:


\lhead{}

oder mit \fancyhead{} (Kopf leeren), oder \fancyhf{} (Kopf und Fuß leeren)

Den rechten Rand kannst du hiermit füllen.


\rhead{\itshape \leftmark}




Und ignoriere Daniel/Günther. Der schreibt meist nur Unsinn. \pagestyle{headings} in Kombination mit fancyhdr z.B. ist Quatsch.

Daniel
21-01-2014, 15:51
Hi doorbell, das was ich geschrieben habe, ist eine Anleitung, die von Wikibooks stammt. Ich denke, es könnte dir helfen. Das, was Fischer geschrieben hat, ist ärgerlich, aber nicht so wichtig. Praktische Hilfe ist besser und liegt dem Menschen näher, als das zu erörtern, was andere verkehrt machen.

doorbell
21-01-2014, 15:59
u_fischer: das ist alles was ich an Code habe. Wie in meinem Ursprungspost beschrieben arbeite ich mit Lyx, und da gibts nicht mehr Code wenn man nicht spezielle Dinge, wie eben eine Kopf/Fußzeile, macht.

Daniel: Ich weiß, dass das was du mir geschickt hast eine Anleitung ist. Wie ich bereits geantwortet habe, habe ich diese BEVOR ich den thread hier eröffnet habe bereits gelesen und nicht verstanden. So wie viele andere Anleitungen auch.

u_fischer
21-01-2014, 16:09
u_fischer: das ist alles was ich an Code habe. Wie in meinem Ursprungspost beschrieben arbeite ich mit Lyx, und da gibts nicht mehr Code wenn man nicht spezielle Dinge, wie eben eine Kopf/Fußzeile, macht.


Tja, das ist das Problem mit Lyx: Support ist damit ausgesprochen schwierig.
Versuche möglichst kleine Beispiele nach LaTeX zu exportieren, und die einzustellen.

Versuche es hiermit:


\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\fancyhf{}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\rhead{\itshape\rightmark}
\rfoot{\thepage}

doorbell
21-01-2014, 16:31
u_fischer: Danke, hab deinen Code ausprobiert. Leider werden anstatt der Abschnittnamen die Unterabschnittnamen angezeigt. Ich hab das Problem mittlerweile weitgehend selbst gelöst. Hier mein Code:

\usepackage{fancyhdr}
\pagestyle{fancy}
\pagestyle{fancyplain}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\lhead{}
\chead{}
\rhead{\uppercase{\leftmark}}
\lfoot{}
\cfoot{}
\rfoot{\thepage}

Der ist vielleicht etwas umständlich, aber er passt zu fast 100% mit dem zusammen was ich haben will. Das Problem war anscheinend, dass leftmark die Abschnittnamen sind und rightmark die Unterabschnittnamen sind. (So hab ich das zumindest aus der ctan Anleitung verstanden).
Das einzige Problem, das mir geblieben ist ist folgendes... Ich habe einen Abschnitt, der im Unterschied zu all den Anderen keine Zahl trägt. Hier seht ihr meine Dokumenteinteilung:
1. Abstract
Zusammenfassung
2. Introduction
2.1.
2.2.
3. Materials and Methods

Statt Zusammenfassung steht allerdings Abstract in der Kopfzeile. Ich könnte mir vorstellen, dass es etwas mit der fehlenden Nummer zu tun hat. Ich hab allerdings keine Ahnung wieso oder wie ich das ändern könnte.

lg

u_fischer
21-01-2014, 17:31
Leider werden anstatt der Abschnittnamen die Unterabschnittnamen angezeigt.

Füge noch

\renewcommand{\subsectionmark}[1]{}

hinzu.

\renewcommand{\sectionmark}[1]{\markboth{#1}{}}

und dann \leftmark statt \rightmark geht aber auch.


Statt Zusammenfassung steht allerdings Abstract in der Kopfzeile. Ich könnte mir vorstellen, dass es etwas mit der fehlenden Nummer zu tun hat.

\section*-Überschriften erzeugen weder Kopfzeilen noch Einträge ins Inhaltsverzeichnis. Da musst du den \markboth{..}-Befehl manuell eintragen. Ich würde dir aber empfehlen eine KOMA-Klasse zu benutzen und dort den \addsec-Befehl zu benutzen.