PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kopfzeile erstellen mit Fancyhdr



inco
03-06-2009, 21:56
Guten Abend liebe Latex-Gemeinde,

ich beschäftige mich seit knapp 3 Tagen mit dem Thema Latex, bin also ein blutiger Anfänger. Dennoch werde ich versuchen mein Problem so verständlich wie möglich darzustellen.

Ich hab mir vorgenommen eine Studienarbeit für die Uni mit Latex zu verfassen und bin dem Ziel schon recht nahe. Das Layout gefällt mir schon größtenteils. Jedoch hab ich ein kleines Problem mit meiner Kopfzeile. Und zwar möchte ich die Kopfzeil mit einem Strich von dem Text trennen und darin soll das aktuelle Kapitel (Nr. und Titel) angezeigt werden.

Ich bin soweit, dass die Kopfzeile mit den Trennstrich erzeugt wird und in der linken Ecke die aktuelle Katielnummer angezeigt wird. Es kann eigentlich nicht mehr so schwer sein nun auch noch den Titel da reinzubekommen.


hier noch das Codebeispiel:


\documentclass[12pt]{report}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx,textcomp,booktabs,amsmath}
\usepackage[scaled]{helvet}
\usepackage{enumerate}
\usepackage[a4paper,
left=2.5cm, right=1cm,
top=2cm, bottom=2.3cm]{geometry}

\usepackage{graphics}
\usepackage[ngerman]{babel}
\usepackage{german, fancyhdr}
\pagestyle{fancy} %eigener Seitenstil
\fancyhf{} %alle Kopf- und Fußzeilenfelder bereinigen
\fancyhead[L]{\thechapter}{} %Kopfzeile links
\fancyhead[C]{} %zentrierte Kopfzeile
\fancyhead[R]{} %Kopfzeile rechts
\renewcommand{\headrulewidth}{0.4pt} %obere Trennlinie
\renewcommand{\headheight}{15pt} %obere Trennlinie
\fancyfoot[L]{TEXT TEXT TEXT}
\fancyfoot[C]{\thepage} %Seitennummer
\renewcommand{\footrulewidth}{0.4pt} %untere Trennlinie

Weiterhin würde ich gern noch wissen, ob ich lieber fancyhdr oder scrpage2 benutzen soll? Hab oft gelesen, das viele scrpage2 benutzen, bin damit meinem Ziel aber nicht so nahe gekommen wir mit fancyhdr.

Danke im Voraus für die Kommentare.

koiboy
03-06-2009, 22:06
Hi, ich bin selber erst seit ein paar Tagen an LaTeX dran und war auch schon mal bei deinem Problem ... so hab ich es gemacht:


\pagestyle{fancy}
\fancyhf{}
\lhead{\leftmark}
\rhead{\thepage}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

Jedenfalls hab ich so den Kapiteltitel in der Kopfzeile!

Komischerweise macht er bei mir automatisch die Linie unter der Kopfzeile, ohne die headrule-Command ... btw.:



\lhead = \fancyhead{L}

mechanicus
03-06-2009, 22:10
ich beschäftige mich seit knapp 3 Tagen mit dem Thema Latex, bin also ein blutiger Anfänger.
Hallo,

für deine Studienarbeit und wahrscheinlich auch Diplomarbeit würde ich dir empfehlen, deine Dokumentenklasse auf KOMA umzustellen. Bevor ich viele Worte dazu verliere: hier der Link zum scrguide (ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguide.pdf) (ist auch deutsch), der alle erklärt. (Auch die Erstellung von Kopf und Fußzeilen mit scrpage2)

Gruß
Marco

Stefan_K
03-06-2009, 22:12
Hallo Inco,

Du kannst fancyhdr als auch scrpage2 verwenden. Letzteres würde ich vorziehen, wenn eine KOMA-Klasse benutzt wird, was meine Wahl wäre, also scrreprt statt report.
Zu scrpage2 und den KOMA-Klassen lies doch mal etwas im Handbuch (ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/koma-script/scrguide.pdf), das könnte Dich vielleicht überzeugen.

\usepackage{graphics} würde ich übrigens streichen, da Du bereits graphicx lädst, weiterhin kann \usepackage{german} weg, da babel bereits mit ngerman arbeitet.

Viele Grüße,

Stefan


