如何跳过所有章节定义的 parskip linespread?

如何跳过所有章节定义的 parskip linespread?

我正在尝试跳过所有定义的parskip和设置。linespread\chapter

这是我的完整示例:

\documentclass[12pt,a4paper,oneside,]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\inputencoding{utf8}
\usepackage{helvet}
\usepackage{mathpazo}

\usepackage[parfill]{parskip}
\linespread{1.5}

\begin{document}

Some text.

\chapter{Der positive Wandel – von den Neunzigern bis Heute}
\label{derpositivewandelvondenneunzigernbisheute}

The next paragraph starts.

\end{document}

…编译后的输出:

例子

…我想要的是这样的间距:

理想的

以下是我失败的尝试列表

所有这些的共同点是,它们都不是解决方案,或者我以完全错误的方式应用了它们。

我尝试通过重写该章节\renewcommand但失败了......显然出了点问题。

灵感来自我也尝试过,\newcommand\chapter[1]{\par#1\par\vspace{-\parskip}}但和上面的一样有问题。

我的下一次尝试是

\newcommand\std@startsection{}
\let\std@startsection\@startsection
\def\@startsection{\renewcommand*\baselinestretch{1}\std@startsection}

再次,它不起作用。就像这个不起作用一样:

\makeatletter
\patchcmd{\@chapter}
  {\chapter{lof}}
  {\chapter{loa}{\protect\addvspace{10pt}}\chapter{lof}}
  {}{}
\makeatother

或者

\renewcommand\chapter
{\vspace{1.725\baselineskip plus 3\baselineskip minus .192\baselineskip }}

答案1

你不需要 patch\chapter\@makechapterhead。只需将你的命令添加到字体命令中:

\documentclass[12pt,a4paper,oneside,parskip=half-]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{helvet}
\usepackage{mathpazo}

\usepackage{setspace,lipsum}
\doublespacing %to see better the difference

\makeatletter
\addtokomafont{sectioning}{\setstretch{\setspace@singlespace}} 
%or only chapter instead of sectioning
\makeatother
\begin{document}
\chapter{Der positive Wandel – von den Neunzigern bis Heute}
\label{derpositivewandelvondenneunzigernbisheute}

{\Huge\bfseries\sffamily Der positive Wandel – von den Neunzigern bis Heute\par}

\lipsum[1]The next paragraph starts.

\end{document}

答案2

setspace是操纵线扩展的最佳解决方案(另请参阅@ThorstenDonigs 的评论)。以下解决方案修补了\@makechapterhead依赖于setspaces\singlespacing宏的问题。

\documentclass[12pt,oneside]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
  \inputencoding{utf8}
\usepackage{helvet}
\usepackage{mathpazo}
\usepackage{lipsum}
\usepackage{setspace}
  \onehalfspacing
\let\KOMA@makechapterhead\@makechapterhead
\renewcommand{\@makechapterhead}[1]{%
\begingroup
\singlespacing
\KOMA@makechapterhead{#1}
\endgroup}

\begin{document}

\chapter{Der positive Wandel – von den Neunzigern bis Heute}
\label{derpositivewandelvondenneunzigernbisheute}
\lipsum

\end{document}

相关内容