summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/strc-flt.mkvi
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-29 20:15:07 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-29 20:15:07 +0100
commit397508ee8dca010aec5a9c6951b68434e5657f14 (patch)
treedae6e16fb8990964ba5261228231696cca3859a1 /tex/context/base/mkiv/strc-flt.mkvi
parent452587cdeefbf6e3bf1eee91e4e976f1135b785f (diff)
downloadcontext-397508ee8dca010aec5a9c6951b68434e5657f14.tar.gz
2016-01-29 19:02:00
Diffstat (limited to 'tex/context/base/mkiv/strc-flt.mkvi')
-rw-r--r--tex/context/base/mkiv/strc-flt.mkvi39
1 files changed, 25 insertions, 14 deletions
diff --git a/tex/context/base/mkiv/strc-flt.mkvi b/tex/context/base/mkiv/strc-flt.mkvi
index 334d98a93..fb621c997 100644
--- a/tex/context/base/mkiv/strc-flt.mkvi
+++ b/tex/context/base/mkiv/strc-flt.mkvi
@@ -186,16 +186,36 @@
\unexpanded\def\definefloat
{\dotripleempty\strc_floats_define}
-\def\strc_floats_define[#1][#2][#3]% #1=naam #2=meervoud #3=parent
+\def\strc_floats_define[#1][#2][#3]% name+plural+parent | name+parent+settings
{\ifthirdargument
- \strc_floats_define_cloned[#1][#2][#3]%
+ \doifassignmentelse{#3}
+ {\strc_floats_define_b[#1][#2][#3]}%
+ {\strc_floats_define_a[#1][#2][#3]}%
\else\ifsecondargument
- \strc_floats_define_normal[#1][#2]%
+ \doifelsecommandhandler\??float{#2}%
+ {\strc_floats_define_a[#1][#1][#2]}%
+ {\strc_floats_define_c[#1][#2]}%
\else
- \strc_floats_define_normal[#1][#1]%
+ \strc_floats_define_c[#1][#1]%
\fi\fi}
-\def\strc_floats_define_normal[#1][#2]%
+\def\strc_floats_define_a[#1][#2][#3]% name names parent
+ {\definefloatcaption[#1][#3]%
+ \definecounter[#1][#3]%
+ \definelist[#1][#3]%
+ \copylabeltext[#1=#3]%
+ \strc_floats_define_saved[#1][#3]%
+ \strc_floats_define_commands{#1}{#2}}
+
+\def\strc_floats_define_b[#1][#2][#3]% name parent settings
+ {\definefloatcaption[#1][#2]%
+ \definecounter[#1][#2]%
+ \definelist[#1][#2]%
+ \copylabeltext[#1=#2]%
+ \strc_floats_define_saved[#1][#2][#3]%
+ \strc_floats_define_commands{#1}{#1}}
+
+\def\strc_floats_define_c[#1][#2]% name names
{\registerfloatcaptioncounter{#1}%
\definefloatcaption[#1]%
\definecounter[#1]%
@@ -205,15 +225,6 @@
\strc_floats_define_saved[#1]%
\strc_floats_define_commands{#1}{#2}}
-\def\strc_floats_define_cloned[#1][#2][#3]%
- {\definefloatcaption[#1][#3]%
- \definecounter[#1][#3]%
- \definelist[#1][#3]%
- \copylabeltext[#1=#3]%
- %\presetheadtext[#2=\Word{#2}]%
- \strc_floats_define_saved[#1][#3]%
- \strc_floats_define_commands{#1}{#2}}
-
\def\strc_floats_define_commands#1#2%
{\setuvalue {\e!place\e!listof#2}{\dodoubleempty\strc_lists_place[#1]}% call will change
\setuvalue {\e!complete\e!listof#2}{\dotripleempty\strc_lists_complete_indeed[#1][#2]}% call will change