自定义更精美的章节开头

自定义更精美的章节开头

在里面上一个问题,我尝试过每章请求一种风格。这次我想请求自定义章节开头。但是我的情况有点复杂,让我们先看看 MWE。

\documentclass[12pt,a4paper,headinclude,openright]{scrbook}
\usepackage{etoolbox}
\usepackage[usenames,dvipsnames,svgnames,x11names,table]{xcolor}
\usepackage{microtype}
\usepackage{graphicx}
\definecolor{color00}{HTML}{3F3A7D}
\definecolor{color01}{HTML}{660033}
\definecolor{color02}{HTML}{DC143C}
\definecolor{color03}{HTML}{FF4500}
\definecolor{color04}{HTML}{FF8000}
\definecolor{color05}{HTML}{FFD700}
\definecolor{color06}{HTML}{CCCC00}
\definecolor{color07}{HTML}{176C2E}
\definecolor{color08}{HTML}{20B2AA}
\definecolor{color09}{HTML}{00CED1}
\definecolor{color10}{HTML}{1E90FF}
\definecolor{color11}{HTML}{0000CD}
\definecolor{color12}{HTML}{800080}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{backgrounds}
\usetikzlibrary{fit}
\usetikzlibrary{shapes}
\usetikzlibrary{scopes}
\clearscrheadfoot
\usepackage{scrpage2}
\usepackage{tikz}
\lehead{\begin{tikzpicture}[remember picture,overlay]
  \node[
    inner sep=0pt,
    fill=\chapterbackcolor,
    font=\fontsize{40}{48}\selectfont\color{white}\sffamily,
    anchor=north east,
    align=center
    ]
    (chapimage)
    at (current page.north east) 
    {\includegraphics[height=1.5cm,width=3cm]{\hdicons}};
   \node[
     inner sep=0pt,
     anchor=south east,
     font=\color{\chapterbackcolor}\sffamily
   ] 
   (mark)
       at ([xshift=-1em]chapimage.south west) 
       {\rightmark};
       \draw[\chapterbackcolor,line width=1pt] 
     ([xshift=12em]mark.south east) -- ++(-\paperwidth-12em,0);
  \end{tikzpicture}%}
\lohead{\begin{tikzpicture}[remember picture,overlay]
  \node[
    text width=2cm,
    text height=0.5cm,
    text depth=1.5cm,
    fill=\chapterbackcolor!20,
    font=\Large\sffamily,
    anchor=north east,
    align=center
    ]
    {\thepage};
  \end{tikzpicture}}
\lefoot{...}
\rofoot{...}
\pagestyle{scrheadings}
% chapter style
\newcommand\hdicons{}
\renewcommand\hdicons{%
\ifcase\value{chapter}Icon00\or Icon01\or Icon02\or Icon03\or Icon04\else Icon\fi}
\renewcommand\chapterbackcolor{%
\ifcase\value{chapter}color00\or color01\or color02\or color03\or color04\or color05\or color06\or color07\or color08\or color09\or color10\or color11\else color12\fi}
\def\@chapter[#1]{\begin{tikzpicture}[remember picture,overlay]
                  \node(hd)at (current page.north west){\thechapter};
                  \begin{scope}[on background layer]
                  \node[text width=21cm,minimum height=10cm,fill=\chapterbackcolor,fit=(hd)]at(current page.north) {};
                  \end{scope}
              \end{tikzpicture}%
              \ifnum \c@secnumdepth >\m@ne
                     \refstepcounter{chapter}%
                     \typeout{\@chapapp\space\thechapter.}%
                     \addcontentsline{toc}{chapter}%
                               {\protect\numberline{\thechapter}#1}%
                \else
                  \addcontentsline{toc}{chapter}{#1}
                \fi
                \addtocontents{lof}{\protect\addvspace{10\p@}}%
                \addtocontents{lot}{\protect\addvspace{10\p@}}%
                }
\usepackage[listings,theorems,skins,breakable]{tcolorbox}
% for examples
\begin{document}
\frontmatter
\chapter*{Table of contents, figures and tables}
\tableofcontents
\mainmatter
\part{Part ONE}
\chapter{Sample Chapter 1}
\section{Section ONE}
\backmatter
\end{document}

MWE 是关于我想为章节开头定制的代码。鉴于我知道要更改每个章节的开头样式,需要定义样式变量(例如 bgcolors 等),我想知道以下内容:

  • \thechapter开头是否代表章节标题?
  • 我想在章节标题下添加背景,MWE 将如何修改才能实现这一点?

笔记:

  • 因为我坚持使用 koma-script,所以我希望使用与 koma-script 兼容的包来获​​得答案。
  • 请允许我确认代码的来源,它们是这里这里

答案1

当我等待有人回答这个问题时,我可以(有点)弄清楚。不过,我必须先回答一些问题。

\thechapter开头是否代表章节标题?

我发现这个问题让每个人都感到困惑,当我在试验代码时,它对\thechapter我的​​范围没有任何作用。

我想在章节标题下添加背景,MWE 将如何修改才能实现这一点?

这是关于章节开头装饰的常见问题。应该说有很多种选择,这是其中一种可能性。

我的选择是使用KOMA-Script 和章节标题上方的\setchapterpreamble选项。因此可以在命令内部使用。o\begin{tikzpicture}

我的新作样本页

奖金

  1. 因为我不仅试验了章节开头的装饰,还试验了每个部分的开头。我想做的是制作双页,背景为图像,文本颜色为白色。如下图所示。MWE 如下:

    % changing the font of part heading
    \renewcommand{\partformat}{\textcolor{white}{\partname~\thepart\autodot}}
    \setkomafont{part}{\Huge\bfseries\color{white}}
    \renewcommand*{\partpagestyle}{empty}
    
    % cont'd from above MWE
    % NOTE: the openright option can only switch manually to the left page, depends on the previous page
    \includepdf[openright=false,pages={1}]{Cover04_1}
    \setpartpreamble{%
    \ThisURCornerWallPaper{1.0}{Cover04_2}
    }
    \part{Blah, blah, blah}
    

    以及示例图像:

    我的新作品的开头部分样本

  2. 正如我所说,有很多方法可以实现这一点。但是,我还没有尝试过这些方法。

请让我参考我在这里使用的图像,它们来自Flickr作者:温迪·皮尔索尔(Wendy Piersall)。

相关内容