| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " Vim syntax file | 
					
						
							|  |  |  |  | " Language:	TeX | 
					
						
							| 
									
										
										
										
											2024-02-19 20:37:11 +01:00
										 |  |  |  | " Maintainer:	This runtime file is looking for a new maintainer. | 
					
						
							|  |  |  |  | " Former Maintainer: Charles E. Campbell | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  | " Last Change:	Apr 22, 2022 | 
					
						
							| 
									
										
										
										
											2025-01-18 18:09:38 +01:00
										 |  |  |  | "   2024 Feb 19 by Vim Project: announce adoption | 
					
						
							|  |  |  |  | "   2025 Jan 18 by Vim Project: add texEmphStyle to texMatchGroup, #16228 | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  | "   2025 Feb 08 by Vim Project: improve macro option, \providecommand,  | 
					
						
							|  |  |  |  | "                               \newcommand and \newenvironment #16543 | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  | " Version:	121 | 
					
						
							| 
									
										
										
										
											2024-02-19 20:37:11 +01:00
										 |  |  |  | " Former URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " | 
					
						
							|  |  |  |  | " Notes: {{{1 | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " 1. If you have a \begin{verbatim} that appears to overrun its boundaries, | 
					
						
							|  |  |  |  | "    use %stopzone. | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " 2. Run-on equations ($..$ and $$..$$, particularly) can also be stopped | 
					
						
							|  |  |  |  | "    by suitable use of %stopzone. | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " 3. If you have a slow computer, you may wish to modify | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | "	syn sync maxlines=200 | 
					
						
							|  |  |  |  | "	syn sync minlines=50 | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | "    to values that are more to your liking. | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " 4. There is no match-syncing for $...$ and $$...$$; hence large | 
					
						
							|  |  |  |  | "    equation blocks constructed that way may exhibit syncing problems. | 
					
						
							|  |  |  |  | "    (there's no difference between begin/end patterns) | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " 5. If you have the variable "g:tex_no_error" defined then none of the | 
					
						
							|  |  |  |  | "    lexical error-checking will be done. | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | "    ie. let g:tex_no_error=1 | 
					
						
							| 
									
										
										
										
											2014-03-22 21:02:50 +01:00
										 |  |  |  | " | 
					
						
							|  |  |  |  | " 6. Please see  :help latex-syntax  for information on | 
					
						
							|  |  |  |  | "      syntax folding           :help tex-folding | 
					
						
							|  |  |  |  | "      spell checking           :help tex-nospell | 
					
						
							|  |  |  |  | "      commands and mathzones   :help tex-runon | 
					
						
							|  |  |  |  | "      new command highlighting :help tex-morecommands | 
					
						
							|  |  |  |  | "      error highlighting       :help tex-error | 
					
						
							|  |  |  |  | "      new math groups          :help tex-math | 
					
						
							|  |  |  |  | "      new styles               :help tex-style | 
					
						
							|  |  |  |  | "      using conceal mode       :help tex-conceal | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " Version Clears: {{{1 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |   finish | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2011-10-20 22:22:38 +02:00
										 |  |  |  | let s:keepcpo= &cpo | 
					
						
							|  |  |  |  | set cpo&vim | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  | scriptencoding utf-8 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-01 14:50:56 +02:00
										 |  |  |  | " by default, enable all region-based highlighting | 
					
						
							|  |  |  |  | let s:tex_fast= "bcmMprsSvV" | 
					
						
							|  |  |  |  | if exists("g:tex_fast") | 
					
						
							|  |  |  |  |  if type(g:tex_fast) != 1 | 
					
						
							|  |  |  |  |   " g:tex_fast exists and is not a string, so | 
					
						
							|  |  |  |  |   " turn off all optional region-based highighting | 
					
						
							|  |  |  |  |   let s:tex_fast= "" | 
					
						
							|  |  |  |  |  else | 
					
						
							|  |  |  |  |   let s:tex_fast= g:tex_fast | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  | " let user determine which classes of concealment will be supported | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  | "   a=accents/ligatures d=delimiters m=math symbols  g=Greek  s=superscripts/subscripts | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  | if !exists("g:tex_conceal") | 
					
						
							| 
									
										
										
										
											2013-07-05 21:01:22 +02:00
										 |  |  |  |  let s:tex_conceal= 'abdmgsS' | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_conceal= g:tex_conceal | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  | if !exists("g:tex_superscripts") | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  |  let s:tex_superscripts= '[0-9a-zA-W.,:;+-<>/()=]' | 
					
						
							| 
									
										
										
										
											2016-04-12 21:07:15 +02:00
										 |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_superscripts= g:tex_superscripts | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | if !exists("g:tex_subscripts") | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  |  let s:tex_subscripts= '[0-9aehijklmnoprstuvx,+-/().]' | 
					
						
							| 
									
										
										
										
											2016-04-12 21:07:15 +02:00
										 |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_subscripts= g:tex_subscripts | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  | " Determine whether or not to use "*.sty" mode {{{1 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " The user may override the normal determination by setting | 
					
						
							|  |  |  |  | "   g:tex_stylish to 1      (for    "*.sty" mode) | 
					
						
							|  |  |  |  | "    or to           0 else (normal "*.tex" mode) | 
					
						
							|  |  |  |  | " or on a buffer-by-buffer basis with b:tex_stylish | 
					
						
							| 
									
										
										
										
											2010-12-10 20:35:50 +01:00
										 |  |  |  | let s:extfname=expand("%:e") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | if exists("g:tex_stylish") | 
					
						
							|  |  |  |  |  let b:tex_stylish= g:tex_stylish | 
					
						
							|  |  |  |  | elseif !exists("b:tex_stylish") | 
					
						
							| 
									
										
										
										
											2010-12-10 20:35:50 +01:00
										 |  |  |  |  if s:extfname == "sty" || s:extfname == "cls" || s:extfname == "clo" || s:extfname == "dtx" || s:extfname == "ltx" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |   let b:tex_stylish= 1 | 
					
						
							|  |  |  |  |  else | 
					
						
							|  |  |  |  |   let b:tex_stylish= 0 | 
					
						
							|  |  |  |  |  endif | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  | " handle folding {{{1 | 
					
						
							|  |  |  |  | if !exists("g:tex_fold_enabled") | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  let s:tex_fold_enabled= 0 | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  | elseif g:tex_fold_enabled && !has("folding") | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  let s:tex_fold_enabled= 0 | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  |  echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support" | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_fold_enabled= 1 | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | if s:tex_fold_enabled && &fdm == "manual" | 
					
						
							| 
									
										
										
										
											2010-05-14 23:24:24 +02:00
										 |  |  |  |  setl fdm=syntax | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | if s:tex_fold_enabled && has("folding") | 
					
						
							| 
									
										
										
										
											2024-11-09 18:59:31 +01:00
										 |  |  |  |  com! -nargs=* TexFold <args> fold | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | else | 
					
						
							| 
									
										
										
										
											2024-11-09 18:59:31 +01:00
										 |  |  |  |  com! -nargs=* TexFold <args> | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2005-03-07 23:20:08 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  | " (La)TeX keywords: uses the characters 0-9,a-z,A-Z,192-255 only... {{{1 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " but _ is the only one that causes problems. | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  | " One may override this iskeyword setting by providing | 
					
						
							|  |  |  |  | " g:tex_isk | 
					
						
							|  |  |  |  | if exists("g:tex_isk") | 
					
						
							| 
									
										
										
										
											2016-08-02 21:04:33 +02:00
										 |  |  |  |  if b:tex_stylish && g:tex_isk !~ '@' | 
					
						
							|  |  |  |  |   let b:tex_isk= '@,'.g:tex_isk | 
					
						
							|  |  |  |  |  else | 
					
						
							|  |  |  |  |   let b:tex_isk= g:tex_isk | 
					
						
							|  |  |  |  |  endif | 
					
						
							|  |  |  |  | elseif b:tex_stylish | 
					
						
							|  |  |  |  |  let b:tex_isk="@,48-57,a-z,A-Z,192-255" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | else | 
					
						
							| 
									
										
										
										
											2016-08-02 21:04:33 +02:00
										 |  |  |  |  let b:tex_isk="48-57,a-z,A-Z,192-255" | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  | if (v:version == 704 && has("patch-7.4.1142")) || v:version > 704 | 
					
						
							| 
									
										
										
										
											2016-08-02 21:04:33 +02:00
										 |  |  |  |  exe "syn iskeyword ".b:tex_isk | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  exe "setl isk=".b:tex_isk | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | if exists("g:tex_no_error") && g:tex_no_error | 
					
						
							|  |  |  |  |  let s:tex_no_error= 1 | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_no_error= 0 | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | if exists("g:tex_comment_nospell") && g:tex_comment_nospell | 
					
						
							|  |  |  |  |  let s:tex_comment_nospell= 1 | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_comment_nospell= 0 | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | if exists("g:tex_nospell") && g:tex_nospell | 
					
						
							|  |  |  |  |  let s:tex_nospell = 1 | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_nospell = 0 | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  | if exists("g:tex_matchcheck") | 
					
						
							|  |  |  |  |  let s:tex_matchcheck= g:tex_matchcheck | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_matchcheck= '[({[]' | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2020-01-25 13:27:42 +01:00
										 |  |  |  | if exists("g:tex_excludematcher") | 
					
						
							|  |  |  |  |  let s:tex_excludematcher= g:tex_excludematcher | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  let s:tex_excludematcher= 0 | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " Clusters: {{{1 | 
					
						
							|  |  |  |  | " -------- | 
					
						
							| 
									
										
										
										
											2024-11-11 08:49:04 +01:00
										 |  |  |  | syn cluster texCmdGroup			contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,@texMathZones | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  syn cluster texCmdGroup		add=texMathError | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  | syn cluster texEnvGroup			contains=texDefParm,texMatcher,texMathDelim,texSpecialChar,texStatement | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  | syn 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,texNoSpell | 
					
						
							| 
									
										
										
										
											2020-01-25 13:27:42 +01:00
										 |  |  |  | syn 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,texNoSpell | 
					
						
							|  |  |  |  | syn 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,texNoSpell | 
					
						
							|  |  |  |  | if !s:tex_excludematcher | 
					
						
							|  |  |  |  |  syn cluster texBoldGroup add=texMatcher | 
					
						
							|  |  |  |  |  syn cluster texItalGroup add=texMatcher | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | if !s:tex_nospell | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |  if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2025-01-18 18:09:38 +01:00
										 |  |  |  |   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,@Spell | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   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,@Spell | 
					
						
							|  |  |  |  |   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,@Spell | 
					
						
							|  |  |  |  |  else | 
					
						
							| 
									
										
										
										
											2025-01-18 18:09:38 +01:00
										 |  |  |  |   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,@Spell | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   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,@Spell | 
					
						
							|  |  |  |  |   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,@Spell | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  | else | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |  if !s:tex_no_error | 
					
						
							|  |  |  |  |   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,texOption | 
					
						
							|  |  |  |  |   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,texOption | 
					
						
							|  |  |  |  |   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,texStyleMatcher | 
					
						
							|  |  |  |  |  else | 
					
						
							|  |  |  |  |   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,texOption | 
					
						
							|  |  |  |  |   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,texOption | 
					
						
							|  |  |  |  |   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,texStyleMatcher | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  | 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,texMathZoneZ | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | syn cluster texRefGroup			contains=texMatcher,texComment,texDelimiter | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  | if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |  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,texMathZoneZ | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  syn cluster texMathZones		contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ | 
					
						
							|  |  |  |  |  syn cluster texMatchGroup		add=@texMathZones | 
					
						
							|  |  |  |  |  syn cluster texMathDelimGroup		contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2 | 
					
						
							| 
									
										
										
										
											2024-11-11 08:49:04 +01:00
										 |  |  |  |  syn cluster texMathMatchGroup		contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone | 
					
						
							|  |  |  |  |  syn cluster texMathZoneGroup		contains=texBadPar,texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |  if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |   syn cluster texMathMatchGroup		add=texMathError | 
					
						
							|  |  |  |  |   syn cluster texMathZoneGroup		add=texMathError | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  syn cluster texMathZoneGroup		add=@NoSpell | 
					
						
							| 
									
										
										
										
											2005-08-16 23:01:50 +00:00
										 |  |  |  |  " following used in the \part \chapter \section \subsection \subsubsection | 
					
						
							|  |  |  |  |  " \paragraph \subparagraph \author \title highlighting | 
					
						
							|  |  |  |  |  syn cluster texDocGroup		contains=texPartZone,@texPartGroup | 
					
						
							|  |  |  |  |  syn cluster texPartGroup		contains=texChapterZone,texSectionZone,texParaZone | 
					
						
							|  |  |  |  |  syn cluster texChapterGroup		contains=texSectionZone,texParaZone | 
					
						
							|  |  |  |  |  syn cluster texSectionGroup		contains=texSubSectionZone,texParaZone | 
					
						
							|  |  |  |  |  syn cluster texSubSectionGroup		contains=texSubSubSectionZone,texParaZone | 
					
						
							|  |  |  |  |  syn cluster texSubSubSectionGroup	contains=texParaZone | 
					
						
							|  |  |  |  |  syn cluster texParaGroup		contains=texSubParaZone | 
					
						
							| 
									
										
										
										
											2010-07-02 20:20:09 +02:00
										 |  |  |  |  if has("conceal") && &enc == 'utf-8' | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |   syn cluster texMathZoneGroup		add=texGreek,texSuperscript,texSubscript,texMathSymbol | 
					
						
							|  |  |  |  |   syn cluster texMathMatchGroup		add=texGreek,texSuperscript,texSubscript,texMathSymbol | 
					
						
							| 
									
										
										
										
											2010-07-02 20:20:09 +02:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  | " Try to flag {}, [], and () mismatches: {{{1 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'm' | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |   if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |    if s:tex_matchcheck =~ '{' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |     syn region texMatcher	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup,texError | 
					
						
							|  |  |  |  |     syn region texMatcherNM	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup,texError | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |    endif | 
					
						
							|  |  |  |  |    if s:tex_matchcheck =~ '\[' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |     syn region texMatcher	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchGroup,texError,@NoSpell | 
					
						
							|  |  |  |  |     syn region texMatcherNM	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchNMGroup,texError,@NoSpell | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   else | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |    if s:tex_matchcheck =~ '{' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |     syn region texMatcher	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup | 
					
						
							|  |  |  |  |     syn region texMatcherNM	matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |    endif | 
					
						
							|  |  |  |  |    if s:tex_matchcheck =~ '\[' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |     syn region texMatcher	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchGroup | 
					
						
							|  |  |  |  |     syn region texMatcherNM	matchgroup=texDelimiter start="\["				end="]"			transparent contains=@texMatchNMGroup | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |   if s:tex_matchcheck =~ '(' | 
					
						
							|  |  |  |  |    if !s:tex_nospell | 
					
						
							|  |  |  |  |     syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup,@Spell | 
					
						
							|  |  |  |  |    else | 
					
						
							|  |  |  |  |     syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup | 
					
						
							|  |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |  if s:tex_matchcheck =~ '(' | 
					
						
							|  |  |  |  |   syn match  texError		"[}\]]" | 
					
						
							|  |  |  |  |  else | 
					
						
							|  |  |  |  |   syn match  texError		"[}\])]" | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'M' | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |   if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |    if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |     syn match  texMathError	"}"	contained | 
					
						
							|  |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |    syn region texMathMatcher	matchgroup=texDelimiter	start="{"          skip="\%(\\\\\)*\\}"     end="}" end="%stopzone\>"	contained contains=@texMathMatchGroup | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " TeX/LaTeX keywords: {{{1 | 
					
						
							|  |  |  |  | " Instead of trying to be All Knowing, I just match \..alphameric.. | 
					
						
							|  |  |  |  | " Note that *.tex files may not have "@" in their \commands | 
					
						
							|  |  |  |  | if exists("g:tex_tex") || b:tex_stylish | 
					
						
							|  |  |  |  |   syn match texStatement	"\\[a-zA-Z@]\+" | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |   syn match texStatement	"\\\a\+" | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |   if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |    syn match texError		"\\\a*@[a-zA-Z@]*" | 
					
						
							|  |  |  |  |   endif | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " TeX/LaTeX delimiters: {{{1 | 
					
						
							|  |  |  |  | syn match texDelimiter		"&" | 
					
						
							|  |  |  |  | syn match texDelimiter		"\\\\" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Tex/Latex Options: {{{1 | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  | syn match texOption		"[^\\]\zs#[1-9]\|^#[1-9]" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1 | 
					
						
							|  |  |  |  | if b:tex_stylish | 
					
						
							|  |  |  |  |   syn match texAccent		"\\[bcdvuH][^a-zA-Z@]"me=e-1 | 
					
						
							|  |  |  |  |   syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |   syn match texAccent		"\\[bcdvuH]\A"me=e-1 | 
					
						
							|  |  |  |  |   syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)\A"me=e-1 | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | syn match texAccent		"\\[bcdvuH]$" | 
					
						
							|  |  |  |  | syn match texAccent		+\\[=^.\~"`']+ | 
					
						
							|  |  |  |  | syn match texAccent		+\\['=t'.c^ud"vb~Hr]{\a}+ | 
					
						
							|  |  |  |  | syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " \begin{}/\end{} section markers: {{{1 | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  | syn match  texBeginEnd		"\\begin\>\|\\end\>" nextgroup=texBeginEndName | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'm' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texBeginEndName		matchgroup=texDelimiter	start="{"		end="}"	contained	nextgroup=texBeginEndModifier	contains=texComment | 
					
						
							|  |  |  |  |   syn region texBeginEndModifier	matchgroup=texDelimiter	start="\["		end="]"	contained	contains=texComment,@texMathZones,@NoSpell | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " \documentclass, \documentstyle, \usepackage: {{{1 | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  | syn match  texDocType		"\\documentclass\>\|\\documentstyle\>\|\\usepackage\>"	nextgroup=texBeginEndName,texDocTypeArgs | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'm' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texDocTypeArgs	matchgroup=texDelimiter start="\[" end="]"			contained	nextgroup=texBeginEndName	contains=texComment,@NoSpell | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-03-14 23:04:27 +00:00
										 |  |  |  | " Preamble syntax-based folding support: {{{1 | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | if s:tex_fold_enabled && has("folding") | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  |  syn region texPreamble	transparent fold	start='\zs\\documentclass\>' end='\ze\\begin{document}'	contains=texStyle,@texPreambleMatchGroup | 
					
						
							| 
									
										
										
										
											2006-03-14 23:04:27 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " TeX input: {{{1 | 
					
						
							|  |  |  |  | syn match texInput		"\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7				contains=texStatement | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |  | syn match texInputFile		"\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}"	contains=texStatement,texInputCurlies,texInputFileOpt | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | syn match texInputFile		"\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}"		contains=texStatement,texInputCurlies,texInputFileOpt | 
					
						
							|  |  |  |  | syn match texInputCurlies	"[{}]"								contained | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'm' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |  syn region texInputFileOpt	matchgroup=texDelimiter start="\[" end="\]"			contained	contains=texComment | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " Type Styles (LaTeX 2.09): {{{1 | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\rm\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\em\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\bf\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\it\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\sl\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\sf\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\sc\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\tt\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1 | 
					
						
							| 
									
										
										
										
											2016-03-29 23:12:46 +02:00
										 |  |  |  | if s:tex_conceal !~# 'b' | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  |  syn match texTypeStyle		"\\textbf\>" | 
					
						
							|  |  |  |  |  syn match texTypeStyle		"\\textit\>" | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  |  syn match texTypeStyle		"\\emph\>" | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | syn match texTypeStyle		"\\textmd\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\textrm\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathbf\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathcal\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathit\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathnormal\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathrm\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathsf\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mathtt\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\rmfamily\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\sffamily\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\ttfamily\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\itshape\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\scshape\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\slshape\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\upshape\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\bfseries\>" | 
					
						
							|  |  |  |  | syn match texTypeStyle		"\\mdseries\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Some type sizes: {{{1 | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\tiny\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\scriptsize\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\footnotesize\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\small\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\normalsize\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\large\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\Large\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\LARGE\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\huge\>" | 
					
						
							|  |  |  |  | syn match texTypeSize		"\\Huge\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Spacecodes (TeX'isms): {{{1 | 
					
						
							|  |  |  |  | " \mathcode`\^^@="2201  \delcode`\(="028300  \sfcode`\)=0 \uccode`X=`X  \lccode`x=`x | 
					
						
							|  |  |  |  | syn match texSpaceCode		"\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=texSpaceCodeChar | 
					
						
							|  |  |  |  | syn match texSpaceCodeChar    "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)"	contained | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Sections, subsections, etc: {{{1 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'p' | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  if !s:tex_nospell | 
					
						
							|  |  |  |  |   TexFold syn region texDocZone			matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'											contains=@texFoldGroup,@texDocGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texPartZone		matchgroup=texSection start='\\part\>'			 end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'								contains=@texFoldGroup,@texPartGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texChapterZone		matchgroup=texSection start='\\chapter\>'		 end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'							contains=@texFoldGroup,@texChapterGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texSectionZone		matchgroup=texSection start='\\section\>'		 end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'					contains=@texFoldGroup,@texSectionGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texSubSectionZone		matchgroup=texSection start='\\subsection\>'		 end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSectionGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texSubSubSectionZone	matchgroup=texSection start='\\subsubsection\>'		 end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSubSectionGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texParaZone		matchgroup=texSection start='\\paragraph\>'		 end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'			contains=@texFoldGroup,@texParaGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texSubParaZone		matchgroup=texSection start='\\subparagraph\>'		 end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'	contains=@texFoldGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texTitle			matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'													contains=@texFoldGroup,@Spell | 
					
						
							|  |  |  |  |   TexFold syn region texAbstract		matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'											contains=@texFoldGroup,@Spell | 
					
						
							|  |  |  |  |  else | 
					
						
							|  |  |  |  |   TexFold syn region texDocZone			matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}'											contains=@texFoldGroup,@texDocGroup | 
					
						
							|  |  |  |  |   TexFold syn region texPartZone		matchgroup=texSection start='\\part\>'			 end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)'								contains=@texFoldGroup,@texPartGroup | 
					
						
							|  |  |  |  |   TexFold syn region texChapterZone		matchgroup=texSection start='\\chapter\>'		 end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)'							contains=@texFoldGroup,@texChapterGroup | 
					
						
							|  |  |  |  |   TexFold syn region texSectionZone		matchgroup=texSection start='\\section\>'		 end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'					contains=@texFoldGroup,@texSectionGroup | 
					
						
							|  |  |  |  |   TexFold syn region texSubSectionZone		matchgroup=texSection start='\\subsection\>'		 end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSectionGroup | 
					
						
							|  |  |  |  |   TexFold syn region texSubSubSectionZone	matchgroup=texSection start='\\subsubsection\>'		 end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'				contains=@texFoldGroup,@texSubSubSectionGroup | 
					
						
							|  |  |  |  |   TexFold syn region texParaZone		matchgroup=texSection start='\\paragraph\>'		 end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'			contains=@texFoldGroup,@texParaGroup | 
					
						
							|  |  |  |  |   TexFold syn region texSubParaZone		matchgroup=texSection start='\\subparagraph\>'		 end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)'	contains=@texFoldGroup | 
					
						
							|  |  |  |  |   TexFold syn region texTitle			matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}'													contains=@texFoldGroup | 
					
						
							|  |  |  |  |   TexFold syn region texAbstract		matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}'											contains=@texFoldGroup | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  | " particular support for bold and italic {{{1 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'b' | 
					
						
							|  |  |  |  |   if s:tex_conceal =~# 'b' | 
					
						
							| 
									
										
										
										
											2015-04-13 14:22:40 +02:00
										 |  |  |  |    if !exists("g:tex_nospell") || !g:tex_nospell | 
					
						
							| 
									
										
										
										
											2015-06-19 13:27:23 +02:00
										 |  |  |  |     syn region texBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell | 
					
						
							|  |  |  |  |     syn region texBoldItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell | 
					
						
							|  |  |  |  |     syn region texItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell | 
					
						
							|  |  |  |  |     syn region texItalBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\emph\s*{"   matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup,@Spell | 
					
						
							| 
									
										
										
										
											2020-01-25 13:27:42 +01:00
										 |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\texts[cfl]\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell | 
					
						
							|  |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\textup\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell | 
					
						
							|  |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\texttt\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup,@Spell | 
					
						
							| 
									
										
										
										
											2024-11-09 18:59:31 +01:00
										 |  |  |  |    else | 
					
						
							| 
									
										
										
										
											2015-06-19 13:27:23 +02:00
										 |  |  |  |     syn region texBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup | 
					
						
							|  |  |  |  |     syn region texBoldItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup | 
					
						
							|  |  |  |  |     syn region texItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup | 
					
						
							|  |  |  |  |     syn region texItalBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texBoldGroup | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\emph\s*{"   matchgroup=texTypeStyle  end="}" concealends contains=@texItalGroup | 
					
						
							| 
									
										
										
										
											2020-01-25 13:27:42 +01:00
										 |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\texts[cfl]\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup | 
					
						
							|  |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\textup\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup | 
					
						
							|  |  |  |  |     syn region texEmphStyle	matchgroup=texTypeStyle start="\\texttt\s*{" matchgroup=texTypeStyle  end="}" concealends contains=@texEmphGroup | 
					
						
							| 
									
										
										
										
											2015-04-13 14:22:40 +02:00
										 |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " Bad Math (mismatched): {{{1 | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | if !exists("g:tex_no_math") && !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2018-04-06 11:14:11 +02:00
										 |  |  |  |  syn match texBadMath		"\\end\s*{\s*\(array\|[bBpvV]matrix\|split\|smallmatrix\)\s*}" | 
					
						
							| 
									
										
										
										
											2017-12-17 17:17:07 +01:00
										 |  |  |  |  syn match texBadMath		"\\end\s*{\s*\(displaymath\|equation\|eqnarray\|math\)\*\=\s*}" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  syn match texBadMath		"\\[\])]" | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |  syn match texBadPar	contained  "\%(\\par\>\|^\s*\n.\)" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Math Zones: {{{1 | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  | if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2005-08-11 20:09:58 +00:00
										 |  |  |  |  " TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  "                 Starred forms are created if starform is true.  Starred | 
					
						
							|  |  |  |  |  "                 forms have syntax group and synchronization groups with a | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |  "                 "S" appended.  Handles: cluster, syntax, sync, and highlighting. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  fun! TexNewMathZone(sfx,mathzone,starform) | 
					
						
							|  |  |  |  |    let grpname  = "texMathZone".a:sfx | 
					
						
							|  |  |  |  |    let syncname = "texSyncMathZone".a:sfx | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |    if s:tex_fold_enabled | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  |  |     let foldcmd= " fold" | 
					
						
							|  |  |  |  |    else | 
					
						
							|  |  |  |  |     let foldcmd= "" | 
					
						
							|  |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |    exe "syn cluster texMathZones add=".grpname | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |    if s:tex_fast =~# 'M' | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |     exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd | 
					
						
							|  |  |  |  |     exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' | 
					
						
							|  |  |  |  |     exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' | 
					
						
							|  |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |  |    exe 'hi def link '.grpname.' texMath' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |    if a:starform | 
					
						
							|  |  |  |  |     let grpname  = "texMathZone".a:sfx.'S' | 
					
						
							|  |  |  |  |     let syncname = "texSyncMathZone".a:sfx.'S' | 
					
						
							|  |  |  |  |     exe "syn cluster texMathZones add=".grpname | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |     if s:tex_fast =~# 'M' | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |      exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd | 
					
						
							|  |  |  |  |      exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' | 
					
						
							|  |  |  |  |      exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' | 
					
						
							|  |  |  |  |     endif | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |  |     exe 'hi def link '.grpname.' texMath' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |    endif | 
					
						
							|  |  |  |  |  endfun | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |  " Standard Math Zones: {{{2 | 
					
						
							| 
									
										
										
										
											2017-12-17 17:17:07 +01:00
										 |  |  |  |  call TexNewMathZone("A","displaymath",1) | 
					
						
							|  |  |  |  |  call TexNewMathZone("B","eqnarray",1) | 
					
						
							|  |  |  |  |  call TexNewMathZone("C","equation",1) | 
					
						
							|  |  |  |  |  call TexNewMathZone("D","math",1) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |  " Inline Math Zones: {{{2 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_fast =~# 'M' | 
					
						
							|  |  |  |  |   if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'd' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |    syn region texMathZoneV	matchgroup=texDelimiter start="\\("			matchgroup=texDelimiter	end="\\)\|%stopzone\>"			keepend concealends contains=@texMathZoneGroup | 
					
						
							|  |  |  |  |    syn region texMathZoneW	matchgroup=texDelimiter start="\\\["			matchgroup=texDelimiter	end="\\]\|%stopzone\>"			keepend concealends contains=@texMathZoneGroup | 
					
						
							|  |  |  |  |    syn region texMathZoneX	matchgroup=texDelimiter start="\$" skip="\\\\\|\\\$"	matchgroup=texDelimiter	end="\$"	end="%stopzone\>"		concealends contains=@texMathZoneGroup | 
					
						
							|  |  |  |  |    syn region texMathZoneY	matchgroup=texDelimiter start="\$\$" 			matchgroup=texDelimiter	end="\$\$"	end="%stopzone\>"	keepend concealends contains=@texMathZoneGroup | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   else | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |    syn region texMathZoneV	matchgroup=texDelimiter start="\\("			matchgroup=texDelimiter	end="\\)\|%stopzone\>"			keepend contains=@texMathZoneGroup | 
					
						
							|  |  |  |  |    syn region texMathZoneW	matchgroup=texDelimiter start="\\\["			matchgroup=texDelimiter	end="\\]\|%stopzone\>"			keepend contains=@texMathZoneGroup | 
					
						
							|  |  |  |  |    syn region texMathZoneX	matchgroup=texDelimiter start="\$" skip="\%(\\\\\)*\\\$"	matchgroup=texDelimiter	end="\$"	end="%stopzone\>"		contains=@texMathZoneGroup | 
					
						
							|  |  |  |  |    syn region texMathZoneY	matchgroup=texDelimiter start="\$\$" 			matchgroup=texDelimiter	end="\$\$"	end="%stopzone\>"	keepend	contains=@texMathZoneGroup | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2015-06-19 13:27:23 +02:00
										 |  |  |  |   syn region texMathZoneZ	matchgroup=texStatement start="\\ensuremath\s*{"	matchgroup=texStatement	end="}"		end="%stopzone\>"	contains=@texMathZoneGroup | 
					
						
							| 
									
										
										
										
											2010-07-28 17:25:21 +02:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |  syn match texMathOper		"[_^=]" contained | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  |  " Text Inside Math Zones: {{{2 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_fast =~# 'M' | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   if !exists("g:tex_nospell") || !g:tex_nospell | 
					
						
							|  |  |  |  |    syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'	end='}'	contains=@texFoldGroup,@Spell | 
					
						
							|  |  |  |  |   else | 
					
						
							|  |  |  |  |    syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{'	end='}'	contains=@texFoldGroup | 
					
						
							|  |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  " \left..something.. and \right..something.. support: {{{2 | 
					
						
							|  |  |  |  |  syn match   texMathDelimBad	contained		"\S" | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'm' | 
					
						
							| 
									
										
										
										
											2016-08-02 21:04:33 +02:00
										 |  |  |  |   syn match   texMathDelim	contained		"\\left\[" | 
					
						
							|  |  |  |  |   syn match   texMathDelim	contained		"\\left\\{"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={ | 
					
						
							|  |  |  |  |   syn match   texMathDelim	contained		"\\right\\}"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=} | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  |   let s:texMathDelimList=[ | 
					
						
							|  |  |  |  |      \ ['<'            , '<'] , | 
					
						
							|  |  |  |  |      \ ['>'            , '>'] , | 
					
						
							|  |  |  |  |      \ ['('            , '('] , | 
					
						
							|  |  |  |  |      \ [')'            , ')'] , | 
					
						
							|  |  |  |  |      \ ['\['           , '['] , | 
					
						
							|  |  |  |  |      \ [']'            , ']'] , | 
					
						
							|  |  |  |  |      \ ['\\{'          , '{'] , | 
					
						
							|  |  |  |  |      \ ['\\}'          , '}'] , | 
					
						
							|  |  |  |  |      \ ['|'            , '|'] , | 
					
						
							|  |  |  |  |      \ ['\\|'          , '‖'] , | 
					
						
							|  |  |  |  |      \ ['\\backslash'  , '\'] , | 
					
						
							|  |  |  |  |      \ ['\\downarrow'  , '↓'] , | 
					
						
							|  |  |  |  |      \ ['\\Downarrow'  , '⇓'] , | 
					
						
							|  |  |  |  |      \ ['\\lbrace'     , '['] , | 
					
						
							|  |  |  |  |      \ ['\\lceil'      , '⌈'] , | 
					
						
							|  |  |  |  |      \ ['\\lfloor'     , '⌊'] , | 
					
						
							|  |  |  |  |      \ ['\\lgroup'     , '⌊'] , | 
					
						
							|  |  |  |  |      \ ['\\lmoustache' , '⎛'] , | 
					
						
							|  |  |  |  |      \ ['\\rbrace'     , ']'] , | 
					
						
							|  |  |  |  |      \ ['\\rceil'      , '⌉'] , | 
					
						
							|  |  |  |  |      \ ['\\rfloor'     , '⌋'] , | 
					
						
							|  |  |  |  |      \ ['\\rgroup'     , '⌋'] , | 
					
						
							|  |  |  |  |      \ ['\\rmoustache' , '⎞'] , | 
					
						
							|  |  |  |  |      \ ['\\uparrow'    , '↑'] , | 
					
						
							|  |  |  |  |      \ ['\\Uparrow'    , '↑'] , | 
					
						
							|  |  |  |  |      \ ['\\updownarrow', '↕'] , | 
					
						
							|  |  |  |  |      \ ['\\Updownarrow', '⇕']] | 
					
						
							| 
									
										
										
										
											2017-01-28 18:34:47 +01:00
										 |  |  |  |   if &ambw == "double" || exists("g:tex_usedblwidth") | 
					
						
							|  |  |  |  |     let s:texMathDelimList= s:texMathDelimList + [ | 
					
						
							|  |  |  |  |      \ ['\\langle'     , '〈'] , | 
					
						
							| 
									
										
										
										
											2017-11-11 20:58:53 +01:00
										 |  |  |  |      \ ['\\rangle'     , '〉']] | 
					
						
							| 
									
										
										
										
											2017-01-28 18:34:47 +01:00
										 |  |  |  |   else | 
					
						
							|  |  |  |  |     let s:texMathDelimList= s:texMathDelimList + [ | 
					
						
							|  |  |  |  |      \ ['\\langle'     , '<'] , | 
					
						
							|  |  |  |  |      \ ['\\rangle'     , '>']] | 
					
						
							|  |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  |   syn match texMathDelim	'\\[bB]igg\=[lr]' contained nextgroup=texMathDelimBad | 
					
						
							|  |  |  |  |   for texmath in s:texMathDelimList | 
					
						
							|  |  |  |  |    exe "syn match texMathDelim	'\\\\[bB]igg\\=[lr]\\=".texmath[0]."'	contained conceal cchar=".texmath[1] | 
					
						
							|  |  |  |  |   endfor | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |  else | 
					
						
							|  |  |  |  |   syn match   texMathDelim	contained		"\\\(left\|right\)\>"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  |   syn match   texMathDelim	contained		"\\[bB]igg\=[lr]\=\>"	skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad | 
					
						
							|  |  |  |  |   syn match   texMathDelimSet2	contained	"\\"		nextgroup=texMathDelimKey,texMathDelimBad | 
					
						
							|  |  |  |  |   syn match   texMathDelimSet1	contained	"[<>()[\]|/.]\|\\[{}|]" | 
					
						
							|  |  |  |  |   syn keyword texMathDelimKey	contained	backslash       lceil           lVert           rgroup          uparrow | 
					
						
							|  |  |  |  |   syn keyword texMathDelimKey	contained	downarrow       lfloor          rangle          rmoustache      Uparrow | 
					
						
							|  |  |  |  |   syn keyword texMathDelimKey	contained	Downarrow       lgroup          rbrace          rvert           updownarrow | 
					
						
							|  |  |  |  |   syn keyword texMathDelimKey	contained	langle          lmoustache      rceil           rVert           Updownarrow | 
					
						
							|  |  |  |  |   syn keyword texMathDelimKey	contained	lbrace          lvert           rfloor | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  syn match   texMathDelim	contained		"\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>" | 
					
						
							|  |  |  |  |  syn match   texMathDelim	contained		"\\lefteqn\>" | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Special TeX characters  ( \$ \& \% \# \{ \} \_ \S \P ) : {{{1 | 
					
						
							|  |  |  |  | syn match texSpecialChar	"\\[$&%#{}_]" | 
					
						
							|  |  |  |  | if b:tex_stylish | 
					
						
							|  |  |  |  |   syn match texSpecialChar	"\\[SP@][^a-zA-Z@]"me=e-1 | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |   syn match texSpecialChar	"\\[SP@]\A"me=e-1 | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | syn match texSpecialChar	"\\\\" | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  | if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  syn match texOnlyMath		"[_^]" | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | syn match texSpecialChar	"\^\^[0-9a-f]\{2}\|\^\^\S" | 
					
						
							| 
									
										
										
										
											2016-03-29 23:12:46 +02:00
										 |  |  |  | if s:tex_conceal !~# 'S' | 
					
						
							| 
									
										
										
										
											2013-07-05 21:01:22 +02:00
										 |  |  |  |  syn match texSpecialChar	'\\glq\>'	contained conceal cchar=‚ | 
					
						
							|  |  |  |  |  syn match texSpecialChar	'\\grq\>'	contained conceal cchar=‘ | 
					
						
							|  |  |  |  |  syn match texSpecialChar	'\\glqq\>'	contained conceal cchar=„ | 
					
						
							|  |  |  |  |  syn match texSpecialChar	'\\grqq\>'	contained conceal cchar=“ | 
					
						
							|  |  |  |  |  syn match texSpecialChar	'\\hyp\>'	contained conceal cchar=- | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " Comments: {{{1 | 
					
						
							|  |  |  |  | "    Normal TeX LaTeX     :   %.... | 
					
						
							|  |  |  |  | "    Documented TeX Format:  ^^A...	-and-	leading %s (only) | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  | if !s:tex_comment_nospell | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  |  |  syn cluster texCommentGroup	contains=texTodo,@Spell | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  syn cluster texCommentGroup	contains=texTodo,@NoSpell | 
					
						
							|  |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | syn case ignore | 
					
						
							| 
									
										
										
										
											2006-04-12 21:52:12 +00:00
										 |  |  |  | syn keyword texTodo		contained		combak	fixme	todo	xxx | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | syn case match | 
					
						
							| 
									
										
										
										
											2010-12-10 20:35:50 +01:00
										 |  |  |  | if s:extfname == "dtx" | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |  syn match texComment		"\^\^A.*$"	contains=@texCommentGroup | 
					
						
							|  |  |  |  |  syn match texComment		"^%\+"		contains=@texCommentGroup | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | else | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |  if s:tex_fold_enabled | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |   " allows syntax-folding of 2 or more contiguous comment lines | 
					
						
							|  |  |  |  |   " single-line comments are not folded | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |   syn match  texComment	"%.*$"				contains=@texCommentGroup | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |   if s:tex_fast =~# 'c' | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |    TexFold syn region texComment						start="^\zs\s*%.*\_s*%"	skip="^\s*%"	end='^\ze\s*[^%]'	contains=@texCommentGroup | 
					
						
							|  |  |  |  |    TexFold syn region texNoSpell	contained	matchgroup=texComment	start="%\s*nospell\s*{"	end="%\s*nospell\s*}"			contains=@texFoldGroup,@NoSpell | 
					
						
							| 
									
										
										
										
											2006-03-01 22:09:21 +00:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |  else | 
					
						
							|  |  |  |  |   syn match texComment		"%.*$"			contains=@texCommentGroup | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |   if s:tex_fast =~# 'c' | 
					
						
							| 
									
										
										
										
											2015-11-10 21:15:48 +01:00
										 |  |  |  |    syn region texNoSpell		contained	matchgroup=texComment start="%\s*nospell\s*{"	end="%\s*nospell\s*}"	contains=@texFoldGroup,@NoSpell | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  |   endif | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  | " %begin-include ... %end-include acts like a texDocZone for \include'd files.  Permits spell checking, for example, in such files. | 
					
						
							|  |  |  |  | if !s:tex_nospell | 
					
						
							|  |  |  |  |  TexFold syn region texDocZone			matchgroup=texSection start='^\s*%begin-include\>'	 end='^\s*%end-include\>'											contains=@texFoldGroup,@texDocGroup,@Spell | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |  TexFold syn region texDocZone			matchgroup=texSection start='^\s*%begin-include\>'	 end='^\s*%end-include\>'											contains=@texFoldGroup,@texDocGroup | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " Separate lines used for verb` and verb# so that the end conditions {{{1 | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  | " will appropriately terminate. | 
					
						
							|  |  |  |  | " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there. | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'v' | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   if exists("g:tex_verbspell") && g:tex_verbspell | 
					
						
							|  |  |  |  |    syn region texZone		start="\\begin{[vV]erbatim}"		end="\\end{[vV]erbatim}\|%stopzone\>"	contains=@Spell | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  |    " listings package: | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  |  |    if b:tex_stylish | 
					
						
							|  |  |  |  |     syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z@]\)"	end="\z1\|%stopzone\>"			contains=@Spell | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  |    else | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  |  |     syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z]\)"	end="\z1\|%stopzone\>"			contains=@Spell | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   else | 
					
						
							|  |  |  |  |    syn region texZone		start="\\begin{[vV]erbatim}"		end="\\end{[vV]erbatim}\|%stopzone\>" | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  |  |    if b:tex_stylish | 
					
						
							|  |  |  |  |      syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z@]\)"	end="\z1\|%stopzone\>" | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  |    else | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  |  |      syn region texZone		start="\\verb\*\=\z([^\ta-zA-Z]\)"	end="\z1\|%stopzone\>" | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Tex Reference Zones: {{{1 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'r' | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   syn region texZone		matchgroup=texStatement start="@samp{"			end="}\|%stopzone\>"	contains=@texRefGroup | 
					
						
							|  |  |  |  |   syn region texRefZone		matchgroup=texStatement start="\\nocite{"		end="}\|%stopzone\>"	contains=@texRefGroup | 
					
						
							|  |  |  |  |   syn region texRefZone		matchgroup=texStatement start="\\bibliography{"		end="}\|%stopzone\>"	contains=@texRefGroup | 
					
						
							|  |  |  |  |   syn region texRefZone		matchgroup=texStatement start="\\label{"		end="}\|%stopzone\>"	contains=@texRefGroup | 
					
						
							|  |  |  |  |   syn region texRefZone		matchgroup=texStatement start="\\\(page\|eq\)ref{"	end="}\|%stopzone\>"	contains=@texRefGroup | 
					
						
							|  |  |  |  |   syn region texRefZone		matchgroup=texStatement start="\\v\=ref{"		end="}\|%stopzone\>"	contains=@texRefGroup | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texRefOption	contained	matchgroup=texDelimiter start='\[' end=']'		contains=@texRefGroup,texRefZone	nextgroup=texRefOption,texCite | 
					
						
							|  |  |  |  |   syn region texCite		contained	matchgroup=texDelimiter start='{' end='}'		contains=@texRefGroup,texRefZone,texCite | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2020-01-25 13:27:42 +01:00
										 |  |  |  | syn match  texRefZone		'\\cite\%([tp]\*\=\)\=\>' nextgroup=texRefOption,texCite | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  | " Handle (re)newcommand, providecommand, (re)newenvironment : {{{1 | 
					
						
							|  |  |  |  | " EXAMPLE: | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " The followings are valid (ignoring error due to redefinition): | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " \newcommand{\foo}{body} | 
					
						
							|  |  |  |  | " \newcommand{\foo}[1]{#1} | 
					
						
							|  |  |  |  | " \newcommand{\foo}[1][def]{#1} | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " The followings are ill-formed: | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " \newcommand{\foo}{#1}		! Illegal parameter number in definition of \foo. | 
					
						
							|  |  |  |  | " \newcommand{\foo}[x]{…}	! Missing number, treated as zero. | 
					
						
							|  |  |  |  | " \newcommand{\foo}[10]{…}	! You already have nine parameters. | 
					
						
							|  |  |  |  | syn match  texNewCmd				"\\\%(\%(re\)\=new\|provide\)command\>\*\?"	nextgroup=texCmdName skipwhite skipnl | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'V' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texCmdName contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		nextgroup=texCmdArgs,texCmdBody skipwhite skipnl | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  |   syn region texCmdArgs contained matchgroup=texDelimiter start="\["rs=s+1 end="]"		nextgroup=texCmdDefaultPar,texCmdBody skipwhite skipnl | 
					
						
							|  |  |  |  |   syn region texCmdDefaultPar contained matchgroup=texDelimiter start="\["rs=s+1 end="]"	nextgroup=texCmdBody skipwhite skipnl | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texCmdBody contained matchgroup=texDelimiter start="{"rs=s+1 skip="\\\\\|\\[{}]"	matchgroup=texDelimiter end="}" contains=@texCmdGroup | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  | " EXAMPLE: | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " The followings are valid (ignoring error due to redefinition): | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " \newenvironment{baz}{beg}{end} | 
					
						
							|  |  |  |  | " \newenvironment{baz}[1]{beg #1}{end} | 
					
						
							|  |  |  |  | " \newenvironment{baz}[1][default]{beg #1}{end} | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " The followings are invalid: | 
					
						
							|  |  |  |  | " | 
					
						
							|  |  |  |  | " \newenvironment{baz}{#1}{…}		! Illegal parameter number in definition of \baz. | 
					
						
							|  |  |  |  | " \newenvironment{baz}[x]{…}{…}		! Missing number, treated as zero. | 
					
						
							|  |  |  |  | " \newenvironment{baz}[10]{…}{…}	! You already have nine parameters. | 
					
						
							|  |  |  |  | " \newenvironment{baz}[1]{…}{#1}	! Illegal parameter number in definition of \endbaz. | 
					
						
							|  |  |  |  | syn match  texNewEnv				"\\\%(re\)\=newenvironment\>\*\?"		nextgroup=texEnvName skipwhite skipnl | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  | if s:tex_fast =~# 'V' | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  |   syn region texEnvName contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		nextgroup=texEnvArgs,texEnvBgn skipwhite skipnl | 
					
						
							|  |  |  |  |   syn region texEnvArgs contained matchgroup=texDelimiter start="\["rs=s+1 end="]"		nextgroup=texEnvDefaultPar,texEnvBgn skipwhite skipnl | 
					
						
							|  |  |  |  |   syn region texEnvDefaultPar contained matchgroup=texDelimiter start="\["rs=s+1 end="]"	nextgroup=texEnvBgn skipwhite skipnl | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texEnvBgn  contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup | 
					
						
							|  |  |  |  |   syn region texEnvEnd  contained matchgroup=texDelimiter start="{"rs=s+1  end="}"		skipwhite skipnl contains=@texEnvGroup | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " Definitions/Commands: {{{1 | 
					
						
							|  |  |  |  | syn match texDefCmd				"\\def\>"				nextgroup=texDefName skipwhite skipnl | 
					
						
							|  |  |  |  | if b:tex_stylish | 
					
						
							|  |  |  |  |   syn match texDefName contained		"\\[a-zA-Z@]\+"				nextgroup=texDefParms,texCmdBody skipwhite skipnl | 
					
						
							|  |  |  |  |   syn match texDefName contained		"\\[^a-zA-Z@]"				nextgroup=texDefParms,texCmdBody skipwhite skipnl | 
					
						
							|  |  |  |  | else | 
					
						
							|  |  |  |  |   syn match texDefName contained		"\\\a\+"				nextgroup=texDefParms,texCmdBody skipwhite skipnl | 
					
						
							|  |  |  |  |   syn match texDefName contained		"\\\A"					nextgroup=texDefParms,texCmdBody skipwhite skipnl | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | syn match texDefParms  contained		"#[^{]*"	contains=texDefParm	nextgroup=texCmdBody skipwhite skipnl | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  | syn match  texDefParm  contained		"#[1-9]" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " TeX Lengths: {{{1 | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |  | syn match  texLength		"\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\|ex\|in\|mm\|pc\|pt\|sp\)\>" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " TeX String Delimiters: {{{1 | 
					
						
							|  |  |  |  | syn match texString		"\(``\|''\|,,\)" | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |  | " makeatletter -- makeatother sections | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | if !s:tex_no_error | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_fast =~# 'S' | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   syn region texStyle			matchgroup=texStatement start='\\makeatletter' end='\\makeatother'	contains=@texStyleGroup contained | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |  |  syn match  texStyleStatement		"\\[a-zA-Z@]\+"	contained | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_fast =~# 'S' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |   syn region texStyleMatcher		matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]"	end="}"		contains=@texStyleGroup,texError	contained | 
					
						
							|  |  |  |  |   syn region texStyleMatcher		matchgroup=texDelimiter start="\["				end="]"		contains=@texStyleGroup,texError	contained | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  | " Conceal mode support (supports set cole=2) {{{1 | 
					
						
							| 
									
										
										
										
											2010-07-02 20:20:09 +02:00
										 |  |  |  | if has("conceal") && &enc == 'utf-8' | 
					
						
							| 
									
										
										
										
											2010-07-26 22:51:56 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |  " Math Symbols {{{2 | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |  " (many of these symbols were contributed by Björn Winckler) | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_conceal =~# 'm' | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |   let s:texMathList=[ | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  |     \ ['|'		, '‖'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['aleph'		, 'ℵ'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['amalg'		, '∐'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['angle'		, '∠'], | 
					
						
							|  |  |  |  |     \ ['approx'		, '≈'], | 
					
						
							|  |  |  |  |     \ ['ast'		, '∗'], | 
					
						
							|  |  |  |  |     \ ['asymp'		, '≍'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['backslash'	, '∖'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['bigcap'		, '∩'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['bigcirc'	, '○'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['bigcup'		, '∪'], | 
					
						
							|  |  |  |  |     \ ['bigodot'	, '⊙'], | 
					
						
							|  |  |  |  |     \ ['bigoplus'	, '⊕'], | 
					
						
							|  |  |  |  |     \ ['bigotimes'	, '⊗'], | 
					
						
							|  |  |  |  |     \ ['bigsqcup'	, '⊔'], | 
					
						
							|  |  |  |  |     \ ['bigtriangledown', '∇'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['bigtriangleup'	, '∆'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['bigvee'		, '⋁'], | 
					
						
							|  |  |  |  |     \ ['bigwedge'	, '⋀'], | 
					
						
							|  |  |  |  |     \ ['bot'		, '⊥'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['bowtie'	        , '⋈'], | 
					
						
							|  |  |  |  |     \ ['bullet'	        , '•'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['cap'		, '∩'], | 
					
						
							|  |  |  |  |     \ ['cdot'		, '·'], | 
					
						
							|  |  |  |  |     \ ['cdots'		, '⋯'], | 
					
						
							|  |  |  |  |     \ ['circ'		, '∘'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['clubsuit'	, '♣'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['cong'		, '≅'], | 
					
						
							|  |  |  |  |     \ ['coprod'		, '∐'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['copyright'	, '©'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['cup'		, '∪'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['dagger'	        , '†'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['dashv'		, '⊣'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['ddagger'	, '‡'], | 
					
						
							|  |  |  |  |     \ ['ddots'	        , '⋱'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['diamond'	, '⋄'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['diamondsuit'	, '♢'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['div'		, '÷'], | 
					
						
							|  |  |  |  |     \ ['doteq'		, '≐'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['dots'		, '…'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['downarrow'	, '↓'], | 
					
						
							|  |  |  |  |     \ ['Downarrow'	, '⇓'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['ell'		, 'ℓ'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['emptyset'	, '∅'], | 
					
						
							|  |  |  |  |     \ ['equiv'		, '≡'], | 
					
						
							|  |  |  |  |     \ ['exists'		, '∃'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['flat'		, '♭'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['forall'		, '∀'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['frown'		, '⁔'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['ge'		, '≥'], | 
					
						
							|  |  |  |  |     \ ['geq'		, '≥'], | 
					
						
							|  |  |  |  |     \ ['gets'		, '←'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['gg'		, '⟫'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['hbar'		, 'ℏ'], | 
					
						
							|  |  |  |  |     \ ['heartsuit'	, '♡'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['hookleftarrow'	, '↩'], | 
					
						
							|  |  |  |  |     \ ['hookrightarrow'	, '↪'], | 
					
						
							| 
									
										
										
										
											2017-01-28 18:34:47 +01:00
										 |  |  |  |     \ ['iff'            , '⇔'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['Im'		, 'ℑ'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['imath'		, 'ɩ'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['in'		, '∈'], | 
					
						
							|  |  |  |  |     \ ['infty'		, '∞'], | 
					
						
							|  |  |  |  |     \ ['int'		, '∫'], | 
					
						
							| 
									
										
										
										
											2017-01-28 18:34:47 +01:00
										 |  |  |  |     \ ['jmath'		, '𝚥'], | 
					
						
							|  |  |  |  |     \ ['land'		, '∧'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['lceil'		, '⌈'], | 
					
						
							|  |  |  |  |     \ ['ldots'		, '…'], | 
					
						
							|  |  |  |  |     \ ['le'		, '≤'], | 
					
						
							| 
									
										
										
										
											2020-06-14 17:29:55 +02:00
										 |  |  |  |     \ ['left|'		, '|'], | 
					
						
							| 
									
										
										
										
											2020-07-26 17:00:44 +02:00
										 |  |  |  |     \ ['left\\|'	, '‖'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['left('		, '('], | 
					
						
							|  |  |  |  |     \ ['left\['		, '['], | 
					
						
							|  |  |  |  |     \ ['left\\{'	, '{'], | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |     \ ['leftarrow'	, '←'], | 
					
						
							|  |  |  |  |     \ ['Leftarrow'	, '⇐'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['leftharpoondown', '↽'], | 
					
						
							|  |  |  |  |     \ ['leftharpoonup'	, '↼'], | 
					
						
							| 
									
										
										
										
											2012-11-15 21:28:22 +01:00
										 |  |  |  |     \ ['leftrightarrow'	, '↔'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['Leftrightarrow'	, '⇔'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['leq'		, '≤'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['leq'		, '≤'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['lfloor'		, '⌊'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['ll'		, '≪'], | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  |     \ ['lmoustache'     , '╭'], | 
					
						
							| 
									
										
										
										
											2017-01-28 18:34:47 +01:00
										 |  |  |  |     \ ['lor'		, '∨'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['mapsto'		, '↦'], | 
					
						
							|  |  |  |  |     \ ['mid'		, '∣'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['models'		, '╞'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['mp'		, '∓'], | 
					
						
							|  |  |  |  |     \ ['nabla'		, '∇'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['natural'	, '♮'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['ne'		, '≠'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['nearrow'	, '↗'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['neg'		, '¬'], | 
					
						
							|  |  |  |  |     \ ['neq'		, '≠'], | 
					
						
							|  |  |  |  |     \ ['ni'		, '∋'], | 
					
						
							|  |  |  |  |     \ ['notin'		, '∉'], | 
					
						
							|  |  |  |  |     \ ['nwarrow'	, '↖'], | 
					
						
							|  |  |  |  |     \ ['odot'		, '⊙'], | 
					
						
							|  |  |  |  |     \ ['oint'		, '∮'], | 
					
						
							|  |  |  |  |     \ ['ominus'		, '⊖'], | 
					
						
							|  |  |  |  |     \ ['oplus'		, '⊕'], | 
					
						
							|  |  |  |  |     \ ['oslash'		, '⊘'], | 
					
						
							|  |  |  |  |     \ ['otimes'		, '⊗'], | 
					
						
							|  |  |  |  |     \ ['owns'		, '∋'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['P'	        , '¶'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['parallel'	, '║'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['partial'	, '∂'], | 
					
						
							|  |  |  |  |     \ ['perp'		, '⊥'], | 
					
						
							|  |  |  |  |     \ ['pm'		, '±'], | 
					
						
							|  |  |  |  |     \ ['prec'		, '≺'], | 
					
						
							|  |  |  |  |     \ ['preceq'		, '⪯'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['prime'		, '′'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['prod'		, '∏'], | 
					
						
							|  |  |  |  |     \ ['propto'		, '∝'], | 
					
						
							|  |  |  |  |     \ ['rceil'		, '⌉'], | 
					
						
							|  |  |  |  |     \ ['Re'		, 'ℜ'], | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  |     \ ['quad'		, ' '], | 
					
						
							|  |  |  |  |     \ ['qquad'		, ' '], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['rfloor'		, '⌋'], | 
					
						
							| 
									
										
										
										
											2020-06-14 17:29:55 +02:00
										 |  |  |  |     \ ['right|'		, '|'], | 
					
						
							|  |  |  |  |     \ ['right\\|'	, '‖'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['right)'		, ')'], | 
					
						
							|  |  |  |  |     \ ['right]'		, ']'], | 
					
						
							|  |  |  |  |     \ ['right\\}'	, '}'], | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |     \ ['rightarrow'	, '→'], | 
					
						
							|  |  |  |  |     \ ['Rightarrow'	, '⇒'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['rightleftharpoons', '⇌'], | 
					
						
							| 
									
										
										
										
											2011-04-01 18:03:16 +02:00
										 |  |  |  |     \ ['rmoustache'     , '╮'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['S'	        , '§'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['searrow'	, '↘'], | 
					
						
							|  |  |  |  |     \ ['setminus'	, '∖'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['sharp'		, '♯'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['sim'		, '∼'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['simeq'		, '⋍'], | 
					
						
							|  |  |  |  |     \ ['smile'		, '‿'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['spadesuit'	, '♠'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['sqcap'		, '⊓'], | 
					
						
							|  |  |  |  |     \ ['sqcup'		, '⊔'], | 
					
						
							|  |  |  |  |     \ ['sqsubset'	, '⊏'], | 
					
						
							|  |  |  |  |     \ ['sqsubseteq'	, '⊑'], | 
					
						
							|  |  |  |  |     \ ['sqsupset'	, '⊐'], | 
					
						
							|  |  |  |  |     \ ['sqsupseteq'	, '⊒'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['star'		, '✫'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['subset'		, '⊂'], | 
					
						
							|  |  |  |  |     \ ['subseteq'	, '⊆'], | 
					
						
							|  |  |  |  |     \ ['succ'		, '≻'], | 
					
						
							|  |  |  |  |     \ ['succeq'		, '⪰'], | 
					
						
							|  |  |  |  |     \ ['sum'		, '∑'], | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |     \ ['supset'		, '⊃'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['supseteq'	, '⊇'], | 
					
						
							|  |  |  |  |     \ ['surd'		, '√'], | 
					
						
							|  |  |  |  |     \ ['swarrow'	, '↙'], | 
					
						
							|  |  |  |  |     \ ['times'		, '×'], | 
					
						
							|  |  |  |  |     \ ['to'		, '→'], | 
					
						
							|  |  |  |  |     \ ['top'		, '⊤'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['triangle'	, '∆'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['triangleleft'	, '⊲'], | 
					
						
							|  |  |  |  |     \ ['triangleright'	, '⊳'], | 
					
						
							|  |  |  |  |     \ ['uparrow'	, '↑'], | 
					
						
							|  |  |  |  |     \ ['Uparrow'	, '⇑'], | 
					
						
							|  |  |  |  |     \ ['updownarrow'	, '↕'], | 
					
						
							|  |  |  |  |     \ ['Updownarrow'	, '⇕'], | 
					
						
							|  |  |  |  |     \ ['vdash'		, '⊢'], | 
					
						
							|  |  |  |  |     \ ['vdots'		, '⋮'], | 
					
						
							|  |  |  |  |     \ ['vee'		, '∨'], | 
					
						
							|  |  |  |  |     \ ['wedge'		, '∧'], | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  |     \ ['wp'		, '℘'], | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |     \ ['wr'		, '≀']] | 
					
						
							| 
									
										
										
										
											2017-01-28 18:34:47 +01:00
										 |  |  |  |   if &ambw == "double" || exists("g:tex_usedblwidth") | 
					
						
							|  |  |  |  |     let s:texMathList= s:texMathList + [ | 
					
						
							|  |  |  |  |     \ ['right\\rangle'	, '〉'], | 
					
						
							|  |  |  |  |     \ ['left\\langle'	, '〈']] | 
					
						
							|  |  |  |  |   else | 
					
						
							|  |  |  |  |     let s:texMathList= s:texMathList + [ | 
					
						
							|  |  |  |  |     \ ['right\\rangle'	, '>'], | 
					
						
							|  |  |  |  |     \ ['left\\langle'	, '<']] | 
					
						
							|  |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |   for texmath in s:texMathList | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |    if texmath[0] =~# '\w$' | 
					
						
							| 
									
										
										
										
											2010-12-10 20:35:50 +01:00
										 |  |  |  |     exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1] | 
					
						
							|  |  |  |  |    else | 
					
						
							|  |  |  |  |     exe "syn match texMathSymbol '\\\\".texmath[0]."' contained conceal cchar=".texmath[1] | 
					
						
							|  |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |   endfor | 
					
						
							| 
									
										
										
										
											2010-08-04 23:03:17 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   if &ambw == "double" | 
					
						
							|  |  |  |  |    syn match texMathSymbol '\\gg\>'			contained conceal cchar=≫ | 
					
						
							|  |  |  |  |    syn match texMathSymbol '\\ll\>'			contained conceal cchar=≪ | 
					
						
							|  |  |  |  |   else | 
					
						
							|  |  |  |  |    syn match texMathSymbol '\\gg\>'			contained conceal cchar=⟫ | 
					
						
							|  |  |  |  |    syn match texMathSymbol '\\ll\>'			contained conceal cchar=⟪ | 
					
						
							|  |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2011-09-21 19:22:10 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{a}' contained conceal cchar=â | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{A}' contained conceal cchar=Â | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{c}' contained conceal cchar=ĉ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{C}' contained conceal cchar=Ĉ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{e}' contained conceal cchar=ê | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{E}' contained conceal cchar=Ê | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{g}' contained conceal cchar=ĝ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{G}' contained conceal cchar=Ĝ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{i}' contained conceal cchar=î | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{I}' contained conceal cchar=Î | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{o}' contained conceal cchar=ô | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{O}' contained conceal cchar=Ô | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{s}' contained conceal cchar=ŝ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{S}' contained conceal cchar=Ŝ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{u}' contained conceal cchar=û | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{U}' contained conceal cchar=Û | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{w}' contained conceal cchar=ŵ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{W}' contained conceal cchar=Ŵ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{y}' contained conceal cchar=ŷ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\hat{Y}' contained conceal cchar=Ŷ | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  | "  syn match texMathSymbol '\\bar{a}' contained conceal cchar=a̅ | 
					
						
							| 
									
										
										
										
											2018-04-06 11:14:11 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{B}' contained conceal cchar=Ḃ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{b}' contained conceal cchar=ḃ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{D}' contained conceal cchar=Ḋ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{d}' contained conceal cchar=ḋ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{F}' contained conceal cchar=Ḟ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{f}' contained conceal cchar=ḟ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{H}' contained conceal cchar=Ḣ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{h}' contained conceal cchar=ḣ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{M}' contained conceal cchar=Ṁ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{m}' contained conceal cchar=ṁ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{N}' contained conceal cchar=Ṅ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{n}' contained conceal cchar=ṅ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{P}' contained conceal cchar=Ṗ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{p}' contained conceal cchar=ṗ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{R}' contained conceal cchar=Ṙ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{r}' contained conceal cchar=ṙ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{S}' contained conceal cchar=Ṡ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{s}' contained conceal cchar=ṡ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{T}' contained conceal cchar=Ṫ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{t}' contained conceal cchar=ṫ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{W}' contained conceal cchar=Ẇ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{w}' contained conceal cchar=ẇ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{X}' contained conceal cchar=Ẋ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{x}' contained conceal cchar=ẋ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{Y}' contained conceal cchar=Ẏ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{y}' contained conceal cchar=ẏ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{Z}' contained conceal cchar=Ż | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{z}' contained conceal cchar=ż | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{C}' contained conceal cchar=Ċ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{c}' contained conceal cchar=ċ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{E}' contained conceal cchar=Ė | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{e}' contained conceal cchar=ė | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{G}' contained conceal cchar=Ġ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{g}' contained conceal cchar=ġ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{I}' contained conceal cchar=İ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{A}' contained conceal cchar=Ȧ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{a}' contained conceal cchar=ȧ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{O}' contained conceal cchar=Ȯ | 
					
						
							|  |  |  |  |   syn match texMathSymbol '\\dot{o}' contained conceal cchar=ȯ | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-07-26 22:51:56 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |  " Greek {{{2 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_conceal =~# 'g' | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   fun! s:Greek(group,pat,cchar) | 
					
						
							|  |  |  |  |     exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar | 
					
						
							|  |  |  |  |   endfun | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\alpha\>'		,'α') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\beta\>'		,'β') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\gamma\>'		,'γ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\delta\>'		,'δ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\epsilon\>'		,'ϵ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\varepsilon\>'	,'ε') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\zeta\>'		,'ζ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\eta\>'		,'η') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\theta\>'		,'θ') | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |   call s:Greek('texGreek','\\vartheta\>'	,'ϑ') | 
					
						
							| 
									
										
										
										
											2019-06-22 02:13:00 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\iota\>'            ,'ι') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\kappa\>'		,'κ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\lambda\>'		,'λ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\mu\>'		,'μ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\nu\>'		,'ν') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\xi\>'		,'ξ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\pi\>'		,'π') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\varpi\>'		,'ϖ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\rho\>'		,'ρ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\varrho\>'		,'ϱ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\sigma\>'		,'σ') | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |   call s:Greek('texGreek','\\varsigma\>'	,'ς') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\tau\>'		,'τ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\upsilon\>'		,'υ') | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |   call s:Greek('texGreek','\\phi\>'		,'ϕ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\varphi\>'		,'φ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\chi\>'		,'χ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\psi\>'		,'ψ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\omega\>'		,'ω') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Gamma\>'		,'Γ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Delta\>'		,'Δ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Theta\>'		,'Θ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Lambda\>'		,'Λ') | 
					
						
							| 
									
										
										
										
											2019-06-22 02:13:00 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\Xi\>'              ,'Ξ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\Pi\>'		,'Π') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Sigma\>'		,'Σ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Upsilon\>'		,'Υ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Phi\>'		,'Φ') | 
					
						
							| 
									
										
										
										
											2019-06-22 02:13:00 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\Chi\>'		,'Χ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:Greek('texGreek','\\Psi\>'		,'Ψ') | 
					
						
							|  |  |  |  |   call s:Greek('texGreek','\\Omega\>'		,'Ω') | 
					
						
							|  |  |  |  |   delfun s:Greek | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-07-26 22:51:56 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |  " Superscripts/Subscripts {{{2 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_conceal =~# 's' | 
					
						
							|  |  |  |  |   if s:tex_fast =~# 's' | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |    syn region texSuperscript	matchgroup=texDelimiter start='\^{'	skip="\\\\\|\\[{}]" end='}'	contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher | 
					
						
							|  |  |  |  |    syn region texSubscript	matchgroup=texDelimiter start='_{'		skip="\\\\\|\\[{}]" end='}'	contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2015-06-19 13:27:23 +02:00
										 |  |  |  |   " s:SuperSub: | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   fun! s:SuperSub(group,leader,pat,cchar) | 
					
						
							| 
									
										
										
										
											2016-04-12 21:07:15 +02:00
										 |  |  |  |     if a:pat =~# '^\\' || (a:leader == '\^' && a:pat =~# s:tex_superscripts) || (a:leader == '_' && a:pat =~# s:tex_subscripts) | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  | "     call Decho("SuperSub: group<".a:group."> leader<".a:leader."> pat<".a:pat."> cchar<".a:cchar.">") | 
					
						
							|  |  |  |  |      exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar | 
					
						
							| 
									
										
										
										
											2015-06-19 13:27:23 +02:00
										 |  |  |  |      exe 'syn match '.a:group."s '".a:pat        ."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s' | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  |     endif | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   endfun | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','0','⁰') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','1','¹') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','2','²') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','3','³') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','4','⁴') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','5','⁵') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','6','⁶') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','7','⁷') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','8','⁸') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','9','⁹') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','a','ᵃ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','b','ᵇ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','c','ᶜ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','d','ᵈ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','e','ᵉ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','f','ᶠ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','g','ᵍ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','h','ʰ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','i','ⁱ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','j','ʲ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','k','ᵏ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','l','ˡ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','m','ᵐ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','n','ⁿ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','o','ᵒ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','p','ᵖ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','r','ʳ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','s','ˢ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','t','ᵗ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','u','ᵘ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','v','ᵛ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','w','ʷ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','x','ˣ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','y','ʸ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','z','ᶻ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','A','ᴬ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','B','ᴮ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','D','ᴰ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','E','ᴱ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','G','ᴳ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','H','ᴴ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','I','ᴵ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','J','ᴶ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','K','ᴷ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','L','ᴸ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','M','ᴹ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','N','ᴺ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','O','ᴼ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','P','ᴾ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','R','ᴿ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','T','ᵀ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','U','ᵁ') | 
					
						
							| 
									
										
										
										
											2020-05-26 21:20:45 +02:00
										 |  |  |  |   call s:SuperSub('texSuperscript','\^','V','ⱽ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:SuperSub('texSuperscript','\^','W','ᵂ') | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |   call s:SuperSub('texSuperscript','\^',',','︐') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^',':','︓') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^',';','︔') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:SuperSub('texSuperscript','\^','+','⁺') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','-','⁻') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','<','˂') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','>','˃') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','/','ˊ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','(','⁽') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^',')','⁾') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','\.','˙') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSuperscript','\^','=','˭') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','0','₀') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','1','₁') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','2','₂') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','3','₃') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','4','₄') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','5','₅') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','6','₆') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','7','₇') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','8','₈') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','9','₉') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','a','ₐ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','e','ₑ') | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','h','ₕ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','i','ᵢ') | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','j','ⱼ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','k','ₖ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','l','ₗ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','m','ₘ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','n','ₙ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','o','ₒ') | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','p','ₚ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','r','ᵣ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','s','ₛ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','t','ₜ') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','u','ᵤ') | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','v','ᵥ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','x','ₓ') | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |  |   call s:SuperSub('texSubscript','_',',','︐') | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   call s:SuperSub('texSubscript','_','+','₊') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','-','₋') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','/','ˏ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','(','₍') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_',')','₎') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','\.','‸') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','r','ᵣ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','v','ᵥ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','x','ₓ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','\\delta\>','ᵨ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','\\phi\>'  ,'ᵩ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ') | 
					
						
							|  |  |  |  |   call s:SuperSub('texSubscript','_','\\chi\>'  ,'ᵪ') | 
					
						
							| 
									
										
										
										
											2016-06-26 16:17:58 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   delfun s:SuperSub | 
					
						
							|  |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-07-26 22:51:56 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  |  " Accented characters and Ligatures: {{{2 | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |  if s:tex_conceal =~# 'a' | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   if b:tex_stylish | 
					
						
							|  |  |  |  |    syn match texAccent		"\\[bcdvuH][^a-zA-Z@]"me=e-1 | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  |    syn match texLigature	"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 | 
					
						
							|  |  |  |  |    syn match texLigature	'--' | 
					
						
							|  |  |  |  |    syn match texLigature	'---' | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   else | 
					
						
							|  |  |  |  |    fun! s:Accents(chr,...) | 
					
						
							|  |  |  |  |      let i= 1 | 
					
						
							| 
									
										
										
										
											2014-03-22 21:02:50 +01:00
										 |  |  |  |      for accent in ["`","\\'","^",'"','\~','\.','=',"c","H","k","r","u","v"] | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |       if i > a:0 | 
					
						
							|  |  |  |  |        break | 
					
						
							|  |  |  |  |       endif | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |       if strlen(a:{i}) == 0 || a:{i} == ' ' || a:{i} == '?' | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |        let i= i + 1 | 
					
						
							|  |  |  |  |        continue | 
					
						
							|  |  |  |  |       endif | 
					
						
							| 
									
										
										
										
											2016-02-25 00:00:01 +01:00
										 |  |  |  |       if accent =~# '\a' | 
					
						
							| 
									
										
										
										
											2010-08-10 21:43:35 +02:00
										 |  |  |  |        exe "syn match texAccent '".'\\'.accent.'\(\s*{'.a:chr.'}\|\s\+'.a:chr.'\)'."' conceal cchar=".a:{i} | 
					
						
							|  |  |  |  |       else | 
					
						
							|  |  |  |  |        exe "syn match texAccent '".'\\'.accent.'\s*\({'.a:chr.'}\|'.a:chr.'\)'."' conceal cchar=".a:{i} | 
					
						
							|  |  |  |  |       endif | 
					
						
							| 
									
										
										
										
											2010-07-28 17:25:21 +02:00
										 |  |  |  |       let i= i + 1 | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |      endfor | 
					
						
							|  |  |  |  |    endfun | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  |    "                  \`  \'  \^  \"  \~  \.  \=  \c  \H  \k  \r  \u  \v | 
					
						
							|  |  |  |  |    call s:Accents('a','à','á','â','ä','ã','ȧ','ā',' ',' ','ą','å','ă','ǎ') | 
					
						
							|  |  |  |  |    call s:Accents('A','À','Á','Â','Ä','Ã','Ȧ','Ā',' ',' ','Ą','Å','Ă','Ǎ') | 
					
						
							|  |  |  |  |    call s:Accents('c',' ','ć','ĉ',' ',' ','ċ',' ','ç',' ',' ',' ',' ','č') | 
					
						
							|  |  |  |  |    call s:Accents('C',' ','Ć','Ĉ',' ',' ','Ċ',' ','Ç',' ',' ',' ',' ','Č') | 
					
						
							|  |  |  |  |    call s:Accents('d',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ď') | 
					
						
							|  |  |  |  |    call s:Accents('D',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ď') | 
					
						
							|  |  |  |  |    call s:Accents('e','è','é','ê','ë','ẽ','ė','ē','ȩ',' ','ę',' ','ĕ','ě') | 
					
						
							|  |  |  |  |    call s:Accents('E','È','É','Ê','Ë','Ẽ','Ė','Ē','Ȩ',' ','Ę',' ','Ĕ','Ě') | 
					
						
							|  |  |  |  |    call s:Accents('g',' ','ǵ','ĝ',' ',' ','ġ',' ','ģ',' ',' ',' ','ğ','ǧ') | 
					
						
							|  |  |  |  |    call s:Accents('G',' ','Ǵ','Ĝ',' ',' ','Ġ',' ','Ģ',' ',' ',' ','Ğ','Ǧ') | 
					
						
							|  |  |  |  |    call s:Accents('h',' ',' ','ĥ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ȟ') | 
					
						
							|  |  |  |  |    call s:Accents('H',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ȟ') | 
					
						
							|  |  |  |  |    call s:Accents('i','ì','í','î','ï','ĩ','į','ī',' ',' ','į',' ','ĭ','ǐ') | 
					
						
							|  |  |  |  |    call s:Accents('I','Ì','Í','Î','Ï','Ĩ','İ','Ī',' ',' ','Į',' ','Ĭ','Ǐ') | 
					
						
							|  |  |  |  |    call s:Accents('J',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ǰ') | 
					
						
							|  |  |  |  |    call s:Accents('k',' ',' ',' ',' ',' ',' ',' ','ķ',' ',' ',' ',' ','ǩ') | 
					
						
							|  |  |  |  |    call s:Accents('K',' ',' ',' ',' ',' ',' ',' ','Ķ',' ',' ',' ',' ','Ǩ') | 
					
						
							|  |  |  |  |    call s:Accents('l',' ','ĺ','ľ',' ',' ',' ',' ','ļ',' ',' ',' ',' ','ľ') | 
					
						
							|  |  |  |  |    call s:Accents('L',' ','Ĺ','Ľ',' ',' ',' ',' ','Ļ',' ',' ',' ',' ','Ľ') | 
					
						
							|  |  |  |  |    call s:Accents('n',' ','ń',' ',' ','ñ',' ',' ','ņ',' ',' ',' ',' ','ň') | 
					
						
							|  |  |  |  |    call s:Accents('N',' ','Ń',' ',' ','Ñ',' ',' ','Ņ',' ',' ',' ',' ','Ň') | 
					
						
							|  |  |  |  |    call s:Accents('o','ò','ó','ô','ö','õ','ȯ','ō',' ','ő','ǫ',' ','ŏ','ǒ') | 
					
						
							|  |  |  |  |    call s:Accents('O','Ò','Ó','Ô','Ö','Õ','Ȯ','Ō',' ','Ő','Ǫ',' ','Ŏ','Ǒ') | 
					
						
							|  |  |  |  |    call s:Accents('r',' ','ŕ',' ',' ',' ',' ',' ','ŗ',' ',' ',' ',' ','ř') | 
					
						
							|  |  |  |  |    call s:Accents('R',' ','Ŕ',' ',' ',' ',' ',' ','Ŗ',' ',' ',' ',' ','Ř') | 
					
						
							|  |  |  |  |    call s:Accents('s',' ','ś','ŝ',' ',' ',' ',' ','ş',' ','ȿ',' ',' ','š') | 
					
						
							|  |  |  |  |    call s:Accents('S',' ','Ś','Ŝ',' ',' ',' ',' ','Ş',' ',' ',' ',' ','Š') | 
					
						
							|  |  |  |  |    call s:Accents('t',' ',' ',' ',' ',' ',' ',' ','ţ',' ',' ',' ',' ','ť') | 
					
						
							|  |  |  |  |    call s:Accents('T',' ',' ',' ',' ',' ',' ',' ','Ţ',' ',' ',' ',' ','Ť') | 
					
						
							|  |  |  |  |    call s:Accents('u','ù','ú','û','ü','ũ',' ','ū',' ','ű','ų','ů','ŭ','ǔ') | 
					
						
							|  |  |  |  |    call s:Accents('U','Ù','Ú','Û','Ü','Ũ',' ','Ū',' ','Ű','Ų','Ů','Ŭ','Ǔ') | 
					
						
							|  |  |  |  |    call s:Accents('w',' ',' ','ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ') | 
					
						
							|  |  |  |  |    call s:Accents('W',' ',' ','Ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ') | 
					
						
							|  |  |  |  |    call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',' ',' ',' ',' ',' ',' ',' ',' ') | 
					
						
							|  |  |  |  |    call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',' ',' ',' ',' ',' ',' ',' ',' ') | 
					
						
							|  |  |  |  |    call s:Accents('z',' ','ź',' ',' ',' ','ż',' ',' ',' ',' ',' ',' ','ž') | 
					
						
							|  |  |  |  |    call s:Accents('Z',' ','Ź',' ',' ',' ','Ż',' ',' ',' ',' ',' ',' ','Ž') | 
					
						
							| 
									
										
										
										
											2014-03-22 21:02:50 +01:00
										 |  |  |  |    call s:Accents('\\i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ',' ','ĭ',' ') | 
					
						
							|  |  |  |  |    "                    \`  \'  \^  \"  \~  \.  \=  \c  \H  \k  \r  \u  \v | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |    delfun s:Accents | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  |    syn match texAccent		'\\aa\>'	conceal cchar=å | 
					
						
							|  |  |  |  |    syn match texAccent		'\\AA\>'	conceal cchar=Å | 
					
						
							|  |  |  |  |    syn match texAccent		'\\o\>'		conceal cchar=ø | 
					
						
							|  |  |  |  |    syn match texAccent		'\\O\>'		conceal cchar=Ø | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |    syn match texLigature	'\\AE\>'	conceal cchar=Æ | 
					
						
							|  |  |  |  |    syn match texLigature	'\\ae\>'	conceal cchar=æ | 
					
						
							|  |  |  |  |    syn match texLigature	'\\oe\>'	conceal cchar=œ | 
					
						
							|  |  |  |  |    syn match texLigature	'\\OE\>'	conceal cchar=Œ | 
					
						
							|  |  |  |  |    syn match texLigature	'\\ss\>'	conceal cchar=ß | 
					
						
							| 
									
										
										
										
											2017-11-05 18:19:24 +01:00
										 |  |  |  |    syn match texLigature	'--'		conceal cchar=– | 
					
						
							|  |  |  |  |    syn match texLigature	'---'		conceal cchar=— | 
					
						
							| 
									
										
										
										
											2010-08-02 22:12:46 +02:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2010-07-26 22:51:56 +02:00
										 |  |  |  |  endif | 
					
						
							| 
									
										
										
										
											2010-07-02 20:20:09 +02:00
										 |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " --------------------------------------------------------------------- | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " LaTeX synchronization: {{{1 | 
					
						
							|  |  |  |  | syn sync maxlines=200 | 
					
						
							|  |  |  |  | syn sync minlines=50 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | syn  sync match texSyncStop			groupthere NONE		"%stopzone\>" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | " Synchronization: {{{1 | 
					
						
							|  |  |  |  | " The $..$ and $$..$$ make for impossible sync patterns | 
					
						
							|  |  |  |  | " (one can't tell if a "$$" starts or stops a math zone by itself) | 
					
						
							|  |  |  |  | " The following grouptheres coupled with minlines above | 
					
						
							|  |  |  |  | " help improve the odds of good syncing. | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  | if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{abstract}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{center}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{description}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{enumerate}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{itemize}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{table}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\end{tabular}" | 
					
						
							|  |  |  |  |  syn sync match texSyncMathZoneA		groupthere NONE		"\\\(sub\)*section\>" | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-02 20:20:09 +02:00
										 |  |  |  | " --------------------------------------------------------------------- | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | " Highlighting: {{{1 | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | " Define the default highlighting. {{{1 | 
					
						
							|  |  |  |  | if !exists("skip_tex_syntax_inits") | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |   " TeX highlighting groups which should share similar highlighting | 
					
						
							| 
									
										
										
										
											2014-09-09 18:48:09 +02:00
										 |  |  |  |   if !exists("g:tex_no_error") | 
					
						
							| 
									
										
										
										
											2013-06-01 14:50:56 +02:00
										 |  |  |  |    if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |     hi def link texBadMath		texError | 
					
						
							| 
									
										
										
										
											2022-04-27 15:25:03 +01:00
										 |  |  |  |     hi def link texBadPar		texBadMath | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |     hi def link texMathDelimBad		texError | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |     hi def link texMathError		texError | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |     if !b:tex_stylish | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |       hi def link texOnlyMath		texError | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |     endif | 
					
						
							|  |  |  |  |    endif | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |    hi def link texError			Error | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |   endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-25 19:07:41 +02:00
										 |  |  |  |   hi texBoldStyle		gui=bold	cterm=bold | 
					
						
							|  |  |  |  |   hi texItalStyle		gui=italic	cterm=italic | 
					
						
							|  |  |  |  |   hi texBoldItalStyle		gui=bold,italic cterm=bold,italic | 
					
						
							|  |  |  |  |   hi texItalBoldStyle		gui=bold,italic cterm=bold,italic | 
					
						
							| 
									
										
										
										
											2019-04-04 13:11:03 +02:00
										 |  |  |  |   hi def link texEmphStyle	texItalStyle | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texCite		texRefZone | 
					
						
							|  |  |  |  |   hi def link texDefCmd		texDef | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texDefName	texDef | 
					
						
							|  |  |  |  |   hi def link texDocType	texCmdName | 
					
						
							|  |  |  |  |   hi def link texDocTypeArgs	texCmdArgs | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texInputFileOpt	texCmdArgs | 
					
						
							|  |  |  |  |   hi def link texInputCurlies	texDelimiter | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texLigature	texSpecialChar | 
					
						
							| 
									
										
										
										
											2015-01-10 15:09:25 +01:00
										 |  |  |  |   if !exists("g:tex_no_math") | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |    hi def link texMathDelimSet1	texMathDelim | 
					
						
							|  |  |  |  |    hi def link texMathDelimSet2	texMathDelim | 
					
						
							|  |  |  |  |    hi def link texMathDelimKey	texMathDelim | 
					
						
							|  |  |  |  |    hi def link texMathMatcher	texMath | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |    hi def link texAccent	texStatement | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |    hi def link texGreek		texStatement | 
					
						
							|  |  |  |  |    hi def link texSuperscript	texStatement | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |    hi def link texSubscript	texStatement | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |    hi def link texSuperscripts 	texSuperscript | 
					
						
							|  |  |  |  |    hi def link texSubscripts 	texSubscript | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |    hi def link texMathSymbol	texStatement | 
					
						
							|  |  |  |  |    hi def link texMathZoneV	texMath | 
					
						
							|  |  |  |  |    hi def link texMathZoneW	texMath | 
					
						
							|  |  |  |  |    hi def link texMathZoneX	texMath | 
					
						
							|  |  |  |  |    hi def link texMathZoneY	texMath | 
					
						
							|  |  |  |  |    hi def link texMathZoneV	texMath | 
					
						
							|  |  |  |  |    hi def link texMathZoneZ	texMath | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  |   endif | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texBeginEnd	texCmdName | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texBeginEndName	texSection | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texSpaceCode	texStatement | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texStyleStatement	texStatement | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texTypeSize	texType | 
					
						
							|  |  |  |  |   hi def link texTypeStyle	texType | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |    " Basic TeX highlighting groups | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texCmdArgs	Number | 
					
						
							|  |  |  |  |   hi def link texCmdName	Statement | 
					
						
							|  |  |  |  |   hi def link texComment	Comment | 
					
						
							|  |  |  |  |   hi def link texDef		Statement | 
					
						
							|  |  |  |  |   hi def link texDefParm	Special | 
					
						
							|  |  |  |  |   hi def link texDelimiter	Delimiter | 
					
						
							| 
									
										
										
										
											2025-02-08 18:32:14 +01:00
										 |  |  |  |   hi def link texEnvArgs	Number | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texInput		Special | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texInputFile	Special | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texLength		Number | 
					
						
							|  |  |  |  |   hi def link texMath		Special | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texMathDelim	Statement | 
					
						
							|  |  |  |  |   hi def link texMathOper	Operator | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texNewCmd		Statement | 
					
						
							|  |  |  |  |   hi def link texNewEnv		Statement | 
					
						
							|  |  |  |  |   hi def link texOption		Number | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texRefZone	Special | 
					
						
							|  |  |  |  |   hi def link texSection	PreCondit | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texSpaceCodeChar	Special | 
					
						
							| 
									
										
										
										
											2016-10-27 17:00:16 +02:00
										 |  |  |  |   hi def link texSpecialChar	SpecialChar | 
					
						
							|  |  |  |  |   hi def link texStatement	Statement | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  |  |   hi def link texString		String | 
					
						
							|  |  |  |  |   hi def link texTodo		Todo | 
					
						
							|  |  |  |  |   hi def link texType		Type | 
					
						
							|  |  |  |  |   hi def link texZone		PreCondit | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-20 22:22:38 +02:00
										 |  |  |  | " Cleanup: {{{1 | 
					
						
							| 
									
										
										
										
											2015-10-30 14:37:44 +01:00
										 |  |  |  | delc TexFold | 
					
						
							| 
									
										
										
										
											2010-12-10 20:35:50 +01:00
										 |  |  |  | unlet s:extfname | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |  | let   b:current_syntax = "tex" | 
					
						
							| 
									
										
										
										
											2011-10-20 22:22:38 +02:00
										 |  |  |  | let &cpo               = s:keepcpo | 
					
						
							|  |  |  |  | unlet s:keepcpo | 
					
						
							| 
									
										
										
										
											2010-08-05 22:08:47 +02:00
										 |  |  |  | " vim: ts=8 fdm=marker |