同一页上的章节与第一节之间缺少空格

同一页上的章节与第一节之间缺少空格

我刚刚写了一条命令来在同一页面上开始新的章节:

\documentclass{report}
\usepackage[utf8]{inputenc}

\newcommand{\chapterh}[1]{
{
    \let
    \clearpage
    \relax
    \chapter{#1}
}
}

\begin{document}

\chapter{}

Here some text.

\bigskip

Here some text after a bigskip.

\chapterh{}

Here some text.

\section{Section 1}

Here some text.

\section{Section 2}

Here some text.

\end{document}

它可以起作用,但是本章文本和本章第一节之间的空间异常小:

pdf 创建

我发现问题在于上一章的代码中有一个空行(就在 \bigskip 之前和之后)。没有空行,一切都正常。我该如何解决这个问题?

答案1

clearpage hack 看起来很简单,但它将章节放在一个组中,这不是一个好主意。它隐藏了一些代码,因此混淆了以下分段命令。

最好从一开始就定义新命令:

\documentclass{report}

\makeatletter
\newcommand\chapterh{%\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\makeatother

\begin{document}

\chapter{}

Here some text.

\bigskip

Here some text after a bigskip.

\chapterh{}

Here some text. 

\section{Section 1}

Here some text.

\section{Section 2}

Here some text.

\end{document}

\usepackage[utf8]{inputenc}不再需要,utf8 多年来一直是 latex 中的默认设置。

相关内容