在 scrbook 中设置章节标题的上边距

在 scrbook 中设置章节标题的上边距

scrbook文档中,我需要将章节标题设置为靠近上页边距,不带前导数字,\hrule后面带有数字。重新定义\chapterheadstartvskip可以解决页边距问题,但无法解决 hrule 问题并省略数字。titlesec我可以设置 \hrule 和数字,但无法将标题移到上页边距。我在设置中遗漏了什么吗titlesec

\documentclass[]{scrbook}
\usepackage[a5paper]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[]{blindtext}

% is ignored when titlesec is used
\renewcommand*{\chapterheadstartvskip}{\vspace*{-4\topskip}} 
\renewcommand*{\chapterheadendvskip}{}

\usepackage[]{titlesec}
\titleformat{\chapter}[hang]{\huge\sffamily\bfseries}{}{0pt}{}[\hrule\vspace*{-24pt}]

\begin{document}
\chapter{Foobar}
\blindtext

\end{document}

未完成的布局

答案1

喜欢马可·丹尼尔在他的评论中说:你不需要titlesec。通过重新定义,\chapterheadendvskip您可以获得规则,通过重新定义,\chapterformat您还可以摆脱数字。

\documentclass[a5paper]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{blindtext}
\usepackage{xcolor}

\renewcommand*\chapterheadstartvskip{\vspace*{-4\topskip}} 
\renewcommand*\chapterheadendvskip{%
  \vskip-.5\baselineskip
  \noindent
  {\color{gray}\rule{\linewidth}{2pt}}%
  \par}
\renewcommand*\chapterformat{}

\begin{document}
\chapter{Foobar}
\blindtext

\chapter{Blah}
\blindtext

\end{document}

在此处输入图片描述

相关内容