scrlayer-scrpage 布局中的精美部分标题

scrlayer-scrpage 布局中的精美部分标题

对于最初由埃塞克斯成立这里,我想添加如下部分标题:

在此处输入图片描述

你能告诉我如何添加这些漂亮的标题吗?

以下是迄今为止使用默认部分标题编写的代码:

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{fourier}

\usepackage{xpatch}
\usepackage{scrextend}% <- added
\usepackage[automark]{scrlayer-scrpage}
\renewcommand\chaptermarkformat{}
% define a new mark for the chapter number
\newmarks\chapternum
\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed}

\newlength\outermarginwidth
\setlength\outermarginwidth{2cm}
\newlength\chapternumbersize
\setlength\chapternumbersize{60pt}

\colorlet{outermarginbgcolor}{lightgray}
\colorlet{outermarginfgcolor}{darkgray}

\newcommand*\outermarginpagemark{%
  \ifodd\value{page}\else\hfill\fi%
  \tikz[overlay]
    \node[circle,fill=outermarginfgcolor,text=white,font=\bfseries,minimum size=6mm]
      {\thepage};%
}

\makeatletter
\newcommand\outermarginmark{
  \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi
  \rotatebox{90}{\parbox{\layerheight}{%
    \raggedleft
    \usekomafont{outermargin}{%
      \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}%
  }}%
  \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi%
}
\newcommand*\even@outermargin{}
\newcommand*\odd@outermargin{}
\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}
\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}
\makeatother
\newkomafont{outermargin}{%
  \normalfont\normalcolor
}

\makeatletter
\newcommand*\chapternumbermark{%
  \ifodd\value{page}\else\hfill\fi%
  \if@mainmatter
    {\usekomafont{chapternumber}{\makebox[0pt]{\botmarks\chapternum}}}%
  \fi
  \vfill
}
\makeatother

\newkomafont{chapternumber}{%
  \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont
  \color{outermarginfgcolor}% 
}

% declare new page style using layers
\DeclareNewPageStyleByLayers{scth}{%
  scth.outermargin.bg.even,%
  scth.outermargin.bg.odd,%
  scth.outermargin.pn.even,%
  scth.outermargin.pn.odd,%
  scth.outermargin.cn.even,%
  scth.outermargin.cn.odd,%
  scth.outermargin.text.even,%
  scth.outermargin.text.odd%
}

% define the layers for even pages
\DeclareNewLayer[
  background,
  evenpage,
  outermargin,
  width=\outermarginwidth,
  contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}}
]{scth.outermargin.bg.even}
\DeclareNewLayer[
  foreground,
  evenpage,
  foot,
  hoffset=0pt,
  width=\outermarginwidth,
  contents=\outermarginpagemark
]{scth.outermargin.pn.even}
\DeclareNewLayer[
  foreground,
  evenpage,
  head,
  hoffset=0cm,
  width=\outermarginwidth,
  align=t,
  addvoffset=\dimexpr-\chapternumbersize+\headheight\relax,
  height=\chapternumbersize,
  contents=\chapternumbermark
]{scth.outermargin.cn.even}
\DeclareNewLayer[
  clone=scth.outermargin.cn.even,
  addheight=\dimexpr\headheight+\headsep+\textheight\relax,
  contents=\outermarginmark
]{scth.outermargin.text.even}

% define the layers for odd page from the settings for even pages
\newcommand*\DeclareOddFromEven[1]{%
  \DeclareNewLayer[
    clone=#1.even,
    oddpage,
    align=r,
    hoffset=\paperwidth
  ]{#1.odd}%
}
\DeclareOddFromEven{scth.outermargin.bg}
\DeclareOddFromEven{scth.outermargin.pn}
\DeclareOddFromEven{scth.outermargin.cn}
\DeclareOddFromEven{scth.outermargin.text}

% add the layers to page style scrheadings and page style plain
\ForEachLayerOfPageStyle*{scth}{%
  \AddLayersToPageStyle{scrheadings}{#1}%
  \AddLayersToPageStyle{plain.scrheadings}{#1}%
}

%----------------------------------------------
% header and footer contents settings
\KOMAoptions{headsepline,markcase=upper}
% for page styles scrheadings and plain
\clearpairofpagestyles
\ohead{\rightmark}
\cfoot{\pagemark}
\ofoot{Authors Name}
% set the contents of the outer margin on even and odd pages for scrheadings, plain and scth
\evenoutermargin{Title of the document}
\oddoutermargin{\leftmark}

\definecolor{lightblue}{RGB}{199,232,250}
\definecolor{darkblue}{RGB}{59,134,215}

\colorlet{outermarginbgcolor}{lightblue}
\colorlet{outermarginfgcolor}{darkblue}

\usepackage{blindtext}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\blinddocument

\clearpage
% change some settings
\colorlet{outermarginbgcolor}{orange!30}
\colorlet{outermarginfgcolor}{orange}
\addtokomafont{outermargin}{\color{blue!50!green}}
\evenoutermargin{Changed text on even pages}
\blinddocument
\end{document} 

答案1

我没有重用你的代码,这是另一种方法这可能是一个开始:

\documentclass{article}
\usepackage{fancyhdr}
\usepackage[x11names]{xcolor}

\usepackage{tikz}
\usetikzlibrary{positioning, calc}
\usepackage[explicit]{titlesec}

\pagestyle{fancy}
\fancyhf{}
\cfoot{}
\lhead{\color{cyan}\thepage}
\chead{SECTION~: \color{cyan}\leftmark}
\rhead{}
\renewcommand{\headrule}{{\color{cyan}%
  \hrule width\headwidth height\headrulewidth \vskip-\headrulewidth}}

\titleformat{\section}
{\sffamily\Large\bfseries\color{cyan}}
{}
{1em}
{%
  \begin{tikzpicture}
    \node[name=r1, rectangle, fill=cyan, anchor=north west, font=\color{blue},
    inner sep=3pt, minimum width=40mm, minimum height=10mm,
    xshift=3mm, align=right, text width=40mm,
    ] {#1};
    \node[name=c, rectangle, fill=blue, font=\color{white}, anchor=north west,
    minimum width=10mm,
    ] {\thesection};
    \draw[cyan, line width=5pt] ($(c.north east)+(0,-.5\pgflinewidth)$)
    -- ({(\textwidth)},{-.5\pgflinewidth});
  \end{tikzpicture}
}

\begin{document}

\section{titre 1}
blabla
\newpage
\section{titre 2}
blabla
\newpage
\section{titre 3}
\newpage
\section{titre 4}
blabla
\newpage
\section{titre 5}
\newpage
\section{titre 6}
blabla
\newpage
\end{document}

在此处输入图片描述

相关内容