diff options
Diffstat (limited to 'tex/context/base/cont-new.tex')
-rw-r--r-- | tex/context/base/cont-new.tex | 93 |
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 |