--
TeXblog.net (http://texblog.net)

inco
03-06-2009, 22:14
Den Guide hab ich auch schon gelesen (nicht komplett, aber die erstmal interessanten Passagen für mein Problem) und ich finde, dass er mir bei der Lösungsfindung nicht weiterhilft.

Ich komme iwie mit der Art, wie es beschrieben wird nicht zu recht. Habe verschiedene Dinge aus dem Guide versucht, jedoch ohne Erfolg. Deswegen bin ich erstmal bei fancyhdr geblieben.

localghost
03-06-2009, 22:23
Ein in dieser Hinsicht oft unterschätztes Paket ist titlesec (http://ctan.org/pkg/titlesec). Damit ist die Gestaltung für Standard-Klassen viel flexibler.

\documentclass[12pt,a4paper,ngerman]{report}
\usepackage{fixltx2e}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[includeheadfoot,left=2.5cm,right=1cm,top=2cm,botto m=2.3cm]{geometry}
\usepackage{lmodern}
\usepackage[calcwidth,pagestyles,raggedright,bf,sf]{titlesec}
\usepackage{blindtext}

% Einstellungen für Layout (titlesec)
\newpagestyle{front}{%
\headrule
footrule
\sethead[\thepage][][\bfseries\sffamily\chaptertitle]{\bfseries\sffamily\chaptertitle}{}{\thepage}
\setfoot[][][\scshape Institut]{Titel}{}{}
}
\newpagestyle{main}{%
\headrule
\footrule
\sethead[\thepage][][\bfseries\sffamily\thechapter\quad\chaptertitle]{\bfseries\sffamily\thechapter\quad\chaptertitle}{ }{\thepage}
\setfoot[][][\scshape Institut]{Titel}{}{}
}

\newpagestyle{back}{%
\headrule
\footrule
\sethead[\thepage][][\bfseries\sffamily\chaptertitle]{\bfseries\sffamily\chaptertitle}{}{\thepage}
\setfoot[][][\scshape Institut]{Titel}{}{}
}

\begin{document}
\pagestyle{front}
\tableofcontents
\newpage
\pagestyle{main}
\Blinddocument
\end{document}
Mit Hilfe der Anleitung sollte dir eine Anpassung an der Bedürfnisse nicht schwer fallen.


MfG
Thorsten¹

inco
03-06-2009, 22:30
Oke, das Problem ist gelöst. und zwar musste ich einfach nur


\fancyhead[L]{\thechapter}{} %Kopfzeile links


durch


\fancyhead[L]{\leftmark}{} %Kopfzeile links


ersetzen. Aber ich versteh die Lösung nicht. Was steht in Leftmark denn nu drin? ich bin so verwirrt. Hab 2 Tage daran gesessen, so viel gelesen und nun war es doch so einfach.

Bitte klärt mich auf ;)

koiboy
04-06-2009, 01:20
Jo, diese Leftmark-Geschichte hat mich auch wahnsinnig gemacht ... meiner Meinung nach sind die meisten Dokus zum Thema LaTeX insg. ziemlich bescheiden.

Leftmark speichert irgendwie die Infos über das Kapitel (bzw. den Namen des selbigen) und Rightmark speichert die Infos der Unterkapitel.

mechanicus
04-06-2009, 01:41
Was steht in Leftmark denn nu drin?
Hallo,

steht doch im scrguide:


\leftmark
\rightmark

Diese beiden Befehle erlauben es, auf die Kolumnentitel zuzugreifen, die
normalerweise für die linke bzw. die rechte Seite gedacht sind. Diese beiden
Befehle werden nicht von scrpage2, sondern direkt vom LATEX-Kern zur

Verfügung gestellt. Wenn in diesem Kapitel vom Kolumnentitel der linken
Seite oder vom Kolumnentitel der rechten Seite die Rede ist, dann ist damit
eigentlich der Inhalt von \leftmark und \rightmark gemeint.



Gruß
Marco

u_fischer
04-06-2009, 10:38
Was steht in Leftmark denn nu drin?

In \leftmark steht der Inhalt des linken Argument des letzten \markboth{links}{rechts}-Befehl der aktuellen Seite.

In \rightmark steht der Inhalt des rechten/einzigen Argument des ersten \markboth oder \markright-Befehls.

Im Normalfall (in einer book-Klasse) führt \chapter intern (über \chaptermark} "\markboth{\thechapter Name}{}" und \section (über \sectionmark) "\markright{...}" aus.

Daher steht in \leftmark gewöhnlich Nummer+Titel des letzten/einzigen Kapitels der Seite, und in \rightmark Nummer+Titel der ersten section.

Das kann man aber ändern. Entweder durch Umdefinition von \chaptermark etc, oder über die Highlevel-Befehle von KOMA (wie automark). Du kannst auch selbst \markboth/\markboth/\chaptermark/\sectionmark-Befehle ausführen und damit die Kopfzeilen ändern. Aber denke daran: immer nur der erste und letzte Befehl der Seite hat Auswirkungen. Deswegen ist es wichtig, sich zu überlegen, wo man die Befehle einfügt. Siehe auch:

http://www.tex.ac.uk/cgi-bin/texfaq2html?label=runheadtoobig

Ulrike fischer

koiboy
04-06-2009, 12:08
hehehe, dann lag ich Anfänger ja gar nicht mal sooo verkehrt... ;)

inco
04-06-2009, 17:26
puuhh.. das is ne Menge Input. Bin erstmal froh, dass alles so ist, wie ich es gern hätte.

Danke euch allen für die Eklärungen.

LG...

falamanki
10-01-2012, 13:57
Hallo Leute,
ich das Problem, dass ich den Section-Name in der Kopfzeile nicht zentriert hinbekomme.. (das ding bleibt links, egal was ich versuche..) :confused:

Hat jemand einen Vorschlag?
(Dass ich elsarticle verwende hat bis jetz noch bei keinem package eine rolle gespielt..)


\documentclass[final,3p,times,11pt]{elsarticle}

\usepackage{fancyhdr}

\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[0]{}
\begin{document}
\section{Introduction}

\end{document}

Ferner habe ich das Problem, dass in der Bibliography in der Kopfzeile links und rechts Bibliography steht, und bei listoffigures und listoftables bildet sich gar keine kopfzeile.. hab ich da was grundlegendes nicht gerafft ?

Cheers
Falamanki

u_fischer
10-01-2012, 14:45
\documentclass[final,3p,times,11pt]{elsarticle}

\usepackage{fancyhdr}

\pagestyle{fancy}
\chead{Ich bin in der Mitte \leftmark}
\lhead{und ich links}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[0]{}
\begin{document}
\section{Introduction}

\end{document}

Für weitere Infos siehe die Dokumentation.