summaryrefslogtreecommitdiff
path: root/tex/context/base/strc-mat.mkiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-11-21 19:40:15 +0200
committerMarius <mariausol@gmail.com>2011-11-21 19:40:15 +0200
commit411958915524daa27f2ef8cd6299b31191d88572 (patch)
tree38a8d7efa7a757c8afdd92bbb17af4d72d9e8d4e /tex/context/base/strc-mat.mkiv
parented9ce64970b8efbaf358d7383eb4b65277201756 (diff)
downloadcontext-411958915524daa27f2ef8cd6299b31191d88572.tar.gz
beta 2011.11.21 18:27
Diffstat (limited to 'tex/context/base/strc-mat.mkiv')
-rw-r--r--tex/context/base/strc-mat.mkiv112
1 files changed, 51 insertions, 61 deletions
diff --git a/tex/context/base/strc-mat.mkiv b/tex/context/base/strc-mat.mkiv
index d9adee964..97c2e7581 100644
--- a/tex/context/base/strc-mat.mkiv
+++ b/tex/context/base/strc-mat.mkiv
@@ -15,7 +15,9 @@
\registerctxluafile{strc-mat}{1.001}
-% we have potential for captions
+% -- we have potential for captions
+% -- this module will use the commandhandler
+% -- key/value pairs will be added (I have no time now)
\unprotect
@@ -29,6 +31,7 @@
\c!location=\v!right,
\c!left=(,
\c!right=),
+ \c!expansion=\v!yes, % maybe automatically
%\c!numberstyle=,
%\c!numbercolor=,
%\c!numbercommand=,
@@ -48,34 +51,28 @@
\definestructurecounter
[\v!formula]
-% \setupstructurecounter
-% [\v!formula]
-% [\c!numberconversionset=\v!formula]
-
\presetstructurecountersetup\setupformulas\sharedstructurecounterparameter
+
\appendtoks
-% \dostructurecountersetup\currentformula\formulaparameter
-% \docheckstructurecountersetup\currentformula
\dostructurecountersetup\v!formula\formulaparameter
-% \docheckstructurecountersetup\v!formula
+ \docheckstructurecountersetup\v!formula % yes or no
\to \everysetupformulas
\setupformulas
[\c!numberconversionset=\v!formula] % why forgotten
\def\storecurrentformulanumber#1#2#3#4#5% ref, todo:str, \sync % todo: title etc (like float)
- {\dostructurecountercomponent
+ {\settrue\handleformulanumber
+ \dostructurecountercomponent
{formula}%
\getformulaparameters \formulaparameter \detokenizedformulaparameter
\relax \relax \relax
-% [\c!name=\currentformula,\s!counter=\currentformula,%
[\c!name=\v!formula,\s!counter=\v!formula,%
\s!hascaption=\v!yes,\s!hastitle=\v!yes,\s!hasnumber=\v!yes,%\s!haslevel=#6,%
- \s!hasnumber=\v!no,%
\c!reference=#1,\c!title=\namedformulaentry,\c!bookmark=]%
[#2]%
- \glet\namedformulaentry\relax
+ \glet\namedformulaentry\empty % \relax
\globallet#3\laststructurecounternumber
\globallet#4\laststructurecountersynchronize
\globallet#5\laststructurecounterattribute}
@@ -108,7 +105,7 @@
\glet\donestedformulanumber\donestedformulanumberindeed}
\def\handleformulasnumbering % formulas
- {\docheckformulareference\formulasnumbermode\currentformularesference}
+ {\docheckformulareference\formulasnumbermode\currentformulareference}
\def\handlesubformulasnumbering % sub formulas
{\docheckformulareference\subformulasnumbermode\currentsubformulasreference
@@ -131,20 +128,6 @@
{\dosetformulaattributes\c!numberstyle\c!numbercolor
\strut
\formulaparameter\c!left
-% \bgroup % somehow needed for tags
-% \dostarttagged\t!formulalabel\empty
-% \labeltexts\v!formula
-% {\ignorespaces
-% \dostoptagged
-% \dostarttagged\t!formulanumber\empty
-% \doplacecurrentformulanumber
-% \dostoptagged
-% \dostarttagged\t!formulalabel\empty
-% \unskip}%
-% \dostoptagged
-% \egroup
-% \taggedlabeltexts\v!formula\v!formula
-% {\ignorespaces\doplacecurrentformulanumber\removeunwantedspaces}%
\namedtaggedlabeltexts
\t!formulalabel \v!formula
\t!formulanumber\v!formula
@@ -175,8 +158,18 @@
% currently we do the number, some day we will do the (sub) formula
+\let\doshowformulareferencestate\relax
+
+% \def\doshowformulareferencestate
+% {\writestatus{\v!formula}%
+% {place: \number\placeformulanumbermode,\space
+% formula: \number\formulasnumbermode,\space
+% subformula: \number\subformulasnumbermode,\space
+% nested: \number\nestedformulanumbermode]}}
+
\def\dohandlecurrentformulareferences
- {\ifnum\placeformulanumbermode=\plusthree
+ {\doshowformulareferencestate
+ \ifnum\placeformulanumbermode=\plusthree
\storecurrentformulanumber
\currentplaceformulareference
\empty
@@ -292,10 +285,32 @@
\appendtoks
\global\setfalse\insideplaceformula
\global\setfalse\insideplacesubformula
-% \global\setfalse\insideformulas
-% \global\setfalse\insidesubformulas
\to \everyresetformulas
+\appendtoks
+ \placeformulanumbermode \zerocount
+ \formulasnumbermode \zerocount
+ \subformulasnumbermode \zerocount
+ \nestedformulanumbermode \zerocount
+ \glet\currentformulasreference \empty
+ \glet\currentformulareference \empty
+ \glet\currentsubformulareference \empty
+ \glet\currentnestedformulareference\empty
+ \glet\currentformulassuffix \empty
+ \glet\currentformulasuffix \empty
+ \glet\currentsubformulasuffix \empty
+ \glet\currentnestedformulasuffix \empty
+\to \everyresetformulas
+
+\let\currentformulasreference \empty
+\let\currentformulareference \empty
+\let\currentsubformulareference \empty
+\let\currentnestedformulareference\empty
+\let\currentformulassuffix \empty
+\let\currentformulasuffix \empty
+\let\currentsubformulasuffix \empty
+\let\currentnestedformulasuffix \empty
+
\newif\ifinformula
%D We need a hook into the plain math alignment macros
@@ -366,7 +381,7 @@
%D \macros
%D {setupsubformulas, startsubformulas}
-\def\subformulaparameter#1{\ifcname\??fn#1\endcsname\cname\??fn#1\endcsname\fi}
+\def\subformulaparameter#1{\ifcsname\??fn#1\endcsname\csname\??fn#1\endcsname\fi}
\unexpanded\def\setupsubformulas
{\dodoubleargument\getparameters[\??fn]}
@@ -428,20 +443,6 @@
\def\afterdisplayspace
{\doifnot{\formulaparameter\c!spaceafter }\v!none{\blank[\formulaparameter\c!spaceafter ]}}
-% \def\setpredisplaysize
-% {\predisplaysize\lastlinewidth\relax
-% \ifdim\predisplaysize<\maxdimen
-% \ifdim\predisplaysize>\zeropoint
-% \advance\predisplaysize \predisplaysizethreshhold
-% \fi
-% \advance\predisplaysize \displayindent % needed ?
-% \ifdim\predisplaysize>\hsize
-% \predisplaysize\hsize
-% \fi
-% \else
-% \predisplaysize\zeropoint
-% \fi}
-
\def\setdisplaydimensions
{\displayindent\leftdisplayskip
\advance\displayindent\leftdisplaymargin
@@ -675,7 +676,7 @@
\def\forceformulanumberflag {+}
\def\docheckformulareference#1#2%
- {#1\unless\ifx\namedformulaentry\relax % new 29/8/2010
+ {#1\unless\ifx\namedformulaentry\empty % \relax % new 29/8/2010
\plusthree
\else\ifx#2\empty
\zerocount
@@ -687,7 +688,7 @@
\plusthree
\fi\fi\fi\fi}
-\def\formulanumber{\doformulanumber} % for the moment
+\unexpanded\def\formulanumber{\doformulanumber} % for the moment
\def\doformulanumber
{\dosingleempty\dodoformulanumber}
@@ -715,11 +716,11 @@
\let\currentplaceformulasuffix\empty
\doifnextbgroupelse\moreplaceformula\redoplaceformula} % [ref]{}
-\long\def\moreplaceformula#1%
+\def\moreplaceformula#1%
{\def\currentplaceformulasuffix{#1}%
\redoplaceformula}
-\long\def\redoplaceformula
+\def\redoplaceformula
{\doifnextcharelse$\dispplaceformula\dodoplaceformula} % [ref]$$ [ref]\start
\def\dodoplaceformula
@@ -734,17 +735,6 @@
% to be checked
-\def\doformulanumber
- {\dosingleempty\dodoformulanumber}
-
-\def\dodoformulanumber[#1]%
- {\def\currentformulareference{#1}%
- \dosinglegroupempty\dododoformulanumber}
-
-\def\redoformulanumber#1%
- {\def\currentformulasuffix{#1}%
- \dododoformulanumber}
-
\glet\doplaceformulanumber \relax
\glet\donestedformulanumber\gobbletwoarguments
@@ -783,7 +773,7 @@
\setformulalistentry{#2}%
\next}
-\glet\namedformulaentry\relax % this will become a key/value so that we can do bookmarks
+\glet\namedformulaentry\empty % \relax % this will become a key/value so that we can do bookmarks
\def\setformulalistentry#1%
{\gdef\namedformulaentry{#1}}