Hilfe zu fancyhdr

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


icyfox
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 82
Registriert: Di 28. Jan 2014, 07:19

Hilfe zu fancyhdr

Beitrag von icyfox »

Ich habe zur Erstelllung der Kopfzeile das o.g. Paket entdeckt. Es funktioniert alles ziemlich gut wenn ich in \fancyhead[R/L/C]{"name"} usw schreibe.
Ich habe mir auch das manual durchgelesen, aber meine LaTeX/Programmier-Kenntnisse reichen nicht aus um zu verstehen wie die syntax funktioniert. Eigentlich müsste \sectionname bzw. \subsectionname funktionieren, macht es aber nicht.

das ist der springende Punkt:
\fancyhead[C]{\begin{footnotesize}hier soll \sectionname \ Sectionname stehen\\ hier soll \thesubsection\ Subsectionname stehen \end{footnotesize}}
und natürlich soll mir keine Subsection angezeigt werden wenn keine im Toc eingetragen ist (sprich 1.0 oder 2.0 soll vermieden werden)

habe versucht aus dem Originaldokument alles unwichtige zu löschen (hat mich ziemlich viel Zeit gekostet) um zu verdeutlichen was ich darstellen möchte. das Beispiel ist kompilierfähig. (ich hoffe das passt so)
\documentclass[fontsize=14pt,paper=a4,ngerman,div=calc]{scrartcl}

\usepackage{titlesec}
\titlespacing{\section}{0pt}{1em}{0em}
\titlespacing{\subsection}{0pt}{1em}{0em}
\titlespacing{\subsubsection}{0pt}{1em}{0em}
\setlength{\parindent}{0em} %absatzeinrückung
\setlength{\parskip}{1em} %generelles absatzverhalten

\usepackage[a4paper, left=2.5cm, right=2.5cm, top=2cm, bottom=3cm]{geometry}
\usepackage[onehalfspacing]{setspace} %Zeilenabstand 1,5 Zeilen

\usepackage{fancyhdr}
\fancyhead[L]{\footnotesize icyfox} %Kopfzeile links
\fancyhead[C]{\begin{footnotesize}hier soll \thesection\ Sectionname stehen\\ hier soll \thesubsection\ Subsectionname stehen \end{footnotesize}} 
\fancyhead[R]{\footnotesize Abschlussarbeit\\ \enquote{ASQ: Einf\"uhrung in \LaTeX}} %Kopfzeile rechts

\usepackage[scaled]{helvet}
\usepackage{fixltx2e}
\usepackage{amsfonts}   
\usepackage{amssymb}
\usepackage{amsmath}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[babel, german=quotes]{csquotes}

\renewcommand*\familydefault{\sfdefault} %Standardschrift serifenlos

\begin{document}

\begin{titlepage}
\rmfamily
\end{titlepage}

\section*{\textrm {Vorwort}}

\sffamily
\tableofcontents
\newpage
\pagestyle{fancy}
\section{Einleitung}

\subsubsection*{pET SUMO-Expressionssystem}

\subsubsection*{Spektroskopische Eigenschaften von Proteinen}

\subsubsection*{Green fluorescent Protein (GFP)}

\section{Methoden}

\subsection{Aktivitätstest}

\subsection{Bradfordassay und Kalibriergerade}

\subsection{Reinigung}

\subsubsection{Umpuffern durch Dialyse} 

\end{document}



Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4298
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

\pagestyle{headings} %zum Aktivieren der subsection-Marke
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{\footnotesize icyfox} %Kopfzeile links
\fancyhead[C]{\footnotesize hier soll \leftmark stehen\\ hier soll \rightmark}
\fancyhead[R]{\footnotesize Abschlussarbeit\\ \enquote{ASQ: Einf\"uhrung in \LaTeX}} 
Die Subsection-Überschriften wirst du aber erst auf der zweiten Seite sehen.
Evtl. solltest du außerdem die Dokumentenklassenoption "markcase=used" verwenden.

icyfox
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 82
Registriert: Di 28. Jan 2014, 07:19

Beitrag von icyfox »

das funktioniert schonmal grob, wie ich es haben möchte. leider wird nur die subsection genommen die am seitenende noch geöffnet ist nicht die, die auf einer seite zu erst kommt. Außerdem ist die obere Zeile, sprich wo section steht, nicht bündig mit den anderen oberen zeilen aus der kopfzeile.
gehe ich richtig in der annahme dass ich wie im manual beschrieben einfach die befehle mit renewcommand abändern kann?

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4298
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Standardmäßig kannst du auf die erste oder die letzte Überschrift einer Seite zugreifen (unabhängig von der Ebene). Wenn du Überschriften "mittendrin" finden willst, musst du extra Marken definieren, das ist dann nicht mehr trivial.

icyfox
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 82
Registriert: Di 28. Jan 2014, 07:19

Beitrag von icyfox »

dann ist es wohl das beste wenn ich ganz auf die Angabe von Sections und Subsection in Kopfzeile verzichte. oder muss es eben für jede seite händisch eintragen.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4298
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Also handisch eintragen ist wirklich quatsch.

Wenn du nur die oberste Section haben willst, mache (nach fancyhdr)
 \renewcommand*{\sectionmark}[1]{%
    \markright{\ifnumbered{section}{\sectionmarkformat}{}#1}}{}%
und benütze \rightmark in der Kopfdefinition.

(wobei ich eher empfehlen würde, statt fancyhdr scrpage2 oder das ganz neue scrlayer-scrpage zu benutzen. fancyhdr und KOMA treten sich dauernd auf die Füße, und man weiß nie, wer nun gerade die Kontrolle hat.

icyfox
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 82
Registriert: Di 28. Jan 2014, 07:19

Beitrag von icyfox »

das hat leider nichts am ergebnis verändert. trotzdem danke für die mühe. ich schaue mir mal die genannten Pakete an, vielleicht entsprechen die meinen vorstellungen eher.

Antworten