
Ich setze ein Buch im Tagungsstil, das Artikel in chronologischer Reihenfolge enthält. Da die Artikel auch kategorisiert sind, wird jeder Kategorie eine Farbe zugewiesen und die Kapitelstile sollen diese Farbe als Hintergrundfarbe für einige ausgefallene Kapitelgrafiken verwenden. Dieser Teil funktioniert wie erwartet mit titlesec
.
Darüber hinaus möchte ich auch die Farbe der Überschriften ändern, die der „Kapitelfarbe“ des aktuellen Kapitels entsprechen sollte.
Das Problem, das ich bei meinem naiven Ansatz beobachte, ist, dass die Überschriftenfarbe zu früh geändert wird, d. h. die Seite vor dem neuen Kapitel wird bereits mit der neuen Farbe gedruckt.
Hier ist ein MWE:
\documentclass[fontsize=12pt, paper=a4]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[automark]{scrpage2}
\usepackage{xcolor}
\newcommand{\chaptercolor}{red}
\clearscrheadfoot
\pagestyle{scrheadings}
\ihead[\color{\chaptercolor}\leftmark]{\color{\chaptercolor}\leftmark}
\ohead[\color{\chaptercolor}\rightmark]{\color{\chaptercolor}\rightmark}
\cfoot[\color{\chaptercolor}\pagemark]{\color{\chaptercolor}\pagemark}
\begin{document}
\renewcommand{\chaptercolor}{blue}
\chapter{Ch1}
\Blindtext
\renewcommand{\chaptercolor}{green}
\chapter{Ch2}
\Blindtext
\end{document}
Wie Sie sehen, ist auf Seite 2 die Überschrift bereits grün, obwohl diese Seite noch zum Kapitel 1 gehört, welches eigentlich blau sein sollte.
headercolor
Ich habe auch versucht, zwei verschiedene Variablen ( und ) zu verwenden chaptercolor
, wobei ich \headercolor
in den *head
Anweisungen titlesec
's verwendet habe, um das nur dann dem \titelformat
zuzuweisen, wenn der Kapiteltitel selbst festgelegt ist. Leider hat das auch nicht funktioniert.chaptercolor
headercolor
Aktualisieren:Ich suche nach einer Präambellösung. Das MWE vereinfacht mein aktuelles Skript zu sehr und da die Farbe auch im Kapiteltitel selbst verwendet wird, ist es wichtig, dass die Kapitelfarbe definiert wird, bevor das Kapitel beginnt. Ich möchte diese Art von „Schnittstelle“ so stabil wie möglich halten, damit sich die Autoren nicht mit Details herumschlagen müssen.
Ich bin für jeden Ratschlag dankbar, wie ich die Farbe so einstellen kann, dass die Farbänderung in den Überschriften nur auf der allerersten Seite des neuen Kapitels erfolgt. Danke!
Antwort1
Definieren Sie einen neuen Befehl, der ausgeführt wird \cleardoublepage
und die Farbe ändert:
\newcommand{\changechaptercolor}[1]{%
\cleardoublepage%
\renewcommand\chaptercolor{#1}%
}
Dann können Sie verwenden
\documentclass[fontsize=12pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{xcolor}
\newcommand\chaptercolor{red}
\newcommand{\changechaptercolor}[1]{%
\cleardoublepage%
\renewcommand\chaptercolor{#1}%
}
\usepackage[automark]{scrpage2}% or scrlayer-scrpage
\clearscrheadfoot
\pagestyle{scrheadings}
\addtokomafont{pageheadfoot}{\color{\chaptercolor}}
\addtokomafont{pagenumber}{\color{\chaptercolor}}
\ihead[\leftmark]{\leftmark}
\ohead[\rightmark]{\rightmark}
\cfoot[\pagemark]{\pagemark}
\begin{document}
\changechaptercolor{blue}
\chapter{Ch1}
\Blindtext
\changechaptercolor{green}
\chapter{Ch2}
\Blindtext
\end{document}
Antwort2
Wie in den Kommentaren erwähnt, ist es ausreichend, den Farbwechsel (erfolgt über \chaptercolor
) nach dem Aufruf des chapter
Befehls zu platzieren.
\documentclass{scrbook}
\usepackage{blindtext}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{xcolor}
\clearscrheadfoot
\ihead[\leftmark]{\leftmark}
\ohead[\rightmark]{\rightmark}
\cfoot[\pagemark]{\pagemark}
%Now adding color to all elements in the pagehead
%This is much easier to maintain
\addtokomafont{pagehead}{\color{\chaptercolor}}
\begin{document}
\chapter{Mark Twain}
\newcommand{\chaptercolor}{blue}
\Blindtext
\chapter{Ambrose Bierce}
\renewcommand{\chaptercolor}{green}
\Blindtext
\end{document}
Aber ich würde lieber normalen schwarzen Text auf einem hellen Hintergrund sehen. Für ein einseitiges Dokument können Sie so etwas definieren
\DeclareLayer[clone=plain.scrheadings.head.oneside,
contents={%
\color{\chaptercolor}%
\rule[-\dp\strutbox]%
{\paperwidth}{\headheight}%
}%
]{plain.scrheadings.head.oneside.background}
\DeclareLayer[clone=scrheadings.head.oneside,
contents={%
\color{\chaptercolor}%
\rule[-\dp\strutbox]%
{\paperwidth}{\headheight}%
}%
]{scrheadings.head.oneside.background}
Das Ergebnis ist die folgende Ausgabe:
Eine weitere Sache, die einen Blick wert sein könnte, ergibt diese Ausgabe
Dies kann mit dem folgenden Code erreicht werden.
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{xcolor}
\clearscrheadfoot
\ihead[\leftmark]{\leftmark}
\ohead[\rightmark]{\rightmark}
\cfoot[\pagemark]{\pagemark}
%Defining the Layer
\makeatletter
\newlength{\topheight}
\setlength{\topheight}{\sls@topmargin}
\addtolength{\topheight}{\headheight}
\DeclareLayer[
background,
contents={%
\color{\chaptercolor}%
\rule{\paperwidth}{\topheight}%
}%
]{scrheadings.head.background}
\makeatother
%Adding the Layer to the pagestyles
\AddLayersAtBeginOfPageStyle{scrheadings}{%
scrheadings.head.background,%
}
\AddLayersAtBeginOfPageStyle{plain.scrheadings}{%
scrheadings.head.background}
\usepackage{etoolbox}
\newcommand{\basecolor}{%
\ifcase\arabic{chapter}\or blue\or orange\or green\or red\fi%
}
\newcommand{\chaptercolor}{\basecolor!20!white}
\begin{document}
\chapter{Mark Twain}
\Blindtext
\Blindtext
\chapter{Walt Whitman}
\Blindtext
\Blindtext
\Blindtext
\chapter{F. Scott Fitzgerald}
\Blindtext
\Blindtext
\chapter{Ambrose Bierce}
\Blindtext
\Blindtext
\end{document}
Sie können es noch schicker gestalten, indem Sie die Farbe des Kapiteltitels ändern, indem Sie hinzufügen
\newcommand{\chaptertitlecolor}{\basecolor!70!white}
\addtokomafont{chapter}{\color{\chaptertitlecolor}}
Sowohl der farbige Balken oben als auch der Titel haben die gleiche Grundfarbe. Ich habe mich jedoch für eine dunklere Variante entschieden, um die Lesbarkeit zu verbessern. Die Ausgabe sieht folgendermaßen aus:
Man könnte sogar noch weiter gehen und die Kopfzeile in einem dunkleren Farbton der Grundfarbe drucken, was ungefähr so aussehen könnte
Bitte denk daran
Farben können sehr störend sein und die Lesbarkeit beeinträchtigen. Der Ausdruck farbiger Seiten ist zudem recht teuer.