I need a LaTeX macro which can be used by this:
\IfFull{TEXT}{THEN}{ELSE}
It would typeset TEXT in a \vbox
(which it will discard), and if there was an overfull hbox or an underfull hbox, it would run THEN, otherwise it would run ELSE. It wouldn't report the Overfull \hbox
or Underfull \hbox
warnings on the console or in the log file.
Is there such a macro already? If not, how could it be defined?
If this is too complicated, it would be enough to do it for a single paragraph.
Minimal working example, which gives the wrong result, because it always executes #3
, but in the example it should have executed #2
:
\documentclass{article}
\def\IfFull#1#2#3{#3}
\begin{document}
\IfFull{\hsize1pt\noindent zzzzz xxxxx}{CORRECT}{BAD}
\end{document}
This should create document with the word CORRECT
in it, because #1
has an overfull hbox.
\lastbox
solution. Feel free to give a luatex solution, but most probably we'll go with\lastbox
to reduce dependencies.