summaryrefslogtreecommitdiff
path: root/tex/context/base/syst-str.mkiv
blob: 57d76dc037557feb7bf6b40249952237f437d23a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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