Seite 1 von 1

Hilfe zu fancyhdr

Verfasst: Mi 29. Jan 2014, 13:58
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}



Verfasst: Mi 29. Jan 2014, 15:10
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.

Verfasst: Mi 29. Jan 2014, 15:33
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?

Verfasst: Mi 29. Jan 2014, 15:43
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.

Verfasst: Mi 29. Jan 2014, 16:14
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.

Verfasst: Mi 29. Jan 2014, 17:15
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.

Verfasst: Mi 29. Jan 2014, 17:35
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.