
私は、記事を時系列順に並べた議事録形式の本をタイプセットしています。記事もカテゴリ分けされているため、各カテゴリには色が割り当てられ、章のスタイルではその色が、装飾的な章のアートの背景色として使用されるはずです。この部分は、 で期待どおりに動作しますtitlesec
。
それに加えて、見出しの色も変更したいと思います。見出しの色は、現在の章の「章の色」と同じにする必要があります。
私の素朴なアプローチで観察された問題は、見出しの色の変更が早すぎることです。つまり、新しい章の前のページがすでに新しい色で印刷されているということです。
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}
ご覧のとおり、2 ページ目の見出しはすでに緑色になっていますが、このページはまだ青色であるはずの第 1 章に属しています。
headercolor
私が試したのは、2 つの異なる変数 (とchaptercolor
)を使用することです。ここでは、 ステートメント\headercolor
で を使用し*head
、 は、章のタイトル自体が設定されている場合にのみを に割り当てるために使用しtitlesec
ました。残念ながら、これも機能しませんでした。\titelformat
chaptercolor
headercolor
アップデート:私は序文の解決策を探しています。MWE は現在のスクリプトを過度に単純化し、その色は章のタイトル自体にも使用されるため、章が始まる前に章の色を定義することが重要です。著者が詳細をいじらなくても済むように、この種の「インターフェース」をできるだけ安定した状態に保ちたいと思います。
見出しの色の変更が新しい章の最初のページでのみ行われるように、色を緩やかに設定する方法についてアドバイスをいただければ幸いです。ありがとうございます!
答え1
\cleardoublepage
実行して色を変更する新しいコマンドを定義します。
\newcommand{\changechaptercolor}[1]{%
\cleardoublepage%
\renewcommand\chaptercolor{#1}%
}
次に、
\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}
答え2
\chaptercolor
コメントで述べたように、コマンドを呼び出した後に、colorchange ( を介して実行)を配置するだけで十分ですchapter
。
\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}
しかし、私は淡い色の背景に通常の黒い文字を表示したいです。片面文書の場合は、次のように定義できます。
\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}
出力は次のようになります:
もう一つ注目すべき点は、この出力です
これは次のコードを使用して実現できます。
\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}
章のタイトルの色を変更してさらに派手にすることもできます。
\newcommand{\chaptertitlecolor}{\basecolor!70!white}
\addtokomafont{chapter}{\color{\chaptertitlecolor}}
上部の色付きバーとタイトルはどちらも同じベースカラーを共有しています。ただし、読みやすさを向上させるために、より暗い色にすることにしました。出力は次のようになります。
さらに進んで、ヘッダーをベースカラーのより暗い色調で印刷することもできます。次のようになります。
思い出してください
色は気を散らし、読みにくくなることがあります。また、カラーページの印刷にはかなりの費用がかかります。