I am using the shaded environment in the framed package to wrap some text lines that may go across two different pages. If there is a crossing of pages, I'd like to automatically add a line "(continue on next page)" to the first shaded box. Is there an easy way to do so? Thank you.
1 Answer
I recommend to use the newer mdframed package instead of the framed package. However, it also doesn't seem to have such a feature, but it might be done by patching \md@putbox@first and \md@putbox@middle.
Here something quick and dirty:
\documentclass{article} \usepackage{mdframed} \usepackage{lipsum} \usepackage{xcolor} \makeatletter \let\orig@md@putbox@first\md@putbox@first \def\md@putbox@first{% \orig@md@putbox@first \nopagebreak \vspace{-\baselineskip}% \vbox to 0pt{\hbox to \linewidth{\hss(continue on next page)}\vss}% } \let\orig@md@putbox@middle\md@putbox@middle \def\md@putbox@middle{% \orig@md@putbox@middle \nopagebreak \vspace{-\baselineskip}% \vbox to 0pt{\hbox to \linewidth{\hss(continue on next page)}\vss}% } \makeatother \begin{document} \lipsum[1] \bigskip \begin{mdframed}[backgroundcolor=gray] \lipsum[1-30] \end{mdframed} \end{document} 
- not tested:
addto\md@putboxfirst{\vbox to 0pt{\hbox to \linewidth{\hss(continue on next page)}\vss}}Marco Daniel– Marco Daniel2011-07-26 10:18:23 +00:00Commented Jul 26, 2011 at 10:18 - @Macro: That was my very first try as well :-) It didn't work. It places that line on a page of its own afterwards.Martin Scharrer– Martin Scharrer2011-07-26 10:39:10 +00:00Commented Jul 26, 2011 at 10:39
- Thanks: Only at the weekend I can spend my time at home. Maybe for the next version it is an inspiration.Marco Daniel– Marco Daniel2011-07-26 14:05:15 +00:00Commented Jul 26, 2011 at 14:05
mdframedpackage instead of theframedpackage. However, it also doesn't seem to have such a feature, but it might be done by patching\md@putbox@firstand\md@putbox@middle.mdframedMaybe in two weeks the new version will be finished. A current pretest you can download here: mrunix.de/forums/…