Am 09.09.2009 um 22:38 schrieb Hans Hagen:
start with making a small example that shows the problem
easy to fix, change (why \ifcsname here?) \def\startframedcontent[#1]% {\bgroup \doifelse{#1}\v!off {\let\stopframedcontent\egroup} {\ifcsname\??fc#1\c!frame\endcsname \dostartframedcontent{#1}% \fi}} to \def\startframedcontent[#1]% {\bgroup \doifelse{#1}\v!off {\let\stopframedcontent\egroup} {\dostartframedcontent{#1}}} there is another problem with the code in \stoplocalframedcontent \doifvalue{\??fc#1\c!width}\v!fit {\letvalue{\??fc#1\c!width}\v!fixed}% no shapebox width has no default value for framedcontent and after this test it has the value \relax which causes a problem in \framed, there are two solutions a) set a default value with \defineframedcontent or change the \doifvalue definition \def\dodefineframedcontent[#1][#2]% {\presetlocalframed[\??fc#1]% \getparameters[\??fc#1] [\c!leftoffset=\zeropoint, \c!rightoffset=\getvalue{\??fc#1\c!leftoffset}, \c!topoffset=\zeropoint, \c!bottomoffset=\getvalue{\??fc#1\c!topoffset}, \c!width=\v!fit, % default value for \framed \c!strut=\v!no, \c!offset=\v!overlay, \c!linecorrection=\v!no, \c!left=, \c!right=, #2]} or \long\def\doifvalue#1#2% {\begingroup \edef\!!stringa{\csname#1\endcsname}\edef\!!stringb{#2}% \ifx\!!stringa\!!stringb \aftergroup\firstofoneargument % \expandafter\endgroup \expandafter\firstofoneargument \else \aftergroup\gobbleoneargument % \expandafter\endgroup\expandafter \gobbleoneargument \fi\endgroup} Wolfgang