当我在包含标题的段落之后立即使用\epigraph{}
命令(来自包)时,我可以在页面底部获得一个寡妇段落标题并在下一页顶部获得一个孤立的题词......这很丑陋。epigraph
这是此行为的最小示例代码:
\documentclass[a4paper,12pt,oneside,french]{article}
\usepackage{epigraph}
\usepackage{lipsum}
\widowpenalty=10000
\clubpenalty=10000
\raggedbottom
\begin{document}
\lipsum[1-4]
\paragraph{lorem ipsum dolor}
\epigraph{Lorem ipsum dolor sit amet}{Ciceron}
\lipsum[1]
\end{document}
如您所见,我使用了\widowpenality
,但我无法强制段落标题转到下一页,而不是作为孤页留在原始页面上。
那么,我怎样才能强制所有段落的标题转到下一页以跟随其题词?
答案1
\paragraph
和之间出现这种断层的原因\epigraph
源于 的构造\epigraph
:它使用 之前(和之后)的跳过 和 列表来调整布局。您可能更适合编写自己的\epigraph
:
\documentclass[a4paper,12pt]{article}
\usepackage{etoolbox}
\usepackage{lipsum}
\raggedbottom
\newcommand{\epigraph}[2]{%
\par\nobreak\noindent\par\nobreak\vspace{.5\baselineskip}
\hfill{\small\begin{tabular}{@{}p{.4\textwidth}@{}}
#1 \\[1ex]
\hline
\hfill #2
\end{tabular}}
\vspace{.5\baselineskip}
}
\begin{document}
\lipsum[1-4]
\paragraph{lorem ipsum dolor}
\epigraph{Lorem ipsum dolor sit amet}{Ciceron}
\lipsum[1]
\end{document}
上面使用的长度是epigraph
。
答案2
您可以加载needspace
包并发出指令
\needspace{3\baselineskip}
紧接在所讨论的\paragraph
/\epigraph
组合之前。
完整的 MWE(段落标题和题词将显示在页面顶部:
\documentclass[a4paper,12pt,oneside,french]{article}
\usepackage{epigraph,lipsum}
\usepackage{needspace}
\widowpenalty=10000
\clubpenalty=10000
\raggedbottom
\begin{document}
\lipsum[1-4]
\needspace{3\baselineskip}
\paragraph{lorem ipsum dolor}
\epigraph{Lorem ipsum dolor sit amet}{Ciceron}
\lipsum[1]
\end{document}