Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
tex.vim1396 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:	TeX3" Maintainer:	This runtime file is looking for a new maintainer.4" Former Maintainer: Charles E. Campbell5" Last Change:	Apr 22, 20226"   2024 Feb 19 by Vim Project: announce adoption7"   2025 Jan 18 by Vim Project: add texEmphStyle to texMatchGroup, #162288"   2025 Feb 08 by Vim Project: improve macro option, \providecommand,9"                               \newcommand and \newenvironment #1654310"   2025 Sep 29 by Vim Project: add amsmath support #1843311"   2025 Oct 06 by Vim Project: link texBoldStyle to Bold, etc #1850512" Version:	12113" Former URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX14"15" Notes: {{{116"17" 1. If you have a \begin{verbatim} that appears to overrun its boundaries,18"    use %stopzone.19"20" 2. Run-on equations ($..$ and $$..$$, particularly) can also be stopped21"    by suitable use of %stopzone.22"23" 3. If you have a slow computer, you may wish to modify24"25"	syn sync maxlines=20026"	syn sync minlines=5027"28"    to values that are more to your liking.29"30" 4. There is no match-syncing for $...$ and $$...$$; hence large31"    equation blocks constructed that way may exhibit syncing problems.32"    (there's no difference between begin/end patterns)33"34" 5. If you have the variable "g:tex_no_error" defined then none of the35"    lexical error-checking will be done.36"37"    ie. let g:tex_no_error=138"39" 6. Please see  :help latex-syntax  for information on40"      syntax folding           :help tex-folding41"      spell checking           :help tex-nospell42"      commands and mathzones   :help tex-runon43"      new command highlighting :help tex-morecommands44"      error highlighting       :help tex-error45"      new math groups          :help tex-math46"      new styles               :help tex-style47"      using conceal mode       :help tex-conceal48 49" Version Clears: {{{150" quit when a syntax file was already loaded51if exists("b:current_syntax")52  finish53endif54let s:keepcpo= &cpo55set cpo&vim56scriptencoding utf-857 58" by default, enable all region-based highlighting59let s:tex_fast= "bcmMprsSvV"60if exists("g:tex_fast")61 if type(g:tex_fast) != 162  " g:tex_fast exists and is not a string, so63  " turn off all optional region-based highighting64  let s:tex_fast= ""65 else66  let s:tex_fast= g:tex_fast67 endif68endif69 70" let user determine which classes of concealment will be supported71"   a=accents/ligatures d=delimiters m=math symbols  g=Greek  s=superscripts/subscripts72if !exists("g:tex_conceal")73 let s:tex_conceal= 'abdmgsS'74else75 let s:tex_conceal= g:tex_conceal76endif77if !exists("g:tex_superscripts")78 let s:tex_superscripts= '[0-9a-zA-W.,:;+-<>/()=]'79else80 let s:tex_superscripts= g:tex_superscripts81endif82if !exists("g:tex_subscripts")83 let s:tex_subscripts= '[0-9aehijklmnoprstuvx,+-/().]'84else85 let s:tex_subscripts= g:tex_subscripts86endif87 88" Determine whether or not to use "*.sty" mode {{{189" The user may override the normal determination by setting90"   g:tex_stylish to 1      (for    "*.sty" mode)91"    or to           0 else (normal "*.tex" mode)92" or on a buffer-by-buffer basis with b:tex_stylish93let s:extfname=expand("%:e")94if exists("g:tex_stylish")95 let b:tex_stylish= g:tex_stylish96elseif !exists("b:tex_stylish")97 if s:extfname == "sty" || s:extfname == "cls" || s:extfname == "clo" || s:extfname == "dtx" || s:extfname == "ltx"98  let b:tex_stylish= 199 else100  let b:tex_stylish= 0101 endif102endif103 104" handle folding {{{1105if !exists("g:tex_fold_enabled")106 let s:tex_fold_enabled= 0107elseif g:tex_fold_enabled && !has("folding")108 let s:tex_fold_enabled= 0109 echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support"110else111 let s:tex_fold_enabled= 1112endif113if s:tex_fold_enabled && &fdm == "manual"114 setl fdm=syntax115endif116if s:tex_fold_enabled && has("folding")117 com! -nargs=* TexFold <args> fold118else119 com! -nargs=* TexFold <args>120endif121 122" (La)TeX keywords: uses the characters 0-9,a-z,A-Z,192-255 only... {{{1123" but _ is the only one that causes problems.124" One may override this iskeyword setting by providing125" g:tex_isk126if exists("g:tex_isk")127 if b:tex_stylish && g:tex_isk !~ '@'128  let b:tex_isk= '@,'.g:tex_isk129 else130  let b:tex_isk= g:tex_isk131 endif132elseif b:tex_stylish133 let b:tex_isk="@,48-57,a-z,A-Z,192-255"134else135 let b:tex_isk="48-57,a-z,A-Z,192-255"136endif137if (v:version == 704 && has("patch-7.4.1142")) || v:version > 704138 exe "syn iskeyword ".b:tex_isk139else140 exe "setl isk=".b:tex_isk141endif142if exists("g:tex_no_error") && g:tex_no_error143 let s:tex_no_error= 1144else145 let s:tex_no_error= 0146endif147if exists("g:tex_comment_nospell") && g:tex_comment_nospell148 let s:tex_comment_nospell= 1149else150 let s:tex_comment_nospell= 0151endif152if exists("g:tex_nospell") && g:tex_nospell153 let s:tex_nospell = 1154else155 let s:tex_nospell = 0156endif157if exists("g:tex_matchcheck")158 let s:tex_matchcheck= g:tex_matchcheck159else160 let s:tex_matchcheck= '[({[]'161endif162if exists("g:tex_excludematcher")163 let s:tex_excludematcher= g:tex_excludematcher164else165 let s:tex_excludematcher= 0166endif167 168" Clusters: {{{1169" --------170syn cluster texCmdGroup			contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,@texMathZones171if !s:tex_no_error172 syn cluster texCmdGroup		add=texMathError173endif174syn cluster texEnvGroup			contains=texDefParm,texMatcher,texMathDelim,texSpecialChar,texStatement175syn cluster texFoldGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texEmphStyle,texNoSpell176syn cluster texBoldGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell177syn cluster texItalGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texEmphStyle,texItalBoldStyle,texNoSpell178if !s:tex_excludematcher179 syn cluster texBoldGroup add=texMatcher180 syn cluster texItalGroup add=texMatcher181endif182if !s:tex_nospell183 if !s:tex_no_error184  syn cluster texMatchGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texEmphStyle,texZone,texInputFile,texOption,@Spell185  syn cluster texMatchNMGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell186  syn cluster texStyleGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell187 else188  syn cluster texMatchGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texEmphStyle,texZone,texInputFile,texOption,@Spell189  syn cluster texMatchNMGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell190  syn cluster texStyleGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell191 endif192else193 if !s:tex_no_error194  syn cluster texMatchGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption195  syn cluster texMatchNMGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption196  syn cluster texStyleGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher197 else198  syn cluster texMatchGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption199  syn cluster texMatchNMGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption200  syn cluster texStyleGroup		contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher201 endif202endif203syn cluster texPreambleMatchGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ204syn cluster texRefGroup			contains=texMatcher,texComment,texDelimiter205if !exists("g:tex_no_math")206 syn cluster texPreambleMatchGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ207 syn cluster texMathZones		contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ208 syn cluster texMatchGroup		add=@texMathZones209 syn cluster texMathDelimGroup		contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2210 syn cluster texMathMatchGroup		contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone211 syn cluster texMathZoneGroup		contains=texBadPar,texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle212 if !s:tex_no_error213  syn cluster texMathMatchGroup		add=texMathError214  syn cluster texMathZoneGroup		add=texMathError215 endif216 syn cluster texMathZoneGroup		add=@NoSpell217 " following used in the \part \chapter \section \subsection \subsubsection218 " \paragraph \subparagraph \author \title highlighting219 syn cluster texDocGroup		contains=texPartZone,@texPartGroup220 syn cluster texPartGroup		contains=texChapterZone,texSectionZone,texParaZone221 syn cluster texChapterGroup		contains=texSectionZone,texParaZone222 syn cluster texSectionGroup		contains=texSubSectionZone,texParaZone223 syn cluster texSubSectionGroup		contains=texSubSubSectionZone,texParaZone224 syn cluster texSubSubSectionGroup	contains=texParaZone225 syn cluster texParaGroup		contains=texSubParaZone226 if has("conceal") && &enc == 'utf-8'227  syn cluster texMathZoneGroup		add=texGreek,texSuperscript,texSubscript,texMathSymbol228  syn cluster texMathMatchGroup		add=texGreek,texSuperscript,texSubscript,texMathSymbol229 endif230endif231 232" Try to flag {}, [], and () mismatches: {{{1233if s:tex_fast =~# 'm'234  if !s:tex_no_error235   if s:tex_matchcheck =~ '{'236    syn region texMatcher	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup,texError237    syn region texMatcherNM	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup,texError238   endif239   if s:tex_matchcheck =~ '\['240    syn region texMatcher	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchGroup,texError,@NoSpell241    syn region texMatcherNM	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchNMGroup,texError,@NoSpell242   endif243  else244   if s:tex_matchcheck =~ '{'245    syn region texMatcher	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup246    syn region texMatcherNM	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup247   endif248   if s:tex_matchcheck =~ '\['249    syn region texMatcher	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchGroup250    syn region texMatcherNM	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchNMGroup251   endif252  endif253  if s:tex_matchcheck =~ '('254   if !s:tex_nospell255    syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup,@Spell256   else257    syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup258   endif259  endif260endif261if !s:tex_no_error262 if s:tex_matchcheck =~ '('263  syn match  texError		"[}\]]"264 else265  syn match  texError		"[}\])]"266 endif267endif268if s:tex_fast =~# 'M'269  if !exists("g:tex_no_math")270   if !s:tex_no_error271    syn match  texMathError	"}"	contained272   endif273   syn region texMathMatcher	matchgroup=texDelimiter	start="{"          skip="\%(\\\\\)*\\}"     end="}" end="%stopzone\>"	contained contains=@texMathMatchGroup274  endif275endif276 277" TeX/LaTeX keywords: {{{1278" Instead of trying to be All Knowing, I just match \..alphameric..279" Note that *.tex files may not have "@" in their \commands280if exists("g:tex_tex") || b:tex_stylish281  syn match texStatement	"\\[a-zA-Z@]\+"282else283  syn match texStatement	"\\\a\+"284  if !s:tex_no_error285   syn match texError		"\\\a*@[a-zA-Z@]*"286  endif287endif288 289" TeX/LaTeX delimiters: {{{1290syn match texDelimiter		"&"291syn match texDelimiter		"\\\\"292 293" Tex/Latex Options: {{{1294syn match texOption		"[^\\]\zs#[1-9]\|^#[1-9]"295 296" texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1297if b:tex_stylish298  syn match texAccent		"\\[bcdvuH][^a-zA-Z@]"me=e-1299  syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1300else301  syn match texAccent		"\\[bcdvuH]\A"me=e-1302  syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)\A"me=e-1303endif304syn match texAccent		"\\[bcdvuH]$"305syn match texAccent		+\\[=^.\~"`']+306syn match texAccent		+\\['=t'.c^ud"vb~Hr]{\a}+307syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"308 309 310" \begin{}/\end{} section markers: {{{1311syn match  texBeginEnd		"\\begin\>\|\\end\>" nextgroup=texBeginEndName312if s:tex_fast =~# 'm'313  syn region texBeginEndName		matchgroup=texDelimiter	start="{"		end="}"	contained	nextgroup=texBeginEndModifier	contains=texComment314  syn region texBeginEndModifier	matchgroup=texDelimiter	start="\["		end="]"	contained	contains=texComment,@texMathZones,@NoSpell315endif316 317" \documentclass, \documentstyle, \usepackage: {{{1318syn match  texDocType		"\\documentclass\>\|\\documentstyle\>\|\\usepackage\>"	nextgroup=texBeginEndName,texDocTypeArgs319if s:tex_fast =~# 'm'320  syn region texDocTypeArgs	matchgroup=texDelimiter start="\[" end="]"			contained	nextgroup=texBeginEndName	contains=texComment,@NoSpell321endif322 323" Preamble syntax-based folding support: {{{1324if s:tex_fold_enabled && has("folding")325 syn region texPreamble	transparent fold	start='\zs\\documentclass\>' end='\ze\\begin{document}'	contains=texStyle,@texPreambleMatchGroup326endif327 328" TeX input: {{{1329syn match texInput		"\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7				contains=texStatement330syn match texInputFile		"\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}"	contains=texStatement,texInputCurlies,texInputFileOpt331syn match texInputFile		"\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}"		contains=texStatement,texInputCurlies,texInputFileOpt332syn match texInputCurlies	"[{}]"								contained333if s:tex_fast =~# 'm'334 syn region texInputFileOpt	matchgroup=texDelimiter start="\[" end="\]"			contained	contains=texComment335endif336 337" Type Styles (LaTeX 2.09): {{{1338syn match texTypeStyle		"\\rm\>"339syn match texTypeStyle		"\\em\>"340syn match texTypeStyle		"\\bf\>"341syn match texTypeStyle		"\\it\>"342syn match texTypeStyle		"\\sl\>"343syn match texTypeStyle		"\\sf\>"344syn match texTypeStyle		"\\sc\>"345syn match texTypeStyle		"\\tt\>"346 347" Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1348if s:tex_conceal !~# 'b'349 syn match texTypeStyle		"\\textbf\>"350 syn match texTypeStyle		"\\textit\>"351 syn match texTypeStyle		"\\emph\>"352endif353syn match texTypeStyle		"\\textmd\>"354syn match texTypeStyle		"\\textrm\>"355 356syn match texTypeStyle		"\\mathbf\>"357syn match texTypeStyle		"\\mathcal\>"358syn match texTypeStyle		"\\mathit\>"359syn match texTypeStyle		"\\mathnormal\>"360syn match texTypeStyle		"\\mathrm\>"361syn match texTypeStyle		"\\mathsf\>"362syn match texTypeStyle		"\\mathtt\>"363 364syn match texTypeStyle		"\\rmfamily\>"365syn match texTypeStyle		"\\sffamily\>"366syn match texTypeStyle		"\\ttfamily\>"367 368syn match texTypeStyle		"\\itshape\>"369syn match texTypeStyle		"\\scshape\>"370syn match texTypeStyle		"\\slshape\>"371syn match texTypeStyle		"\\upshape\>"372 373syn match texTypeStyle		"\\bfseries\>"374syn match texTypeStyle		"\\mdseries\>"375 376" Some type sizes: {{{1377syn match texTypeSize		"\\tiny\>"378syn match texTypeSize		"\\scriptsize\>"379syn match texTypeSize		"\\footnotesize\>"380syn match texTypeSize		"\\small\>"381syn match texTypeSize		"\\normalsize\>"382syn match texTypeSize		"\\large\>"383syn match texTypeSize		"\\Large\>"384syn match texTypeSize		"\\LARGE\>"385syn match texTypeSize		"\\huge\>"386syn match texTypeSize		"\\Huge\>"387 388" Spacecodes (TeX'isms): {{{1389" \mathcode`\^^@="2201  \delcode`\(="028300  \sfcode`\)=0 \uccode`X=`X  \lccode`x=`x390syn match texSpaceCode		"\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=texSpaceCodeChar391syn match texSpaceCodeChar    "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)"	contained392 393" Sections, subsections, etc: {{{1394if s:tex_fast =~# 'p'395 if !s:tex_nospell396  TexFold syn region texDocZone			matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'											contains=@texFoldGroup,@texDocGroup,@Spell397  TexFold syn region texPartZone		matchgroup=texSection start='\\part\>'			 end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'								contains=@texFoldGroup,@texPartGroup,@Spell398  TexFold syn region texChapterZone		matchgroup=texSection start='\\chapter\>'		 end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'							contains=@texFoldGroup,@texChapterGroup,@Spell399  TexFold syn region texSectionZone		matchgroup=texSection start='\\section\>'		 end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'					contains=@texFoldGroup,@texSectionGroup,@Spell400  TexFold syn region texSubSectionZone		matchgroup=texSection start='\\subsection\>'		 end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSectionGroup,@Spell401  TexFold syn region texSubSubSectionZone	matchgroup=texSection start='\\subsubsection\>'		 end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSubSectionGroup,@Spell402  TexFold syn region texParaZone		matchgroup=texSection start='\\paragraph\>'		 end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'			contains=@texFoldGroup,@texParaGroup,@Spell403  TexFold syn region texSubParaZone		matchgroup=texSection start='\\subparagraph\>'		 end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'	contains=@texFoldGroup,@Spell404  TexFold syn region texTitle			matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'													contains=@texFoldGroup,@Spell405  TexFold syn region texAbstract		matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'											contains=@texFoldGroup,@Spell406 else407  TexFold syn region texDocZone			matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'											contains=@texFoldGroup,@texDocGroup408  TexFold syn region texPartZone		matchgroup=texSection start='\\part\>'			 end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'								contains=@texFoldGroup,@texPartGroup409  TexFold syn region texChapterZone		matchgroup=texSection start='\\chapter\>'		 end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'							contains=@texFoldGroup,@texChapterGroup410  TexFold syn region texSectionZone		matchgroup=texSection start='\\section\>'		 end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'					contains=@texFoldGroup,@texSectionGroup411  TexFold syn region texSubSectionZone		matchgroup=texSection start='\\subsection\>'		 end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSectionGroup412  TexFold syn region texSubSubSectionZone	matchgroup=texSection start='\\subsubsection\>'		 end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSubSectionGroup413  TexFold syn region texParaZone		matchgroup=texSection start='\\paragraph\>'		 end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'			contains=@texFoldGroup,@texParaGroup414  TexFold syn region texSubParaZone		matchgroup=texSection start='\\subparagraph\>'		 end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'	contains=@texFoldGroup415  TexFold syn region texTitle			matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'													contains=@texFoldGroup416  TexFold syn region texAbstract		matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'											contains=@texFoldGroup417  endif418endif419 420" particular support for bold and italic {{{1421if s:tex_fast =~# 'b'422  if s:tex_conceal =~# 'b'423   if !exists("g:tex_nospell") || !g:tex_nospell424    syn region texBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell425    syn region texBoldItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell426    syn region texItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell427    syn region texItalBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell428    syn region texEmphStyle	matchgroup=texTypeStyle start="\\emph\s*{"   matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell429    syn region texEmphStyle	matchgroup=texTypeStyle start="\\texts[cfl]\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell430    syn region texEmphStyle	matchgroup=texTypeStyle start="\\textup\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell431    syn region texEmphStyle	matchgroup=texTypeStyle start="\\texttt\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell432   else433    syn region texBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup434    syn region texBoldItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup435    syn region texItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup436    syn region texItalBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup437    syn region texEmphStyle	matchgroup=texTypeStyle start="\\emph\s*{"   matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup438    syn region texEmphStyle	matchgroup=texTypeStyle start="\\texts[cfl]\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup439    syn region texEmphStyle	matchgroup=texTypeStyle start="\\textup\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup440    syn region texEmphStyle	matchgroup=texTypeStyle start="\\texttt\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup441   endif442  endif443endif444 445" Bad Math (mismatched): {{{1446if !exists("g:tex_no_math") && !s:tex_no_error447 syn match texBadMath		"\\end\s*{\s*\(array\|[bBpvV]matrix\|split\|smallmatrix\)\s*}"448 syn match texBadMath		"\\end\s*{\s*\(align\|alignat\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\)\*\=\s*}"449 syn match texBadMath		"\\[\])]"450 syn match texBadPar	contained  "\%(\\par\>\|^\s*\n.\)"451endif452 453" Math Zones: {{{1454if !exists("g:tex_no_math")455 " TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2456 "                 Starred forms are created if starform is true.  Starred457 "                 forms have syntax group and synchronization groups with a458 "                 "S" appended.  Handles: cluster, syntax, sync, and highlighting.459 fun! TexNewMathZone(sfx,mathzone,starform)460   let grpname  = "texMathZone".a:sfx461   let syncname = "texSyncMathZone".a:sfx462   if s:tex_fold_enabled463    let foldcmd= " fold"464   else465    let foldcmd= ""466   endif467   exe "syn cluster texMathZones add=".grpname468   if s:tex_fast =~# 'M'469    exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd470    exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'471    exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'472   endif473   exe 'hi def link '.grpname.' texMath'474   if a:starform475    let grpname  = "texMathZone".a:sfx.'S'476    let syncname = "texSyncMathZone".a:sfx.'S'477    exe "syn cluster texMathZones add=".grpname478    if s:tex_fast =~# 'M'479     exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd480     exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'481     exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'482    endif483    exe 'hi def link '.grpname.' texMath'484   endif485 endfun486 487 " Standard Math Zones: {{{2488 call TexNewMathZone("A","displaymath",1)489 call TexNewMathZone("B","eqnarray",1)490 call TexNewMathZone("C","equation",1)491 call TexNewMathZone("D","math",1)492 call TexNewMathZone("E","align",1)493 call TexNewMathZone("F","alignat",1)494 call TexNewMathZone("G","flalign",1)495 call TexNewMathZone("H","gather",1)496 call TexNewMathZone("I","multline",1)497 498 " Inline Math Zones: {{{2499 if s:tex_fast =~# 'M'500  if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'd'501   syn region texMathZoneV	matchgroup=texDelimiter start="\\("			matchgroup=texDelimiter	end="\\)\|%stopzone\>"			keepend concealends contains=@texMathZoneGroup502   syn region texMathZoneW	matchgroup=texDelimiter start="\\\["			matchgroup=texDelimiter	end="\\]\|%stopzone\>"			keepend concealends contains=@texMathZoneGroup503   syn region texMathZoneX	matchgroup=texDelimiter start="\$" skip="\\\\\|\\\$"	matchgroup=texDelimiter	end="\$"	end="%stopzone\>"		concealends contains=@texMathZoneGroup504   syn region texMathZoneY	matchgroup=texDelimiter start="\$\$" 			matchgroup=texDelimiter	end="\$\$"	end="%stopzone\>"	keepend concealends contains=@texMathZoneGroup505  else506   syn region texMathZoneV	matchgroup=texDelimiter start="\\("			matchgroup=texDelimiter	end="\\)\|%stopzone\>"			keepend contains=@texMathZoneGroup507   syn region texMathZoneW	matchgroup=texDelimiter start="\\\["			matchgroup=texDelimiter	end="\\]\|%stopzone\>"			keepend contains=@texMathZoneGroup508   syn region texMathZoneX	matchgroup=texDelimiter start="\$" skip="\%(\\\\\)*\\\$"	matchgroup=texDelimiter	end="\$"	end="%stopzone\>"		contains=@texMathZoneGroup509   syn region texMathZoneY	matchgroup=texDelimiter start="\$\$" 			matchgroup=texDelimiter	end="\$\$"	end="%stopzone\>"	keepend	contains=@texMathZoneGroup510  endif511  syn region texMathZoneZ	matchgroup=texStatement start="\\ensuremath\s*{"	matchgroup=texStatement	end="}"		end="%stopzone\>"	contains=@texMathZoneGroup512 endif513 514 syn match texMathOper		"[_^=]" contained515 516 " Text Inside Math Zones: {{{2517 if s:tex_fast =~# 'M'518  if !exists("g:tex_nospell") || !g:tex_nospell519   syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'	end='}'	contains=@texFoldGroup,@Spell520  else521   syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'	end='}'	contains=@texFoldGroup522  endif523 endif524 525 " \left..something.. and \right..something.. support: {{{2526 syn match   texMathDelimBad	contained		"\S"527 if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'm'528  syn match   texMathDelim	contained		"\\left\["529  syn match   texMathDelim	contained		"\\left\\{"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={530  syn match   texMathDelim	contained		"\\right\\}"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=}531  let s:texMathDelimList=[532     \ ['<'            , '<'] ,533     \ ['>'            , '>'] ,534     \ ['('            , '('] ,535     \ [')'            , ')'] ,536     \ ['\['           , '['] ,537     \ [']'            , ']'] ,538     \ ['\\{'          , '{'] ,539     \ ['\\}'          , '}'] ,540     \ ['|'            , '|'] ,541     \ ['\\|'          , '‖'] ,542     \ ['\\backslash'  , '\'] ,543     \ ['\\downarrow'  , '↓'] ,544     \ ['\\Downarrow'  , '⇓'] ,545     \ ['\\lbrace'     , '['] ,546     \ ['\\lceil'      , '⌈'] ,547     \ ['\\lfloor'     , '⌊'] ,548     \ ['\\lgroup'     , '⌊'] ,549     \ ['\\lmoustache' , '⎛'] ,550     \ ['\\rbrace'     , ']'] ,551     \ ['\\rceil'      , '⌉'] ,552     \ ['\\rfloor'     , '⌋'] ,553     \ ['\\rgroup'     , '⌋'] ,554     \ ['\\rmoustache' , '⎞'] ,555     \ ['\\uparrow'    , '↑'] ,556     \ ['\\Uparrow'    , '↑'] ,557     \ ['\\updownarrow', '↕'] ,558     \ ['\\Updownarrow', '⇕']]559  if &ambw == "double" || exists("g:tex_usedblwidth")560    let s:texMathDelimList= s:texMathDelimList + [561     \ ['\\langle'     , '〈'] ,562     \ ['\\rangle'     , '〉']]563  else564    let s:texMathDelimList= s:texMathDelimList + [565     \ ['\\langle'     , '<'] ,566     \ ['\\rangle'     , '>']]567  endif568  syn match texMathDelim	'\\[bB]igg\=[lr]' contained nextgroup=texMathDelimBad569  for texmath in s:texMathDelimList570   exe "syn match texMathDelim	'\\\\[bB]igg\\=[lr]\\=".texmath[0]."'	contained conceal cchar=".texmath[1]571  endfor572 573 else574  syn match   texMathDelim	contained		"\\\(left\|right\)\>"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad575  syn match   texMathDelim	contained		"\\[bB]igg\=[lr]\=\>"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad576  syn match   texMathDelimSet2	contained	"\\"		nextgroup=texMathDelimKey,texMathDelimBad577  syn match   texMathDelimSet1	contained	"[<>()[\]|/.]\|\\[{}|]"578  syn keyword texMathDelimKey	contained	backslash       lceil           lVert           rgroup          uparrow579  syn keyword texMathDelimKey	contained	downarrow       lfloor          rangle          rmoustache      Uparrow580  syn keyword texMathDelimKey	contained	Downarrow       lgroup          rbrace          rvert           updownarrow581  syn keyword texMathDelimKey	contained	langle          lmoustache      rceil           rVert           Updownarrow582  syn keyword texMathDelimKey	contained	lbrace          lvert           rfloor583 endif584 syn match   texMathDelim	contained		"\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>"585 syn match   texMathDelim	contained		"\\lefteqn\>"586endif587 588" Special TeX characters  ( \$ \& \% \# \{ \} \_ \S \P ) : {{{1589syn match texSpecialChar	"\\[$&%#{}_]"590if b:tex_stylish591  syn match texSpecialChar	"\\[SP@][^a-zA-Z@]"me=e-1592else593  syn match texSpecialChar	"\\[SP@]\A"me=e-1594endif595syn match texSpecialChar	"\\\\"596if !exists("g:tex_no_math")597 syn match texOnlyMath		"[_^]"598endif599syn match texSpecialChar	"\^\^[0-9a-f]\{2}\|\^\^\S"600if s:tex_conceal !~# 'S'601 syn match texSpecialChar	'\\glq\>'	contained conceal cchar=‚602 syn match texSpecialChar	'\\grq\>'	contained conceal cchar=‘603 syn match texSpecialChar	'\\glqq\>'	contained conceal cchar=„604 syn match texSpecialChar	'\\grqq\>'	contained conceal cchar=“605 syn match texSpecialChar	'\\hyp\>'	contained conceal cchar=-606endif607 608" Comments: {{{1609"    Normal TeX LaTeX     :   %....610"    Documented TeX Format:  ^^A...	-and-	leading %s (only)611if !s:tex_comment_nospell612 syn cluster texCommentGroup	contains=texTodo,@Spell613else614 syn cluster texCommentGroup	contains=texTodo,@NoSpell615endif616syn case ignore617syn keyword texTodo		contained		combak	fixme	todo	xxx618syn case match619if s:extfname == "dtx"620 syn match texComment		"\^\^A.*$"	contains=@texCommentGroup621 syn match texComment		"^%\+"		contains=@texCommentGroup622else623 if s:tex_fold_enabled624  " allows syntax-folding of 2 or more contiguous comment lines625  " single-line comments are not folded626  syn match  texComment	"%.*$"				contains=@texCommentGroup627  if s:tex_fast =~# 'c'628   TexFold syn region texComment						start="^\zs\s*%.*\_s*%"	skip="^\s*%"	end='^\ze\s*[^%]'	contains=@texCommentGroup629   TexFold syn region texNoSpell	contained	matchgroup=texComment	start="%\s*nospell\s*{"	end="%\s*nospell\s*}"			contains=@texFoldGroup,@NoSpell630  endif631 else632  syn match texComment		"%.*$"			contains=@texCommentGroup633  if s:tex_fast =~# 'c'634   syn region texNoSpell		contained	matchgroup=texComment start="%\s*nospell\s*{"	end="%\s*nospell\s*}"	contains=@texFoldGroup,@NoSpell635  endif636 endif637endif638 639" %begin-include ... %end-include acts like a texDocZone for \include'd files.  Permits spell checking, for example, in such files.640if !s:tex_nospell641 TexFold syn region texDocZone			matchgroup=texSection start='^\s*%begin-include\>'	 end='^\s*%end-include\>'											contains=@texFoldGroup,@texDocGroup,@Spell642else643 TexFold syn region texDocZone			matchgroup=texSection start='^\s*%begin-include\>'	 end='^\s*%end-include\>'											contains=@texFoldGroup,@texDocGroup644endif645 646" Separate lines used for verb` and verb# so that the end conditions {{{1647" will appropriately terminate.648" If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.649if s:tex_fast =~# 'v'650  if exists("g:tex_verbspell") && g:tex_verbspell651   syn region texZone		start="\\begin{[vV]erbatim}"		end="\\end{[vV]erbatim}\|%stopzone\>"	contains=@Spell652   " listings package:653   if b:tex_stylish654    syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z@]\)"	end="\z1\|%stopzone\>"			contains=@Spell655   else656    syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z]\)"	end="\z1\|%stopzone\>"			contains=@Spell657   endif658  else659   syn region texZone		start="\\begin{[vV]erbatim}"		end="\\end{[vV]erbatim}\|%stopzone\>"660   if b:tex_stylish661     syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z@]\)"	end="\z1\|%stopzone\>"662   else663     syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z]\)"	end="\z1\|%stopzone\>"664   endif665  endif666endif667 668" Tex Reference Zones: {{{1669if s:tex_fast =~# 'r'670  syn region texZone		matchgroup=texStatement start="@samp{"			end="}\|%stopzone\>"	contains=@texRefGroup671  syn region texRefZone		matchgroup=texStatement start="\\nocite{"		end="}\|%stopzone\>"	contains=@texRefGroup672  syn region texRefZone		matchgroup=texStatement start="\\bibliography{"		end="}\|%stopzone\>"	contains=@texRefGroup673  syn region texRefZone		matchgroup=texStatement start="\\label{"		end="}\|%stopzone\>"	contains=@texRefGroup674  syn region texRefZone		matchgroup=texStatement start="\\\(page\|eq\)ref{"	end="}\|%stopzone\>"	contains=@texRefGroup675  syn region texRefZone		matchgroup=texStatement start="\\v\=ref{"		end="}\|%stopzone\>"	contains=@texRefGroup676  syn region texRefOption	contained	matchgroup=texDelimiter start='\[' end=']'		contains=@texRefGroup,texRefZone	nextgroup=texRefOption,texCite677  syn region texCite		contained	matchgroup=texDelimiter start='{' end='}'		contains=@texRefGroup,texRefZone,texCite678endif679syn match  texRefZone		'\\cite\%([tp]\*\=\)\=\>' nextgroup=texRefOption,texCite680 681" Handle (re)newcommand, providecommand, (re)newenvironment : {{{1682" EXAMPLE:683"684" The followings are valid (ignoring error due to redefinition):685"686" \newcommand{\foo}{body}687" \newcommand{\foo}[1]{#1}688" \newcommand{\foo}[1][def]{#1}689"690" The followings are ill-formed:691"692" \newcommand{\foo}{#1}		! Illegal parameter number in definition of \foo.693" \newcommand{\foo}[x]{…}	! Missing number, treated as zero.694" \newcommand{\foo}[10]{…}	! You already have nine parameters.695syn match  texNewCmd				"\\\%(\%(re\)\=new\|provide\)command\>\*\?"	nextgroup=texCmdName skipwhite skipnl696if s:tex_fast =~# 'V'697  syn region texCmdName contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		nextgroup=texCmdArgs,texCmdBody skipwhite skipnl698  syn region texCmdArgs contained matchgroup=texDelimiter start="\["rs=s+1 end="]"		nextgroup=texCmdDefaultPar,texCmdBody skipwhite skipnl699  syn region texCmdDefaultPar contained matchgroup=texDelimiter start="\["rs=s+1 end="]"	nextgroup=texCmdBody skipwhite skipnl700  syn region texCmdBody contained matchgroup=texDelimiter start="{"rs=s+1 skip="\\\\\|\\[{}]"	matchgroup=texDelimiter end="}" contains=@texCmdGroup701endif702" EXAMPLE:703"704" The followings are valid (ignoring error due to redefinition):705"706" \newenvironment{baz}{beg}{end}707" \newenvironment{baz}[1]{beg #1}{end}708" \newenvironment{baz}[1][default]{beg #1}{end}709"710" The followings are invalid:711"712" \newenvironment{baz}{#1}{…}		! Illegal parameter number in definition of \baz.713" \newenvironment{baz}[x]{…}{…}		! Missing number, treated as zero.714" \newenvironment{baz}[10]{…}{…}	! You already have nine parameters.715" \newenvironment{baz}[1]{…}{#1}	! Illegal parameter number in definition of \endbaz.716syn match  texNewEnv				"\\\%(re\)\=newenvironment\>\*\?"		nextgroup=texEnvName skipwhite skipnl717if s:tex_fast =~# 'V'718  syn region texEnvName contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		nextgroup=texEnvArgs,texEnvBgn skipwhite skipnl719  syn region texEnvArgs contained matchgroup=texDelimiter start="\["rs=s+1 end="]"		nextgroup=texEnvDefaultPar,texEnvBgn skipwhite skipnl720  syn region texEnvDefaultPar contained matchgroup=texDelimiter start="\["rs=s+1 end="]"	nextgroup=texEnvBgn skipwhite skipnl721  syn region texEnvBgn  contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup722  syn region texEnvEnd  contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		skipwhite skipnl contains=@texEnvGroup723endif724 725" Definitions/Commands: {{{1726syn match texDefCmd				"\\def\>"				nextgroup=texDefName skipwhite skipnl727if b:tex_stylish728  syn match texDefName contained		"\\[a-zA-Z@]\+"				nextgroup=texDefParms,texCmdBody skipwhite skipnl729  syn match texDefName contained		"\\[^a-zA-Z@]"				nextgroup=texDefParms,texCmdBody skipwhite skipnl730else731  syn match texDefName contained		"\\\a\+"				nextgroup=texDefParms,texCmdBody skipwhite skipnl732  syn match texDefName contained		"\\\A"					nextgroup=texDefParms,texCmdBody skipwhite skipnl733endif734syn match texDefParms  contained		"#[^{]*"	contains=texDefParm	nextgroup=texCmdBody skipwhite skipnl735syn match  texDefParm  contained		"#[1-9]"736 737" TeX Lengths: {{{1738syn match  texLength		"\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\|ex\|in\|mm\|pc\|pt\|sp\)\>"739 740" TeX String Delimiters: {{{1741syn match texString		"\(``\|''\|,,\)"742 743" makeatletter -- makeatother sections744if !s:tex_no_error745 if s:tex_fast =~# 'S'746  syn region texStyle			matchgroup=texStatement start='\\makeatletter' end='\\makeatother'	contains=@texStyleGroup contained747 endif748 syn match  texStyleStatement		"\\[a-zA-Z@]\+"	contained749 if s:tex_fast =~# 'S'750  syn region texStyleMatcher		matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"		contains=@texStyleGroup,texError	contained751  syn region texStyleMatcher		matchgroup=texDelimiter start="\["				end="]"		contains=@texStyleGroup,texError	contained752 endif753endif754 755" Conceal mode support (supports set cole=2) {{{1756if has("conceal") && &enc == 'utf-8'757 758 " Math Symbols {{{2759 " (many of these symbols were contributed by Björn Winckler)760 if s:tex_conceal =~# 'm'761  let s:texMathList=[762    \ ['|'		, '‖'],763    \ ['aleph'		, 'ℵ'],764    \ ['amalg'		, '∐'],765    \ ['angle'		, '∠'],766    \ ['approx'		, '≈'],767    \ ['ast'		, '∗'],768    \ ['asymp'		, '≍'],769    \ ['backslash'	, '∖'],770    \ ['bigcap'		, '∩'],771    \ ['bigcirc'	, '○'],772    \ ['bigcup'		, '∪'],773    \ ['bigodot'	, '⊙'],774    \ ['bigoplus'	, '⊕'],775    \ ['bigotimes'	, '⊗'],776    \ ['bigsqcup'	, '⊔'],777    \ ['bigtriangledown', '∇'],778    \ ['bigtriangleup'	, '∆'],779    \ ['bigvee'		, '⋁'],780    \ ['bigwedge'	, '⋀'],781    \ ['bot'		, '⊥'],782    \ ['bowtie'	        , '⋈'],783    \ ['bullet'	        , '•'],784    \ ['cap'		, '∩'],785    \ ['cdot'		, '·'],786    \ ['cdots'		, '⋯'],787    \ ['circ'		, '∘'],788    \ ['clubsuit'	, '♣'],789    \ ['cong'		, '≅'],790    \ ['coprod'		, '∐'],791    \ ['copyright'	, '©'],792    \ ['cup'		, '∪'],793    \ ['dagger'	        , '†'],794    \ ['dashv'		, '⊣'],795    \ ['ddagger'	, '‡'],796    \ ['ddots'	        , '⋱'],797    \ ['diamond'	, '⋄'],798    \ ['diamondsuit'	, '♢'],799    \ ['div'		, '÷'],800    \ ['doteq'		, '≐'],801    \ ['dots'		, '…'],802    \ ['downarrow'	, '↓'],803    \ ['Downarrow'	, '⇓'],804    \ ['ell'		, 'ℓ'],805    \ ['emptyset'	, '∅'],806    \ ['equiv'		, '≡'],807    \ ['exists'		, '∃'],808    \ ['flat'		, '♭'],809    \ ['forall'		, '∀'],810    \ ['frown'		, '⁔'],811    \ ['ge'		, '≥'],812    \ ['geq'		, '≥'],813    \ ['gets'		, '←'],814    \ ['gg'		, '⟫'],815    \ ['hbar'		, 'ℏ'],816    \ ['heartsuit'	, '♡'],817    \ ['hookleftarrow'	, '↩'],818    \ ['hookrightarrow'	, '↪'],819    \ ['iff'            , '⇔'],820    \ ['Im'		, 'ℑ'],821    \ ['imath'		, 'ɩ'],822    \ ['in'		, '∈'],823    \ ['infty'		, '∞'],824    \ ['int'		, '∫'],825    \ ['jmath'		, '𝚥'],826    \ ['land'		, '∧'],827    \ ['lceil'		, '⌈'],828    \ ['ldots'		, '…'],829    \ ['le'		, '≤'],830    \ ['left|'		, '|'],831    \ ['left\\|'	, '‖'],832    \ ['left('		, '('],833    \ ['left\['		, '['],834    \ ['left\\{'	, '{'],835    \ ['leftarrow'	, '←'],836    \ ['Leftarrow'	, '⇐'],837    \ ['leftharpoondown', '↽'],838    \ ['leftharpoonup'	, '↼'],839    \ ['leftrightarrow'	, '↔'],840    \ ['Leftrightarrow'	, '⇔'],841    \ ['leq'		, '≤'],842    \ ['leq'		, '≤'],843    \ ['lfloor'		, '⌊'],844    \ ['ll'		, '≪'],845    \ ['lmoustache'     , '╭'],846    \ ['lor'		, '∨'],847    \ ['mapsto'		, '↦'],848    \ ['mid'		, '∣'],849    \ ['models'		, '╞'],850    \ ['mp'		, '∓'],851    \ ['nabla'		, '∇'],852    \ ['natural'	, '♮'],853    \ ['ne'		, '≠'],854    \ ['nearrow'	, '↗'],855    \ ['neg'		, '¬'],856    \ ['neq'		, '≠'],857    \ ['ni'		, '∋'],858    \ ['notin'		, '∉'],859    \ ['nwarrow'	, '↖'],860    \ ['odot'		, '⊙'],861    \ ['oint'		, '∮'],862    \ ['ominus'		, '⊖'],863    \ ['oplus'		, '⊕'],864    \ ['oslash'		, '⊘'],865    \ ['otimes'		, '⊗'],866    \ ['owns'		, '∋'],867    \ ['P'	        , '¶'],868    \ ['parallel'	, '║'],869    \ ['partial'	, '∂'],870    \ ['perp'		, '⊥'],871    \ ['pm'		, '±'],872    \ ['prec'		, '≺'],873    \ ['preceq'		, '⪯'],874    \ ['prime'		, '′'],875    \ ['prod'		, '∏'],876    \ ['propto'		, '∝'],877    \ ['rceil'		, '⌉'],878    \ ['Re'		, 'ℜ'],879    \ ['quad'		, ' '],880    \ ['qquad'		, ' '],881    \ ['rfloor'		, '⌋'],882    \ ['right|'		, '|'],883    \ ['right\\|'	, '‖'],884    \ ['right)'		, ')'],885    \ ['right]'		, ']'],886    \ ['right\\}'	, '}'],887    \ ['rightarrow'	, '→'],888    \ ['Rightarrow'	, '⇒'],889    \ ['rightleftharpoons', '⇌'],890    \ ['rmoustache'     , '╮'],891    \ ['S'	        , '§'],892    \ ['searrow'	, '↘'],893    \ ['setminus'	, '∖'],894    \ ['sharp'		, '♯'],895    \ ['sim'		, '∼'],896    \ ['simeq'		, '⋍'],897    \ ['smile'		, '‿'],898    \ ['spadesuit'	, '♠'],899    \ ['sqcap'		, '⊓'],900    \ ['sqcup'		, '⊔'],901    \ ['sqsubset'	, '⊏'],902    \ ['sqsubseteq'	, '⊑'],903    \ ['sqsupset'	, '⊐'],904    \ ['sqsupseteq'	, '⊒'],905    \ ['star'		, '✫'],906    \ ['subset'		, '⊂'],907    \ ['subseteq'	, '⊆'],908    \ ['succ'		, '≻'],909    \ ['succeq'		, '⪰'],910    \ ['sum'		, '∑'],911    \ ['supset'		, '⊃'],912    \ ['supseteq'	, '⊇'],913    \ ['surd'		, '√'],914    \ ['swarrow'	, '↙'],915    \ ['times'		, '×'],916    \ ['to'		, '→'],917    \ ['top'		, '⊤'],918    \ ['triangle'	, '∆'],919    \ ['triangleleft'	, '⊲'],920    \ ['triangleright'	, '⊳'],921    \ ['uparrow'	, '↑'],922    \ ['Uparrow'	, '⇑'],923    \ ['updownarrow'	, '↕'],924    \ ['Updownarrow'	, '⇕'],925    \ ['vdash'		, '⊢'],926    \ ['vdots'		, '⋮'],927    \ ['vee'		, '∨'],928    \ ['wedge'		, '∧'],929    \ ['wp'		, '℘'],930    \ ['wr'		, '≀']]931  if &ambw == "double" || exists("g:tex_usedblwidth")932    let s:texMathList= s:texMathList + [933    \ ['right\\rangle'	, '〉'],934    \ ['left\\langle'	, '〈']]935  else936    let s:texMathList= s:texMathList + [937    \ ['right\\rangle'	, '>'],938    \ ['left\\langle'	, '<']]939  endif940  for texmath in s:texMathList941   if texmath[0] =~# '\w$'942    exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1]943   else944    exe "syn match texMathSymbol '\\\\".texmath[0]."' contained conceal cchar=".texmath[1]945   endif946  endfor947 948  if &ambw == "double"949   syn match texMathSymbol '\\gg\>'			contained conceal cchar=≫950   syn match texMathSymbol '\\ll\>'			contained conceal cchar=≪951  else952   syn match texMathSymbol '\\gg\>'			contained conceal cchar=⟫953   syn match texMathSymbol '\\ll\>'			contained conceal cchar=⟪954  endif955 956  syn match texMathSymbol '\\hat{a}' contained conceal cchar=â957  syn match texMathSymbol '\\hat{A}' contained conceal cchar=Â958  syn match texMathSymbol '\\hat{c}' contained conceal cchar=ĉ959  syn match texMathSymbol '\\hat{C}' contained conceal cchar=Ĉ960  syn match texMathSymbol '\\hat{e}' contained conceal cchar=ê961  syn match texMathSymbol '\\hat{E}' contained conceal cchar=Ê962  syn match texMathSymbol '\\hat{g}' contained conceal cchar=ĝ963  syn match texMathSymbol '\\hat{G}' contained conceal cchar=Ĝ964  syn match texMathSymbol '\\hat{i}' contained conceal cchar=î965  syn match texMathSymbol '\\hat{I}' contained conceal cchar=Î966  syn match texMathSymbol '\\hat{o}' contained conceal cchar=ô967  syn match texMathSymbol '\\hat{O}' contained conceal cchar=Ô968  syn match texMathSymbol '\\hat{s}' contained conceal cchar=ŝ969  syn match texMathSymbol '\\hat{S}' contained conceal cchar=Ŝ970  syn match texMathSymbol '\\hat{u}' contained conceal cchar=û971  syn match texMathSymbol '\\hat{U}' contained conceal cchar=Û972  syn match texMathSymbol '\\hat{w}' contained conceal cchar=ŵ973  syn match texMathSymbol '\\hat{W}' contained conceal cchar=Ŵ974  syn match texMathSymbol '\\hat{y}' contained conceal cchar=ŷ975  syn match texMathSymbol '\\hat{Y}' contained conceal cchar=Ŷ976"  syn match texMathSymbol '\\bar{a}' contained conceal cchar=a̅977 978  syn match texMathSymbol '\\dot{B}' contained conceal cchar=Ḃ979  syn match texMathSymbol '\\dot{b}' contained conceal cchar=ḃ980  syn match texMathSymbol '\\dot{D}' contained conceal cchar=Ḋ981  syn match texMathSymbol '\\dot{d}' contained conceal cchar=ḋ982  syn match texMathSymbol '\\dot{F}' contained conceal cchar=Ḟ983  syn match texMathSymbol '\\dot{f}' contained conceal cchar=ḟ984  syn match texMathSymbol '\\dot{H}' contained conceal cchar=Ḣ985  syn match texMathSymbol '\\dot{h}' contained conceal cchar=ḣ986  syn match texMathSymbol '\\dot{M}' contained conceal cchar=Ṁ987  syn match texMathSymbol '\\dot{m}' contained conceal cchar=ṁ988  syn match texMathSymbol '\\dot{N}' contained conceal cchar=Ṅ989  syn match texMathSymbol '\\dot{n}' contained conceal cchar=ṅ990  syn match texMathSymbol '\\dot{P}' contained conceal cchar=Ṗ991  syn match texMathSymbol '\\dot{p}' contained conceal cchar=ṗ992  syn match texMathSymbol '\\dot{R}' contained conceal cchar=Ṙ993  syn match texMathSymbol '\\dot{r}' contained conceal cchar=ṙ994  syn match texMathSymbol '\\dot{S}' contained conceal cchar=Ṡ995  syn match texMathSymbol '\\dot{s}' contained conceal cchar=ṡ996  syn match texMathSymbol '\\dot{T}' contained conceal cchar=Ṫ997  syn match texMathSymbol '\\dot{t}' contained conceal cchar=ṫ998  syn match texMathSymbol '\\dot{W}' contained conceal cchar=Ẇ999  syn match texMathSymbol '\\dot{w}' contained conceal cchar=ẇ1000  syn match texMathSymbol '\\dot{X}' contained conceal cchar=Ẋ1001  syn match texMathSymbol '\\dot{x}' contained conceal cchar=ẋ1002  syn match texMathSymbol '\\dot{Y}' contained conceal cchar=Ẏ1003  syn match texMathSymbol '\\dot{y}' contained conceal cchar=ẏ1004  syn match texMathSymbol '\\dot{Z}' contained conceal cchar=Ż1005  syn match texMathSymbol '\\dot{z}' contained conceal cchar=ż1006 1007  syn match texMathSymbol '\\dot{C}' contained conceal cchar=Ċ1008  syn match texMathSymbol '\\dot{c}' contained conceal cchar=ċ1009  syn match texMathSymbol '\\dot{E}' contained conceal cchar=Ė1010  syn match texMathSymbol '\\dot{e}' contained conceal cchar=ė1011  syn match texMathSymbol '\\dot{G}' contained conceal cchar=Ġ1012  syn match texMathSymbol '\\dot{g}' contained conceal cchar=ġ1013  syn match texMathSymbol '\\dot{I}' contained conceal cchar=İ1014 1015  syn match texMathSymbol '\\dot{A}' contained conceal cchar=Ȧ1016  syn match texMathSymbol '\\dot{a}' contained conceal cchar=ȧ1017  syn match texMathSymbol '\\dot{O}' contained conceal cchar=Ȯ1018  syn match texMathSymbol '\\dot{o}' contained conceal cchar=ȯ1019 endif1020 1021 " Greek {{{21022 if s:tex_conceal =~# 'g'1023  fun! s:Greek(group,pat,cchar)1024    exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar1025  endfun1026  call s:Greek('texGreek','\\alpha\>'		,'α')1027  call s:Greek('texGreek','\\beta\>'		,'β')1028  call s:Greek('texGreek','\\gamma\>'		,'γ')1029  call s:Greek('texGreek','\\delta\>'		,'δ')1030  call s:Greek('texGreek','\\epsilon\>'		,'ϵ')1031  call s:Greek('texGreek','\\varepsilon\>'	,'ε')1032  call s:Greek('texGreek','\\zeta\>'		,'ζ')1033  call s:Greek('texGreek','\\eta\>'		,'η')1034  call s:Greek('texGreek','\\theta\>'		,'θ')1035  call s:Greek('texGreek','\\vartheta\>'	,'ϑ')1036  call s:Greek('texGreek','\\iota\>'            ,'ι')1037  call s:Greek('texGreek','\\kappa\>'		,'κ')1038  call s:Greek('texGreek','\\lambda\>'		,'λ')1039  call s:Greek('texGreek','\\mu\>'		,'μ')1040  call s:Greek('texGreek','\\nu\>'		,'ν')1041  call s:Greek('texGreek','\\xi\>'		,'ξ')1042  call s:Greek('texGreek','\\pi\>'		,'π')1043  call s:Greek('texGreek','\\varpi\>'		,'ϖ')1044  call s:Greek('texGreek','\\rho\>'		,'ρ')1045  call s:Greek('texGreek','\\varrho\>'		,'ϱ')1046  call s:Greek('texGreek','\\sigma\>'		,'σ')1047  call s:Greek('texGreek','\\varsigma\>'	,'ς')1048  call s:Greek('texGreek','\\tau\>'		,'τ')1049  call s:Greek('texGreek','\\upsilon\>'		,'υ')1050  call s:Greek('texGreek','\\phi\>'		,'ϕ')1051  call s:Greek('texGreek','\\varphi\>'		,'φ')1052  call s:Greek('texGreek','\\chi\>'		,'χ')1053  call s:Greek('texGreek','\\psi\>'		,'ψ')1054  call s:Greek('texGreek','\\omega\>'		,'ω')1055  call s:Greek('texGreek','\\Gamma\>'		,'Γ')1056  call s:Greek('texGreek','\\Delta\>'		,'Δ')1057  call s:Greek('texGreek','\\Theta\>'		,'Θ')1058  call s:Greek('texGreek','\\Lambda\>'		,'Λ')1059  call s:Greek('texGreek','\\Xi\>'              ,'Ξ')1060  call s:Greek('texGreek','\\Pi\>'		,'Π')1061  call s:Greek('texGreek','\\Sigma\>'		,'Σ')1062  call s:Greek('texGreek','\\Upsilon\>'		,'Υ')1063  call s:Greek('texGreek','\\Phi\>'		,'Φ')1064  call s:Greek('texGreek','\\Chi\>'		,'Χ')1065  call s:Greek('texGreek','\\Psi\>'		,'Ψ')1066  call s:Greek('texGreek','\\Omega\>'		,'Ω')1067  delfun s:Greek1068 endif1069 1070 " Superscripts/Subscripts {{{21071 if s:tex_conceal =~# 's'1072  if s:tex_fast =~# 's'1073   syn region texSuperscript	matchgroup=texDelimiter start='\^{'	skip="\\\\\|\\[{}]" end='}'	contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher1074   syn region texSubscript	matchgroup=texDelimiter start='_{'		skip="\\\\\|\\[{}]" end='}'	contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher1075  endif1076  " s:SuperSub:1077  fun! s:SuperSub(group,leader,pat,cchar)1078    if a:pat =~# '^\\' || (a:leader == '\^' && a:pat =~# s:tex_superscripts) || (a:leader == '_' && a:pat =~# s:tex_subscripts)1079"     call Decho("SuperSub: group<".a:group."> leader<".a:leader."> pat<".a:pat."> cchar<".a:cchar.">")1080     exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar1081     exe 'syn match '.a:group."s '".a:pat        ."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'1082    endif1083  endfun1084  call s:SuperSub('texSuperscript','\^','0','⁰')1085  call s:SuperSub('texSuperscript','\^','1','¹')1086  call s:SuperSub('texSuperscript','\^','2','²')1087  call s:SuperSub('texSuperscript','\^','3','³')1088  call s:SuperSub('texSuperscript','\^','4','⁴')1089  call s:SuperSub('texSuperscript','\^','5','⁵')1090  call s:SuperSub('texSuperscript','\^','6','⁶')1091  call s:SuperSub('texSuperscript','\^','7','⁷')1092  call s:SuperSub('texSuperscript','\^','8','⁸')1093  call s:SuperSub('texSuperscript','\^','9','⁹')1094  call s:SuperSub('texSuperscript','\^','a','ᵃ')1095  call s:SuperSub('texSuperscript','\^','b','ᵇ')1096  call s:SuperSub('texSuperscript','\^','c','ᶜ')1097  call s:SuperSub('texSuperscript','\^','d','ᵈ')1098  call s:SuperSub('texSuperscript','\^','e','ᵉ')1099  call s:SuperSub('texSuperscript','\^','f','ᶠ')1100  call s:SuperSub('texSuperscript','\^','g','ᵍ')1101  call s:SuperSub('texSuperscript','\^','h','ʰ')1102  call s:SuperSub('texSuperscript','\^','i','ⁱ')1103  call s:SuperSub('texSuperscript','\^','j','ʲ')1104  call s:SuperSub('texSuperscript','\^','k','ᵏ')1105  call s:SuperSub('texSuperscript','\^','l','ˡ')1106  call s:SuperSub('texSuperscript','\^','m','ᵐ')1107  call s:SuperSub('texSuperscript','\^','n','ⁿ')1108  call s:SuperSub('texSuperscript','\^','o','ᵒ')1109  call s:SuperSub('texSuperscript','\^','p','ᵖ')1110  call s:SuperSub('texSuperscript','\^','r','ʳ')1111  call s:SuperSub('texSuperscript','\^','s','ˢ')1112  call s:SuperSub('texSuperscript','\^','t','ᵗ')1113  call s:SuperSub('texSuperscript','\^','u','ᵘ')1114  call s:SuperSub('texSuperscript','\^','v','ᵛ')1115  call s:SuperSub('texSuperscript','\^','w','ʷ')1116  call s:SuperSub('texSuperscript','\^','x','ˣ')1117  call s:SuperSub('texSuperscript','\^','y','ʸ')1118  call s:SuperSub('texSuperscript','\^','z','ᶻ')1119  call s:SuperSub('texSuperscript','\^','A','ᴬ')1120  call s:SuperSub('texSuperscript','\^','B','ᴮ')1121  call s:SuperSub('texSuperscript','\^','D','ᴰ')1122  call s:SuperSub('texSuperscript','\^','E','ᴱ')1123  call s:SuperSub('texSuperscript','\^','G','ᴳ')1124  call s:SuperSub('texSuperscript','\^','H','ᴴ')1125  call s:SuperSub('texSuperscript','\^','I','ᴵ')1126  call s:SuperSub('texSuperscript','\^','J','ᴶ')1127  call s:SuperSub('texSuperscript','\^','K','ᴷ')1128  call s:SuperSub('texSuperscript','\^','L','ᴸ')1129  call s:SuperSub('texSuperscript','\^','M','ᴹ')1130  call s:SuperSub('texSuperscript','\^','N','ᴺ')1131  call s:SuperSub('texSuperscript','\^','O','ᴼ')1132  call s:SuperSub('texSuperscript','\^','P','ᴾ')1133  call s:SuperSub('texSuperscript','\^','R','ᴿ')1134  call s:SuperSub('texSuperscript','\^','T','ᵀ')1135  call s:SuperSub('texSuperscript','\^','U','ᵁ')1136  call s:SuperSub('texSuperscript','\^','V','ⱽ')1137  call s:SuperSub('texSuperscript','\^','W','ᵂ')1138  call s:SuperSub('texSuperscript','\^',',','︐')1139  call s:SuperSub('texSuperscript','\^',':','︓')1140  call s:SuperSub('texSuperscript','\^',';','︔')1141  call s:SuperSub('texSuperscript','\^','+','⁺')1142  call s:SuperSub('texSuperscript','\^','-','⁻')1143  call s:SuperSub('texSuperscript','\^','<','˂')1144  call s:SuperSub('texSuperscript','\^','>','˃')1145  call s:SuperSub('texSuperscript','\^','/','ˊ')1146  call s:SuperSub('texSuperscript','\^','(','⁽')1147  call s:SuperSub('texSuperscript','\^',')','⁾')1148  call s:SuperSub('texSuperscript','\^','\.','˙')1149  call s:SuperSub('texSuperscript','\^','=','˭')1150  call s:SuperSub('texSubscript','_','0','₀')1151  call s:SuperSub('texSubscript','_','1','₁')1152  call s:SuperSub('texSubscript','_','2','₂')1153  call s:SuperSub('texSubscript','_','3','₃')1154  call s:SuperSub('texSubscript','_','4','₄')1155  call s:SuperSub('texSubscript','_','5','₅')1156  call s:SuperSub('texSubscript','_','6','₆')1157  call s:SuperSub('texSubscript','_','7','₇')1158  call s:SuperSub('texSubscript','_','8','₈')1159  call s:SuperSub('texSubscript','_','9','₉')1160  call s:SuperSub('texSubscript','_','a','ₐ')1161  call s:SuperSub('texSubscript','_','e','ₑ')1162  call s:SuperSub('texSubscript','_','h','ₕ')1163  call s:SuperSub('texSubscript','_','i','ᵢ')1164  call s:SuperSub('texSubscript','_','j','ⱼ')1165  call s:SuperSub('texSubscript','_','k','ₖ')1166  call s:SuperSub('texSubscript','_','l','ₗ')1167  call s:SuperSub('texSubscript','_','m','ₘ')1168  call s:SuperSub('texSubscript','_','n','ₙ')1169  call s:SuperSub('texSubscript','_','o','ₒ')1170  call s:SuperSub('texSubscript','_','p','ₚ')1171  call s:SuperSub('texSubscript','_','r','ᵣ')1172  call s:SuperSub('texSubscript','_','s','ₛ')1173  call s:SuperSub('texSubscript','_','t','ₜ')1174  call s:SuperSub('texSubscript','_','u','ᵤ')1175  call s:SuperSub('texSubscript','_','v','ᵥ')1176  call s:SuperSub('texSubscript','_','x','ₓ')1177  call s:SuperSub('texSubscript','_',',','︐')1178  call s:SuperSub('texSubscript','_','+','₊')1179  call s:SuperSub('texSubscript','_','-','₋')1180  call s:SuperSub('texSubscript','_','/','ˏ')1181  call s:SuperSub('texSubscript','_','(','₍')1182  call s:SuperSub('texSubscript','_',')','₎')1183  call s:SuperSub('texSubscript','_','\.','‸')1184  call s:SuperSub('texSubscript','_','r','ᵣ')1185  call s:SuperSub('texSubscript','_','v','ᵥ')1186  call s:SuperSub('texSubscript','_','x','ₓ')1187  call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ')1188  call s:SuperSub('texSubscript','_','\\delta\>','ᵨ')1189  call s:SuperSub('texSubscript','_','\\phi\>'  ,'ᵩ')1190  call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ')1191  call s:SuperSub('texSubscript','_','\\chi\>'  ,'ᵪ')1192 1193  delfun s:SuperSub1194 endif1195 1196 " Accented characters and Ligatures: {{{21197 if s:tex_conceal =~# 'a'1198  if b:tex_stylish1199   syn match texAccent		"\\[bcdvuH][^a-zA-Z@]"me=e-11200   syn match texLigature	"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1

Showing the first 1,200 of 1396 lines. Download the file for the rest.

codekingpro/portable-devtools · Team Ai