Sie sind hier

Kopfzeile farbig unterlegen

Hallo,

ich benutze scrbook und habe meine Kopf- und Fußzeilen wie folgt definiert:

\usepackage[automark]{scrpage2}
\pagestyle{scrheadings} \automark{section}
\clearscrheadings
\ihead{\headmark} \ohead{\pagemark}
\cfoot[]{} \ofoot[\pagemark]{}

Mit der Platzierung der Elemente bin ich so weit zufrieden, nur würde ich die Kopfzeile statt mit einer Linie darunter lieber dadurch absetzen, dass sie farbig hinterlegt wird. Die Linie darunter wegzubekommen ist ja nicht so das Problem, aber wie lässt sich das von mir gewünschte Design umsetzen? Ist dies überhaupt möglich?

Damit ihr auch wisst, was ich meine, hier noch mal ein Beispiel, wie es aussehen soll (abgesehen davon, dass der Unterstrich zwischen der Überschrift und der Seitenzahl weder existiert noch existieren soll):
+-------------------------------------------+
| 1.1 Begriffsdefinitionen________5 |
+-------------------------------------------+
Nur dass die Kopfzeile nicht eingerahmt sein soll, sondern der umrahmte Bereich (etwas schmäler vielleicht...) hellgrau gefärbt sein soll.

Schon mal Danke!
Monika

Bild von Markus Kohm

Man kann den farbigen Balken einfach als erstes setzen lassen. Bei einseitigen Dokumenten geht das einfach beispielsweise so:

\ihead{\makebox[l][\textwidth}{%
  \color{blue}\rule{\textwidth}{\ht\strutbox}%
}}

Bei mehrseitigen Dokumenten ist das Problem, dass damit auf linken Seiten die farbige Box die Felder von \ohead und \chead überschreiben würde. Man muss dann leider die gesamte Kopfdefinition auf die Verwendung von \lehead etc. umstellen:

\lehead{%
  \makebox[l][\textwidth}{%
    \color{blue}\rule{\textwidth}{\ht\strutbox}%
  }%
  \pagemark
}
\rehead{\headmark}
\lohead{%
  \makebox[l][\textwidth}{%
    \color{blue}\rule{\textwidth}{\ht\strutbox}%
  }%
  \headmark
}
\rohead{\pagemark}

Die Höhe und Tiefe der \rule-Anweisung kann ggf. variiert oder mit \raisebox kann sie auch komplett verschoben werden, wobei als optionale Parameter ebenfalls die Höhe und Tiefe angegeben werden können.

Hallo Markus,

tolle Idee.

In Deinen Beispielen werden allerdings mehr Klammern geschlossen, als geöffnet. Du gehst also davon aus, dass diese Definitionen in der Präambel bei irgendeinem Befehl eingebaut werden.

Ähm, bei welchem? Ich kriege nämlich trotz längerer Bastelei nur Fehlermeldungen...

Vielen Dank,
Gruß,
Alexander

Hallo Alexander,

