summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/pack-box.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/pack-box.mkxl')
-rw-r--r--tex/context/base/mkxl/pack-box.mkxl24
1 files changed, 19 insertions, 5 deletions
diff --git a/tex/context/base/mkxl/pack-box.mkxl b/tex/context/base/mkxl/pack-box.mkxl
index 831ec1707..bc73a80d7 100644
--- a/tex/context/base/mkxl/pack-box.mkxl
+++ b/tex/context/base/mkxl/pack-box.mkxl
@@ -1253,15 +1253,20 @@
\permanent\protected\def\defineboxanchor[#1]%
{\registerboxanchor
- \expandafter\integerdef\csname\??boxanchors#1\endcsname\registeredboxanchor}
+ \global\expandafter\integerdef\csname\??boxanchors#1\endcsname\registeredboxanchor}
\permanent\def\namedboxanchor#1%
{\normalexpanded{\ifcsname\??boxanchors#1\endcsname\lastnamedcs\orelse\ifchknum#1\or#1\else\zerocount\fi}}
+\permanent\def\namespacedboxanchor#1%
+ {boxanchor:\number\namedboxanchor{#1}}
+
\installcorenamespace{boxanchorcontent}
-\installparameterhandler \??boxanchorcontent {boxanchorcontent}
-\installsetuphandler \??boxanchorcontent {boxanchorcontent}
+% \installparameterhandler \??boxanchorcontent {boxanchorcontent}
+% \installautosetuphandler \??boxanchorcontent {boxanchorcontent}
+
+\installcommandhandler \??boxanchorcontent {boxanchorcontent} \??boxanchorcontent % no real need but let's have a define too
\setupboxanchorcontent
[\c!yoffset=\zeropoint,
@@ -1270,10 +1275,15 @@
\c!location=\v!height,
\c!corner=\v!depth]
-\permanent\tolerant\protected\def\setboxanchor[#1]#*[#2]#*% assumes \defineboxanchor[#1]
+\permanent\tolerant\protected\def\setboxanchor[#1]#*[#2]#*[#3]#*% assumes \defineboxanchor[#1]
{\begingroup
\dowithnextbox
- {\setupcurrentboxanchorcontent[#2]%
+ {\ifhastok={#2}%
+ \setupcurrentboxanchorcontent[#2]%
+ \else
+ \def\currentboxanchorcontent{#2}%
+ \setupcurrentboxanchorcontent[#3]%
+ \fi
\scratchxoffset\boxanchorcontentparameter\c!xoffset
\scratchyoffset\boxanchorcontentparameter\c!yoffset
\scratchcounter\namedboxanchor{#1}%
@@ -1290,6 +1300,10 @@
{\box\nextbox}%
\endgroup}}
+%D The name might change:
+
+\permanent\protected\def\mathboxanchored#1#2{#2\Umathsource\namedboxanchor{#1}\relax}
+
% to be used as:
%
% \scratchcounter\registeredboxanchor