![multicol 之后 \nobreak 不起作用](https://linux22.com/image/461456/multicol%20%E4%B9%8B%E5%90%8E%20%5Cnobreak%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
假设我想在每个部分的末尾添加一条水平线,但是它不能在分页符后被隔离。
这是一个简单的例子:
\usepackage{latexbug}
\documentclass[12pt]{article}
\usepackage[paperwidth=15cm, paperheight=20cm, top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{multicol}
\usepackage{lipsum}
\widowpenalties 4 9999 9000 6000 2000
\clubpenalties 4 9999 9000 6000 2000
\newcommand{\formattedsection}[2]{
\section{#1}
\begin{multicols}{2}
#2
\end{multicols}
\par
\nobreak\hrulefill % SHOULD BE ON THE SAME PAGE
}
\begin{document}
\formattedsection{My Section}{\lipsum[1-2]}
\end{document}
\begin{document}
\formattedsection{My Section}{\lipsum[1-2]}
\end{document}
以下是我得到的结果:
水平线位于孤立的页面中,这是我不想要的。
我做了很多测试,问题似乎出在多列上。我猜它已经定义了多列的末尾是分页符的好位置。有办法恢复吗?
如果我删除多列,并且由于我定义了寡妇惩罚,文本的最后几行将移动到下一页,以防规则不适合页面(下图)。我相信这也是列的预期行为。