画一条线但不在分页符处

画一条线但不在分页符处

我想创建一条命令来用水平线分隔一些文本块。

但是我不希望在页面末尾(或开头)画线,因为分页符已经将内容分开了。另外,鼓励分页符只出现在这些位置也不错。

是否有一些简单的方法可以实现这一点?

这是一个例子。我想阻止新页面开头的行。

\documentclass{article}
\usepackage{lipsum}

\newcommand{\mybreak}{

  \bigskip

  \pagebreak[3]
  \begin{center}
    --------------------------
  \end{center}

  \bigskip

}
\begin{document}

\lipsum[1-2]

\mybreak

\lipsum[1-2]

\mybreak

\lipsum[1-2]

\mybreak

\lipsum[1-2]

\mybreak

\lipsum[1-2]

\mybreak


\end{document}

答案1

这种定义方法\mybreak似乎可以防止条出现在页面顶部,并且通过使用定义的blocktext,s 中的文本minipage同样可以避免中断。

\documentclass{article}
\usepackage[nopar]{lipsum}

\newcommand{\mybreak}{\nobreak%
\noindent\begin{minipage}{\textwidth}
  \vspace*{2em}
  \begin{center}
    --------------------------
  \end{center}
  \vspace{1em}
  \end{minipage}\allowbreak%
}
\newenvironment{blocktext}{%
  \xdef\svparindent{\the\parindent}%
  \noindent\begin{minipage}{\textwidth}\parindent=\svparindent‌​\relax\strut%
  \ignorespaces%
}{\strut\end{minipage}}
\begin{document}

\begin{blocktext}
\lipsum[1]\par
\lipsum[2] 
\end{blocktext}

\mybreak

\begin{blocktext}
\lipsum[1]\par
\lipsum[2] 
\end{blocktext}

\mybreak

\begin{blocktext}
\lipsum[1]\par
\lipsum[2] 
\end{blocktext}

\mybreak

\begin{blocktext}
\lipsum[1]\par
\lipsum[2] 
\end{blocktext}

\mybreak

\begin{blocktext}
\lipsum[1]\par
\lipsum[2] 
\end{blocktext}

\mybreak
\end{document}

相关内容