현재 헤더 스타일을 변경할 수 있는 두 개의 유사한 헤더 스타일로 나누려면 어떻게 해야 합니까?

현재 헤더 스타일을 변경할 수 있는 두 개의 유사한 헤더 스타일로 나누려면 어떻게 해야 합니까?

나는 이 작업을 수행하기 위해 fancyhdr 패키지를 사용할 생각이었습니다.이 질문에 따르면, 하지만 아직 그것을 완료할 수 있는 지식이 없습니다.

다음 코드를 사용하고 있습니다.

\documentclass[a4paper,12pt,twoside,openright]{memoir}

\usepackage[utf8]{inputenc} % If utf8 encoding
\usepackage{librecaslon}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[final]{microtype}
\usepackage{fetamont}
\usepackage{graphicx} % Include figures
\usepackage{lmodern}
\usepackage{titlesec}
\usepackage{xcolor}
\usepackage{alphalph,etoolbox}
\usepackage{fancyhdr}

%%% PAGE LAYOUT 
%%%------------------------------------------------------------------------------

\setlrmarginsandblock{0.15\paperwidth}{*}{1} % Left and right margin
\setulmarginsandblock{0.2\paperwidth}{*}{1}  % Upper and lower margin
\checkandfixthelayout

%%% HEADER AND FOOTER 
%%%------------------------------------------------------------------------------

\makepagestyle{standard} % Make standard pagestyle

\makeatletter                 % Define standard pagestyle
\makeevenfoot{standard}{}{}{} %
\makeoddfoot{standard}{}{}{}  %
\makeevenhead{standard}{\bfseries\thepage\normalfont\qquad\small\leftmark}{}{}
%\makeoddhead{standard}{}{}{\small\rightmark\qquad\bfseries\thepage}
\makeoddhead{standard}{}{}{%
    {\color{gray}\rule{1em}{1em}\hspace{0.2em}}%
    {\color{yellow}\rule{1em}{1em}\hspace{0.2em}}%
    {\color{blue}\rule{1em}{1em}\hspace{0.2em}}%
    {\color{brown}\rule{1em}{1em}\hspace{0.2em}}%
    {\color{black}\rule{1em}{1em}\hspace{0.2em}}%
    {\color{pink}\rule{1em}{1em}\hspace{0.2em}}%
    \hfill\small\rightmark\qquad\bfseries\thepage}
\makeheadrule{standard}{\textwidth}{\normalrulethickness}
\makeatother                  %

\makeatletter
\makepsmarks{standard}{
    \createmark{chapter}{both}{shownumber}{\@chapapp\ }{ \quad }
    \createmark{section}{right}{shownumber}{}{ \quad }
    \createplainmark{toc}{both}{\contentsname}
    \createplainmark{lof}{both}{\listfigurename}
    \createplainmark{lot}{both}{\listtablename}
    \createplainmark{bib}{both}{\bibname}
    \createplainmark{index}{both}{\indexname}
    \createplainmark{glossary}{both}{\glossaryname}
}
\makeatother                               %

\makepagestyle{chap} % Make new chapter pagestyle

\makeatletter
\makeevenfoot{chap}{}{\small\bfseries\thepage}{} % Define new chapter pagestyle
\makeoddfoot{chap}{}{\small\bfseries\thepage}{}  %
\makeevenhead{chap}{}{}{}   %
\makeoddhead{chap}{}{}{}    %
% \makeheadrule{chap}{\textwidth}{\normalrulethickness}
\makeatother

\nouppercaseheads
\pagestyle{standard}               % Choosing pagestyle and chapter pagestyle
\aliaspagestyle{chapter}{chap} %

%%% THE DOCUMENT
%%%------------------------------------------------------------------------------

\usepackage{lipsum} % Just to put in some text

\begin{document}

    \frontmatter

    \mainmatter

%   \pagestyle{style1}
    \chapter{How to build a time machine}

    \lipsum[1-12]

%   \pagestyle{style2}
    \chapter{How to destroy a time machine}

    \lipsum[1-12]

%   \pagestyle{style1}
    \chapter{How to build a time machine}

    \lipsum[1-12]

    \backmatter

\end{document}

내가 변경해야 할 것은 사이에 위치한 코드입니다.머리글과 바닥 글그리고문서.

코드는 현재 모든 홀수 페이지의 헤더 내부에 색상 상자를 생성하며 이는 모든 페이지에 대해 수행됩니다. 내 목표는 두 번째 헤더 스타일에서 현재 스타일을 유지하면서 해당 상자가 없는 하나의 헤더 스타일을 만드는 것입니다. 이 작업을 수행하기 위해 아래 코드를 구현할 생각이었습니다.

\fancypagestyle{style1}{ % without colored boxes

}

\fancypagestyle{style2}{ % with colored boxes

}

하나는 해당 상자가 없고 다른 하나는 상자가 있다는 점을 제외하고 두 헤더가 동일해야 합니다.

관련 정보