diff options
Diffstat (limited to 'tex/context/base/mkxl/strc-flt.mklx')
-rw-r--r-- | tex/context/base/mkxl/strc-flt.mklx | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/tex/context/base/mkxl/strc-flt.mklx b/tex/context/base/mkxl/strc-flt.mklx index 1f2aeaae5..55b825fe1 100644 --- a/tex/context/base/mkxl/strc-flt.mklx +++ b/tex/context/base/mkxl/strc-flt.mklx @@ -527,6 +527,53 @@ \fi \fi} +\def\strc_floats_apply_caption_command + {\setbox\b_strc_floats_caption\hbox\bgroup + %\unless\ifcstok{\floatcaptionparameter\c!command}\emptytoks + \floatcaptionparameter\c!command{\box\b_strc_floats_caption}% + %\orunless\ifcstok{\floatcaptionparameter\c!deeptextcommand}\emptytoks + % \floatcaptionparameter\c!deeptextcommand{\unvbox\b_strc_floats_caption}% + %\else + % \box\b_strc_floats_caption + %\fi + \egroup} + +%D Some trickery (example by MS): +%D +%D \starttyping +%D \defineframed +%D [MyCaptionFramed] +%D [align={lohi,flushleft}, +%D width=fit, +%D frame=off, +%D strut=no, +%D topframe=on, +%D loffset=1em, +%D toffset=0.25\lineheight] +%D +%D \starttexdefinition protected MyCaption #1 +%D \MyCaptionFramed { +%D % we ignore #1 as we want to unpack +%D \unvbox\floatcaptionbox +%D } +%D \stoptexdefinition +%D +%D \definefloat[pagefloat][pagefloats][graphic] +%D +%D \setupfloat +%D [pagefloat] +%D [default={page,header,footer}] +%D +%D \setupcaption +%D [pagefloat] +%D [location={top,inner}, +%D align=inner, +%D command=\MyCaption, +%D spaceinbetween=nowhite] +%D \stoptyping + +\permanent\protected\def\floatcaptionbox{\b_strc_floats_caption} + %D We can do this ... %D %D \starttyping @@ -1683,8 +1730,7 @@ % todo: installable maken, variant/method=auto vs macro \strc_floats_prepare_page_caption %\page_backgrounds_add_local_to_box\b_strc_floats_content - \setbox\b_strc_floats_caption\hbox % text - {\floatcaptionparameter\c!command{\box\b_strc_floats_caption}}% + \strc_floats_apply_caption_command \strc_floats_set_caption_dimensions\b_strc_floats_caption %\moveboxontogrid\b_strc_floats_caption{\floatcaptionparameter\c!grid}\d_strc_floats_caption_height %\page_backgrounds_add_local_to_box\b_strc_floats_caption @@ -2355,7 +2401,7 @@ \else \strc_floats_check_caption_content \strc_floats_prepare_side_caption - \setbox\b_strc_floats_caption\hbox{\floatcaptionparameter\c!command{\box\b_strc_floats_caption}}% \hpack ? + \strc_floats_apply_caption_command %\moveboxontogrid\b_strc_floats_caption{\floatcaptionparameter\c!grid}\d_strc_floats_caption_height %\page_backgrounds_add_local_to_box\b_strc_floats_caption \strc_floats_build_side_box |