This is a follow up to an earlier question of mine: local commands are not recognized when trying to define a wrapper lrbox
If I write
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{multicol}
\usepackage{pgfkeys}
\makeatletter
\newif\if@ae@nfig@verb@
\pgfkeys
{%%'
/ae/nfigverb/.is family,
/ae/nfigverb,
usegobble/.initial=,
gobble/.style = { usegobble={gobble=#1,}},
width/.initial=3in,
}
\newsavebox{\ae@titlebox}
\newsavebox{\aetitlebox}
\newenvironment{nfigverb}[1][]
{%%'
\global\@ae@nfig@verb@true
\lrbox\aetitlebox
\pgfqkeys{/ae/nfigverb}{#1}%%'
\edef\ae@begin@minipage{%%'
\noexpand\minipage{\pgfkeysvalueof{/ae/nfigverb/width}}}%%'
\edef\ae@vbegin@verbatim{%%'
\noexpand\Verbatim[\pgfkeysvalueof{/ae/nfigverb/usegobble}]}%%'
\ae@begin@minipage
\ae@vbegin@verbatim
}
{%%'
\endVerbatim
\endminipage
\endlrbox
}
\def\aetest{\if@ae@nfig@verb@ Ciao\else Hello\fi}
\makeatother
\begin{document}
\begin{multicols}{2}
\aetest
\begin{nfigverb}[width=5in]
as;lfk slfjksd flsk fls dfls
\end{nfigverb}
\fbox{\usebox{\aetitlebox}}
\aetest
\end{multicols}
\end{document}
I get a document that compiles without complaint.
If I follow @egreg 's suggestion to the question mentioned above, I would redefine the environment as:
\newenvironment{nfigverb}[1][]
{%%'
\global\@ae@nfig@verb@true
\begin{lrbox}{\ae@titlebox}
\pgfqkeys{/ae/nfigverb}{#1}%%'
\edef\ae@begin@minipage{%%'
\noexpand\minipage{\pgfkeysvalueof{/ae/nfigverb/width}}}%%'
\edef\ae@vbegin@verbatim{%%'
\noexpand\Verbatim[\pgfkeysvalueof{/ae/nfigverb/usegobble}]}%%'
\ae@begin@minipage
\ae@vbegin@verbatim
}
{%%'
\endVerbatim
\endminipage
\end{lrbox}
\global\setbox\aetitlebox=\box\ae@titlebox
}
But when I do this, I get the error:
Runaway argument?
! File ended while scanning use of \FancyVerbGetLine.
<inserted text>
\par
<*> mwe_02.tex
?

\documentclass{article} \usepackage{verbatimbox} \begin{document} \begin{verbbox} as;lfk slfjksd flsk fls dfls \end{verbbox} \framebox[\textwidth][l]{\theverbbox} \end{document}– Steven B. Segletes Jul 30 '13 at 00:06numberedblockpackage help you? It is for displaying short blocks of code. – Steven B. Segletes Jul 30 '13 at 00:32verbatimenvironment (lowercase), there's a different issue of lrbox use hbox: see boxes - Can't I put a list inside an \lrbox? - TeX - LaTeX Stack Exchange – user202729 Jun 26 '22 at 12:42