PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Subsections im Kopf doppelt, falsche Seite



wincel
16-12-2009, 16:52
Hi, vermutlich ist das ein einfaches Problem aber ich fürchte, ich bin einer der unsäglichen "Anwender" und habe sonst keine Ahnung von solchen Sachen ... :confused:
Ich schreibe gerade meine Doktorarbeit mit Sciwriter, da Word mir damals meine Diplomarbeit total zerrupft hat und Sciwriter ja auch wie Word bedienbar ist, also brauche ich Latex nicht weiter zu lernen. Dazu Miktex in der aktuellen Version. Jetzt bin ich soweit fertig und habe auch rausgefunden, wie ich die LaTex Präambel editiere und fancyhdr aufgerufen wird. Was ich versuche, ist folgendes:
links soll auf jeder Seite in der Kopfzeile das stehen ...
section Nummer. section Name - subsection Name
Also mit dem Bindestrich möglichst.

Was ich mir zusammengepuzzled habe, ist das


% Font Size (10pt, 11pt or 12pt)
\documentclass[12pt,a4paper]{article}

% Text Size
\setlength{\textwidth} {160mm}
\setlength{\textheight}{230mm}

% Left Margin
\setlength{\oddsidemargin} {0mm}
\setlength{\evensidemargin}{0mm}

% Top Margin
\setlength{\topmargin} {0mm}

% Headings (Comment this line out to turn off headings
\usepackage{fancyhdr}
\pagestyle{fancy}
\addtolength{\headheight}{\baselineskip}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{#1}}
\rhead{\leftmark\\\rightmark}
% \pagestyle{headings}

% Footer Margin
\setlength{\footskip} {0mm}

% Note Margins
\setlength{\marginparpush} {0mm}
\setlength{\marginparwidth} {0mm}
\setlength{\marginparsep} {0mm}


Das ist irgendwie falsch, denn was passiert ist, daß da im Kopf auf jeder Seite steht ...
links Zeile 2: subsection Name
rechts Zeile 1: section Name
rechts Zeile 2: subsection Name

Ähm ... :confused:
Könnte mir jemand weiterhelfen bitte? Ich habe jetzt Stunden verbracht mit Handbüchern und Seiten zu fancyhdr und viel rumgebastelt, aber meistens führt das nur zum pdf-Umwandlungsabbruch und ehrlich gesagt ... ich verstehe immer noch nicht so richtig, was ich hier eigentlich mache. :rolleyes: Die Handbücher sind mehr Fachchinesisch für mich, hat mit meinem Gebiet absolut garnichts zu tun. Danke!

u_fischer
16-12-2009, 16:59
Nun, wenn links etwas haben willst, solltest vielleicht \lhead statt \rhead benutzen.

Und wenn du einen Bindestrich haben willst, solltest du vielleicht nicht \\ (=Zeilenumbruch) zwischen \leftmark und \rightmark setzen, sondern ~--~.

Es ist auch meist sinnvoll die Kopfzeile mit \fancyhead{} zuerst zu leeren.

wincel
16-12-2009, 17:12
Wow, fantastisch, danke für die schnelle Antwort. Habe jetzt das drin und es geht. :)


\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\addtolength{\headheight}{\baselineskip}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{#1}}
\lhead{\leftmark~--~\rightmark}

Jetzt hätte ich nur noch drei Fragen:
1. Zum Verständnis ... warum "markboth" bei section und "markright" bei subsection, die stehen doch auf jeder Seite und halt ... links? :confused:

2. Wie kann ich einstellen, daß dieser Bindestrich da nur steht, wenn es auch ein subsection gibt? Momentan steht der ja immer dort?

3. Wie kann ich die Nummer der Section einfügen, im Moment stehen da nur die Überschrift ohne Nummer? Im Text sind sie ja normal nummeriert, im Inhaltsverzeichnis auch.

Danke vielmals!

u_fischer
16-12-2009, 17:29
1. \markboth + \markright sind die Befehle, die die Marken speichern (vergleichbar mit \label). \markboth verändert sowohl den linken als auch den rechten Teil der Marken. \markright nur den rechten und übernimmt den linken Teil von der vorherigen Marke.

\leftmark gibt den linken Teil der letzten Marke auf der Seite aus, d.h. bei dir (da nur section den linken Teil ändert), die letzte section auf der Seite. \rightmark den rechten Teil der ersten Marke, also nur dann eine \subsection wenn kein \section-Befehl davor kommt. (Wenn du mehrere \section auf einer Seite hast oder eine \subsection vor der \section, kann das also komisch aussehen.)

2.+3. du kannst Nummern und Bindestrich über die \mark-Befehle setzen:


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{fancyhdr}
\pagestyle{fancy} \fancyhead{}
\addtolength{\headheight}{\baselineskip}
\renewcommand{\sectionmark}[1]{\markboth{\thesection~#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{~--~\thesubsection~#1}}
\lhead{\leftmark\rightmark}

\begin{document}\sffamily
\section{A}
\newpage
\subsection{a}
\section{B}
\subsection{b}
\end{document}

wincel
16-12-2009, 17:52
Hm ... ich muß nochmal nachfragen, entschuldigung, die Logik dahinter erschließt sich mir noch nicht ganz.

1. Brauche ich denn nach Deiner Erklärung überhaupt markright? Oder sollte ich dann nicht besser markboth für beide verwenden?

2. Du hast da eine andere Dokumentklasse, die brauche ich aber nicht zu übernehmen, sondern nur den Rest, ja?
Weil das bei mir folgende Fehlermeldung gibt beim Umwandeln in pdf:
! LaTeX Error: Option clash for package inputenc.

u_fischer
16-12-2009, 17:58
1. Probiere es doch aus. Mache ein kleines Beispiel mit diversen section/subsection-Kombinationen auf den Seiten und dann schau, was rauskommt.

2. Auch hier gilt: Probiere es. Schlimmstenfalls bekommst du einen Fehler.

wincel
16-12-2009, 18:04
Hab es jetzt hinbekommen. :D


\usepackage{fancyhdr}
\pagestyle{fancy} \fancyhead{}
\addtolength{\headheight}{\baselineskip}
\renewcommand{\sectionmark}[1]{\markboth{\thesection~#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{~--~#1}}
\lhead{\leftmark\rightmark}
... tut was ich haben möchte. Vielen Dank für die Tips, davor hab ich fast fünf Stunden drüber verzweifelt.:rolleyes: