PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Farbige Kopfzeile wie in Koma-Script Anleitung scrguide



medidoc
09-11-2015, 20:28
Guten Abend!

Wie kann ich eine farbig hinterlegte Kopfzeile erzeugen, welche über die gesamte Papierbreite läuft und auch höher als der Text ist? Siehe Beispiel Komascript Anleitung scrguide.pdf (download z.B. unter ftp://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/macros/latex/contrib/koma-script/doc/scrguide.pdf )

Vielen Dank für Hinweise

klops
10-11-2015, 06:56
Die Breite kann man mit scrlayer-scrpage über Option headwidth einstellen. Siehe dazu Kapitel 5 der KOMA-Script-Anleitung.

Farbig hinterlegen kann man mit scrlayer (wird von scrlayer-scrpage ohnehin geladen), indem man eine neue Ebene dafür definiert. AFAIR gibt es dazu auch ein Beispiel auf komascript.de. Leider ist die Seite heute morgen offenbar nicht erreichbar. Deshalb hier kurz:


\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[automark,headwidth=paper]{scrlayer-scrpage}
\DeclareNewLayer[%
head,% Ebene im Kopfbereich
hoffset=0pt,% vom linken Seitenrand,
width=\paperwidth,% über die gesamte Seitenbreite
background,% im Hintergrund
contents={\color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}}
]{headbackground}
\AddLayersAtBeginOfPageStyle{scrheadings}{headback ground}

\usepackage{mwe}

\begin{document}
\Blinddocument
\end{document}
Und wenn der komplette obere Rand eingefärbt werden soll, zusätzlich:
\DeclareNewLayer[%
topmargin,% Ebene im oberen Rand
background,% im Hintergrund
contents={\color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}}
]{topmargin}
\AddLayersAtBeginOfPageStyle{scrheadings}{topmargi n} Wobei man auch gleich beide Layer in einem Rutsch hinzufügen könnte:
\AddLayersAtBeginOfPageStyle{scrheadings}{topmargi n,headbackground}
Näheres zu den verwendeten Anweisungen und Optionen findet sich in der KOMA-Script-Anleitung. Es sei ausdrücklich empfohlen, diese dort nachzulesen!

Aber, wenn es wie bei der KOMA-Script-Anleitung sein soll: Die Quellen sind frei verfügbar und zwingender Bestandteil jeder legalen KOMA-Script-Distribution. Die Kopfdefinition dürfte in scrguide.cls so ab Zeile 192 zu finden sein. Das sieht mir aber noch sehr nach einer Anpassung der alten scrpage2-Lösung auf scrlayer-scrpage aus. Ich finde die Layer-Lösung schöner.

PS: komascript.de ist wieder erreichbar, daher hier der Link auf die dortige Frage mit Lösung: http://www.komascript.de/node/1851.

esdd
10-11-2015, 13:06
Das Einfärben des oberen Randes einschließlich der Kopfzeile lässt sich in der Zwischenzeit auch ganz bequem mit einem Layer erledigen:


\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[automark]{scrlayer-scrpage}
\DeclareNewLayer[%
topmargin,% oberer Rand
addheight=\headheight,% vertikal vergrößert um Kopfzeilenhöhe
background,% im Hintergrund
contents={\color{yellow}\rule{\layerwidth}{\layerh eight}}
]{headbackground}
\AddLayersAtBeginOfPageStyle{scrheadings}{headback ground}

\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}

und wenn der farbige Streifen nicht gleich am unteren Rand der Kopfzeile enden soll, kann man addheight noch etwas größer wählen, zum Beispiel


addheight=\headheight+.25\headsep

Gruß
Elke

medidoc
10-11-2015, 20:25
Vielen Dank an klops und Elke für die ausführliche Hilfe. scr-layer und scr-page kannte ich noch gar nicht. Ich verwende aktuell noch das veraltete scrpage2. Dann werde ich mal mein LaTeX-Projekt aktualisieren, meine Kopfzeile einfärben und dann berichten.

Vielen Dank

medidoc
10-11-2015, 21:58
Hier ein Minimalbeispiel für eine komplett farbig hinterlegte Kopfzeile (nochmals vielen Dank an Klops und und Elke):



\documentclass[
twoside,
footinclude=false,
headinclude=true,
%draft
]{scrbook}
\usepackage{xcolor}
\usepackage[automark]{scrlayer-scrpage}
\DeclareNewLayer[%
head,% Ebene im Kopfbereich
hoffset=0pt,% vom linken Seitenrand,
width=\paperwidth,% über die gesamte Seitenbreite
background,% im Hintergrund
contents={\color{yellow!50}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}}
]{headbackground}
\AddLayersAtBeginOfPageStyle{scrheadings}{headback ground}
\DeclareNewLayer[%
topmargin,% Ebene im oberen Rand
background,% im Hintergrund
contents={\color{yellow!50}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}}
]{topmargin}
\AddLayersAtBeginOfPageStyle{scrheadings}{topmargi n}
%
\usepackage[utf8]{inputenc} %deutsche Umlaute
\usepackage[T1]{fontenc} %deutsche Umlaute
\usepackage{blindtext}
\begin{document}
\pagestyle{scrheadings}
\ohead{\pagemark}
\ihead{\headmark}

\chapter{Kapitel Grün}
\blindtext[20]
\chapter{Kapitel Blau}
\blindtext[20]
\chapter{Kapitel Rot}
\blindtext[20]
\chapter{Kapitel Gelb}
\blindtext[20]
\end{document}




Wie kann nun die Kopfzeile mit unterschiedlichen Farben hinischtlich der einzelnen Kapitel eingefärbt werden. Mit der Suchfunktion habe ich die Funktion \ModifyLayer gefunden, habe aber nichts funktionierendes hinbekommen.

klops
11-11-2015, 08:12
Indem du eine Korrelation zwischen dem Namen der Farbe und dem Kapitel herstellst. Beispielsweise:
\documentclass[
twoside,
footinclude=false,
headinclude=true,
%draft
]{scrbook}
\usepackage{xcolor}
\colorlet{chapter0}{gray}
\colorlet{chapter1}{green}
\colorlet{chapter2}{blue}
\colorlet{chapter3}{red}
\colorlet{chapter4}{yellow}
\usepackage[automark]{scrlayer-scrpage}
\DeclareNewLayer[%
head,% Ebene im Kopfbereich
hoffset=0pt,% vom linken Seitenrand,
width=\paperwidth,% über die gesamte Seitenbreite
background,% im Hintergrund
contents={\color{chapter\thechapter!50}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}}
]{headbackground}
\DeclareNewLayer[%
topmargin,% Ebene im oberen Rand
background,% im Hintergrund
contents={\color{chapter\thechapter!50}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}}
]{topmargin}
\AddLayersAtBeginOfPageStyle{scrheadings}{headback ground,topmargin}
\AddLayersAtBeginOfPageStyle{plain.scrheadings}{he adbackground,topmargin}
\clearpairofpagestyles
\ohead*{\pagemark}
\ihead{\headmark}
%
\usepackage[utf8]{inputenc} %deutsche Umlaute
\usepackage[T1]{fontenc} %deutsche Umlaute
\usepackage{blindtext}
\begin{document}
\tableofcontents
\chapter{Kapitel Grün}
\blindtext[20]
\chapter{Kapitel Blau}
\blindtext[20]
\chapter{Kapitel Rot}
\blindtext[20]
\chapter{Kapitel Gelb}
\blindtext[20]
\end{document}
Wenn Du weitere nicht nummerierte Verzeichnisse hast, musst Du bei dieser Methode ggf. den Zähler chapter für diese selbst erhöhen oder auf einen bestimmten Wert setzen, damit Du unterschiedliche Farben dafür definieren kannst.

Johannes_B
11-11-2015, 08:13
http://tex.stackexchange.com/questions/202863/how-to-have-colored-headings-with-one-color-per-chapter/202958#202958

medidoc
11-11-2015, 19:19
Vielen Dank an Klops für den Code, bei mir klappt das auch im gesamten Werk nun tadellos. Und mit Hilfe des Links von Johannes_B kann ich nun sogar einheitlich die Tabellen und ggf. auch Überschriften einfärben. Aber ich werde vorsichtig bleiben, denn zuviel Farbe ist auch nichts Gutes. Ein schönen Abend wünscht Dirk.