summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv')
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24746 -> 0 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin257141 -> 0 bytes
-rw-r--r--tex/context/base/mkiv/strc-flt.mkvi41
-rw-r--r--tex/context/base/mkiv/strc-num.lua5
6 files changed, 45 insertions, 5 deletions
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index d958478c6..a7daf8181 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.11.24 19:45}
+\newcontextversion{2021.11.26 10:41}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index cb8389083..99180f380 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -49,7 +49,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.11.24 19:45}
+\edef\contextversion{2021.11.26 10:41}
%D Kind of special:
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
deleted file mode 100644
index d880990ea..000000000
--- a/tex/context/base/mkiv/status-files.pdf
+++ /dev/null
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
deleted file mode 100644
index 732a6ddb9..000000000
--- a/tex/context/base/mkiv/status-lua.pdf
+++ /dev/null
Binary files differ
diff --git a/tex/context/base/mkiv/strc-flt.mkvi b/tex/context/base/mkiv/strc-flt.mkvi
index d9fd359c6..464b6ab52 100644
--- a/tex/context/base/mkiv/strc-flt.mkvi
+++ b/tex/context/base/mkiv/strc-flt.mkvi
@@ -1111,6 +1111,35 @@
\def\strc_floats_group_index
{\numexpr\clf_listgroupindex{\currentfloat}{\currentfloatgroup}\relax}
+%D A lightweight subnumber feature:
+%D
+%D \starttyping
+%D \startplacefigure [location=none]
+%D \startsubfloatnumbering
+%D \startfloatcombination [nx=3]
+%D \startplacefigure [title=Left] \externalfigure \stopplacefigure
+%D \startplacefigure [title=Middle] \externalfigure \stopplacefigure
+%D \startplacefigure [title=Right] \externalfigure \stopplacefigure
+%D \stopfloatcombination
+%D \stopsubfloatnumbering
+%D \stopplacefigure
+%D \stoptyping
+
+\glet\currentsubfloatcounter\empty
+
+\unexpanded\def\startsubfloatnumbering
+ {\glet\currentsubfloatcounter\s!unknown}
+
+\unexpanded\def\stopsubfloatnumbering
+ {\strc_counters_reset_sub\currentsubfloatcounter\plustwo
+ \glet\currentsubfloatcounter\empty}
+
+\defineconversionset[subfloats][number,characters]
+
+\setupcaptions
+ %[figure]
+ [\c!numberconversionset=subfloats]
+
\def\strc_floats_place_packaged_boxes
{\expandafter\strc_floats_place_packaged_boxes_indeed\expandafter{\m_strc_floats_saved_userdata}}
@@ -1127,7 +1156,17 @@
\ifx\currentfloatgroup\empty
% independent
\iftrialtypesetting\strc_counters_save\currentfloatcounter\fi
- \strc_counters_increment\currentfloatcounter
+ \ifx\empty\currentsubfloatcounter
+ \strc_counters_increment\currentfloatcounter
+ \strc_counters_reset_sub\currentfloatcounter\plustwo
+ \else
+ \ifcase\strc_counters_raw_sub\currentfloatcounter\plustwo\relax
+ \strc_counters_increment\currentfloatcounter
+ \strc_counters_reset_sub\currentfloatcounter\plustwo
+ \fi
+ \strc_counters_increment_sub\currentfloatcounter\plustwo
+ \glet\currentsubfloatcounter\currentfloatcounter
+ \fi
\else\ifcase\strc_floats_group_index
% first in group
\iftrialtypesetting\strc_counters_save\currentfloatcounter\fi
diff --git a/tex/context/base/mkiv/strc-num.lua b/tex/context/base/mkiv/strc-num.lua
index 25e575a56..5d00fcca9 100644
--- a/tex/context/base/mkiv/strc-num.lua
+++ b/tex/context/base/mkiv/strc-num.lua
@@ -357,8 +357,9 @@ end
local function reset(name,n)
local cd = counterdata[name]
if cd then
- for i=n or 1,#cd.data do
- local d = cd.data[i]
+ local data = cd.data
+ for i=n or 1,#data do
+ local d = data[i]
savevalue(name,i)
local number = d.start or 0
d.number = number