使用回忆录类,如何进行基线对齐而不在段落之间插入空格?

使用回忆录类,如何进行基线对齐而不在段落之间插入空格?

我正在使用 memoir 类,需要对齐页面底部。默认情况下,memoir 类通过在段落之间插入空格来实现这一点,而这并不是我想要的。因此,我使用命令\raggedbottom并仅在我想要的位置插入垂直间距。

我遇到了如下的情况,我想添加大约半行垂直空间,所以我想在右侧页面的两个部分标题上方添加一点点空间。

在此处输入图片描述

我在两个部分标题上方插入了该命令\vspace{\fill},但只有当页面底部的空间超过一行左右时,它才对我有用。如果它很小,就像上面的例子一样,我得到这个:

在此处输入图片描述

\vspace{\fill}解决这个用例吗?如果不能,有没有更好的方法?

这是我的 MWE:

\documentclass{memoir}

\clubpenalty=10000
\widowpenalty=10000

\usepackage{lipsum}
\raggedbottom
\begin{document}

\lipsum[1-10]

\subsection{Subsection Two}
\lipsum[1-1]

\vspace{\fill}
\section{Section Five}
\lipsum[1-1]

\vspace{\fill}
\section{Section Six}
\lipsum[1-1]

\section{Section Seven}
\lipsum[1-1]

\end{document}

编辑

下面是一个效果很好的示例\vspace{\fill}。我将命令添加\enlargethispage{2\baselineskip}到 MWE 的第 11 行和第 23 行,结果如下:

在此处输入图片描述

在部分标题上方添加\vspace{\fill}内容可以很好地解决问题,如下所示。因此,无论页面底部的空间有多小,我都希望完成相同的操作。

在此处输入图片描述

答案1

这回答了“如何调整设置以适应 插入的最小允许空间\vspace{\fill}?”的问题。与此同时,很明显这不是实际需要的。答案留待后人参考。

您也\vspace*{\fill}可以使用\vspace*{1cm plus 1fill}

答案2

你允许空间任意增大,因此在部分之前引入了较大的间隙

\vspace{0pt plus \baselineskip}

会对超过基线跳跃的增长给予惩罚,并产生以下结果:

在此处输入图片描述

你看到的带有章节标题的页面更加合理,并且页面与底部齐平,但是由于设置,第一页少了一行


\clubpenalty=10000
\widowpenalty=10000

这始终是有问题的。

在该页面上,您要么需要允许页面(或许还有双页)变短,要么放弃 10000 个惩罚,要么调整换行,\looseness 但在此文本中,没有简单的段落可以强制延长一行。

\documentclass{memoir}

\clubpenalty=10000
\widowpenalty=10000

\usepackage{lipsum}
\raggedbottom
\begin{document}

{\emergencystretch=1em
\looseness=1
\lipsum[1]


}

\lipsum[2-4]


\lipsum[5]

\lipsum[6-10]

\subsection{Subsection Two}
\lipsum[1-1]

\vspace{0pt plus \baselineskip}
\section{Section Five}
\lipsum[1-1]

\vspace{0pt plus \baselineskip}
\section{Section Six}
\lipsum[1-1]

\section{Section Seven}
\lipsum[1-1]

\end{document}

在此处输入图片描述

这显然不是一个进步

答案3

我完全搞错了。正如我的问题中提到的,我想要底部齐平但段落之间没有空格。默认的 memoir 类给出了这个输出,其中包含我不想要的段落间距,如下所示:

在此处输入图片描述

因此,我习惯\raggedbottom将段落放在一起,然后固定它们之间的间距。以下是底部有缺口的相同文本:

在此处输入图片描述

我现在看到我可以使用默认的底部间距并摆脱段落间距而不使用\raggedbottom设置\setlength{\parskip}{0pt},这很好用,但可以理解的是,在部分标题上方留下很大的空间:

在此处输入图片描述

可以通过将两个页面缩短一行来减少\enlargethispage{-1\baselineskip}

在此处输入图片描述

我的稿件中有很多引用的文字、章节和图表,因此有很多机会添加段落之间的间距。我确信这不会满足每个人的需求,但我在稿件的前 100 页上进行了测试,效果很好。

以下是上述示例的代码


\clubpenalty=10000
\widowpenalty=10000

\usepackage{lipsum}

% \raggedbottom

\setlength{\parskip}{0pt}

\begin{document}

\lipsum[1-9]

\subsection{Subsection Two}

\enlargethispage{-1\baselineskip}
\lipsum[1-1]

\section{Section Five}

\enlargethispage{-1\baselineskip}
\lipsum[1-3]

\section{Section Six}
\lipsum[1-1]

\section{Section Seven}
\lipsum[1-1]

\end{document}

相关内容