texlive[67192] Master/texmf-dist: letgut (21may23)

commits+karl at tug.org commits+karl at tug.org
Mon May 22 23:15:08 CEST 2023


Revision: 67192
          http://tug.org/svn/texlive?view=revision&revision=67192
Author:   karl
Date:     2023-05-22 23:15:08 +0200 (Mon, 22 May 2023)
Log Message:
-----------
letgut (21may23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
    trunk/Master/texmf-dist/doc/lualatex/letgut/README.md
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
    trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md	2023-05-22 21:15:08 UTC (rev 67192)
@@ -7,6 +7,14 @@
 
 ## [Unreleased]
 
+## [0.9.7] - 2023-05-21
+
+### Changed
+Announcement's title and toc entry possibly different (backward compatibility broken!)
+
+### Fixed
+`tabularray`'s needed library added.
+
 ## [0.9.6] - 2023-01-14
 
 ### Fixed

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/README.md	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/README.md	2023-05-22 21:15:08 UTC (rev 67192)
@@ -8,7 +8,7 @@
 
 Release
 -------
-2023-01-14 v0.9.6
+2023-05-21 v0.9.7
 
 Development
 -----------

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex	2023-05-22 21:15:08 UTC (rev 67192)
@@ -1,4 +1,4 @@
-% Created 2023-01-14 sam. 20:02
+% Created 2023-05-21 dim. 17:49
 % Intended LaTeX compiler: lualatex
 \documentclass{letgut}
                                 \setmainfont{KpRoman}

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex	2023-05-22 21:15:08 UTC (rev 67192)
@@ -1,4 +1,4 @@
-% Created 2023-01-14 sam. 20:02
+% Created 2023-05-21 dim. 17:49
 % Intended LaTeX compiler: lualatex
 \documentclass{letgut}
                                 \setmainfont{KpRoman}
@@ -90,8 +90,8 @@
 
 \begin{lstlisting}
 \ProvidesExplClass{letgut}
-{2023-01-14}
-{0.9.6}
+{2023-05-21}
+{0.9.7}
 {
   Class for the newsletter “The GUTenberg Letter”
 }
@@ -437,6 +437,7 @@
 }
 \tl_const:Nn \c__letgut_acronyms_file_tl { letgut-acronyms }
 \tl_const:Nn \c__letgut_local_config_file_tl { localconf }
