| | 'comment' => '/(%[^\r\n]*)/m', |
| | 'math' => '/(\$\$?.*?\$\$?)/s', |
| | - 'keyword' => '/(\\\\(?:def|edef|gdef|xdef|let|futurelet|if|else|' . |
| | - 'fi|ifnum|ifdim|ifodd|ifmmode|ifx|ifeof|iftrue|' . |
| | - 'iffalse|ifcase|or|loop|repeat|newif|expandafter|' . |
| | - 'noexpand|csname|endcsname|string|number|the|long|' . |
| | - 'outer|global|par|advance|hsize|vsize|hoffset|' . |
| | - 'voffset|displaywidth|parindent|baselineskip|' . |
| | - 'leftskip|rightskip|hangindent|hangafter|parshape|' . |
| | - 'pageno|nopagenumbers|folio|headline|footline|hbox|' . |
| | - 'vbox|vtop|vcenter|rlap|llap|hskip|vskip|hfil|hfill|' . |
| | - 'hfilneg|vfil|vfill|mskip|quad|qquad|enspace|' . |
| | - 'thinspace|enskip|strut|phantom|vphantom|hphantom|' . |
| | - 'smash|raise|lower|moveleft|moveright|halign|valign|' . |
| | - 'noalign|openup|cr|crcr|omit|span|multispan|tabskip|' . |
| | - 'settabs|matrix|pmatrix|bordermatrix|eqalign|' . |
| | - 'displaylines|eqno|leqno|cases|left|right|over|atop|' . |
| | - 'choose|brace|brack|root|of|buildrel|input|end|bye|' . |
| | - 'item|itemitem|indent|noindent|narrower|rm|bf|tt|sl|' . |
| | - 'it|font|char|magnification|magstep|magstephalf|day|' . |
| | - 'month|year|jobname|romannumeral|uppercase|lowercase|' . |
| | - 'footnote|topinsert|pageinsert|midinsert|endinsert|' . |
| | - 'underbar|hfuzz|vfuzz|overfullrule|raggedright|' . |
| | - 'raggedbottom|everypar|everymath|everydisplay|' . |
| | - 'everycr))\b/', |
| | + 'keyword' => '/(\\\\(?:above|abovedisplayshortskip|abovedisplayskip|' . |
| | + 'abovewithdelims|accent|adjdemerits|advance|' . |
| | + 'afterassignment|aftergroup|atop|atopwithdelims|' . |
| | + 'badness|baselineskip|batchmode|begingroup|' . |
| | + 'belowdisplayshortskip|belowdisplayskip|bf|binoppenalty|' . |
| | + 'bordermatrix|botmark|box|boxmaxdepth|brace|brack|' . |
| | + 'brokenpenalty|buildrel|bye|cases|catcode|char|chardef|' . |
| | + 'choose|cleaders|closein|closeout|clubpenalty|copy|' . |
| | + 'count|countdef|cr|crcr|csname|day|deadcycles|def|' . |
| | + 'defaulthyphenchar|defaultskewchar|delcode|delimiter|' . |
| | + 'delimiterfactor|delimitershortfall|dimen|dimendef|' . |
| | + 'discretionary|displayindent|displaylimits|displaylines|' . |
| | + 'displaystyle|displaywidowpenalty|displaywidth|divide|' . |
| | + 'doublehyphendemerits|dp|dump|edef|else|emergencystretch|' . |
| | + 'end|endcsname|endgroup|endinput|endinsert|endlinechar|' . |
| | + 'enskip|enspace|eqalign|eqno|errhelp|errmessage|' . |
| | + 'errorcontextlines|errorstopmode|escapechar|everycr|' . |
| | + 'everydisplay|everyhbox|everyjob|everymath|everypar|' . |
| | + 'everyvbox|exhyphenpenalty|expandafter|fam|fi|' . |
| | + 'finalhyphendemerits|firstmark|floatingpenalty|folio|' . |
| | + 'font|fontdimen|fontname|footline|footnote|futurelet|' . |
| | + 'gdef|global|globaldefs|halign|hangafter|hangindent|' . |
| | + 'hbadness|hbox|headline|hfil|hfill|hfilneg|hfuzz|' . |
| | + 'hoffset|holdinginserts|hphantom|hrule|hsize|hskip|hss|' . |
| | + 'ht|hyphenation|hyphenchar|hyphenpenalty|if|ifcase|' . |
| | + 'ifcat|ifdim|ifeof|iffalse|ifhbox|ifhmode|ifinner|' . |
| | + 'ifmmode|ifnum|ifodd|iftrue|ifvbox|ifvmode|ifvoid|ifx|' . |
| | + 'ignorespaces|immediate|indent|input|inputlineno|insert|' . |
| | + 'insertpenalties|interlinepenalty|it|item|itemitem|' . |
| | + 'jobname|kern|language|lastbox|lastkern|lastpenalty|' . |
| | + 'lastskip|lccode|leaders|left|lefthyphenmin|leftskip|' . |
| | + 'leqno|let|limits|linepenalty|lineskip|lineskiplimit|' . |
| | + 'llap|long|loop|looseness|lower|lowercase|mag|' . |
| | + 'magnification|magstep|magstephalf|mark|mathaccent|' . |
| | + 'mathbin|mathchar|mathchardef|mathchoice|mathclose|' . |
| | + 'mathcode|mathinner|mathop|mathopen|mathord|mathpunct|' . |
| | + 'mathrel|mathsurround|matrix|maxdeadcycles|maxdepth|' . |
| | + 'meaning|medmuskip|message|midinsert|mkern|month|' . |
| | + 'moveleft|moveright|mskip|multispan|multiply|muskip|' . |
| | + 'muskipdef|narrower|newif|newlinechar|noalign|noboundary|' . |
| | + 'noexpand|noindent|nolimits|nonscript|nonstopmode|' . |
| | + 'nopagenumbers|nulldelimiterspace|nullfont|number|of|' . |
| | + 'omit|openin|openout|openup|or|outer|output|outputpenalty|' . |
| | + 'over|overfullrule|overline|overwithdelims|pagedepth|' . |
| | + 'pagefilllstretch|pagefillstretch|pagefilstretch|' . |
| | + 'pagegoal|pageinsert|pageno|pageshrink|pagestretch|' . |
| | + 'pagetotal|par|parfillskip|parindent|parshape|parskip|' . |
| | + 'patterns|pausing|penalty|phantom|pmatrix|' . |
| | + 'postdisplaypenalty|predisplaypenalty|predisplaysize|' . |
| | + 'pretolerance|prevdepth|prevgraf|qquad|quad|radical|' . |
| | + 'raggedbottom|raggedright|raise|read|relax|relpenalty|' . |
| | + 'repeat|right|righthyphenmin|rightskip|rlap|rm|' . |
| | + 'romannumeral|root|scriptfont|scriptscriptfont|' . |
| | + 'scriptscriptstyle|scriptspace|scriptstyle|scrollmode|' . |
| | + 'setbox|setlanguage|settabs|sfcode|shipout|show|showbox|' . |
| | + 'showboxbreadth|showboxdepth|showlists|showthe|skewchar|' . |
| | + 'skip|skipdef|sl|smash|spacefactor|spaceskip|span|' . |
| | + 'special|splitbotmark|splitfirstmark|splitmaxdepth|' . |
| | + 'splittopskip|string|strut|tabskip|textfont|textstyle|' . |
| | + 'the|thickmuskip|thinmuskip|thinspace|time|toks|toksdef|' . |
| | + 'tolerance|topinsert|topmark|topskip|tracingcommands|' . |
| | + 'tracinglostchars|tracingmacros|tracingonline|' . |
| | + 'tracingoutput|tracingpages|tracingparagraphs|' . |
| | + 'tracingrestores|tracingstats|tt|uccode|uchyph|underbar|' . |
| | + 'underline|unhbox|unhcopy|unkern|unpenalty|unskip|unvbox|' . |
| | + 'unvcopy|uppercase|vadjust|valign|vbadness|vbox|vcenter|' . |
| | + 'vfil|vfill|vfilneg|vfuzz|voffset|vphantom|vrule|vsize|' . |
| | + 'vskip|vsplit|vss|vtop|wd|widowpenalty|write|xdef|' . |
| | + 'xleaders|xspaceskip|year))\b/', |
| | 'function' => '/(\\\\[a-zA-Z@]+|\\\\[^a-zA-Z@])/', |
| | 'variable' => '/(#[0-9])/', |