summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/strc-flt.mklx
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/strc-flt.mklx')
-rw-r--r--tex/context/base/mkxl/strc-flt.mklx52
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