+\tl_const:Nn \c__letgut_pre_documentclass_file_tl { pre-documentclass }
 \tl_const:Nn \c__letgut_lstlanguage_file_tl { letgut-lstlang.sty }
 \tl_const:Nn \c__letgut_contents_name_tl { Sommaire }
 \tl_const:Nn \c__letgut_draftwatermark_text_tl {
@@ -494,6 +495,8 @@
 \tl_new:N \l__letgut_title_addon_tl
 \tl_new:N \l__letgut_reference_text_tl
 \tl_new:N \g__letgut_effective_acronyms_file_tl
+\tl_new:N \l__letgut_toc_title_announce_tl
+\tl_new:N \l__letgut_toc_color_announce_tl
 \end{lstlisting}
 \end{enumerate}
 
@@ -881,6 +884,10 @@
 \begin{lstlisting}
 \renewcommand*\frenchtablename{Tableau}
 \end{lstlisting}
+\item We load a \package{tabularray}'s library.
+\begin{lstlisting}
+\UseTblrLibrary{booktabs}
+\end{lstlisting}
 \item The \lstinline+\printbibliography+ command is redefined in order its \lstinline+heading+ is by
 default set to \lstinline+subbibliography+.
 \begin{lstlisting}
@@ -1131,8 +1138,9 @@
   , editorial .initial:n = { true }
   , informations .bool_gset:N = \g__letgut_informations_bool
   , informations .initial:n = { true }
-  , detailedtoc .bool_gset:N = \g__letgut_detailedtoc_bool
-  , detailedtoc .initial:n = { false }
+  , detailedtoc .str_gset:N = \g__letgut_detailedtoc_level_str
+  , detailedtoc .default:n = 5
+  , detailedtoc .initial:n = 0
   , reverse-files-attachement .code:n = {
     \AddToHook{begindocument/before}{
       \bool_lazy_and:nnTF {\g__letgut_for_readers_bool} {!\g__letgut_paper_bool}
@@ -1296,34 +1304,48 @@
 \subsection{Announcements}
 \label{ImplementationAnnounces-nahckb909pj0}
 \begin{lstlisting}
-\DeclareTColorBox{announcement}{ O{black} m }
+\tcbset{
+  announce~ style/.style={
+    enhanced,
+    sharp~ corners,
+    boxrule=0mm,
+    leftrule=1cm,
+    bottomrule=1cm,
+    toptitle=20pt,
+    bottomtitle=20pt,
+    center~ title,
+    before~ title=\hypersetup{hidelinks},
+    fonttitle=\scshape\bfseries\huge,
+    fontupper=\Large,
+    fontlower=\Large,
+    skin=empty,
+    segmentation~ style=solid,
+    halign=center,
+    toc~ title/.store~ in=\l__letgut_toc_title_announce_tl,
+    color/.store~ in=\l__letgut_toc_color_announce_tl,
+  }
+}
+\cs_new_protected:Npn \__letgut_toc_title_announce:nn #1 #2
 {
-  colframe=#1,
-  coltitle=#1,
-  borderline~ west={1cm}{0pt}{#1},
-  IfBlankF={#2}{
-    title=\hypersetup{hidelinks}#2,
-    phantom={\phantomsection\addcontentsline{toc}{title}{#2}},
-  },
-  enhanced,
-  sharp~ corners,
-  boxrule=0mm,
-  leftrule=1cm,
-  bottomrule=1cm,
-  toptitle=20pt,
-  bottomtitle=20pt,
-  center~ title,
-  fonttitle=\scshape\bfseries\huge,
-  fontupper=\Large,
-  fontlower=\Large,
-  skin=empty,
-  segmentation~ style=solid,
-  halign=center,
+  \tl_if_empty:NTF {#1}{
+    \phantomsection\addcontentsline{toc}{title}{#2}
+  }{
+    \phantomsection\addcontentsline{toc}{title}{#1}
+  }
+}
+\NewTColorBox{announcement}{ O{} m }
+{
+  announce~ style,
+  title=#2,
+  borderline~ west={1cm}{0pt}{\l__letgut_toc_color_announce_tl},
+  phantom={\__letgut_toc_title_announce:nn {\l__letgut_toc_title_announce_tl}{#2}},
   overlay~ unbroken~ and~ first ={
-    \node[color=#1]~ at~ ([yshift=8pt]title.south)
+    \node[color=\l__letgut_toc_color_announce_tl]~ at~ ([yshift=8pt]title.south)
     {\pgfornament[width=0.4\linewidth]{88}};
     \node[color=white,anchor=north~ west]~ at~ (frame.north~ west) {\huge\bfseries\aldineright{}};
   },
+  #1,
+  coltitle=\l__letgut_toc_color_announce_tl,
 }
 \end{lstlisting}
 
@@ -1639,11 +1661,7 @@
 subpargraphs (which may be useful in order to check the structure of the
 Lettre).
 \begin{lstlisting}
-\bool_if:NTF \g__letgut_detailedtoc_bool {
-  \etocsetnexttocdepth{5}
-}{
-  \etocsetnexttocdepth{0}
-}
+\etocsetnexttocdepth{\g__letgut_detailedtoc_level_str}
 \pdfbookmark[1]{
   \c__letgut_contents_name_tl
 }{
@@ -1838,10 +1856,15 @@
     \leavevmode\leftskip 2cm\relax
   }
   {
-    \bool_if:NTF \g__letgut_detailedtoc_bool {
-      \bfseries
+    \bool_lazy_or:nnTF {
+      \str_if_eq_p:Vn \g__letgut_detailedtoc_level_str { 0 }
     }{
+      \str_if_eq_p:Vn \g__letgut_detailedtoc_level_str { title }
+    }
+    {
       \mdseries
+    }{
+      \bfseries
     }
     \normalsize
     \etocname
@@ -2998,7 +3021,27 @@
 otherwise, use the starred version).
 \end{itemize}
 
+We first create a function that attach to the PDF a file only if it exists in
+the current directory and is non empty. This will be applied to both the
+\file{localconf.tex} and \file{pre-documentclass.tex} files below.
+
 \begin{lstlisting}
+\cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
+  \file_get_size:nN {./#1} \tmpa_tl
+  \quark_if_no_value:NF \tmpa_tl {
+    \tl_if_eq:NnF \tmpa_tl {0} {
+      \seq_gput_left:Nn \g__letgut_included_files_seq {
+	\attachfile[
+	description={Source~ nécessaire~ (fichier~ `#1.tex`)},
+	mimetype=application/x-tex]
+	{#1.tex}
+      }
+    }
+  }
+}
+\end{lstlisting}
+
+\begin{lstlisting}
 \cs_new_protected:Npn \__letgut_input_article:nn #1 #2
 {
   \lstset{ style=__letgut_reset_listings_styles }
@@ -3006,11 +3049,17 @@
   \input{#2}%
   \bool_if:NT \g__letgut_included_files_attached_bool {
     \IfBooleanF {#1}{
+      \__letgut_attach_non_empty_existing_file:n {
+	\c__letgut_local_config_file_tl
+      }
+      \__letgut_attach_non_empty_existing_file:n {
+	\c__letgut_pre_documentclass_file_tl
+      }
       \seq_gput_left:Nn \g__letgut_included_files_seq {
 	\attachfile[
 	description={Source~ du~ présent~ article~ (fichier~ `#2.tex`)},
-	mimetype=application/x-tex]%
-	{#2.tex}%
+	mimetype=application/x-tex]
+	{#2.tex}
       }
       \bool_if:NT \g__letgut_acronyms_file_attached_bool {
 	\seq_gput_right:No \g__letgut_included_files_seq {
@@ -3035,8 +3084,8 @@
 }
 \end{lstlisting}
 
-\subsubsection{Included graphics attached to the \pdf}
-\label{ImplementationMiscellanousIncludedgraphicsattachedtothe\pdf-xoc34ja00pj0}
+\subsubsection{Included graphics attached to the PDF}
+\label{ImplementationMiscellanousIncludedgraphicsattachedtothePDF-xoc34ja00pj0}
 We hack the \lstinline+\includegraphics+ command in order to attach the included graphics
 to the \pdf{} (if desired, otherwise, use the starred version).
 
@@ -3094,8 +3143,8 @@
 }
 \end{lstlisting}
 
-\subsubsection{Added bibliographic ressources attached to the \pdf}
-\label{ImplementationMiscellanousAddedbibliographicressourcesattachedtothe\pdf-l4e34ja00pj0}
+\subsubsection{Added bibliographic ressources attached to the PDF}
+\label{ImplementationMiscellanousAddedbibliographicressourcesattachedtothePDF-l4e34ja00pj0}
 We hack the \lstinline+\addbibresource+ command in order to attach the bibliographic
 ressources to the \pdf{} (if desired, otherwise, use the starred version).
 
@@ -3124,8 +3173,8 @@
 }
 \end{lstlisting}
 
-\subsubsection{Added acronym definitions file attached to the \pdf}
-\label{ImplementationMiscellanousAddedbibliographicressourcesattachedtothe\pdf-l4e34ja00pj0}
+\subsubsection{Added acronym definitions file attached to the PDF}
+\label{ImplementationMiscellanousAddedbibliographicressourcesattachedtothePDF-l4e34ja00pj0}
 We hack the \lstinline+\ac+ and \lstinline+\acs+ commands in order to attach the acronym definitions
 file to the \pdf{}.
 
@@ -3150,8 +3199,8 @@
 }
 \end{lstlisting}
 
-\subsubsection{Added letgut listings language file attached to the \pdf}
-\label{ImplementationMiscellanousAddedbibliographicressourcesattachedtothe\pdf-l4e34ja00pj0}
+\subsubsection{Added letgut listings language file attached to the PDF}
+\label{ImplementationMiscellanousAddedbibliographicressourcesattachedtothePDF-l4e34ja00pj0}
 We hack the \lstinline+\ac+ and \lstinline+\acs+ commands in order to attach the acronym definitions
 file to the \pdf{}.
 
@@ -3923,6 +3972,7 @@
   ^^^^201c^^^^201d% for “ and ”
   ^^^^215b% for ⅛
   ^^^^2122% for ™
+  ^^^^2019% for ’
   ^^00%
 }
 \lst at RestoreCatcodes
@@ -3969,7 +4019,7 @@
 \end{itemize}
 
 \begin{lstlisting}
-\ProvidesFile{letgut.lbx}[2023-01-14 v0.9.6 letgut localization]
+\ProvidesFile{letgut.lbx}[2023-05-21 v0.9.7 letgut localization]
 \InheritBibliographyExtras{french}
 \DeclareBibliographyStrings{
   inherit          = {french},
@@ -3983,7 +4033,7 @@
 create the corresponding new entry).
 
 \begin{lstlisting}
-\ProvidesFile{letgut.dbx}[2023-01-14 v0.9.6 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2023-05-21 v0.9.7 letgut data model macros]
 \DeclareBibliographyDriver{bookreview}{%
   \usebibmacro{bibindex}%
   \usebibmacro{begentry}%
@@ -4038,7 +4088,7 @@
 We provide a specific \lstinline+biblatex+ citation style .
 
 \begin{lstlisting}
-\ProvidesFile{letgut.cbx}[2023-01-14 v0.9.6 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2023-05-21 v0.9.7 letgut base citation style]
 \RequireCitationStyle{numeric}
 \end{lstlisting}
 
@@ -4647,4056 +4697,4091 @@
 \label{ProvidedfilesLanguagedriverfile-4cch55h0jlj0}
 \begin{lstlisting}
 % \lst at 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]
+%   % 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 at definelanguage[lstfiracode]{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]{%
+    FiraCodeStyle%
+  },%
+  % 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]{%
+    lstfiracode%
+  },%
+  % otherkeywords={},
+  % alsoletter={},
+  % alsodigit={},%
+  % alsoother={},%
+  sensitive,%
+}[keywords,tex,comments]
+
 \lst at 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]
+  % 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 at definelanguage[FiraSans]{TeX}{%
-   % Control sequences names
+  % 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at definelanguage[swungdash]{TeX}{%
-   % Control sequences names
+  % 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]
+  },%
+  % 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 at definelanguage[simples-matrices]{TeX}{%
-   % Control sequences names
+  % 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]
+  },%
+  % 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 at definelanguage[customdice]{TeX}{%
-   % Control sequences names
+\lst at 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]
+  },%
+  % 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 at 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 at 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 at 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]%
+\lst at 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,Ucode,%
+  },%
+  % 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,color,toc,title,%
+  },%
+  % 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
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% LaTeX texcs and keywords that are missing in `listings` driver file
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst at 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]%
+  % 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 at definelanguage[listings]{TeX}{%
-   % Control sequences names
-   moretexcs={%
-     lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
-     lstdefineformat,lstdefinelanguage,lst at 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 at definelanguage[listings]{TeX}{%
+  % Control sequences names
+  moretexcs={%
+    lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
+    lstdefineformat,lstdefinelanguage,lst at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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]%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xparse
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% colortbl
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% multirow
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% nicematrix
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% booktabs
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% strands
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% cartonaugh
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xistercian
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% aboensis
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tabularray
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ninecolors
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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]%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tcolorbox
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Classes (La)TeX
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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]%
 \end{lstlisting}
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex	2023-05-22 21:15:08 UTC (rev 67192)
@@ -12,6 +12,7 @@
 \letgutsetup{
   , editorial=false
   , pagecolor= {1,1,1}
+  , detailedtoc = subsection
   % ,final
 }
 
@@ -67,7 +68,7 @@
 }
 \author{Association GUTenberg}
 \date{%
-  Version 0.9.6 en date du \today%
+  Version 0.9.7 en date du \today%
   \texorpdfstring{%
     \\
     \url{https://framagit.org/gutenberg/letgut}%
@@ -337,13 +338,20 @@
   page.
 \end{docKey}
 
-\begin{docKey}{detailedtoc}{}{\valinitdef[\docValue*{false}][\docValue*{true}]}
-  Par défaut, la table des matières automatiquement insérée en début de document
-  a pour niveau de profondeur celui des titres (saisis via la \refCom{title}),
-  et seulement les titres des articles. La clé booléenne \refKey{detailedtoc}
-  a pour effet que cette table des matières est détaillée au maximum (son niveau
-  de profondeur allant jusqu'aux sous-paragraphes), ce qui peut être utile lors
-  de la conception d'un numéro de la \lettre{}.
+\tcbset{before lower=\vspace*{.5\baselineskip}\par}
+%
+\begin{docKey}[][doc updated={2023-01-19}]{detailedtoc}{=\docValue{section}\textbar\docValue{subsection}\textbar\docValue{subsubsection}\textbar\docValue{paragraph}\textbar\docValue{subparagraph}}{\valinitdef[\docValue*{title}][\docValue*{all}]}
+  Par défaut, une table des matières est automatiquement insérée en début de
+  document, avec comme niveau de profondeur celui des titres des articles
+  (saisis via la \refCom{title}), et seulement eux.  La clé \refKey{detailedtoc}
+  permet de modifier le \enquote{niveau de profondeur} de cette table des
+  matières, respectivement jusqu'aux sections, sous-sections,
+  sous-sous-sections, paragraphes, sous-paragraphes. Sont également acceptées
+  les valeurs spéciales :
+  \begin{itemize}
+  \item \docValue{all} (alias de \docValue{subparagraph}) ;
+  \item \docValue{none} qui inhibe l'affichage de la table des matières.
+  \end{itemize}
 
   \begin{dbremark}{Tables des matières locales}{}
     Chaque article peut contenir une table des matières locale, affichée au
@@ -351,11 +359,11 @@
     \package*{etoc} chargé en sous-main par la \letgutcls{}). Le niveau de
     profondeur est par défaut celui des sections mais cela peut être modifié en
     la faisant précéder de la commande \docAuxCommand{etocsetnexttocdepth} (dont
-    l'argument est par exemple ™subsection™).
+    l'argument est l'une des valeurs possibles de la clé \refKey{detailedtoc}).
   \end{dbremark}
 \end{docKey}
 
-\begin{docKey}{reverse-files-attachement}{}{\valinitdef[pas de valeur]}
+\begin{docKey}[][doc new={2023-01-14}]{reverse-files-attachement}{}{\valinitdef[pas de valeur]}
   Si, et seulement si, la \lettre{} est à la fois en version pour les lecteurs
   (cf. \refKey{for-readers}) et en sortie écran (cf. \refKey{screen}), chacun
   des fichiers nécessaires (et suffisants) à la compilation d'un de ses articles
@@ -583,8 +591,7 @@
 récurrente. Aussi des commandes spécifiques sont-elles prévues de façon à en
 faciliter la saisie et à en homogénéiser la mise en forme.
 
-\subsection{Packages et classes, logiciels, fichiers, locutions étrangères,
-  points de code Unicode}
+\subsection{Packages et classes, logiciels, fichiers}
 \label{sec:classes-packages-et}
 
 \begin{docCommands}
@@ -678,6 +685,8 @@
   indésirables (préfixes pas en grandes capitales et signets non conformes).
 \end{dbwarning}
 
+\subsection{Locutions étrangères, points de code Unicode}
+
 \begin{docCommand}{foreignloc}{\marg{locution}}
   Cette commande est conçue pour afficher une \meta{locution} étrangère.
 \end{docCommand}
@@ -701,7 +710,7 @@
 Unicode a prévu le caractère \Ucode[symbole numéro]{2116}.
 \end{ltx-code-result}
 
-\subsection{Termes et expressions}
+\subsection{Termes et expressions (figés)}
 \label{sec:termes}
 
 \begin{docCommands}
@@ -708,10 +717,10 @@
   {
     { doc name = gutenberg },
     { doc name = gut },
-    { doc name = assogut },
-    { doc name = Assogut },
-    { doc name = lettres },
-    { doc name = lettresgut },
+    { doc name = assogut, doc new={2023-01-14} },
+    { doc name = Assogut, doc new={2023-01-14} },
+    { doc name = lettresn doc new={2023-01-14} },
+    { doc name = lettresgut, doc new={2023-01-14} },
     { doc name = cahier },
     { doc name = cahiers },
     { doc name = cahiergut },
@@ -1476,17 +1485,33 @@
 Afin de présenter aisément et de façon homogène les annonces à paraître dans la
 \lettre{}, la \letgutcls{} fournit l'environnement \refEnv{announcement}.
 
-\begin{docEnvironment}[doclang/environment content=annonce]{announcement}{\oarg{couleur}\marg{titre}}
-  Cet environnement est dédié aux \meta{annonce}s. La spécification :
+\begin{docEnvironment}[doclang/environment content=annonce,doc new and updated={2023-01-14}{2023-05-21}]{announcement}{\oarg{options}\marg{titre}}
+  % \tcbdocmarginnote{\color{red}\faExclamationTriangle{} Compatibilité ascendante cassée le
+  %   2023-05-21}
+  Cet environnement est dédié aux \meta{annonce}s. La spécification d'un
+  \meta{titre} (pouvant toutefois être vide) est obligatoire. S'il n'est pas
+  vide, il figure alors par défaut dans la table des matières et dans les
+  signets au même niveau que celui des titres d'articles.
+
+  Cet environnement admet des \meta{options} :
   \begin{itemize}
-  \item d'un \meta{titre} (pouvant toutefois être vide) est obligatoire ;
-  \item d'une \meta{couleur} (du tire et des ornements) autre que celle (noire)
-    par défaut est possible.
+  \item (toutes) celles acceptées par les environnements \refAux{tcolorbox} et
+    assimilés du \package*{tcolorbox}, destinées à, le cas échéant, modifier la
+    mise en forme par défaut de l'annonce ;
+  \item deux qui lui sont propres :
+    \begin{docKey}[][doc new={2023-05-21}]{toc title}{=\meta{titre alternatif}}{\valinitdef}
+      Cette clé permet de remplacer dans la table des matières et dans les
+      signets le \meta{titre} par un \meta{titre alternatif}.
+    \end{docKey}
+    \begin{docKey}[][doc new={2023-05-21}]{color}{=\meta{couleur}}{\valinitdef[\docValue*{black}]}
+      Cette clé permet une \meta{couleur} d'ornement et de titre autre que celle
+      appliquée par défaut.
+    \end{docKey}
   \end{itemize}
 \end{docEnvironment}
 
 \begin{ltx-code-result}[title addon=annonces]
-\begin{announcement}[red!35!black]{Convocation \acs{ag} ordinaire}
+\begin{announcement}[toc title={Exemple d'annonce},color=red!35!black]{Convocation \acs{ag} ordinaire}
   Les adhérents de l'\assogut{} sont invités à participer à
   l'\textbf{assemblée générale \emph{ordinaire}} de l'association
   le \textbf{dimanche 11 décembre 2022}.
@@ -1500,7 +1525,7 @@
 Afin de présenter aisément et de façon homogène les rébus à paraître dans la
 \lettre{}, la \letgutcls{} fournit l'environnement \refEnv{rebus}.
 
-\begin{docEnvironment}[doclang/environment content=rébus]{rebus}{\oarg{options}}
+\begin{docEnvironment}[doclang/environment content=rébus,doc new={2023-01-14}]{rebus}{\oarg{options}}
   Cet environnement affiche un \meta{rébus} et s'emploie différemment selon que
   la solution est prévue de figurer dans la \lettre{} :
   \begin{description}
@@ -1517,7 +1542,7 @@
 
   La commande séparant le rébus et sa solution prévue de figurer dans la
   \lettre{} en cours est :
-  \begin{docCommand}{solution}{}
+  \begin{docCommand}[doc new={2023-01-14}]{solution}{}
     Cette commande débute la solution d'un rébus à l'intérieur d'un environment
     \refEnv{rebus}.
   \end{docCommand}
@@ -1528,12 +1553,12 @@
     assimilés du \package*{tcolorbox}, destinées à, le cas échéant, modifier la
     mise en forme par défaut de la boîte contenant le rébus ;
   \item deux qui lui sont propres :
-    \begin{docKey}{title addon}{=\meta{supplément}}{\valinitdef}
+    \begin{docKey}[][doc new={2023-01-14}]{title addon}{=\meta{supplément}}{\valinitdef}
       Cette option permet d'adjoindre au titre d'un rébus, qui est par défaut et
       automatiquement \enquote{Rébus}, un \meta{supplément} alors en italique et
       entre parenthèses.
     \end{docKey}
-    \begin{docKey}{no solution}{}{\valinitdef[\docValue*{false}][\docValue*{true}]}
+    \begin{docKey}[][doc new={2023-01-14}]{no solution}{}{\valinitdef[\docValue*{false}][\docValue*{true}]}
       Cette option est à spécifier pour un rébus dont la solution ne doit figurer
       que dans la prochaine \lettre{}.
     \end{docKey}
@@ -1569,7 +1594,7 @@
 la \lettre{}
 soit en cours, soit précédente.
 
-\begin{docCommand}{rebussolution}{\oarg{solution}\oarg{numéro}\oarg{options}}
+\begin{docCommand}[doc new={2023-01-14}]{rebussolution}{\oarg{solution}\oarg{numéro}\oarg{options}}
   Cette commande affiche la ou les solutions du ou des rébus qui figurent dans
   la \lettre{} :
   \begin{description}

Modified: trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org	2023-05-22 21:15:08 UTC (rev 67192)
@@ -23,7 +23,7 @@
 #+PROPERTY: header-args :padline no :mkdirp yes :tangle ../../../tex/lualatex/letgut/letgut.cls :exports both :noweb yes :eval always
 #+export_file_name: ../../../doc/lualatex/letgut/letgut-code
 
-* Ctanomat file                                                    :noexport:
+* Ctanomat file                                                       :noexport:
 :PROPERTIES:
 :CUSTOM_ID: Ctanomatfile-2uoc55h0jlj0
 :END:
@@ -54,7 +54,7 @@
   % This field contains the version of the package.
   % The value is optional.
   % The value is restricted to 32 characters.
-  \version{0.9.6 2023-01-14}
+  \version{0.9.7 2023-05-21}
   % -------------------------------------------------------------------------
   % This field contains the name of the author(s).
   % The value is optional.
@@ -131,8 +131,11 @@
   % The value is optional.
   % The value is restricted to 8192 characters.
   \begin{announcement}
+  ### Changed
+  Announcement's title and toc entry possibly different (backward compatibility broken!)
+
   ### Fixed
-  Hot fix for the attachment of the Lettre's source files to its PDF.
+  `tabularray`'s needed library added.
   \end{announcement}
   % -------------------------------------------------------------------------
   % This field contains the one-liner for the package.
@@ -179,7 +182,6 @@
   % The value is optional.
   % The value is restricted to 2048 characters.
   \begin{note}
-  I am sorry for new this (corrective) update, so close to the previous one!
   \end{note}
   % -------------------------------------------------------------------------
   % This field contains the archive file.
@@ -188,7 +190,7 @@
   \file{../dtx-forge/letgut.zip}
 #+end_src
 
-* Changelog file :noexport:
+* Changelog file                                                      :noexport:
 :PROPERTIES:
 :CUSTOM_ID: Changelogfile-2buc55h0jlj0
 :END:
@@ -203,6 +205,14 @@
 
   ## [Unreleased]
 
+  ## [0.9.7] - 2023-05-21
+
+  ### Changed
+  Announcement's title and toc entry possibly different (backward compatibility broken!)
+
+  ### Fixed
+  `tabularray`'s needed library added.
+
   ## [0.9.6] - 2023-01-14
 
   ### Fixed
@@ -288,7 +298,7 @@
   First public testing release.
 #+end_src
 
-* Readme file :noexport:
+* Readme file                                                         :noexport:
 :PROPERTIES:
 :CUSTOM_ID: Readmefile-8xuc55h0jlj0
 :END:
@@ -304,7 +314,7 @@
 
 Release
 -------
-2023-01-14 v0.9.6
+2023-05-21 v0.9.7
 
 Development
 -----------
@@ -312,7 +322,7 @@
 https://framagit.org/gutenberg/letgut.
 #+end_src
 
-* How to :noexport:
+* How to                                                              :noexport:
 :PROPERTIES:
 :CUSTOM_ID: Howto-565g55h0jlj0
 :END:
@@ -450,8 +460,8 @@
 
 #+begin_src latex
   \ProvidesExplClass{letgut}
-  {2023-01-14}
-  {0.9.6}
+  {2023-05-21}
+  {0.9.7}
   {
     Class for the newsletter “The GUTenberg Letter”
   }
@@ -817,6 +827,7 @@
    }
    \tl_const:Nn \c__letgut_acronyms_file_tl { letgut-acronyms }
    \tl_const:Nn \c__letgut_local_config_file_tl { localconf }
+   \tl_const:Nn \c__letgut_pre_documentclass_file_tl { pre-documentclass }
    \tl_const:Nn \c__letgut_lstlanguage_file_tl { letgut-lstlang.sty }
    \tl_const:Nn \c__letgut_contents_name_tl { Sommaire }
    \tl_const:Nn \c__letgut_draftwatermark_text_tl {
@@ -869,14 +880,16 @@
 :END:
 
  #+begin_src latex
-      \tl_new:N \g__letgut_mark_tl
-      \tl_new:N \g__letgut_title_tl
-      \tl_new:N \l_letgut_last_name_tl
-      \tl_new:N \l_letgut_first_name_tl
-      \tl_new:N \l_letgut_title_tl
-      \tl_new:N \l__letgut_title_addon_tl
-      \tl_new:N \l__letgut_reference_text_tl
-      \tl_new:N \g__letgut_effective_acronyms_file_tl
+   \tl_new:N \g__letgut_mark_tl
+   \tl_new:N \g__letgut_title_tl
+   \tl_new:N \l_letgut_last_name_tl
+   \tl_new:N \l_letgut_first_name_tl
+   \tl_new:N \l_letgut_title_tl
+   \tl_new:N \l__letgut_title_addon_tl
+   \tl_new:N \l__letgut_reference_text_tl
+   \tl_new:N \g__letgut_effective_acronyms_file_tl
+   \tl_new:N \l__letgut_toc_title_announce_tl
+   \tl_new:N \l__letgut_toc_color_announce_tl
  #+end_src
 
 *** Comma separated lists
@@ -1276,6 +1289,10 @@
        #+begin_src latex
          \renewcommand*\frenchtablename{Tableau}
        #+end_src
+- We load a \package{tabularray}'s library.
+       #+begin_src latex
+         \UseTblrLibrary{booktabs}
+       #+end_src
 - The ~\printbibliography~ command is redefined in order its ~heading~ is by
   default set to ~subbibliography~.
    #+begin_src latex
@@ -1542,8 +1559,9 @@
     , editorial .initial:n = { true }
     , informations .bool_gset:N = \g__letgut_informations_bool
     , informations .initial:n = { true }
-    , detailedtoc .bool_gset:N = \g__letgut_detailedtoc_bool
-    , detailedtoc .initial:n = { false }
+    , detailedtoc .str_gset:N = \g__letgut_detailedtoc_level_str
+    , detailedtoc .default:n = 5
+    , detailedtoc .initial:n = 0
     , reverse-files-attachement .code:n = {
       \AddToHook{begindocument/before}{
         \bool_lazy_and:nnTF {\g__letgut_for_readers_bool} {!\g__letgut_paper_bool}
@@ -1741,35 +1759,49 @@
 :CUSTOM_ID: ImplementationAnnounces-nahckb909pj0
 :END:
 #+begin_src latex
-\DeclareTColorBox{announcement}{ O{black} m }
-{
-  colframe=#1,
-  coltitle=#1,
-  borderline~ west={1cm}{0pt}{#1},
-  IfBlankF={#2}{
-    title=\hypersetup{hidelinks}#2,
-    phantom={\phantomsection\addcontentsline{toc}{title}{#2}},
-  },
-  enhanced,
-  sharp~ corners,
-  boxrule=0mm,
-  leftrule=1cm,
-  bottomrule=1cm,
-  toptitle=20pt,
-  bottomtitle=20pt,
-  center~ title,
-  fonttitle=\scshape\bfseries\huge,
-  fontupper=\Large,
-  fontlower=\Large,
-  skin=empty,
-  segmentation~ style=solid,
-  halign=center,
-  overlay~ unbroken~ and~ first ={
-    \node[color=#1]~ at~ ([yshift=8pt]title.south)
-    {\pgfornament[width=0.4\linewidth]{88}};
-    \node[color=white,anchor=north~ west]~ at~ (frame.north~ west) {\huge\bfseries\aldineright{}};
-  },
-}
+  \tcbset{
+    announce~ style/.style={
+      enhanced,
+      sharp~ corners,
+      boxrule=0mm,
+      leftrule=1cm,
+      bottomrule=1cm,
+      toptitle=20pt,
+      bottomtitle=20pt,
+      center~ title,
+      before~ title=\hypersetup{hidelinks},
+      fonttitle=\scshape\bfseries\huge,
+      fontupper=\Large,
+      fontlower=\Large,
+      skin=empty,
+      segmentation~ style=solid,
+      halign=center,
+      toc~ title/.store~ in=\l__letgut_toc_title_announce_tl,
+      color/.store~ in=\l__letgut_toc_color_announce_tl,
+    }
+  }
+  \cs_new_protected:Npn \__letgut_toc_title_announce:nn #1 #2
+  {
+    \tl_if_empty:NTF {#1}{
+      \phantomsection\addcontentsline{toc}{title}{#2}
+    }{
+      \phantomsection\addcontentsline{toc}{title}{#1}
+    }
+  }
+  \NewTColorBox{announcement}{ O{} m }
+  {
+    announce~ style,
+    title=#2,
+    borderline~ west={1cm}{0pt}{\l__letgut_toc_color_announce_tl},
+    phantom={\__letgut_toc_title_announce:nn {\l__letgut_toc_title_announce_tl}{#2}},
+    overlay~ unbroken~ and~ first ={
+      \node[color=\l__letgut_toc_color_announce_tl]~ at~ ([yshift=8pt]title.south)
+      {\pgfornament[width=0.4\linewidth]{88}};
+      \node[color=white,anchor=north~ west]~ at~ (frame.north~ west) {\huge\bfseries\aldineright{}};
+    },
+    #1,
+    coltitle=\l__letgut_toc_color_announce_tl,
+  }
 #+end_src
 
 ** Rebus
@@ -2095,11 +2127,7 @@
   subpargraphs (which may be useful in order to check the structure of the
   Lettre).
       #+begin_src latex
-        \bool_if:NTF \g__letgut_detailedtoc_bool {
-          \etocsetnexttocdepth{5}
-        }{
-          \etocsetnexttocdepth{0}
-        }
+        \etocsetnexttocdepth{\g__letgut_detailedtoc_level_str}
         \pdfbookmark[1]{
           \c__letgut_contents_name_tl
         }{
@@ -2306,10 +2334,15 @@
           \leavevmode\leftskip 2cm\relax
         }
         {
-          \bool_if:NTF \g__letgut_detailedtoc_bool {
-            \bfseries
+          \bool_lazy_or:nnTF {
+            \str_if_eq_p:Vn \g__letgut_detailedtoc_level_str { 0 }
           }{
+            \str_if_eq_p:Vn \g__letgut_detailedtoc_level_str { title }
+          }
+          {
             \mdseries
+          }{
+            \bfseries
           }
           \normalsize
           \etocname
@@ -3510,7 +3543,27 @@
 - The source file of the article is attached to the \pdf{} (if desired,
   otherwise, use the starred version).
 
+We first create a function that attach to the PDF a file only if it exists in
+the current directory and is non empty. This will be applied to both the
+\file{localconf.tex} and \file{pre-documentclass.tex} files below.
+
 #+begin_src latex
+  \cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
+    \file_get_size:nN {./#1} \tmpa_tl
+    \quark_if_no_value:NF \tmpa_tl {
+      \tl_if_eq:NnF \tmpa_tl {0} {
+        \seq_gput_left:Nn \g__letgut_included_files_seq {
+          \attachfile[
+          description={Source~ nécessaire~ (fichier~ `#1.tex`)},
+          mimetype=application/x-tex]
+          {#1.tex}
+        }
+      }
+    }
+  }
+#+end_src
+
+#+begin_src latex
   \cs_new_protected:Npn \__letgut_input_article:nn #1 #2
   {
     \lstset{ style=__letgut_reset_listings_styles }
@@ -3518,11 +3571,17 @@
     \input{#2}%
     \bool_if:NT \g__letgut_included_files_attached_bool {
       \IfBooleanF {#1}{
+        \__letgut_attach_non_empty_existing_file:n {
+          \c__letgut_local_config_file_tl
+        }
+        \__letgut_attach_non_empty_existing_file:n {
+          \c__letgut_pre_documentclass_file_tl
+        }
         \seq_gput_left:Nn \g__letgut_included_files_seq {
           \attachfile[
           description={Source~ du~ présent~ article~ (fichier~ `#2.tex`)},
-          mimetype=application/x-tex]%
-          {#2.tex}%
+          mimetype=application/x-tex]
+          {#2.tex}
         }
         \bool_if:NT \g__letgut_acronyms_file_attached_bool {
           \seq_gput_right:No \g__letgut_included_files_seq {
@@ -3547,9 +3606,9 @@
   }
 #+end_src
 
-*** Included graphics attached to the \pdf
+*** Included graphics attached to the PDF
 :PROPERTIES:
-:CUSTOM_ID: ImplementationMiscellanousIncludedgraphicsattachedtothe\pdf-xoc34ja00pj0
+:CUSTOM_ID: ImplementationMiscellanousIncludedgraphicsattachedtothePDF-xoc34ja00pj0
 :END:
 
 We hack the ~\includegraphics~ command in order to attach the included graphics
@@ -3609,9 +3668,9 @@
   }
 #+end_src
 
-*** Added bibliographic ressources attached to the \pdf
+*** Added bibliographic ressources attached to the PDF
 :PROPERTIES:
-:CUSTOM_ID: ImplementationMiscellanousAddedbibliographicressourcesattachedtothe\pdf-l4e34ja00pj0
+:CUSTOM_ID: ImplementationMiscellanousAddedbibliographicressourcesattachedtothePDF-l4e34ja00pj0
 :END:
 
 We hack the ~\addbibresource~ command in order to attach the bibliographic
@@ -3642,9 +3701,9 @@
   }
 #+end_src
 
-*** Added acronym definitions file attached to the \pdf
+*** Added acronym definitions file attached to the PDF
 :PROPERTIES:
-:CUSTOM_ID: ImplementationMiscellanousAddedbibliographicressourcesattachedtothe\pdf-l4e34ja00pj0
+:CUSTOM_ID: ImplementationMiscellanousAddedbibliographicressourcesattachedtothePDF-l4e34ja00pj0
 :END:
 
 We hack the ~\ac~ and ~\acs~ commands in order to attach the acronym definitions
@@ -3671,9 +3730,9 @@
   }
 #+end_src
 
-*** Added letgut listings language file attached to the \pdf
+*** Added letgut listings language file attached to the PDF
 :PROPERTIES:
-:CUSTOM_ID: ImplementationMiscellanousAddedbibliographicressourcesattachedtothe\pdf-l4e34ja00pj0
+:CUSTOM_ID: ImplementationMiscellanousAddedbibliographicressourcesattachedtothePDF-l4e34ja00pj0
 :END:
 
 We hack the ~\ac~ and ~\acs~ commands in order to attach the acronym definitions
@@ -4455,6 +4514,7 @@
       ^^^^201c^^^^201d% for “ and ”
       ^^^^215b% for ⅛
       ^^^^2122% for ™
+      ^^^^2019% for ’
       ^^00%
     }
     \lst at RestoreCatcodes
@@ -4505,7 +4565,7 @@
 - the books advertisements.
 
 #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.lbx :exports both
-\ProvidesFile{letgut.lbx}[2023-01-14 v0.9.6 letgut localization]
+\ProvidesFile{letgut.lbx}[2023-05-21 v0.9.7 letgut localization]
 \InheritBibliographyExtras{french}
 \DeclareBibliographyStrings{
   inherit          = {french},
@@ -4519,7 +4579,7 @@
   create the corresponding new entry).
 
   #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.dbx :exports both
-  \ProvidesFile{letgut.dbx}[2023-01-14 v0.9.6 letgut data model macros]
+  \ProvidesFile{letgut.dbx}[2023-05-21 v0.9.7 letgut data model macros]
   \DeclareBibliographyDriver{bookreview}{%
     \usebibmacro{bibindex}%
     \usebibmacro{begentry}%
@@ -4574,7 +4634,7 @@
 We provide a specific ~biblatex~ citation style .
 
 #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both
-  \ProvidesFile{letgut.cbx}[2023-01-14 v0.9.6 letgut base citation style]
+  \ProvidesFile{letgut.cbx}[2023-05-21 v0.9.7 letgut base citation style]
   \RequireCitationStyle{numeric}
 #+end_src
 
@@ -5201,4055 +5261,4090 @@
 
 #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut-lstlang.sty :exports both
   % \lst at 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]
+  %   % 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 at definelanguage[lstfiracode]{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]{%
+      FiraCodeStyle%
+    },%
+    % 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]{%
+      lstfiracode%
+    },%
+    % otherkeywords={},
+    % alsoletter={},
+    % alsodigit={},%
+    % alsoother={},%
+    sensitive,%
+  }[keywords,tex,comments]
+
   \lst at 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]
+    % 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 at definelanguage[FiraSans]{TeX}{%
-     % Control sequences names
+    % 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]
+    % 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 at 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]
+    % 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 at 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]
+    % 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 at 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]
+    % 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 at 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]
+    % 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 at 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]
+    % 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 at 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]
+    % 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 at 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]
+    % 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at definelanguage[swungdash]{TeX}{%
-     % Control sequences names
+    % 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]
+    },%
+    % 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 at definelanguage[simples-matrices]{TeX}{%
-     % Control sequences names
+    % 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]
+    },%
+    % 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 at definelanguage[customdice]{TeX}{%
-     % Control sequences names
+  \lst at 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]
+    },%
+    % 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 at 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 at 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 at 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]%
+  \lst at 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,Ucode,%
+    },%
+    % 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,color,toc,title,%
+    },%
+    % 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
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % LaTeX texcs and keywords that are missing in `listings` driver file
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \lst at 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]%
+    % 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 at definelanguage[listings]{TeX}{%
-     % Control sequences names
-     moretexcs={%
-       lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
-       lstdefineformat,lstdefinelanguage,lst at 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 at definelanguage[listings]{TeX}{%
+    % Control sequences names
+    moretexcs={%
+      lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
+      lstdefineformat,lstdefinelanguage,lst at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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]%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % xparse
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % colortbl
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % multirow
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % nicematrix
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % booktabs
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % strands
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % cartonaugh
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % xistercian
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % aboensis
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % tabularray
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % ninecolors
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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]%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % tcolorbox
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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 at 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]%
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % Classes (La)TeX
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+  \lst at 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]%
   #+end_src

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty	2023-05-22 21:15:08 UTC (rev 67192)
@@ -1,4052 +1,4087 @@
 % \lst at 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]
+%   % 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 at definelanguage[lstfiracode]{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]{%
+    FiraCodeStyle%
+  },%
+  % 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]{%
+    lstfiracode%
+  },%
+  % otherkeywords={},
+  % alsoletter={},
+  % alsodigit={},%
+  % alsoother={},%
+  sensitive,%
+}[keywords,tex,comments]
+
 \lst at 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]
+  % 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 at definelanguage[FiraSans]{TeX}{%
-   % Control sequences names
+  % 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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]
+  % 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at definelanguage[swungdash]{TeX}{%
-   % Control sequences names
+  % 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]
+  },%
+  % 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 at definelanguage[simples-matrices]{TeX}{%
-   % Control sequences names
+  % 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]
+  },%
+  % 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 at definelanguage[customdice]{TeX}{%
-   % Control sequences names
+\lst at 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]
+  },%
+  % 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 at 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 at 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 at 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]%
+\lst at 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,Ucode,%
+  },%
+  % 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,color,toc,title,%
+  },%
+  % 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
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% LaTeX texcs and keywords that are missing in `listings` driver file
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \lst at 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]%
+  % 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 at definelanguage[listings]{TeX}{%
-   % Control sequences names
-   moretexcs={%
-     lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
-     lstdefineformat,lstdefinelanguage,lst at 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 at definelanguage[listings]{TeX}{%
+  % Control sequences names
+  moretexcs={%
+    lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
+    lstdefineformat,lstdefinelanguage,lst at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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]%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xparse
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% colortbl
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% multirow
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% nicematrix
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% booktabs
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% strands
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% cartonaugh
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xistercian
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% aboensis
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tabularray
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ninecolors
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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]%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tcolorbox
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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 at 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]%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Classes (La)TeX
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst at 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]%

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx	2023-05-22 21:15:08 UTC (rev 67192)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.cbx}[2023-01-14 v0.9.6 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2023-05-21 v0.9.7 letgut base citation style]
 \RequireCitationStyle{numeric}
 \DeclareFieldFormat[bookreview]{title}{\textbf{\emph{#1}}}
 \renewbibmacro*{title}{%

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls	2023-05-22 21:15:08 UTC (rev 67192)
@@ -48,8 +48,8 @@
 }
 \ExplSyntaxOff
 \ProvidesExplClass{letgut}
-{2023-01-14}
-{0.9.6}
+{2023-05-21}
+{0.9.7}
 {
   Class for the newsletter “The GUTenberg Letter”
 }
@@ -255,6 +255,7 @@
 }
 \tl_const:Nn \c__letgut_acronyms_file_tl { letgut-acronyms }
 \tl_const:Nn \c__letgut_local_config_file_tl { localconf }
+\tl_const:Nn \c__letgut_pre_documentclass_file_tl { pre-documentclass }
 \tl_const:Nn \c__letgut_lstlanguage_file_tl { letgut-lstlang.sty }
 \tl_const:Nn \c__letgut_contents_name_tl { Sommaire }
 \tl_const:Nn \c__letgut_draftwatermark_text_tl {
@@ -307,6 +308,8 @@
 \tl_new:N \l__letgut_title_addon_tl
 \tl_new:N \l__letgut_reference_text_tl
 \tl_new:N \g__letgut_effective_acronyms_file_tl
+\tl_new:N \l__letgut_toc_title_announce_tl
+\tl_new:N \l__letgut_toc_color_announce_tl
 \clist_new:N \g__letgut_pagecolor_clist
 \clist_const:Nn \c__letgut_default_pagecolor_screen_clist
 {1.0, 0.98, 0.94}
@@ -485,6 +488,7 @@
 }
 \floatsetup[table]{capposition=top}
 \renewcommand*\frenchtablename{Tableau}
+\UseTblrLibrary{booktabs}
 \NewCommandCopy{\__letgut_old_printbibliography}{
   \printbibliography
 }
@@ -623,8 +627,9 @@
   , editorial .initial:n = { true }
   , informations .bool_gset:N = \g__letgut_informations_bool
   , informations .initial:n = { true }
-  , detailedtoc .bool_gset:N = \g__letgut_detailedtoc_bool
-  , detailedtoc .initial:n = { false }
+  , detailedtoc .str_gset:N = \g__letgut_detailedtoc_level_str
+  , detailedtoc .default:n = 5
+  , detailedtoc .initial:n = 0
   , reverse-files-attachement .code:n = {
     \AddToHook{begindocument/before}{
       \bool_lazy_and:nnTF {\g__letgut_for_readers_bool} {!\g__letgut_paper_bool}
@@ -724,34 +729,48 @@
   \end{tblr}
   \skip_vertical:N \c_zero_dim
 }
-\DeclareTColorBox{announcement}{ O{black} m }
+\tcbset{
+  announce~ style/.style={
+    enhanced,
+    sharp~ corners,
+    boxrule=0mm,
+    leftrule=1cm,
+    bottomrule=1cm,
+    toptitle=20pt,
+    bottomtitle=20pt,
+    center~ title,
+    before~ title=\hypersetup{hidelinks},
+    fonttitle=\scshape\bfseries\huge,
+    fontupper=\Large,
+    fontlower=\Large,
+    skin=empty,
+    segmentation~ style=solid,
+    halign=center,
+    toc~ title/.store~ in=\l__letgut_toc_title_announce_tl,
+    color/.store~ in=\l__letgut_toc_color_announce_tl,
+  }
+}
+\cs_new_protected:Npn \__letgut_toc_title_announce:nn #1 #2
 {
-  colframe=#1,
-  coltitle=#1,
-  borderline~ west={1cm}{0pt}{#1},
-  IfBlankF={#2}{
-    title=\hypersetup{hidelinks}#2,
-    phantom={\phantomsection\addcontentsline{toc}{title}{#2}},
-  },
-  enhanced,
-  sharp~ corners,
-  boxrule=0mm,
-  leftrule=1cm,
-  bottomrule=1cm,
-  toptitle=20pt,
-  bottomtitle=20pt,
-  center~ title,
-  fonttitle=\scshape\bfseries\huge,
-  fontupper=\Large,
-  fontlower=\Large,
-  skin=empty,
-  segmentation~ style=solid,
-  halign=center,
+  \tl_if_empty:NTF {#1}{
+    \phantomsection\addcontentsline{toc}{title}{#2}
+  }{
+    \phantomsection\addcontentsline{toc}{title}{#1}
+  }
+}
+\NewTColorBox{announcement}{ O{} m }
+{
+  announce~ style,
+  title=#2,
+  borderline~ west={1cm}{0pt}{\l__letgut_toc_color_announce_tl},
+  phantom={\__letgut_toc_title_announce:nn {\l__letgut_toc_title_announce_tl}{#2}},
   overlay~ unbroken~ and~ first ={
-    \node[color=#1]~ at~ ([yshift=8pt]title.south)
+    \node[color=\l__letgut_toc_color_announce_tl]~ at~ ([yshift=8pt]title.south)
     {\pgfornament[width=0.4\linewidth]{88}};
     \node[color=white,anchor=north~ west]~ at~ (frame.north~ west) {\huge\bfseries\aldineright{}};
   },
+  #1,
+  coltitle=\l__letgut_toc_color_announce_tl,
 }
 \NewDocumentCommand{\solution}{}{\tcblower}
 \NewDocumentCommand{\displaysolutions}{}{%
@@ -966,11 +985,7 @@
 \vskip 1.5em
 }
 \thispagestyle{empty}
-\bool_if:NTF \g__letgut_detailedtoc_bool {
-  \etocsetnexttocdepth{5}
-}{
-  \etocsetnexttocdepth{0}
-}
+\etocsetnexttocdepth{\g__letgut_detailedtoc_level_str}
 \pdfbookmark[1]{
   \c__letgut_contents_name_tl
 }{
@@ -1084,10 +1099,15 @@
     \leavevmode\leftskip 2cm\relax
   }
   {
-    \bool_if:NTF \g__letgut_detailedtoc_bool {
-      \bfseries
+    \bool_lazy_or:nnTF {
+      \str_if_eq_p:Vn \g__letgut_detailedtoc_level_str { 0 }
     }{
+      \str_if_eq_p:Vn \g__letgut_detailedtoc_level_str { title }
+    }
+    {
       \mdseries
+    }{
+      \bfseries
     }
     \normalsize
     \etocname
@@ -1904,6 +1924,19 @@
     \__letgut_meta:nn {#1}{#2}
   }
 }
+\cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
+  \file_get_size:nN {./#1} \tmpa_tl
+  \quark_if_no_value:NF \tmpa_tl {
+    \tl_if_eq:NnF \tmpa_tl {0} {
+      \seq_gput_left:Nn \g__letgut_included_files_seq {
+        \attachfile[
+        description={Source~ nécessaire~ (fichier~ `#1.tex`)},
+        mimetype=application/x-tex]
+        {#1.tex}
+      }
+    }
+  }
+}
 \cs_new_protected:Npn \__letgut_input_article:nn #1 #2
 {
   \lstset{ style=__letgut_reset_listings_styles }
@@ -1911,11 +1944,17 @@
   \input{#2}%
   \bool_if:NT \g__letgut_included_files_attached_bool {
     \IfBooleanF {#1}{
+      \__letgut_attach_non_empty_existing_file:n {
+        \c__letgut_local_config_file_tl
+      }
+      \__letgut_attach_non_empty_existing_file:n {
+        \c__letgut_pre_documentclass_file_tl
+      }
       \seq_gput_left:Nn \g__letgut_included_files_seq {
         \attachfile[
         description={Source~ du~ présent~ article~ (fichier~ `#2.tex`)},
-        mimetype=application/x-tex]%
-        {#2.tex}%
+        mimetype=application/x-tex]
+        {#2.tex}
       }
       \bool_if:NT \g__letgut_acronyms_file_attached_bool {
         \seq_gput_right:No \g__letgut_included_files_seq {
@@ -2557,6 +2596,7 @@
   ^^^^201c^^^^201d% for “ and ”
   ^^^^215b% for ⅛
   ^^^^2122% for ™
+  ^^^^2019% for ’
   ^^00%
 }
 \lst at RestoreCatcodes

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx	2023-05-22 21:15:08 UTC (rev 67192)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.dbx}[2023-01-14 v0.9.6 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2023-05-21 v0.9.7 letgut data model macros]
 \DeclareBibliographyDriver{bookreview}{%
   \usebibmacro{bibindex}%
   \usebibmacro{begentry}%

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx	2023-05-22 21:14:51 UTC (rev 67191)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx	2023-05-22 21:15:08 UTC (rev 67192)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.lbx}[2023-01-14 v0.9.6 letgut localization]
+\ProvidesFile{letgut.lbx}[2023-05-21 v0.9.7 letgut localization]
 \InheritBibliographyExtras{french}
 \DeclareBibliographyStrings{
   inherit          = {french},



More information about the tex-live-commits mailing list.