From 397508ee8dca010aec5a9c6951b68434e5657f14 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Fri, 29 Jan 2016 20:15:07 +0100 Subject: 2016-01-29 19:02:00 --- tex/context/base/mkiv/strc-flt.mkvi | 39 ++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 14 deletions(-) (limited to 'tex/context/base/mkiv/strc-flt.mkvi') 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 -- cgit v1.2.3