章节页的格式:章节号位于背景中且居中

章节页的格式:章节号位于背景中且居中

我正在使用 Koma-script我想创建一个chapter执行以下操作的页面:

  1. 章节标题水平和垂直居中
  2. 章节标题极大
  3. 章节编号位于背景中,规模极大。

我的问题是关于 3.,我没能做到。

通过修改\chapterlinesformatKoma 脚本,我实现了 1. 和 2.,尽管 2. 在代码方面有点奇怪。

对于 3.,我曾想过使用tikz并将页眉简单地放在章节标题后面,这种方法很有效。但是尽管使用了 ,我还是无法轻松地将其居中(current page.center)。我不明白为什么它不在中心。

这是我的 MWE:

\documentclass[oneside]{scrbook}

\usepackage{xparse}
\usepackage{tikz}
\usepackage{adjustbox}

\DeclareDocumentCommand\chapterheadstartvskip {}{}
\DeclareDocumentCommand\chapterheadendvskip {}{}
\DeclareDocumentCommand\chaptermarkformat {}{}

\DeclareDocumentCommand\chapterlinesformat {mmm} {%

\tikz[remember picture,overlay]
    \node[scale=25,pink] at (current page.center){#2};%

\vspace*{-\topskip}\vfill
    \adjustbox{center}{%
    \adjustbox{minipage=8cm, scale=3, max width=20cm}{\centering #3}
    }
\vfill
\clearpage
}

\begin{document}
\chapter{Extremely long chapter title blablablablabla}
\end{document}

顺便说一句,对于 2.,为了让章节标题尽可能大,我必须嵌套两个adjustbox。第一个 到center,第二个 到。如果我尝试在同一个 中scale使用键center和,它会忽略该参数。scale=3adjustboxscale

有人能帮我把章节号放在标题后面吗?为什么不在(current page.center)页面中央?

答案1

KOMA 命令的原始定义\chapterformat

\newcommand*{\chapterformat}{%
  \mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot
    \IfUsePrefixLine{}{\enskip}}%
}

它格式化章节编号。如果没有包含单词“Chapter”和章节编号的前缀行,则需要一个空格来分隔章节编号和章节标题文本。此空格必须是数字格式的一部分,因为如果章节未编号,则应将其删除。

我建议按照其任务来使用这些命令。

  • \chapterheadstartvskip使用和在章节标题上方和下方插入空格\chapterheadendvskip
  • 使用 格式化章节编号\chapterformat
  • 用于chapterlinesformat获取章节标题文本的非常特殊的格式。

例子:

\documentclass[oneside]{scrbook}
\usepackage{tikz}
\usepackage{adjustbox}

\renewcommand*\chapterheadstartvskip{\vspace*{-\topskip}\vfill}
\renewcommand*\chapterheadendvskip{\vfill\clearpage}

\renewcommand*\chapterformat{%
  \tikz[remember picture,overlay]
    \path(current page.center)node[scale=25,pink]{\thechapter};%
}

\renewcommand\chapterlinesformat[3]{%
  #2\par
  \adjustbox{center}{%
      \adjustbox{minipage=8cm, scale=3, max width=20cm}{\centering #3}%
    }%
}

\begin{document}
\chapter{Extremely long chapter title blablablablabla}
\end{document}

在此处输入图片描述

更新

您还可以使用\parboxwith\textwidth\textheightinside \chapterlinesformat

\documentclass[oneside]{scrbook}
\usepackage{tikz}
\usepackage{adjustbox}

\RedeclareSectionCommand[
  beforeskip=-1sp minus -1sp,
  afterskip=1sp minus 1sp
]{chapter}

\renewcommand*\chapterformat{%
  \tikz[remember picture,overlay]
    \path(current page.center)node[scale=25,pink]{\thechapter};%
}

\renewcommand\chapterlinesformat[3]{%
  \parbox[c][\textheight][c]{\textwidth}{%
    #2\par
    \adjustbox{center}{%
      \adjustbox{minipage=8cm, scale=3, max width=20cm}{\centering #3}%
}}}
\begin{document}
\chapter{Extremely long chapter title blablablablabla}
\end{document}

结果和上面一样。

答案2

该命令添加了一个空格\chapterformat,它是 的参数\chapterlinesformat

所以我可以重新定义\chapterformat\thechapter

\RenewDocumentCommand\chapterformat {}{\thechapter}

以达到预期的效果。

或者,我可以使用\thechapter而不是#2但我认为第一个解决方案更好。

\chapterformat我认为because中有一个空格\chapterlinesformat通常是这样的:

\@hangfrom{\hskip #2#3}{#4}}

是。因此需要空格吗?我不太确定#2\chapterformat

相关内容