% \lst@definelanguage[...]{TeX}{%
 %   % Control sequences names
 %   moretexcs={%
 %   },%
 %   % Keywords of class 1 : keywords that contain other characters
 %   % (since of the same class as the ones specified as 'otherkeywords')
 %   morekeywords={%
 %   },%
 %   % Keywords of class 2 : environments names
 %   morekeywords=[2]{%
 %   },%
 %   % Keywords of class 3 : mandatory arguments (not environments) &
 %   % optional arguments which are keys (in key=value)
 %   morekeywords=[3]{%
 %   },%
 %   % Keywords of class 4 : values of keys (in key=value)
 %   morekeywords=[4]{%
 %   },%
 %   % Keywords of class 5 : arguments specifications (after ":" in expl3
 %   % syntax)
 %   morekeywords=[5]{%
 %    },%
 %   % Keywords of class 6 : current package name (and possibly derived
 %   % packages)
 %    morekeywords=[6]{%
 %      %
 %   },%
 %   % otherkeywords={},
 %   % alsoletter={},
 %   % alsodigit={},%
 %   % alsoother={},%
 %   sensitive,%
 % }[keywords,tex,comments]

\lst@definelanguage[Scrabble]{TeX}{%
   % Control sequences names
   moretexcs={%
     PlateauScrabble,ScrabblePlaceMot,%
     ScrabbleBoard,ScrabblePutWord,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     EnvScrabble,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     FR,EN,DE,ES,GR,SP,%
     Echelle,Echellelabels,Cadre,Labels,Aide,%
     Scale,ScaleLabels,Border,Help,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      Scrabble%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[FiraSans]{TeX}{%
   % Control sequences names
  moretexcs={%
    sufigures,firaoldstyle,firalining,firatabular,firaproportional,
    firathin,firalight,firaextralight,firaultralight,firamedium,firabook,
    firasemibold,firaextrabold,firaheavy,%
  }%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     sfdefault,scaled,scale,type1,lining,lf,oldstyle,osf,tabular,t,proportional,%
     p,book,medium,mb,semibold,sb,light,l,extralight,ultralight,thin,%
     extrabold,heavy,default,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      FiraSans%
   },%
   % otherkeywords={},
   alsoletter={1},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[luagcd]{TeX}{%
   % Control sequences names
   moretexcs={%
     luagcdwithsteps,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      luagcd%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[maze]{TeX}{%
   % Control sequences names
   moretexcs={%
     maze,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      maze%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[animate]{TeX}{%
   % Control sequences names
   moretexcs={%
     multiframe,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     animateinline,
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     poster,controls,palindrome,bb,rx,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     first,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      animate%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[tikz-mirror-lens]{TeX}{%
   % Control sequences names
   moretexcs={%
     lensSphGaussFixed,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      tikz-mirror-lens%
   },%
   % otherkeywords={},
   alsoletter={-},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[jeuxcartes]{TeX}{%
   % Control sequences names
   moretexcs={%
     MainCartesJeu,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     Eventail,10C,10K,AC,AT,AP,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      jeuxcartes%
   },%
   % otherkeywords={},
   alsoletter={0123456789},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[plex-otf]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     RM
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      plex-otf%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[mathtools]{TeX}{%
   % Control sequences names
   moretexcs={%
     mathclap,DeclarePairedDelimiter,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      %
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[tikz-ext]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     distancebetween,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      tikz-ext%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[tikzfill]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     pattern,hexagon,cycle,color,
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      tikzfill
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[unicodemath]{TeX}{%
   % Control sequences names
   moretexcs={%
     symscr,symbb,symfrak,symsfup,symsfit,symtt,setmathfont,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     range,mathrm,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     up,it,bb,bbit,scr,cal,bfcal,frak,tt,sfup ,sfit,bfup,bfit,bfscr,bffrak,%
     bfsfup,bfsfit,sym,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     unicode-math
   },%
   % otherkeywords={},
   alsoletter={-},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[xcharter-otf]{TeX}{%
   % Control sequences names
   moretexcs={%
     Bbbone,Bbbk,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     range
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     xcharter-otf
   },%
   % otherkeywords={},
   alsoletter={-},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[braille]{TeX}{%
 % Control sequences names
   moretexcs={%
     braille
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      %
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

\lst@definelanguage[swungdash]{TeX}{%
   % Control sequences names
  moretexcs={%
    swungdash
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      %
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]


\lst@definelanguage[simples-matrices]{TeX}{%
   % Control sequences names
  moretexcs={%
    matrice
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     b,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      %
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[customdice]{TeX}{%
   % Control sequences names
  moretexcs={%
    dice
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     violet,yellow
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      %
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]

 \lst@definelanguage[pingu]{TeX}{%
   % Control sequences names
   moretexcs={%
     pingu
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     left,wing,wave,right,grab,eyes,shiny,cup,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
    },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
    morekeywords=[6]{%
      %
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[letgut]{TeX}{%
   % Control sequences names
   moretexcs={%
     letgutsetup,title,subtitle,author,francophony,person,author,%
     package,package*,class,class*,software,software*,file,file*,%
     foreignloc,latinloc,gutenberg,gut,lettre,lettregut,Cahier,%
     Cahiers,letgut,letgutcls,knuth,lamport,tugboat,item*,letgutacro,%
     separator,alertbox,terminal,inputarticle,lettrenumber,solution,%
     rebussolution,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     ctannews,ltx-code,ltx-code-result,ltx-code-external-result,%
     bookreview,announcement,rebus,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     for-authors,for-readers,draft,final,screen,paper,number,date,%
     pagecolor,allcolorslinks,membership-reminder,editorial,informations,%
     title,addon,result width,reference,text,title,reviewer,bibkey,%
     frontcover,price,result,and,no,solution,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     letgut%
   },%
   % otherkeywords={},%
   alsoletter={-\ },%
   % alsodigit={},%
   alsoother={*},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % LaTeX texcs and keywords that are missing in `listings` driver file
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\lst@definelanguage[extendedLaTeX]{TeX}{%
   % Control sequences names
   moretexcs={%
     Huge,LARGE,Large,LoadClass,NewCommandCopy,RequirePackage,%
     ShowCommand,abovecaptionskip,abstractname,appendix,appendixname,%
     arraycolsep,arrayrulewidth,author,backmatter,baselinestretch,%
     belowcaptionskip,bf,bibindent,bibname,bigskipamount,bottomfraction,%
     brokenpenalty,cal,chapter,chaptermark,chaptername,clubpenalty,%
     columnsep,columnseprule,contentsname,date,dblfloatpagefraction,%
     dblfloatsep,dbltextfloatsep,dbltopfraction,descriptionlabel,%
     displaywidowpenalty,doublerulesep,evensidemargin,fboxrule,fboxsep,%
     figurename,floatpagefraction,floatsep,footins,footnoterule,%
     footnotesep,footnotesize,footskip,frontmatter,headheight,headsep,%
     huge,indexname,indexspace,interlinepenalty,intextsep,it,jot,%
     labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,%
     labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,%
     labelwidth,large,leftmargin,leftmargini,leftmarginii,leftmarginiii,%
     leftmarginiv,leftmarginv,leftmarginvi,lineskip,listfigurename,%
     listoffigures,listoftables,listtablename,mainmatter,maketitle,%
     marginparpush,marginparsep,marginparwidth,maxdepth,medskipamount,%
     mit,newblock,normallineskip,normalsize,oddsidemargin,paragraph,%
     paragraphmark,parindent,parskip,part,partname,partopsep,%
     postdisplaypenalty,predisplaypenalty,refname,rm,sc,scriptsize,%
     section,sectionmark,setlength,sf,sl,small,smallskipamount,%
     subitem,subparagraph,subparagraphmark,subsection,subsectionmark,%
     subsubitem,subsubsection,subsubsectionmark,tabbingsep,tabcolsep,%
     tablename,tableofcontents,textfloatsep,textfraction,textheight,%
     textwidth,thechapter,theenumi,theenumii,theenumiii,theenumiv,%
     theequation,theparagraph,thepart,thesection,thesubparagraph,%
     thesubsection,thesubsubsection,tiny,title,today,topfraction,%
     topmargin,topskip,tt,widowpenalty,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     abstract,array,center,description,displaymath,document,enumerate,%
     eqnarray,equation,figure,flushleft,flushright,itemize,list,lrbox,math,%
     minipage,picture,quotation,quote,sloppypar,tabbing,table,tabular,%
     thebibliography,theindex,titlepage,trivlist,verbatim,verse,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     % c,cc,ccc,cccc,X,l,
     empty,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     %
   },
   otherkeywords={|},%
   % alsoletter={},% alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[listings]{TeX}{%
   % Control sequences names
   moretexcs={%
     lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
     lstdefineformat,lstdefinelanguage,lst@definelanguage,lstdefinestyle,%
     lstindexmacro,lstinline,lstinputlisting,lstlanguagefiles,%
     lstlgrindeffile,lstlistingname,lstlistingnamestyle,%
     lstlistlistingname,lstlistoflistings,lstloadlanguages,lstname,%
     lstnewenvironment,lstset,theHlstnumber,thelstlabel,thelstlisting,%
     thelstnumber,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     lstlisting,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     0.21,ABAP,ACM,ACMscript,ACSL,Ada,Algol,Ant,Assembler,Awk,%
     Basic,C,C++,CIL,Caml,Clean,Cobol,Comal 80,Comsol,Delphi,%
     Eiffel,Elan,Euphoria,Fortran,GAP,GCL,Gnuplot,Go,HTML,Haskell,%
     IDL,JVMIS,Java,LLVM,Lingo,Lisp,Logo,Lua,ML,Mathematica,Matlab,%
     Mercury,MetaPost,Miranda,Mizar,Modula-2,MuPAD,NASTRAN,OCL,%
     OORexx,Oberon-2,Octave,Oz,PHP,PL/I,POV,PSTricks,Pascal,Perl,%
     Plasm,PostScript,Prolog,Promela,Python,R,RSL,Reduce,Rexx,Ruby,%
     S,SAS,SHELXL,SPARQL,SQL,Scala,Scilab,Simula,Swift,TeX,%
     VBScript,VHDL,VRML,Verilog,XML,XSLT,[03]Fortran,[08]Fortran,%
     [1.0]Mathematica,[11.0]Mathematica,[11]C++,[1974]Cobol,[1985]Cobol,%
     [2005]Ada,[3.0]Mathematica,[5.0]Lua,[5.1]Lua,[5.2]Lua,%
     [5.2]Mathematica,[5.3]Lua,[60]Algol,[67]Simula,[68]Algol,%
     [77]Fortran,[83]Ada,[90]Fortran,[95]Ada,[95]Fortran,[97]VRML,%
     [AMS]VHDL,[ANSI]C,[ANSI]C++,[AlLaTeX]TeX,[AspectJ]Java,[Auto]Lisp,%
     [Borland6]Pascal,[CII]Simula,[CORBA]IDL,[DEC]Simula,[GNU]C++,%
     [Handel]C,[IBM]Simula,[ISO]C++,[LaTeX]TeX,[Motorola68k]Assembler,%
     [OMG]OCL,[Objective]C,[Objective]Caml,[PLUS]S,[POSIX]Awk,[R/2
     4.3]ABAP,[R/2 5.0]ABAP,[R/3 3.1]ABAP,[R/3 4.6C]ABAP,[R/3 6.10]ABAP,%
     [Sharp]C,[Standard]Pascal,[VM/XA]Rexx,[Visual]Basic,[Visual]C++,%
     [WinXP]command.com,[XSC]Pascal,[common]TeX,[decorative]OCL,%
     [empty]IDL,[empty]Java,[empty]Lisp,[empty]Rexx,[empty]S,%
     [empty]VHDL,[empty]make,[empty]tcl,[gnu]Awk,[gnu]make,[ibm]Cobol,%
     [light]Caml,[plain]TeX,[primitive]TeX,[tk]tcl,[x86masm]Assembler,%
     abovecaptionskip,aboveskip,alsodigit,alsolanguage,alsoletter,%
     alsoother,backgroundcolor,basewidth,bash,basicstyle,%
     belowcaptionskip,belowskip,boxpos,breakatwhitespace,breakautoindent,%
     breakindent,breaklines,caption,captionpos,classoffset,columns,%
     command.com,comment,comments,commentstyle,consecutivenumbers,csh,%
     defaultdialect,deletecomment,deletedelim,deletedirectives,%
     deleteemph,deleteendkeywords,deletehyperref,deleteindex,%
     deletekeywordcomment,deletekeywords,deleteprocnamekeys,deletestring,%
     deletetxcs,delim,directives,directivestyle,draft,elisp,emph,%
     emphstyle,emptylines,erlang,escapebegin,escapechar,escapeend,%
     escapeinside,extendedchars,fancyvrb,fillcolor,final,firstline,%
     firstnumber,flexiblecolumns,float,floatplacement,fontadjust,%
     formats,formfeed,frame,frameround,framerule,framesep,frameshape,%
     framexbottommargin,framexleftmargin,framexrightmargin,%
     framextopmargin,fvcmdparams,gobble,hansl,hyper,hyperanchor,%
     hyperlink,hyperref,identifierstyle,includerangemarker,index,%
     indexprocnames,indexstyle,inform,inputencoding,inputpath,%
     keepspaces,keywordcomment,keywordcommentsemicolon,keywords,%
     keywordsprefix,keywordstyle,ksh,label,language,lastline,lgrind,%
     lgrindef,linerange,lineskip,linewidth,literate,make,makemacrouse,%
     markfirstintag,mathescape,morecomment,moredelim,moredirectives,%
     moreemph,moreendkeywords,morefvcmdparams,morehyperref,moreindex,%
     morekeywordcomment,morekeywords,moreprocnamekeys,morestring,%
     moretexcs,multicols,name,ndkeywords,ndkeywordstyle,noaspects,%
     nolol,numberblanklines,numberbychapter,numberfirstline,numbers,%
     numbersep,numberstyle,otherkeywords,podcomment,postbreak,prebreak,%
     print,printpod,procnamekeys,procnames,procnamestyle,%
     rangebeginprefix,rangebeginsuffix,rangeendprefix,rangeendsuffix,%
     rangeprefix,rangesuffix,resetmargins,rulecolor,rulesep,%
     rulesepcolor,savemem,sensitive,%
     sh,showlines,showspaces,showstringspaces,showtabs,stepnumber,%
     string,stringstyle,style,tab,tabsize,tag,tagstyle,tcl,texcl,%
     texcs,texcsstyle,title,upquote,usekeywordsintag,xleftmargin,%
     xrightmargin,LaTeX,TeX,tex%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     b,c,t,none,left,right,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     listings,%
   },%
   % otherkeywords={},%
   alsoletter={@021.[]},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[xcolor]{TeX}{%
   % Control sequences names
   moretexcs={%
     color,pagecolor,definecolor,colorlet,textcolor,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,%
     lightgray,brown,lime,olive,orange,pink,purple,teal,violet },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     xcolor },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[expl3]{TeX}{%
   % Control sequences names
   moretexcs={%
     .bool_gset,%
     ExplFileDate,ExplFileDescription,ExplFileName,ExplFileVersion,%
     ExplSyntaxOff,ExplSyntaxOn,GetIdInfo,ProvidesExplClass,%
     ProvidesExplFile,ProvidesExplPackage,bool_case_false,bool_case_true,%
     bool_const,bool_do_until,bool_do_while,bool_gset,bool_gset_eq,%
     bool_gset_false,bool_gset_inverse,bool_gset_true,bool_if,%
     bool_if_exist,bool_if_exist_p,bool_if_p,bool_lazy_all,%
     bool_lazy_all_p,bool_lazy_and,bool_lazy_and_p,bool_lazy_any,%
     bool_lazy_any_p,bool_lazy_or,bool_lazy_or_p,bool_log,bool_new,%
     bool_not_p,bool_set,bool_set_eq,bool_set_false,bool_set_inverse,%
     bool_set_true,bool_show,bool_to_str,bool_until_do,bool_while_do,%
     bool_xor,bool_xor_p,box_autosize_to_wd_and_ht,%
     box_autosize_to_wd_and_ht_plus_dp,box_clear,box_clear_new,box_clip,%
     box_dp,box_gautosize_to_wd_and_ht,box_gautosize_to_wd_and_ht_plus_dp,%
     box_gclear,box_gclear_new,box_gclip,box_gresize_to_ht,%
     box_gresize_to_ht_plus_dp,box_gresize_to_wd,box_gresize_to_wd_and_ht,%
     box_gresize_to_wd_and_ht_plus_dp,box_grotate,box_gscale,box_gset_dp,%
     box_gset_eq,box_gset_eq_drop,box_gset_ht,box_gset_to_last,%
     box_gset_trim,box_gset_viewport,box_gset_wd,box_ht,box_ht_plus_dp,%
     box_if_empty,box_if_empty_p,box_if_exist,box_if_exist_p,%
     box_if_horizontal,box_if_horizontal_p,box_if_vertical,%
     box_if_vertical_p,box_log,box_move_down,box_move_left,%
     box_move_right,box_move_up,box_new,box_resize_to_ht,%
     box_resize_to_ht_plus_dp,box_resize_to_wd,box_resize_to_wd_and_ht,%
     box_resize_to_wd_and_ht_plus_dp,box_rotate,box_scale,box_set_dp,%
     box_set_eq,box_set_eq_drop,box_set_ht,box_set_to_last,box_set_trim,%
     box_set_viewport,box_set_wd,box_show,box_use,box_use_drop,box_wd,%
     c_alignment_token,c_ampersand_str,c_atsign_str,c_backslash_str,%
     c_catcode_active_space_tl,c_catcode_active_tl,c_catcode_letter_token,%
     c_catcode_other_space_tl,c_catcode_other_token,c_circumflex_str,%
     c_code_cctab,c_colon_str,c_document_cctab,c_dollar_str,c_e_fp,%
     c_empty_box,c_empty_clist,c_empty_coffin,c_empty_prop,c_empty_seq,%
     c_empty_tl,c_false_bool,c_group_begin_token,c_group_end_token,%
     c_hash_str,c_inf_fp,c_initex_cctab,c_left_brace_str,c_log_iow,%
     c_math_subscript_token,c_math_superscript_token,c_math_toggle_token,%
     c_max_char_int,c_max_dim,c_max_int,c_max_muskip,c_max_register_int,%
     c_max_skip,c_minus_inf_fp,c_minus_zero_fp,c_nan_fp,c_novalue_tl,%
     c_one_degree_fp,c_one_fp,c_one_int,c_other_cctab,c_parameter_token,%
     c_percent_str,c_pi_fp,c_right_brace_str,c_space_tl,c_space_token,%
     c_str_cctab,c_sys_backend_str,c_sys_day_int,c_sys_engine_exec_str,%
     c_sys_engine_format_str,c_sys_engine_str,c_sys_engine_version_str,%
     c_sys_hour_int,c_sys_jobname_str,c_sys_minute_int,c_sys_month_int,%
     c_sys_output_str,c_sys_platform_str,c_sys_shell_escape_int,%
     c_sys_year_int,c_term_iow,c_tilde_str,c_true_bool,c_underscore_str,%
     c_zero_dim,c_zero_fp,c_zero_int,c_zero_muskip,c_zero_skip,%
     c_zero_str,cctab_begin,cctab_const,cctab_end,cctab_gset,%
     cctab_if_exist,cctab_if_exist_p,cctab_item,cctab_new,cctab_select,%
     char_foldcase,char_generate,char_gset_active_eq,char_lowercase,%
     char_set_active_eq,char_set_catcode,char_set_catcode_active,%
     char_set_catcode_alignment,char_set_catcode_comment,%
     char_set_catcode_end_line,char_set_catcode_escape,%
     char_set_catcode_group_begin,char_set_catcode_group_end,%
     char_set_catcode_ignore,char_set_catcode_invalid,%
     char_set_catcode_letter,char_set_catcode_math_subscript,%
     char_set_catcode_math_superscript,char_set_catcode_math_toggle,%
     char_set_catcode_other,char_set_catcode_parameter,%
     char_set_catcode_space,char_set_lccode,char_set_mathcode,%
     char_set_sfcode,char_set_uccode,char_show_value_catcode,%
     char_show_value_lccode,char_show_value_mathcode,%
     char_show_value_sfcode,char_show_value_uccode,char_str_foldcase,%
     char_str_lowercase,char_str_titlecase,char_str_uppercase,%
     char_titlecase,char_to_nfd,char_to_utfviii_bytes,char_uppercase,%
     char_value_catcode,char_value_lccode,char_value_mathcode,%
     char_value_sfcode,char_value_uccode,clist_clear,clist_clear_new,%
     clist_concat,clist_const,clist_count,clist_gclear,clist_gclear_new,%
     clist_gconcat,clist_get,clist_gpop,clist_gpush,clist_gput_left,%
     clist_gput_right,clist_gremove_all,clist_gremove_duplicates,%
     clist_greverse,clist_gset,clist_gset_eq,clist_gset_from_seq,%
     clist_gsort,clist_if_empty,clist_if_empty_p,clist_if_exist,%
     clist_if_exist_p,clist_if_in,clist_item,clist_log,clist_map_break,%
     clist_map_function,clist_map_inline,clist_map_tokens,%
     clist_map_variable,clist_new,clist_pop,clist_push,clist_put_left,%
     clist_put_right,clist_rand_item,clist_remove_all,%
     clist_remove_duplicates,clist_reverse,clist_set,clist_set_eq,%
     clist_set_from_seq,clist_show,clist_sort,clist_use,coffin_attach,%
     coffin_clear,coffin_display_handles,coffin_dp,coffin_gattach,%
     coffin_gclear,coffin_gjoin,coffin_gresize,coffin_grotate,%
     coffin_gscale,coffin_gset_eq,coffin_gset_horizontal_pole,%
     coffin_gset_vertical_pole,coffin_ht,coffin_if_exist,%
     coffin_if_exist_p,coffin_join,coffin_log,coffin_log_structure,%
     coffin_mark_handle,coffin_new,coffin_resize,coffin_rotate,%
     coffin_scale,coffin_set_eq,coffin_set_horizontal_pole,%
     coffin_set_vertical_pole,coffin_show,coffin_show_structure,%
     coffin_typeset,coffin_wd,color_ensure_current,color_export,%
     color_fill,color_group_begin,color_group_end,color_log,color_math,%
     color_model_new,color_profile_apply,color_select,color_set,%
     color_set_eq,color_show,color_stroke,cs_argument_spec,cs,cs_end,%
     cs_generate_from_arg_count,cs_generate_variant,cs_gset,cs_gset_eq,%
     cs_gset_nopar,cs_gset_protected,cs_gset_protected_nopar,cs_if_eq,%
     cs_if_eq_p,cs_if_exist,cs_if_exist_p,cs_if_exist_use,cs_if_free,%
     cs_if_free_p,cs_log,cs_meaning,cs_new,cs_new_eq,cs_new_nopar,%
     cs_new_protected,cs_new_protected_nopar,cs_prefix_spec,%
     cs_replacement_spec,cs_set,cs_set_eq,cs_set_nopar,cs_set_protected,%
     cs_set_protected_nopar,cs_show,cs_split_function,cs_to_str,%
     cs_undefine,debug_off,debug_on,debug_resume,debug_suspend,dim_abs,%
     dim_add,dim_case,dim_compare,dim_compare_p,dim_const,dim_do_until,%
     dim_do_while,dim_eval,dim_gadd,dim_gset,dim_gset_eq,dim_gsub,%
     dim_gzero,dim_gzero_new,dim_if_exist,dim_if_exist_p,dim_log,%
     dim_max,dim_min,dim_new,dim_ratio,dim_set,dim_set_eq,dim_show,%
     dim_sign,dim_step_function,dim_step_inline,dim_step_variable,%
     dim_sub,dim_to_decimal,dim_to_decimal_in_bp,dim_to_decimal_in_sp,%
     dim_to_decimal_in_unit,dim_to_fp,dim_until_do,dim_use,dim_while_do,%
     dim_zero,dim_zero_new,draw_begin,draw_end,else,exp_after,exp_args,%
     exp_args_generate,exp_end,exp_end_continue_f,exp_last_two_unbraced,%
     exp_last_unbraced,exp_not,exp_stop_f,expandafter,expanded,fi,%
     file_compare_timestamp,file_compare_timestamp_p,file_full_name,%
     file_get,file_get_full_name,file_get_hex_dump,file_get_mdfive_hash,%
     file_get_size,file_get_timestamp,file_hex_dump,file_if_exist,%
     file_if_exist_input,file_input,file_input_stop,file_log_list,%
     file_mdfive_hash,file_parse_full_name,file_parse_full_name_apply,%
     file_show_list,file_size,file_timestamp,flag_clear,flag_clear_new,%
     flag_height,flag_if_exist,flag_if_exist_p,flag_if_raised,%
     flag_if_raised_p,flag_log,flag_new,flag_raise,flag_raise_if_clear,%
     flag_show,fp_abs,fp_add,fp_compare,fp_compare_p,fp_const,%
     fp_do_until,fp_do_while,fp_eval,fp_format,fp_gadd,fp_gset,%
     fp_gset_eq,fp_gsub,fp_gzero,fp_gzero_new,fp_if_exist,fp_if_exist_p,%
     fp_if_nan,fp_if_nan_p,fp_log,fp_max,fp_min,fp_new,fp_set,%
     fp_set_eq,fp_show,fp_sign,fp_step_function,fp_step_inline,%
     fp_step_variable,fp_sub,fp_to_decimal,fp_to_dim,fp_to_int,%
     fp_to_scientific,fp_to_tl,fp_trap,fp_until_do,fp_use,fp_while_do,%
     fp_zero,fp_zero_new,fparray_count,fparray_gset,fparray_gzero,%
     fparray_item,fparray_item_to_tl,fparray_new,g_file_curr_dir_str,%
     g_file_curr_ext_str,g_file_curr_name_str,g_msg_module_name_prop,%
     g_msg_module_type_prop,g_peek_token,g_tmpa_bool,g_tmpa_box,%
     g_tmpa_clist,g_tmpa_coffin,g_tmpa_dim,g_tmpa_fp,g_tmpa_int,%
     g_tmpa_ior,g_tmpa_iow,g_tmpa_muskip,g_tmpa_prop,g_tmpa_regex,%
     g_tmpa_seq,g_tmpa_skip,g_tmpa_str,g_tmpa_tl,g_tmpb_bool,g_tmpb_box,%
     g_tmpb_clist,g_tmpb_coffin,g_tmpb_dim,g_tmpb_fp,g_tmpb_int,%
     g_tmpb_ior,g_tmpb_iow,g_tmpb_muskip,g_tmpb_prop,g_tmpb_regex,%
     g_tmpb_seq,g_tmpb_skip,g_tmpb_str,g_tmpb_tl,group_align_safe_begin,%
     group_align_safe_end,group_begin,group_end,group_insert_after,%
     group_log_list,group_show_list,hbox,hbox_gset,hbox_gset_end,%
     hbox_gset_to_wd,hbox_overlap_center,hbox_overlap_left,%
     hbox_overlap_right,hbox_set,hbox_set_end,hbox_set_to_wd,hbox_to_wd,%
     hbox_to_zero,hbox_unpack,hbox_unpack_drop,hcoffin_gset,%
     hcoffin_gset_end,hcoffin_set,hcoffin_set_end,if,if_bool,%
     if_box_empty,if_case,if_catcode,if_charcode,if_cs_exist,if_dim,%
     if_eof,if_false,if_hbox,if_int_compare,if_int_odd,if_meaning,%
     if_mode_horizontal,if_mode_inner,if_mode_math,if_mode_vertical,%
     if_predicate,if_true,if_vbox,int_abs,int_add,int_case,int_compare,%
     int_compare_p,int_const,int_decr,int_div_round,int_div_truncate,%
     int_do_until,int_do_while,int_eval,int_from_alph,int_from_base,%
     int_from_bin,int_from_hex,int_from_oct,int_from_roman,int_gadd,%
     int_gdecr,int_gincr,int_gset,int_gset_eq,int_gsub,int_gzero,%
     int_gzero_new,int_if_even,int_if_even_p,int_if_exist,int_if_exist_p,%
     int_if_odd,int_if_odd_p,int_incr,int_log,int_max,int_min,int_mod,%
     int_new,int_rand,int_set,int_set_eq,int_show,int_sign,%
     int_step_...,int_step_function,int_step_inline,int_step_variable,%
     int_sub,int_to_Alph,int_to_Base,int_to_Hex,int_to_Roman,%
     int_to_alph,int_to_arabic,int_to_base,int_to_bin,int_to_hex,%
     int_to_oct,int_to_roman,int_to_symbols,int_until_do,int_use,%
     int_value,int_while_do,int_zero,int_zero_new,%
     intarray_const_from_clist,intarray_count,intarray_gset,%
     intarray_gset_rand,intarray_gzero,intarray_item,intarray_log,%
     intarray_new,intarray_rand_item,intarray_show,intarray_to_clist,%
     ior_close,ior_get,ior_get_term,ior_if_eof,ior_if_eof_p,ior_log,%
     ior_log_list,ior_map_break,ior_map_inline,ior_map_variable,ior_new,%
     ior_open,ior_shell_open,ior_show,ior_show_list,ior_str_get,%
     ior_str_get_term,ior_str_map_inline,ior_str_map_variable,%
     iow_allow_break,iow_char,iow_close,iow_indent,iow_log,iow_log_list,%
     iow_new,iow_newline,iow_now,iow_open,iow_shipout,iow_shipout_x,%
     iow_show,iow_show_list,iow_term,iow_wrap,keys_define,%
     keys_if_choice_exist,keys_if_choice_exist_p,keys_if_exist,%
     keys_if_exist_p,keys_log,keys_set,keys_set_filter,keys_set_groups,%
     keys_set_known,keys_show,keyval_parse,l_char_active_seq,%
     l_char_special_seq,l_color_fixed_model_tl,l_color_math_active_tl,%
     l_file_search_path_seq,l_iow_line_count_int,l_keys_choice_int,%
     l_keys_choice_tl,l_keys_key_str,l_keys_path_str,%
     l_keys_usage_load_prop,l_keys_usage_preamble_prop,l_keys_value_tl,%
     l_my_int,l_peek_token,l_text_accents_tl,l_text_case_exclude_arg_tl,%
     l_text_expand_exclude_tl,l_text_letterlike_tl,l_text_math_arg_tl,%
     l_text_math_delims_tl,l_text_titlecase_check_letter_bool,l_tmpa_bool,%
     l_tmpa_box,l_tmpa_clist,l_tmpa_coffin,l_tmpa_dim,l_tmpa_fp,%
     l_tmpa_int,l_tmpa_muskip,l_tmpa_prop,l_tmpa_regex,l_tmpa_seq,%
     l_tmpa_skip,l_tmpa_str,l_tmpa_tl,l_tmpb_bool,l_tmpb_box,%
     l_tmpb_clist,l_tmpb_coffin,l_tmpb_dim,l_tmpb_fp,l_tmpb_int,%
     l_tmpb_muskip,l_tmpb_prop,l_tmpb_regex,l_tmpb_seq,l_tmpb_skip,%
     l_tmpb_str,l_tmpb_tl,legacy_if,legacy_if_gset,legacy_if_gset_false,%
     legacy_if_gset_true,legacy_if_p,legacy_if_set,legacy_if_set_false,%
     legacy_if_set_true,lua_escape,lua_now,lua_shipout,lua_shipout_e,%
     mode_if_horizontal,mode_if_horizontal_p,mode_if_inner,%
     mode_if_inner_p,mode_if_math,mode_if_math_p,mode_if_vertical,%
     mode_if_vertical_p,mode_leave_vertical,msg_critical,%
     msg_critical_text,msg_error,msg_error_text,msg_expandable_error,%
     msg_fatal,msg_fatal_text,msg_gset,msg_if_exist,msg_if_exist_p,%
     msg_info,msg_info_text,msg_line_context,msg_line_number,msg_log,%
     msg_log_eval,msg_module_name,msg_module_type,msg_new,msg_none,%
     msg_note,msg_redirect_class,msg_redirect_module,msg_redirect_name,%
     msg_see_documentation_text,msg_set,msg_show,msg_show_eval,%
     msg_show_item,msg_show_item_unbraced,msg_term,msg_warning,%
     msg_warning_text,muskip_add,muskip_const,muskip_eval,muskip_gadd,%
     muskip_gset,muskip_gset_eq,muskip_gsub,muskip_gzero,%
     muskip_gzero_new,muskip_if_exist,muskip_if_exist_p,muskip_log,%
     muskip_new,muskip_set,muskip_set_eq,muskip_show,muskip_sub,%
     muskip_use,muskip_zero,muskip_zero_new,pdf_destination,%
     pdf_object_if_exist,pdf_object_if_exist_p,pdf_object_new,%
     pdf_object_ref,pdf_object_ref_last,pdf_object_unnamed_write,%
     pdf_object_write,pdf_pageobject_ref,pdf_pagobject_ref,pdf_uncompress,%
     pdf_version,pdf_version_compare,pdf_version_compare_p,%
     pdf_version_gset,pdf_version_major,pdf_version_min_gset,%
     pdf_version_minor,peek_N_type,peek_after,peek_analysis_map_break,%
     peek_analysis_map_inline,peek_catcode,peek_catcode_collect_inline,%
     peek_catcode_remove,peek_charcode,peek_charcode_collect_inline,%
     peek_charcode_remove,peek_gafter,peek_meaning,%
     peek_meaning_collect_inline,peek_meaning_remove,peek_regex,%
     peek_regex_remove_once,peek_regex_replace_once,peek_remove_filler,%
     peek_remove_spaces,prg_break,prg_break_point,prg_do_nothing,%
     prg_generate_conditional_variant,prg_map_break,prg_new_conditional,%
     prg_new_eq_conditional,prg_new_protected_conditional,prg_replicate,%
     prg_return_false,prg_return_true,prg_set_conditional,%
     prg_set_eq_conditional,prg_set_protected_conditional,prop_clear,%
     prop_clear_new,prop_concat,prop_const_from_keyval,prop_count,%
     prop_gclear,prop_gclear_new,prop_gconcat,prop_get,prop_gpop,%
     prop_gput,prop_gput_from_keyval,prop_gput_if_new,prop_gremove,%
     prop_gset_eq,prop_gset_from_keyval,prop_if_empty,prop_if_empty_p,%
     prop_if_exist,prop_if_exist_p,prop_if_in,prop_if_in_p,prop_item,%
     prop_log,prop_map_break,prop_map_function,prop_map_inline,%
     prop_map_tokens,prop_new,prop_pop,prop_put,prop_put_from_keyval,%
     prop_put_if_new,prop_rand_key_value,prop_remove,prop_set_eq,%
     prop_set_from_keyval,prop_show,prop_to_keyval,q_mark,q_nil,%
     q_no_value,q_recursion_stop,q_recursion_tail,q_stop,quark_if_nil,%
     quark_if_nil_p,quark_if_no_value,quark_if_no_value_p,%
     quark_if_recursion_tail_break,quark_if_recursion_tail_stop,%
     quark_if_recursion_tail_stop_do,quark_new,regex_const,regex_count,%
     regex_extract_all,regex_extract_once,regex_gset,regex_log,%
     regex_match,regex_match_case,regex_new,regex_replace,%
     regex_replace_all,regex_replace_case_all,regex_replace_case_once,%
     regex_replace_once,regex_set,regex_show,regex_split,reverse_if,%
     s_stop,scan_new,scan_stop,seq_clear,seq_clear_new,seq_concat,%
     seq_const_from_clist,seq_count,seq_gclear,seq_gclear_new,%
     seq_gconcat,seq_get,seq_get_left,seq_get_right,seq_gpop,%
     seq_gpop_item,seq_gpop_left,seq_gpop_right,seq_gpush,seq_gput_left,%
     seq_gput_right,seq_gremove_all,seq_gremove_duplicates,seq_greverse,%
     seq_gset_eq,seq_gset_filter,seq_gset_from_clist,%
     seq_gset_from_function,seq_gset_from_inline_x,seq_gset_item,%
     seq_gset_map,seq_gset_map_x,seq_gset_split,%
     seq_gset_split_keep_spaces,seq_gshuffle,seq_gsort,seq_if_empty,%
     seq_if_empty_p,seq_if_exist,seq_if_exist_p,seq_if_in,seq_item,%
     seq_log,seq_map_break,seq_map_function,seq_map_indexed_function,%
     seq_map_indexed_inline,seq_map_inline,seq_map_tokens,%
     seq_map_variable,seq_mapthread_function,seq_new,seq_pop,%
     seq_pop_item,seq_pop_left,seq_pop_right,seq_push,seq_put_left,%
     seq_put_right,seq_rand_item,seq_remove_all,seq_remove_duplicates,%
     seq_reverse,seq_set_eq,seq_set_filter,seq_set_from_clist,%
     seq_set_from_function,seq_set_from_inline_x,seq_set_item,seq_set_map,%
     seq_set_map_x,seq_set_split,seq_set_split_keep_spaces,seq_show,%
     seq_shuffle,seq_sort,seq_use,skip_add,skip_const,skip_eval,%
     skip_gadd,skip_gset,skip_gset_eq,skip_gsub,skip_gzero,%
     skip_gzero_new,skip_horizontal,skip_if_eq,skip_if_eq_p,%
     skip_if_exist,skip_if_exist_p,skip_if_finite,skip_if_finite_p,%
     skip_log,skip_new,skip_set,skip_set_eq,skip_show,skip_sub,%
     skip_use,skip_vertical,skip_zero,skip_zero_new,sort_return_same,%
     sort_return_swapped,str_case,str_case_e,str_clear,str_clear_new,%
     str_compare,str_compare_p,str_concat,str_const,str_convert_pdfname,%
     str_count,str_count_ignore_spaces,str_count_spaces,str_foldcase,%
     str_gclear,str_gconcat,str_gput_left,str_gput_right,str_gremove_all,%
     str_gremove_once,str_greplace_all,str_greplace_once,str_gset,%
     str_gset_convert,str_gset_eq,str_head,str_head_ignore_spaces,%
     str_if_empty,str_if_empty_p,str_if_eq,str_if_eq_p,str_if_exist,%
     str_if_exist_p,str_if_in,str_item,str_item_ignore_spaces,str_log,%
     str_lowercase,str_map_break,str_map_function,str_map_inline,%
     str_map_tokens,str_map_variable,str_new,str_put_left,str_put_right,%
     str_range,str_range_ignore_spaces,str_remove_all,str_remove_once,%
     str_replace_all,str_replace_once,str_set,str_set_convert,str_set_eq,%
     str_show,str_tail,str_tail_ignore_spaces,str_uppercase,str_use,%
     sys_finalise,sys_get_shell,sys_gset_rand_seed,sys_if_engine_luatex,%
     sys_if_engine_luatex_p,sys_if_engine_pdftex,sys_if_engine_pdftex_p,%
     sys_if_engine_ptex,sys_if_engine_ptex_p,sys_if_engine_uptex,%
     sys_if_engine_uptex_p,sys_if_engine_xetex,sys_if_engine_xetex_p,%
     sys_if_output_dvi,sys_if_output_dvi_p,sys_if_output_pdf,%
     sys_if_output_pdf_p,sys_if_platform_unix,sys_if_platform_unix_p,%
     sys_if_platform_windows,sys_if_platform_windows_p,sys_if_rand_exist,%
     sys_if_rand_exist_p,sys_if_shell,sys_if_shell_p,%
     sys_if_shell_restricted,sys_if_shell_restricted_p,%
     sys_if_shell_unrestricted,sys_if_shell_unrestricted_p,%
     sys_load_backend,sys_load_debug,sys_rand_seed,sys_shell_now,%
     sys_shell_shipout,sys_timer,text_declare_expand_equivalent,%
     text_declare_purify_equivalent,text_expand,text_lowercase,%
     text_purify,text_titlecase,text_titlecase_first,text_uppercase,%
     tl_analysis_log,tl_analysis_map_inline,tl_analysis_show,%
     tl_build_begin,tl_build_clear,tl_build_end,tl_build_gbegin,%
     tl_build_gclear,tl_build_gend,tl_build_get,tl_build_gput_left,%
     tl_build_gput_right,tl_build_put_left,tl_build_put_right,tl_case,%
     tl_clear,tl_clear_new,tl_concat,tl_const,tl_count,tl_count_tokens,%
     tl_gclear,tl_gclear_new,tl_gconcat,tl_gput_left,tl_gput_right,%
     tl_gremove_all,tl_gremove_once,tl_greplace_all,tl_greplace_once,%
     tl_greverse,tl_gset,tl_gset_eq,tl_gset_rescan,tl_gsort,%
     tl_gtrim_spaces,tl_head,tl_if_blank,tl_if_blank_p,tl_if_empty,%
     tl_if_empty_p,tl_if_eq,tl_if_eq_p,tl_if_exist,tl_if_exist_p,%
     tl_if_head_eq_catcode,tl_if_head_eq_catcode_p,tl_if_head_eq_charcode,%
     tl_if_head_eq_charcode_p,tl_if_head_eq_meaning,%
     tl_if_head_eq_meaning_p,tl_if_head_is_N_type,tl_if_head_is_N_type_p,%
     tl_if_head_is_group,tl_if_head_is_group_p,tl_if_head_is_space,%
     tl_if_head_is_space_p,tl_if_in,tl_if_novalue,tl_if_novalue_p,%
     tl_if_single,tl_if_single_p,tl_if_single_token,tl_if_single_token_p,%
     tl_item,tl_log,tl_map_break,tl_map_function,tl_map_inline,%
     tl_map_tokens,tl_map_variable,tl_new,tl_put_left,tl_put_right,%
     tl_rand_item,tl_range,tl_range_braced,tl_range_unbraced,%
     tl_remove_all,tl_remove_once,tl_replace_all,tl_replace_once,%
     tl_rescan,tl_reverse,tl_reverse_items,tl_set,tl_set_eq,%
     tl_set_rescan,tl_show,tl_sort,tl_tail,tl_to_str,tl_trim_spaces,%
     tl_trim_spaces_apply,tl_use,token_case_catcode,token_case_charcode,%
     token_case_meaning,token_if_active,token_if_active_p,%
     token_if_alignment,token_if_alignment_p,token_if_chardef,%
     token_if_chardef_p,token_if_cs,token_if_cs_p,token_if_dim_register,%
     token_if_dim_register_p,token_if_eq_catcode,token_if_eq_catcode_p,%
     token_if_eq_charcode,token_if_eq_charcode_p,token_if_eq_meaning,%
     token_if_eq_meaning_p,token_if_expandable,token_if_expandable_p,%
     token_if_font_selection,token_if_font_selection_p,%
     token_if_group_begin,token_if_group_begin_p,token_if_group_end,%
     token_if_group_end_p,token_if_int_register,token_if_int_register_p,%
     token_if_letter,token_if_letter_p,token_if_long_macro,%
     token_if_long_macro_p,token_if_macro,token_if_macro_p,%
     token_if_math_subscript,token_if_math_subscript_p,%
     token_if_math_superscript,token_if_math_superscript_p,%
     token_if_math_toggle,token_if_math_toggle_p,token_if_mathchardef,%
     token_if_mathchardef_p,token_if_muskip_register,%
     token_if_muskip_register_p,token_if_other,token_if_other_p,%
     token_if_parameter,token_if_parameter_p,token_if_primitive,%
     token_if_primitive_p,token_if_protected_long_macro,%
     token_if_protected_long_macro_p,token_if_protected_macro,%
     token_if_protected_macro_p,token_if_skip_register,%
     token_if_skip_register_p,token_if_space,token_if_space_p,%
     token_if_toks_register,token_if_toks_register_p,token_to_meaning,%
     token_to_str,unvcopy,use,use_i,use_i_delimit_by_q_nil,%
     use_i_delimit_by_q_recursion_stop,use_i_delimit_by_q_stop,use_i_ii,%
     use_ii,use_ii_i,use_iii,use_iv,use_none,use_none_delimit_by_q_nil,%
     use_none_delimit_by_q_recursion_stop,use_none_delimit_by_q_stop,%
     use_none_delimit_by_s_stop,vbox,vbox_gset,vbox_gset_end,%
     vbox_gset_split_to_ht,vbox_gset_to_ht,vbox_gset_top,vbox_set,%
     vbox_set_end,vbox_set_split_to_ht,vbox_set_to_ht,vbox_set_top,%
     vbox_to_ht,vbox_to_zero,vbox_top,vbox_unpack,vbox_unpack_drop,%
     vcoffin_gset,vcoffin_gset_end,vcoffin_set,vcoffin_set_end,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     name,alternative-model,alternative-values,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     cmyk,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
     D,N,Nn,NF,NN,Nx,NT,NTF,NNn,NnV,Nnn,Npn,Nnnn,V,c,e,en,f,n,nF,%
     nn,nT,nnn,nnF,nnV,nTF,nnnn,nNnF,nNnT,nnVV,o,p,v,w,x,nnTF,%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     expl3,%
   },
   otherkeywords={:,~},%
   alsoletter={_-.},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[pdftex]{TeX}{%
   % Control sequences names
   moretexcs={%
     pdfinfo,pdfcatalog,pdfpageattr,pdfpagesattr,pdfpageresources,%
     pdfcolorstack,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     pdftex,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[luatex]{TeX}{%
   % Control sequences names
   moretexcs={%
     pdfextension,ifluatex,directlua,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     colorstack },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     luatex,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[dvips]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     color,push,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     dvips,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[xetex]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     pdfcolorstack,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     xetex,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[inputenc]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     latin1 },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     inputenc,%
   },%
   % otherkeywords={},%
   alsoletter={1},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[pdfmanagement-testphase]{TeX}{%
   % Control sequences names
   moretexcs={%
     pdfmanagement_add,DeclareDocumentMetadata,AddToDocumentProperties,%
     ShowDocumentProperties,GetDocumentProperties,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{% Keys or optional arguments
     pdfmanagement-testphase,uncompress,geometry,top-level,backend,Info,%
     ThisPage,pdfversion,pdfstandard,paper,topic,Title,Rotate,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     dvipdfmx,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
     nnn,%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     pdfmanagement-testphase,%
   },
   otherkeywords={:},%
   alsoletter={_-},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[rotating]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     sidewaystable,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     rotating,%
   },%
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[fontenc]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     T1 },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     fontenc,%
   },%
   % otherkeywords={},
   % alsoletter={1},%
   alsodigit={1},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[babel]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     foreignlanguage,selectlanguage,iflanguage,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     otherlanguage,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     UKenglish,USenglish,acadian,afrikaans,american,arabic,australian,%
     austrian,azerbaijani,bahasa,bahasai,basque,bgreek,brazil,%
     brazilian,breton,british,bulgarian,canadian,canadien,catalan,%
     croatian,czech,danish,dutch,english,esperanto,estonian,ethiop,%
     farsi,finnish,francais,french,frenchle,friulan,galician,german,%
     germanb,greek,hebrew,hindi,ibygreek,icelandic,indon,indonesian,%
     interlingua,irish,italian,japanese,latin,latvian,lithuanian,%
     lowersorbian,magyar,malay,melayu (bahasam),mongolian,naustrian,%
     newzealand,ngerman,norsk,nynorsk,pinyin,polish,polutonikogreek,%
     portuges,portuguese,romanian,romansh,russian,samin,scottish,%
     serbian,serbianc,slovak,slovene,spanglish,spanish,swedish,thai,%
     thaicjk,turkish,turkmen,ukrainian,uppersorbian,vietnamese,%
     welsh,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     babel,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[babel-french]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     og,fg,up,bsc,ier,iers,iere,ieres,ieme,iemes,primo,secundo,%
     tertio,quarto,FrenchEnumerate,No,Nos,no,nos,degre,nombre,%
     frenchabstractname,frenchbibname,frenchrefname,frenchprefacename,%
     frenchchaptername,frenchappendixname,frenchcontentsname,%
     frenchlistfigurename,frenchlisttablename,frenchindexname,%
     frenchglossaryname,frenchfigurename,frenchtablename,frenchpartname,%
     frenchenclname,frenchccname,frenchheadtoname,frenchpagename,%
     frenchseename,frenchalsoname,frenchproofname%,%
     frquote,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     babel-french,%
   },%
   % otherkeywords={},%
   alsoletter={-},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[kantlipsum]{TeX}{%
   % Control sequences names
   moretexcs={%
     kant,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     kantlipsum,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[hyperxmp]{TeX}{%
   % Control sequences names
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     hyperxmp,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[hyperref]{TeX}{%
   % Control sequences names
   moretexcs={%
     hypersetup,href,phantomsection,pdfstringdefDisableCommands,url,%
     nolinkurl,hyperbaseurl,hyperimage,hyperdef,hyperref,hyperlink,%
     hypertarget,hyperget,autoref,autopageref,ref*,pageref*,autoref*,%
     autopageref*,pdfstringdef,pdfbookmark,currentpdfbookmark,%
     subpdfbookmark,belowpdfbookmark,texorpdfstring,thispdfpagelabel,%
     hypercalcbp,nameref,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     allbordercolors,allcolors,anchorcolor,backref,baseurl,bookmarks,%
     bookmarksnumbered,bookmarksopen,bookmarksopenlevel,bookmarkstype,%
     breaklinks,CJKbookmarks,citebordercolor,citecolor,colorlinks,debug,%
     destlabel,draft,driverfallback,dvipdfm,dvipdfmx,dvips,dvipsone,%
     dviwindo,encap,extension,filebordercolor,filecolor,final,%
     frenchlinks,hidelinks,hyperfigures,hyperfootnotes,hyperindex,%
     hypertex,hypertexnames,implicit,latex2html,linkbordercolor,%
     linkcolor,linktoc,linktocpage,menubordercolor,menucolor,nativepdf,%
     naturalnames,nesting,next-anchor,pageanchor,pagebackref,pdfauthor,%
     pdfborder,pdfborderstyle,pdfcenterwindow,pdfcreator,pdfdirection,%
     pdfdisplaydoctitle,pdfduplex,pdffitwindow,pdfhighlight,pdfinfo,%
     pdfkeywords,pdflang,pdfmark,pdfmenubar,pdfnewwindow,%
     pdfnonfullscreenpagemode,pdfnumcopies,pdfpagelabels,pdfpagelayout,%
     pdfpagemode,pdfpagescrop,pdfpagetransition,pdfpicktraybypdfsize,%
     pdfprintarea,pdfprintclip,pdfprintpagerange,pdfprintscaling,%
     pdfproducer,pdfremotestartview,pdfstartpage,pdfstartview,pdfsubject,%
     pdftex,pdftitle,pdftoolbar,pdftrapped,pdfview,pdfviewarea,%
     pdfviewclip,pdfwindowui,plainpages,ps2pdf,psdextra,raiselinks,%
     runbordercolor,runcolor,setpagesize,tex4ht,textures,unicode,%
     urlbordercolor,urlcolor,verbose,vtex,xetex,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     hyperref,%
   },%
   % otherkeywords={},%
   alsoletter={*},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[graphicx]{TeX}{%
   % Control sequences names
   moretexcs={%
     includegraphics,includegraphics*,definecolor,color,textcolor,%
     mathcolor,pagecolor,nopagecolor,colorbox,fcolorbox,rotatebox,%
     scalebox,reflectbox,resizebox,resizebox*,graphicspath,%
     DeclareGraphicsExtensions,DeclareGraphicsRule },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     draft,final,hiresbb,demo,setpagesize,nosetpagesize,dvips,xdvi,%
     dvipdf,dvipdfm,dvipdfmx,xetex,pdftex,luatex,dvisvgm,dvipsone,%
     dviwindo,emtex,dviwin,oztex,textures,pctexps,pctexwin,pctexhp,%
     pctex32,truetex,tcidvi,vtex,debugshow,hiderotate,hidescale,alt,%
     %
     bb,bbllx,bblly,bburx,bbury,natwidth,natheight,hiresbb,pagebox,%
     viewport,trim,angle,origin,width,height,totalheight,%
     keepaspectratio,scale,clip,draft,type,ext,read,command,quiet,%
     page,interpolate,decodearray,origin,x,y,units,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     mediabox,cropbox,bleedbox,trimbox,artbox,true,false,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     graphicx,%
   },%
   % otherkeywords={},%
   alsoletter={23},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[geometry]{TeX}{%
   % Control sequences names
   moretexcs={%
     geometry,newgeometry,restoregeometry,savegeometry,loadgeometry,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     paper,papername,paperwidth,paperheight,papersize,landscape,%
     portrait,layout,layoutwidth,layoutheight,layoutsize,layouthoffset,%
     layoutvoffset,layoutoffset,hscale,vscale,scale,width,totalwidth,%
     height,totalheight,total,textwidth,textheight,text,body,lines,%
     includehead,includefoot,includeheadfoot,includemp,includeall,%
     ignorehead,ignorefoot,ignoreheadfoot,ignoremp,ignoreall,%
     heightrounded,hdivide,vdivide,divide,left,lmargin,inner,right,%
     rmargin,outer,top,tmargin,bottom,bmargin,hmargin,vmargin,margin,%
     hmarginratio,vmarginratio,marginratio,ratio,hcentering,vcentering,%
     centering,twoside,asymmetric,headheight,head,headsep,footskip,%
     foot,nohead,nofoot,noheadfoot,footnotesep,marginparwidth,%
     marginparsep,nomarginpar,columnsep,hoffset,voffset,offset,%
     twocolumn,onecolumn,reversemp,reversemarginpar,verbose,reset,mag,%
     truedimen,pass,showframe,showcrop,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     a0paper,a1paper,a2paper,a3paper,a4paper,a5paper,a6paper,b0paper,%
     b1paper,b2paper,b3paper,b4paper,b5paper,b6paper,c0paper,c1paper,%
     c2paper,c3paper,c4paper,c5paper,c6paper,b0j,b1j,b2j,b3j,b4j,%
     b5j,b6j,ansiapaper,ansibpaper,ansicpaper,ansidpaper,ansiepaper,%
     letterpaper,executivepaper,legalpaper,screen,dvips,dvipdfm,pdftex,%
     luatex,xetex,vtex,dvipdfmx,xdvipdfmx,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     geometry,%
   },%
   % otherkeywords={},%
   alsoletter={0123456},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[newpax]{TeX}{%
   % Control sequences names
   moretexcs={%
     newpaxsetup,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     addannots,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     false,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     newpax,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tikz]{TeX}{%
   % Control sequences names
   moretexcs={%
     usetikzlibrary,draw,node,matrix,fill,foreach,tikz,pgfmathsetmacro,%
     path,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     tikzpicture,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     pic,rotate,xshift,yshift,every node,inner sep,blend mode,fill,%
     fit,circle,anchor,in,count,x,y,matrix,of,math,nodes,above right,%
     at,--,-|,|-,thick,size,angle,circle,through,intersection,of,%
     draw,coordinate,shift,and,cycle,cs:A,node,barycentric,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     multiply,lightgray,base,red%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tikz,%
   },%
   % otherkeywords={},%
   alsoletter={-| \ :},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tikzducks]{TeX}{%
   % Control sequences names
   moretexcs={%
     duck,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     alien,aodai,baguette,basket,beard,beret,bill,body,book,%
     bookcolour,bowtie,bubblecolour,bunny,buttons,cake,cap,cape,%
     cheese,chef,cocktail,conicalhat,crazyhair,cricket,crown,crozier,%
     crystalball,darthvader,devil,easter,egga,eggb,eggc,eye,eyebrow,%
     flavoura,flavourb,flavourc,football,glasses,graduate,grumpy,%
     handbag,harlequin,hat,head,helmet,hockey,horsetail,icecream,%
     inear,invisible,jacket,kingcrown,lapel,laughing,lightsaber,%
     longhair,magichat,magicstars,magicwand,mask,milkshake,mohican,%
     mullet,name,neckerchief,necklace,niuqelrah,overleaf,parrot,%
     parting,peakedcap,pickaxe,pizza,prison,queencrown,recedinghair,%
     ribbon,rollingpin,sailor,santa,sheep,shorthair,shovel,signback,%
     signcolour,signpost,snowduck,speech,squareglasses,stethoscope,%
     strawhat,sunglasses,tail,tassel,think,tie,tophat,torch,tshirt,%
     umbrella,umbrellaclosed,unicorn,vampire,viking,water,wine,wing,%
     witch,woggle,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     blue,green,red,yellow,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tikzducks,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tikzlings]{TeX}{%
   % Control sequences names
   moretexcs={%
     anteater,bear,bee,cat,chicken,coati,elephant,hippo,koala,%
     marmot,mole,mouse,owl,panda,penguin,pig,rhino,sheep,sloth,%
     squirrel,snowman,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     3D,eye,contour,back,globalwarming,whiskers,schroedinger,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tikzlings,%
   },%
   % otherkeywords={},%
   alsoletter={3},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[amsmath]{TeX}{%
   % Control sequences names
   moretexcs={%
     cdots,ddots,vdots,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     pmatrix,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     amsmath,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % xparse
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[xparse]{TeX}{%
   % Control sequences names
   moretexcs={%
     NewDocumentCommand,RenewDocumentCommand,ProvideDocumentCommand,%
     DeclareDocumentCommand,NewDocumentEnvironment,%
     RenewDocumentEnvironment,ProvideDocumentEnvironment,%
     DeclareDocumentEnvironment,NewExpandableDocumentCommand,%
     RenewExpandableDocumentCommand,ProvideExpandableDocumentCommand,%
     DeclareExpandableDocumentCommand,IfNoValueT,IfNoValueF,IfNoValueTF,%
     IfValueT,IfValueF,IfValueTF,IfBooleanT,IfBooleanF,IfBooleanTF,%
     BooleanTrue,BooleanFalse,ProcessedArgument,ReverseBoolean,%
     SplitArgument,SplitList,ProcessList,TrimSpaces,%
     GetDocumentCommandArgSpec,GetDocumentEnvironmentArgSpec,%
     ShowDocumentCommandArgSpec,ShowDocumentEnvironmentArgSpec,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     log-declarations,%
     m,r,R,v,b,o,d,O,D,s,t,e,E,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     xparse,%
   },%
   % otherkeywords={},%
   alsoletter={-},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % colortbl
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[colortbl]{TeX}{%
   % Control sequences names
   moretexcs={%
     columncolor,rowcolor,cellcolor,arrayrulecolor,doublerulesepcolor,%
     minrowclearance,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     colortbl,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % multirow
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[multirow]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     multirow,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     multirow,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % nicematrix
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[nicematrix]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     Cdots,Ddots,Vdots,Body,CodeBefore,CodeAfter,Block,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     pNiceMatrix,NiceMatrix,NiceTabular,bNiceArray,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     hvlines,rules/width,baseline,colortbl-like,margin,right-margin,%
     create-cell-nodes,rounded-corners,draw,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     nicematrix,%
   },
   otherkeywords={&},%
   alsoletter={/},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % booktabs
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[booktabs]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     toprule,midrule,bottomrule,cmidrule,addlinespace,morecmidrules,%
     specialrule,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     booktabs,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % strands
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[strands]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     strands,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     strands,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % cartonaugh
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[cartonaugh]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     maxterms,minterms,terms,implicant,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     cartonaugh,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     cartonaugh,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % xistercian
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[xistercian]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     cisterciannum,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     xistercian,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     xistercian,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % aboensis
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[aboensis]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     abcursivefamily,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     aboensis,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % tabularray
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[tabularray]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     ,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     tblr,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     width,colspec,row,bg,fg,font,column,hlines,X,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     odd,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tabularray,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % ninecolors
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[ninecolors]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     NineColors,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     gray1,red1,brown1,yellow1,olive1,green1,teal1,cyan1,azure1,%
     blue1,violet1,magenta1,purple1,gray2,red2,brown2,yellow2,olive2,%
     green2,teal2,cyan2,azure2,blue2,violet2,magenta2,purple2,gray3,%
     red3,brown3,yellow3,olive3,green3,teal3,cyan3,azure3,blue3,%
     violet3,magenta3,purple3,gray4,red4,brown4,yellow4,olive4,%
     green4,teal4,cyan4,azure4,blue4,violet4,magenta4,purple4,gray5,%
     red5,brown5,yellow5,olive5,green5,teal5,cyan5,azure5,blue5,%
     violet5,magenta5,purple5,gray6,red6,brown6,yellow6,olive6,%
     green6,teal6,cyan6,azure6,blue6,violet6,magenta6,purple6,gray7,%
     red7,brown7,yellow7,olive7,green7,teal7,cyan7,azure7,blue7,%
     violet7,magenta7,purple7,gray8,red8,brown8,yellow8,olive8,%
     green8,teal8,cyan8,azure8,blue8,violet8,magenta8,purple8,gray9,%
     red9,brown9,yellow9,olive9,green9,teal9,cyan9,azure9,blue9,%
     violet9,magenta9,purple9,gray1,red1,brown1,yellow1,olive1,%
     green1,teal1,cyan1,azure1,blue1,violet1,magenta1,purple1,gray2,%
     red2,brown2,yellow2,olive2,green2,teal2,cyan2,azure2,blue2,%
     violet2,magenta2,purple2,gray3,red3,brown3,yellow3,olive3,%
     green3,teal3,cyan3,azure3,blue3,violet3,magenta3,purple3,gray4,%
     red4,brown4,yellow4,olive4,green4,teal4,cyan4,azure4,blue4,%
     violet4,magenta4,purple4,gray5,red5,brown5,yellow5,olive5,%
     green5,teal5,cyan5,azure5,blue5,violet5,magenta5,purple5,gray6,%
     red6,brown6,yellow6,olive6,green6,teal6,cyan6,azure6,blue6,%
     violet6,magenta6,purple6,gray7,red7,brown7,yellow7,olive7,%
     green7,teal7,cyan7,azure7,blue7,violet7,magenta7,purple7,gray8,%
     red8,brown8,yellow8,olive8,green8,teal8,cyan8,azure8,blue8,%
     violet8,magenta8,purple8,gray9,red9,brown9,yellow9,olive9,%
     green9,teal9,cyan9,azure9,blue9,violet9,magenta9,purple9,%
     saturation,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     low,medium,high,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     ninecolors,%
   },%
   % otherkeywords={},%
   alsoletter={123456789},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[fontspec]{TeX}{%
   % Control sequences names
   moretexcs={%
     EncodingAccent,EncodingCommand,EncodingComposite,%
     EncodingCompositeCommand,EncodingSymbol,IfFontExistsTF,%
     IfFontFeatureActiveTF,UndeclareAccent,UndeclareCommand,%
     UndeclareComposite,UndeclareSymbol,addfontfeature,addfontfeatures,%
     aliasfontfeature,aliasfontfeatureoption,defaultfontfeatures,fontspec,%
     liningnums,newAATfeature,newfontface,newfontfamily,newfontfeature,%
     newfontlanguage,newfontscript,newopentypefeature,oldstylenums,%
     providefontface,providefontfamily,renewfontface,renewfontfamily,%
     setboldmathrm,setfontface,setfontfamily,setmainfont,setmathrm,%
     setmathsf,setmathtt,setmonofont,setromanfont,setsansfont,strong,%
     strongfontdeclare,strongresetsetmainfont,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     Alternate,Annotation,AutoFakeBold,AutoFakeSlant,BoldFeatures,%
     BoldFont,BoldItalicFeatures,BoldItalicFont,BoldSlantedFeatures,%
     BoldSlantedFont,BoldSwashFeatures,BoldSwashFont,CJKShape,ItalicFeatures,%
     CharacterVariant,CharacterWidth,Color,Colour,Contextuals,%
     Diacritics,Extension,FakeBold,FakeSlant,FakeStretch,Font,FontFace,%
     Fractions,HyphenChar,IgnoreFontspecFileItalicFeatures,ItalicFont,%
     Kerning,Language,LetterSpace,Letters,Ligatures,LocalForms,%
     NFSSFamily,Numbers,OpticalSize,Ornament,Path,PunctuationSpace,%
     RawFeature,Scale,ScaleAgain,Script,Size,SizeFeatures,%
     SlantedFeatures,SlantedFont,SmallCapsFeatures,SmallCapsFont,Style,%
     StylisticAlternates,StylisticSet,SwashFeatures,SwashFont,%
     UprightFeatures,UprightFont,Variant,Vertical,VerticalPosition,%
     WordSpace,Mapping,Renderer,Traditional,Simplified,JIS1978,JIS1983,%
     JIS1990,Expert,NLC,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     AboveBase,Alternate,AlternateHalf,AlternateMetrics,%
     AlternateProportional,Alternates,AlternatesForRotation,Arabic,%
     ArabicOff,BelowBase,Common,Contextual,Cursive,Denominator,%
     Discretionary,Expert,Full,Half,HalfMetrics,Historic,%
     HorizontalKana,Inferior,Inner,Italic,JIS1978,JIS1983,JIS1990,%
     KanaAlternates,Kerning,LineFinal,Lining,LiningOff,Lowercase,%
     LowercaseOff,MarkToBase,MarkToMark,Monospaced,MonospacedOff,NLC,%
     Numerator,Off,OldStyle,OldStyleOff,On,Ordinal,PetiteCaps,%
     Proportional,ProportionalMetrics,ProportionalOff,Quarter,Rare,%
     Required,Reset,ResetAll,RotatedGlyphs,Ruby,ScientificInferior,%
     Simplified,SlashedZero,SlashedZeroOff,SmallCaps,Superior,Swash,%
     TeX,Thurd,Titling,Traditional,Unicase,Uppercase,UppercaseOff,%
     UppercasePetiteCaps,UppercaseSmallCaps,VerticalKana,WordFinal,%
     WordInitial,ResetAll,c2sc,scmp,sinf,sups,zero,ss06,ss01,%
     ss04,-liga,frac,titl,swsh,hist,hlig,MatchUppercase,MatchLowercase,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     fontspec%
   },%
   % otherkeywords={},%
   alsoletter={20614-},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[ProfCollege]{TeX}{%
   % Control sequences names
   moretexcs={%
     Thales,Pourcentage,ResolEquation%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     Twitter,Scratch,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     Auteur,Logo,Calculer,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     Place,Drapeau,Avancer,Repeter,Tournerg,FinBlocRepeter,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     ProfCollege,%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tkz-euclide]{TeX}{%
   % Control sequences names
   moretexcs={%
     tkzDefPoint,tkzInterCC,tkzGetPoints,tkzDrawCircles,tkzDrawPolygon,%
     tkzDrawPoints,tkzMarkSegments,tkzLabelSegments,tkzLabelPoints,%
     tkzLabelPoints,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     tikzpicture,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     mark,swap,above,scale,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tkz-euclide },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tkz-fct]{TeX}{%
   % Control sequences names
   moretexcs={%
     tkzInit,tkzDrawX,tkzDrawY,tkzFct,tkzDefPoint,tkzDrawPoint,%
     tkzPointShowCoord,tkzDefPoint,tkzDrawPoint,tkzPointShowCoord,%
     tkzRep,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     tikzpicture,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     xmin,xmax,ymin,ymax,samples,domain,xlabel,ylabel,xscale,yscale%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tkz-fct },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tkz-tab]{TeX}{%
   % Control sequences names
   moretexcs={%
     tkzTabInit,tkzTabLine,tkzTabVar,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     tikzpicture,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     lgt,espcl,t,d,z,+,-,-D+/,+/,-/,+D/,scale,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tkz-tab },%
   % otherkeywords={},%
   alsoletter={+-/},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[mecaso]{TeX}{%
   % Control sequences names
   moretexcs={%
     KineticT,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     mecaso },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[hanzibox]{TeX}{%
   % Control sequences names
   moretexcs={%
     hanzibox*,hanziboxset,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     frametype,pinyinline,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     none,true,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     hanzibox },%
   % otherkeywords={},%
   % alsoletter={},%
   % alsodigit={},%
   alsoother={*},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[tikz-bagua]{TeX}{%
   % Control sequences names
   moretexcs={%
     Bagua*,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tikz-bagua },%
   % otherkeywords={},%
   % alsoletter={},%
   % alsodigit={},%
   alsoother={*},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[bodeplot]{TeX}{%
   % Control sequences names
   moretexcs={%
     addBodeZPKPlots },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     BodePlot,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     ylabel,ytick,distance,height,width,magnitude,z,p,k,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     true,black,thick,linear,red,dashed,thick,asymptotic,blue,%
     dotted,thick,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     bodeplot },%
   % otherkeywords={},%
   alsoletter={/},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[formal-grammar]{TeX}{%
   % Control sequences names
   moretexcs={%
     highlight,firstcase,gralt,nonterm },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     grammar },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     formal-grammar },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[numerica-plus]{TeX}{%
   % Control sequences names
   moretexcs={%
     nmcRecur,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     do,see1,f_,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     numerica-plus },%
   % otherkeywords={},%
   alsoletter={_1},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[pascaltriangle]{TeX}{%
   % Control sequences names
   moretexcs={%
     pascal,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     pascaltriangle },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[pgf-interference]{TeX}{%
   % Control sequences names
   moretexcs={%
     pgfinterferencepattern,%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     slits,wavelength,slit-distance,intensity,ruler,scale,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     pgf-interference%
   },%
   % otherkeywords={},%
   alsoletter={-},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[clistmap]{TeX}{%
   % Control sequences names
   moretexcs={%
     ExplSyntaxOn,ExplSyntaxOff,clistmap,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     first_math,serial_rest_math_and,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
     nnn,N,%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     clistmap },%
   % otherkeywords={},%
   alsoletter={_},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[hexboard]{TeX}{%
   % Control sequences names
   moretexcs={%
     hexmove,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     hexgamelabels,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     hexboard },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[robotarm]{TeX}{%
   % Control sequences names
   moretexcs={%
     robotArm,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     tikzpicture },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     config,q1,q2,q3,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     robotarm },%
   % otherkeywords={},%
   alsoletter={123},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[amsfonts]{TeX}{%
   % Control sequences names
   moretexcs={%
     mathbb,mathfrak,angle,Box,dasharrow,dashleftarrow,dashrightarrow,%
     Diamond,hbar,Join,leadsto,lhd,llcorner,lozenge,lrcorner,mho,%
     rhd,rightleftharpoons,rightsquigarrow,sqsubset,sqsupset,square,%
     trianglelefteq,trianglerighteq,ulcorner,unlhd,unrhd,urcorner,%
     vartriangleleft,vartriangleright,widehat{arg},widetilde{arg},yen,%
     checkmark,circledR,maltese,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     amsfonts },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[biolinum]{TeX}{%
   % Control sequences names
   moretexcs={%
     biolinum,biolinumOsF,biolinumLF,biolinumkey,sufigures,textsu,%
     textsuperior,oldstylenums,liningnums,oldstylenumsf,liningnumsf,%
     tabularnums,proportionalnums,tabularnumsf,proportionalnumsf,%
     DeclareTextGlyphY,biolinumGlyph,biolinumKeyGlyph,LKey,LKeyPad,%
     LKeyF,LKeyAltF,LKeyStrgAltF,LKeyCtrlAltF,LKeyStrgX,LKeyCtrlX,%
     LKeyShiftX,LKeyAltX,LKeyAltGrX,LKeyShiftStrgX,LKeyShiftCtrlX,%
     LKeyShiftAltX,LKeyShiftAltGrX,LKeyStrgAltX,LKeyCtrlAltX,%
     LKeyStrgAltEnt,LKeyCtrlAltEnt,LKeyReset,LKeyTux,LKeyWin,LKeyMenu,%
     LKeyStrg,LKeyCtrl,LKeyAlt,LKeyAltGr,LKeyShift,LKeyTab,LKeyEnter,%
     LKeyCapsLock,LKeyPos,LKeyEntf,LKeyEinf,LKeyLeer,LKeyEsc,LKeyEnde,%
     LKeyCommand,LKeyOptionKey,LKeyBack,LKeyUp,LKeyDown,LKeyLeft,%
     LKeyRight,LKeyPgUp,LKeyPgDown,LKeyAt,LKeyFn,LKeyHome,LKeyDel,%
     LKeySpace,LKeyScreenUp,LKeyScreenDown,LKeyIns,LKeyEnd,LKeyGNU,%
     LKeyPageUp,LKeyPageDown,LMouseEmpty,LMouseN,LMouseL,LMouseM,%
     LMouseR,LMouseLR,LMouseIIEmpty,LMouseIIN,LMouseIIL,LMouseIIR,%
     LMouseIILR,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     sfdefault,type1,nofontspec,lining,nf,lf,oldstyle,osf,sflining,%
     sflf,sfoldstyle,sfosf,osfss,tabular,t,p,sftabular,sft,%
     sfproportional,sfp,scaled,scale,defaultfeatures,space,uni0020,%
     exclam,uni0021,quotedbl,uni0022,numbersign,uni0023,dollar,%
     uni0024,percent,uni0025,ampersand,uni0026,quotesingle,uni0027,%
     parenleft,uni0028,parenright,uni0029,asterisk,uni002A,plus,%
     uni002B,comma,uni002C,hyphen,uni002D,period,uni002E,slash,%
     uni002F,zero,uni0030,one,uni0031,two,uni0032,three,uni0033,%
     four,uni0034,five,uni0035,six,uni0036,seven,uni0037,eight,%
     uni0038,nine,uni0039,colon,uni003A,semicolon,uni003B,less,%
     uni003C,equal,uni003D,greater,uni003E,question,uni003F,at,%
     bracketleft,uni005B,backslash,uni005C,bracketright,uni005D,%
     asciicircum,uni005E,underscore,uni005F,grave,uni0060,uni007A,%
     braceleft,uni007B,bar,uni007C,braceright,uni007D,asciitilde,%
     uni007E,exclamdown,uni00A1,cent,uni00A2,sterling,uni00A3,%
     currency,uni00A4,yen,uni00A5,brokenbar,uni00A6,section,uni00A7,%
     dieresis,uni00A8,guillemotleft,uni00AB,uni00AD,degree,uni00B0,%
     plusminus,uni00B1,acute,uni00B4,uni00B5,periodcentered,uni00B7,%
     cedilla,uni00B8,guillemotright,uni00BB,Agrave,uni00C0,Aacute,%
     uni00C1,Acircumflex,uni00C2,Atilde,uni00C3,Adieresis,uni00C4,%
     Aring,uni00C5,Ccedilla,uni00C7,Egrave,uni00C8,Eacute,uni00C9,%
     Ecircumflex,uni00CA,Edieresis,uni00CB,Igrave,uni00CC,Iacute,%
     uni00CD,Icircumflex,uni00CE,Idieresis,uni00CF,Eth,uni00D0,Ntilde,%
     uni00D1,Ograve,uni00D2,Oacute,uni00D3,Ocircumflex,uni00D4,Otilde,%
     uni00D5,Odieresis,uni00D6,multiply,uni00D7,Oslash,uni00D8,Ugrave,%
     uni00D9,Uacute,uni00DA,Ucircumflex,uni00DB,Udieresis,uni00DC,%
     Yacute,uni00DD,Thorn,uni00DE,germandbls,uni00DF,agrave,uni00E0,%
     aacute,uni00E1,acircumflex,uni00E2,atilde,uni00E3,adieresis,%
     uni00E4,aring,uni00E5,ae,uni00E6,ccedilla,uni00E7,egrave,%
     uni00E8,eacute,uni00E9,ecircumflex,uni00EA,edieresis,uni00EB,%
     igrave,uni00EC,iacute,uni00ED,icircumflex,uni00EE,idieresis,%
     uni00EF,eth,uni00F0,ntilde,uni00F1,ograve,uni00F2,oacute,%
     uni00F3,ocircumflex,uni00F4,otilde,uni00F5,odieresis,uni00F6,%
     divide,uni00F7,oslash,uni00F8,ugrave,uni00F9,uacute,uni00FA,%
     ucircumflex,uni00FB,udieresis,uni00FC,yacute,uni00FD,thorn,%
     uni00FE,ydieresis,uni00FF,Amacron,uni0100,amacron,uni0101,Abreve,%
     uni0102,abreve,uni0103,Aogonek,uni0104,aogonek,uni0105,Cacute,%
     uni0106,cacute,uni0107,Ccircumflex,uni0108,ccircumflex,uni0109,%
     Cdotaccent,uni010A,cdotaccent,uni010B,Ccaron,uni010C,ccaron,%
     uni010D,Dcaron,uni010E,dcaron,uni010F,Dcroat,uni0110,dcroat,%
     uni0111,Emacron,uni0112,emacron,uni0113,Ebreve,uni0114,ebreve,%
     uni0115,Edotaccent,uni0116,edotaccent,uni0117,Eogonek,uni0118,%
     eogonek,uni0119,Ecaron,uni011A,ecaron,uni011B,Gcircumflex,%
     uni011C,gcircumflex,uni011D,Gbreve,uni011E,gbreve,uni011F,%
     Gdotaccent,uni0120,gdotaccent,uni0121,Gcommaaccent,uni0122,%
     gcommaaccent,uni0123,Hcircumflex,uni0124,hcircumflex,uni0125,Hbar,%
     uni0126,hbar,uni0127,Itilde,uni0128,itilde,uni0129,Imacron,%
     uni012A,imacron,uni012B,Ibreve,uni012C,ibreve,uni012D,Iogonek,%
     uni012E,iogonek,uni012F,Idotaccent,uni0130,dotlessi,uni0131,IJ,%
     uni0132,ij,uni0133,Jcircumflex,uni0134,jcircumflex,uni0135,%
     Kcommaaccent,uni0136,kcommaaccent,uni0137,kgreenlandic,uni0138,%
     Lacute,uni0139,lacute,uni013A,Lcommaaccent,uni013B,lcommaaccent,%
     uni013C,Lcaron,uni013D,lcaron,uni013E,Ldot,uni013F,ldot,uni0140,%
     Lslash,uni0141,lslash,uni0142,Nacute,uni0143,nacute,uni0144,%
     Ncommaaccent,uni0145,ncommaaccent,uni0146,Ncaron,uni0147,ncaron,%
     uni0148,napostrophe,uni0149,Omacron,uni014C,omacron,uni014D,%
     Obreve,uni014E,obreve,uni014F,Ohungarumlaut,uni0150,ohungarumlaut,%
     uni0151,Racute,uni0154,racute,uni0155,Rcommaaccent,uni0156,%
     rcommaaccent,uni0157,Rcaron,uni0158,rcaron,uni0159,Sacute,%
     uni015A,sacute,uni015B,Scircumflex,uni015C,scircumflex,uni015D,%
     Scedilla,uni015E,scedilla,uni015F,Scaron,uni0160,scaron,uni0161,%
     Tcedilla,uni0162,tcedilla,uni0163,Tcaron,uni0164,tcaron,uni0165,%
     Tbar,uni0166,tbar,uni0167,Utilde,uni0168,utilde,uni0169,Umacron,%
     uni016A,umacron,uni016B,Ubreve,uni016C,ubreve,uni016D,Uring,%
     uni016E,uring,uni016F,Uhungarumlaut,uni0170,uhungarumlaut,uni0171,%
     Uogonek,uni0172,uogonek,uni0173,Wcircumflex,uni0174,wcircumflex,%
     uni0175,Ycircumflex,uni0176,ycircumflex,uni0177,Ydieresis,uni0178,%
     Zacute,uni0179,zacute,uni017A,Zdotaccent,uni017B,zdotaccent,%
     uni017C,Zcaron,uni017D,zcaron,uni017E,h.superior,uni02B0,%
     hhook.superior,uni02B1,j.superior,uni02B2,r.superior,uni02B3,%
     rturned.superior,uni02B4,rhookturned.superior,uni02B5,%
     Rsmallinverted.superior,uni02B6,w.superior,uni02B7,y.superior,%
     uni02B8,uni02B9,uni02BA,uni02BB,afii57929,uni02BC,afii64937,%
     uni02BD,uni02BE,uni02BF,uni02C0,uni02C1,uni02C2,uni02C3,uni02C4,%
     uni02C5,circumflex,uni02C6,caron,uni02C7,uni02C8,uni02C9,uni02CA,%
     uni02CB,uni02CC,uni02CD,uni02CE,uni02CF,uni02D0,uni02D1,uni02D2,%
     uni02D3,uni02D4,uni02D5,uni02D6,uni02D7,breve,uni02D8,dotaccent,%
     uni02D9,ring,uni02DA,ogonek,uni02DB,tilde,uni02DC,hungarumlaut,%
     uni02DD,uni02DE,uni02DF,gammalatin.superior,uni02E0,l.superior,%
     uni02E1,s.superior,uni02E2,x.superior,uni02E3,%
     glottalstopreversed.superior,uni02E4,uni02EC,uni02ED,uni02EE,%
     gravecomb,uni0300,acutecomb,uni0301,uni0302,tildecomb,uni0303,%
     uni0304,uni0305,uni0306,uni0307,uni0308,hookabovecomb,uni0309,%
     uni030A,uni030B,uni030C,uni030D,uni030E,uni030F,uni0310,uni0311,%
     uni0312,uni0313,uni0314,uni0315,uni0316,uni0317,uni0318,uni0319,%
     uni031A,uni031B,uni031C,uni031D,uni031E,uni031F,uni0320,uni0321,%
     uni0322,dotbelowcomb,uni0323,uni0324,uni0325,uni0326,uni0327,%
     uni0328,uni0329,uni032A,uni032B,uni032C,uni032D,uni032E,uni032F,%
     uni0330,uni0331,uni0338,uni0342,uni0343,uni0351,uni0357,uni0358,%
     uni0359,uni035A,uni035B,uni035C,uni035D,uni035E,uni035F,uni0360,%
     uni0361,uni0362,uni0363,uni0374,uni0375,afii57799,uni05B0,%
     afii57801,uni05B1,afii57800,uni05B2,afii57802,uni05B3,afii57793,%
     uni05B4,afii57794,uni05B5,afii57795,uni05B6,afii57798,uni05B7,%
     afii57797,uni05B8,afii57806,uni05B9,uni05BA,afii57796,uni05BB,%
     afii57807,uni05BC,afii57839,uni05BD,afii57645,uni05BE,afii57841,%
     uni05BF,afii57842,uni05C0,afii57804,uni05C1,afii57803,uni05C2,%
     afii57658,uni05C3,uni05C6,afii57664,uni05D0,afii57665,uni05D1,%
     afii57666,uni05D2,afii57667,uni05D3,afii57668,uni05D4,afii57669,%
     uni05D5,afii57670,uni05D6,afii57671,uni05D7,afii57672,uni05D8,%
     afii57673,uni05D9,afii57674,uni05DA,afii57675,uni05DB,afii57676,%
     uni05DC,afii57677,uni05DD,afii57678,uni05DE,afii57679,uni05DF,%
     afii57680,uni05E0,afii57681,uni05E1,afii57682,uni05E2,afii57683,%
     uni05E3,afii57684,uni05E4,afii57685,uni05E5,afii57686,uni05E6,%
     afii57687,uni05E7,afii57688,uni05E8,afii57689,uni05E9,afii57690,%
     uni05EA,afii57716,uni05F0,afii57717,uni05F1,afii57718,uni05F2,%
     arrowleft,uni2190,arrowup,uni2191,arrowright,uni2192,arrowdown,%
     uni2193,arrowboth,uni2194,arrowupdn,uni2195,uni2196,uni2197,%
     uni2198,uni2199,uni219A,uni219B,uni21A5,uni21A7,uni21BC,uni21BD,%
     uni21C0,uni21C1,arrowdblleft,uni21D0,arrowdblup,uni21D1,%
     arrowdblright,uni21D2,arrowdbldown,uni21D3,arrowdblboth,uni21D4,%
     uni21D5,Nwarrow,uni21D6,Nearrow,uni21D7,Searrow,uni21D8,Swarrow,%
     uni21D9,uni2318,uni2325,uni2326,uni2327,uni232B,uni237D,uni2380,%
     uni2423,filledbox,uni25A0,H22073,uni25A1,triagup,uni25B2,uni25B3,%
     uni25B6,uni25B7,triagdn,uni25BC,uni25BD,uni25C0,uni25C1,uni25C6,%
     uni25C7,uni25C9,lozenge,uni25CA,circle,uni25CB,uni25CE,H18533,%
     uni25CF,uni25D0,uni25D1,uni25D2,uni25D3,uni25D4,uni25D5,uni25D6,%
     uni25D7,openbullet,uni25E6,uni2605,uni2619,uni261B,uni261E,%
     uni2627,uni262F,uni2639,uni263A,uni263B,uni263C,uni263D,uni263E,%
     uni263F,female,uni2640,uni2641,male,uni2642,uni2643,uni2644,%
     uni2645,uni2646,uni2647,uni2648,uni2649,uni264A,uni264B,uni264C,%
     uni264D,uni264E,uni264F,uni2650,uni2651,uni2652,uni2653,uni2660,%
     uni2663,uni2665,uni2666,uni2669,musicalnote,uni266A,%
     musicalnotedbl,uni266B,uni266C,uni2695,uni2698,uni26A2,uni26A3,%
     uni26A4,uni26A5,uni26AD,uni2767,uni2776,uni2777,uni2778,uni2779,%
     uni277A,uni277B,uni277C,uni277D,uni277E,uni277F,T_u_x,uniE000,%
     uniE104,uniE128,uniE129,uniE12A,uniE130,uniE131,uniE132,uniE133,%
     uniE134,uniE135,uniE138,uniE139,uniE13A,uniE13C,uniE13D,uniE168,%
     B_a_c_k,uniE16E,S_t_r_g,uniE170,A_l_t,uniE171,A_l_t_G_r,uniE172,%
     C_t_r_l,uniE173,S_h_i_f_t,uniE174,T_a_b,uniE175,E_n_t_e_r,%
     uniE176,C_a_p_s_l_o_c_k,uniE177,F_1,uniE178,F_2,uniE179,F_3,%
     uniE17A,F_4,uniE17B,F_5,uniE17C,F_6,uniE17D,F_7,uniE17E,F_8,%
     uniE17F,F_9,uniE180,F_1_0,uniE181,F_1_1,uniE182,F_1_2,uniE183,%
     F_1_3,uniE184,F_1_4,uniE185,F_1_5,uniE186,F_1_6,uniE187,uniE188,%
     H_o_m_e,uniE189,D_e_l,uniE18A,I_n_s,uniE18B,uniE18C,E_n_d,%
     uniE18E,G_N_U,uniE190,P_o_s_1,uniE191,E_n_t_f,uniE192,E_i_n_f,%
     uniE193,L_e_e_r,uniE194,E_s_c,uniE195,E_n_d_e,uniE196,uniE198,%
     uniE199,uniE19A,uniE19B,uniE1A0,uniE1A1,uniE1A2,uniE1A3,uniE1A4,%
     uniE1A5,uniE1A6,uniE1A7,uniE1A8,uniE1A9,uniE1AA,uniE1AB,uniE1AC,%
     uniE1AD,uniE1AE,uniE1B0,uniE1B1,grave.cap,uniE358,acute.cap,%
     uniE359,circumflex.cap,uniE35A,caron.cap,uniE35B,breve.cap,%
     uniE35C,hungarumlaut.cap,uniE35D,space_uni030F.cap,uniE35E,%
     breveinvertedcmb.cap,uniE35F,breve.cyrcap,uniE360,breve.cyr,%
     uniE361,dieresis.cap,uniE362,hookabovecomb.cap,uniE363,uniFFFD,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     biolinum },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[biblatex]{TeX}{%
   % Control sequences names
   moretexcs={%
     cite,Cite,parencite,Parencite,footcite,footcitetext,smartcite,%
     Smartcite,textcite,Textcite,supercite,cites,Cites,parencites,%
     Parencites,footcitesfootcitetexts,textcites,Textcites,supercites,%
     autocite,Autocite,autocite*,Autocite*,autocites,Autocites,%
     citeauthor,Citeauthor,citetitle,citetitle*,citeyear,citeurl,%
     parentext,brackettext,nocite,fullcite,footfullcite,volcite,%
     Volcite,pvolcite,Pvolcite,fvolcite,ftvolcite,tvolcite,Tvolcite,%
     avolcite,Avolcite,notecite,Notecite,pnotecite,Pnotecite,fnotecite,%
     citename,citelist,citefield,printbibliography,bibliography,%
     citedate,ExecuteBibliographyOptions,defbibnote,psq,psqq,%
     addbibresource,AtNextCite,DeclareNameAlias,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     abstract,addendum,afterword,annotation,annotator,author,%
     authortype,bookauthor,bookpagination,booksubtitle,booktitle,%
     booktitleaddon,chapter,commentator,date,doi,edition,editor,%
     editora,editorb,editorc,editortype,editoratype,editorbtype,%
     editorctype,eid,eprint,eprintclass,eprinttype,eventdate,%
     eventtitle,file,foreword,holder,howpublished,indextitle,%
     institution,introduction,isan,isbn,ismn,isrn,issn,issue,%
     issuesubtitle,issuetitle,iswc,journalsubtitle,journaltitle,label,%
     language,library,location,mainsubtitle,maintitle,maintitleaddon,%
     month,nameaddon,note,number,organization,origdate,origlanguage,%
     origlocation,origpublisher,origtitle,pages,pagetotal,pagination,%
     part,publisher,pubstate,reprinttitle,series,shortauthor,%
     shorteditor,shorthand,shorthandintro,shortjournal,shortseries,%
     shorttitle,subtitle,title,titleaddon,translator,type,url,urldate,%
     venue,version,volume,volumes,year,crossref,entryset,entrysubtype,%
     execute,gender,hyphenation,indexsorttitle,keywords,options,%
     presort,sortkey,sortname,sorttitle,sortyear,xref,annote,%
     archiveprefix,journal,key,pdf,primaryclass,school,address,%
     datamodel,%
     %
     backend,style,citestyle,bibstyle,sorting,maxnames,minnames,%
     maxitems,minitems,backref,abbreviate,firstinits,prenote,postnote,%
     useprefix,autopunct,giveninits,labelname,given-family,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     submitted,inpress,danish dutch,american,USenglish,english,british,%
     UKenglish,canadian,australian,newzealand,finnish,french,francais,%
     canadien,german,ngerman,austrian,naustrian,greek,italian,norsk,%
     nynorsk,brazil,portuges,spanish,swedish,%
     %
     biber,numeric,numeric-comp,numeric-verb,alphabetic,alphabetic-verb,%
     authoryear,authoryear-comp,authoryear-ibid,authoryear-icomp,%
     authortitle,authortitle-comp,authortitle-ibid,authortitle-icomp,%
     authortitle-terse,authortitle-tcomp,authortitle-ticomp,verbose,%
     verbose-ibid,verbose-note,verbose-inote,verbose-trad1,verbose-trad2,%
     verbose-trad3,reading,draft,debug,and,inline,footnote,%
     superscript,plain,nyt,ynt,none,false,true,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     biblatex },%
   % directives
   directives={%
     article,book,inbook,bookinbook,suppbook,booklet,collection,%
     conference,incollection,suppcollection,manual,misc,online,patent,%
     periodical,suppperiodical,proceedings,inproceedings,reference,%
     inreference,report,thesis,unpublished,masterthesis,phdthesis,%
     string,comment,%
   },%
   % otherkeywords={},%
   alsoletter={-},%
   % alsodigit={},%
   delim=*[directive]@,sensitive=false,%
 }[keywords,directives,tex,comments]%

 \lst@definelanguage[lthooks]{TeX}{%
   % Control sequences names
   moretexcs={%
     AddToHook,BeforeBeginEnvironment,AtBeginEnvironment,AtEndEnvironment,%
     AfterEndEnvironment,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     % begin,end,
     before,after,begindocument,begindocument/before,%
     begindocument/end,enddocument,enddocument/afterlastpage,%
     enddocument/afteraux,enddocument/info,enddocument/end,env,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     lthooks },%
   % otherkeywords={},%
   alsoletter={/},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[l3keys2e]{TeX}{%
   % Control sequences names
   moretexcs={%
     ProcessKeysOptions,ProcessKeysPackageOptions,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     l3keys2e },%
   % otherkeywords={},%
   alsoletter={23},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[varioref]{TeX}{%
   % Control sequences names
   moretexcs={%
     vref,vpageref,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     varioref },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[hologo]{TeX}{%
   % Control sequences names
   moretexcs={%
     hologo },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=va ,lue)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     hologo%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[acro]{TeX}{%
   % Control sequences names
   moretexcs={%
     Ac,Aca,Acap,Acf,Acfp,Acl,Aclp,Acp,AcroAcronymsMap,AcroAddRow,%
     AcroMapBreak,AcroNeedPackage,AcroPropertiesMap,AcroPropertiesSet,%
     AcroRerun,AcroStyle,AcroTemplateName,AcroTemplateType,AcronymID,%
     AcronymTable,Acs,Acsp,BeginAccSupp,Dacs,DeclareAcroArticle,%
     DeclareAcroEnding,DeclareAcroPreset,DeclareAcroProperty,%
     DeclareAcroPropertyAlias,DeclareAcroTranslation,DeclareAcronym,Iac,%
     Iaca,Iacf,Iacl,Iacs,MakeAcroPropertyAlias,NewAcroCommand,%
     NewAcroPreset,NewAcroTemplate,RenewAcroCommand,RenewAcroPreset,%
     RenewAcroTemplate,SetupAcroTemplate,SetupNextAcroTemplate,%
     UseAcroTemplate,abbrdot,ac,aca,acap,acbarrier,acdot,acf,acfg,%
     acflike,acfootnote,acfp,acg,aciftrailing,acl,aclg,aclp,acp,%
     acreset,acresetall,acrocite,acrodefinite,acrodonotuse,acrodotfill,%
     acroendfootnote,acroformat,acrofull,acrogroupcite,acroheading,%
     acroifT,acroifTF,acroifallTF,acroifanyT,acroifanyTF,%
     acroifbooleanTF,acroifchapterF add,acroifchapterTF,acroiffirstT,%
     acroiffirstTF addchap,acroifpagesTF,acroifsingleTF,acroifstarredTF,%
     acroiftagTF,acroifusedTF,acroindefinite,acrolistname,acroneedpages,%
     acronopagerange,acronymsmap,acronymsmapF,acronymsmapTF,acropagefill,%
     acropages,acroplural,acropossessive,acropreamble,acroshow,%
     acrotranslate,acroupper,acrowrite,acs,acsetup,acsp,acspace,%
     acswitchoff,acswitchon,acuse,dacs,declareAcronym,iac,iaca,iacf,%
     iacl,iacs,iacsg,printacronyms,%
     %
     acro_locale,acro_if_foreign,acro_if_locale,__acro_foreign_language,%
     acro_property_get,acro_property_if_set,acro_property_get,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     activate,addsec,addsec*,all,alt,alt,alt-acc,alt-format,%
     alt-indefinite,alt-plural,alt-plural-form,barriers,before-citation,%
     caption,%
     case-insensitive,%case-sensitive,%chapter,chapter*,cite,clear,cmd,%
     deactivate,define,description,disable,display,exclude,extra,%
     extra-acc,extra-foreign,extra-format,extra-long,fill,first,%
     first-long,first-long-format,first-style,first-style ,floats,%
     footnote,foreign,foreign,foreign-acc,foreign-babel,foreign-format ,%
     foreign-locale,foreign-plural,foreign-plural-form,format,format,%
     group,heading,id,include,index,index,index-cmd,index-sort,%
     language,link-only-first,list,list,list-acc,list-format,%
     list/display,lists,load-style,local,locale,lof,long,long,%
     long-acc,long-format,long-indefinite,long-plural,long-plural-ending,%
     long-plural-form,long-post,long-short,longtable,longtabu,lppl,%
     ltxtable,make-links,maketitle,method,name,no-index,none,options,%
     pages,pdf,pdf,pdfcomment,pdfcomment/cmd,pdfcomment/use,pdfstring,%
     post,pre,preamble,preset,replace,reset,section,section*,short,%
     short,short,short-acc,short-format,short-indefinite,short-long,%
     short-plural,short-plural-ending,short-plural-form ,show,single,%
     single,single,single-acc threshold,single-format
     title,single-style,%
     single-style,sort,sort,subsequent-style,subsequent-style,%
     supertabular,tabular,tabularx,tag,upgrade,use,use-id-as-short,%
     uselist,version,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     acro%
   },%
   % otherkeywords={},%
   alsoletter={-_},%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 \lst@definelanguage[csquotes]{TeX}{%
   % Control sequences names
   moretexcs={%
     enquote,%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     displayquote,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     csquotes%
   },%
   % otherkeywords={},
   % alsoletter={},
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % tcolorbox
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[tcolorbox]{TeX}%
 {%
   % Control sequences names
   moretexcs={%
     tcbuselibrary,newtcbtheorem,tcbset%
   },%
   % Keywords of class 1 : keywords that contain other characters (since
   % of the same class as the ones specified as 'otherkeywords')
   morekeywords={%
     %
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
     absquote,boxarraystore,dispExample,dispExample*,dispListing,%
     dispListing*,docCommand,docCommand*,docCommands,docEnvironment,%
     docEnvironment*,docEnvironments,docKey,docKey*,docKeys,%
     docPathOperation,docPathOperation*,docPathOperations,extcolorbox,%
     extikzpicture,fooauxenv,foocolorbox,foocolorbox*,posterboxenv,%
     tcbclipframe,tcbclipinterior,tcbcliptitle,tcbexternal,%
     tcbinvclipframe,tcbitemize,tcblisting,tcboutputlisting,%
     tcboxeditemize,tcboxedraster,tcbposter,tcbraster,tcbverbatimwrite,%
     tcbwritetemp,tcolorbox,%
   },%
   % Keywords of class 3 : mandatory arguments (not environments) &
   % optional arguments which are keys (in key=value)
   morekeywords=[3]{%
     Crefname,IfBooleanF,IfBooleanT,IfBooleanTF,IfNoValueF,IfNoValueT,%
     IfNoValueTF,IfValueF,IfValueT,IfValueTF,PassOptionsToClass,%
     PassOptionsToPackage,above*,above,actual,adapt,add,adjust,%
     adjusted,after,alert,alerted,algorithm,align*,align,all,ams,%
     and,angular,annotate,app,arara,arc,array,as,at,attach,auto,%
     autoparskip,balanced,base,basedim,baseline,beamer,bean,before,%
     beforeafter,% begin,
     below,between,biber,bibtex,bicolor,blank,%
     blanker,blankest,blend,body,bold,bookmark*,bookmark,borderline,%
     both,bottom*,bottom,bottomrule,bottomsep,bottomtitle,bounding,%
     box,boxed,boxes,boxrule,boxsep,break*,break,breakable,broken,%
     by,caption,capture,center,check,circular,clear,clip,code,%
     colback,colbacklower,colbacktitle,colframe,collower,colon,color,%
     colorize,colors,colspacing,coltext,coltitle,column*,column,%
     columns,colupper,command,comment,compilable,compiler,compress,%
     content,corner,corners,counter*,counter,counters,coverage,%
     crefname,current,curved,dash,default,definition,delimiters,%
     description,detach,directory,do,doc,docexample,documentation,%
     downwards,draft,draftmode,draw,drop,dvips,east,empty,% end,
     %
     enforce,engine,english,enhanced,enlarge,enlargement,enlargepage,%
     entry,environment,environments,equal,equation*,equation,error,%
     even,every,example!,example,extend,extension,external,%
     externalize,extras,extrude,fade,fading,file,fill,filled,finally,%
     finish,first,fit,fitting,fixed,flexible,flip,float*,float,%
     floatplacement,flush,flushleft,flushright,font,fontlower,fontsize,%
     fonttitle,fontupper,for,force,format,formatter,frame,freelance,%
     freelancefirst,freelancelast,freelancemiddle,freestyle,freeze,from,%
     full,fuzzy,gap,gather*,gather,geometry,german,goal,graphical,%
     graphics,group,grow,halign,halo,hanging,hbox,head,height,%
     hidden,hide,higher,highlight,hooks,horizontal,hyperlink,hyperref,%
     hypertarget,hyperurl*,hyperurl,hyphenationfix,if,ignore,image,in,%
     indent,index*,index,inherit,initially,input,inputencoding,inside,%
     interior,into,invisible,inwards,is,jigsaw,jpg,key,keypath,keys,%
     keywords,label,language,large,last,latex,layer,layers,left*,%
     left,lefthand,leftlower,leftright,leftrule,lefttitle,leftupper,%
     length,lengths,level,lifted,limit,line*,line,lines,list,%
     listing!,listing,listings,listingsutf,lower*,lower,lowerbox,%
     lowered,lualatex,m,macros,magazine,makeindex,many,marginnote,%
     marker,math,maxfontdiff,maxfontdiffgap,maxstep,maxwidthdiff,%
     maxwidthdiffgap,method,midday,middle,minimum,minipage,minted,%
     most,move,multicolumn,multirow,n,name,nameref,natural,new,%
     nirvana,no,nobeforeafter,nobreak,node,nodes,nodisplayskip,%
     nofloat,none,noparskip,nophantom,north,northeast,northwest,not,%
     notitle,number,octogon,odd,of,offset,on,oneside*,oneside,only,%
     opacity,opacityback,opacitybacklower,opacitybacktitle,opacityfill,%
     opacityframe,opacitylower,opacitytext,opacitytitle,opacityupper,%
     option,options,or,orientation,out,outer,outside,outwards,over,%
     overlay,overlays,oversize,overzoom,pad,page*,page,pages,%
     pageshort,parameter,parbox,parenthesis,parfillskip,parskip,path,%
     paths,pdf,pdflatex,percent,phantom,phantomlabel,placeholder,%
     plain,plus,png,poster,pre,preamble,preclass,prefix,process,%
     pspdf,quote,raise,raised,raster,ratio,record,recording,remake,%
     remember,remove,reset,restore,right*,right,righthand,rightlower,%
     rightrule,righttitle,rightupper,rotate,rounded,row,rows,%
     rowspacing,rowspan,run,runner,runs,safety,savedelimiter,%
     savelowerto,saveto,scale,scope,segmentation,semi,separated,%
     separator,sequence,settings,shade,shading,shadow,sharp,sharpish,%
     shield,show,showframe,shrink,side,sidebyside,sidewards,sign,%
     size,skin,skins,skip,small,smart,sort,source,south,southeast,%
     southwest,space,spacing,span,spartan,split,spread,square,%
     squeezed,stack,standard,step,store,stretch,style,subskin,%
     subtitle,supplement,switch,system,tabulars*,tabulars,tabularx*,%
     tabularx,tcbimage,tcbox,preamble tcbset,tempfile,terminator,text,%
     theorem,theorems,tight,tikz,tikznode,tile,title*,title,titlebox,%
     titled,titlerule,to,toggle,top*,top,toprule,topsep,toptitle,%
     type,unbreakable,unbroken,underlay,updated,upper*,upper,upperbox,%
     upwards*,upwards,use,utf,valign,value,values,varwidth,verbatim,%
     vertical,vfill,vignette,visible,void,warning,watermark,west,%
     widget,width,with,within,xelatex,xmax,xmin,xparse,xshift,ymax,%
     ymin,yshift*,yshift,yshifttext,zoom,%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
     all,and,apart,areasize*,areasize,as-is,auto,base,baselineskip,%
     beamer,beamerfirst,beamerlast,beamermiddle,bicolor,bicolorfirst,%
     bicolorlast,bicolormiddle,both,bottom,break,broken,center,change,%
     clipped,colon,copy,dash,direct,doc,downhill,draft,east,empty,%
     emptyfirst,emptylast,emptymiddle,enhanced,enhancedfirst,%
     enhancedlast,enhancedmiddle,evenpage,false,fbox,figures,final,%
     first,fitbox,flush,fontsize*,fontsize,forced,freelance,%
     freelancefirst,freelancelast,freelancemiddle,hang,hbox,hybrid*,%
     hybrid,ignored,invisible,jigsaw,justify,landscape*,landscape,%
     last,left,limited,listings,margin,maximum,middle,minimal,%
     minimum,minipage,minted,none,normal,north,northeast,northwest,%
     off,on,path,pathfirst,pathfirstjigsaw,pathjigsaw,pathlast,%
     pathlastjigsaw,pathmiddle,pathmiddlejigsaw,pgf,pgfchapter,%
     pgfsection,plain,portrait*,portrait,right,rows,scale*,scale,%
     seam,small,south,southeast,southwest,spartan,squeeze,standard,%
     tables,tight,tile,tilefirst,tilelast,tilemiddle,title,top,true,%
     unbroken,unlimited,uphill,visible,west,widget,widgetfirst,%
     widgetlast,widgetmiddle,red,black,white,none,%
   },%
   % Keywords of class 5 : arguments specifications (after ":" in expl3
   % syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly derived
   % packages)
   morekeywords=[6]{%
     tcolorbox%
   },%
   % otherkeywords={},%
   alsoletter={ \ },%
   % alsodigit={},%
   % alsoother={},%
   sensitive,%
 }[keywords,tex,comments]%

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Classes (La)TeX
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst@definelanguage[classes]{TeX}{%
   % Control sequences
   moretexcs={%
   },%
   % Keywords of class 1 : keywords that contain other characters
   % (since of the same class as the ones specified as
   % 'otherkeywords')
   morekeywords={%
     %
   },%
   % Keywords of class 2 : environments names
   morekeywords=[2]{%
   },%
   % Keywords of class 3 : mandatory arguments (not environments)
   % & optional arguments which are keys (in key=value)
   morekeywords=[3]{%
   },%
   % Keywords of class 4 : values of keys (in key=value)
   morekeywords=[4]{%
   },%
   % Keywords of class 5 : arguments specifications (after “:”
   % in expl3 syntax)
   morekeywords=[5]{%
   },%
   % Keywords of class 6 : current package name (and possibly
   % derived packages)
   morekeywords=[6]{%
     a0poster,aalok,aastex631,abntex2,achemso,acmart,acmconf,
     active-conf,adfathesis,afparticle,afthesis,aguplus,aiaa-tc,
     akklecture,akkscript,akktecdoc,akletter,myletter,ametsoc,
     amsart,amsbook,amsdtx,amsldoc,amsproc,aomart,apa,apa6,
     apa6e,apa7,arabart,arabbook,arabrep,arabrep1,articleingud,
     asaetr,ascelike,asmeconf,asmejour,assignment,aucklandthesis,
     bangorcsthesis,bangorexam,barticle,bbook,bletter,
     bankstatement,article,book,letter,ltnews,ltxdoc,ltxguide,
     minimal,proc,report,slides,source2edoc,basque-book,beamer,
     beamerswitch,beaulivre,beilstein,argetabelle,bewerbung,
     bgteubner,BHCexam,bitart,bitbook,bjfuthesis,BMSTU-IU8,
     bookcover,bookest,bookshelf,br-lex,brandeis-dissertation,
     brandeis-problemset,brandeis-thesis,buctcover,buctthesis,
     bxjsarticle,bxjsbook,bxjsreport,bxjsslide,cascadilla,cd,
     cd-cover,articoletteracdp,letteracdp,cesenaexam,cheatsheet,
     chemmacros-manual,chletter,cje,cnbwp,cnltx-doc,codedoc,
     colorart,colorbook,combine,cc,ConcProg,confproc,contracard,
     courseoutline,coursepaper,cquthesis,csbulletin,csbulobalka,
     csbulv1,ctexart,ctexbeamer,ctexbook,ctexrep,ctxdoc,curve,
     cv4tw,cweb,idcc,ijdc-v14,ijdc-v9,dinbrief,disser,gost732,
     dithesis,droit-fr,dtk,dvdcoll,easybook,ebsthesis,agecon,
     ajae,apecon,ecca,erae,itaxpf,jrurstud,njf,oegatb,pocoec,
     regstud,worlddev,ecv,einfart,ejpecp,elbioimp,elegantbook,
     elegantnote,elegantpaper,elpres,cas-dc,cas-sc,elsarticle,
     elteikthesis,emisa,emulateapj,erdc,eskd,eskdgraph,eskdtab,
     eskdtext,estcpmm,europasscv,europecv,exam,exam-n,examdesign,
     exesheet,extarticle,extbook,extletter,extproc,extreport,
     facsimile,factura,fancyhandout,fancyslides,fbithesis,fcavtex,
     fdudoc,fduthesis-en,fduthesis,fei,ffslides,fithesis,
     fithesis2,fithesis3,fithesis4,flacards,flashcards,frletter,
     g-brief,g-brief2,gaceta,gammas,gatech-thesis,gmdocc,
     gradstudentresume,grant-afosr,grant-aro,grant-darpa,grant-doe,
     grant-nih,grant-nrl,grant-nsf,grant-onr,grant,graphpaper,
     gridslides,gsemthesis,guitartabs,gzt,gztarticle,h2020proposal,
     hgbarticle,hgbreport,hgbthesis,harnon-cv,hausarbeit-jura,
     hcart,hcletter,hcreport,hcslides,hecthese,hepthesis,hitec,
     hithesis,hitreport,hitszthesis,hletter,hpsdiss,fsbispit,
     huawei,hustthesis,icsv,IEEEconf,IEEEtran,ijmart,ijsra,
     image-gallery,IMTEKda,inkpaper,invoice-class,iodhbwm,iscram,
     isov2,isodoc,iwhdp,jacow,jlreq,jmlr,jmlrbook,jnuexam,jpsj2,
     jura,jurabook,juraovw,juraurtl,kdgcoursetext,kdgmasterthesis,
     kdpcover,kerntest,kluwer,knittingpattern,scrartcl,scrarticle,
     scrbook,scrdoc,scrletter,scrlttr2,scrreport,scrreprt,komacv,
     oblivoir-utf,oblivoir-xl,oblivoir,xoblivoir,ksp-thesis,l3doc,
     labbook,leadsheet,leaflet,lebhart,lectures,letgut,lettre,limap,
     limecv,lion-msc,lni,lps,lt3graph-packagedoc,ltxdockit,
     ltxguidex,abstbook,beletter,flashcard,iagproc,cours,fiche,
     matapli,matc3mem,mcmthesis,ltxmdf,medstarbeamer,meetingmins,
     memoir,mensa-tex,mentis,metanorma,milog,minimart,minimbook,
     mla,mluexercise,mnras,moderncv,modernposter,msu-thesis,
     mucproc,mugsthesis,muling,musuos,muthesis,third-rep,mwart,
     mwbk,mwrep,mycv,nature,ncc,nccproc,sibjnm,nddiss2e,
     ndsu-thesis,newlfm,nih,nihbiosketch,njurepo,nlctdoc,nostarch,
     nrc1,nrc2,artikel1,artikel2,artikel3,boek,boek3,brief,
     rapport1,rapport3,nwejm,nwejmart,octavo,onrannual,
     oup-authoring-template,journal,paper,papertex,pbsheet,pecha,
     petiteannonce,philosophersimprint,pittetd,pkuthss,plari,play,
     postcards,powerdot,FUpowerdot,ppr-prv,pracjourn,pressrelease,
     proposal,reporting,dfgproposal,dfgreporting,euproposal,
     eureporting,prosper,protocol,prtec,upmgr,wkmgr,pst-doc,
     ptptex,qcm,quantumarticle,qyxf-book,ReadableCV,recipe,
     RecipeBook,recipecard,refart,refrep,resphilosophica,revtex4-2,
     revtex4,revtex4-1,rtklage,ryersonSGSThesis,ryethesis,sageep,
     sapthesis,schuleab,schulein,schuleit,schulekl,schuleub,
     schuleue,schullsg,schullzk,schulma-ab,schulma-gutachten,
     schulma-klausur,schulma-komp,schulma-mdlprf,schulma-praes,
     schwalbe,sciposter,screenplay,scrjrnl,sdapsclassic,sduthesis,
     seminar,semproc,sesamanuel,seuthesix,sffms,cassete,etiketka,
     shtthesis,caesar_book,sides,simplecv,simplivre,skbarticle,
     skbbeamer,skbbook,skblncsbeamer,skblncsppt,skbmoderncv,skdoc,
     skeyval-testclass,skrapport,smfart,smfbook,SPhdThesis,spie,
     sr-vorl,sslides,stage,standalone,usthesis,hwexam,mikoslides,
     omdoc,smglom,subfiles,suftesi,sugconf,tabriz-thesis,talk,
     tcldoc,tclldoc,powersem,thesis-ekf,thesis-gwu,thuthesis,
     tikz-kalender,tikzposter,tlc-article,TOPletter,toptesi,
     tudabeamer,tudaexercise,tudaleaflet,tudaletter,tudaposter,
     tudapub,tudasciposter,tudscrartcl,tudscrbook,tudscrdoc,
     tudscrmanual,tudscrposter,tudscrreprt,tufte-book,tufte-handout,
     ltugboat,ltugproc,tui,turabian,turabian-researchpaper,
     turabian-thesis,my-thesis,ua-thesis,uafthesis,
     uantwerpenbamathesis,uantwerpencoursetext,uantwerpenexam,
     uantwerpenletter,uantwerpenphdthesis,uantwerpenreport,
     ucalgmthesis,ucbthesis,ucdavisthesis,ucsmonograph,ucthesis,
     udesoftec,uebungsblatt,uestcthesis,uhhassignment,uiucredborder,
     uiucthesis,ulthese,legislation,umich-thesis,umthesis,
     unam-thesis,unifith,unitn-bimrep,univie-ling-expose,
     univie-ling-paper,univie-ling-thesis,univie-ling-wlg,
     unizgklasa,uothesis,UoWthesis,upmethodology-document,URbeamer,
     URletter,uspatent,ut-thesis,utexasthesis,uwmslide,uwthesis,
     verifica,webquiz,willowtreebook,withargs-packagedoc,
     wsemclassic,xduthesis,xebaposter,xmuthesis,xsim-manual,
     yaletter,yathesis,ycbook,ydoc,york-thesis,
   },%
   % otherkeywords={},%
   alsoletter={0123456789-},%
   % alsodigit={},%
   sensitive%
 }[keywords,tex,comments]%
