summaryrefslogtreecommitdiff
path: root/tex/context/base/cont-new.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/cont-new.tex')
-rw-r--r--tex/context/base/cont-new.tex93
1 files changed, 75 insertions, 18 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 83b1c647e..8cd1c6975 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2006.05.23 16:32}
+\newcontextversion{2006.05.28 13:28}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
@@ -26,6 +26,61 @@
\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex}
+%D A nice example of a plugin:
+%D
+%D \startbuffer
+%D \startitemize[a,random,packed]
+%D \startitem first \stopitem \startitem second \stopitem
+%D \startitem third \stopitem \startitem fourth \stopitem
+%D \stopitemize
+%D
+%D \startitemize[a,random,packed]
+%D \startitem first \stopitem \startitem second \stopitem
+%D \startitem third \stopitem \startitem fourth \stopitem
+%D \stopitemize
+%D
+%D \startitemize[a,packed]
+%D \startitem first \stopitem \startitem second \stopitem
+%D \startitem third \stopitem \startitem fourth \stopitem
+%D \stopitemize
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
+
+% better collectitems als conditional and a real plugin mechanism (some day)
+
+\@EA\long\@EA\def\@EA\collectitemgroupitem\@EA#\@EA1\csname\e!stop\v!item\endcsname
+ {\increment\itemcollectcounter
+ \long\setvalue{\v!item*\itemcollectcounter}{\item#1\par}}
+
+\def\flushcollecteditems
+ {\ifconditional\randomizeitems
+ \getrandomnumber\itemcollectcounternow\plusone\itemcollectcounter
+ \else
+ \increment\itemcollectcounternow
+ \fi
+ \doifdefined{\v!item*\itemcollectcounternow}
+ {\getvalue{\v!item*\itemcollectcounternow}%
+ \letbeundefined{\v!item*\itemcollectcounternow}%
+ \increment\itemcollectcounterdone}%
+ \ifnum\itemcollectcounterdone<\itemcollectcounter\relax
+ \expandafter\flushcollecteditems
+ \fi}
+
+\def\stopcollectitems
+ {\ifconditional\randomizeitems
+ \newcounter\itemcollectcounterdone
+ \ifnum\itemcollectcounter>\zerocount
+ \@EAEAEA\flushcollecteditems
+ \fi
+ \fi}
+
+\def\startcollectitems
+ {\ifconditional\randomizeitems
+ \newcounter\itemcollectcounter
+ \letvalue{\e!start\v!item}\collectitemgroupitem
+ \fi}
+
% This will move to core-fig asap:
%
% todo: process between runs
@@ -39,23 +94,25 @@
\def\getRLIfiguredimensions#1%
{\let\rliwidth \!!zeropoint
\let\rliheight\!!zeropoint
- \doiffileelse{\@@effilenametype.rli}
- {}
- {% let's try runtime running first
- \writestatus\m!figures{using rlxtools to determine size of \@@effilenametype}%
- \executesystemcommand{texmfstart rlxtools --identify \@@effilenametype}}%
- \doiffileelse{\@@effilenametype.rli}
- {}
- {% we assume that runtime running failed
- \installprogram{texmfstart rlxtools --identify \@@effilenametype}}%
- \startnointerference
- \startXMLmapping[rli]%
- \startXMLignore
- \processXMLfile{\@@effilenametype.rli}%
- \edef\rliwidth {\XMLflush{rl:width}}%
- \edef\rliheight{\XMLflush{rl:height}}%
- \stopXMLignore
- \stopXMLmapping
+ \doiffileelse\@@effilenametype
+ {\doiffileelse{\@@effilenametype.rli}
+ {}
+ {% let's try runtime running first
+ \writestatus\m!figures{using rlxtools to determine size of \@@effilenametype}%
+ \executesystemcommand{texmfstart rlxtools --identify \@@effilenametype}}%
+ \doiffileelse{\@@effilenametype.rli}
+ {}
+ {% we assume that runtime running failed
+ \installprogram{texmfstart rlxtools --identify \@@effilenametype}}%
+ \startnointerference
+ \startXMLmapping[rli]%
+ \startXMLignore
+ \processXMLfile{\@@effilenametype.rli}%
+ \edef\rliwidth {\XMLflush{rl:width}}%
+ \edef\rliheight{\XMLflush{rl:height}}%
+ \stopXMLignore
+ \stopXMLmapping}
+ {}%
\stopnointerference}
\def\getfiguredimensionsC