ich glaube Markus hat sich nur vertippt. Statt der einen [ muss eine { hin. Ich denke, dass es so aussehen sollte:

\ihead{\makebox[l]{\textwidth}{%
\color{blue}\rule{\textwidth}{\ht\strutbox}%
}}

Ich habe allerdings das Problem, dass bei mir kein farbiger Balken erscheint. (Beziehe mich auf den Code für "einseitig", da mir das für meine Zwecke ausreicht.) Markus, könntest du vielleicht noch mal genauer sagen, was du mit "als erstes setzen lassen" meinst. Ich habe es interpretiert, als: zwischen \clearscrheadings und \ihead{\headmark}... Aber vielleicht liegt da ja der Fehler.

Grüße
Monika

Ich habe spaßhalber die Definition nicht in die Präambel, sondern auf einer Seite in den Text gestellt. Es gab einen blauen oberen Rand ohne Text, der klasse aussah. Leider kann ich es jetzt nicht mehr reproduzieren.

Jetzt erhalten ich nur Fehlermeldungen \endgraf
Seufz, aber in zehn Jahren verstehe ich das alles...

Gruß,
Alexander

Hallo Alex,

dein Kommentar, dass du mal einen Balken hattest, hat mich irgendwie angestachelt... Mit dem \endgraf Problem habe ich auch schon zu genüge Bekanntschaft gemacht. Das hat mich dazu bewegt mir mal die Syntax von \makebox, \rule, etc. genauer anzuschauen und siehe da: für makebox gibt es zwei Schreibweisen, die so aussehen:

\makebox[Breite1][Anordnung1]{Text}

\makebox(Breite2,Höhe)[Anordnung2]{Text}

Ergo,

\makebox[l]{\textwidth}{%
  \color{blue}\rule{\textwidth}{\ht\strutbox}%
}

ist unlogisch. Es muss nicht, wie von mir zuerst angenommen, die [ durch { ersetzt werden. Dann wären ja zwei {} hinter \makebox. Ich vermute, dass der Code-Schnipsel so aussehen sollte:

\makebox[l]{%
  \color{blue}\rule{\textwidth}{\ht\strutbox}%
}

Dann gibt es auch blaue Balken. :-) Leider schaffe ich es nur noch nicht den Text in den Balken zu bekommen. Beim herumprobieren habe ich aber ein anderes Design gefunden, was ganz chic aussieht:

\usepackage[automark]{scrpage2}
\pagestyle{scrheadings}% 
\automark{section}% 
\clearscrheadings%
\ihead[\color{grey}\rule{1.2\textwidth}{\ht\strutbox}]% plainstyle
{\makebox[\textwidth][l]%
  {\headmark ~ \color{grey}\rule{\textwidth}{\ht\strutbox}%
}}%
\ohead{\pagemark} \cfoot[]{} \ofoot[\pagemark]{}

Mit passendem plainstyle... Gibt es für diesen Effekt eine "saubere" Lösung??? Ich würde nämlich gerne bei dieser Variante bleiben. Trotzdem: an der Lösung für Text in den Boxen bin ich natürlich auch noch interessiert. Wo LaTeX mir schon die Hauptarbeit bei der Gestaltung abnimmt (wofür ich auch dankbar bin), muss ich mich wenigstens in den Kopfzeilen austoben und der etwas "langweiligen" LaTeX-Welt eine persönliche Note aufdrücken. ;-)

Monika

Bild von Markus Kohm

Runde Klammern gibt es bei LaTeX (ich meine hier den LaTeX-Kern) nur in der picture-Umgebung. Dort werden in runden Klammern Paare von Koordinaten, Steigung oder Ausdehnung angegeben. Optionale Argumente stehen hingegen immer in eckigen Klammern.

Bild von Markus Kohm

Statt der »}« muss eine »]« hin (die Breite ist bei \makebox ein optionales Argument). Außerdem habe ich die beiden optioalen Argumente vertauscht:

\ihead{\makebox[\textwidth][l]{%
 \color{blue}\rule{\textwidth}{\ht\strutbox}%
 }}

Wie gesagt, ich hatte den Code nicht ausprobiert, da ich kein vollständiges Minimalbeispiel zum Testen hatte. Wenn das jemand bei seinen Fragen weglässt, gehe ich eben davon aus, dass er oder sie das nicht nötig hat, sondern Fehler selbst findet. Im übrigen sei bezüglich \makebox auf den usrguide verwiesen, der zwingender Bestandteil jeder LaTeX-Distribution ist.

Naja, also egal was ich anfange, ich kriege nur den Text in Blau und daneben eine blaue Linie.

Wie also kriegt man die Schrift in die blaue Linie hinein?

Ich habe ein anderes Beispiel gebastelt:

\usepackage{color, framed}
\definecolor{shadecolor}{rgb}{0.8,0.8,0.9}
...
\ihead{\begin{shaded}\headmark\end{shaded}}
\ohead[\pagemark]{\pagemark}

Der Effekt liegt leider darin, dass die Kopfzeile unmittelbar über dem laufenden Text beginnt und außerdem die unterschiedlichen Unterlängen nicht wie bei einer "strutbox" ausgeglichen werden.

Meine Literatur liegt zuhause, ich komme hier nicht weiter.

Gruß,
Alexander

Bild von Markus Kohm

Ich würde an deiner Stelle mal ein vollständiges Minimalbeispiel erstellen, damit ich sehen kann, was genau du machst und daran dann Korrekturen vornehmen kann. Dabei solltest du alles beachten, was ich in diesem Thread bisher geschrieben habe. Ich habe nämlich noch anderes zu tun, als jedem alles dreimal vorzukauen.

Hallo Markus,

was, wenn ich fragen darf, verstehst du denn unter einem vollständigen Minimalbeispiel? Bei meinem Beispiel hatte ja nur das

\documentclass[a4paper,oneside]{scrbook}

und das

\begin {document}
\chapter{irgendwas}
blabla
...
\end {document}

