1colorize TEX {
2    SyntaxParser        = 'SIMPLE';
3
4    color {
5        { 'Normal',      'Editor_Default' },
6        { 'Comment',     'Lang_Comment' },
7        { 'Tag',         'Markup_Tag' },
8        { 'Special',     'Markup_Special' },
9        { 'Symbol',      'Markup_Symbol' },
10        { 'Quotes',      'Markup_Quotes' },
11        { 'Function',    'Markup_Math' },
12    };
13
14    keyword 'Editor_Keywords' {
15        'documentstyle', 'document', 'documentclass',
16        'pagestyle', 'pagenumbering', 'thispagestyle',
17        'title', 'author', 'date', 'maketitle',
18        'begin', 'end',
19        'part', 'chapter',
20        'section', 'subsection', 'subsubsection',
21        'paragraph', 'subparagraph',
22        'appendix', 'tableofcontents', 'listoffigures', 'listoftables',
23        'rm', 'em', 'bf', 'sc', 'it', 'sl', 'sf', 'tt',
24        'tiny', 'scriptsize', 'footnotesize', 'small',
25        'normalsize', 'large', 'Large', 'LARGE', 'huge', 'HUGE',
26        'bibitem', 'cite',
27        'label', 'ref', 'pageref', 'footnote',
28        'item',
29        'caption',
30        'kill',
31        'hline', 'cline', 'multicolumn',
32        'def',
33        'hspace', 'vspace',
34        'linebreak', 'nolinebreak',
35        'newpage', 'clearpage', 'pagebreak', 'nopagebreak', 'samepage',
36        'newcommand', 'renewcommand', 'newenvironment', 'newtheorem',
37        'newcounter', 'setcounter', 'addtocounter', 'value',
38        'stepcounter', # \the*
39        'newlength', 'setlength', 'addtolength', 'settowidth',
40        'textheight', 'textwidth', 'topmargin', 'hoffset', 'voffset',
41        'oddsidemargin', 'evensidemargin',
42        'mbox', 'makebox', 'fbos', 'framebox', 'newsavebox', 'sbox',
43        'savebox', 'usebox', 'raisebox',
44        'put', 'framebox', 'dashbox', 'line', 'vector', 'circle', 'oval',
45        'frame', 'shortstack', 'multiput', 'thinlines', 'thicklines',
46        'linethickness',
47        'font', 'magnification', 'magstephalf', 'magstep',
48        'hsize', 'vsize', 'voffset', 'hoffset', 'topskip', 'leftskip', 'rightskip',
49        'eject', 'vfill', 'eject', 'goodbreak', 'nobreak', 'nopagenumbers',
50        'headline', 'headheight', 'headsep', 'footnote', 'pageno', 'folio',
51        'par', 'parindent', 'noindent', 'break', 'hfill', 'break', 'line',
52        'rightline', 'centerline',
53
54        'includegraphics',
55
56        'enskip', 'hskip', 'hfil', 'hfill', 'hss', 'smallskip',
57        'vskip', 'vglue', 'vfil' ,'vfill', 'vss', 'baselineskip', 'parskip',
58        'topinsert', 'midinsert', 'handindent',
59        'footnote', 'hrule', 'vrule', 'leaders', 'hrulefill',
60        'settabs', 'haling', 'hbox', 'vbox', 'newbox', 'setbox',
61
62        'arccos', 'cos', 'csc', 'exp', 'ker', 'limsup', 'min', 'sinh',
63        'arcsin', 'cosh', 'deg', 'gcd', 'lg', 'ln', 'Pr', 'sup',
64        'arctan', 'cot', 'det', 'hom', 'lim', 'log', 'sec', 'tan',
65        'arg', 'coth', 'dim', 'inf', 'liminfo', 'max', 'sin', 'tanh',
66
67        'displaystyle', 'textstyle',
68        'alpha', 'beta', 'gamma', 'delta', 'epsilon', 'varepsilon', 'zeta',
69        'eta', 'theta', 'vartheta', 'iota', 'kappa', 'lambda', 'mu', 'nu',
70        'xi', 'o', 'pi', 'varpi', 'rho', 'varrho', 'sigma', 'varsigma',
71        'tau', 'upsilon', 'phi', 'varphi', 'chi', 'psi', 'omega',
72        'Gamma', 'Delta', 'Theta', 'Lambda', 'Xi', 'Pi', 'Sigma', 'Upsilon',
73        'Phi', 'Psi', 'Omega',
74
75        'aleph', 'hbar', 'imath', 'jmath', 'ell', 'wp', 'Re', 'Im',
76        'partial', 'infty', 'backslash', 'prime', 'emptyset', 'nabla',
77        'surd', 'triangle', 'angle', 'bot', 'top', 'forall', 'exists',
78        'neg', 'lnot', 'flat', 'natural', 'sharp', 'clubsuit',
79        'diamondsuit', 'heartsuit', 'spadesuit',
80
81        'pm', 'mp', 'setminus', 'cdot', 'times', 'ast', 'star', 'diamond',
82        'circ', 'bullet', 'triangleleft', 'cap', 'cup', 'uplus', 'sqcap',
83        'sqcup', 'amalg', 'div', 'wr', 'bigcirc', 'vee', 'lor', 'wedge', 'land',
84        'oplus', 'ominus', 'otimes', 'oslash', 'odot', 'dagger', 'ddagger',
85        'bigtriangleleft', 'bigtriangledown',
86        'sum', 'prod', 'coprod', 'int', 'oint', 'bigcap', 'bigcup', 'bigsqcup',
87        'bigvee', 'bigwedge', 'bigodot', 'bigotimes', 'bigoplus',
88        'biguplus', 'hat', 'acute', 'ddot', 'vec', 'check', 'grave', 'breve',
89        'tilde', 'dot', 'bar',
90        'widehat', 'widetilde',
91
92        'ldots', 'vdots', 'cdots', 'ddots',
93        'leq', 'le', 'prec', 'preceq', 'll', 'subset', 'subsetqe',
94        'supsetqe', 'in', 'vdash', 'smile', 'frown', 'geq', 'ge',
95        'succ', 'succeq', 'gg', 'supset', 'sqsubseteq', 'sqsupsetqe',
96        'ni', 'owns', 'dashv', 'mid', 'parallel', 'equiv', 'sim', 'simeq',
97        'asymp', 'approx', 'cong', 'bowtie', 'propto', 'models',
98        'doteq', 'perp', 'not',
99
100        'leftarrow', 'Leftarrow', 'gets', 'longleftarrow', 'Longleftarrow',
101        'rightarrow', 'Rightarrow', 'to', 'longrightarrow', 'Longrightarrow',
102        'leftrightarrow', 'Leftrightarrow', 'longleftrightarrow', 'Longleftrightarrow',
103        'mapsto', 'longmapsto', 'hookleftarrow', 'hookrightarrow',
104        'leftharpoonup', 'rightharpoonup',
105        'leftharpoondown', 'rightharpoondown',
106        'uparrow', 'Uparrow', 'downarrow', 'Downarrow',
107        'updownarrow', 'Updownarrow',
108        'nearrow', 'searrow', 'swarrow', 'nwarrow',
109        'lbrack', 'lfloor', 'rbrack', 'rfloor',
110        'lceil', 'lbrace', 'langle',
111        'rceil', 'rbrace', 'rangle',
112        'quad', 'qquad',
113
114        'Biggl', 'biggl', 'Bigl', 'bigl',
115        'bigr', 'Bigr', 'biggr', 'Biggr',
116        'lgroup', 'rgroup', 'langle', 'rangle',
117        'vert', 'Vert', 'uparrow',
118        'left', 'right',
119        'overline', 'overrightarrow', 'overleftarrow', 'overbrace',
120        'underbrace', 'atop', 'choose', 'brack', 'above', 'brace',
121        'pmatrix', 'matrix', 'bordermatrix',
122        'eqalign', 'eqno', 'eqalignno', 'quad',
123
124        'def', 'gdef', 'edef',
125        'newcount', 'advance', 'multiply', 'divide', 'number',
126        'romannumeral', 'newdimen', 'newread',
127        'openin', 'closein', 'input', 'endinput',
128        'newwrite', 'openouput', 'closeout', 'write', 'jobname',
129        'if', 'else', 'fi', 'ifx', 'ifeof',
130        'ifhmode', 'ifvmode', 'ifmmode',
131        'ifcat', 'ifnum', 'ifdim', 'ifodd', 'ifcase', 'or',
132        'loop', 'repeat',
133
134        'beginpicture', 'setcoordinatesystem',
135        'endpicture',
136        'plotheading', 'lines', 'putrule', 'linethickness',
137        'setlinear', 'setquadratic', 'sethistograms', 'setsolid', 'setdashes',
138        'setdots', 'setdashpattern', 'setplotsymbol', 'plot', 'arrow',
139        'put', 'multiput', 'circulararc', 'ellipticarc',
140        'startrotation', 'stoprotation', 'setshadegrid', 'setshadesymbol',
141        'shaderectangleson', 'sharerectanglesoff',
142        'vshade', 'setquadratic', 'hshade', 'setplotarea',
143        'inboundscheckon', 'inboundscheckoff',
144        'axis', 'setbox', 'endpicturesave', 'newdimen',
145
146        'Alph', 'AtBeginDocument', 'AtBeginDvi', 'AtEndDocument',
147        'AtEndOfPackage', 'Big', 'Bigg', 'Box', 'CheckCommand',
148        'ClassError', 'ClassInfo', 'ClassWarning', 'ClassWarningNoLine',
149        'DeclareErrorFont', 'DeclareFixedFont', 'DeclareFontEncoding',
150        'DeclareFontEncodingDefaults', 'DeclareFontFamily',
151        'DeclareFontShape', 'DeclareFontSubstitution',
152        'DeclareMathAccent', 'DeclareMathAlphabet',
153        'DeclareMathDelimiter', 'DeclareMathRadical',
154        'DeclareMathSizes', 'DeclareMathSymbol',
155        'DeclareMathVersion', 'DeclareOldFontCommand',
156        'DeclareOption', 'DeclarePreloadSizes',
157        'DeclareRobustCommand', 'DeclareSizeFunction',
158        'DeclareSymbolFont', 'DeclareSymbolFontAlphabet',
159        'DeclareTextAccent', 'DeclareTextAccentDefault',
160        'DeclareTextCommand', 'DeclareTextCommandDefault',
161        'DeclareTextComposite', 'DeclareTextCompositeCommand',
162        'DeclareTextFontCommand', 'DeclareTextSymbol',
163        'DeclareTextSymbolDefault', 'ExecuteOptions',
164        'IfFileExists', 'InputIfFileExists',
165        'Join', 'LoadClass', 'LoadClassWithOptions',
166        'MessageBreak', 'NeedsTeXFormat', 'OptionNotUsed',
167        'PackageError', 'PackageInfo', 'PackageWarning',
168        'PackageWarningNoLine', 'PassOptionsToClass',
169        'PassOptionsToPackage', 'ProcessOptions',
170        'ProvideTextCommand', 'ProvideTextCommandDefault',
171        'ProvidesFile', 'ProvidesPackage',
172        'RequirePackage', 'RequirePackageWithOptions',
173        'Roman', 'SetMathAlphabet', 'SetSymbolFont', 'TeX',
174        'TextSymbolUnavailable', 'UseTextAccent',
175        'UseTextSymbol', 'addcontentsline',
176        'addpenalty', 'addtocontents', 'addtoversion', 'addvspace',
177        'afterassignment', 'allocationnumber', 'allowbreak',
178        'alph', 'arrayrulewidth', 'arraystretch', 'baselinestretch',
179        'bezier', 'bfdefault', 'bfseries', 'bibcite', 'bibliography',
180        'bibliographystyle', 'big', 'bigbreak', 'bigg', 'bigskip',
181        'bigskipamount', 'bigskipamount', 'bmod', 'boldmath',
182        'buildrel', 'cases', 'catcode', 'center', 'centering',
183        'chardef', 'cleardoublepage', 'contentsline', 'countdef',
184        'cr', 'csname', 'depth', 'discretionary', 'displaymath',
185        'dospecials', 'dotfill', 'encodingdefault', 'endcsname',
186        'everycr', 'expandafter', 'expandafter', 'extracolsep',
187        'familydefault', 'familydefault', 'fbox', 'filbreak',
188        'flushleft', 'flushright', 'fmtname', 'fmtversion',
189        'fontencoding', 'fontfamily', 'fontseries', 'fontshape',
190        'footnotemark', 'footnoterule', 'footnotetext', 'frac',
191        'frenchspacing', 'fussy', 'futurelet', 'global', 'glossary',
192        'halign', 'height', 'hphantom', 'ifinner', 'immediate',
193        'include', 'includeonly', 'itdefault', 'iterate', 'kern',
194        'lastskip', 'leadsto', 'leavevmode', 'lefteqn', 'leftline',
195        'leftmark', 'let', 'lhd', 'liminf', 'lineskip', 'lower',
196        'lowercase', 'makeatletter', 'makeatother', 'makeglossary',
197        'makeindex', 'marginpar', 'markboth', 'markright', 'mathclose',
198        'mathop', 'mathopen', 'mathrel', 'mathstrut', 'mddefault',
199        'medbreak', 'medmuskip', 'medskip', 'mho', 'minipage', 'mskip',
200        'multispan', 'narrower', 'negthinspace', 'newfont', 'newhelp',
201        'newif', 'newinsert', 'newlabel', 'newlanguage', 'newline',
202        'newmathalphabet', 'newmuskip', 'newskip', 'newtoks', 'nocite',
203        'nocorrlist', 'noexpand', 'nointerlineskip', 'nolimits',
204        'nonfrenchspacing', 'nonumber', 'normalbaselines', 'normallineskip',
205        'normalmarginpar', 'null', 'numberline', 'obeylines',
206        'obeyspaces', 'offinterlineskip', 'onecolumn', 'openup',
207        'pagenumberin', 'parbox', 'penalty', 'phantom',
208        'pmod', 'protect', 'providecommand', 'raggedbottom',
209        'raggedleft', 'raggedright', 'refstepcounter', 'relax',
210        'removelastskip', 'renewenvironment', 'reversemarginpar', 'rhd',
211        'rightmark', 'rlap', 'rmdefault', 'roman', 'root', 'rq', 'rule',
212        'scdefault', 'secdef', 'selectfont', 'seriesdefault', 'settodepth',
213        'settoheight', 'sfdefault', 'shapedefault', 'showhyphens', 'showoutput',
214        'showoverfull', 'sldefault', 'sloppy', 'sloppypar', 'smallbreak',
215        'space', 'spacefactor', 'sqsubset', 'stackrel', 'stretch',
216        'strut', 'suppressfloats', 'symbol', 'tabskip', 'thanks',
217        'thefootnote', 'thickmuskip', 'thinmuskip', 'thinspace', 'today',
218        'tracingfonts', 'tracingoutput', 'trivlist', 'ttdefault',
219        'twocolumn', 'typein', 'typeout', 'unboldmath', 'undefinedpagestyle',
220        'underbar', 'underline', 'unlhd', 'unrhd', 'updefault',
221        'usecounter', 'usefont', 'usepackage', 'vcenter', 'verb',
222        'verbatim', 'vline', 'vphantom', 'width', 'wlog', 'xdef',
223    };
224
225    h_state 0 { 'Normal' }
226    h_trans { 1, '', '\\begin{verbatim}', 'Quotes' }
227    h_trans { 2, '', '\\', 'Special' }
228    h_trans { 0, 's', '{}', 'Special' }
229    h_trans { 4, '', '$', 'Function' }
230    h_trans { 5, '', '$$', 'Function' }
231    h_trans { 3, '', '%', 'Comment' }
232
233    h_state 1 { 'Quotes' }
234    h_trans { 0, '', '\\end{verbatim}', 'Quotes' }
235
236    h_state 2 { 'Tag' }
237    h_trans { 0, 'S', 'a-zA-Z0-9_', 'Symbol' }
238    h_wtype { 0, 0, 0, '', 'a-zA-Z0-9_' }
239
240    h_state 3 { 'Comment' }
241    h_trans { 0, '$', '', 'Comment' }
242
243    h_state 4 { 'Function' }
244    h_trans { 0, '', '$', 'Function' }
245
246    h_state 5 { 'Function' }
247    h_trans { 0, '', '$$', 'Function' }
248
249
250    #h_state 5 { 0, 'i', 'a-zA-Z', 'Keyword' }
251    #h_trans { 0, 'S', 'a-zA-Z', 'Normal' }
252    #h_trans { 0, '$', '', 'Normal' }
253}
254
255mode TEX: PLAIN {
256    FileNameRx          = /\.\c{TEX}|{STY}|{CLS}|{CLO}|{LTX}|{FD}|{DTX}$/;
257    HilitOn             = 1;
258    Colorizer           = 'TEX';
259    MultiLineHilit      = 1;
260
261    RoutineRegexp	= /^\s*\\(title)|(section)|(subsection)\s*\{/;
262
263    SaveFolds           = 2;      # save fold info at end of line
264    CommentStart        = '%';
265    CommentEnd          = '';
266}
267
268