将一个章节放在一页上

将一个章节放在一页上

我正在为我们公司的报告编写一个类。我想提供一个环境overview,将章节标题设为“概述”,然后将环境中的文本保留在同一页上(尽可能)。

现在,我的课程基本上模仿:

\documentclass[a4paper,11pt,titlepage,headings=big,
chapterprefix=true,headsepline,parskip=half]{scrreprt}

 \usepackage[activate={true,nocompatibility},final,tracking=true,kerning=true,
   spacing=true,]{microtype}


\usepackage[all]{nowidow}
%\RequirePackage{multicol}
\usepackage{multicol}
\newenvironment{overview}%
  {\onecolumn\begin{minipage}{\textwidth}\chapter*{Overview}\begin{multicols}{2}}%
  {\end{multicols}\end{minipage}\twocolumn}

\usepackage{lipsum}

\begin{document}
\begin{overview}
\lipsum[1-5]
\end{overview}
\end{document}

但这不是我想要的。 parskips 不正确。在特定情况下,获取外观相当简单

\begin{document}

\chapter*{Overview}
\lipsum[1-5]

\end{document}

但我想将一些将概述内容保存在一页上的机制委托给 LaTeX。

我也尝试过模仿samepage环境,但我知道这只能使段落保持在同一页面上,这还不够。

我知道没有办法解决概述中的文本过多的问题,但有时 TeX 会决定在下一页上放两行。有没有办法可以让 TeX 不这样做,而是 (a) 稍微减少段落之间的间距或 (b) 减少底部边距?

答案1

在此处输入图片描述

官方的说法是您应该始终使用类似 latex 命令而minipage不是类似底层 TeX 原语\vbox,但有时......

\documentclass[a4paper,11pt,titlepage,headings=big,
chapterprefix=true,headsepline,parskip=half]{scrreprt}

 \usepackage[activate={true,nocompatibility},final,tracking=true,kerning=true,
   spacing=true,]{microtype}


\usepackage[all]{nowidow}

\usepackage{multicol}
\newenvironment{overview}%
  {\onecolumn\vtop to 0pt\bgroup\chapter*{Overview}\begin{multicols}{2}}%
  {\end{multicols}\vss\egroup\hfill\twocolumn}

\usepackage{lipsum}

\begin{document}
\begin{overview}
\lipsum[1-5]
\end{overview}
\end{document}

相关内容