gefehlt. Da es sich dabei um eine relativ x-beliebige Grund-LaTeX-Struktur handelt, bin ich eigentlich davon ausgegangen, dass man so was irgendwo rumfliegen hat und den Code-Schnipsel mal eben in die Präambel kopieren kann.

Ich finde es echt super klasse, dass du dir so viel Zeit nimmst Fragen zu beantworten. Allerdings finde ich deinen entnervten Ton etwas schade. Unter einem Minimalbeispiel versteht ja jeder irgedend etwas anderes und ich konnte bislang keine Beschreibung der für dieses Form gängigen Form finden. Meine Frage hat sich mittlerweile ja eigentlich erledigt, da ich mit meinem Design unten zufrieden bin. Trotzdem würde mich natürlich interessieren, wie der Text nun in den Balken kommt und nicht nur entweder das eine oder das andere dargestellt wird. Hier also ein neues, voll lauffähiges, etwas größeres Minimalbeispiel:

\documentclass[a4paper,oneside]{scrbook}
\usepackage{color}

\usepackage[automark]{scrpage2}
\pagestyle{scrheadings} \automark{section}%
\clearscrheadings%
\ihead{\makebox[\textwidth][l]{%
 \color{blue}\rule{\textwidth}{\ht\strutbox}%
 }}
\ihead{\headmark} \ohead{\pagemark} \cfoot[]{} \ofoot[\pagemark]{}

\begin{document}
    \chapter{Dies ist ein Kapitel}
    Hier steht irgend ein Text.
    \newpage
    \section{Zur Abwechselung ein Unterkapitel}
    Hier steht noch mehr Text, da die erste Seite ja pain ist...
\end{document}

So. Ich hoffe Alexander kommt noch zu seinem gewünschten Layout.

Grüße
Monika

Also:

Miktex 2.4, als Editor WinShell, folgendes Minimalbeispiel:

\documentclass[a4paper,german,12pt]{scrartcl}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{color}
\usepackage[automark]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadings
\automark{section}%
\ihead{\makebox[\textwidth][l]{%
\headmark\color{blue}\rule{\textwidth}{\ht\strutbox}%
}}

\begin{document}

\title{Urteil des Bundesgerichtshofs in Ausz"ugen}
\maketitle

\section{Tenor}
Die Revision ist teilweise begründet und führt hinsichtlich der Stufenklage ...
\newpage
\section{Grunds"atze der fehlerhaften Gesellschaft nicht anwendbar}
Das Berufungsgericht hat zur Begründung der Abweisung des Zahlungsantrags

\section{Ausnahmevorschriften}
\subsection{Ma"sst"abe}
Zur Abweisung der auf die Errechnung und Auszahlung des Auseinandersetzungsguthabens
\newpage
\subsection{Anwendung der Ma"sst"abe}
Das hält in einem entscheidenden Punkt revisionsrechtlicher Überprüfung
nicht stand.

\end{document}

Sowohl hier als auch bei dem von Monika entwickelten Design beginnt bei mir die Farbe in der Kopfzeile, wenn der Kopfzeilentext zu ende ist.

A.

Hi Alex,

so langsam blicke ich mit den ganzen Boxen durch. So funktioniert es:

\documentclass[a4paper,oneside]{scrbook}
\usepackage{color}

\usepackage[automark]{scrpage2}
\pagestyle{scrheadings} \automark{section}%
\clearscrheadings%
\ihead{\colorbox{blue}{\makebox[\textwidth][l]{\headmark}}}
\ohead{\pagemark} \cfoot[]{} \ofoot[\pagemark]{}
\begin{document}
    \chapter{Dies ist ein Kapitel}
    Hier steht irgend ein Text.
    \newpage
    \section{Zur Abwechselung ein Unterkapitel}
    Hier steht noch mehr Text, da die erste Seite ja pain ist...
\end{document}

Grüße
Monika

Hallo Monika,
herzlichen Dank!

Das sieht

a) ganz anders aus als der Code von Markus und
b) funktioniert sehr gut, genau so wie ich das wollte.

Neugierige Frage: Wie lange hast Du dafür gebraucht? (Es macht ja Spaß, aber ich habe schlichtweg nicht die Zeit...).

Ich bin als "cookie170" auch bei mrunix.de zu finden, dort gibt es auch eine Möglichkeit, Mitteilungen direkt an andere Forenteilnehmer zu versenden. Wenn Markus Pause nimmt von diesem Forum hier, gibt's dort auch ein paar Leute, die sich Deiner Fragen annehmen. Mich würde interessieren, was für eine Arbeit Du schreibst, da ich Latex beruflich (Anwalt) für Gutachten, Aufsätze u.ä. verwende und immer interessiert bin, wie andere Latex im Beruf verwenden.

