
考慮這個例子
\documentclass{report}
\begin{document}
Some text
\medskip
\textbf{Mini title}
\medskip
\nopagebreak
Some more text
\end{document}
如何避免「迷你標題」和「更多文字」之間的分頁符號。我正在\nopagebreak
為此探索但無濟於事?
答案1
我\medbreak
從 LaTeX 複製了命令並製作了一個\mednobreak
.它執行 a\nopagebreak
和 a \medskip
。它將把以下段落的第一行附加到\textbf{Mini title}
.註解標記的行以查看效果。
\documentclass{report}
\usepackage{lipsum}
\def\mednobreak{\par\ifdim\lastskip<\medskipamount
\removelastskip\nopagebreak\medskip\fi}
\begin{document}
\lipsum[1-4]
\lipsum[2]
another line % comment to see difference
\medskip
\textbf{Mini title}
\mednobreak
\lipsum[1]
\end{document}
答案2
避免使用顯式的字體更改命令。
如果您使用節標題命令,標記會更加靈活,並且 LaTeX 會自動處理不允許在標題後出現分頁符
\documentclass{report}
\begin{document}
Some text
\vspace{40\baselineskip}% heading and text stay on this page
%\vspace{41\baselineskip}% heading and text go to next page
Some text
\subsection*{Mini title}
Some more text
\end{document}
答案3
我建議你加載needspace
包並發出指令
\Needspace*{3\baselineskip}
緊接在第一個\medskip
指令之前。
完整的 MWE(最小工作範例):
\documentclass{report}
\usepackage{needspace}
\begin{document}
\dots
Some text
\Needspace*{3\baselineskip}
\medskip
\textbf{Mini title}
\medskip
Some more text
\end{document}