pagebreak和amsmath定理環境問題

pagebreak和amsmath定理環境問題

在下面的範例中,您會注意到,當在\pagebreak定理之後使用 a 時,會在定理環境之後添加不需要的垂直空格,但事實並非如此。

\documentclass[11pt,fleqn]{book}
\usepackage[showframe,top=3.4cm,bottom=3.4cm,left=3cm,right=3cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{blindtext}
%----------------------------------------------
\theoremstyle{plain}
\newmdtheoremenv{theoreme}{Theorem}
\begin{document}%
\flushbottom
%----------------------------------------------
\chapter{Title}
%----------------------------------------------
\blindtext[3]
\begin{theoreme}text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text\end{theoreme}
\pagebreak % TO BE COMMENTED FOR TESTING
text
\end{document}
%----------------------------------------------
  • 帶分頁符 在此輸入影像描述

  • 沒有分頁符 在此輸入影像描述

答案1

正如芭芭拉·比頓所說,這是預期的行為。但是,您可以透過\unskip在以下內容之前添加來規避它\pagebreak

樣本輸出

egreg 建議的替代方案是\addpenalty{-10000}代替組合\unskip\pagebreak\addpenalty本質上包含\unskipand \pagebreak(不帶參數)的程式碼本質上是\penalty-10000

\documentclass[11pt,fleqn]{book}
\usepackage[showframe,top=3.4cm,bottom=3.4cm,left=3cm,right=3cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{blindtext}
%----------------------------------------------
\theoremstyle{plain}
\newmdtheoremenv{theoreme}{Theorem}
\begin{document}%
\flushbottom
%----------------------------------------------
\chapter{Title}
%----------------------------------------------
\blindtext[3]
\begin{theoreme}text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text\end{theoreme}
\unskip\pagebreak % TO BE COMMENTED FOR TESTING
text
\end{document}
%----------------------------------------------

相關內容