diff options
Diffstat (limited to 'tex/context/base/syst-str.mkiv')
-rw-r--r-- | tex/context/base/syst-str.mkiv | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tex/context/base/syst-str.mkiv b/tex/context/base/syst-str.mkiv new file mode 100644 index 000000000..57d76dc03 --- /dev/null +++ b/tex/context/base/syst-str.mkiv @@ -0,0 +1,36 @@ +%D \module +%D [ file=syst-str, +%D version=2006.09.18, +%D title=\CONTEXT\ System Macros, +%D subtitle=String Processing, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\unprotect + +% nb: these macros might go away ! +% +% todo: escape special chars in expr (\luaescapeexpression) + +%D I got tired of making dedicated clean up macros using the +%D same mechanism again and again, so now we have: +%D +%D \starttyping +%D \def\xxxx{abc.d} \replacecharacters\xxxx{a.}{-} \xxxx +%D \stoptyping + +\def\replacecharacters#1#2#3% macro characters replacement + {\dodoglobal\edef#1{\ctxlua{tex.sprint((string.gsub(\!!bs#1\!!es,\!!bs#2\!!es,"#3")))}}} + +\def\separatestring#1\to#2% + {\dodoglobal\def#2{\ctxlua{tex.sprint((string.gsub(\!!bs#1\!!es,"\letterpercent s+",",")))}}} + +\def\unspacefilename#1\to#2% + {\dodoglobal\def#2{\ctxlua{tex.sprint((string.gsub(\!!bs#1\!!es,"\letterpercent s+","-")))}}} + +\protect \endinput |