Ich bin auf Deine erste Anfrage zu diesem Thema übrigens deswegen hier "eingestiegen", weil ich es genausowenig wie Du schätze, dass das Seitenlayout - egal ob dasjenige von Komascript oder ein anderes - so deutlich nach Latex aussieht. Mit der Farbe muß man vorsichtig umgehen, aber soweit ist das klasse.

Vielen Dank nochmals.

@ Markus:
Es ist doch ein mittleres Wunder, dass Dein scrpage2-package überhaupt solche Klimmzüge erlaubt. Dass, was Monika hier einsatzfähig veröffentlicht hat, wird viele Leute *sehr* interessieren. Die Beiträge hier waren nützlich und kein Anlass zum Ärger.

Gruß,
Alexander

Bild von Markus Kohm

Unter dieser Adresse findet man alles, was man zur Erstellung eines vollständigen Minimalbeispiels braucht. Und hier findest du, wie der »genervte Ton« zustande kommt. Ich bin nicht bereit, diese ewige Diskussion hier im Forum auch schon wieder zu führen. Die hatten wir schon mal. Ich werde jetzt aber erst mal Urlaub vom Forum machen, bis ich wieder so viel Zeit habe, dass mir nichts mehr ausmacht, Codeschippsel selbst in irgendwelche Rahmen einzufügen ohne vorher zu wissen, ob das dann überhaupt das Problem des Fragestellers zeigen wird. Irgendwann werden meine Kinder ja auch aus dem Haus sein und ich in Rente gehen.

Bild von Markus Kohm

Eine vollständig ausgeführte Lösung mit Erklärung gibt es vermutlich in "Die TeXnische Komödie" Ausgabe 1/2006.

Mit dem Paket scrlayer-scrpage (das in der Frage verwendete Paket ist ohnehin veraltet) kann man leicht einen neuen Layer definieren und diesen unter die Kopfzeile legen:

\documentclass{scrbook}
\usepackage{xcolor}
\usepackage{blindtext}
 
\usepackage[automark]{scrlayer-scrpage}% aktiviert automatisch Seitenstil scrheadings
\clearpairofpagestyles
\ihead{\headmark}
\ohead{\pagemark}
\ofoot[\pagemark]{}
 
\DeclareNewLayer[
  background,
  head,
  mode=picture,
  contents={\putLL{\textcolor{blue!20}{\rule{\layerwidth}{\layerheight}}}}
]{head.background}
\AddLayersAtBeginOfPageStyle{scrheadings}{head.background}
\begin{document}
\tableofcontents
\blinddocument
\end{document}

Damit der Text in der Kopfzeile nicht so an den Rändern klebt, kann man die Kopfzeile schmaler machen:

\documentclass{scrbook}
\usepackage{xcolor}
\usepackage{blindtext}
 
\usepackage[automark]{scrlayer-scrpage}% aktiviert automatisch Seitenstil scrheadings
\clearpairofpagestyles
\ihead{\headmark}
\ohead{\pagemark}
\ofoot[\pagemark]{}
 
\KOMAoptions{headwidth=\textwidth-4mm:2mm}%<- 
 
\DeclareNewLayer[
  background,
  head,
  mode=picture,
  contents={\putLL{\textcolor{blue!20}{\rule{\layerwidth}{\layerheight}}}}
]{head.background}
\AddLayersAtBeginOfPageStyle{scrheadings}{head.background}
\begin{document}
\tableofcontents
\blinddocument
\end{document}

oder den Layer mit dem farbigen Hintergrund breiter:

\documentclass{scrbook}
\usepackage{xcolor}
\usepackage{blindtext}
 
\usepackage[automark]{scrlayer-scrpage}% aktiviert automatisch Seitenstil scrheadings
\clearpairofpagestyles
\ihead{\headmark}
\ohead{\pagemark}
\ofoot[\pagemark]{}
 
\DeclareNewLayer[
  background,
  head,
  addwidth=4mm,% <- 
  addhoffset=-2mm,% <- 
  mode=picture,
  contents={\putLL{\textcolor{blue!20}{\rule{\layerwidth}{\layerheight}}}}
]{head.background}
\AddLayersAtBeginOfPageStyle{scrheadings}{head.background}
\begin{document}
\tableofcontents
\blinddocument
\end{document}
Comments for "Kopfzeile farbig unterlegen" abonnieren