scrreprt
我使用带有选项的documentclass twoside
。因此,LaTeX 会尝试拉伸整个页面上的内容,而不是在页面底部留下间隙。这有时会产生很大的间隙。这是我能够产生的最极端的情况(请注意校样顶部和下方的间隙):
我发现这些差距完全可以接受。然而,当我包含包时setspace
,我经常不得不处理更大的差距,正如我在以下示例中能够产生的:
是否有可能避免这些差距并仍然使用scrreprt
和setspace
?这是产生巨大差距的代码。
\documentclass[twoside=true]{scrreprt}
\usepackage{setspace}
\usepackage{amsthm}
\newtheorem{prop}{Proposition}[section]
\usepackage{amsmath}
\usepackage{blindtext}
\begin{document}
\begin{prop}
\label{itExists2}
This is a non-sense proof to show that I have
serious problems with the geometry and setspace package!
\end{prop}
\begin{proof}
\begin{align*}
1 \\ 2\\ 3\\ 4\\ 5\\6\\
\end{align*}
Hi
\[ 1+ 1 =2\]
\end{proof}
\blindtext\blindtext
Some nice equations:
\begin{align*}
1 +1 = 2 \\1+1 =3 \\ 1+1 =3 \\1+1 =3 \\ 1+1 =3 \\1+1 =3
\end{align*}
\end{document}
如果所有内容都适合页面,则看起来如下:
答案1
根据你问题的评论,似乎只有一种可能性:
更改两个方程块之间的文本长度。我使用包blindtext
将一些(更多)虚拟文本放入您的 MWE。我使用包showframe
来可视化生成的打字区域和边距。
在@cfr 的评论之后,我查看了 KOMA-Script 手册并在那里找到了 KOMA-Script 作者 Markus Kohm 提供的完整示例(德文版第 2 章第 40 页),用于最佳地使用setspace
KOMA-Script 和一些使用包的提示scrhack
(德文版第 16 章第 333 页)。
所有这些导致了以下编辑的 MWE(相关行标有<=========
,请参阅 MWE 中的注释):
\documentclass[%
twoside=true, %
DIV=calc, % KOMA-Script calculated best values <==================
paper=a4, % papersize
]{scrreprt} % scrbook scrreprt
\usepackage[% <========================================================
% setspace=false, % no correction for setspace, uncomment, if wanted
]{scrhack} % see KOMA-Script guide, chapter 16.4
% see chapter 2, page 40 (German version) for example by M. Kohm
\usepackage[onehalfspacing]{setspace}% load package <===================
\AfterTOCHead{\singlespacing} % header with singlespace <===============
\KOMAoptions{DIV=last}% <================= recalculate, knowing setspace
\usepackage{amsthm}
\newtheorem{prop}{Proposition}[section]
\usepackage{amsmath}
\usepackage{blindtext} % creates dummy text, dummy document
\usepackage{showframe} % <=====================================
%\raggedbottom % <=====================================
\begin{document}
\begin{prop}
\label{itExists2}
This is a non-sense proof to show that I have
serious problems with the geometry and setspace package!
\end{prop}
\begin{proof}
\begin{align*}
1\\
2\\
3\\
4\\
5\\
6\\
\end{align*}
Hi
\[ 1+ 1 =2 \]%\qedhere
\end{proof}
\blindtext\blindtext%\blindtext %=====================================
Some nice equations:
\begin{align*}
1 +1 = 2 \\
1+1 =3 \\
1+1 =3 \\
1+1 =3 \\
1+1 =3 \\
1+1 =3
\end{align*}
\Blindtext %=====================================
\end{document}
结果第一页如下:
答案2
您需要注意 KOMA 类的工作方式。这些类用于typearea
布局页面,它们依靠所掌握的信息来做出有关该布局的正确决策。
setspace
以 KOMA 需要知道的方式更改事物。如手册中所述,您需要在加载包并更改间距(如果适用)后重新计算布局。您还应该以特定方式更改文档特定部分的间距,并在任何更改后再次重新计算。有关详细信息,请参阅文档。
以下是一个让 KOMA 适当布局页面的示例。如果您希望使用其他布局,请参阅文档以了解各种可能性的详细信息。
\documentclass[twoside=true,DIV=calc,a4paper]{scrreprt}% tell KOMA to calculate the page layout based on its default algorithm
\usepackage{setspace}% load package
% any changes to line spacing go here e.g. \doublespacing or whatever
\KOMAoptions{DIV=last}% recalculate the layout in light of the changes just made
\usepackage{amsthm}
\newtheorem{prop}{Proposition}[section]
\usepackage{amsmath}
\usepackage{blindtext}
\begin{document}
hi\newpage% this is just so that we can see a double-page spread
\begin{prop}
\label{itExists2}
This is a nonsense proof to show that I have
no problems at all with typearea and the setspace package!
\end{prop}
\begin{proof}
\begin{align*}
1 \\ 2\\ 3\\ 4\\ 5\\6\\
\end{align*}
Hi
\[ 1+ 1 =2\]
\end{proof}
\blindtext\blindtext
Some nice equations:
\begin{align*}
1 +1 = 2 \\1+1 =3 \\ 1+1 =3 \\1+1 =3 \\ 1+1 =3 \\1+1 =3
\end{align*}
\end{document}
结果:
这里的诀窍是让 KOMA 按照设计完成任务,方法是向它提供足够的信息,以便它对布局做出合理的决定。KOMA 套件的一个关键特性就是它typearea
被设计成可以很好地完成这一任务。