![画一条线但不在分页符处](https://linux22.com/image/355532/%E7%94%BB%E4%B8%80%E6%9D%A1%E7%BA%BF%E4%BD%86%E4%B8%8D%E5%9C%A8%E5%88%86%E9%A1%B5%E7%AC%A6%E5%A4%84.png)
我想创建一条命令来用水平线分隔一些文本块。
但是我不希望在页面末尾(或开头)画线,因为分页符已经将内容分开了。另外,鼓励分页符只出现在这些位置也不错。
是否有一些简单的方法可以实现这一点?
这是一个例子。我想阻止新页面开头的行。
\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}