![演讲:最后一句在新页面上重印](https://linux22.com/image/375585/%E6%BC%94%E8%AE%B2%EF%BC%9A%E6%9C%80%E5%90%8E%E4%B8%80%E5%8F%A5%E5%9C%A8%E6%96%B0%E9%A1%B5%E9%9D%A2%E4%B8%8A%E9%87%8D%E5%8D%B0.png)
是否可以将页面的最后一行重新打印到新的页面上?我认为这对演讲很有帮助...
\documentclass[paper=a5]{article}
\usepackage{blindtext}
\begin{document}
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\end{document}
答案1
我认为您可能会发现fwlw
这里的包 ( > texdoc fwlw
) 很有用,它可以为您提供页面上的第一个和最后一个单词以及下一页的第一个单词。作者 Donald Arseneau ( [email protected]
) 暗示他将考虑扩展fwlw
以适应第一行/最后一行。您可能希望联系他。
答案2
这种方法的主要缺点是它将整个语音放入 BF 缓冲区。这showframe
只是为了检查对齐。
我尝试过和fancyhdr
,\pagestyule{myheadings)
但最终选择了\afterpage
。
\documentclass[paper=a5]{article}
\usepackage{blindtext}
\usepackage{afterpage}
\usepackage{showframe}
\newsavebox{\BFbuffer}
\newsavebox{\headbox}
\newenvironment{drone}{\global\setbox\headbox=\hbox{Test}%
\setbox\BFbuffer=\vbox\bgroup}%
{\egroup\newpage
\loop\ifdim\ht\BFbuffer>0pt
\setbox0=\vsplit\BFbuffer to \textheight
\ifdim\ht\BFbuffer>0pt
\setbox1=\copy0
\setbox2=\vsplit1 to \dimexpr \ht1-\baselineskip\relax
\global\setbox\headbox=\hbox{\usebox1}%
\afterpage{\rlap{\raisebox{\dimexpr \topskip+\headsep}[0pt]{\usebox\headbox}}\vskip-\baselineskip}%
\fi
\unvbox0\pagebreak
\repeat}
\begin{document}
\begin{drone}
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\end{drone}
\end{document}