blob: 539ca19f4e3add2d95bb57f77de88821b1a40eb2 (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
%D \module
%D [ file=t-module-catcodes,
%D version=2011.04.02,
%D title=\CONTEXT\ User Module,
%D subtitle=Module Catcodes,
%D author=Aditya Mahajan,
%D date=\currentdate,
%D copyright=Aditya Mahajan,
%D email=adityam <at> umich <dot> edu,
%D license=Simplified BSD License]
\writestatus{loading}{ConTeXt User Module / Module Catcodes}
\startmodule [module-catcodes]
% EXPERIMENTAL: Catcode table for internal commands
\newcatcodetable \modulecatcodes
\startcatcodetable \modulecatcodes
\catcode\tabasciicode \spacecatcode
\catcode\endoflineasciicode \endoflinecatcode
\catcode\formfeedasciicode \endoflinecatcode
\catcode\spaceasciicode \spacecatcode
\catcode\endoffileasciicode \ignorecatcode
\catcode\circumflexasciicode\superscriptcatcode
% \catcode\underscoreasciicode\subscriptcatcode
\catcode\underscoreasciicode\lettercatcode
\catcode\ampersandasciicode \alignmentcatcode
\catcode\backslashasciicode \escapecatcode
\catcode\leftbraceasciicode \begingroupcatcode
\catcode\rightbraceasciicode\endgroupcatcode
\catcode\dollarasciicode \mathshiftcatcode
\catcode\hashasciicode \parametercatcode
\catcode\commentasciicode \commentcatcode
\catcode`\@ \lettercatcode
\catcode`\! \lettercatcode
\catcode`\? \lettercatcode
\catcode\tildeasciicode \activecatcode
\catcode\barasciicode \activecatcode
\catcode`\: \lettercatcode
\stopcatcodetable
% IDEA:
% Instead of using \externalfilter::command we can also define:
%
% \startmoduledefinition command #1
% ...
% \stopmoduledefinition
%
% which will be equivalent to
%
% \starttexdefinition externalfilter::command
% ...
% \stoptexdefinition
%
% and \modulevalue{command} => \getvalue{externalfilter::command}
\def\unprotectmodulecatcodes
{\pushcatcodetable
\setcatcodetable\modulecatcodes}
\def\protectmodulecatcodes
{\popcatcodetable}
\stopmodule
|