summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl')
-rw-r--r--Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl68
1 files changed, 50 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl b/Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl
index cafbb938ffb..16f458ff1d9 100644
--- a/Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl
+++ b/Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl
@@ -97,7 +97,7 @@
\clf_settagtabulatecell\c_tabl_tabulate_align\c_tabl_tabulate_kind
\fi}%
\enforced\permanent\protected\def\dotagtabulatesignal
- {\dontleavehmode\signalcharacter\ignorespaces}%
+ {\dontleavehmode\signalcharacter\ignorespaces\ignorepars}%
\to \everyenableelements
\appendtoks
@@ -268,6 +268,17 @@
\fi}%
\to \everyenableelements
+% For more elements, so an extra argument:
+
+\ifdefined\dotagcodepoint \else \aliased\let\dotagcodepoint\gobbletwoarguments \fi
+
+\appendtoks
+ \enforced\permanent\protected\def\dotagcodepoint#1#2%
+ {\iftrialtypesetting\else
+ \clf_settagcodepoint{#1}#2\relax
+ \fi}%
+\to \everyenableelements
+
% The action: \setupbackend[export=yes] % or filename
% maybe xhtml css settings will move to setupexport
@@ -297,15 +308,14 @@
\resetsystemmode\v!export
\permanent\protected\def\doinitializeexport
- {\edef\p_export{\backendparameter\c!export}%
- \ifempty\p_export \else
+ {\ifempty{\backendparameter\c!export}\else
% yes | xml
\setuptagging[\c!state=\v!start]%
\clf_initializeexport
\setsystemmode\v!export
\exportingtrue
\writestatus\m!backend\empty % so messages will stand out a bit
- \the\everyinitializeexport
+ \expand\everyinitializeexport
\writestatus\m!backend\empty % so messages will stand out a bit
\enforced\glet\doinitializeexport\relax
\fi}
@@ -411,18 +421,9 @@
\installsetuponlycommandhandler \??boxexport {boxexport}
\installsetuponlycommandhandler \??mathexport {mathexport}
-% \permanent\tolerant\protected\def\startboxexport[#1]%
-% {\dowithnextbox{\strc_export_box{#1}}\vbox\bgroup}
-%
-% \permanent\protected\def\stopboxexport
-% {\egroup}
-%
-% \def\strc_export_box#1%
-% {\ctxlua{buffers.assign("#1",structures.tags.exportbox(\number\nextbox))}}
-
-\permanent\tolerant\protected\def\startboxexport[#1]%
+\permanent\tolerant\protected\def\startboxexport[#S#1]%
{\begingroup
- \iftok{#1}\emptytoks
+ \ifempty{#1}%
\letboxexportparameter\c!buffer\v!yes
\orelse\ifhastok={#1}\relax
\setupmathexport[#1]%
@@ -438,9 +439,9 @@
{\boxexportparameter\c!buffer}%
\endgroup}
-\permanent\tolerant\protected\def\startmathexport[#1]%
+\permanent\tolerant\protected\def\startmathexport[#S#1]%
{\begingroup
- \iftok{#1}\emptytoks
+ \ifempty{#1}%
\letboxexportparameter\c!buffer\v!yes
\orelse\ifhastok={#1}\relax
\setupmathexport[#1]%
@@ -452,8 +453,20 @@
\permanent\protected\def\stopmathexport
{\clf_stopcollectingmath
\clf_processcollectedmath
- {\boxexportparameter\c!file}
+ {\boxexportparameter\c!file}%
{\boxexportparameter\c!buffer}%
+ {\boxexportparameter\c!n}%
+ {\boxexportparameter\c!option}%
+ \endgroup}
+
+\permanent\tolerant\protected\def\savemathexport[#S#1]%
+ {\begingroup
+ \setupboxexport[#1]%
+ \clf_processcollectedmath
+ {\boxexportparameter\c!file}%
+ {\boxexportparameter\c!buffer}%
+ {\boxexportparameter\c!n}%
+ {\boxexportparameter\c!option}%
\endgroup}
% Defined at the \LUA\ end:
@@ -461,4 +474,23 @@
% \the\collectedmath : number of snippets
% \collectedmath n : specific snippet
+% \startluacode
+% function commands.doifelsesimplecollectedmath()
+% commands.doifelse(string.find(
+% buffers.getcontent("test"),
+% "<math.->%s*<m[nio]>[^<>]+</m[nio]>%s*</math>")
+% )
+% end
+% \stopluacode
+%
+% \dorecurse {\collectedmath} {
+% \savemathexport[buffer=test,n=#1]
+% \ctxlua{commands.doifelsesimplecollectedmath()} {
+% } {
+% \startsubsubsubject[title={math blob #1}]
+% \typebuffer[test]
+% \stopsubsubsubject
+% }
+% }
+
\protect \endinput