See REVISION below, added after answer accepted.
You need to set the puzzle in a \vbox
. Of course, then, if you wish to treat it as a horizontal object, the only way to control the width is to set the \vbox
inside a minipage
.
With this combination, one can, for example, place the reduced size puzzle in the upper left, as if it were an \hbox
.
\documentclass{article}
\usepackage[pass,showframe]{geometry}
\usepackage{cwpuzzle,graphicx}
\begin{document}
\noindent\begin{minipage}{.7in}
\setbox0=\vbox{
\begin{Puzzle}{5}{5}%
|[][Sf]S|[][Sf]A|[][Sf]T|[][Sf]O|[][Sf]R|.
|[][Sf]A|[][Sf]R|[][Sf]E|[][Sf]P|[][Sf]O|.
|[][Sf]T|[][Sf]E|[][Sf]N|[][Sf]E|[][Sf]T|.
|[][Sf]O|[][Sf]P|[][Sf]E|[][Sf]R|[][Sf]A|.
|[][Sf]R|[][Sf]O|[][Sf]T|[][Sf]A|[][Sf]S|.
\end{Puzzle}
}
\scalebox{.5}{\copy0}
\end{minipage}
Normal text
\end{document}

REVISION:
egreg asks why \vbox
and minipage
. My initial attempts with \hbox
failed and so I resorted to the \vbox
approach above. However, I must have erred in my original approach. Here, an \hbox
approach works:
\documentclass{article}
\usepackage[pass,showframe]{geometry}
\usepackage{cwpuzzle,graphicx}
\begin{document}
\noindent
\setbox0=\hbox{%
\begin{Puzzle}{5}{5}%
|[][Sf]S|[][Sf]A|[][Sf]T|[][Sf]O|[][Sf]R|.
|[][Sf]A|[][Sf]R|[][Sf]E|[][Sf]P|[][Sf]O|.
|[][Sf]T|[][Sf]E|[][Sf]N|[][Sf]E|[][Sf]T|.
|[][Sf]O|[][Sf]P|[][Sf]E|[][Sf]R|[][Sf]A|.
|[][Sf]R|[][Sf]O|[][Sf]T|[][Sf]A|[][Sf]S|.
\end{Puzzle}
}%
\scalebox{.5}{\copy0}
Normal text
\end{document}
