TransWikia.com

Stretchable space that allows line-break but doesn't allow page-break

TeX - LaTeX Asked on June 4, 2021

I would like to create a stretchable space that allows line-break but does not allow page-break.

In this case (but I think I will use such a space in other contexts), I would like to create a ref-like command to display the type of object (table, figure, equation,…) and the page on which it appears. Finding the type of object at the end of a line and its page number at the beginning of the next line is not very annoying; but it’s much more to find the object type and its page number on two different pages.

So I tried the nopagebreak command followed by the space command, but I still have a page break. In vain hope, I put nopagebreaks wherever I could, but to no avail.

Do you have any idea how to fix this problem?

Here is an MWE to illustrate the problem:

documentclass[french]{article}

usepackage{babel, varioref, hyperref, cleveref}
setlength{parindent}{0pt}

crefformat{table}{#2textsc{Tab.}~#1#3}

addtoextrasfrench{defreftextfaraway#1{nopagebreak p.~pageref{#1}}}

newcommand{pref}[1]{(cref{#1},nopagebreakspacenopagebreakvpageref{#1})}

begin{document}
begin{table}
    caption{Bla bla.}label{tab1}
end{table}

clearpage

Bla bla

clearpage

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at suscipit ante. Curabitur in porta dui. Fusce elementum egestas mi, ac elementum tortor aliquet a. Suspendisse sodales odio nec ligula feugiat, in pharetra odio porttitor. Praesent laoreet consequat fringilla. Donec eu euismod tellus. Donec ultricies vitae lacus eget lacinia. Aenean eu arcu ac nisi pretium iaculis. Proin a finibus diam. Quisque lacinia consectetur mattis.

Curabitur ac tortor eget velit gravida pharetra. Aenean cursus sed dui ac tristique. Morbi laoreet arcu elit, vel dignissim purus luctus non. Vivamus malesuada lacinia purus, ut porta purus fringilla eget. Donec neque est, commodo non lorem sed, lobortis suscipit velit. Ut maximus ultrices metus eu congue. Aenean porttitor elit urna, id varius urna laoreet vitae. Mauris hendrerit nec nunc at porttitor. Aliquam placerat dolor non magna iaculis feugiat. Duis at turpis et lacus lacinia porta in ac eros. Nunc ullamcorper tortor lorem, et elementum mi congue et. Nunc in odio vulputate, elementum massa ut, commodo magna.

Ut sed sem elementum, blandit diam ultricies, ultrices massa. Vivamus blandit massa hendrerit ligula iaculis dapibus sed et felis. Vivamus vel nisi posuere risus laoreet semper sit amet at sem. Vivamus id tellus metus. Nunc eu pulvinar nunc, mattis hendrerit velit. Pellentesque condimentum rutrum quam, in aliquet ligula convallis vitae. Fusce eu libero lacinia, mattis odio tempus, luctus dolor. Nunc eu euismod dolor. Vestibulum quam lorem, aliquam nec lectus non, hendrerit lacinia lorem.

Nam sit amet diam enim. Etiam id neque lacinia, gravida metus scelerisque, porta arcu. Morbi at metus vitae nulla tempor posuere. Morbi vulputate lacinia massa ac interdum. Duis vestibulum odio id sagittis interdum. Donec scelerisque in dolor vitae egestas. Phasellus gravida ligula leo, eu malesuada ligula ornare quis. Vestibulum vel eleifend velit, eu porttitor nibh. Vivamus lacinia, ex quis eleifend vehicula, nibh eros dignissim mauris, sit amet maximus purus ex eu ex. Integer dapibus ut arcu sed eleifend.

Vestibulum eget lectus accumsan, molestie nibh sodales, tempus elit. Fusce sollicitudin imperdiet leo non ullamcorper. Ut cursus ornare mauris, eget imperdiet justo dignissim a. Sed dictum tortor elementum vehicula mollis. Pellentesque vitae nunc ac mi sagittis congue. Ut pellentesque ipsum a quam luctus pulvinar. Fusce a velit in quam aliquet volutpat eget non ipsum.

Aenean venenatis ligula risus, vel accumsan dui gravida pretium. Aliquam erat volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus sit amet nisl sem. Nullam tempus nunc ut rhoncus porttitor. Proin lobortis in erat sed euismod. In mattis ultricies efficitur. Vestibulum odio tortor, aliquam ut ultrices eget, ullamcorper ullamcorper nisi. Quisque quis leo vitae lacus pulvinar vestibulum ut ut tellus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Duis viverra ante non tellus blandit, eu eleifend mauris viverra. Aliquam nec ex tellus. Pellentesque tincidunt diam volutpat tempus volutpat. Sed cursus justo sed tristique pellentesque. Suspendisse tempor pulvinar facilisis. Donec mauris turpis, placerat non pharetra vel, auctor sed diam. Proin varius pharetra nibh, ac euismod diam efficitur eleifend. Praesent non ligula ex. Fusce tempor convallis mauris, vitae vehicula nulla pharetra non. In eget aliquet magna. A pref{tab1} Quisque quis augue efficitur, sollicitudin turpis eu, hendrerit sem.

Vivamus ullamcorper vitae nisl in ultrices. Fusce tellus orci, venenatis eu interdum vel, ultrices et mauris. Integer nec libero interdum, laoreet erat a, vulputate elit. Maecenas id risus in odio elementum congue. Aenean aliquam eget enim sed placerat. Praesent lacinia tellus dui, a condimentum arcu rhoncus vel. Etiam vulputate bibendum est, in luctus quam suscipit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Maecenas sed diam facilisis, condimentum lacus id, elementum turpis. Vestibulum luctus risus id erat euismod, eget cursus metus pharetra.
end{document}

And here is a screenshot of the problem: (Tab 1, and p. 1) should be on the same page.

enter image description here

I tried this, but it didn’t help: Allow line breaks but not page breaks

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP