如何使用 scrlayer-scrpage 为偶数页/奇数页的章节、节等设置不同的颜色?

如何使用 scrlayer-scrpage 为偶数页/奇数页的章节、节等设置不同的颜色?

下面我提供了一个最小的工作示例,其中我无法根据页面是奇数还是偶数来实现章节或部分等标题的颜色变化。

\documentclass[
  11pt,% default
  a4paper,% default
  titlepage,
  toc=listof,
  toc=bibliography,
  headings=standardclasses,
  headings=big,% default
  chapterprefix=true,
  numbers=noenddot,
  twoside=semi,
]{scrreport}

\usepackage{lipsum}
\usepackage{xcolor}


\usepackage[
  automark,
  headsepline=2pt,
  footsepline=2pt
]{scrlayer-scrpage}% sets pagestyle scrheadings automatically

\clearpairofpagestyles
\ohead{\pagemark}
\ihead{\headmark}
\addtokomafont{pagehead}{\normalfont\large\scshape}
\setkomafont{pagenumber}{}
\usepackage{svg}
\KOMAoptions{
  onpsevenpage={\colorlet{headsepline}{blue}},
  onpsevenpage={\colorlet{footsepline}{blue}},
  onpsoddpage={\colorlet{headsepline}{green}},
  onpsoddpage={\colorlet{footsepline}{green}}
}
\addtokomafont{headsepline}{\color{headsepline}}
\addtokomafont{footsepline}{\color{footsepline}}

\begin{document}
\chapter{Foo}
\section{Bar}
\lipsum[1-20]
\end{document}

答案1

欢迎来到 TeX.SX!我不确定这是否是您的真正目标,但如果您想以与更改页眉和页脚中线条颜色相同的方式更改页眉中字体的颜色,那么您可以执行以下操作:

\documentclass[
  11pt,% default
  a4paper,% default
  titlepage,
  toc=listof,
  toc=bibliography,
  headings=standardclasses,
  headings=big,% default
  chapterprefix=true,
  numbers=noenddot,
  twoside=semi,
]{scrreport}

\usepackage{lipsum}
\usepackage{xcolor}

\usepackage[
  automark,
  headsepline=2pt,
  footsepline=2pt
]{scrlayer-scrpage}% sets pagestyle scrheadings automatically

\clearpairofpagestyles
\ohead{\pagemark}
\ihead{\headmark}
\usepackage{svg}
\KOMAoptions{
  onpsevenpage={\colorlet{headsepline}{blue}},
  onpsevenpage={\colorlet{footsepline}{blue}},
  onpsoddpage={\colorlet{headsepline}{green}},
  onpsoddpage={\colorlet{footsepline}{green}}
}
\addtokomafont{headsepline}{\color{headsepline}}
\addtokomafont{footsepline}{\color{footsepline}}
\addtokomafont{pagehead}{\color{headsepline}\normalfont\large\scshape}
\setkomafont{pagenumber}{\color{headsepline}}

\begin{document}
\chapter{Foo}
\section{Bar}
\lipsum[1-20]
\end{document}

在此处输入图片描述


编辑:

由于 OP 澄清说他们不希望标题中的文本有颜色,而是希望章节和部分标题有颜色,所以我将在这个答案中添加更多内容。

第一种方法可能是,由于您已经根据页面是偶数还是奇数定义了颜色,因此也将此颜色用于章节标题。唉,这行不通,可能是因为颜色定义是在章节标题排版之后进行的。

但是 KOMA 类提供了很好的宏\Ifthispageodd,它允许您根据当前页面是偶数还是奇数插入不同的代码。因此,您可以执行以下操作:

\documentclass[
  11pt,% default
  a4paper,% default
  titlepage,
  toc=listof,
  toc=bibliography,
  headings=standardclasses,
  headings=big,% default
  chapterprefix=true,
  numbers=noenddot,
  twoside=semi,
]{scrreport}

\usepackage{lipsum}
\usepackage{xcolor}

\usepackage[
  automark,
  headsepline=2pt,
  footsepline=2pt
]{scrlayer-scrpage}% sets pagestyle scrheadings automatically

\clearpairofpagestyles
\ohead{\pagemark}
\ihead{\headmark}
\usepackage{svg}
\addtokomafont{pagehead}{\normalfont\large\scshape}
\setkomafont{pagenumber}{}
\KOMAoptions{
  onpsevenpage={\colorlet{headsepline}{blue}},
  onpsevenpage={\colorlet{footsepline}{blue}},
  onpsoddpage={\colorlet{headsepline}{green}},
  onpsoddpage={\colorlet{footsepline}{green}}
}
\addtokomafont{headsepline}{\color{headsepline}}
\addtokomafont{footsepline}{\color{footsepline}}

\addtokomafont{disposition}{\Ifthispageodd{\color{green}}{\color{blue}}}

\begin{document}
\chapter{Foo}
\section{Bar}
\lipsum[1-5]
\section{Bar}
\lipsum[1-5]
\section{Bar}
\end{document}

\addtokomafont{disposition}样式全部章节标题(除了章节和节之外,它还会为部分、小节、段落等设置样式)。如果您想要单独设置章节和/或节标题的样式,可以使用\addtokomafont{chapter}and/or \addtokomafont{section}

在此处输入图片描述


PS:抱歉,两个示例图片中的页面排列显然是错误的。第一页实际上应该是奇数页(右页)。但是,这些图片只是为了说明输出结果。

相关内容