summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/strc-flt.mkvi
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2019-06-12 00:08:48 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2019-06-12 00:08:48 +0200
commit36ee3b791e253a00877a7b25e2d94b1dfc90a174 (patch)
tree51cddb18e68861f7ccbf6069e047fe0d3972961f /tex/context/base/mkiv/strc-flt.mkvi
parente8dc7842e52c4509ce38115c521672198beafca3 (diff)
downloadcontext-36ee3b791e253a00877a7b25e2d94b1dfc90a174.tar.gz
2019-06-11 19:28:00
Diffstat (limited to 'tex/context/base/mkiv/strc-flt.mkvi')
-rw-r--r--tex/context/base/mkiv/strc-flt.mkvi38
1 files changed, 37 insertions, 1 deletions
diff --git a/tex/context/base/mkiv/strc-flt.mkvi b/tex/context/base/mkiv/strc-flt.mkvi
index 2af60b41d..8e8975a05 100644
--- a/tex/context/base/mkiv/strc-flt.mkvi
+++ b/tex/context/base/mkiv/strc-flt.mkvi
@@ -826,11 +826,47 @@
\strc_floats_finish_placement}
\vbox}
+%D \starttyping
+%D \definefloat
+%D [one] [figure]
+%D [default=right,
+%D rightmargindistance=-20cm,
+%D criterium=129pt,
+%D fallback=rightmargin]
+%D
+%D \definefloat
+%D [two] [figure]
+%D [default=right,
+%D rightmargindistance=-20cm,
+%D criterium=129pt,
+%D fallback=three]
+%D
+%D \definefloat
+%D [three] [figure]
+%D [default=rightmargin,
+%D rightmargindistance=0cm]
+%D
+%D \placefloat[one]{}{\blackrule[width=30pt]} \samplefile{tufte}
+%D \placefloat[one]{}{\blackrule[width=60pt]} \samplefile{tufte}
+%D \placefloat[one]{}{\blackrule[width=90pt]} \samplefile{tufte}
+%D \placefloat[one]{}{\blackrule[width=130pt]} \samplefile{tufte}
+%D \placefloat[two]{}{\blackrule[width=130pt]} \samplefile{tufte}
+%D \stoptyping
+
\def\strc_floats_finish_placement
{\doifsomething{\floatparameter\c!criterium}
{\ifdim\wd\nextbox>\floatparameter\c!criterium\relax
\edef\forcedfloatmethod{\floatparameter\c!fallback}%
- \ifx\forcedfloatmethod\empty\let\forcedfloatmethod\v!here\fi
+ \ifx\forcedfloatmethod\empty \else
+ \doifelsecommandhandler\??float\forcedfloatmethod
+ {\let\currentfloat\forcedfloatmethod
+ \edef\floatlocation{\floatparameter\c!default}%
+ \let\forcedfloatmethod\floatlocation}
+ \donothing
+ \fi
+ \ifx\forcedfloatmethod\empty
+ \let\forcedfloatmethod\v!here
+ \fi
\fi}%
\strc_floats_check_extra_actions
\strc_floats_analyze_variables_two