具有特定背景和边距的 KOMA 部分格式

具有特定背景和边距的 KOMA 部分格式

我正在写一本由各个部分组成的书。我希望包含各个部分的页面采用以下格式:

  • 后台的罗马部分编号,目前使用tikz和获得background。有没有更好的方法来实现这一点(也许使用 KOMA 内部宏,只是因为我使用 才问的\tikzexternalize)?
  • 但主要问题是:如何addmargin在标题周围使用环境?我希望标题跨越到边距,并且没有\partlinesformat或类似的东西。
  • 添加:是否有可以应用其他风格的宏\part*

部分格式

\documentclass{scrbook}
\usepackage{tikz,xcolor,background,etoolbox}

\backgroundsetup{pages=some,angle=0,scale=50,color=blue!50,opacity=.1,contents={
    \begin{tikzpicture}
        \node at (current page.center) {\thepart};
    \end{tikzpicture}
}}

\renewcommand*{\partformat}{}
\renewcommand*{\partpagestyle}{empty}
\setkomafont{part}{\Huge\sffamily\BgThispage}

\begin{document}
    \part{This is a test with a very very long title}
        Here comes text
\end{document}

答案1

您可以使用包scrlayerscrlayer-scrpage为部分页面定义自己的页面样式。

以下是假设所有部分页面都是奇数页的示例:

\documentclass{scrbook}
\usepackage{tikz}% loads xcolor and graphicx
\usepackage{scrlayer-scrpage}% loads scrlayer
\newcommand*\partnumber{}
\DeclareNewLayer[
  background,
  textarea,
  addwidth=\marginparsep+\marginparwidth,
  mode=picture,
  contents={%
    \putC{\makebox[0pt][c]{\raisebox{-.5\height}{\scalebox{50}{\textcolor{blue!5}{\partnumber}}}}}\gdef\partnumber{}%
  }
]{partnumber}
\DeclareNewPageStyleByLayers{part}{partnumber}
\renewcommand\partpagestyle{part}
\renewcommand*{\partformat}{\gdef\partnumber{\thepart}}

% only a dirty workaround for the part title
\newcommand*\changedpartwidth[1]{%
  \makebox[\linewidth][l]{%
    \parbox{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}{\raggedpart#1}%
  }%
}
% add \changedpartwidth as last command to the settings for font element part
\addtokomafont{part}{\Huge\changedpartwidth}

\begin{document}
\part{This is a test with a very very long title}
 Here comes text
\part{This is a test with a very very very very long title}
 Here comes text
\addpart{Part without Number}
\end{document}

零件编号和标题水平居中于文本区域(包括边距)。

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

相关内容