
나는 기사를 연대순으로 포함하는 회의록 스타일의 책을 조판하고 있습니다. 기사도 분류되어 있으므로 각 카테고리에는 색상이 할당되고 챕터 스타일은 해당 색상을 멋진 챕터 아트의 배경색으로 사용하도록 되어 있습니다. 이 부분은 에서 예상대로 작동합니다 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}
보시다시피, 이 페이지는 여전히 파란색으로 예상되는 1장에 속해 있지만 2페이지의 제목은 이미 녹색입니다.
headercolor
또한 내가 시도한 것은 두 개의 서로 다른 변수( 및 ) 를 사용하는 것이었습니다 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
주석에서 언급했듯이 명령 을 호출한 후 색상 변경( 을 통해 수행됨) 을 배치하는 것으로 충분합니다 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}}
상단의 색상 막대와 제목 모두 동일한 기본 색상을 공유합니다. 하지만 나는 더 나은 가독성을 위해 더 어두운 변형을 선택하기로 결정했습니다. 출력은 다음과 같습니다.
더 나아가 기본 색상의 더 어두운 색조로 헤더를 인쇄할 수도 있습니다. 이는 다음과 같이 보일 수 있습니다.
기억해주세요
색상은 주의를 산만하게 하고 가독성을 방해할 수 있습니다. 컬러 페이지를 인쇄하는 것도 꽤 비쌉니다.