summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-18 20:02:54 +0000
committerKarl Berry <karl@freefriends.org>2022-06-18 20:02:54 +0000
commit455420320e484b0f6697327807250c89a997e9f2 (patch)
treef5d1fe937a9442d5dac6e3dd1c5a3b2c57565b22
parentb7926a9649df6cfbf84fc0064bd097d8196b9116 (diff)
letgut (18jun22)
git-svn-id: svn://tug.org/texlive/trunk@63637 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md34
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/README.md15
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/exemple-nouveautes.tex21
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdfbin189834 -> 154150 bytes
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex215
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdfbin444452 -> 690570 bytes
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex5151
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/letgut.pdfbin309776 -> 359872 bytes
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/letgut.tex632
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/listings-conf.tex37
-rw-r--r--Master/texmf-dist/doc/lualatex/letgut/localconf.tex48
-rw-r--r--Master/texmf-dist/source/lualatex/letgut/HOWTO.md12
-rw-r--r--Master/texmf-dist/source/lualatex/letgut/letgut-banner.org190
-rw-r--r--Master/texmf-dist/source/lualatex/letgut/letgut.org5387
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex61
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut-acronyms.tex385
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty32
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdfbin2148 -> 2117 bytes
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty3396
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.cbx2
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.cls1067
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.dbx2
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.lbx2
23 files changed, 14556 insertions, 2133 deletions
diff --git a/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md b/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
index a1090d00528..dc3d4bf0519 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
+++ b/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
@@ -3,16 +3,44 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
-Versioning](http://semver.org/spec/v2.0.0.html).
+Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+## [0.9.2] - 2022-06-18
+
+### Added
+- Listings for commands in terminals.
+- Aliases of frequently used commands.
+- New commands for frequently used terms or expressions.
+- Command for specifying LaTeX packages that benefit from syntax highlighting.
+- Own ~listings~' language driver file for LaTeX packages syntax highlighting.
+- Commands for keyboard keys of accentuated characters.
+- ~detailedtoc~ option for Lettre's structure checking.
+- Mimic the multiple option of the footmisc package.
+- Command ~\inputarticle~ (instead of ~\input~) for the input of articles.
+- ⅛ as a short equivalent of ~\lstinline~.
+- Some tweaks and improvements.
+
+### Changed
+- Last names of persons and authors not in small caps anymore.
+- \tl isn't an acronym anymore and now typesets “TeX Live”.
+- All the acronyms reset at the beginning of each ~\inputarticle~-ed article.
+- All options now possibly load-time ones.
+- Unlikely to change input files searched:
+ 1. in the parent directory if not in the current one,
+ 2. in the TDS.
+- Right ISSN in case of “paper” version of la Lettre.
+
+### Fixed
+Several bugs.
+
## [0.9.1] - 2022-03-22
### Changed
-File renamed (Karl Berry request)
+File renamed (Karl Berry request).
## [0.9] - 2022-03-18
### Added
-First public testing release
+First public testing release.
diff --git a/Master/texmf-dist/doc/lualatex/letgut/README.md b/Master/texmf-dist/doc/lualatex/letgut/README.md
index 9d38f9500d2..9cf40d646d2 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/README.md
+++ b/Master/texmf-dist/doc/lualatex/letgut/README.md
@@ -1,17 +1,16 @@
-letgut-banner - Support for the banner of the newsletter
- “La Lettre de GUTenberg”
-=============================================================
+letgut - Support for the newsletter “La Lettre GUTenberg”
+=========================================================
About
-------
-This package automatically draw the banner of the newsletter “La Lettre de
-GUTenberg” with the current main font.
+This bundle includes a LaTeX class, a `.sty` file and an acronym file dedicated
+to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Group.
Release
-------
-2022-03-22 v0.9.1
+2022-06-18 v0.9.2
Development
-----------
-Follow development, submit issues, and suggest improvements at
-https://framagit.org/gutenberg/classe-lettre-gut.
+Follow development, submit issues and suggest improvements at
+https://framagit.org/gutenberg/letgut.
diff --git a/Master/texmf-dist/doc/lualatex/letgut/exemple-nouveautes.tex b/Master/texmf-dist/doc/lualatex/letgut/exemple-nouveautes.tex
new file mode 100644
index 00000000000..1a901a8178d
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/letgut/exemple-nouveautes.tex
@@ -0,0 +1,21 @@
+\documentclass[for-authors]{letgut}
+\letgutsetup{final , paper}
+\setmainfont{KpRoman}
+\setsansfont{KpSans}
+% \setmonofont{TeX Gyre Cursor}
+\setmonofont[Scale = MatchLowercase]{RobotoMono}
+
+\begin{document}
+\begin{ctannews}
+\item[nl-interval] vise à simplifier le processus de représentation
+graphique des intervalles de l'axe réel.
+\item*[matapli] est une classe \hologo{LaTeX} destinée à la composition
+de la revue Matapli (conçue par \person{Chupin, Maxime}, secrétaire
+adjoint de \gutenberg{}).
+\end{ctannews}
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf b/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
index 4d8ed777808..e280be97e33 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
+++ b/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex b/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
index aab61f02767..2f46fcb7248 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
+++ b/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
@@ -1,4 +1,4 @@
-% Created 2022-03-22 mar. 11:25
+% Created 2022-06-18 sam. 17:48
% Intended LaTeX compiler: lualatex
\documentclass{letgut}
\setmainfont{KpRoman}
@@ -8,44 +8,50 @@
\input{listings-conf}
\author{Association GUTenberg}
\date{\today}
-\title{Support for the banner of the newsletter “La Lettre de GUTenberg”}
+\title{Support for the banner of the newsletter "La Lettre de GUTenberg"}
\begin{document}
-\section{Identification}
+\section{Readme file}
\label{sec:org4c9ba67}
-\begin{lstlisting}
-% This is file `letgut.cls',
-% generated with the Emacs Org-babel utility.
-%
-% The original source file is letgut-banner.org
-%
-% -------------:| ---------------------------------------------------
-% letgut-banner:| Package for the banner of the newsletter
-% | “La Lettre GUTenberg”
-% Author:| Association GUTenberg
-% E-mail:| secretariat@gutenberg.eu.org
-% License:| Released under the LaTeX Project Public License
-% | v1.3c or later
-% See:| http://www.latex-project.org/lppl.txt
-%
-% Copyright (C) 1994-2022 by Association GUTenberg
-% <secretariat@gutenberg.eu.org>
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License (LPPL), either
-% version 1.3c of this license or (at your option) any later
-% version. The latest version of this license is in the file:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% This work is “maintained” (as per LPPL maintenance status)
-% by Association GUTenberg.
-\end{lstlisting}
+\begin{verbatim}
+-------:| ---------------------------------------------------
+ letgut:| Package for the banner of the newsletter
+ | "La Lettre de GUTenberg"
+ Author:| Association GUTenberg
+ E-mail:| secretariat@gutenberg.eu.org
+License:| Released under the LaTeX Project Public License
+ | v1.3c or later
+ See:| http://www.latex-project.org/lppl.txt
+
+Copyright (C) 1994-2022 by Association GUTenberg
+ <secretariat@gutenberg.eu.org>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status)
+by Association GUTenberg.
+\end{verbatim}
\section{Implementation}
-\label{sec:orgb1ea800}
+\label{sec:org4c5e60d}
+
+\subsection{Identification}
+\label{sec:org09b0cd2}
+
+\begin{verbatim}
+This is file `letgut-banner.sty,
+generated with the Emacs Org-babel utility.
+
+The original source file is letgut-banner.org
+%%
+\end{verbatim}
These document classes can only be used with \LaTeXe, so we make
sure that an appropriate message is displayed when another \TeX{}
@@ -59,15 +65,15 @@ Now, we can announce the package name and its version:
\begin{lstlisting}
\ProvidesExplPackage{letgut-banner}
-{2022-03-22}
-{0.9.1}
+{2022-03-17}
+{0.9}
{
- Package for the banner of the newsletter “La Lettre de GUTenberg”
+ Package for the banner of the newsletter "La Lettre de GUTenberg"
}
\end{lstlisting}
\subsection{Packages loaded}
-\label{sec:org09b0cd2}
+\label{sec:org447090b}
In order to provide class options, we load the \package{l3keys2e} which provides
\LaTeXe{} option processing using \LaTeX3 keys:
@@ -93,7 +99,7 @@ reader who wants to copy the interesting text be able to select it (see below).
What follows has to be done at this end of the preamble, otherwise the font set
with \lstinline+\setmainfont+ in the preamble isn't taken in account in the banner.
-We define an option for the color of the text in the “L” (that has to be the
+We define an option for the color of the text in the "L" (that has to be the
same as the page color of the document).
\begin{lstlisting}
@@ -114,10 +120,10 @@ same as the page color of the document).
\end{lstlisting}
\subsection{Declarations}
-\label{sec:org61842b5}
+\label{sec:orgbda0ae2}
\subsubsection{Dimensions}
-\label{sec:org447090b}
+\label{sec:org5711d86}
\begin{lstlisting}
\dim_new:N \g__letgutbanner_area_height_dim
@@ -199,7 +205,7 @@ values. For this, we first generate a variant of \lstinline+\dim_const:Nn+ (see
\class*{letgut}, they are borrowed from it. Otherwise, they are set to
default values.
\begin{itemize}
-\item Thickness of the “L”.
+\item Thickness of the "L".
\begin{lstlisting}
\dim_if_exist:NTF \c__letgut_banner_thickness_dim {
\dim_const:NV \c__letgutbanner_banner_thickness_dim
@@ -209,7 +215,7 @@ default values.
{ 4cm }
}
\end{lstlisting}
-\item Height of the “L” (that of the text area plus 3cm).
+\item Height of the "L" (that of the text area plus 3cm).
\begin{lstlisting}
\dim_if_exist:NTF \c__letgut_banner_height_dim {
\dim_const:NV \c__letgutbanner_banner_height_dim
@@ -222,13 +228,13 @@ default values.
}
}
\end{lstlisting}
-\item Initial padding of the text embedded in the vertical bar of the “L”.
+\item Initial padding of the text embedded in the vertical bar of the "L".
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_banner_padding_dim { .25cm }
\end{lstlisting}
-\item Width of the “L” (the width (\(w\)) of the text zone plus the width (\(l\)) of
+\item Width of the "L" (the width (\(w\)) of the text zone plus the width (\(l\)) of
the left margin minus half the difference between the width of the left
-margin and the width (\(d\)) of the “L”: \(=w+l-(l-d)/2=w+(l+d)/2\)).
+margin and the width (\(d\)) of the "L": \(=w+l-(l-d)/2=w+(l+d)/2\)).
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_banner_width_dim {
\c__letgutbanner_textwidth_dim
@@ -240,7 +246,7 @@ margin and the width (\(d\)) of the “L”: \(=w+l-(l-d)/2=w+(l+d)/2\)).
)/2
}
\end{lstlisting}
-\item Initial width of the text embedded in the “L” vertical bar.
+\item Initial width of the text embedded in the "L" vertical bar.
\begin{lstlisting}
\dim_const:Nn
\c__letgutbanner_banner_vertical_contents_width_dim {
@@ -249,10 +255,10 @@ margin and the width (\(d\)) of the “L”: \(=w+l-(l-d)/2=w+(l+d)/2\)).
2\c__letgutbanner_banner_padding_dim
}
\end{lstlisting}
-\item Width of the text embedded in the horizontal bar of the “L” (of the text
+\item Width of the text embedded in the horizontal bar of the "L" (of the text
area plus half the difference between that of the left margin and that of
-the thickness of the “L”, minus the padding -- and not 2 times the
-padding because this text will be stuck to its left “margin”).
+the thickness of the "L", minus the padding -- and not 2 times the
+padding because this text will be stuck to its left "margin").
\begin{lstlisting}
\dim_const:Nn
\c__letgutbanner_banner_horizontal_contents_width_dim {
@@ -270,9 +276,9 @@ padding because this text will be stuck to its left “margin”).
\end{itemize}
\subsubsection{Boxes}
-\label{sec:org5711d86}
+\label{sec:orge5b5c6b}
-New boxes, for each of the letters in the word “LETTRE” (!), and then for the
+New boxes, for each of the letters in the word "LETTRE" (!), and then for the
rest of the content listed in the banner.
\begin{lstlisting}
\box_new:N \g__letgutbanner_L_box
@@ -286,25 +292,25 @@ rest of the content listed in the banner.
\end{lstlisting}
\subsubsection{Floating point numbers}
-\label{sec:orge5b5c6b}
+\label{sec:org61842b5}
\begin{itemize}
-\item Minimum percentage of the common height of the letters of the word “LETTRE”
+\item Minimum percentage of the common height of the letters of the word "LETTRE"
that their line spacing must represent.
\end{itemize}
\begin{lstlisting}
\fp_const:Nn \c__letgutbanner_leading_minimum_percent_fp { 0.15 }
\end{lstlisting}
\begin{itemize}
-\item Factor applied to the line spacing between “La” and the 1st letter of
-“LETTRE” compared to that between the letters of “LETTRE”.
+\item Factor applied to the line spacing between "La" and the 1st letter of
+"LETTRE" compared to that between the letters of "LETTRE".
\end{itemize}
\begin{lstlisting}
\fp_const:Nn \c__letgutbanner_leading_La_factor_fp { 1.5 }
\end{lstlisting}
\subsection{Application des dimensions de la page}
-\label{sec:orgbda0ae2}
+\label{sec:orgb3e9382}
\begin{lstlisting}
\geometry{
@@ -322,7 +328,7 @@ that their line spacing must represent.
\end{lstlisting}
\subsection{Filling of the boxes}
-\label{sec:orgb3e9382}
+\label{sec:orgdd18dd8}
\begin{lstlisting}
\hbox_gset:Nn \g__letgutbanner_L_box { \textbf{L} }
\hbox_gset:Nn \g__letgutbanner_E_box { \textbf{E} }
@@ -336,9 +342,9 @@ that their line spacing must represent.
\end{lstlisting}
\subsection{Computations}
-\label{sec:orgdd18dd8}
+\label{sec:orgb1ea800}
-Determination of the widths of each of the letter boxes of the word “LETTRE”.
+Determination of the widths of each of the letter boxes of the word "LETTRE".
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_L_width_dim {
\box_wd:N \g__letgutbanner_L_box
@@ -380,14 +386,14 @@ it were).
}
{ No~ idea! }
\end{lstlisting}
-Resize the box containing “GUTenberg” to the width of the text embedded in the
-horizontal bar of the “L”.
+Resize the box containing "GUTenberg" to the width of the text embedded in the
+horizontal bar of the "L".
\begin{lstlisting}
\box_gresize_to_wd:Nn \g__letgutbanner_GUTenberg_box {
\c__letgutbanner_banner_horizontal_contents_width_dim
}
\end{lstlisting}
-Determination of the height and depth of the box containing “GUTenberg” resized.
+Determination of the height and depth of the box containing "GUTenberg" resized.
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_GUTenberg_height_dim {
\box_ht:N \g__letgutbanner_GUTenberg_box
@@ -397,12 +403,12 @@ Determination of the height and depth of the box containing “GUTenberg” resi
}
\end{lstlisting}
Determining the size of the vertical offset of the box containing the resized
-“GUTenberg”, so that it is vertically centered in the horizontal bar of the “L”:
+"GUTenberg", so that it is vertically centered in the horizontal bar of the "L":
the box positioned in \(0\) would be at the very bottom of the box containing the
-banner so with base line at the bottom the horizontal bar of the “L” so we raise
+banner so with base line at the bottom the horizontal bar of the "L" so we raise
it first by its depth (\(d\)) and then by half the difference between the heights
-(\(H\)) of the horizontal bar of the “L” and (\(h+d\)) total of the box containing
-“GUTenberg” resized (\(=d+H/2-(h+d)/2=(H-h+d)/2\)).
+(\(H\)) of the horizontal bar of the "L" and (\(h+d\)) total of the box containing
+"GUTenberg" resized (\(=d+H/2-(h+d)/2=(H-h+d)/2\)).
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_GUTenberg_yoffset_dim {
(
@@ -414,11 +420,11 @@ it first by its depth (\(d\)) and then by half the difference between the height
)/2
}
\end{lstlisting}
-Once the height of the zone devoted to “La LETTRE” in the vertical bar of the
-“L” has been fixed, the line spacing between the letters of the word “LETTRE”
+Once the height of the zone devoted to "La LETTRE" in the vertical bar of the
+"L" has been fixed, the line spacing between the letters of the word "LETTRE"
depends in fact only on the width occupied by the widest of them, by definition
equal to the width allocated to the text embedded in the vertical bar of the
-“L”. The latter, stored in \lstinline+\g__letgutbanner_banner_vertical_contents_width_dim+, is
+"L". The latter, stored in \lstinline+\g__letgutbanner_banner_vertical_contents_width_dim+, is
initially fixed:
\begin{lstlisting}
\dim_gset:Nn
@@ -427,7 +433,7 @@ initially fixed:
\end{lstlisting}
but, to avoid this line spacing being too small (or even negative), we test that
it is greater than a certain threshold, equal to a certain minimum percentage of
-the height common to the letters of the word “LETTRE”, stored in:
+the height common to the letters of the word "LETTRE", stored in:
\lstinline+\c__letgutbanner_leading_minimum_percent_fp+
@@ -447,7 +453,7 @@ and loop until it is the case.
\g__letgutbanner_largest_LETR_box_height_dim
}{
\end{lstlisting}
-Resize the largest of these boxes to the width of the text embedded in the “L”.
+Resize the largest of these boxes to the width of the text embedded in the "L".
\begin{lstlisting}
\box_gresize_to_wd:Nn \g__letgutbanner_largest_LETR_box {
\g__letgutbanner_banner_vertical_contents_width_dim
@@ -459,7 +465,7 @@ Height of this resized larger box.
\box_ht:N \g__letgutbanner_largest_LETR_box
}
\end{lstlisting}
-Resize the boxes for each of the letters in the word “LETTRE” so that they are
+Resize the boxes for each of the letters in the word "LETTRE" so that they are
all the same height as the widest of them.
\begin{lstlisting}
\box_gresize_to_ht:Nn \g__letgutbanner_L_box {
@@ -475,14 +481,14 @@ all the same height as the widest of them.
\g__letgutbanner_largest_LETR_box_height_dim
}
\end{lstlisting}
-Resize the box containing “La” to the width of the text embedded in the “L”
+Resize the box containing "La" to the width of the text embedded in the "L"
vertical bar.
\begin{lstlisting}
\box_gresize_to_wd:Nn \g__letgutbanner_La_box {
\g__letgutbanner_banner_vertical_contents_width_dim
}
\end{lstlisting}
-Determine the height (\(h\)) and depth (\(d\)) of the resized box containing “La”.
+Determine the height (\(h\)) and depth (\(d\)) of the resized box containing "La".
\begin{lstlisting}
\dim_gset:Nn \g__letgutbanner_La_height_dim {
\box_ht:N \g__letgutbanner_La_box
@@ -491,11 +497,11 @@ Determine the height (\(h\)) and depth (\(d\)) of the resized box containing “
\box_dp:N \g__letgutbanner_La_box
}
\end{lstlisting}
-Determining the size of the vertical offset of the resized box containing “La”
-so that its top is, relative to the top of the “L”, offset by the same amount as
-the bottom of the box containing “GUTenberg” is offset from the bottom of the
-“L” (i.e., the distance from the top of the page to the top of “La” and the
-distance from the bottom of the page to the baseline of “GUTenberg” are
+Determining the size of the vertical offset of the resized box containing "La"
+so that its top is, relative to the top of the "L", offset by the same amount as
+the bottom of the box containing "GUTenberg" is offset from the bottom of the
+"L" (i.e., the distance from the top of the page to the top of "La" and the
+distance from the bottom of the page to the baseline of "GUTenberg" are
identical).
\begin{lstlisting}
\dim_gset:Nn \g__letgutbanner_La_yoffset_dim {
@@ -508,11 +514,11 @@ identical).
\g__letgutbanner_La_depth_dim
}
\end{lstlisting}
-For the following, the area containing the letters of the word “LETTRE” aligned
+For the following, the area containing the letters of the word "LETTRE" aligned
vertically is fixed, defined as follows:
\begin{itemize}
-\item its top is the baseline of “La”,
-\item its bottom is the baseline of “GUTenberg”.
+\item its top is the baseline of "La",
+\item its bottom is the baseline of "GUTenberg".
\end{itemize}
Determination of the height of this area.
\begin{lstlisting}
@@ -524,25 +530,25 @@ Determination of the height of this area.
\c__letgutbanner_GUTenberg_yoffset_dim
}
\end{lstlisting}
-Determining the vertical jump (\(s\)) between the letters in the word “LETTRE”
+Determining the vertical jump (\(s\)) between the letters in the word "LETTRE"
with the constraints that:
\begin{itemize}
-\item the top of the 1st letter (“L”) is \(3e/2\) below the top of the area (where
+\item the top of the 1st letter ("L") is \(3e/2\) below the top of the area (where
\(e\) is the common vertical space separating the letters of the word
-“LETTRE”),
-\item the baseline of the last letter (“E”) is merged with the bottom of the area,
+"LETTRE"),
+\item the baseline of the last letter ("E") is merged with the bottom of the area,
\item this jump must not be less than 20 \% of the common height \(h\) to all these
letters i.e.:
\lstinline+\g__letgutbanner_largest_LETR_box_height_dim+
otherwise the size of the largest of these boxes is reduced to less than the
-width of the text embedded in the “L”.
+width of the text embedded in the "L".
\end{itemize}
The sum of :
\begin{itemize}
-\item the 5 vertical spaces (\(5e\)) between the letters in the word “LETTRE”,
+\item the 5 vertical spaces (\(5e\)) between the letters in the word "LETTRE",
\item the 6 common heights (\(6h\)) to all these letters,
\item \(3e/2\),
\end{itemize}
@@ -579,7 +585,7 @@ and loop.
}
\end{lstlisting}
\end{enumerate}
-The width allocated to the text embedded in the vertical bar of the “L” may have
+The width allocated to the text embedded in the vertical bar of the "L" may have
been re-evaluated, so the padding (which must be symmetrical) may have changed
as well.
\begin{lstlisting}
@@ -592,7 +598,7 @@ as well.
}
\end{lstlisting}
\begin{enumerate}
-\item Determination of the vertical offset of the 1st letter (“L”).
+\item Determination of the vertical offset of the 1st letter ("L").
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_first_letter_yoffset_dim {
\g__letgutbanner_La_yoffset_dim
@@ -612,7 +618,7 @@ as well.
}
\end{lstlisting}
\end{enumerate}
-Resize the box containing “g” to the width of the text.
+Resize the box containing "g" to the width of the text.
\begin{lstlisting}
\box_gresize_to_wd:Nn \g__letgutbanner_g_box {
\c__letgutbanner_textwidth_dim
@@ -622,10 +628,10 @@ Calculates the size by which the height of the text box on the 1st page must be
reduced so that the banner does not encroach on the text. Relative to the top of
the page:
\begin{itemize}
-\item the top of the horizontal bar of “L” is at a distance equal to the sum of :
+\item the top of the horizontal bar of "L" is at a distance equal to the sum of :
\begin{itemize}
\item the distance between this top of page and the top of the vertical bar of
-“L”, equal to the height (\(p\)) of the paper minus the height (\(l\)) of “L”
+"L", equal to the height (\(p\)) of the paper minus the height (\(l\)) of "L"
\end{itemize}
\end{itemize}
\begin{lstlisting}
@@ -652,7 +658,7 @@ reader who wants to copy the interesting text be able to select it.
\begin{lstlisting}
\BeginAccSupp{ActualText={}}
\end{lstlisting}
-We put now the big “L” at the right place.
+We put now the big "L" at the right place.
\begin{lstlisting}
\put(
.5\c__letgutbanner_lmargin_dim-.5\c__letgutbanner_banner_thickness_dim
@@ -770,7 +776,7 @@ We close \lstinline+\AddToHook{begindocument}+.
\end{lstlisting}
If the package is used with another class than \class{letgut}, we reduce the
-textheight of the first page of the height of the horizontal bar of the “L”.
+textheight of the first page of the height of the horizontal bar of the "L".
\begin{lstlisting}
\@ifclassloaded{letgut}{
@@ -785,22 +791,5 @@ textheight of the first page of the height of the horizontal bar of the “L”.
\end{lstlisting}
\section{Example file (\texttt{letgut-banner-example.tex})}
-\label{sec:org4c5e60d}
-
-\begin{lstlisting}
-\documentclass[twoside]{article}
-\usepackage{fontspec}
-\usepackage[a4paper]{geometry}
-\usepackage{fancyhdr}
-\usepackage{letgut-banner}
-\usepackage{lipsum}
-\setmainfont{TeX Gyre Schola}
-\fancyhf{}
-\fancyhead[RO,LE]{\thepage}
-\fancyhead[RE,LO]{Test~\textsf{letgut-banner}}
-\pagestyle{fancy}
-\begin{document}
-\lipsum[1-20]
-\end{document}
-\end{lstlisting}
-\end{document}
+\label{sec:orgaf6d8ec}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf b/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
index 12da2cdac84..57cc0c3ae05 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
+++ b/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex b/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
index 672935a5fb0..54a74d44cec 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
+++ b/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
@@ -1,4 +1,4 @@
-% Created 2022-03-22 mar. 11:24
+% Created 2022-06-18 sam. 17:48
% Intended LaTeX compiler: lualatex
\documentclass{letgut}
\setmainfont{KpRoman}
@@ -6,6 +6,7 @@
\setmonofont[Scale = MatchLowercase]{RobotoMono}
\letgutsetup{editorial=false}
\input{listings-conf}
+\letgutsetup{detailedtoc}
\author{Association GUTenberg}
\date{\today}
\title{Support for the newsletter “La Lettre GUTenberg”}
@@ -56,7 +57,7 @@
\end{lstlisting}
\section{Implementation}
-\label{sec:orga99a9b5}
+\label{sec:org59fbe1b}
These document classes can only be used with \LaTeXe, so we make
sure that an appropriate message is displayed when another \TeX{}
@@ -88,11 +89,10 @@ Now, we can announce the class name and its version:
\begin{lstlisting}
\ProvidesExplClass{letgut}
-{2022-03-22}
-{0.9.1}
+{2022-03-17}
+{0.9}
{
- Class~ for~ the~ newsletter~
- “\c__letgut_La_lettre_gutenberg_tl”
+ Class for the newsletter “The GUTenberg Letter”
}
\end{lstlisting}
@@ -184,6 +184,10 @@ Some messages are declared for future use.
\begin{lstlisting}
\bool_new:N \l__letgut_in_footnote_bool
\end{lstlisting}
+\item For testing whether we currently ask the draft or the final version.
+\begin{lstlisting}
+\bool_new:N \g__letgut_draft_bool
+\end{lstlisting}
\end{itemize}
\subsubsection{Dimensions}
@@ -402,11 +406,27 @@ We close the \lstinline+\AddToHook{begindocument/before}+ argument.
\label{sec:orgb1ea800}
\begin{lstlisting}
+\tl_const:Nn \c__letgut_online_issn_tl {
+ 2742-6149~ (version~ numérique)
+}
+\tl_const:Nn \c__letgut_paper_issn_tl {
+ 1257–2217~ (version~ papier)
+}
\tl_const:Nn \c__letgut_cahier_tl { \emph{ Cahier } }
\tl_const:Nn \c__letgut_cahiers_tl {
\c__letgut_cahier_tl \emph{ s }
}
+\tl_const:Nn \c__letgut_gnu_linux_tl { \software{GNU/Linux} }
+\tl_const:Nn \c__letgut_macOS_tl { \software{macOS} }
+\tl_const:Nn \c__letgut_windows_tl { \software{Windows} }
+\tl_const:Nn \c__letgut_package_tl { package }
+\tl_const:Nn \c__letgut_class_tl { classe }
+\tl_const:Nn \c__letgut_file_tl { fichier }
+\tl_const:Nn \c__letgut_software_tl { logiciel }
\tl_const:Nn \c__letgut_tugboat_tl { \emph{ TUGboat } }
+\tl_const:Nn \c__letgut_tex_live_tl {
+ \hologo{ TeX }\nobreakspace Live
+}
\tl_const:Nn \c__letgut_banner_file_tl { bandeau }
\tl_const:Nn \c__letgut_editorial_file_tl { editorial }
\tl_const:Nn \c__letgut_informations_gutenberg_file_tl {
@@ -414,6 +434,7 @@ We close the \lstinline+\AddToHook{begindocument/before}+ argument.
}
\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_lstlanguage_file_tl { letgut-lstlang.sty }
\tl_const:Nn \c__letgut_contents_name_tl { Sommaire }
\tl_const:Nn \c__letgut_draftwatermark_text_tl {
\textnormal{Brouillon}
@@ -429,7 +450,7 @@ We close the \lstinline+\AddToHook{begindocument/before}+ argument.
Si~ vous~ avez~ oublié,~ ce~ n'est~ ni~ trop~ tard~
ni~ difficile~ :
\par
- \url{http://gutenberg.eu.org/?Adherer-en-ligne}
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
\bool_if:NT \g__letgut_informations_bool {
\file_if_exist:nT
{./\c__letgut_informations_gutenberg_file_tl}{
@@ -447,7 +468,8 @@ We close the \lstinline+\AddToHook{begindocument/before}+ argument.
Ne~ pas~ omettre~ les~ informations~ sur~
\c__letgut_gutenberg_tl{}~ !\\(dans~ un~
\file*{\c__letgut_informations_gutenberg_file_tl.tex}~
- situé~ dans~ le~ dossier~ courant)
+ situé~ soit~ dans~ le~ dossier~ courant, soit~ dans~ le~
+ dossier~ parent)
}
\tl_const:Nn \c__letgut_default_alert_box_color_tl {
gray9
@@ -507,19 +529,110 @@ We define the 2 load time options for the target audience:
\item \lstinline+for-authors+, (only) the author(s) of an article of the “Lettre”.
\end{itemize}
+\subsection{Date handling}
+\label{sec:org464c4b7}
+
\begin{lstlisting}
-\keys_define:nn { letgut }
+\int_new:N \g__letgut_date_month_int
+\int_new:N \g__letgut_date_year_int
+
+\int_gset:Nn \g__letgut_date_month_int {\the\month}
+\int_gset:Nn \g__letgut_date_year_int {\the\year}
+
+\tl_new:N \g__letgut_date_month_tl
+\tl_new:N \g__letgut_date_tl
+
+\cs_new_protected:Npn \__letgut_date_parse:n #1
{
- , for-readers .bool_gset:N = \g__letgut_for_readers_bool
- , for-readers .initial:n = { true }
- , for-readers .default:n = { true }
- , for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
+ \__letgut_if_is_iso_date:nTF {#1}
+ {
+ \__letgut_date_parse:www #1 \q_stop
+ }{
+ \msg_term:nnn{letgut}{Not~month~iso~date}{#1}
+ \tl_gset:Nn \g__letgut_date_tl { #1 }
+ }
+}
+
+\prg_new_protected_conditional:Npnn
+\__letgut_if_is_iso_date:n #1 { T, F, TF }
+{
+ \regex_match:nnTF { ^\d{4}-(\d{1,2}) } {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+}
+
+\prg_new_protected_conditional:Npnn
+\__letgut_if_is_int:n #1 { T, F, TF }
+{
+ \regex_match:nnTF { ^[\+\-]?[\d]+$ } {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+}
+
+\cs_new_protected:Npn \__letgut_month_name:n #1
+{
+ % \text_titlecase_first:n {
+ \int_case:nnF
+ { #1 }
+ {
+ { 1 }{ janvier }
+ { 2 }{ février }
+ { 3 }{ mars }
+ { 4 }{ avril }
+ { 5 }{ mai }
+ { 6 }{ juin }
+ { 7 }{ juillet }
+ { 8 }{ août }
+ { 9 }{ septembre }
+ { 10 }{ octobre }
+ { 11 }{ novembre }
+ { 12 }{ décembre }
+ }
+ { Month~ Error! }
+ % }
+}
+
+\cs_new_protected:Npn \__letgut_date_parse:www #1-#2
+\q_stop
+{
+ \int_compare:nTF
+ {
+ \the\year <= #1 <= \the\year+1
+\end{lstlisting}
+
+\begin{lstlisting}
+}{
+ \int_gset:Nn \g__letgut_date_year_int {#1}
+}{
+ \int_gset:Nn \g__letgut_date_year_int {\the\year}
+}
+\__letgut_if_is_int:nTF {#2}
+{
+ \int_compare:nTF
+ {
+ 1 <= #2 <= 12
+\end{lstlisting}
+
+\begin{lstlisting}
+ }
+ {\int_gset:Nn \g__letgut_date_month_int {#2}}
+ {\int_gset:Nn \g__letgut_date_month_int {\the\month}}
+ }{
+ \int_gset:Nn \g__letgut_date_month_int {\the\month}
+ }
+ \tl_gset:Nn \g__letgut_date_month_tl {
+ \__letgut_month_name:n { \g__letgut_date_month_int }
+ }
+ \tl_gset:Nn \g__letgut_date_tl {
+ \tl_use:N \g__letgut_date_month_tl
+ \c_space_tl
+ \int_use:N \g__letgut_date_year_int
+ }
}
-\ProcessKeysOptions { letgut }
\end{lstlisting}
\subsection{Class and package loading}
-\label{sec:org464c4b7}
+\label{sec:orgbefd239}
The \letgutcls{} is based on the \lstinline+article+ class. It is by default two sided
because of the alternating headers, and will by typeset with \lstinline+11pt+ as global
@@ -562,6 +675,10 @@ a vertical space instead of (or in addition to) indenting them.
\begin{lstlisting}
\RequirePackage{graphicx}
\end{lstlisting}
+\item Biolinum font.
+\begin{lstlisting}
+\RequirePackage{biolinum}
+\end{lstlisting}
\item Extending the array and tabular environments.
\begin{lstlisting}
\RequirePackage{array}
@@ -700,14 +817,14 @@ We close the \lstinline+\AddToHook{begindocument/before}+ argument.
\end{lstlisting}
\subsection{Settings for the loaded packages}
-\label{sec:orgbefd239}
+\label{sec:org5c102e6}
\begin{itemize}
\item We switch to the French typographic conventions for \package{siunitx}.
\begin{lstlisting}
\sisetup{
, locale=FR
- , mode=text
+ , mode=match
}
\end{lstlisting}
\item Concerning floats, we ask:
@@ -748,211 +865,6 @@ Moreover, the tables will be entitled \enquote{tableau} instead of
\begin{lstlisting}
\renewcommand*\frenchtablename{Tableau}
\end{lstlisting}
-\item We fix some defaults for the listings : we define a style for all the listings
-which resets all the \TeX{} control sequences/keywords and then load all the
-basic (La)\TeX{} dialects of \TeX{}. But we start with a dialect which is missing in
-the \package*{listings}.
-\begin{lstlisting}
-\lstdefinelanguage[classes]{TeX}[LaTeX]{TeX}{%
- % Control sequences
- moretexcs={%
- 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,Huge,
- indexname,indexspace,interlinepenalty,intextsep,it,jot,
- labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,
- labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,
- labelwidth,large,Large,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,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,description,figure,quotation,quote,table,
- thebibliography,theindex,titlepage,verse%
- },%
- % 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}
-
-\begin{lstlisting}
-\lstdefinestyle{__letgut_all_reset}{
- basicstyle=\ttfamily,
- language=TeX,%
- texcs={},%
- keywords={},%
- keywords=[2]{},%
- keywords=[3]{},%
- keywords=[4]{},%
- keywords=[5]{},%
- otherkeywords={},%
- alsoletter={},%
- alsodigit={},%
- alsolanguage=[AlLaTeX]TeX,%
- alsolanguage=[LaTeX]TeX,%
- alsolanguage=[plain]TeX,%
- alsolanguage=[common]TeX,%
- alsolanguage=[primitive]TeX,%
- alsolanguage=[classes]TeX,%
-\end{lstlisting}
-Because of a current issue involving \package{parskip} and
-\package{listings}
-(\url{https://github.com/FrankMittelbach/fmitex-parskip/issues/3}), we have to
-set the skip below the displayed listings to a zero length.
-\begin{lstlisting}
-belowskip=0pt,
-}
-\lstset{
- style=__letgut_all_reset
-}
-\end{lstlisting}
-This style is applied automatically at the beginning of each \lstinline+\input+
-file. Hence, the keywords defined in a previous file (by loading some
-peticular (La)\TeX{} dialects, i.e. control sequences and keywords specific to
-some class or packages) won't interfere with the ones of the current file.
-\begin{lstlisting}
-\AddToHook{cmd/input/before}{
- \lstset{%
- style=__letgut_all_reset,%
- }
-}
-\end{lstlisting}
\item The \lstinline+\printbibliography+ command is redefined in order its \lstinline+heading+ is by
default set to \lstinline+subbibliography+.
\begin{lstlisting}
@@ -1012,7 +924,7 @@ also done just before the begining of the document.
\item We want the hyperlinks to be as unobtrusive as possible.
\begin{lstlisting}
\bool_if:NTF \g__letgut_paper_bool {
- \hypersetup{draft}
+ \hypersetup{hidelinks}
}{
\hypersetup{%
colorlinks,%
@@ -1021,10 +933,19 @@ also done just before the begining of the document.
}
\end{lstlisting}
-A preset of acronyms is input (if found).
+A preset of acronyms is input (if found, firstly in the current directory,
+secondly in the parent directory, thirdly in the TDS).
\begin{lstlisting}
-\file_if_exist:nT {\c__letgut_acronyms_file_tl}{
- \file_input:n {\c__letgut_acronyms_file_tl}
+\file_if_exist:nTF {./\c__letgut_acronyms_file_tl}{
+ \file_input:n {./\c__letgut_acronyms_file_tl}
+}{
+ \file_if_exist:nTF {../\c__letgut_acronyms_file_tl}{
+ \file_input:n {../\c__letgut_acronyms_file_tl}
+ }{
+ \file_if_exist:nT {\c__letgut_acronyms_file_tl}{
+ \file_input:n {\c__letgut_acronyms_file_tl}
+ }
+ }
}
\end{lstlisting}
@@ -1051,7 +972,8 @@ currently does not work well in \lstinline+shipout/background+ (see
{
\Huge
\end{lstlisting}
-Currently, we can't use \package{l3color}'s \lstinline+\color_fill:n+\footnote{See \url{https://github.com/ho-tex/luacolor/issues/4\#issuecomment-848774260}.}
+Currently, we can't use \package{l3color}'s \lstinline+\color_fill:n+ (see
+\url{https://github.com/ho-tex/luacolor/issues/4\#issuecomment-848774260})
and we have to rely on \package{xcolor}'s \lstinline+\color+.
\begin{lstlisting}
% \color_fill:n {black!10}
@@ -1101,108 +1023,6 @@ We close the \lstinline+\AddToHook{begindocument/before}+ argument.
}
\end{lstlisting}
-\subsection{Date handling}
-\label{sec:org5c102e6}
-
-\begin{lstlisting}
-\int_new:N \g__letgut_date_month_int
-\int_new:N \g__letgut_date_year_int
-
-\int_gset:Nn \g__letgut_date_month_int {\the\month}
-\int_gset:Nn \g__letgut_date_year_int {\the\year}
-
-\tl_new:N \g__letgut_date_month_tl
-\tl_new:N \g__letgut_date_tl
-
-\cs_new_protected:Npn \__letgut_date_parse:n #1
-{
- \__letgut_if_is_iso_date:nTF {#1}
- {
- \__letgut_date_parse:www #1 \q_stop
- }{
- \msg_term:nnn{letgut}{Not~month~iso~date}{#1}
- \tl_gset:Nn \g__letgut_date_tl { #1 }
- }
-}
-
-\prg_new_protected_conditional:Npnn
-\__letgut_if_is_iso_date:n #1 { T, F, TF }
-{
- \regex_match:nnTF { ^\d{4}-(\d{1,2}) } {#1}
- { \prg_return_true: }
- { \prg_return_false: }
-}
-
-\prg_new_protected_conditional:Npnn
-\__letgut_if_is_int:n #1 { T, F, TF }
-{
- \regex_match:nnTF { ^[\+\-]?[\d]+$ } {#1}
- { \prg_return_true: }
- { \prg_return_false: }
-}
-
-\cs_new_protected:Npn \__letgut_month_name:n #1
-{
- % \text_titlecase_first:n {
- \int_case:nnF
- { #1 }
- {
- { 1 }{ janvier }
- { 2 }{ février }
- { 3 }{ mars }
- { 4 }{ avril }
- { 5 }{ mai }
- { 6 }{ juin }
- { 7 }{ juillet }
- { 8 }{ août }
- { 9 }{ septembre }
- { 10 }{ octobre }
- { 11 }{ novembre }
- { 12 }{ décembre }
- }
- { Month~ Error! }
- % }
-}
-
-\cs_new_protected:Npn \__letgut_date_parse:www #1-#2
-\q_stop
-{
- \int_compare:nTF
- {
- \the\year <= #1 <= \the\year+1
-\end{lstlisting}
-
-\begin{lstlisting}
-}{
- \int_gset:Nn \g__letgut_date_year_int {#1}
-}{
- \int_gset:Nn \g__letgut_date_year_int {\the\year}
-}
-\__letgut_if_is_int:nTF {#2}
-{
- \int_compare:nTF
- {
- 1 <= #2 <= 12
-\end{lstlisting}
-
-\begin{lstlisting}
- }
- {\int_gset:Nn \g__letgut_date_month_int {#2}}
- {\int_gset:Nn \g__letgut_date_month_int {\the\month}}
- }{
- \int_gset:Nn \g__letgut_date_month_int {\the\month}
- }
- \tl_gset:Nn \g__letgut_date_month_tl {
- \__letgut_month_name:n { \g__letgut_date_month_int }
- }
- \tl_gset:Nn \g__letgut_date_tl {
- \tl_use:N \g__letgut_date_month_tl
- \c_space_tl
- \int_use:N \g__letgut_date_year_int
- }
-}
-\end{lstlisting}
-
\subsection{Page color default settings}
\label{sec:orgbdbe3de}
@@ -1217,28 +1037,36 @@ By default, the page color will be the one linked to the \lstinline+screen+ opti
\subsection{Options}
\label{sec:orgc4ef889}
-These options look to need to be specified rather at the end (throws an error if
-defined before the \lstinline+\__letgut_date_parse:n+'s definition):
+We now define the options of the class:
\begin{itemize}
+\item \lstinline+for-readers~/~for-authors+, depending on the target audience,
+\item \lstinline+draft~/~final+ depending on the state of the document,
+\item \lstinline+paper~/~screen+ depending on the way the document will be read,
\item \lstinline+number+ for the number of the issue,
\item \lstinline+date+ for the date of the issue, either empty (hence the current (month)
date) or at the format \lstinline+YYYY-MM+ or as free input,
\item \lstinline+pagecolor+ (relevant only with the (default) \lstinline+screen+ load time option) for
a color of the page other than the default one,
+\item \lstinline+allcolorslinks+ for the color of (all) the links,
\item \lstinline+membership-reminder+ that typesets a membership reminder on the first page,
+\item \lstinline+editorial+ depending on the editorial is wanted or not,
+\item \lstinline+infomations+ depending on the GUTenberg informations are wanted or not,
+\item \lstinline+detailedtoc+ depending on the automatic ToC is wanted maximally (until
+subparagraphs) detailed or not.
\end{itemize}
\begin{lstlisting}
-\keys_define:nn { letgut/setup }
+\keys_define:nn { letgut }
{
+ , for-readers .bool_gset:N = \g__letgut_for_readers_bool
+ , for-readers .initial:n = { true }
+ , for-readers .default:n = { true }
+ , for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
, draft .bool_gset:N = \g__letgut_draft_bool
, draft .initial:n = { true }
, draft .default:n = { true }
, final .bool_gset_inverse:N = \g__letgut_draft_bool
- , number .int_gset:N = \g__letgut_number_int
- , date .code:n = { \__letgut_date_parse:n { #1 } }
- , date .initial:x = {\the\year-\the\month}
, paper .code:n = {
\bool_gset_true:N \g__letgut_paper_bool
\pagecolor[rgb]{\c__letgut_default_pagecolor_paper_clist}
@@ -1246,6 +1074,9 @@ a color of the page other than the default one,
\c__letgut_default_pagecolor_paper_clist
}
, screen .bool_gset_inverse:N = \g__letgut_paper_bool
+ , number .int_gset:N = \g__letgut_number_int
+ , date .code:n = { \__letgut_date_parse:n { #1 } }
+ , date .initial:x = {\the\year-\the\month}
, pagecolor .initial:V
= \c__letgut_default_pagecolor_screen_clist
, pagecolor .code:n = {
@@ -1273,7 +1104,14 @@ a color of the page other than the default one,
, 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 }
}
+\ProcessKeysOptions { letgut }
+\end{lstlisting}
+
+\begin{lstlisting}
+\definecolor{letgut_pagecolor}{rgb}{\g__letgut_pagecolor_clist}
\end{lstlisting}
\subsection{Headers}
@@ -1325,18 +1163,40 @@ We want the marginal notes to be in the left margin.
The table of contents is customized:
\begin{itemize}
-\item only the titles of the articles are shown (but the bookmarks have their natural depth):
-\end{itemize}
-\begin{lstlisting}
-\etocsetnexttocdepth{0}
-\end{lstlisting}
-\begin{itemize}
\item layout:
\begin{lstlisting}
\etocsetstyle {section}
{}
-{\leavevmode\leftskip 2cm\relax}
-{\normalsize%
+{\leavevmode\leftskip 2.5cm\relax}
+{\mdseries\small%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {subsection}
+{}
+{\leavevmode\leftskip 3cm\relax}
+{\mdseries\footnotesize%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {subsubsection}
+{}
+{\leavevmode\leftskip 3.5cm\relax}
+{\mdseries\scriptsize%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {paragraph}
+{}
+{\leavevmode\leftskip 4cm\relax}
+{\mdseries\tiny%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {subparagraph}
+{}
+{\leavevmode\leftskip 4.5cm\relax}
+{\mdseries\tiny%
\etocname~\dotfill~\etocpage\par
}
{}
@@ -1457,7 +1317,8 @@ The first page is inserted only is the target audience is the readers of the
Lettre.
\begin{lstlisting}
-\bool_if:NT \g__letgut_for_readers_bool {
+\AddToHook{begindocument/before}{
+ \bool_if:NT \g__letgut_for_readers_bool {
\end{lstlisting}
\begin{lstlisting}
@@ -1607,14 +1468,24 @@ ruin the effort of \lstinline+\thispagestyle{empty}+ if inserted before.
\begin{lstlisting}
\thispagestyle{empty}
\end{lstlisting}
-\item The table of contents is automatically added and has a bookmark entry.
+\item The table of contents is automatically added and has a bookmark entry. By
+default only the titles of the articles are shown (but the bookmarks have
+their natural depth) but the \lstinline+detailedtoc+ option make its depth until
+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}
+}
\pdfbookmark[1]{
\c__letgut_contents_name_tl
}{
\c__letgut_contents_name_tl
}
\tableofcontents
+\etocsetnexttocdepth{1}
\end{lstlisting}
Should a title be displayed, the table of contents would be added after it,
followed by a new page (otherwise, if \lstinline+\title+ used after \lstinline+\begin{document}+
@@ -1638,7 +1509,7 @@ has a bookmark entry; otherwise, a warning is displayed.
\pdfbookmark[1]{Éditorial}{
\c__letgut_editorial_file_tl
}
- \file_input:n {./\c__letgut_editorial_file_tl}
+ \__letgut_input_article:n {./\c__letgut_editorial_file_tl}
% % \int_set:N \l_tmpa_int {\pagenumber}
% % \int_compare:nNnT \l_tmpa_int = 1 { \newpage }
\end{lstlisting}
@@ -1700,19 +1571,33 @@ The last page is special: it should automatically contain some informations abou
\AddToHook{enddocument}
{
\end{lstlisting}
-Conditionally to the fact the \lstinline+informations+ option is not set to \lstinline+false+: if the
-\file*{informations-gut.tex} which contains the informations about
-\gutenberg. Otherwise, a warning is displayed.
+Conditionally to the fact the \lstinline+informations+ option is not set to \lstinline+false+: if
+the \file*{informations-gut.tex} which contains the informations about
+\gutenberg{} is found (firstly in the current directory, secondly in the parent
+directory, thirdly in the TDS). Otherwise, a warning is displayed.
\begin{lstlisting}
\bool_if:NT \g__letgut_informations_bool {
\clearpage
\phantomsection
- \file_if_exist:nTF
- {./\c__letgut_informations_gutenberg_file_tl}{
- \file_input:n {./\c__letgut_informations_gutenberg_file_tl}
+ \file_if_exist:nTF {./\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ ./\c__letgut_informations_gutenberg_file_tl
+ }
}{
- \msg_warning:nn{letgut}{Informations~file~missing}
- \alertbox{ \c__letgut_missing_infomations_tl }
+ \file_if_exist:nTF {../\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ ../\c__letgut_informations_gutenberg_file_tl
+ }
+ }{
+ \file_if_exist:nTF {\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ \c__letgut_informations_gutenberg_file_tl
+ }
+ }{
+ \msg_warning:nn{letgut}{Informations~file~missing}
+ \alertbox{ \c__letgut_missing_infomations_tl }
+ }
+ }
}
}
\end{lstlisting}
@@ -1728,6 +1613,7 @@ the author(s) of the “Lettre”.
\begin{lstlisting}
}
+}
\end{lstlisting}
\subsection{Sections, subsections, etc.}
@@ -1765,11 +1651,18 @@ displayed uppercased.
{
\leavevmode\leftskip 2cm\relax
}
- {\mdseries\normalsize
+ {
+ \bool_if:NTF \g__letgut_detailedtoc_bool {
+ \bfseries
+ }{
+ \mdseries
+ }
+ \normalsize
\etocname
\nobreak\leaders\hbox~ to~ 1ex{\hss.}\hfill
\etocpage
- \par}
+ \par
+ }
{}
\end{lstlisting}
\item We also create the new level \lstinline+\subtitle+ for the subtitles of the
@@ -1879,7 +1772,7 @@ We define the command that lets us specify the newsletter setup.
\begin{lstlisting}
\NewDocumentCommand \letgutsetup { m } {
- \keys_set:nn { letgut/setup } { #1 }
+ \keys_set:nn { letgut } { #1 }
}
\end{lstlisting}
@@ -1994,7 +1887,8 @@ is splitted as a comma separated list.
\begin{lstlisting}
\cs_new_protected:Nn \__letgut_person_last_name:n
{
- {\scshape \__letgut_titlecase_name:n {#1}}
+ {% \scshape
+ \__letgut_titlecase_name:n {#1}}
}
\cs_new_protected:Nn \__letgut_person_first_name_last_name:nn
{
@@ -2013,7 +1907,7 @@ is splitted as a comma separated list.
\cs_new_protected:Npn \__letgut_process_list:n #1
{
\seq_clear:N \l__letgut_items_seq
- \seq_set_split:Nnn \l_tmpa_seq {and} {#1}
+ \seq_set_split:Nnn \l_tmpa_seq {~and~} {#1}
\seq_map_inline:Nn \l_tmpa_seq {
\seq_set_from_clist:Nn \l_tmpb_seq {##1}
\seq_pop_left:NN \l_tmpb_seq \l_letgut_last_name_tl
@@ -2124,28 +2018,28 @@ We define the font switches dediacted to each of packages and classes
{
{\l__letgut_files_font_switch_tl #1}
}
-\NewDocumentCommand{\package}{ s o m O{package} } {
+\NewDocumentCommand{\package}{ s o m O{\c__letgut_package_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
}
\__letgut_tex_stuff:nn {#2}{#3}
}
-\NewDocumentCommand{\class}{ s o m O{classe} } {
+\NewDocumentCommand{\class}{ s o m O{\c__letgut_class_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
}
\__letgut_tex_stuff:nn {#2}{#3}
}
-\NewDocumentCommand{\file}{ s m O{fichier} } {
+\NewDocumentCommand{\file}{ s m O{\c__letgut_file_tl} } {
\IfBooleanT{#1}{
#3
\c_space_tl
}
\__letgut_file:n {#2}
}
-\NewDocumentCommand {\software} { s O{} m O{logiciel} } {
+\NewDocumentCommand {\software} { s O{} m O{\c__letgut_software_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
@@ -2154,7 +2048,7 @@ We define the font switches dediacted to each of packages and classes
}
\end{lstlisting}
-\subsubsection{Names, etc.}
+\subsubsection{Names, expressions, etc.}
\label{sec:org45141b1}
\begin{lstlisting}
@@ -2176,6 +2070,18 @@ We define the font switches dediacted to each of packages and classes
\NewExpandableDocumentCommand { \Cahiers } { } {
\c__letgut_cahiers_tl
}
+ \NewExpandableDocumentCommand { \cahier } { } {
+ \c__letgut_cahier_tl
+ }
+ \NewExpandableDocumentCommand { \cahiers } { } {
+ \c__letgut_cahiers_tl
+ }
+ \NewExpandableDocumentCommand { \cahiergut } { } {
+ \cahier \c_space_tl \gutenberg
+ }
+ \NewExpandableDocumentCommand { \cahiersgut } { } {
+ \cahiers \c_space_tl \gutenberg
+ }
\NewExpandableDocumentCommand { \letgut } { } {
\class{letgut}
}
@@ -2186,10 +2092,22 @@ We define the font switches dediacted to each of packages and classes
\c__letgut_tugboat_tl
}
\NewExpandableDocumentCommand { \knuth } { } {
- \person{Knuth, Donald~ E.}
+ \person{Knuth,~ Donald~ E.}
}
\NewExpandableDocumentCommand { \lamport } { } {
- \person{Lamport, Leslie}
+ \person{Lamport,~ Leslie}
+ }
+ \NewExpandableDocumentCommand { \tl } { } {
+ \c__letgut_tex_live_tl
+ }
+ \NewExpandableDocumentCommand { \linux } { } {
+ \c__letgut_gnu_linux_tl
+ }
+ \NewExpandableDocumentCommand { \macos } { } {
+ \c__letgut_macOS_tl
+ }
+ \NewExpandableDocumentCommand { \windows } { } {
+ \c__letgut_windows_tl
}
\end{lstlisting}
@@ -2217,28 +2135,45 @@ We disabling some commands when their arguments have to go to bookmarks.
\begin{lstlisting}
\AddToHook{begindocument/end}{
\pdfstringdefDisableCommands{
- \def\person#1{#1}
- \def\author#1{#1}
- \def\package#1{#1}
- % \def\package*#1{package~#1}
- \def\class#1{#1}
- % \def\class*#1{classe~#1}
- \def\file#1{#1}
- % \def\file*#1{fichier~#1}
- \def\software#1{#1}
- % \def\software*#1{logiciel~#1}
- \def\foreignloc#1{#1}
- \def\lettre{Lettre}
- \def\gutenberg{GUTenberg}
- \def\gut{\gutenberg}
- \def\lettregut{\lettre\c_space_tl\gutenberg}
- \def\Cahier{Cahier}
- \def\Cahiers{\Cahier s}
- \def\letgut{letgut}
- \def\letgutcls{classe~ letgut}
- \def\knuth{Donald~ E.~ Knuth}
- \def\lamport{Leslie~ Lamport}
- \def\latinloc#1{#1}
+ \RenewExpandableDocumentCommand\person { m }{#1}
+ \RenewExpandableDocumentCommand\author{ m }{#1}
+ \RenewExpandableDocumentCommand \package { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_package_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\class { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_class_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\file { s m }{
+ \IfBooleanT{#1}{\c__letgut_file_tl\c_space_tl}#2
+ }
+ \RenewExpandableDocumentCommand\software { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_software_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\foreignloc{ m }{#1}
+ \RenewExpandableDocumentCommand\latinloc{ m }{#1}
+ \RenewExpandableDocumentCommand\lettre{ }{Lettre}
+ \RenewExpandableDocumentCommand\gutenberg{ }{GUTenberg}
+ \RenewExpandableDocumentCommand\gut{ }{\gutenberg}
+ \RenewExpandableDocumentCommand\lettregut{ }{
+ \lettre\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\Cahier{ }{Cahier}
+ \RenewExpandableDocumentCommand\Cahiers{ }{\Cahier s}
+ \RenewExpandableDocumentCommand\cahier{ }{Cahier}
+ \RenewExpandableDocumentCommand\cahiers{ }{\cahier s}
+ \RenewExpandableDocumentCommand\cahiergut{ }{
+ \cahier\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\cahiersgut{ }{
+ \cahier s\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\letgut{ }{letgut}
+ \RenewExpandableDocumentCommand\letgutcls{ }{classe~ letgut}
+ \RenewExpandableDocumentCommand\knuth{ }{Donald~ E.~ Knuth}
+ \RenewExpandableDocumentCommand\lamport{ }{Leslie~ Lamport}
+ \RenewExpandableDocumentCommand\linux{ }{GNU/Linux}
+ \RenewExpandableDocumentCommand\macos{ }{macOS}
+ \RenewExpandableDocumentCommand\windows{ }{Windows}
}
}
\end{lstlisting}
@@ -2323,18 +2258,31 @@ be the uppercased acronym).
The first occurrences of the acronyms will be displayed in their short forms,
with the long ones in footnotes. But what about acronyms whom first occurrences
-arise within footnotes? We want the to be displayed as their short forms
+arise within footnotes? We want them to be displayed as their short forms
followed by their the long form in parentheses. For this, we have to add
a boolean at the beginning (and reversed at the end) of the \lstinline+\footnote+ command
to know whether we currently are in a footnote or not and display the acronym
accordingly.
+BTW, we hack the \lstinline+\footnote+ command in order to mimic the \lstinline+multiple+ option of
+the \package{footmisc} package (consecutive \lstinline+\footnote+ commands make their
+corresponding footnote marks separated by commas). See
+\url{https://tex.stackexchange.com/a/62091}.
+
\begin{lstlisting}
+\let\__letgut_next_token\relax
+\cs_new_protected:Npn \__letgut_next_token_is_footnote:
+{\if_meaning:w\footnote\__letgut_next_token\textsuperscript{,}\fi}
\NewCommandCopy{\__letgut_old_footnote}{\footnote}
-\RenewDocumentCommand {\footnote} { m }{
+\RenewDocumentCommand {\footnote} { O{} m }{
\bool_set_true:N \l__letgut_in_footnote_bool
- \__letgut_old_footnote { #1 }
+ \tl_if_empty:nTF {#1}{
+ \__letgut_old_footnote { #2 }
+ }{
+ \__letgut_old_footnote [#1] { #2 }
+ }
\bool_set_false:N \l__letgut_in_footnote_bool
+ \futurelet\__letgut_next_token\__letgut_next_token_is_footnote:
}
\end{lstlisting}
We change a bit both the \lstinline+footnote+ acro template, the \lstinline+description+ list
@@ -2355,7 +2303,7 @@ as “short (long)”. Otherwise, they are displayed as “short\footnote{long}
\space
(
\acroifT {alt} { \acrotranslate {or} ~ \acrowrite {alt} ~ }
- \acroifT {foreign} { \acrowrite {foreign} :~ }
+ \acroifT {foreign} { \acrowrite {foreign} }
\acrowrite {long}
\acrogroupcite
)
@@ -2565,7 +2513,7 @@ extensions of the \lstinline+graphicx+ package.
\noindent
\textsf{\fullcite{\g__letgut_bookreview_bibkey_tl}}
\tl_if_empty:NF \g__letgut_bookreview_price_tl{
- .\c_space_tl\EUR{\g__letgut_bookreview_price_tl}
+ .\c_space_tl\g__letgut_bookreview_price_tl\c_space_tl €
}
\par
}{
@@ -2573,8 +2521,59 @@ extensions of the \lstinline+graphicx+ package.
}
\end{lstlisting}
+\subsection{Keyboard keys}
+\label{sec:org4c4b60b}
+
+We make use of the Linux Biolinum Keyboard font and extend somehow the \lstinline+\LKey+
+provided by the \package*{biolinum} in order to more easily write keyboard keys
+for usual characters on French keyboards.
+
+\begin{lstlisting}
+\DeclareRobustCommand*\LKey[1]{%
+\ifx#10\biolinumKeyGlyph{zero}% % spurious space removed 2016/06/24
+\else\ifx#11\biolinumKeyGlyph{one}%
+\else\ifx#12\biolinumKeyGlyph{two}%
+\else\ifx#13\biolinumKeyGlyph{three}%
+\else\ifx#14\biolinumKeyGlyph{four}%
+\else\ifx#15\biolinumKeyGlyph{five}%
+\else\ifx#16\biolinumKeyGlyph{six}%
+\else\ifx#17\biolinumKeyGlyph{seven}%
+\else\ifx#18\biolinumKeyGlyph{eight}%
+\else\ifx#19\biolinumKeyGlyph{nine}%
+\else\ifx#1à\biolinumKeyGlyph{agrave}%
+\else\ifx#1À\biolinumKeyGlyph{Agrave}%
+\else\ifx#1â\biolinumKeyGlyph{acircumflex}%
+\else\ifx#1Â\biolinumKeyGlyph{Acircumflex}%
+\else\ifx#1é\biolinumKeyGlyph{eacute}%
+\else\ifx#1É\biolinumKeyGlyph{Eacute}%
+\else\ifx#1è\biolinumKeyGlyph{egrave}%
+\else\ifx#1È\biolinumKeyGlyph{Egrave}%
+\else\ifx#1ê\biolinumKeyGlyph{ecircumflex}%
+\else\ifx#1Ê\biolinumKeyGlyph{Ecircumflex}%
+\else\ifx#1ë\biolinumKeyGlyph{edieresis}%
+\else\ifx#1Ë\biolinumKeyGlyph{Edieresis}%
+\else\ifx#1î\biolinumKeyGlyph{icircumflex}%
+\else\ifx#1Î\biolinumKeyGlyph{Icircumflex}%
+\else\ifx#1ï\biolinumKeyGlyph{idieresis}%
+\else\ifx#1Ï\biolinumKeyGlyph{Idieresis}%
+\else\ifx#1ô\biolinumKeyGlyph{ocircumflex}%
+\else\ifx#1Ô\biolinumKeyGlyph{Ocircumflex}%
+\else\ifx#1ù\biolinumKeyGlyph{ugrave}%
+\else\ifx#1Ù\biolinumKeyGlyph{Ugrave}%
+\else\ifx#1û\biolinumKeyGlyph{ucircumflex}%
+\else\ifx#1Û\biolinumKeyGlyph{Ucircumflex}%
+\else\ifx#1ü\biolinumKeyGlyph{udieresis}%
+\else\ifx#1Ü\biolinumKeyGlyph{Udieresis}%
+\else\ifx#1ÿ\biolinumKeyGlyph{ydieresis}%
+\else\ifx#1Ÿ\biolinumKeyGlyph{Ydieresis}%
+\else\ifx#1ç\biolinumKeyGlyph{ccedilla}%
+\else\ifx#1Ç\biolinumKeyGlyph{Ccedilla}%
+\else\biolinumKeyGlyph{#1}%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+\end{lstlisting}
+
\subsection{Miscellanous}
-\label{sec:org00f0870}
+\label{sec:org562c2a3}
\begin{itemize}
\item We specify the possible hyphenations of \enquote{\gutenberg}.
@@ -2583,8 +2582,25 @@ extensions of the \lstinline+graphicx+ package.
\hyphenation{GUT-enberg}
\end{lstlisting}
+\subsubsection{ISSN}
+\label{sec:org61c4abd}
+
+\begin{lstlisting}
+\cs_new_protected:Npn \__letgut_issn:
+{
+ \bool_if:NTF \g__letgut_paper_bool {
+ \c__letgut_paper_issn_tl
+ }{
+ \c__letgut_online_issn_tl
+ }
+}
+\NewDocumentCommand{\letgutissn}{ }{
+ \__letgut_issn:
+}
+\end{lstlisting}
+
\subsubsection{Non selectable text}
-\label{sec:org4c4b60b}
+\label{sec:org00f0870}
We create a control sequence that makes its argument not selectable in the
PDF. This will be used notably for the line numbers of the listings and the
@@ -2597,11 +2613,11 @@ watermarks.
\end{lstlisting}
\subsubsection{Typesetting of code, etc.}
-\label{sec:org61c4abd}
+\label{sec:org371597a}
We provide a \lstinline+\meta+ macro that (poorly) mimics the one of the
\package*{doc}. It is added at the very end of the preamble since other
-package that provide a better definition of this macro may have been loaded
+package that provide another definition of this macro may have been loaded
(e.g. \package{tcolorbox}).
\begin{lstlisting}
\colorlet {__letgut_meta} {
@@ -2616,50 +2632,172 @@ package that provide a better definition of this macro may have been loaded
\textcolor{#1}{$\langle$#2$\rangle$}
\egroup
}
-\AddToHook{begindocument/before}{
- \ProvideDocumentCommand{\meta}{ O{__letgut_meta} m } {
+\AddToHook{begindocument/end}{
+ \DeclareDocumentCommand{\meta}{ O{__letgut_meta} m } {
\__letgut_meta:nn {#1}{#2}
}
}
\end{lstlisting}
-\subsection{\LaTeX{} listings and examples}
-\label{sec:org371597a}
+\subsection{Listings}
+\label{sec:orgf79a2c2}
-We first define some colors used in the listings and examples.
+We define a style for all the listings which resets all the \TeX{} control
+sequences and keywords, and fix some defaults.
\begin{lstlisting}
-\definecolor{__letgut_backgroundCode}{cmyk}{0,0,0,0.04}
-\definecolor{__letgut_borderCode}{cmyk}{0,0,0,0.2}
-\definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
-\definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
-\definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
+\lstdefinestyle{__letgut_reset_listings_styles}{
+ basicstyle=\ttfamily,
+ breaklines,
+ language=TeX,%
+ texcs={},%
+ language={},%
+ keywords={},%
+ keywords=[2]{},%
+ keywords=[3]{},%
+ keywords=[4]{},%
+ keywords=[5]{},%
+ otherkeywords={},%
+ alsoletter={},%
+ alsodigit={},%
+ escapechar=£,
+ columns=fullflexible,
+ keepspaces=true,
+ upquote=true,
+ showstringspaces=false,
\end{lstlisting}
-We now define the colors for the syntax highlighting and define the style of our
-listings.
+If line numbers are asked, they should always have the same layout and not be
+selectable (hence the \lstinline+\__letgut_unselectable:n+).
+
+\begin{lstlisting}
+numbersep=\c__letgut_number_sep_dim,
+numberstyle=\scriptsize\ttfamily
+\color{__letgut_foregroundLinenumber}
+\__letgut_unselectable:n,
+\end{lstlisting}
+
+Because of a current issue involving \package{parskip} and \package{listings}
+(\url{https://github.com/FrankMittelbach/fmitex-parskip/issues/3}), we have to
+set the skip below the displayed listings to a (almost) zero length. We do the
+same for the above skip.
+
+\begin{lstlisting}
+ aboveskip={0\p@ \@plus 6\p@},
+ belowskip={0\p@ \@plus 6\p@},
+}
+\end{lstlisting}
+
+We define as short equivalent of \lstinline+\lstinline+ the character
+\lstDeleteShortInline⅛\texttt{⅛} which is unlikely to be used in ordinary text.
+
+\begin{lstlisting}
+\lstMakeShortInline[breaklines=false]⅛
+\end{lstlisting}
+
+We start with an empty listings style.
+
+\begin{lstlisting}
+\lstset{ style=__letgut_reset_listings_styles }
+\end{lstlisting}
+
+We create our own \lstinline+\input+ command for the articles of the Lettre with the
+following characteristics:
+
+\begin{itemize}
+\item The previous style is applied automatically. Hence, the keywords defined in
+a previous file (by loading some peticular (La)\TeX{} dialects, i.e. control
+sequences and keywords specific to some class or packages) won't interfere
+with the ones of the current file.
+\item All the acronyms are reset (each acronym is developped at its first occurrence).
+\end{itemize}
+
+\begin{lstlisting}
+\cs_new_protected:Npn \__letgut_input_article:n #1
+{
+ \lstset{ style=__letgut_reset_listings_styles }
+ \acresetall%
+ \file_input:n{#1}%
+}
+\NewDocumentCommand{\inputarticle}{m}{
+ \__letgut_input_article:n { #1 }
+}
+\end{lstlisting}
+
+\subsubsection{\LaTeX{} listings and examples}
+\label{sec:orga99a9b5}
+
+We define the colors for the syntax highlighting of \LaTeX{} listings.
\begin{lstlisting}
\colorlet{__letgut_texcs}{blue}
\colorlet{__letgut_comment}{gray}
-\colorlet{__letgut_argument-specification-separator}{red}
-\colorlet{__letgut_argument-specification}{cyan}
-\colorlet{__letgut_mandatory-argument}{purple}
+\colorlet{__letgut_argument_specification_separator}{red}
+\colorlet{__letgut_argument_specification}{cyan}
+\colorlet{__letgut_mandatory_argument}{purple}
\colorlet{__letgut_environment}{teal}
-\colorlet{__letgut_key}{__letgut_mandatory-argument}
+\colorlet{__letgut_key}{__letgut_mandatory_argument}
\colorlet{__letgut_value}{violet}
-\colorlet{__letgut_optional-argument}{__letgut_key}
+\colorlet{__letgut_optional_argument}{__letgut_key}
\colorlet{__letgut_math}{green!50!black}
-\lstset{%
+\end{lstlisting}
+
+We add our own language files taken in account by the \package*{listings}. They
+will be considered after the other usual ones, if found. They are searched firstly
+in the current directory, secondly in the parent directory, thirdly in the TDS.
+
+\begin{lstlisting}
+\def\lstlanguagefiles{
+ lstlang0.sty,
+ lstlang1.sty,
+ lstlang2.sty,
+ lstlang3.sty,
+ ./\c__letgut_lstlanguage_file_tl,
+ ../\c__letgut_lstlanguage_file_tl,
+ \c__letgut_lstlanguage_file_tl
+}
+\end{lstlisting}
+
+We define a listing style specific to \LaTeX{} listings.
+
+\begin{lstlisting}
+\lstdefinestyle{__letgut_latex_listings_style}{
+ language=TeX,%
+ alsolanguage=[AlLaTeX]TeX,%
+ alsolanguage=[LaTeX]TeX,%
+ alsolanguage=[plain]TeX,%
+ alsolanguage=[common]TeX,%
+ alsolanguage=[primitive]TeX,%
+ alsolanguage=[extLaTeX]TeX,%
+ alsolanguage=[classes]TeX,%
texcsstyle=*\color{__letgut_texcs},
commentstyle=\color{__letgut_comment}\itshape,
- keywordstyle= \color{__letgut_argument-specification-separator},
+ keywordstyle= \color{__letgut_argument_specification_separator},
keywordstyle={[2]\color{__letgut_environment}},
keywordstyle={[3]\color{__letgut_key}},
keywordstyle={[4]\color{__letgut_value}},
- keywordstyle={[5]\color{__letgut_argument-specification}},
+ keywordstyle={[5]\color{__letgut_argument_specification}},
keywordstyle={[6]\color{__letgut_key}},
- escapechar=£,
+ numbers=left,
+\end{lstlisting}
+
+The \lstinline+listings+ package defines some of the LaTeX's environments as keywords of
+order 1. This would force us to do the same in our own language driver file but
+would ruin our effort to stylize in a special way (in red) other keywords (see
+\lstinline+otherkeywords={...}+) that are stylized as keywords of order 1. Hence, we
+delete these keywords of order 1 and will add them as keywords of order 2 like
+all the environments in our own language driver file (in the \lstinline+extLaTeX+ dialect
+that we load by default).
+
+\begin{lstlisting}
+deletekeywords={%
+ array,center,displaymath,document,enumerate,eqnarray,%
+ equation,flushleft,flushright,itemize,list,lrbox,math,minipage,%
+ picture,sloppypar,tabbing,tabular,trivlist,verbatim,%
+},%
+\end{lstlisting}
+
+\begin{lstlisting}
literate=*%
{\\\\}{{{\color{__letgut_texcs}\textbackslash\textbackslash}}}{2}%
{\\[}{{\textcolor{__letgut_math}{\textbackslash[}}}{2}%
@@ -2668,11 +2806,31 @@ listings.
}
\end{lstlisting}
+We first define some colors used in the listings and examples.
+
+\begin{lstlisting}
+\definecolor{__letgut_backgroundCode}{cmyk}{0,0,0,0.04}
+\definecolor{__letgut_borderCode}{cmyk}{0,0,0,0.2}
+\definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
+\definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
+\definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
+\end{lstlisting}
+
For the listings and examples, we rely on \package*{tcolorbox}, and more
specifically on some of its libraries.
\begin{lstlisting}
-\tcbuselibrary{listings,xparse,breakable,skins}
+\tcbuselibrary{listings,xparse,breakable,skins,hooks}
+\end{lstlisting}
+
+We want some common settings for all the \textasciitilde{}tcolorbox\textasciitilde{}es.
+
+\begin{lstlisting}
+\tcbset{
+ breakable,
+ sharp~ corners,
+ fonttitle=\sffamily\bfseries,
+}
\end{lstlisting}
The functions:
@@ -2716,7 +2874,7 @@ option is provided, the specified title addon.
}
\end{lstlisting}
-We define the style of the codes and the results boxes.
+We define the style of the codes.
\begin{lstlisting}
\tl_set:Nn \l__letgut_reference_text_tl {
@@ -2725,32 +2883,20 @@ We define the style of the codes and the results boxes.
\tcbset{
__letgut_code/.style={
listing~ options={
- % style=tcblatex,
- numbers=left,
- numbersep=\c__letgut_number_sep_dim,
-\end{lstlisting}
-We want the line numbers to not be selectable, hence the \lstinline+\__letgut_unselectable:n+:.
-\begin{lstlisting}
-numberstyle=
- \scriptsize
- \ttfamily
- \color{__letgut_foregroundLinenumber}
- \__letgut_unselectable:n,
-},
-every~ float=\raggedleft,
-colback=__letgut_backgroundCode,
-breakable,
-sharp~ corners,
-boxrule=0.25mm,
-colframe=__letgut_borderCode,
-sidebyside~ align=top~ seam,
-toprule~ at~ break=0mm,
-bottomrule~ at~ break=0mm,
-colbacktitle=__letgut_borderCode,
-fonttitle=\sffamily\bfseries,
-before~ title={
- \tl_set:Nn \l__letgut__tex_stuff_font_switch_tl {\rmfamily}
-},
+ style=__letgut_latex_listings_style,
+ },
+ every~ float=\raggedleft,
+ colback=__letgut_backgroundCode,
+ boxrule=0.25mm,
+ colframe=__letgut_borderCode,
+ sidebyside~ align=top~ seam,
+ toprule~ at~ break=0mm,
+ bottomrule~ at~ break=0mm,
+ colbacktitle=__letgut_borderCode,
+ fonttitle=\sffamily\bfseries,
+ before~ title={
+ \tl_set:Nn \l__letgut__tex_stuff_font_switch_tl {\rmfamily}
+ },
\end{lstlisting}
We define a custom \package*{tcolorbox}'s \lstinline+title addon+ option that let us
specify an addon to the title which will added after the automatically
@@ -2773,6 +2919,9 @@ specify the width of the result which is \lstinline+\linewidth+ by default.
result~ width/.store~ in=\l__letgut_result_width_dim,
result~ width=\linewidth,
},
+\end{lstlisting}
+We define more specifically the style of the codes with results.
+\begin{lstlisting}
__letgut_code_result/.style={
__letgut_code={#1},
bicolor,
@@ -2949,21 +3098,337 @@ We now use hooks in order to\ldots{}
}
\end{lstlisting}
+Since the syntax highlighting is reset at each \lstinline+\input+, the \lstinline+ltx-code-*+
+environments above provide syntax highlighting only for the commands of the \TeX
+dialects specified in the class. So we provide a specific command that let us
+specify (the dialects of) the main language (\TeX by default) for which we want
+syntax highlighting. This assumes that the commands and keywords of these
+packages are listed (properly, according to the \lstinline+listings+ package syntax) in
+the `lstlang0.sty` or \lstinline+letgut-lstlang.sty+ files.
+
+\begin{lstlisting}
+\cs_new_protected:Npn \__letgut_tcbset:n #1
+{
+ \tcbset{
+ __letgut_code/.append~ style={
+ listing~ options~ app={
+ #1
+ }
+ }
+ }
+}
+\cs_new_protected:Npn \__letgut_alsolanguage_list:nn #1 #2
+{
+\end{lstlisting}
+To reduce syntax highlighting conflicts, we reset all previous ones each
+time a new one is asked.
+\begin{lstlisting}
+ \lstset{%
+ style=__letgut_reset_listings_styles,%
+ }
+ \tl_if_empty:nTF {#1} {
+ \tl_set:Nx \l_tmpa_tl {
+ alsolanguage={#2}
+ }
+ \exp_args:NV \__letgut_tcbset:n
+ {
+ \l_tmpa_tl
+ }
+ }{
+ \seq_set_from_clist:Nn \l_tmpa_seq {#1}
+ \seq_set_map_x:NNn \l_tmpb_seq \l_tmpa_seq {
+ alsolanguage={[##1]#2}
+ }
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \seq_use:Nn \l_tmpb_seq {,}
+ }
+ \exp_args:NV \__letgut_tcbset:n
+ {
+ \l_tmpa_tl
+ }
+ }
+}
+\NewDocumentCommand{\syntaxhl}{ O{TeX} m}{%
+ \__letgut_alsolanguage_list:nn {#2} {#1}
+}
+\end{lstlisting}
+
+\subsubsection{Terminal listings}
+\label{sec:org14731c9}
+
+We define a command dedicated to terminal stdin and stdout.
+
+\begin{lstlisting}
+\AddToHook{begindocument/before}{
+\end{lstlisting}
+
+We define a listing style specific to these terminal commands.
+
+\begin{lstlisting}
+\definecolor{__letgut_terminal_prompt}{RGB}{204,0,0}
+\colorlet{__letgut_terminal_comment}{gray!80}
+\definecolor{__letgut_terminal_commands}{RGB}{241,124,81}
+\definecolor{__letgut_terminal_keywords}{RGB}{173,127,168}
+\definecolor{__letgut_terminal_variables}{RGB}{114,159,207}
+\colorlet{__letgut_terminal_utilities}{__letgut_terminal_commands}
+\definecolor{__letgut_terminal_strings}{RGB}{78,154,6}
+\end{lstlisting}
+
+\begin{lstlisting}
+\lstdefinestyle{__letgut_terminal_listings_style}{
+ commentstyle= \color{__letgut_terminal_comment},
+ keywordstyle= \color{__letgut_terminal_commands},
+ keywordstyle={[2]\color{__letgut_terminal_keywords}},
+ keywordstyle={[3]\color{__letgut_terminal_utilities}},
+ stringstyle= \color{__letgut_terminal_strings},
+ literate=*%
+ {$}{{\textcolor{__letgut_terminal_variables}{\$}}}{1}%$
+}
+\end{lstlisting}
+
+We define a dialect which is missing in the \package*{listings}.
+
+\begin{lstlisting}
+\lstdefinelanguage{terminal}{%
+ morekeywords={%
+ alias,bg,bind,break,builtin,caller,cd,command,compgen,%
+ complete,compopt,continue,declare,dirs,disown,echo,enable,%
+ eval,exec,exit,export,fc,fg,getopts,hash,help,history,%
+ jobs,kill,let,local,logout,mapfile,popd,printf,pushd,pwd,%
+ read,readarray,readonly,return,set,shift,shopt,source,%
+ suspend,test,times,trap,type,typeset,ulimit,umask,unalias,%
+ unset,wait,%
+ },%
+ morekeywords=[2]{%
+ case,do,done,elif,else,esac,fi,for,function,if,in,select,%
+ then,time,until,while,%
+ },%
+ morekeywords=[3]{%
+ apropos,apt,apt-get,aptitude,aspell,at,awk,base32,base64,%
+ basename,bash,bc,bzip2,cal,cat,cfdisk,chattr,chgrp,%
+ chkconfig,chmod,chown,chpasswd,chroot,cksum,clear,cmp,comm,%
+ cp,cpio,cron,crontab,csplit,curl,cut,date,dc,dd,ddrescue,%
+ df,diff,diff3,dig,dir,dircolors,dirname,dmesg,dos2unix,%
+ dpkg,du,egrep,eject,env,ethtool,expand,expr,false,fdformat,%
+ fdisk,fgrep,file,find,fmt,fold,format,free,fsck,ftp,fuser,%
+ gawk,grep,groupadd,groupdel,groupmod,groups,gzip,head,%
+ hostname,htop,iconv,id,ifconfig,ifdown,ifup,import,install,%
+ iostat,ip,join,killall,less,link,ln,locate,logname,look,%
+ lpc,lpr,lprint,lprintd,lprintq,lprm,ls,lsattr,lsblk,lsof,%
+ lspci,make,man,mkdir,mkfifo,mkfile,mkisofs,mknod,mktemp,%
+ mmv,more,most,mount,mtools,mtr,mv,nc,netstat,nft,nice,nl,%
+ nohup,notify-send,nslookup,op,open,passwd,paste,pathchk,%
+ Perf,pgrep,ping,pkill,pr,printcap,printenv,ps,pv,quota,%
+ quotacheck,ram,rar,rcp,reboot,remsync,rename,renice,rev,rm,%
+ rmdir,rsync,scp,screen,sdiff,sed,seq,sftp,shuf,shutdown,%
+ sleep,slocate,sort,split,ss,ssh,stat,strace,su,sudo,sum,%
+ sync,tail,tar,tee,timeout,tmux,top,touch,tput,tr,%
+ traceroute,true,tsort,tty,umount,uname,unexpand,uniq,units,%
+ unix2dos,unrar,unshar,uptime,useradd,userdel,usermod,users,%
+ uudecode,uuencode,vdir,vi,vmstat,watch,wc,wget,whereis,%
+ which,who,whoami,write,xargs,xdg-open,xxd,xz,yes,zip,%
+ },%
+ alsoletter={2346-},%
+ morecomment=[l]\#,%
+ morestring=[d]",%
+ morestring=[d]',%
+ sensitive%
+}[keywords,comments,strings]%
+\end{lstlisting}
+
+We define some colors used in the terminal listings.
+
+\begin{lstlisting}
+\definecolor{__letgut_foreground_terminal_dark}{named}{black}
+\colorlet{__letgut_background_terminal_dark_stdin}{
+ letgut_pagecolor!95!gray
+}
+\colorlet{__letgut_background_terminal_dark_stdout}{
+ __letgut_background_terminal_dark_stdin!60
+}
+\definecolor{__letgut_foreground_terminal_light}{named}{black}
+\definecolor{__letgut_background_terminal_light_stdin}{rgb}{
+ 0.99,0.975,0.98
+}
+\colorlet{__letgut_background_terminal_light_stdout}{
+ __letgut_background_terminal_light_stdin!40
+}
+\end{lstlisting}
+
+\begin{lstlisting}
+\bool_if:NTF \g__letgut_paper_bool {
+ \colorlet{__letgut_foreground_terminal}{
+ __letgut_foreground_terminal_light
+ }
+ \colorlet{__letgut_background_terminal_stdin}{
+ __letgut_background_terminal_light_stdin
+ }
+ \colorlet{__letgut_background_terminal_stdout}{
+ __letgut_background_terminal_light_stdout
+ }
+}{
+ \colorlet{__letgut_foreground_terminal}{
+ __letgut_foreground_terminal_dark
+ }
+ \colorlet{__letgut_background_terminal_stdin}{
+ __letgut_background_terminal_dark_stdin
+ }
+ \colorlet{__letgut_background_terminal_stdout}{
+ __letgut_background_terminal_dark_stdout
+ }
+}
+\end{lstlisting}
+
+We define the style of the \lstinline+tcolorbox+ in which the terminal stdin and stdout
+will be displayed.
+
+\begin{lstlisting}
+\tcbset{%
+ terminal/.style={%
+ colupper=__letgut_foreground_terminal,
+ collower=__letgut_foreground_terminal,
+ breakable,
+ segmentation~ at~ break=false,
+ boxrule=0mm,
+ before~ lower={\tcbset{every~ listing~ line={}}},
+ listing~ options={%
+ style=__letgut_terminal_listings_style,
+ language=terminal,
+ },
+ every~ listing~ line={%
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
+ },
+ },
+}
+\end{lstlisting}
+
+We define now the command
+
+\begin{lstlisting}
+\cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
+{
+ \bool_set_false:N \l_tmpa_bool
+ \tl_if_empty:nF {#3}{
+ \tcbset{tempfile=\jobname-stdin.tex}
+ \exp_args:Nx \scantokens
+ {
+ \token_to_str:N\begin{tcbwritetemp}
+ #3
+ \token_to_str:N\end{tcbwritetemp}
+ }
+ }
+ \tl_if_empty:nF {#4}{
+ \tcbset{tempfile=\jobname-stdout.tex}
+ \exp_args:Nx \scantokens
+ {
+ \token_to_str:N\begin{tcbwritetemp}
+ #4
+ \token_to_str:N\end{tcbwritetemp}
+ }
+ }
+ \tl_if_empty:nTF {#3}{
+ \tl_if_empty:nTF {#4}{
+ \bool_set_true:N \l_tmpa_bool
+ }{
+ \tcbset{colback=__letgut_background_terminal_stdout}
+ }
+ }{
+ \tcbset{colback=__letgut_background_terminal_stdin}
+ \tl_if_empty:nTF {#4}{
+ }{
+ \tcbset{
+ bicolor,
+ middle=0mm,
+ boxsep=0mm,
+ colbacklower=__letgut_background_terminal_stdout,
+ }
+ }
+ }
+ \bool_if:NF \l_tmpa_bool {
+ \begin{tcolorbox}[terminal={#1},#2]
+ \lstset{aboveskip=0pt}
+ \tl_if_empty:nF {#3}{
+ \tcbset{
+ tempfile=\jobname-stdin.tex,
+ }
+ \tcbusetemplisting
+ \tl_if_empty:nF {#4}{
+ \tcblower
+ }
+ }
+ \tl_if_empty:nF {#4}{
+ \tl_if_empty:nF {#3}{
+ \lstset{aboveskip=0pt}
+ }
+ \tcbset{
+ tempfile=\jobname-stdout.tex,
+ every~ listing~ line={},
+ listing~ options~ app={
+ language={}
+ }
+ }
+ \tcbusetemplisting
+ }
+ \end{tcolorbox}
+ }
+ }
+ \NewDocumentCommand{\terminal}{ O{\$} O{} +v +v}{
+ \__letgut_terminal:nnnn {#1} {#2} {#3} {#4}
+ }
+\end{lstlisting}
+
+We close the \lstinline+\AddToHook{begindocument/before}+ argument.
+
+\begin{lstlisting}
+}
+\end{lstlisting}
+
+\subsubsection{Unicode characters with positions above 256}
+\label{sec:org4b9a54d}
+
+Unicode characters with positions above 256 causes troubles in
+listings. Here is a workaround for some of them (see
+\url{https://tex.stackexchange.com/a/25396}).
+
+\begin{lstlisting}
+\lst@InputCatcodes
+\def\lst@DefEC{%
+ \lst@CCECUse \lst@ProcessLetter
+ ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
+ ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
+ ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
+ ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
+ ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
+ ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
+ ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
+ ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
+ ^^^^201c^^^^201d% for “ and ”
+ ^^^^215b% for ⅛
+ ^^00%
+}
+\lst@RestoreCatcodes
+\end{lstlisting}
+
\subsection{Local config file}
-\label{sec:org562c2a3}
+\label{sec:orgcc0dfe6}
Each issue of the Lettre requires certain local configurations: configuration
dedicated to the issue in question, particular packages used in the articles,
specific configurations of the \package*{listings}, etc. In order to not clutter
the main \file*{.tex} of the Lettre, a local configuration file named
\file{localconf.tex}, if present in the current directory, is automatically
-included at the end of the end of the preamble. And since this file is input in
-the current category régime (\lstinline+\ExplSyntaxOn+), a \lstinline+\ExplSyntaxOff+ is
-automatically inserted at its beginning.
+included at the end the preamble. And since this file is input in the current
+category régime (\lstinline+\ExplSyntaxOn+), a \lstinline+\ExplSyntaxOff+ is automatically inserted
+at its beginning.
\begin{lstlisting}
\file_if_exist:nT {./\c__letgut_local_config_file_tl}{
- \AddToHook { file/before/./\c__letgut_local_config_file_tl } {
+ \AddToHook { file/./\c__letgut_local_config_file_tl/before } {
\ExplSyntaxOff
}
\file_input:n {./\c__letgut_local_config_file_tl}
@@ -2982,7 +3447,7 @@ We don't want the book review entry types to be listed in the bibliography
\end{lstlisting}
\section{(biblatex) Data model}
-\label{sec:org14731c9}
+\label{sec:org7f2c4f3}
We give the (\package{biblatex}) data model that enriches the default one for
several purposes:
@@ -2992,7 +3457,7 @@ several purposes:
\end{itemize}
\begin{lstlisting}
-\ProvidesFile{letgut.lbx}[2022-03-22 v0.9.1 letgut localization]
+\ProvidesFile{letgut.lbx}[2022-06-18 v0.9.2 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},
@@ -3006,7 +3471,7 @@ We create the new bibliography driver \lstinline+bookreview+ (that seems to
create the corresponding new entry).
\begin{lstlisting}
-\ProvidesFile{letgut.dbx}[2022-03-22 v0.9.1 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2022-06-18 v0.9.2 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
@@ -3061,7 +3526,7 @@ create the corresponding new entry).
We provide a specific \lstinline+biblatex+ citation style .
\begin{lstlisting}
-\ProvidesFile{letgut.cbx}[2022-03-22 v0.9.1 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2022-06-18 v0.9.2 letgut base citation style]
\RequireCitationStyle{numeric}
\end{lstlisting}
@@ -3091,12 +3556,14 @@ well\ldots{}
\end{lstlisting}
\section{Provided files}
-\label{sec:org59fbe1b}
+\label{sec:org8352527}
\subsection{Example file of an issue of the newsletter}
-\label{sec:org4b9a54d}
+\label{sec:orgcce26ed}
\begin{lstlisting}
+% Hey, Emacs! This is a -*- mode: latex -*- file!
+
\documentclass{letgut}
\letgutsetup{
@@ -3158,6 +3625,13 @@ well\ldots{}
% % `informations=false`.
%
% , informations=false
+ %
+ % % Lors de la conception d'un numéro de la Lettre,
+ % % il peut être utile d'avoir un plan détaillé au
+ % % maximum de l'ensemble du document. C'est ce que
+ % % permet l'option `detailedtoc`.
+ %
+ % , detailedtoc
}
\setmainfont{TeX Gyre Schola} % Par exemple
@@ -3172,14 +3646,13 @@ well\ldots{}
\end{document}
%%% Local Variables:
-%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:
\end{lstlisting}
\subsection{Example of an editorial}
-\label{sec:orgf79a2c2}
+\label{sec:org1dc0753}
\begin{lstlisting}
Ceci est un intéressant éditorial de la \lettregut{}
@@ -3199,9 +3672,11 @@ de l'association. Il peut aussi y être question du \ctan.
\end{lstlisting}
\subsection{Informations about \gutenberg}
-\label{sec:orgcc0dfe6}
+\label{sec:org7df48b2}
\begin{lstlisting}
+% Hey, Emacs! This is a -*- mode: latex -*- file!
+
\enlargethispage{1.5cm}
\small
\vspace*{-1cm}
@@ -3212,24 +3687,24 @@ de l'association. Il peut aussi y être question du \ctan.
\end{minipage}%
}%
\hfill%
-\begin{minipage}[t]{.4\textwidth}%\vspace{0pt}%
+\begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
\footnotesize\raggedleft%
Association \gut{}\\
15 rue des Halles -- \textsc{bp} 74\\
75001 Paris\\
France\\
- \nolinkurl{secretariat@gutenberg.eu.org}
+ \url{secretariat[at]gutenberg[dot]eu[dot]org}
\end{minipage}%
\begin{description}
-\item[Site internet :] \url{https://www.gutenberg.eu.org/}
-\item[\Cahiers{} :] \url{http://cahiers.gutenberg.eu.org/}
+\item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
+\item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
\item[Problèmes techniques :]
\leavevmode
\begin{description}
\item[la liste \texttt{gut} :]
- \url{https://www.gutenberg.eu.org/-Listes-de-diffusion-}
- \item[le site \TeX nique de questions et réponses :]
+ \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
+ \item[le site \hologo{TeX}nique de questions et réponses :]
\url{https://texnique.fr/}
\item[la foire aux questions :]
\url{https://faq.gutenberg.eu.org}
@@ -3237,9 +3712,9 @@ de l'association. Il peut aussi y être question du \ctan.
\end{description}
%
\alertbox{%
- Cette association est la vôtre: faites-nous part de
+ Cette association est la vôtre : faites-nous part de
vos idées, de vos envies, de vos préoccupations
- à l'adresse \nolinkurl{secretariat@gutenberg.eu.org}.%
+ à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
}
% \section[Association GUTenberg (tout sur l')]
@@ -3262,19 +3737,20 @@ de l'association. Il peut aussi y être question du \ctan.
% confidentielles, merci de le signaler.
\end{itemize}
+\vspace*{-0.7cm}
\section{Tarifs \the\year}
Les membres de \gut\ peuvent adhérer à l'association
internationale, le \acf{tug}, et recevoir son bulletin
-\emph{\acs{tug}boat} à un tarif préférentiel :
+\tugboat{} à un tarif préférentiel :
\begin{description}
-\item[tarif normal :] \EUR{65} (au lieu de 85~\$)
-\item[tarif étudiant :] \EUR{40} (au lieu de 55~\$)
+\item[tarif normal :] 65~€ (au lieu de 85~\$)
+\item[tarif étudiant :] 40~€ (au lieu de 55~\$)
\end{description}
-% (\EUR{49,50}, étudiants et demandeurs d'emploi :
-% \EUR{29}, au lieu de 85\$ et % 65\$). Voir
+% (49~€50}, étudiants et demandeurs d'emploi :
+% 29~€, au lieu de 85\$ et % 65\$). Voir
% \url{%
-% https://www.gutenberg.eu.org/?Adherer-a-l-association%
+% https://www.gutenberg-asso.fr/?Adherer-en-ligne%
% }.
\footnotesize
@@ -3283,13 +3759,13 @@ internationale, le \acf{tug}, et recevoir son bulletin
\toprule
\textbf{Type d'adhésion} & \textbf{Prix} \\
\midrule
- Membre individuel & \EUR{30} \\
- Membre individuel + adhésion \acs{tug} & \EUR{95} \\
- Membre individuel étudiant/demandeur d'emploi & \EUR{15} \\
- Membre individuel étudiant + adhésion \acs{tug} & \EUR{55} \\
- Association d'étudiants & \EUR{65} \\
- Organisme à but non lucratif & \EUR{130} \\
- Organisme à but lucratif & \EUR{229} \\
+ Membre individuel & 30~€ \\
+ Membre individuel + adhésion \acs{tug} & 95~€ \\
+ Membre individuel étudiant/demandeur d'emploi & 15~€ \\
+ Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
+ Association d'étudiants & 65~€ \\
+ Organisme à but non lucratif & 130~€ \\
+ Organisme à but lucratif & 229~€ \\
\bottomrule
\end{tabular}
\end{center}
@@ -3300,7 +3776,7 @@ Les règlements peuvent s'effectuer par :
\begin{itemize}
\item \textbf{virement bancaire}%
\footnote{Nous vous remercions de \textbf{privilégier}
- le \textbf{virement bancaire}.\label{fn:1}} (IBAN :
+ le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
FR76 1870 7000 3003 0191 3568 475)%
\leavevmode
@@ -3309,9 +3785,9 @@ Les règlements peuvent s'effectuer par :
dans les références du virement !%
}
\item Paypal\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg.eu.org/?Adherer-en-ligne}
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
\item bulletin et chèque\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg.eu.org/?Adherer-a-l-association}
+ \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
\end{itemize}
\vfill
@@ -3338,8 +3814,8 @@ Les règlements peuvent s'effectuer par :
Directeur de la publication :
& \person{Bideault, Patrick} \\
Comité de rédaction :
- & {Patrick \bsc{Bideault}, Denis \bsc{Bitouzé}, \\
- Céline \bsc{Chevalier} \& Maxime \bsc{Chupin}} \\
+ & {Patrick Bideault, Denis Bitouzé, \\
+ Céline Chevalier \& Maxime Chupin} \\
Adresse de la rédaction : &
{
Association \gut\\
@@ -3347,15 +3823,3710 @@ Les règlements peuvent s'effectuer par :
75001 Paris
}
\\
- \acs{issn} : & 2742-6149 (version numérique)
+ \acs{issn} : & \letgutissn
\end{tblr}
\end{center}
\vfill
\mbox{}
\clearpage
+\end{lstlisting}
-%%% Local Variables:
-%%% mode: latex
-%%% End:
+\subsection{Acronyms}
+\label{sec:orgd354b5f}
+
+\begin{lstlisting}
+% Hey, Emacs! This is a -*- mode: latex -*- file!
+
+%%%%%%%%%%%%%%%%%%%%%
+% Acronymes anglais %
+%%%%%%%%%%%%%%%%%%%%%
+\letgutacro%
+{CTAN}%
+{\href{https://www.ctan.org/}{Comprehensive \hologo{TeX} Archive
+ Network}}%
+[réseau complet d'archives \hologo{TeX}]
+
+\letgutacro%
+{PDF}%
+{Portable Document Format}%
+[format de document portable]
+
+\letgutacro%
+{URL}%
+{Uniform Resource Locator}%
+[localisateur uniforme de ressource ou, plus clairement, format des
+ adresses du Web]
+
+\letgutacro%
+{ORCID}%
+{Open Researcher and Contributor \textsc{id}}%
+[identifiant ouvert pour chercheur et contributeur]
+
+\letgutacro%[extra-foreign=souvent librement traduit en \enquote{foire
+ %aux questions}]
+{FAQ}%
+{Frequently Asked Questions}%
+[questions fréquemment posées]
+
+\letgutacro%
+{SVG}%
+{Scalable Vector Graphics}%
+[graphiques vectoriels extensibles]
+
+\letgutacro%
+{DNS}%
+{Domain Name System}%
+[système de noms de domaine]
+
+\letgutacro%
+{VPS}%
+{Virtual Private Server}%
+[serveur dédié virtuel]
+
+\letgutacro%
+{LDAP}%
+{Lightweight Directory Access Protocol}%
+[protocole d'accès à répertoire léger, sytème garantissant
+ l'authentification d'utilisateurs de plusieurs services dispersés]
+
+\letgutacro%
+{OTF}%
+{Open Type Format}%
+[]
+
+\letgutacro%
+{DOI}%
+{Digital Object Identifier}%
+[identifiant numérique d'objet]
+
+\letgutacro%
+{ISSN}%
+{International Standard Serial Number}%
+[numéro international normalisé des publications en série]
+
+\letgutacro%
+{TUG}%
+{\hologo{TeX} User Group}%
+[groupe (international) d'utilisateurs de \hologo{TeX}]
+
+\letgutacro%
+{WCAG}%
+{Web Content Accessibility Guidelines}%
+[directives sur l'accessibilité du contenu Web]
+
+\letgutacro%
+{HTML}%
+{HyperText Markup Language}%
+[langage de balises pour l'hypertexte]
+
+\letgutacro%
+{CSS}%
+{Cascading Style Sheets}%
+[feuilles de style en cascade]
+
+\letgutacro%
+{UTF}%
+{Universal (Character Set) Transformation Format}%
+[format de transformation (du jeu) universel (de caractères codés)]
+
+\letgutacro%[short=\emph{Ti\emph{k}Z},short-format=\em,foreign-babel=german,foreign-locale=allemand]
+{TIKZ}%
+{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm}%
+[Ti\emph{k}Z \emph{n'}est \emph{pas} un programme de dessin]
+
+\letgutacro%
+{PGF}%
+{Portable Graphics Format}%
+[format de graphiques portable]
+
+\letgutacro%
+{GPL}%
+{\textsc{gnu} General Public License}%
+[licence publique générale \textsc{gnu}]
+
+\letgutacro%
+{OFL}%
+{SIL Open Font License}%
+[]
+
+\letgutacro%
+{DVI}%
+{DeVice-Independent}%
+[indépendant du type de périphérique]
+
+\letgutacro%
+{PS}%
+{PostScript}%
+[]
+
+\letgutacro%
+{DVIPS}%
+{\acs{dvi}-to-\acs{ps} (translator)}%
+[(convertisseur) \acs{dvi} vers \acs{ps}]
+
+\letgutacro%
+{IPA}%
+{International Phonetic Alphabet}%
+[alphabet phonétique international]
+
+\letgutacro%
+{TIPA}%
+{\hologo{TeX} \acs{ipa} or Tokyo \acs{ipa}}%
+[alphabet phonétique international]
+
+\letgutacro%
+{XML}%
+{eXtensible Markup Language}%
+[langage de balisage extensible]
+
+\letgutacro%
+{APA}%
+{American Psychological Association}%
+[association américaine de psychologie]
+
+\letgutacro%
+{OS}%
+{Operating System}%
+[système d'exploitation]
+
+\letgutacro%
+{BSD}%
+{Berkeley Software Distribution}%
+[collection de logiciels de Berkeley]
+
+\letgutacro%
+{IMAP}%
+{Internet Message Access Protocol}%
+[]
+
+\letgutacro%
+{SMTP}%
+{Simple Mail Transfer Protocol}%
+[protocole simple de transfert de courrier]
+
+\letgutacro%
+{RTF}%
+{Rich Text Format}%
+[format de texte enrichi]
+
+\letgutacro%
+{WYSIWYG}%
+{What You See Is What You Get}%
+[ce que vous voyez est ce que vous obtenez]
+
+\letgutacro%
+{ISO}%
+{\href{https://www.iso.org/home.html}{International Organization for
+ Standardization}}%
+[\href{https://www.iso.org/fr/home.html}{organisation internationale de
+ normalisation}]
+
+\letgutacro%
+{OFF}%
+{Open Font Format}%
+[format de fonte ouvert]
+
+\letgutacro%
+{CSV}%
+{Comma-separated values}%
+[valeurs séparées par des virgules]
+
+\letgutacro%
+{YAML}%
+{\textsc{yaml} Ain’t Markup Language}%
+[\textsc{yaml} n'est pas un langage de balisage (acronyme récursif)]
+
+\letgutacro%
+{UCA}%
+{Unicode Collation Algorithm}%
+[algorithme de tris d'Unicode]
+
+\letgutacro%
+{NFSS}%
+{New Font Selection Scheme}%
+[nouveau schéma de sélection de fonte]
+
+\letgutacro%
+{ASCII}%
+{American Standard Code for Information Interchange}%
+[code américain normalisé pour l'échange d'information]
+
+\letgutacro%
+{TDS}%
+{\TeX{} Directory Structure}%
+[structure de répertoire de \TeX{}]
+
+%%%%%%%%%%%%%%%%%%%%%%
+% Acronymes français %
+%%%%%%%%%%%%%%%%%%%%%%
+\letgutacro%
+{SMAI}%
+{\href{http://smai.emath.fr/}{Société de Mathématiques Appliquées et
+ Industrielles}}%
+
+\letgutacro%
+{AG}%
+{Assemblée Générale}%
+
+\letgutacro%
+{CA}%
+{Conseil d'Administration}%
+
+\letgutacro%
+{SHS}%
+{Sciences Humaines et Sociales}%
+
+\letgutacro%
+{IREM}%
+{\href{https://www.univ-irem.fr/}{Instituts de Recherche sur
+ l'Enseignement des Mathématiques}}%
+
+\letgutacro%
+{MEEF}%
+{Métiers de l'Enseignement, de l'Éducation et de la Formation}%
+
+\letgutacro%
+{ECM}%
+{\href{https://texnique.fr/osqa/faq/\#custom-id-ecm}{Exemple Complet
+ Minimal}}%
+
+\letgutacro%
+{INSPÉ}%
+{\href{https://www.reseau-inspe.fr/}{Instituts Nationaux Supérieurs du
+ Professorat et de l'Éducation}}%
+
+\letgutacro%[short=\textsc{gra}pp\textsc{a},short-format=\upshape]
+{GRAppA}%
+{Groupe de recherche en Apprentissage Automatique}%
+
+\letgutacro%
+{BBB}%
+{BigBlueButton}%
+
+\letgutacro%
+{CV}%
+{Curriculum Vitæ}%
+
+\letgutacro%
+{RGPD}%
+{Règlement Général sur la Protection des Données}%
+
+\letgutacro%
+{NDLR}%
+{Note de la Rédaction}%
+
+\letgutacro%
+{BTS}%
+{Brevet de Technicien Supérieur}%
+
+\letgutacro%
+{APMEP}%
+{Association des Professeurs de Mathématiques de l'Enseignement Public}%
+
+\letgutacro%
+{PAO}%
+{Publication Assistée par Ordinateur}%
+\end{lstlisting}
+
+\subsection{Language driver file}
+\label{sec:orgc985cc3}
+
+\begin{lstlisting}
+ % \lst@definelanguage[...]{TeX}{%
+ % % Control sequences names
+ % moretexcs={%
+ % },%
+ % % Keywords of class 1 : keywords that contain other characters
+ % % (since of the same class as the ones specified as 'otherkeywords')
+ % morekeywords={%
+ % },%
+ % % Keywords of class 2 : environments names
+ % morekeywords=[2]{%
+ % },%
+ % % Keywords of class 3 : mandatory arguments (not environments) &
+ % % optional arguments which are keys (in key=value)
+ % morekeywords=[3]{%
+ % },%
+ % % Keywords of class 4 : values of keys (in key=value)
+ % morekeywords=[4]{%
+ % },%
+ % % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % % syntax)
+ % morekeywords=[5]{%
+ % },%
+ % % Keywords of class 6 : current package name (and possibly derived
+ % % packages)
+ % morekeywords=[6]{%
+ % %
+ % },%
+ % % otherkeywords={},
+ % % alsoletter={},
+ % % alsodigit={},%
+ % % alsoother={},%
+ % sensitive,%
+ % }[keywords,tex,comments%]
+
+ \lst@definelanguage[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,%
+ },%
+ % Keywords of class 1 : keywords 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,%
+ },%
+ % 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,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ letgut%
+ },%
+ % otherkeywords={},%
+ alsoletter={-\ },%
+ % alsodigit={},%
+ alsoother={*},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % LaTeX texcs and keywords that are missing in `listings` driver file
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst@definelanguage[extLaTeX]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Huge,LARGE,Large,LoadClass,NewCommandCopy,RequirePackage,%
+ ShowCommand,abovecaptionskip,abstractname,appendix,appendixname,%
+ arraycolsep,arrayrulewidth,author,backmatter,baselinestretch,%
+ belowcaptionskip,bf,bibindent,bibname,bigskipamount,bottomfraction,%
+ brokenpenalty,cal,chapter,chaptermark,chaptername,clubpenalty,%
+ columnsep,columnseprule,contentsname,date,dblfloatpagefraction,%
+ dblfloatsep,dbltextfloatsep,dbltopfraction,descriptionlabel,%
+ displaywidowpenalty,doublerulesep,evensidemargin,fboxrule,fboxsep,%
+ figurename,floatpagefraction,floatsep,footins,footnoterule,%
+ footnotesep,footnotesize,footskip,frontmatter,headheight,headsep,%
+ huge,indexname,indexspace,interlinepenalty,intextsep,it,jot,%
+ labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,%
+ labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,%
+ labelwidth,large,leftmargin,leftmargini,leftmarginii,leftmarginiii,%
+ leftmarginiv,leftmarginv,leftmarginvi,lineskip,listfigurename,%
+ listoffigures,listoftables,listtablename,mainmatter,maketitle,%
+ marginparpush,marginparsep,marginparwidth,maxdepth,medskipamount,%
+ mit,newblock,normallineskip,normalsize,oddsidemargin,paragraph,%
+ paragraphmark,parindent,parskip,part,partname,partopsep,%
+ postdisplaypenalty,predisplaypenalty,refname,rm,sc,scriptsize,%
+ section,sectionmark,setlength,sf,sl,small,smallskipamount,%
+ subitem,subparagraph,subparagraphmark,subsection,subsectionmark,%
+ subsubitem,subsubsection,subsubsectionmark,tabbingsep,tabcolsep,%
+ tablename,tableofcontents,textfloatsep,textfraction,textheight,%
+ textwidth,thechapter,theenumi,theenumii,theenumiii,theenumiv,%
+ theequation,theparagraph,thepart,thesection,thesubparagraph,%
+ thesubsection,thesubsubsection,tiny,title,today,topfraction,%
+ topmargin,topskip,tt,widowpenalty,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ abstract,array,center,description,displaymath,document,enumerate,%
+ eqnarray,equation,figure,flushleft,flushright,itemize,list,lrbox,math,%
+ minipage,picture,quotation,quote,sloppypar,tabbing,table,tabular,%
+ thebibliography,theindex,titlepage,trivlist,verbatim,verse,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ % c,cc,ccc,cccc,X,l,
+ empty,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },
+ otherkeywords={|},%
+ % alsoletter={},% alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[listings]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
+ lstdefineformat,lstdefinelanguage,lst@definelanguage,lstdefinestyle,%
+ lstindexmacro,lstinline,lstinputlisting,lstlanguagefiles,%
+ lstlgrindeffile,lstlistingname,lstlistingnamestyle,%
+ lstlistlistingname,lstlistoflistings,lstloadlanguages,lstname,%
+ lstnewenvironment,lstset,theHlstnumber,thelstlabel,thelstlisting,%
+ thelstnumber,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ lstlisting,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ 0.21,ABAP,ACM,ACMscript,ACSL,Ada,Algol,Ant,Assembler,Awk,%
+ Basic,C,C++,CIL,Caml,Clean,Cobol,Comal 80,Comsol,Delphi,%
+ Eiffel,Elan,Euphoria,Fortran,GAP,GCL,Gnuplot,Go,HTML,Haskell,%
+ IDL,JVMIS,Java,LLVM,Lingo,Lisp,Logo,Lua,ML,Mathematica,Matlab,%
+ Mercury,MetaPost,Miranda,Mizar,Modula-2,MuPAD,NASTRAN,OCL,%
+ OORexx,Oberon-2,Octave,Oz,PHP,PL/I,POV,PSTricks,Pascal,Perl,%
+ Plasm,PostScript,Prolog,Promela,Python,R,RSL,Reduce,Rexx,Ruby,%
+ S,SAS,SHELXL,SPARQL,SQL,Scala,Scilab,Simula,Swift,TeX,%
+ VBScript,VHDL,VRML,Verilog,XML,XSLT,[03]Fortran,[08]Fortran,%
+ [1.0]Mathematica,[11.0]Mathematica,[11]C++,[1974]Cobol,[1985]Cobol,%
+ [2005]Ada,[3.0]Mathematica,[5.0]Lua,[5.1]Lua,[5.2]Lua,%
+ [5.2]Mathematica,[5.3]Lua,[60]Algol,[67]Simula,[68]Algol,%
+ [77]Fortran,[83]Ada,[90]Fortran,[95]Ada,[95]Fortran,[97]VRML,%
+ [AMS]VHDL,[ANSI]C,[ANSI]C++,[AlLaTeX]TeX,[AspectJ]Java,[Auto]Lisp,%
+ [Borland6]Pascal,[CII]Simula,[CORBA]IDL,[DEC]Simula,[GNU]C++,%
+ [Handel]C,[IBM]Simula,[ISO]C++,[LaTeX]TeX,[Motorola68k]Assembler,%
+ [OMG]OCL,[Objective]C,[Objective]Caml,[PLUS]S,[POSIX]Awk,[R/2
+ 4.3]ABAP,[R/2 5.0]ABAP,[R/3 3.1]ABAP,[R/3 4.6C]ABAP,[R/3 6.10]ABAP,%
+ [Sharp]C,[Standard]Pascal,[VM/XA]Rexx,[Visual]Basic,[Visual]C++,%
+ [WinXP]command.com,[XSC]Pascal,[common]TeX,[decorative]OCL,%
+ [empty]IDL,[empty]Java,[empty]Lisp,[empty]Rexx,[empty]S,%
+ [empty]VHDL,[empty]make,[empty]tcl,[gnu]Awk,[gnu]make,[ibm]Cobol,%
+ [light]Caml,[plain]TeX,[primitive]TeX,[tk]tcl,[x86masm]Assembler,%
+ abovecaptionskip,aboveskip,alsodigit,alsolanguage,alsoletter,%
+ alsoother,backgroundcolor,basewidth,bash,basicstyle,%
+ belowcaptionskip,belowskip,boxpos,breakatwhitespace,breakautoindent,%
+ breakindent,breaklines,caption,captionpos,classoffset,columns,%
+ command.com,comment,comments,commentstyle,consecutivenumbers,csh,%
+ defaultdialect,deletecomment,deletedelim,deletedirectives,%
+ deleteemph,deleteendkeywords,deletehyperref,deleteindex,%
+ deletekeywordcomment,deletekeywords,deleteprocnamekeys,deletestring,%
+ deletetxcs,delim,directives,directivestyle,draft,elisp,emph,%
+ emphstyle,emptylines,erlang,escapebegin,escapechar,escapeend,%
+ escapeinside,extendedchars,fancyvrb,fillcolor,final,firstline,%
+ firstnumber,flexiblecolumns,float,floatplacement,fontadjust,%
+ formats,formfeed,frame,frameround,framerule,framesep,frameshape,%
+ framexbottommargin,framexleftmargin,framexrightmargin,%
+ framextopmargin,fvcmdparams,gobble,hansl,hyper,hyperanchor,%
+ hyperlink,hyperref,identifierstyle,includerangemarker,index,%
+ indexprocnames,indexstyle,inform,inputencoding,inputpath,%
+ keepspaces,keywordcomment,keywordcommentsemicolon,keywords,%
+ keywordsprefix,keywordstyle,ksh,label,language,lastline,lgrind,%
+ lgrindef,linerange,lineskip,linewidth,literate,make,makemacrouse,%
+ markfirstintag,mathescape,morecomment,moredelim,moredirectives,%
+ moreemph,moreendkeywords,morefvcmdparams,morehyperref,moreindex,%
+ morekeywordcomment,morekeywords,moreprocnamekeys,morestring,%
+ moretexcs,multicols,name,ndkeywords,ndkeywordstyle,noaspects,%
+ nolol,numberblanklines,numberbychapter,numberfirstline,numbers,%
+ numbersep,numberstyle,otherkeywords,podcomment,postbreak,prebreak,%
+ print,printpod,procnamekeys,procnames,procnamestyle,%
+ rangebeginprefix,rangebeginsuffix,rangeendprefix,rangeendsuffix,%
+ rangeprefix,rangesuffix,resetmargins,rulecolor,rulesep,%
+ rulesepcolor,savemem,sensitive,%
+ sh,showlines,showspaces,showstringspaces,showtabs,stepnumber,%
+ string,stringstyle,style,tab,tabsize,tag,tagstyle,tcl,texcl,%
+ texcs,texcsstyle,title,upquote,usekeywordsintag,xleftmargin,%
+ xrightmargin,LaTeX,TeX,tex%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ b,c,t,none,left,right,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ listings,%
+ },%
+ % otherkeywords={},%
+ alsoletter={@021.[]},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[xcolor]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ color,pagecolor,definecolor,colorlet,textcolor,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,%
+ lightgray,brown,lime,olive,orange,pink,purple,teal,violet },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xcolor },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[expl3]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ .bool_gset,%
+ ExplFileDate,ExplFileDescription,ExplFileName,ExplFileVersion,%
+ ExplSyntaxOff,ExplSyntaxOn,GetIdInfo,ProvidesExplClass,%
+ ProvidesExplFile,ProvidesExplPackage,bool_case_false,bool_case_true,%
+ bool_const,bool_do_until,bool_do_while,bool_gset,bool_gset_eq,%
+ bool_gset_false,bool_gset_inverse,bool_gset_true,bool_if,%
+ bool_if_exist,bool_if_exist_p,bool_if_p,bool_lazy_all,%
+ bool_lazy_all_p,bool_lazy_and,bool_lazy_and_p,bool_lazy_any,%
+ bool_lazy_any_p,bool_lazy_or,bool_lazy_or_p,bool_log,bool_new,%
+ bool_not_p,bool_set,bool_set_eq,bool_set_false,bool_set_inverse,%
+ bool_set_true,bool_show,bool_to_str,bool_until_do,bool_while_do,%
+ bool_xor,bool_xor_p,box_autosize_to_wd_and_ht,%
+ box_autosize_to_wd_and_ht_plus_dp,box_clear,box_clear_new,box_clip,%
+ box_dp,box_gautosize_to_wd_and_ht,box_gautosize_to_wd_and_ht_plus_dp,%
+ box_gclear,box_gclear_new,box_gclip,box_gresize_to_ht,%
+ box_gresize_to_ht_plus_dp,box_gresize_to_wd,box_gresize_to_wd_and_ht,%
+ box_gresize_to_wd_and_ht_plus_dp,box_grotate,box_gscale,box_gset_dp,%
+ box_gset_eq,box_gset_eq_drop,box_gset_ht,box_gset_to_last,%
+ box_gset_trim,box_gset_viewport,box_gset_wd,box_ht,box_ht_plus_dp,%
+ box_if_empty,box_if_empty_p,box_if_exist,box_if_exist_p,%
+ box_if_horizontal,box_if_horizontal_p,box_if_vertical,%
+ box_if_vertical_p,box_log,box_move_down,box_move_left,%
+ box_move_right,box_move_up,box_new,box_resize_to_ht,%
+ box_resize_to_ht_plus_dp,box_resize_to_wd,box_resize_to_wd_and_ht,%
+ box_resize_to_wd_and_ht_plus_dp,box_rotate,box_scale,box_set_dp,%
+ box_set_eq,box_set_eq_drop,box_set_ht,box_set_to_last,box_set_trim,%
+ box_set_viewport,box_set_wd,box_show,box_use,box_use_drop,box_wd,%
+ c_alignment_token,c_ampersand_str,c_atsign_str,c_backslash_str,%
+ c_catcode_active_space_tl,c_catcode_active_tl,c_catcode_letter_token,%
+ c_catcode_other_space_tl,c_catcode_other_token,c_circumflex_str,%
+ c_code_cctab,c_colon_str,c_document_cctab,c_dollar_str,c_e_fp,%
+ c_empty_box,c_empty_clist,c_empty_coffin,c_empty_prop,c_empty_seq,%
+ c_empty_tl,c_false_bool,c_group_begin_token,c_group_end_token,%
+ c_hash_str,c_inf_fp,c_initex_cctab,c_left_brace_str,c_log_iow,%
+ c_math_subscript_token,c_math_superscript_token,c_math_toggle_token,%
+ c_max_char_int,c_max_dim,c_max_int,c_max_muskip,c_max_register_int,%
+ c_max_skip,c_minus_inf_fp,c_minus_zero_fp,c_nan_fp,c_novalue_tl,%
+ c_one_degree_fp,c_one_fp,c_one_int,c_other_cctab,c_parameter_token,%
+ c_percent_str,c_pi_fp,c_right_brace_str,c_space_tl,c_space_token,%
+ c_str_cctab,c_sys_backend_str,c_sys_day_int,c_sys_engine_exec_str,%
+ c_sys_engine_format_str,c_sys_engine_str,c_sys_engine_version_str,%
+ c_sys_hour_int,c_sys_jobname_str,c_sys_minute_int,c_sys_month_int,%
+ c_sys_output_str,c_sys_platform_str,c_sys_shell_escape_int,%
+ c_sys_year_int,c_term_iow,c_tilde_str,c_true_bool,c_underscore_str,%
+ c_zero_dim,c_zero_fp,c_zero_int,c_zero_muskip,c_zero_skip,%
+ c_zero_str,cctab_begin,cctab_const,cctab_end,cctab_gset,%
+ cctab_if_exist,cctab_if_exist_p,cctab_item,cctab_new,cctab_select,%
+ char_foldcase,char_generate,char_gset_active_eq,char_lowercase,%
+ char_set_active_eq,char_set_catcode,char_set_catcode_active,%
+ char_set_catcode_alignment,char_set_catcode_comment,%
+ char_set_catcode_end_line,char_set_catcode_escape,%
+ char_set_catcode_group_begin,char_set_catcode_group_end,%
+ char_set_catcode_ignore,char_set_catcode_invalid,%
+ char_set_catcode_letter,char_set_catcode_math_subscript,%
+ char_set_catcode_math_superscript,char_set_catcode_math_toggle,%
+ char_set_catcode_other,char_set_catcode_parameter,%
+ char_set_catcode_space,char_set_lccode,char_set_mathcode,%
+ char_set_sfcode,char_set_uccode,char_show_value_catcode,%
+ char_show_value_lccode,char_show_value_mathcode,%
+ char_show_value_sfcode,char_show_value_uccode,char_str_foldcase,%
+ char_str_lowercase,char_str_titlecase,char_str_uppercase,%
+ char_titlecase,char_to_nfd,char_to_utfviii_bytes,char_uppercase,%
+ char_value_catcode,char_value_lccode,char_value_mathcode,%
+ char_value_sfcode,char_value_uccode,clist_clear,clist_clear_new,%
+ clist_concat,clist_const,clist_count,clist_gclear,clist_gclear_new,%
+ clist_gconcat,clist_get,clist_gpop,clist_gpush,clist_gput_left,%
+ clist_gput_right,clist_gremove_all,clist_gremove_duplicates,%
+ clist_greverse,clist_gset,clist_gset_eq,clist_gset_from_seq,%
+ clist_gsort,clist_if_empty,clist_if_empty_p,clist_if_exist,%
+ clist_if_exist_p,clist_if_in,clist_item,clist_log,clist_map_break,%
+ clist_map_function,clist_map_inline,clist_map_tokens,%
+ clist_map_variable,clist_new,clist_pop,clist_push,clist_put_left,%
+ clist_put_right,clist_rand_item,clist_remove_all,%
+ clist_remove_duplicates,clist_reverse,clist_set,clist_set_eq,%
+ clist_set_from_seq,clist_show,clist_sort,clist_use,coffin_attach,%
+ coffin_clear,coffin_display_handles,coffin_dp,coffin_gattach,%
+ coffin_gclear,coffin_gjoin,coffin_gresize,coffin_grotate,%
+ coffin_gscale,coffin_gset_eq,coffin_gset_horizontal_pole,%
+ coffin_gset_vertical_pole,coffin_ht,coffin_if_exist,%
+ coffin_if_exist_p,coffin_join,coffin_log,coffin_log_structure,%
+ coffin_mark_handle,coffin_new,coffin_resize,coffin_rotate,%
+ coffin_scale,coffin_set_eq,coffin_set_horizontal_pole,%
+ coffin_set_vertical_pole,coffin_show,coffin_show_structure,%
+ coffin_typeset,coffin_wd,color_ensure_current,color_export,%
+ color_fill,color_group_begin,color_group_end,color_log,color_math,%
+ color_model_new,color_profile_apply,color_select,color_set,%
+ color_set_eq,color_show,color_stroke,cs_argument_spec,cs,cs_end,%
+ cs_generate_from_arg_count,cs_generate_variant,cs_gset,cs_gset_eq,%
+ cs_gset_nopar,cs_gset_protected,cs_gset_protected_nopar,cs_if_eq,%
+ cs_if_eq_p,cs_if_exist,cs_if_exist_p,cs_if_exist_use,cs_if_free,%
+ cs_if_free_p,cs_log,cs_meaning,cs_new,cs_new_eq,cs_new_nopar,%
+ cs_new_protected,cs_new_protected_nopar,cs_prefix_spec,%
+ cs_replacement_spec,cs_set,cs_set_eq,cs_set_nopar,cs_set_protected,%
+ cs_set_protected_nopar,cs_show,cs_split_function,cs_to_str,%
+ cs_undefine,debug_off,debug_on,debug_resume,debug_suspend,dim_abs,%
+ dim_add,dim_case,dim_compare,dim_compare_p,dim_const,dim_do_until,%
+ dim_do_while,dim_eval,dim_gadd,dim_gset,dim_gset_eq,dim_gsub,%
+ dim_gzero,dim_gzero_new,dim_if_exist,dim_if_exist_p,dim_log,%
+ dim_max,dim_min,dim_new,dim_ratio,dim_set,dim_set_eq,dim_show,%
+ dim_sign,dim_step_function,dim_step_inline,dim_step_variable,%
+ dim_sub,dim_to_decimal,dim_to_decimal_in_bp,dim_to_decimal_in_sp,%
+ dim_to_decimal_in_unit,dim_to_fp,dim_until_do,dim_use,dim_while_do,%
+ dim_zero,dim_zero_new,draw_begin,draw_end,else,exp_after,exp_args,%
+ exp_args_generate,exp_end,exp_end_continue_f,exp_last_two_unbraced,%
+ exp_last_unbraced,exp_not,exp_stop_f,expandafter,expanded,fi,%
+ file_compare_timestamp,file_compare_timestamp_p,file_full_name,%
+ file_get,file_get_full_name,file_get_hex_dump,file_get_mdfive_hash,%
+ file_get_size,file_get_timestamp,file_hex_dump,file_if_exist,%
+ file_if_exist_input,file_input,file_input_stop,file_log_list,%
+ file_mdfive_hash,file_parse_full_name,file_parse_full_name_apply,%
+ file_show_list,file_size,file_timestamp,flag_clear,flag_clear_new,%
+ flag_height,flag_if_exist,flag_if_exist_p,flag_if_raised,%
+ flag_if_raised_p,flag_log,flag_new,flag_raise,flag_raise_if_clear,%
+ flag_show,fp_abs,fp_add,fp_compare,fp_compare_p,fp_const,%
+ fp_do_until,fp_do_while,fp_eval,fp_format,fp_gadd,fp_gset,%
+ fp_gset_eq,fp_gsub,fp_gzero,fp_gzero_new,fp_if_exist,fp_if_exist_p,%
+ fp_if_nan,fp_if_nan_p,fp_log,fp_max,fp_min,fp_new,fp_set,%
+ fp_set_eq,fp_show,fp_sign,fp_step_function,fp_step_inline,%
+ fp_step_variable,fp_sub,fp_to_decimal,fp_to_dim,fp_to_int,%
+ fp_to_scientific,fp_to_tl,fp_trap,fp_until_do,fp_use,fp_while_do,%
+ fp_zero,fp_zero_new,fparray_count,fparray_gset,fparray_gzero,%
+ fparray_item,fparray_item_to_tl,fparray_new,g_file_curr_dir_str,%
+ g_file_curr_ext_str,g_file_curr_name_str,g_msg_module_name_prop,%
+ g_msg_module_type_prop,g_peek_token,g_tmpa_bool,g_tmpa_box,%
+ g_tmpa_clist,g_tmpa_coffin,g_tmpa_dim,g_tmpa_fp,g_tmpa_int,%
+ g_tmpa_ior,g_tmpa_iow,g_tmpa_muskip,g_tmpa_prop,g_tmpa_regex,%
+ g_tmpa_seq,g_tmpa_skip,g_tmpa_str,g_tmpa_tl,g_tmpb_bool,g_tmpb_box,%
+ g_tmpb_clist,g_tmpb_coffin,g_tmpb_dim,g_tmpb_fp,g_tmpb_int,%
+ g_tmpb_ior,g_tmpb_iow,g_tmpb_muskip,g_tmpb_prop,g_tmpb_regex,%
+ g_tmpb_seq,g_tmpb_skip,g_tmpb_str,g_tmpb_tl,group_align_safe_begin,%
+ group_align_safe_end,group_begin,group_end,group_insert_after,%
+ group_log_list,group_show_list,hbox,hbox_gset,hbox_gset_end,%
+ hbox_gset_to_wd,hbox_overlap_center,hbox_overlap_left,%
+ hbox_overlap_right,hbox_set,hbox_set_end,hbox_set_to_wd,hbox_to_wd,%
+ hbox_to_zero,hbox_unpack,hbox_unpack_drop,hcoffin_gset,%
+ hcoffin_gset_end,hcoffin_set,hcoffin_set_end,if,if_bool,%
+ if_box_empty,if_case,if_catcode,if_charcode,if_cs_exist,if_dim,%
+ if_eof,if_false,if_hbox,if_int_compare,if_int_odd,if_meaning,%
+ if_mode_horizontal,if_mode_inner,if_mode_math,if_mode_vertical,%
+ if_predicate,if_true,if_vbox,int_abs,int_add,int_case,int_compare,%
+ int_compare_p,int_const,int_decr,int_div_round,int_div_truncate,%
+ int_do_until,int_do_while,int_eval,int_from_alph,int_from_base,%
+ int_from_bin,int_from_hex,int_from_oct,int_from_roman,int_gadd,%
+ int_gdecr,int_gincr,int_gset,int_gset_eq,int_gsub,int_gzero,%
+ int_gzero_new,int_if_even,int_if_even_p,int_if_exist,int_if_exist_p,%
+ int_if_odd,int_if_odd_p,int_incr,int_log,int_max,int_min,int_mod,%
+ int_new,int_rand,int_set,int_set_eq,int_show,int_sign,%
+ int_step_...,int_step_function,int_step_inline,int_step_variable,%
+ int_sub,int_to_Alph,int_to_Base,int_to_Hex,int_to_Roman,%
+ int_to_alph,int_to_arabic,int_to_base,int_to_bin,int_to_hex,%
+ int_to_oct,int_to_roman,int_to_symbols,int_until_do,int_use,%
+ int_value,int_while_do,int_zero,int_zero_new,%
+ intarray_const_from_clist,intarray_count,intarray_gset,%
+ intarray_gset_rand,intarray_gzero,intarray_item,intarray_log,%
+ intarray_new,intarray_rand_item,intarray_show,intarray_to_clist,%
+ ior_close,ior_get,ior_get_term,ior_if_eof,ior_if_eof_p,ior_log,%
+ ior_log_list,ior_map_break,ior_map_inline,ior_map_variable,ior_new,%
+ ior_open,ior_shell_open,ior_show,ior_show_list,ior_str_get,%
+ ior_str_get_term,ior_str_map_inline,ior_str_map_variable,%
+ iow_allow_break,iow_char,iow_close,iow_indent,iow_log,iow_log_list,%
+ iow_new,iow_newline,iow_now,iow_open,iow_shipout,iow_shipout_x,%
+ iow_show,iow_show_list,iow_term,iow_wrap,keys_define,%
+ keys_if_choice_exist,keys_if_choice_exist_p,keys_if_exist,%
+ keys_if_exist_p,keys_log,keys_set,keys_set_filter,keys_set_groups,%
+ keys_set_known,keys_show,keyval_parse,l_char_active_seq,%
+ l_char_special_seq,l_color_fixed_model_tl,l_color_math_active_tl,%
+ l_file_search_path_seq,l_iow_line_count_int,l_keys_choice_int,%
+ l_keys_choice_tl,l_keys_key_str,l_keys_path_str,%
+ l_keys_usage_load_prop,l_keys_usage_preamble_prop,l_keys_value_tl,%
+ l_my_int,l_peek_token,l_text_accents_tl,l_text_case_exclude_arg_tl,%
+ l_text_expand_exclude_tl,l_text_letterlike_tl,l_text_math_arg_tl,%
+ l_text_math_delims_tl,l_text_titlecase_check_letter_bool,l_tmpa_bool,%
+ l_tmpa_box,l_tmpa_clist,l_tmpa_coffin,l_tmpa_dim,l_tmpa_fp,%
+ l_tmpa_int,l_tmpa_muskip,l_tmpa_prop,l_tmpa_regex,l_tmpa_seq,%
+ l_tmpa_skip,l_tmpa_str,l_tmpa_tl,l_tmpb_bool,l_tmpb_box,%
+ l_tmpb_clist,l_tmpb_coffin,l_tmpb_dim,l_tmpb_fp,l_tmpb_int,%
+ l_tmpb_muskip,l_tmpb_prop,l_tmpb_regex,l_tmpb_seq,l_tmpb_skip,%
+ l_tmpb_str,l_tmpb_tl,legacy_if,legacy_if_gset,legacy_if_gset_false,%
+ legacy_if_gset_true,legacy_if_p,legacy_if_set,legacy_if_set_false,%
+ legacy_if_set_true,lua_escape,lua_now,lua_shipout,lua_shipout_e,%
+ mode_if_horizontal,mode_if_horizontal_p,mode_if_inner,%
+ mode_if_inner_p,mode_if_math,mode_if_math_p,mode_if_vertical,%
+ mode_if_vertical_p,mode_leave_vertical,msg_critical,%
+ msg_critical_text,msg_error,msg_error_text,msg_expandable_error,%
+ msg_fatal,msg_fatal_text,msg_gset,msg_if_exist,msg_if_exist_p,%
+ msg_info,msg_info_text,msg_line_context,msg_line_number,msg_log,%
+ msg_log_eval,msg_module_name,msg_module_type,msg_new,msg_none,%
+ msg_note,msg_redirect_class,msg_redirect_module,msg_redirect_name,%
+ msg_see_documentation_text,msg_set,msg_show,msg_show_eval,%
+ msg_show_item,msg_show_item_unbraced,msg_term,msg_warning,%
+ msg_warning_text,muskip_add,muskip_const,muskip_eval,muskip_gadd,%
+ muskip_gset,muskip_gset_eq,muskip_gsub,muskip_gzero,%
+ muskip_gzero_new,muskip_if_exist,muskip_if_exist_p,muskip_log,%
+ muskip_new,muskip_set,muskip_set_eq,muskip_show,muskip_sub,%
+ muskip_use,muskip_zero,muskip_zero_new,pdf_destination,%
+ pdf_object_if_exist,pdf_object_if_exist_p,pdf_object_new,%
+ pdf_object_ref,pdf_object_ref_last,pdf_object_unnamed_write,%
+ pdf_object_write,pdf_pageobject_ref,pdf_pagobject_ref,pdf_uncompress,%
+ pdf_version,pdf_version_compare,pdf_version_compare_p,%
+ pdf_version_gset,pdf_version_major,pdf_version_min_gset,%
+ pdf_version_minor,peek_N_type,peek_after,peek_analysis_map_break,%
+ peek_analysis_map_inline,peek_catcode,peek_catcode_collect_inline,%
+ peek_catcode_remove,peek_charcode,peek_charcode_collect_inline,%
+ peek_charcode_remove,peek_gafter,peek_meaning,%
+ peek_meaning_collect_inline,peek_meaning_remove,peek_regex,%
+ peek_regex_remove_once,peek_regex_replace_once,peek_remove_filler,%
+ peek_remove_spaces,prg_break,prg_break_point,prg_do_nothing,%
+ prg_generate_conditional_variant,prg_map_break,prg_new_conditional,%
+ prg_new_eq_conditional,prg_new_protected_conditional,prg_replicate,%
+ prg_return_false,prg_return_true,prg_set_conditional,%
+ prg_set_eq_conditional,prg_set_protected_conditional,prop_clear,%
+ prop_clear_new,prop_concat,prop_const_from_keyval,prop_count,%
+ prop_gclear,prop_gclear_new,prop_gconcat,prop_get,prop_gpop,%
+ prop_gput,prop_gput_from_keyval,prop_gput_if_new,prop_gremove,%
+ prop_gset_eq,prop_gset_from_keyval,prop_if_empty,prop_if_empty_p,%
+ prop_if_exist,prop_if_exist_p,prop_if_in,prop_if_in_p,prop_item,%
+ prop_log,prop_map_break,prop_map_function,prop_map_inline,%
+ prop_map_tokens,prop_new,prop_pop,prop_put,prop_put_from_keyval,%
+ prop_put_if_new,prop_rand_key_value,prop_remove,prop_set_eq,%
+ prop_set_from_keyval,prop_show,prop_to_keyval,q_mark,q_nil,%
+ q_no_value,q_recursion_stop,q_recursion_tail,q_stop,quark_if_nil,%
+ quark_if_nil_p,quark_if_no_value,quark_if_no_value_p,%
+ quark_if_recursion_tail_break,quark_if_recursion_tail_stop,%
+ quark_if_recursion_tail_stop_do,quark_new,regex_const,regex_count,%
+ regex_extract_all,regex_extract_once,regex_gset,regex_log,%
+ regex_match,regex_match_case,regex_new,regex_replace,%
+ regex_replace_all,regex_replace_case_all,regex_replace_case_once,%
+ regex_replace_once,regex_set,regex_show,regex_split,reverse_if,%
+ s_stop,scan_new,scan_stop,seq_clear,seq_clear_new,seq_concat,%
+ seq_const_from_clist,seq_count,seq_gclear,seq_gclear_new,%
+ seq_gconcat,seq_get,seq_get_left,seq_get_right,seq_gpop,%
+ seq_gpop_item,seq_gpop_left,seq_gpop_right,seq_gpush,seq_gput_left,%
+ seq_gput_right,seq_gremove_all,seq_gremove_duplicates,seq_greverse,%
+ seq_gset_eq,seq_gset_filter,seq_gset_from_clist,%
+ seq_gset_from_function,seq_gset_from_inline_x,seq_gset_item,%
+ seq_gset_map,seq_gset_map_x,seq_gset_split,%
+ seq_gset_split_keep_spaces,seq_gshuffle,seq_gsort,seq_if_empty,%
+ seq_if_empty_p,seq_if_exist,seq_if_exist_p,seq_if_in,seq_item,%
+ seq_log,seq_map_break,seq_map_function,seq_map_indexed_function,%
+ seq_map_indexed_inline,seq_map_inline,seq_map_tokens,%
+ seq_map_variable,seq_mapthread_function,seq_new,seq_pop,%
+ seq_pop_item,seq_pop_left,seq_pop_right,seq_push,seq_put_left,%
+ seq_put_right,seq_rand_item,seq_remove_all,seq_remove_duplicates,%
+ seq_reverse,seq_set_eq,seq_set_filter,seq_set_from_clist,%
+ seq_set_from_function,seq_set_from_inline_x,seq_set_item,seq_set_map,%
+ seq_set_map_x,seq_set_split,seq_set_split_keep_spaces,seq_show,%
+ seq_shuffle,seq_sort,seq_use,skip_add,skip_const,skip_eval,%
+ skip_gadd,skip_gset,skip_gset_eq,skip_gsub,skip_gzero,%
+ skip_gzero_new,skip_horizontal,skip_if_eq,skip_if_eq_p,%
+ skip_if_exist,skip_if_exist_p,skip_if_finite,skip_if_finite_p,%
+ skip_log,skip_new,skip_set,skip_set_eq,skip_show,skip_sub,%
+ skip_use,skip_vertical,skip_zero,skip_zero_new,sort_return_same,%
+ sort_return_swapped,str_case,str_case_e,str_clear,str_clear_new,%
+ str_compare,str_compare_p,str_concat,str_const,str_convert_pdfname,%
+ str_count,str_count_ignore_spaces,str_count_spaces,str_foldcase,%
+ str_gclear,str_gconcat,str_gput_left,str_gput_right,str_gremove_all,%
+ str_gremove_once,str_greplace_all,str_greplace_once,str_gset,%
+ str_gset_convert,str_gset_eq,str_head,str_head_ignore_spaces,%
+ str_if_empty,str_if_empty_p,str_if_eq,str_if_eq_p,str_if_exist,%
+ str_if_exist_p,str_if_in,str_item,str_item_ignore_spaces,str_log,%
+ str_lowercase,str_map_break,str_map_function,str_map_inline,%
+ str_map_tokens,str_map_variable,str_new,str_put_left,str_put_right,%
+ str_range,str_range_ignore_spaces,str_remove_all,str_remove_once,%
+ str_replace_all,str_replace_once,str_set,str_set_convert,str_set_eq,%
+ str_show,str_tail,str_tail_ignore_spaces,str_uppercase,str_use,%
+ sys_finalise,sys_get_shell,sys_gset_rand_seed,sys_if_engine_luatex,%
+ sys_if_engine_luatex_p,sys_if_engine_pdftex,sys_if_engine_pdftex_p,%
+ sys_if_engine_ptex,sys_if_engine_ptex_p,sys_if_engine_uptex,%
+ sys_if_engine_uptex_p,sys_if_engine_xetex,sys_if_engine_xetex_p,%
+ sys_if_output_dvi,sys_if_output_dvi_p,sys_if_output_pdf,%
+ sys_if_output_pdf_p,sys_if_platform_unix,sys_if_platform_unix_p,%
+ sys_if_platform_windows,sys_if_platform_windows_p,sys_if_rand_exist,%
+ sys_if_rand_exist_p,sys_if_shell,sys_if_shell_p,%
+ sys_if_shell_restricted,sys_if_shell_restricted_p,%
+ sys_if_shell_unrestricted,sys_if_shell_unrestricted_p,%
+ sys_load_backend,sys_load_debug,sys_rand_seed,sys_shell_now,%
+ sys_shell_shipout,sys_timer,text_declare_expand_equivalent,%
+ text_declare_purify_equivalent,text_expand,text_lowercase,%
+ text_purify,text_titlecase,text_titlecase_first,text_uppercase,%
+ tl_analysis_log,tl_analysis_map_inline,tl_analysis_show,%
+ tl_build_begin,tl_build_clear,tl_build_end,tl_build_gbegin,%
+ tl_build_gclear,tl_build_gend,tl_build_get,tl_build_gput_left,%
+ tl_build_gput_right,tl_build_put_left,tl_build_put_right,tl_case,%
+ tl_clear,tl_clear_new,tl_concat,tl_const,tl_count,tl_count_tokens,%
+ tl_gclear,tl_gclear_new,tl_gconcat,tl_gput_left,tl_gput_right,%
+ tl_gremove_all,tl_gremove_once,tl_greplace_all,tl_greplace_once,%
+ tl_greverse,tl_gset,tl_gset_eq,tl_gset_rescan,tl_gsort,%
+ tl_gtrim_spaces,tl_head,tl_if_blank,tl_if_blank_p,tl_if_empty,%
+ tl_if_empty_p,tl_if_eq,tl_if_eq_p,tl_if_exist,tl_if_exist_p,%
+ tl_if_head_eq_catcode,tl_if_head_eq_catcode_p,tl_if_head_eq_charcode,%
+ tl_if_head_eq_charcode_p,tl_if_head_eq_meaning,%
+ tl_if_head_eq_meaning_p,tl_if_head_is_N_type,tl_if_head_is_N_type_p,%
+ tl_if_head_is_group,tl_if_head_is_group_p,tl_if_head_is_space,%
+ tl_if_head_is_space_p,tl_if_in,tl_if_novalue,tl_if_novalue_p,%
+ tl_if_single,tl_if_single_p,tl_if_single_token,tl_if_single_token_p,%
+ tl_item,tl_log,tl_map_break,tl_map_function,tl_map_inline,%
+ tl_map_tokens,tl_map_variable,tl_new,tl_put_left,tl_put_right,%
+ tl_rand_item,tl_range,tl_range_braced,tl_range_unbraced,%
+ tl_remove_all,tl_remove_once,tl_replace_all,tl_replace_once,%
+ tl_rescan,tl_reverse,tl_reverse_items,tl_set,tl_set_eq,%
+ tl_set_rescan,tl_show,tl_sort,tl_tail,tl_to_str,tl_trim_spaces,%
+ tl_trim_spaces_apply,tl_use,token_case_catcode,token_case_charcode,%
+ token_case_meaning,token_if_active,token_if_active_p,%
+ token_if_alignment,token_if_alignment_p,token_if_chardef,%
+ token_if_chardef_p,token_if_cs,token_if_cs_p,token_if_dim_register,%
+ token_if_dim_register_p,token_if_eq_catcode,token_if_eq_catcode_p,%
+ token_if_eq_charcode,token_if_eq_charcode_p,token_if_eq_meaning,%
+ token_if_eq_meaning_p,token_if_expandable,token_if_expandable_p,%
+ token_if_font_selection,token_if_font_selection_p,%
+ token_if_group_begin,token_if_group_begin_p,token_if_group_end,%
+ token_if_group_end_p,token_if_int_register,token_if_int_register_p,%
+ token_if_letter,token_if_letter_p,token_if_long_macro,%
+ token_if_long_macro_p,token_if_macro,token_if_macro_p,%
+ token_if_math_subscript,token_if_math_subscript_p,%
+ token_if_math_superscript,token_if_math_superscript_p,%
+ token_if_math_toggle,token_if_math_toggle_p,token_if_mathchardef,%
+ token_if_mathchardef_p,token_if_muskip_register,%
+ token_if_muskip_register_p,token_if_other,token_if_other_p,%
+ token_if_parameter,token_if_parameter_p,token_if_primitive,%
+ token_if_primitive_p,token_if_protected_long_macro,%
+ token_if_protected_long_macro_p,token_if_protected_macro,%
+ token_if_protected_macro_p,token_if_skip_register,%
+ token_if_skip_register_p,token_if_space,token_if_space_p,%
+ token_if_toks_register,token_if_toks_register_p,token_to_meaning,%
+ token_to_str,unvcopy,use,use_i,use_i_delimit_by_q_nil,%
+ use_i_delimit_by_q_recursion_stop,use_i_delimit_by_q_stop,use_i_ii,%
+ use_ii,use_ii_i,use_iii,use_iv,use_none,use_none_delimit_by_q_nil,%
+ use_none_delimit_by_q_recursion_stop,use_none_delimit_by_q_stop,%
+ use_none_delimit_by_s_stop,vbox,vbox_gset,vbox_gset_end,%
+ vbox_gset_split_to_ht,vbox_gset_to_ht,vbox_gset_top,vbox_set,%
+ vbox_set_end,vbox_set_split_to_ht,vbox_set_to_ht,vbox_set_top,%
+ vbox_to_ht,vbox_to_zero,vbox_top,vbox_unpack,vbox_unpack_drop,%
+ vcoffin_gset,vcoffin_gset_end,vcoffin_set,vcoffin_set_end,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ name,alternative-model,alternative-values,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ cmyk,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ D,N,Nn,NF,NN,Nx,NT,NTF,NNn,NnV,Nnn,Npn,Nnnn,V,c,e,en,f,n,nF,%
+ nn,nT,nnn,nnF,nnV,nTF,nnnn,nNnF,nNnT,nnVV,o,p,v,w,x,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ expl3,%
+ },
+ otherkeywords={:,~},%
+ alsoletter={_-.},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pdftex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfinfo,pdfcatalog,pdfpageattr,pdfpagesattr,pdfpageresources,%
+ pdfcolorstack,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pdftex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[luatex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfextension,ifluatex,directlua,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ colorstack },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ luatex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[dvips]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ color,push,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ dvips,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[xetex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ pdfcolorstack,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xetex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[inputenc]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ latin1 },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ inputenc,%
+ },%
+ % otherkeywords={},%
+ alsoletter={1},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pdfmanagement-testphase]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfmanagement_add,DeclareDocumentMetadata,AddToDocumentProperties,%
+ ShowDocumentProperties,GetDocumentProperties,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{% Keys or optional arguments
+ pdfmanagement-testphase,uncompress,geometry,top-level,backend,Info,%
+ ThisPage,pdfversion,pdfstandard,paper,topic,Title,Rotate,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ dvipdfmx,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ nnn,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pdfmanagement-testphase,%
+ },
+ otherkeywords={:},%
+ alsoletter={_-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[rotating]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ sidewaystable,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ rotating,%
+ },%
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[fontenc]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ T1 },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ fontenc,%
+ },%
+ % otherkeywords={},
+ % alsoletter={1},%
+ alsodigit={1},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[babel]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ foreignlanguage,selectlanguage,iflanguage,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ otherlanguage,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ UKenglish,USenglish,acadian,afrikaans,american,arabic,australian,%
+ austrian,azerbaijani,bahasa,bahasai,basque,bgreek,brazil,%
+ brazilian,breton,british,bulgarian,canadian,canadien,catalan,%
+ croatian,czech,danish,dutch,english,esperanto,estonian,ethiop,%
+ farsi,finnish,francais,french,frenchle,friulan,galician,german,%
+ germanb,greek,hebrew,hindi,ibygreek,icelandic,indon,indonesian,%
+ interlingua,irish,italian,japanese,latin,latvian,lithuanian,%
+ lowersorbian,magyar,malay,melayu (bahasam),mongolian,naustrian,%
+ newzealand,ngerman,norsk,nynorsk,pinyin,polish,polutonikogreek,%
+ portuges,portuguese,romanian,romansh,russian,samin,scottish,%
+ serbian,serbianc,slovak,slovene,spanglish,spanish,swedish,thai,%
+ thaicjk,turkish,turkmen,ukrainian,uppersorbian,vietnamese,%
+ welsh,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ babel,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[babel-french]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ og,fg,up,bsc,ier,iers,iere,ieres,ieme,iemes,primo,secundo,%
+ tertio,quarto,FrenchEnumerate,No,Nos,no,nos,degre,nombre,%
+ frenchabstractname,frenchbibname,frenchrefname,frenchprefacename,%
+ frenchchaptername,frenchappendixname,frenchcontentsname,%
+ frenchlistfigurename,frenchlisttablename,frenchindexname,%
+ frenchglossaryname,frenchfigurename,frenchtablename,frenchpartname,%
+ frenchenclname,frenchccname,frenchheadtoname,frenchpagename,%
+ frenchseename,frenchalsoname,frenchproofname%,%
+ frquote,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ babel-french,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[kantlipsum]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ kant,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ kantlipsum,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hyperxmp]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hyperxmp,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hyperref]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hypersetup,href,phantomsection,pdfstringdefDisableCommands,url,%
+ nolinkurl,hyperbaseurl,hyperimage,hyperdef,hyperref,hyperlink,%
+ hypertarget,hyperget,autoref,autopageref,ref*,pageref*,autoref*,%
+ autopageref*,pdfstringdef,pdfbookmark,currentpdfbookmark,%
+ subpdfbookmark,belowpdfbookmark,texorpdfstring,thispdfpagelabel,%
+ hypercalcbp,nameref,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ allbordercolors,allcolors,anchorcolor,backref,baseurl,bookmarks,%
+ bookmarksnumbered,bookmarksopen,bookmarksopenlevel,bookmarkstype,%
+ breaklinks,CJKbookmarks,citebordercolor,citecolor,colorlinks,debug,%
+ destlabel,draft,driverfallback,dvipdfm,dvipdfmx,dvips,dvipsone,%
+ dviwindo,encap,extension,filebordercolor,filecolor,final,%
+ frenchlinks,hidelinks,hyperfigures,hyperfootnotes,hyperindex,%
+ hypertex,hypertexnames,implicit,latex2html,linkbordercolor,%
+ linkcolor,linktoc,linktocpage,menubordercolor,menucolor,nativepdf,%
+ naturalnames,nesting,next-anchor,pageanchor,pagebackref,pdfauthor,%
+ pdfborder,pdfborderstyle,pdfcenterwindow,pdfcreator,pdfdirection,%
+ pdfdisplaydoctitle,pdfduplex,pdffitwindow,pdfhighlight,pdfinfo,%
+ pdfkeywords,pdflang,pdfmark,pdfmenubar,pdfnewwindow,%
+ pdfnonfullscreenpagemode,pdfnumcopies,pdfpagelabels,pdfpagelayout,%
+ pdfpagemode,pdfpagescrop,pdfpagetransition,pdfpicktraybypdfsize,%
+ pdfprintarea,pdfprintclip,pdfprintpagerange,pdfprintscaling,%
+ pdfproducer,pdfremotestartview,pdfstartpage,pdfstartview,pdfsubject,%
+ pdftex,pdftitle,pdftoolbar,pdftrapped,pdfview,pdfviewarea,%
+ pdfviewclip,pdfwindowui,plainpages,ps2pdf,psdextra,raiselinks,%
+ runbordercolor,runcolor,setpagesize,tex4ht,textures,unicode,%
+ urlbordercolor,urlcolor,verbose,vtex,xetex,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hyperref,%
+ },%
+ % otherkeywords={},%
+ alsoletter={*},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[graphicx]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ includegraphics,includegraphics*,definecolor,color,textcolor,%
+ mathcolor,pagecolor,nopagecolor,colorbox,fcolorbox,rotatebox,%
+ scalebox,reflectbox,resizebox,resizebox*,graphicspath,%
+ DeclareGraphicsExtensions,DeclareGraphicsRule },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ draft,final,hiresbb,demo,setpagesize,nosetpagesize,dvips,xdvi,%
+ dvipdf,dvipdfm,dvipdfmx,xetex,pdftex,luatex,dvisvgm,dvipsone,%
+ dviwindo,emtex,dviwin,oztex,textures,pctexps,pctexwin,pctexhp,%
+ pctex32,truetex,tcidvi,vtex,debugshow,hiderotate,hidescale,alt,%
+ %
+ bb,bbllx,bblly,bburx,bbury,natwidth,natheight,hiresbb,pagebox,%
+ viewport,trim,angle,origin,width,height,totalheight,%
+ keepaspectratio,scale,clip,draft,type,ext,read,command,quiet,%
+ page,interpolate,decodearray,origin,x,y,units,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ mediabox,cropbox,bleedbox,trimbox,artbox,true,false,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ graphicx,%
+ },%
+ % otherkeywords={},%
+ alsoletter={23},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[geometry]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ geometry,newgeometry,restoregeometry,savegeometry,loadgeometry,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ paper,papername,paperwidth,paperheight,papersize,landscape,%
+ portrait,layout,layoutwidth,layoutheight,layoutsize,layouthoffset,%
+ layoutvoffset,layoutoffset,hscale,vscale,scale,width,totalwidth,%
+ height,totalheight,total,textwidth,textheight,text,body,lines,%
+ includehead,includefoot,includeheadfoot,includemp,includeall,%
+ ignorehead,ignorefoot,ignoreheadfoot,ignoremp,ignoreall,%
+ heightrounded,hdivide,vdivide,divide,left,lmargin,inner,right,%
+ rmargin,outer,top,tmargin,bottom,bmargin,hmargin,vmargin,margin,%
+ hmarginratio,vmarginratio,marginratio,ratio,hcentering,vcentering,%
+ centering,twoside,asymmetric,headheight,head,headsep,footskip,%
+ foot,nohead,nofoot,noheadfoot,footnotesep,marginparwidth,%
+ marginparsep,nomarginpar,columnsep,hoffset,voffset,offset,%
+ twocolumn,onecolumn,reversemp,reversemarginpar,verbose,reset,mag,%
+ truedimen,pass,showframe,showcrop,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ a0paper,a1paper,a2paper,a3paper,a4paper,a5paper,a6paper,b0paper,%
+ b1paper,b2paper,b3paper,b4paper,b5paper,b6paper,c0paper,c1paper,%
+ c2paper,c3paper,c4paper,c5paper,c6paper,b0j,b1j,b2j,b3j,b4j,%
+ b5j,b6j,ansiapaper,ansibpaper,ansicpaper,ansidpaper,ansiepaper,%
+ letterpaper,executivepaper,legalpaper,screen,dvips,dvipdfm,pdftex,%
+ luatex,xetex,vtex,dvipdfmx,xdvipdfmx,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ geometry,%
+ },%
+ % otherkeywords={},%
+ alsoletter={0123456},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[newpax]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ newpaxsetup,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ addannots,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ false,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ newpax,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikz]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ usetikzlibrary,draw,node,matrix,fill,foreach,tikz,%
+ },%
+ % Keywords of class 1 : keywords 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,--,-|,|-,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ multiply,lightgray,base,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-| \ },%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikzducks]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ duck,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ alien,aodai,baguette,basket,beard,beret,bill,body,book,%
+ bookcolour,bowtie,bubblecolour,bunny,buttons,cake,cap,cape,%
+ cheese,chef,cocktail,conicalhat,crazyhair,cricket,crown,crozier,%
+ crystalball,darthvader,devil,easter,egga,eggb,eggc,eye,eyebrow,%
+ flavoura,flavourb,flavourc,football,glasses,graduate,grumpy,%
+ handbag,harlequin,hat,head,helmet,hockey,horsetail,icecream,%
+ inear,invisible,jacket,kingcrown,lapel,laughing,lightsaber,%
+ longhair,magichat,magicstars,magicwand,mask,milkshake,mohican,%
+ mullet,name,neckerchief,necklace,niuqelrah,overleaf,parrot,%
+ parting,peakedcap,pickaxe,pizza,prison,queencrown,recedinghair,%
+ ribbon,rollingpin,sailor,santa,sheep,shorthair,shovel,signback,%
+ signcolour,signpost,snowduck,speech,squareglasses,stethoscope,%
+ strawhat,sunglasses,tail,tassel,think,tie,tophat,torch,tshirt,%
+ umbrella,umbrellaclosed,unicorn,vampire,viking,water,wine,wing,%
+ witch,woggle,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ blue,green,red,yellow,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzducks,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikzlings]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ anteater,bear,bee,cat,chicken,coati,elephant,hippo,koala,%
+ marmot,mole,mouse,owl,panda,penguin,pig,rhino,sheep,sloth,%
+ squirrel,snowman,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ 3D,eye,contour,back,globalwarming,whiskers,schroedinger,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzlings,%
+ },%
+ % otherkeywords={},%
+ alsoletter={3},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[amsmath]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ cdots,ddots,vdots,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ pmatrix,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ amsmath,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % xparse
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[xparse]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ NewDocumentCommand,RenewDocumentCommand,ProvideDocumentCommand,%
+ DeclareDocumentCommand,NewDocumentEnvironment,%
+ RenewDocumentEnvironment,ProvideDocumentEnvironment,%
+ DeclareDocumentEnvironment,NewExpandableDocumentCommand,%
+ RenewExpandableDocumentCommand,ProvideExpandableDocumentCommand,%
+ DeclareExpandableDocumentCommand,IfNoValueT,IfNoValueF,IfNoValueTF,%
+ IfValueT,IfValueF,IfValueTF,IfBooleanT,IfBooleanF,IfBooleanTF,%
+ BooleanTrue,BooleanFalse,ProcessedArgument,ReverseBoolean,%
+ SplitArgument,SplitList,ProcessList,TrimSpaces,%
+ GetDocumentCommandArgSpec,GetDocumentEnvironmentArgSpec,%
+ ShowDocumentCommandArgSpec,ShowDocumentEnvironmentArgSpec,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ log-declarations,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xparse,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % colortbl
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[colortbl]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ columncolor,rowcolor,cellcolor,arrayrulecolor,doublerulesepcolor,%
+ minrowclearance,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ colortbl,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % multirow
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[multirow]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ multirow,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ multirow,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % nicematrix
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[nicematrix]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ Cdots,Ddots,Vdots,Body,CodeBefore,CodeAfter,Block,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ pNiceMatrix,NiceMatrix,NiceTabular,bNiceArray,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ hvlines,rules/width,baseline,colortbl-like,margin,right-margin,%
+ create-cell-nodes,rounded-corners,draw,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ nicematrix,%
+ },
+ otherkeywords={&},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % booktabs
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[booktabs]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ toprule,midrule,bottomrule,cmidrule,addlinespace,morecmidrules,%
+ specialrule,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ booktabs,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % strands
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[strands]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ strands,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ strands,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % cartonaugh
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[cartonaugh]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ maxterms,minterms,terms,implicant,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ cartonaugh,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ cartonaugh,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % xistercian
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[xistercian]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ cisterciannum,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ xistercian,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xistercian,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % aboensis
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[aboensis]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ abcursivefamily,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ aboensis,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tabularray
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[tabularray]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ ,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tblr,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ width,colspec,row,bg,fg,font,column,hlines,X,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ odd,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tabularray,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % ninecolors
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[ninecolors]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ NineColors,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ gray1,red1,brown1,yellow1,olive1,green1,teal1,cyan1,azure1,%
+ blue1,violet1,magenta1,purple1,gray2,red2,brown2,yellow2,olive2,%
+ green2,teal2,cyan2,azure2,blue2,violet2,magenta2,purple2,gray3,%
+ red3,brown3,yellow3,olive3,green3,teal3,cyan3,azure3,blue3,%
+ violet3,magenta3,purple3,gray4,red4,brown4,yellow4,olive4,%
+ green4,teal4,cyan4,azure4,blue4,violet4,magenta4,purple4,gray5,%
+ red5,brown5,yellow5,olive5,green5,teal5,cyan5,azure5,blue5,%
+ violet5,magenta5,purple5,gray6,red6,brown6,yellow6,olive6,%
+ green6,teal6,cyan6,azure6,blue6,violet6,magenta6,purple6,gray7,%
+ red7,brown7,yellow7,olive7,green7,teal7,cyan7,azure7,blue7,%
+ violet7,magenta7,purple7,gray8,red8,brown8,yellow8,olive8,%
+ green8,teal8,cyan8,azure8,blue8,violet8,magenta8,purple8,gray9,%
+ red9,brown9,yellow9,olive9,green9,teal9,cyan9,azure9,blue9,%
+ violet9,magenta9,purple9,gray1,red1,brown1,yellow1,olive1,%
+ green1,teal1,cyan1,azure1,blue1,violet1,magenta1,purple1,gray2,%
+ red2,brown2,yellow2,olive2,green2,teal2,cyan2,azure2,blue2,%
+ violet2,magenta2,purple2,gray3,red3,brown3,yellow3,olive3,%
+ green3,teal3,cyan3,azure3,blue3,violet3,magenta3,purple3,gray4,%
+ red4,brown4,yellow4,olive4,green4,teal4,cyan4,azure4,blue4,%
+ violet4,magenta4,purple4,gray5,red5,brown5,yellow5,olive5,%
+ green5,teal5,cyan5,azure5,blue5,violet5,magenta5,purple5,gray6,%
+ red6,brown6,yellow6,olive6,green6,teal6,cyan6,azure6,blue6,%
+ violet6,magenta6,purple6,gray7,red7,brown7,yellow7,olive7,%
+ green7,teal7,cyan7,azure7,blue7,violet7,magenta7,purple7,gray8,%
+ red8,brown8,yellow8,olive8,green8,teal8,cyan8,azure8,blue8,%
+ violet8,magenta8,purple8,gray9,red9,brown9,yellow9,olive9,%
+ green9,teal9,cyan9,azure9,blue9,violet9,magenta9,purple9,%
+ saturation,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ low,medium,high,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ ninecolors,%
+ },%
+ % otherkeywords={},%
+ alsoletter={123456789},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[fontspec]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ EncodingAccent,EncodingCommand,EncodingComposite,%
+ EncodingCompositeCommand,EncodingSymbol,IfFontExistsTF,%
+ IfFontFeatureActiveTF,UndeclareAccent,UndeclareCommand,%
+ UndeclareComposite,UndeclareSymbol,addfontfeature,addfontfeatures,%
+ aliasfontfeature,aliasfontfeatureoption,defaultfontfeatures,fontspec,%
+ liningnums,newAATfeature,newfontface,newfontfamily,newfontfeature,%
+ newfontlanguage,newfontscript,newopentypefeature,oldstylenums,%
+ providefontface,providefontfamily,renewfontface,renewfontfamily,%
+ setboldmathrm,setfontface,setfontfamily,setmainfont,setmathrm,%
+ setmathsf,setmathtt,setmonofont,setromanfont,setsansfont,strong,%
+ strongfontdeclare,strongresetsetmainfont,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Alternate,Annotation,AutoFakeBold,AutoFakeSlant,BoldFeatures,%
+ BoldFont,BoldItalicFeatures,BoldItalicFont,BoldSlantedFeatures,%
+ BoldSlantedFont,BoldSwashFeatures,BoldSwashFont,CJKShape,%
+ 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%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ fontspec%
+ },%
+ % otherkeywords={},%
+ alsoletter={20614-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[ProfCollege]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Thales,Pourcentage,ResolEquation%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ Twitter,Scratch,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Auteur,Logo,Calculer,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ Place,Drapeau,Avancer,Repeter,Tournerg,FinBlocRepeter,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ ProfCollege,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-euclide]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzDefPoint,tkzInterCC,tkzGetPoints,tkzDrawCircles,tkzDrawPolygon,%
+ tkzDrawPoints,tkzMarkSegments,tkzLabelSegments,tkzLabelPoints,%
+ tkzLabelPoints,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ mark,swap,above,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-euclide },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-fct]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzInit,tkzDrawX,tkzDrawY,tkzFct,tkzDefPoint,tkzDrawPoint,%
+ tkzPointShowCoord,tkzDefPoint,tkzDrawPoint,tkzPointShowCoord,%
+ tkzRep,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ xmin,xmax,ymin,ymax,samples,domain,xlabel,ylabel,xscale,yscale%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-fct },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-tab]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzTabInit,tkzTabLine,tkzTabVar,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ lgt,espcl,t,d,z,+,-,-D+/,+/,-/,+D/,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-tab },%
+ % otherkeywords={},%
+ alsoletter={+-/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[mecaso]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ KineticT,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ mecaso },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hanzibox]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hanzibox*,hanziboxset,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ frametype,pinyinline,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ none,true,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hanzibox },%
+ % otherkeywords={},%
+ % alsoletter={},%
+ % alsodigit={},%
+ alsoother={*},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikz-bagua]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Bagua*,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz-bagua },%
+ % otherkeywords={},%
+ % alsoletter={},%
+ % alsodigit={},%
+ alsoother={*},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[bodeplot]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ addBodeZPKPlots },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ BodePlot,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ ylabel,ytick,distance,height,width,magnitude,z,p,k,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ true,black,thick,linear,red,dashed,thick,asymptotic,blue,%
+ dotted,thick,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ bodeplot },%
+ % otherkeywords={},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[formal-grammar]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ highlight,firstcase,gralt,nonterm },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ grammar },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ formal-grammar },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[numerica-plus]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ nmcRecur,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ do,see1,f_,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ numerica-plus },%
+ % otherkeywords={},%
+ alsoletter={_1},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pascaltriangle]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pascal,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pascaltriangle },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pgf-interference]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pgfinterferencepattern,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ slits,wavelength,slit-distance,intensity,ruler,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pgf-interference%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[clistmap]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ ExplSyntaxOn,ExplSyntaxOff,clistmap,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ first_math,serial_rest_math_and,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ nnn,N,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ clistmap },%
+ % otherkeywords={},%
+ alsoletter={_},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hexboard]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hexmove,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ hexgamelabels,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hexboard },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[robotarm]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ robotArm,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ config,q1,q2,q3,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ robotarm },%
+ % otherkeywords={},%
+ alsoletter={123},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[amsfonts]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ mathbb,mathfrak,angle,Box,dasharrow,dashleftarrow,dashrightarrow,%
+ Diamond,hbar,Join,leadsto,lhd,llcorner,lozenge,lrcorner,mho,%
+ rhd,rightleftharpoons,rightsquigarrow,sqsubset,sqsupset,square,%
+ trianglelefteq,trianglerighteq,ulcorner,unlhd,unrhd,urcorner,%
+ vartriangleleft,vartriangleright,widehat{arg},widetilde{arg},yen,%
+ checkmark,circledR,maltese,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ amsfonts },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[biolinum]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ biolinum,biolinumOsF,biolinumLF,biolinumkey,sufigures,textsu,%
+ textsuperior,oldstylenums,liningnums,oldstylenumsf,liningnumsf,%
+ tabularnums,proportionalnums,tabularnumsf,proportionalnumsf,%
+ DeclareTextGlyphY,biolinumGlyph,biolinumKeyGlyph,LKey,LKeyPad,%
+ LKeyF,LKeyAltF,LKeyStrgAltF,LKeyCtrlAltF,LKeyStrgX,LKeyCtrlX,%
+ LKeyShiftX,LKeyAltX,LKeyAltGrX,LKeyShiftStrgX,LKeyShiftCtrlX,%
+ LKeyShiftAltX,LKeyShiftAltGrX,LKeyStrgAltX,LKeyCtrlAltX,%
+ LKeyStrgAltEnt,LKeyCtrlAltEnt,LKeyReset,LKeyTux,LKeyWin,LKeyMenu,%
+ LKeyStrg,LKeyCtrl,LKeyAlt,LKeyAltGr,LKeyShift,LKeyTab,LKeyEnter,%
+ LKeyCapsLock,LKeyPos,LKeyEntf,LKeyEinf,LKeyLeer,LKeyEsc,LKeyEnde,%
+ LKeyCommand,LKeyOptionKey,LKeyBack,LKeyUp,LKeyDown,LKeyLeft,%
+ LKeyRight,LKeyPgUp,LKeyPgDown,LKeyAt,LKeyFn,LKeyHome,LKeyDel,%
+ LKeySpace,LKeyScreenUp,LKeyScreenDown,LKeyIns,LKeyEnd,LKeyGNU,%
+ LKeyPageUp,LKeyPageDown,LMouseEmpty,LMouseN,LMouseL,LMouseM,%
+ LMouseR,LMouseLR,LMouseIIEmpty,LMouseIIN,LMouseIIL,LMouseIIR,%
+ LMouseIILR,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ sfdefault,type1,nofontspec,lining,nf,lf,oldstyle,osf,sflining,%
+ sflf,sfoldstyle,sfosf,osfss,tabular,t,p,sftabular,sft,%
+ sfproportional,sfp,scaled,scale,defaultfeatures,space,uni0020,%
+ exclam,uni0021,quotedbl,uni0022,numbersign,uni0023,dollar,%
+ uni0024,percent,uni0025,ampersand,uni0026,quotesingle,uni0027,%
+ parenleft,uni0028,parenright,uni0029,asterisk,uni002A,plus,%
+ uni002B,comma,uni002C,hyphen,uni002D,period,uni002E,slash,%
+ uni002F,zero,uni0030,one,uni0031,two,uni0032,three,uni0033,%
+ four,uni0034,five,uni0035,six,uni0036,seven,uni0037,eight,%
+ uni0038,nine,uni0039,colon,uni003A,semicolon,uni003B,less,%
+ uni003C,equal,uni003D,greater,uni003E,question,uni003F,at,%
+ bracketleft,uni005B,backslash,uni005C,bracketright,uni005D,%
+ asciicircum,uni005E,underscore,uni005F,grave,uni0060,uni007A,%
+ braceleft,uni007B,bar,uni007C,braceright,uni007D,asciitilde,%
+ uni007E,exclamdown,uni00A1,cent,uni00A2,sterling,uni00A3,%
+ currency,uni00A4,yen,uni00A5,brokenbar,uni00A6,section,uni00A7,%
+ dieresis,uni00A8,guillemotleft,uni00AB,uni00AD,degree,uni00B0,%
+ plusminus,uni00B1,acute,uni00B4,uni00B5,periodcentered,uni00B7,%
+ cedilla,uni00B8,guillemotright,uni00BB,Agrave,uni00C0,Aacute,%
+ uni00C1,Acircumflex,uni00C2,Atilde,uni00C3,Adieresis,uni00C4,%
+ Aring,uni00C5,Ccedilla,uni00C7,Egrave,uni00C8,Eacute,uni00C9,%
+ Ecircumflex,uni00CA,Edieresis,uni00CB,Igrave,uni00CC,Iacute,%
+ uni00CD,Icircumflex,uni00CE,Idieresis,uni00CF,Eth,uni00D0,Ntilde,%
+ uni00D1,Ograve,uni00D2,Oacute,uni00D3,Ocircumflex,uni00D4,Otilde,%
+ uni00D5,Odieresis,uni00D6,multiply,uni00D7,Oslash,uni00D8,Ugrave,%
+ uni00D9,Uacute,uni00DA,Ucircumflex,uni00DB,Udieresis,uni00DC,%
+ Yacute,uni00DD,Thorn,uni00DE,germandbls,uni00DF,agrave,uni00E0,%
+ aacute,uni00E1,acircumflex,uni00E2,atilde,uni00E3,adieresis,%
+ uni00E4,aring,uni00E5,ae,uni00E6,ccedilla,uni00E7,egrave,%
+ uni00E8,eacute,uni00E9,ecircumflex,uni00EA,edieresis,uni00EB,%
+ igrave,uni00EC,iacute,uni00ED,icircumflex,uni00EE,idieresis,%
+ uni00EF,eth,uni00F0,ntilde,uni00F1,ograve,uni00F2,oacute,%
+ uni00F3,ocircumflex,uni00F4,otilde,uni00F5,odieresis,uni00F6,%
+ divide,uni00F7,oslash,uni00F8,ugrave,uni00F9,uacute,uni00FA,%
+ ucircumflex,uni00FB,udieresis,uni00FC,yacute,uni00FD,thorn,%
+ uni00FE,ydieresis,uni00FF,Amacron,uni0100,amacron,uni0101,Abreve,%
+ uni0102,abreve,uni0103,Aogonek,uni0104,aogonek,uni0105,Cacute,%
+ uni0106,cacute,uni0107,Ccircumflex,uni0108,ccircumflex,uni0109,%
+ Cdotaccent,uni010A,cdotaccent,uni010B,Ccaron,uni010C,ccaron,%
+ uni010D,Dcaron,uni010E,dcaron,uni010F,Dcroat,uni0110,dcroat,%
+ uni0111,Emacron,uni0112,emacron,uni0113,Ebreve,uni0114,ebreve,%
+ uni0115,Edotaccent,uni0116,edotaccent,uni0117,Eogonek,uni0118,%
+ eogonek,uni0119,Ecaron,uni011A,ecaron,uni011B,Gcircumflex,%
+ uni011C,gcircumflex,uni011D,Gbreve,uni011E,gbreve,uni011F,%
+ Gdotaccent,uni0120,gdotaccent,uni0121,Gcommaaccent,uni0122,%
+ gcommaaccent,uni0123,Hcircumflex,uni0124,hcircumflex,uni0125,Hbar,%
+ uni0126,hbar,uni0127,Itilde,uni0128,itilde,uni0129,Imacron,%
+ uni012A,imacron,uni012B,Ibreve,uni012C,ibreve,uni012D,Iogonek,%
+ uni012E,iogonek,uni012F,Idotaccent,uni0130,dotlessi,uni0131,IJ,%
+ uni0132,ij,uni0133,Jcircumflex,uni0134,jcircumflex,uni0135,%
+ Kcommaaccent,uni0136,kcommaaccent,uni0137,kgreenlandic,uni0138,%
+ Lacute,uni0139,lacute,uni013A,Lcommaaccent,uni013B,lcommaaccent,%
+ uni013C,Lcaron,uni013D,lcaron,uni013E,Ldot,uni013F,ldot,uni0140,%
+ Lslash,uni0141,lslash,uni0142,Nacute,uni0143,nacute,uni0144,%
+ Ncommaaccent,uni0145,ncommaaccent,uni0146,Ncaron,uni0147,ncaron,%
+ uni0148,napostrophe,uni0149,Omacron,uni014C,omacron,uni014D,%
+ Obreve,uni014E,obreve,uni014F,Ohungarumlaut,uni0150,ohungarumlaut,%
+ uni0151,Racute,uni0154,racute,uni0155,Rcommaaccent,uni0156,%
+ rcommaaccent,uni0157,Rcaron,uni0158,rcaron,uni0159,Sacute,%
+ uni015A,sacute,uni015B,Scircumflex,uni015C,scircumflex,uni015D,%
+ Scedilla,uni015E,scedilla,uni015F,Scaron,uni0160,scaron,uni0161,%
+ Tcedilla,uni0162,tcedilla,uni0163,Tcaron,uni0164,tcaron,uni0165,%
+ Tbar,uni0166,tbar,uni0167,Utilde,uni0168,utilde,uni0169,Umacron,%
+ uni016A,umacron,uni016B,Ubreve,uni016C,ubreve,uni016D,Uring,%
+ uni016E,uring,uni016F,Uhungarumlaut,uni0170,uhungarumlaut,uni0171,%
+ Uogonek,uni0172,uogonek,uni0173,Wcircumflex,uni0174,wcircumflex,%
+ uni0175,Ycircumflex,uni0176,ycircumflex,uni0177,Ydieresis,uni0178,%
+ Zacute,uni0179,zacute,uni017A,Zdotaccent,uni017B,zdotaccent,%
+ uni017C,Zcaron,uni017D,zcaron,uni017E,h.superior,uni02B0,%
+ hhook.superior,uni02B1,j.superior,uni02B2,r.superior,uni02B3,%
+ rturned.superior,uni02B4,rhookturned.superior,uni02B5,%
+ Rsmallinverted.superior,uni02B6,w.superior,uni02B7,y.superior,%
+ uni02B8,uni02B9,uni02BA,uni02BB,afii57929,uni02BC,afii64937,%
+ uni02BD,uni02BE,uni02BF,uni02C0,uni02C1,uni02C2,uni02C3,uni02C4,%
+ uni02C5,circumflex,uni02C6,caron,uni02C7,uni02C8,uni02C9,uni02CA,%
+ uni02CB,uni02CC,uni02CD,uni02CE,uni02CF,uni02D0,uni02D1,uni02D2,%
+ uni02D3,uni02D4,uni02D5,uni02D6,uni02D7,breve,uni02D8,dotaccent,%
+ uni02D9,ring,uni02DA,ogonek,uni02DB,tilde,uni02DC,hungarumlaut,%
+ uni02DD,uni02DE,uni02DF,gammalatin.superior,uni02E0,l.superior,%
+ uni02E1,s.superior,uni02E2,x.superior,uni02E3,%
+ glottalstopreversed.superior,uni02E4,uni02EC,uni02ED,uni02EE,%
+ gravecomb,uni0300,acutecomb,uni0301,uni0302,tildecomb,uni0303,%
+ uni0304,uni0305,uni0306,uni0307,uni0308,hookabovecomb,uni0309,%
+ uni030A,uni030B,uni030C,uni030D,uni030E,uni030F,uni0310,uni0311,%
+ uni0312,uni0313,uni0314,uni0315,uni0316,uni0317,uni0318,uni0319,%
+ uni031A,uni031B,uni031C,uni031D,uni031E,uni031F,uni0320,uni0321,%
+ uni0322,dotbelowcomb,uni0323,uni0324,uni0325,uni0326,uni0327,%
+ uni0328,uni0329,uni032A,uni032B,uni032C,uni032D,uni032E,uni032F,%
+ uni0330,uni0331,uni0338,uni0342,uni0343,uni0351,uni0357,uni0358,%
+ uni0359,uni035A,uni035B,uni035C,uni035D,uni035E,uni035F,uni0360,%
+ uni0361,uni0362,uni0363,uni0374,uni0375,afii57799,uni05B0,%
+ afii57801,uni05B1,afii57800,uni05B2,afii57802,uni05B3,afii57793,%
+ uni05B4,afii57794,uni05B5,afii57795,uni05B6,afii57798,uni05B7,%
+ afii57797,uni05B8,afii57806,uni05B9,uni05BA,afii57796,uni05BB,%
+ afii57807,uni05BC,afii57839,uni05BD,afii57645,uni05BE,afii57841,%
+ uni05BF,afii57842,uni05C0,afii57804,uni05C1,afii57803,uni05C2,%
+ afii57658,uni05C3,uni05C6,afii57664,uni05D0,afii57665,uni05D1,%
+ afii57666,uni05D2,afii57667,uni05D3,afii57668,uni05D4,afii57669,%
+ uni05D5,afii57670,uni05D6,afii57671,uni05D7,afii57672,uni05D8,%
+ afii57673,uni05D9,afii57674,uni05DA,afii57675,uni05DB,afii57676,%
+ uni05DC,afii57677,uni05DD,afii57678,uni05DE,afii57679,uni05DF,%
+ afii57680,uni05E0,afii57681,uni05E1,afii57682,uni05E2,afii57683,%
+ uni05E3,afii57684,uni05E4,afii57685,uni05E5,afii57686,uni05E6,%
+ afii57687,uni05E7,afii57688,uni05E8,afii57689,uni05E9,afii57690,%
+ uni05EA,afii57716,uni05F0,afii57717,uni05F1,afii57718,uni05F2,%
+ arrowleft,uni2190,arrowup,uni2191,arrowright,uni2192,arrowdown,%
+ uni2193,arrowboth,uni2194,arrowupdn,uni2195,uni2196,uni2197,%
+ uni2198,uni2199,uni219A,uni219B,uni21A5,uni21A7,uni21BC,uni21BD,%
+ uni21C0,uni21C1,arrowdblleft,uni21D0,arrowdblup,uni21D1,%
+ arrowdblright,uni21D2,arrowdbldown,uni21D3,arrowdblboth,uni21D4,%
+ uni21D5,Nwarrow,uni21D6,Nearrow,uni21D7,Searrow,uni21D8,Swarrow,%
+ uni21D9,uni2318,uni2325,uni2326,uni2327,uni232B,uni237D,uni2380,%
+ uni2423,filledbox,uni25A0,H22073,uni25A1,triagup,uni25B2,uni25B3,%
+ uni25B6,uni25B7,triagdn,uni25BC,uni25BD,uni25C0,uni25C1,uni25C6,%
+ uni25C7,uni25C9,lozenge,uni25CA,circle,uni25CB,uni25CE,H18533,%
+ uni25CF,uni25D0,uni25D1,uni25D2,uni25D3,uni25D4,uni25D5,uni25D6,%
+ uni25D7,openbullet,uni25E6,uni2605,uni2619,uni261B,uni261E,%
+ uni2627,uni262F,uni2639,uni263A,uni263B,uni263C,uni263D,uni263E,%
+ uni263F,female,uni2640,uni2641,male,uni2642,uni2643,uni2644,%
+ uni2645,uni2646,uni2647,uni2648,uni2649,uni264A,uni264B,uni264C,%
+ uni264D,uni264E,uni264F,uni2650,uni2651,uni2652,uni2653,uni2660,%
+ uni2663,uni2665,uni2666,uni2669,musicalnote,uni266A,%
+ musicalnotedbl,uni266B,uni266C,uni2695,uni2698,uni26A2,uni26A3,%
+ uni26A4,uni26A5,uni26AD,uni2767,uni2776,uni2777,uni2778,uni2779,%
+ uni277A,uni277B,uni277C,uni277D,uni277E,uni277F,T_u_x,uniE000,%
+ uniE104,uniE128,uniE129,uniE12A,uniE130,uniE131,uniE132,uniE133,%
+ uniE134,uniE135,uniE138,uniE139,uniE13A,uniE13C,uniE13D,uniE168,%
+ B_a_c_k,uniE16E,S_t_r_g,uniE170,A_l_t,uniE171,A_l_t_G_r,uniE172,%
+ C_t_r_l,uniE173,S_h_i_f_t,uniE174,T_a_b,uniE175,E_n_t_e_r,%
+ uniE176,C_a_p_s_l_o_c_k,uniE177,F_1,uniE178,F_2,uniE179,F_3,%
+ uniE17A,F_4,uniE17B,F_5,uniE17C,F_6,uniE17D,F_7,uniE17E,F_8,%
+ uniE17F,F_9,uniE180,F_1_0,uniE181,F_1_1,uniE182,F_1_2,uniE183,%
+ F_1_3,uniE184,F_1_4,uniE185,F_1_5,uniE186,F_1_6,uniE187,uniE188,%
+ H_o_m_e,uniE189,D_e_l,uniE18A,I_n_s,uniE18B,uniE18C,E_n_d,%
+ uniE18E,G_N_U,uniE190,P_o_s_1,uniE191,E_n_t_f,uniE192,E_i_n_f,%
+ uniE193,L_e_e_r,uniE194,E_s_c,uniE195,E_n_d_e,uniE196,uniE198,%
+ uniE199,uniE19A,uniE19B,uniE1A0,uniE1A1,uniE1A2,uniE1A3,uniE1A4,%
+ uniE1A5,uniE1A6,uniE1A7,uniE1A8,uniE1A9,uniE1AA,uniE1AB,uniE1AC,%
+ uniE1AD,uniE1AE,uniE1B0,uniE1B1,grave.cap,uniE358,acute.cap,%
+ uniE359,circumflex.cap,uniE35A,caron.cap,uniE35B,breve.cap,%
+ uniE35C,hungarumlaut.cap,uniE35D,space_uni030F.cap,uniE35E,%
+ breveinvertedcmb.cap,uniE35F,breve.cyrcap,uniE360,breve.cyr,%
+ uniE361,dieresis.cap,uniE362,hookabovecomb.cap,uniE363,uniFFFD,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ biolinum },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[biblatex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ cite,Cite,parencite,Parencite,footcite,footcitetext,smartcite,%
+ Smartcite,textcite,Textcite,supercite,cites,Cites,parencites,%
+ Parencites,footcitesfootcitetexts,textcites,Textcites,supercites,%
+ autocite,Autocite,autocite*,Autocite*,autocites,Autocites,%
+ citeauthor,Citeauthor,citetitle,citetitle*,citeyear,citeurl,%
+ parentext,brackettext,nocite,fullcite,footfullcite,volcite,%
+ Volcite,pvolcite,Pvolcite,fvolcite,ftvolcite,tvolcite,Tvolcite,%
+ avolcite,Avolcite,notecite,Notecite,pnotecite,Pnotecite,fnotecite,%
+ citename,citelist,citefield,printbibliography,bibliography,%
+ citedate,ExecuteBibliographyOptions,defbibnote,psq,psqq,%
+ addbibresource,AtNextCite,DeclareNameAlias,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ abstract,addendum,afterword,annotation,annotator,author,%
+ authortype,bookauthor,bookpagination,booksubtitle,booktitle,%
+ booktitleaddon,chapter,commentator,date,doi,edition,editor,%
+ editora,editorb,editorc,editortype,editoratype,editorbtype,%
+ editorctype,eid,eprint,eprintclass,eprinttype,eventdate,%
+ eventtitle,file,foreword,holder,howpublished,indextitle,%
+ institution,introduction,isan,isbn,ismn,isrn,issn,issue,%
+ issuesubtitle,issuetitle,iswc,journalsubtitle,journaltitle,label,%
+ language,library,location,mainsubtitle,maintitle,maintitleaddon,%
+ month,nameaddon,note,number,organization,origdate,origlanguage,%
+ origlocation,origpublisher,origtitle,pages,pagetotal,pagination,%
+ part,publisher,pubstate,reprinttitle,series,shortauthor,%
+ shorteditor,shorthand,shorthandintro,shortjournal,shortseries,%
+ shorttitle,subtitle,title,titleaddon,translator,type,url,urldate,%
+ venue,version,volume,volumes,year,crossref,entryset,entrysubtype,%
+ execute,gender,hyphenation,indexsorttitle,keywords,options,%
+ presort,sortkey,sortname,sorttitle,sortyear,xref,annote,%
+ archiveprefix,journal,key,pdf,primaryclass,school,address,%
+ datamodel,%
+ %
+ backend,style,citestyle,bibstyle,sorting,maxnames,minnames,%
+ maxitems,minitems,backref,abbreviate,firstinits,prenote,postnote,%
+ useprefix,autopunct,giveninits,labelname,given-family,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ submitted,inpress,danish dutch,american,USenglish,english,british,%
+ UKenglish,canadian,australian,newzealand,finnish,french,francais,%
+ canadien,german,ngerman,austrian,naustrian,greek,italian,norsk,%
+ nynorsk,brazil,portuges,spanish,swedish,%
+ %
+ biber,numeric,numeric-comp,numeric-verb,alphabetic,alphabetic-verb,%
+ authoryear,authoryear-comp,authoryear-ibid,authoryear-icomp,%
+ authortitle,authortitle-comp,authortitle-ibid,authortitle-icomp,%
+ authortitle-terse,authortitle-tcomp,authortitle-ticomp,verbose,%
+ verbose-ibid,verbose-note,verbose-inote,verbose-trad1,verbose-trad2,%
+ verbose-trad3,reading,draft,debug,and,inline,footnote,%
+ superscript,plain,nyt,ynt,none,false,true,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ biblatex },%
+ % directives
+ directives={%
+ article,book,inbook,bookinbook,suppbook,booklet,collection,%
+ conference,incollection,suppcollection,manual,misc,online,patent,%
+ periodical,suppperiodical,proceedings,inproceedings,reference,%
+ inreference,report,thesis,unpublished,masterthesis,phdthesis,%
+ string,comment,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ delim=*[directive]@,sensitive=false,%
+ }[keywords,directives,tex,comments]%
+
+ \lst@definelanguage[lthooks]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ AddToHook,BeforeBeginEnvironment,AtBeginEnvironment,AtEndEnvironment,%
+ AfterEndEnvironment,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ % begin,end,
+ before,after,begindocument,begindocument/before,%
+ begindocument/end,enddocument,enddocument/afterlastpage,%
+ enddocument/afteraux,enddocument/info,enddocument/end,env,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ lthooks },%
+ % otherkeywords={},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[l3keys2e]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ ProcessKeysOptions,ProcessKeysPackageOptions,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ l3keys2e },%
+ % otherkeywords={},%
+ alsoletter={23},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[varioref]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ vref,vpageref,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ varioref },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hologo]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hologo },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=va ,lue)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hologo%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[acro]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Ac,Aca,Acap,Acf,Acfp,Acl,Aclp,Acp,AcroAcronymsMap,AcroAddRow,%
+ AcroMapBreak,AcroNeedPackage,AcroPropertiesMap,AcroPropertiesSet,%
+ AcroRerun,AcroStyle,AcroTemplateName,AcroTemplateType,AcronymID,%
+ AcronymTable,Acs,Acsp,BeginAccSupp,Dacs,DeclareAcroArticle,%
+ DeclareAcroEnding,DeclareAcroPreset,DeclareAcroProperty,%
+ DeclareAcroPropertyAlias,DeclareAcroTranslation,DeclareAcronym,Iac,%
+ Iaca,Iacf,Iacl,Iacs,MakeAcroPropertyAlias,NewAcroCommand,%
+ NewAcroPreset,NewAcroTemplate,RenewAcroCommand,RenewAcroPreset,%
+ RenewAcroTemplate,SetupAcroTemplate,SetupNextAcroTemplate,%
+ UseAcroTemplate,abbrdot,ac,aca,acap,acbarrier,acdot,acf,acfg,%
+ acflike,acfootnote,acfp,acg,aciftrailing,acl,aclg,aclp,acp,%
+ acreset,acresetall,acrocite,acrodefinite,acrodonotuse,acrodotfill,%
+ acroendfootnote,acroformat,acrofull,acrogroupcite,acroheading,%
+ acroifT,acroifTF,acroifallTF,acroifanyT,acroifanyTF,%
+ acroifbooleanTF,acroifchapterF add,acroifchapterTF,acroiffirstT,%
+ acroiffirstTF addchap,acroifpagesTF,acroifsingleTF,acroifstarredTF,%
+ acroiftagTF,acroifusedTF,acroindefinite,acrolistname,acroneedpages,%
+ acronopagerange,acronymsmap,acronymsmapF,acronymsmapTF,acropagefill,%
+ acropages,acroplural,acropossessive,acropreamble,acroshow,%
+ acrotranslate,acroupper,acrowrite,acs,acsetup,acsp,acspace,%
+ acswitchoff,acswitchon,acuse,dacs,declareAcronym,iac,iaca,iacf,%
+ iacl,iacs,iacsg,printacronyms,%
+ %
+ acro_locale,acro_if_foreign,acro_if_locale,__acro_foreign_language,%
+ acro_property_get,acro_property_if_set,acro_property_get,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ activate,addsec,addsec*,all,alt,alt,alt-acc,alt-format,%
+ alt-indefinite,alt-plural,alt-plural-form,barriers,before-citation,%
+ caption,%
+ case-insensitive,%case-sensitive,%chapter,chapter*,cite,clear,cmd,%
+ deactivate,define,description,disable,display,exclude,extra,%
+ extra-acc,extra-foreign,extra-format,extra-long,fill,first,%
+ first-long,first-long-format,first-style,first-style ,floats,%
+ footnote,foreign,foreign,foreign-acc,foreign-babel,foreign-format ,%
+ foreign-locale,foreign-plural,foreign-plural-form,format,format,%
+ group,heading,id,include,index,index,index-cmd,index-sort,%
+ language,link-only-first,list,list,list-acc,list-format,%
+ list/display,lists,load-style,local,locale,lof,long,long,%
+ long-acc,long-format,long-indefinite,long-plural,long-plural-ending,%
+ long-plural-form,long-post,long-short,longtable,longtabu,lppl,%
+ ltxtable,make-links,maketitle,method,name,no-index,none,options,%
+ pages,pdf,pdf,pdfcomment,pdfcomment/cmd,pdfcomment/use,pdfstring,%
+ post,pre,preamble,preset,replace,reset,section,section*,short,%
+ short,short,short-acc,short-format,short-indefinite,short-long,%
+ short-plural,short-plural-ending,short-plural-form ,show,single,%
+ single,single,single-acc threshold,single-format
+ title,single-style,%
+ single-style,sort,sort,subsequent-style,subsequent-style,%
+ supertabular,tabular,tabularx,tag,upgrade,use,use-id-as-short,%
+ uselist,version,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ acro%
+ },%
+ % otherkeywords={},%
+ alsoletter={-_},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[csquotes]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ enquote,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ displayquote,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ csquotes%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tcolorbox
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[tcolorbox]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ tcbuselibrary,newtcbtheorem,tcbset%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ %
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ absquote,boxarraystore,dispExample,dispExample*,dispListing,%
+ dispListing*,docCommand,docCommand*,docCommands,docEnvironment,%
+ docEnvironment*,docEnvironments,docKey,docKey*,docKeys,%
+ docPathOperation,docPathOperation*,docPathOperations,extcolorbox,%
+ extikzpicture,fooauxenv,foocolorbox,foocolorbox*,posterboxenv,%
+ tcbclipframe,tcbclipinterior,tcbcliptitle,tcbexternal,%
+ tcbinvclipframe,tcbitemize,tcblisting,tcboutputlisting,%
+ tcboxeditemize,tcboxedraster,tcbposter,tcbraster,tcbverbatimwrite,%
+ tcbwritetemp,tcolorbox,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Crefname,IfBooleanF,IfBooleanT,IfBooleanTF,IfNoValueF,IfNoValueT,%
+ IfNoValueTF,IfValueF,IfValueT,IfValueTF,PassOptionsToClass,%
+ PassOptionsToPackage,above*,above,actual,adapt,add,adjust,%
+ adjusted,after,alert,alerted,algorithm,align*,align,all,ams,%
+ and,angular,annotate,app,arara,arc,array,as,at,attach,auto,%
+ autoparskip,balanced,base,basedim,baseline,beamer,bean,before,%
+ beforeafter,% begin,
+ below,between,biber,bibtex,bicolor,blank,%
+ blanker,blankest,blend,body,bold,bookmark*,bookmark,borderline,%
+ both,bottom*,bottom,bottomrule,bottomsep,bottomtitle,bounding,%
+ box,boxed,boxes,boxrule,boxsep,break*,break,breakable,broken,%
+ by,caption,capture,center,check,circular,clear,clip,code,%
+ colback,colbacklower,colbacktitle,colframe,collower,colon,color,%
+ colorize,colors,colspacing,coltext,coltitle,column*,column,%
+ columns,colupper,command,comment,compilable,compiler,compress,%
+ content,corner,corners,counter*,counter,counters,coverage,%
+ crefname,current,curved,dash,default,definition,delimiters,%
+ description,detach,directory,do,doc,docexample,documentation,%
+ downwards,draft,draftmode,draw,drop,dvips,east,empty,% end,
+ %
+ enforce,engine,english,enhanced,enlarge,enlargement,enlargepage,%
+ entry,environment,environments,equal,equation*,equation,error,%
+ even,every,example!,example,extend,extension,external,%
+ externalize,extras,extrude,fade,fading,file,fill,filled,finally,%
+ finish,first,fit,fitting,fixed,flexible,flip,float*,float,%
+ floatplacement,flush,flushleft,flushright,font,fontlower,fontsize,%
+ fonttitle,fontupper,for,force,format,formatter,frame,freelance,%
+ freelancefirst,freelancelast,freelancemiddle,freestyle,freeze,from,%
+ full,fuzzy,gap,gather*,gather,geometry,german,goal,graphical,%
+ graphics,group,grow,halign,halo,hanging,hbox,head,height,%
+ hidden,hide,higher,highlight,hooks,horizontal,hyperlink,hyperref,%
+ hypertarget,hyperurl*,hyperurl,hyphenationfix,if,ignore,image,in,%
+ indent,index*,index,inherit,initially,input,inputencoding,inside,%
+ interior,into,invisible,inwards,is,jigsaw,jpg,key,keypath,keys,%
+ keywords,label,language,large,last,latex,layer,layers,left*,%
+ left,lefthand,leftlower,leftright,leftrule,lefttitle,leftupper,%
+ length,lengths,level,lifted,limit,line*,line,lines,list,%
+ listing!,listing,listings,listingsutf,lower*,lower,lowerbox,%
+ lowered,lualatex,m,macros,magazine,makeindex,many,marginnote,%
+ marker,math,maxfontdiff,maxfontdiffgap,maxstep,maxwidthdiff,%
+ maxwidthdiffgap,method,midday,middle,minimum,minipage,minted,%
+ most,move,multicolumn,multirow,n,name,nameref,natural,new,%
+ nirvana,no,nobeforeafter,nobreak,node,nodes,nodisplayskip,%
+ nofloat,none,noparskip,nophantom,north,northeast,northwest,not,%
+ notitle,number,octogon,odd,of,offset,on,oneside*,oneside,only,%
+ opacity,opacityback,opacitybacklower,opacitybacktitle,opacityfill,%
+ opacityframe,opacitylower,opacitytext,opacitytitle,opacityupper,%
+ option,options,or,orientation,out,outer,outside,outwards,over,%
+ overlay,overlays,oversize,overzoom,pad,page*,page,pages,%
+ pageshort,parameter,parbox,parenthesis,parfillskip,parskip,path,%
+ paths,pdf,pdflatex,percent,phantom,phantomlabel,placeholder,%
+ plain,plus,png,poster,pre,preamble,preclass,prefix,process,%
+ pspdf,quote,raise,raised,raster,ratio,record,recording,remake,%
+ remember,remove,reset,restore,right*,right,righthand,rightlower,%
+ rightrule,righttitle,rightupper,rotate,rounded,row,rows,%
+ rowspacing,rowspan,run,runner,runs,safety,savedelimiter,%
+ savelowerto,saveto,scale,scope,segmentation,semi,separated,%
+ separator,sequence,settings,shade,shading,shadow,sharp,sharpish,%
+ shield,show,showframe,shrink,side,sidebyside,sidewards,sign,%
+ size,skin,skins,skip,small,smart,sort,source,south,southeast,%
+ southwest,space,spacing,span,spartan,split,spread,square,%
+ squeezed,stack,standard,step,store,stretch,style,subskin,%
+ subtitle,supplement,switch,system,tabulars*,tabulars,tabularx*,%
+ tabularx,tcbimage,tcbox,preamble tcbset,tempfile,terminator,text,%
+ theorem,theorems,tight,tikz,tikznode,tile,title*,title,titlebox,%
+ titled,titlerule,to,toggle,top*,top,toprule,topsep,toptitle,%
+ type,unbreakable,unbroken,underlay,updated,upper*,upper,upperbox,%
+ upwards*,upwards,use,utf,valign,value,values,varwidth,verbatim,%
+ vertical,vfill,vignette,visible,void,warning,watermark,west,%
+ widget,width,with,within,xelatex,xmax,xmin,xparse,xshift,ymax,%
+ ymin,yshift*,yshift,yshifttext,zoom,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ all,and,apart,areasize*,areasize,as-is,auto,base,baselineskip,%
+ beamer,beamerfirst,beamerlast,beamermiddle,bicolor,bicolorfirst,%
+ bicolorlast,bicolormiddle,both,bottom,break,broken,center,change,%
+ clipped,colon,copy,dash,direct,doc,downhill,draft,east,empty,%
+ emptyfirst,emptylast,emptymiddle,enhanced,enhancedfirst,%
+ enhancedlast,enhancedmiddle,evenpage,false,fbox,figures,final,%
+ first,fitbox,flush,fontsize*,fontsize,forced,freelance,%
+ freelancefirst,freelancelast,freelancemiddle,hang,hbox,hybrid*,%
+ hybrid,ignored,invisible,jigsaw,justify,landscape*,landscape,%
+ last,left,limited,listings,margin,maximum,middle,minimal,%
+ minimum,minipage,minted,none,normal,north,northeast,northwest,%
+ off,on,path,pathfirst,pathfirstjigsaw,pathjigsaw,pathlast,%
+ pathlastjigsaw,pathmiddle,pathmiddlejigsaw,pgf,pgfchapter,%
+ pgfsection,plain,portrait*,portrait,right,rows,scale*,scale,%
+ seam,small,south,southeast,southwest,spartan,squeeze,standard,%
+ tables,tight,tile,tilefirst,tilelast,tilemiddle,title,top,true,%
+ unbroken,unlimited,uphill,visible,west,widget,widgetfirst,%
+ widgetlast,widgetmiddle,red,black,white,none,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tcolorbox%
+ },%
+ % otherkeywords={},%
+ alsoletter={ \ },%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Classes (La)TeX
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[classes]{TeX}{%
+ % Control sequences
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as
+ % 'otherkeywords')
+ morekeywords={%
+ %
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments)
+ % & optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after “:”
+ % in expl3 syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly
+ % derived packages)
+ morekeywords=[6]{%
+ a0poster,aalok,aastex631,abntex2,achemso,acmart,acmconf,
+ active-conf,adfathesis,afparticle,afthesis,aguplus,aiaa-tc,
+ akklecture,akkscript,akktecdoc,akletter,myletter,ametsoc,
+ amsart,amsbook,amsdtx,amsldoc,amsproc,aomart,apa,apa6,
+ apa6e,apa7,arabart,arabbook,arabrep,arabrep1,articleingud,
+ asaetr,ascelike,asmeconf,asmejour,assignment,aucklandthesis,
+ bangorcsthesis,bangorexam,barticle,bbook,bletter,
+ bankstatement,article,book,letter,ltnews,ltxdoc,ltxguide,
+ minimal,proc,report,slides,source2edoc,basque-book,beamer,
+ beamerswitch,beaulivre,beilstein,argetabelle,bewerbung,
+ bgteubner,BHCexam,bitart,bitbook,bjfuthesis,BMSTU-IU8,
+ bookcover,bookest,bookshelf,br-lex,brandeis-dissertation,
+ brandeis-problemset,brandeis-thesis,buctcover,buctthesis,
+ bxjsarticle,bxjsbook,bxjsreport,bxjsslide,cascadilla,cd,
+ cd-cover,articoletteracdp,letteracdp,cesenaexam,cheatsheet,
+ chemmacros-manual,chletter,cje,cnbwp,cnltx-doc,codedoc,
+ colorart,colorbook,combine,cc,ConcProg,confproc,contracard,
+ courseoutline,coursepaper,cquthesis,csbulletin,csbulobalka,
+ csbulv1,ctexart,ctexbeamer,ctexbook,ctexrep,ctxdoc,curve,
+ cv4tw,cweb,idcc,ijdc-v14,ijdc-v9,dinbrief,disser,gost732,
+ dithesis,droit-fr,dtk,dvdcoll,easybook,ebsthesis,agecon,
+ ajae,apecon,ecca,erae,itaxpf,jrurstud,njf,oegatb,pocoec,
+ regstud,worlddev,ecv,einfart,ejpecp,elbioimp,elegantbook,
+ elegantnote,elegantpaper,elpres,cas-dc,cas-sc,elsarticle,
+ elteikthesis,emisa,emulateapj,erdc,eskd,eskdgraph,eskdtab,
+ eskdtext,estcpmm,europasscv,europecv,exam,exam-n,examdesign,
+ exesheet,extarticle,extbook,extletter,extproc,extreport,
+ facsimile,factura,fancyhandout,fancyslides,fbithesis,fcavtex,
+ fdudoc,fduthesis-en,fduthesis,fei,ffslides,fithesis,
+ fithesis2,fithesis3,fithesis4,flacards,flashcards,frletter,
+ g-brief,g-brief2,gaceta,gammas,gatech-thesis,gmdocc,
+ gradstudentresume,grant-afosr,grant-aro,grant-darpa,grant-doe,
+ grant-nih,grant-nrl,grant-nsf,grant-onr,grant,graphpaper,
+ gridslides,gsemthesis,guitartabs,gzt,gztarticle,h2020proposal,
+ hgbarticle,hgbreport,hgbthesis,harnon-cv,hausarbeit-jura,
+ hcart,hcletter,hcreport,hcslides,hecthese,hepthesis,hitec,
+ hithesis,hitreport,hitszthesis,hletter,hpsdiss,fsbispit,
+ huawei,hustthesis,icsv,IEEEconf,IEEEtran,ijmart,ijsra,
+ image-gallery,IMTEKda,inkpaper,invoice-class,iodhbwm,iscram,
+ isov2,isodoc,iwhdp,jacow,jlreq,jmlr,jmlrbook,jnuexam,jpsj2,
+ jura,jurabook,juraovw,juraurtl,kdgcoursetext,kdgmasterthesis,
+ kdpcover,kerntest,kluwer,knittingpattern,scrartcl,scrarticle,
+ scrbook,scrdoc,scrletter,scrlttr2,scrreport,scrreprt,komacv,
+ oblivoir-utf,oblivoir-xl,oblivoir,xoblivoir,ksp-thesis,l3doc,
+ labbook,leadsheet,leaflet,lebhart,lectures,letgut,lettre,limap,
+ limecv,lion-msc,lni,lps,lt3graph-packagedoc,ltxdockit,
+ ltxguidex,abstbook,beletter,flashcard,iagproc,cours,fiche,
+ matapli,matc3mem,mcmthesis,ltxmdf,medstarbeamer,meetingmins,
+ memoir,mensa-tex,mentis,metanorma,milog,minimart,minimbook,
+ mla,mluexercise,mnras,moderncv,modernposter,msu-thesis,
+ mucproc,mugsthesis,muling,musuos,muthesis,third-rep,mwart,
+ mwbk,mwrep,mycv,nature,ncc,nccproc,sibjnm,nddiss2e,
+ ndsu-thesis,newlfm,nih,nihbiosketch,njurepo,nlctdoc,nostarch,
+ nrc1,nrc2,artikel1,artikel2,artikel3,boek,boek3,brief,
+ rapport1,rapport3,nwejm,nwejmart,octavo,onrannual,
+ oup-authoring-template,journal,paper,papertex,pbsheet,pecha,
+ petiteannonce,philosophersimprint,pittetd,pkuthss,plari,play,
+ postcards,powerdot,FUpowerdot,ppr-prv,pracjourn,pressrelease,
+ proposal,reporting,dfgproposal,dfgreporting,euproposal,
+ eureporting,prosper,protocol,prtec,upmgr,wkmgr,pst-doc,
+ ptptex,qcm,quantumarticle,qyxf-book,ReadableCV,recipe,
+ RecipeBook,recipecard,refart,refrep,resphilosophica,revtex4-2,
+ revtex4,revtex4-1,rtklage,ryersonSGSThesis,ryethesis,sageep,
+ sapthesis,schuleab,schulein,schuleit,schulekl,schuleub,
+ schuleue,schullsg,schullzk,schulma-ab,schulma-gutachten,
+ schulma-klausur,schulma-komp,schulma-mdlprf,schulma-praes,
+ schwalbe,sciposter,screenplay,scrjrnl,sdapsclassic,sduthesis,
+ seminar,semproc,sesamanuel,seuthesix,sffms,cassete,etiketka,
+ shtthesis,caesar_book,sides,simplecv,simplivre,skbarticle,
+ skbbeamer,skbbook,skblncsbeamer,skblncsppt,skbmoderncv,skdoc,
+ skeyval-testclass,skrapport,smfart,smfbook,SPhdThesis,spie,
+ sr-vorl,sslides,stage,standalone,usthesis,hwexam,mikoslides,
+ omdoc,smglom,subfiles,suftesi,sugconf,tabriz-thesis,talk,
+ tcldoc,tclldoc,powersem,thesis-ekf,thesis-gwu,thuthesis,
+ tikz-kalender,tikzposter,tlc-article,TOPletter,toptesi,
+ tudabeamer,tudaexercise,tudaleaflet,tudaletter,tudaposter,
+ tudapub,tudasciposter,tudscrartcl,tudscrbook,tudscrdoc,
+ tudscrmanual,tudscrposter,tudscrreprt,tufte-book,tufte-handout,
+ ltugboat,ltugproc,tui,turabian,turabian-researchpaper,
+ turabian-thesis,my-thesis,ua-thesis,uafthesis,
+ uantwerpenbamathesis,uantwerpencoursetext,uantwerpenexam,
+ uantwerpenletter,uantwerpenphdthesis,uantwerpenreport,
+ ucalgmthesis,ucbthesis,ucdavisthesis,ucsmonograph,ucthesis,
+ udesoftec,uebungsblatt,uestcthesis,uhhassignment,uiucredborder,
+ uiucthesis,ulthese,legislation,umich-thesis,umthesis,
+ unam-thesis,unifith,unitn-bimrep,univie-ling-expose,
+ univie-ling-paper,univie-ling-thesis,univie-ling-wlg,
+ unizgklasa,uothesis,UoWthesis,upmethodology-document,URbeamer,
+ URletter,uspatent,ut-thesis,utexasthesis,uwmslide,uwthesis,
+ verifica,webquiz,willowtreebook,withargs-packagedoc,
+ wsemclassic,xduthesis,xebaposter,xmuthesis,xsim-manual,
+ yaletter,yathesis,ycbook,ydoc,york-thesis,
+ },%
+ % otherkeywords={},%
+ alsoletter={0123456789-},%
+ % alsodigit={},%
+ sensitive%
+ }[keywords,tex,comments]%
\end{lstlisting}
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf b/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
index e0d2740a0bc..7ba16a98b78 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
+++ b/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/lualatex/letgut/letgut.tex b/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
index f782959e7c8..ba120729101 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
+++ b/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
@@ -15,27 +15,6 @@
% ,final
}
-\lstset{
- language=TeX,%
- alsolanguage=[geometry]TeX,%
- alsolanguage=[LaTeX]TeX,%
- alsolanguage=[plain]TeX,%
- alsolanguage=[common]TeX,%
- alsolanguage=[primitive]TeX,%
- alsolanguage=[xcolor]TeX,%
- alsolanguage=[listings]TeX,%
- alsolanguage=[biblatex]TeX,%
- alsolanguage=[hyperref]TeX,%
- alsolanguage=[extLaTeX]TeX,%
- alsolanguage=[letgut]TeX,%
- alsolanguage=[hologo]TeX,%
- alsolanguage=[acro]TeX,%
- alsolanguage=[tcolorbox]TeX,%
- alsolanguage=[csquotes]TeX,%
- alsolanguage=[varioref]TeX,%
- alsolanguage=[babel-french]TeX,%
-}
-
% Bibliographie
\addbibresource{letgut.bib}
@@ -88,7 +67,7 @@
}
\author{Association GUTenberg}
\date{%
- Version 0.9.1 en date du \today%
+ Version 0.9.2 en date du \today%
\texorpdfstring{%
\\
\url{https://framagit.org/gutenberg/classe-lettre-gut}%
@@ -101,6 +80,23 @@
% \makeindex[title=Index des concepts,extout=pdx,extin=pnd,columnseprule]
\begin{document}
+\syntaxhl{%
+ LaTeX,%
+ acro,%
+ babel-french,%
+ biblatex,%
+ biolinum,%
+ % classes,%
+ csquotes,%
+ % graphicx,%
+ hologo,%
+ hyperref,%
+ letgut,%
+ listings,%
+ tcolorbox,%
+ varioref,%
+}
+
\title{Introduction}
\label{sec:introduction}
L'association \gutenberg{} publie la \lettregut{}, son bulletin irrégulomestriel,
@@ -144,20 +140,33 @@ risque de perturber une installation de \hologo{(La)TeX} déjà existante.
\section{Options}
\label{sec:options}
-La \letgutcls{} fournit deux types d'\meta{options} :
-
-\begin{description}
-\item[\foreignloc{load-time} :] à spécifier \emph{exclusivement} au chargement
- de la classe, selon la syntaxe usuelle
- ×\documentclass[×\meta{options}×]{letgut}×
-\item[\emph{non} \foreignloc{load-time} :] à spécifier \emph{exclusivement} en
- argument de la commande dédiée \refCom{letgutsetup}.
-\end{description}
+\subsection{Spécification}
+\label{sec:specification}
+
+Les options de la \letgutcls{} peuvent être spécifiées de deux façons :
+\begin{enumerate}
+\item en argument de la commande dédiée \refCom{letgutsetup} ;
+\item à la compilation, au moyen de la commande (à lancer dans un terminal) :
+\begingroup
+\lstset{basicstyle=\ttfamily\small}
+\terminal{lualatex '\PassOptionsToClass{£\meta{options}£}{letgut} \input{£\meta{fichier}£}'}{}
+\endgroup
+\end{enumerate}
+
+\begin{dbwarning}{Options de \letgut{} : pas en argument optionnel
+ de \docAuxCommand{documentclass}}{}
+ On évitera de passer les options de la \letgutcls{} en argument optionnel de
+ la commande \docAuxCommand{documentclass} et ce, de sorte à éviter les
+ conflits d'options avec les différents packages chargés.
+\end{dbwarning}
-\subsection{Options \foreignloc{load-time}}
-\label{sec:fore-time-meta}
+\begin{docCommand}{letgutsetup}{\marg{options}}
+ \index{configuration}%
+ Cette commande permet de spécifier les \meta{options} de la \letgutcls{}.
+\end{docCommand}
-Ces options, au nombre de deux, sont \enquote{contraires} l'une de l'autre.
+\subsection{Liste des options}
+\label{sec:liste-des-options}
\begin{docKeys}
{
@@ -189,16 +198,6 @@ Ces options, au nombre de deux, sont \enquote{contraires} l'une de l'autre.
\end{itemize}
\end{docKeys}
-\subsection{Options non \foreignloc{load-time}}
-\label{sec:emphn-fore-time}
-
-\begin{docCommand}{letgutsetup}{\marg{options}}
- \index{configuration}%
- Cette commande permet de spécifier les \meta{options} \emph{non} \foreignloc{load-time} de la \letgutcls{}.
-\end{docCommand}
-
-Ces \meta{options} sont les suivantes :
-
\begin{docKeys}
{
{
@@ -269,7 +268,7 @@ Ces \meta{options} sont les suivantes :
\begin{itemize}
\item n'est pas employée (les mois et année en cours sont alors
utilisés) ;
- \item est employée sous la forme \refKey*{date}×=×\meta{année}×-×\meta{mois}
+ \item est employée sous la forme \refKey*{date}⅛=⅛\meta{année}⅛-⅛\meta{mois}
où \meta{année} et \meta{mois} doivent être des nombres entiers
positifs. Les garde-fous suivants sont mis en place :
\begin{itemize}
@@ -280,7 +279,7 @@ Ces \meta{options} sont les suivantes :
\end{itemize}
\end{itemize}
\item \enquote{\meta{texte}} si l'option est employée sous la forme
- \refKey*{date}×=×\meta{texte}.
+ \refKey*{date}⅛=⅛\meta{texte}.
\end{itemize}
\end{docKey}
}
@@ -311,19 +310,37 @@ Ces \meta{options} sont les suivantes :
\begin{docKey}{editorial}{}{\valinitdef[\docValue*{true}][\docValue*{true}]}
Cette clé booléenne importe automatiquement en tout début de la \lettre{}
(néanmoins après le titre et le sommaire) le \file*{editorial.tex} contenant
- l'éditorial. Si aucun \file*{editorial.tex} n'est trouvé dans le répertoire
- courant, un avertissement est émis lors de la compilation et une boîte
- d'alerte est affichée en 1\iere{} page.
+ l'éditorial. Si aucun \file*{editorial.tex} n'est trouvé, un avertissement est
+ émis lors de la compilation et une boîte d'alerte est affichée en 1\iere{}
+ page.
\end{docKey}
\begin{docKey}{informations}{}{\valinitdef[\docValue*{true}][\docValue*{true}]}
Cette clé booléenne importe automatiquement en dernière page de la \lettre{}
le \file*{informations-gut.tex} contenant toutes les informations sur
- \gut{}. Si aucun \file*{informations-gut.tex} n'est trouvé dans le
- répertoire courant, un avertissement est émis lors de la compilation et une
- boîte d'alerte est affichée en dernière page.
+ \gut{}. Si aucun \file*{informations-gut.tex} n'est trouvé, un avertissement
+ est émis lors de la compilation et une boîte d'alerte est affichée en dernière
+ 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{}.
+\end{docKey}
+
+\begin{dbremark}{Tables des matières locales}{}
+ Chaque article peut contenir une table des matières locale, affichée au moyen
+ de la commande \docAuxCommand{localtableofcontents} (fournie par le
+ \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⅛).
+\end{dbremark}
+
\section{Titre et titres courants}
\label{sec:titre}
Si la commande \docAuxCommand{title}\marg{titre} est
@@ -344,7 +361,7 @@ Si la commande \docAuxCommand{title}\marg{titre} est
\begin{dbwarning}{\docAuxCommand{title} et \docAuxCommand{author}
$\neq$ avant et après \lstinline+\\begin\{document\}+}{}
Les commandes \docAuxCommand{title} et \docAuxCommand{author} ne se comportent
- pas de la même façon avant et après \lstinline+\begin{document}+ (cf. sections
+ pas de la même façon avant et après ⅛\begin{document}⅛ (cf. sections
\nameref{sec:structuration} \vpageref{sec:structuration} et
\nameref{sec:sign-des-articl} \vpageref{sec:sign-des-articl}).
\end{dbwarning}
@@ -354,6 +371,26 @@ Si la commande \docAuxCommand{title}\marg{titre} est
l'est en sous-main par la classe.
\end{dbwarning}
+\section{Importation d'articles}
+\label{sec:import-dart}
+
+\begin{dbwarning}{Importation de fichiers d'articles}{}
+ Si le contenu d'un article est stocké dans un \meta{fichier enfant}\file{.tex},
+ on l'importera dans un fichier parent recourant à la \letgutcls{} :
+ \begin{itemize}
+ \item \emph{non pas} au moyen de la commande ordinaire \docAuxCommand{input} ;
+ \item \emph{mais} au moyen de la commande \refCom{inputarticle}.
+ \end{itemize}
+\end{dbwarning}
+
+\begin{docCommand}{inputarticle}{\marg{fichier enfant}}
+ Cette commande permet d'importer le contenu d'un article stocké dans un
+ \meta{fichier enfant}\file{.tex}.
+
+ En plus de l'importation proprement dite, cette commande procède à un certain
+ nombre de réinitialisations.
+\end{docCommand}
+
\section{Structuration}
\label{sec:structuration}
@@ -401,13 +438,10 @@ Si la commande \docAuxCommand{title}\marg{titre} est
\package{csquotes}, chargés en sous-main par la \letgutcls{}.
\end{dbremark}
-\bgroup
-\lstset{deletekeywords=[3]{section,nameref}}
-\begin{ltx-code-result}[title addon=références croisées aux rubriques]
+\begin{ltx-code-result}[title addon=références croisées aux rubriques,listing options app={deletekeywords={[3]{nameref,section}}}]
On lira avec intérêt la section \enquote{\nameref{sec:acronymes}}
\vpageref{sec:acronymes}.
\end{ltx-code-result}
-\egroup
\section[Personnes et auteurs]{Noms de personnes et d'auteurs d'articles}
\label{sec:sign-des-articl}
@@ -448,46 +482,33 @@ On lira avec intérêt la section \enquote{\nameref{sec:acronymes}}
\item[pour un individu unique] selon l'un des formats suivants :
\begin{itemize}
\item \meta{nom}
- \item \meta{nom}×, ×\meta{prénom}
- \item \meta{nom}×, ×\meta{prénom}×, ×\meta{titre}
+ \item \meta{nom}⅛, ⅛\meta{prénom}
+ \item \meta{nom}⅛, ⅛\meta{prénom}⅛, ⅛\meta{titre}
\end{itemize}
\item[pour des individus multiples :]\leavevmode
\begin{itemize}
\item selon le même schéma que pour un individu unique ;
\item les \meta{données} de chacun des individus étant séparées par le mot clé
- \lstinline+and+.
+ ⅛and⅛.
\end{itemize}
\end{description}
\end{docCommands}
Indépendamment de la casse utilisée en entrée, pour chaque \meta{nom} et
-\meta{prénom} :
-\begin{itemize}
-\item chacune des initiales et des premières lettres après un espace ou un tiret
- est affiché en grande capitale ;
-\item le reste est affiché en :
- \begin{itemize}
- \item petites capitales pour un \meta{nom} ;
- \item bas de casse pour un \meta{prénom}.
- \end{itemize}
-\end{itemize}
+\meta{prénom}, chacune des initiales et des premières lettres après un espace ou
+un tiret est affiché en grande capitale.
\begin{ltx-code-result}[title addon=personnes]
On peut dire merci à
\person{Knuth, Donald E., dieu and Lamport, Leslie} !
\end{ltx-code-result}
-\bgroup
-\lstset{deletekeywords=[3]{author},deletekeywords=[4]{TeX,},deletekeywords=[5]{e}}
-\begin{ltx-code-result}[title addon=auteur]
+\begin{ltx-code-result}[title addon=auteur,listing options app={deletekeywords={[3]{author}}}]
\begin{displayquote} % Fourni par `csquotes' chargé par `letgut'
Wait, wait, I never said that.
\author{knuth, dONALD e.}
\end{displayquote}
\end{ltx-code-result}
- % The \TeX{} family of programs seems to be nice and healthy
- % as it continues to approach perfection.
-\egroup
\section{Aide à la saisie et homogénéisation de la mise en forme}
\label{sec:aide-la-saisie}
@@ -537,16 +558,13 @@ faciliter la saisie et à en homogénéiser la mise en forme.
défaut, est respectivement \enquote{package} et \enquote{classe}.
\end{docCommands}
-\bgroup
-\lstset{deletekeywords=[4]{tables,}}
-\begin{ltx-code-result}[title addon=packages et classes]
+\begin{ltx-code-result}[title addon=packages et classes,listing options app={deletekeywords={[4]{tables}}}]
La \class*{letgut} s'appuie entre autres sur le \package*{etoc}
(qui permet de personnaliser les tables des matières).
Une des classes s'appuyant sur le \package*[]{etoc} est
-\class[https://framagit.org/gutenberg/classe-lettre-gut]{letgut}.
+\class[https://framagit.org/gutenberg/letgut/]{letgut}.
\end{ltx-code-result}
-\egroup
\begin{docCommands}
{
@@ -582,14 +600,11 @@ Une des classes s'appuyant sur le \package*[]{etoc} est
\enquote{fichier}.
\end{docCommands}
-\bgroup
-\lstset{deletekeywords=[3]{file,plus,l}}
-\begin{ltx-code-result}[title addon=logiciels et fichiers]
+\begin{ltx-code-result}[title addon=logiciels et fichiers,listing options app={deletekeywords={[3]{file,plus,l,tex}}}]
Le \file*{test.tex} a été ouvert dans le
\software*[https://www.gnu.org/software/emacs/]{Emacs}, plus
précisément dans \software*{Emacs}[l'éditeur de texte].
\end{ltx-code-result}
-\egroup
\begin{dbwarning}{Commandes pas toutes bienvenues en \docAuxCommand{title} et
\docAuxCommand{subtitle}}{}
@@ -606,13 +621,10 @@ précisément dans \software*{Emacs}[l'éditeur de texte].
Cette commande est conçue pour afficher une \meta{locution} latine.
\end{docCommand}
-\bgroup
-\lstset{deletekeywords=[3]{options}}
-\begin{ltx-code-result}[title addon=locutions étrangères]
-Ce ne sont pas toutes des \foreignloc{load-time options} :
-\latinloc{errare humanum est} !
+\begin{ltx-code-result}[title addon=locutions étrangères,listing options app={deletekeywords={[3]{options}}}]
+Attention aux \foreignloc{load-time options} !
+Mais... \latinloc{errare humanum est}.
\end{ltx-code-result}
-\egroup
\subsection{Termes et expressions}
\label{sec:termes}
@@ -623,13 +635,19 @@ Ce ne sont pas toutes des \foreignloc{load-time options} :
{ doc name = gut },
{ doc name = lettre },
{ doc name = lettregut },
- { doc name = Cahier },
- { doc name = Cahiers },
+ { doc name = cahier },
+ { doc name = cahiers },
+ { doc name = cahiergut },
+ { doc name = cahiersgut },
{ doc name = letgut },
{ doc name = letgutcls },
{ doc name = knuth },
{ doc name = lamport },
+ { doc name = tl },
{ doc name = tugboat },
+ { doc name = linux },
+ { doc name = macos },
+ { doc name = windows },
}
%
Ce que ces commandes affichent est répertorié dans le \vref{tab:raccourcis}.
@@ -639,17 +657,23 @@ Ce ne sont pas toutes des \foreignloc{load-time options} :
\centering
\begin{tabular}{ll}
\toprule
- \refCom{gutenberg} & \gutenberg \\
- \refCom{gut} & \gut \\
- \refCom{lettre} & \lettre \\
- \refCom{lettregut} & \lettregut \\
- \refCom{Cahier} & \Cahier \\
- \refCom{Cahiers} & \Cahiers \\ \midrule
- \refCom{letgut} & \letgut \\
- \refCom{letgutcls} & \letgutcls \\ \midrule
- \refCom{knuth} & \knuth \\
- \refCom{lamport} & \lamport \\
- \refCom{tugboat} & \tugboat \\ \bottomrule
+ \refCom{gutenberg} & \gutenberg \\
+ \refCom{gut} & \gut \\
+ \refCom{lettre} & \lettre \\
+ \refCom{lettregut} & \lettregut \\
+ \refCom{cahier} & \cahier \\
+ \refCom{cahiergut} & \cahiergut \\
+ \refCom{cahiers} & \cahiers \\
+ \refCom{cahiersgut} & \cahiersgut \\ \midrule
+ \refCom{letgut} & \letgut \\
+ \refCom{letgutcls} & \letgutcls \\ \midrule
+ \refCom{knuth} & \knuth \\
+ \refCom{lamport} & \lamport \\
+ \refCom{tl} & \tl \\
+ \refCom{tugboat} & \tugboat \\ \midrule
+ \refCom{linux} & \linux \\
+ \refCom{macos} & \macos \\
+ \refCom{windows} & \windows \\ \bottomrule
\end{tabular}
\caption{Effet des commandes de raccourcis}
\label{tab:raccourcis}
@@ -672,9 +696,56 @@ de \docAuxCommand{section}%
(préfixe pas en grandes capitales).
\end{dbwarning}
-\section{Exemples de codes \hologo{(La)TeX}, possiblement avec résultats}
+\subsection{Touches de clavier}
+\label{sec:touches-de-clavier}
+
+Afin de disposer d'un moyen simple, riche et élégant pour composer des touches
+de clavier, la \letgutcls{} s'appuie sur le \package*{biolinum} et notamment sa
+commande ⅛\LKey⅛. Cette dernière a été légèrement étendue de façon à faciliter
+la saisie pour toutes les touches des diacritiques utilisés en français.
+
+\begin{ltx-code-result}[title addon=touches de clavier]
+% De base (échantillon) :
+\LKey{A} \LKey{Z} \LKey{0} \LKey{9}
+
+\LKeyF{1} \LKeyF{12}
+
+\LKeyCtrl \LKeyAlt \LKeyAltGr \LKeyShift \LKeyEnter \LKeyTab
+
+\LKeyCtrlX{A} \LKeyShiftX{A} \LKeyAltX{A} \LKeyAltGrX{A}
+
+\LKeyAt \LKeyScreenUp \LKeyScreenDown \LKeyCommand \LKeyOptionKey
+
+\LMouseN \LMouseL \LMouseM \LMouseR
+
+\LKey{exclam} \LKey{numbersign} \LKey{percent} \LKey{backslash}
+
+% Ajoutés par la classe `letgut`
+\LKey{à} \LKey{À} \LKey{â} \LKey{Â} \LKey{é} \LKey{É}
+\LKey{è} \LKey{È} \LKey{ê} \LKey{Ê} \LKey{ë} \LKey{Ë}
+\LKey{î} \LKey{Î} \LKey{ï} \LKey{Ï}
+\LKey{ô} \LKey{Ô}
+\LKey{ù} \LKey{Ù} \LKey{û} \LKey{Û} \LKey{ü} \LKey{Ü}
+\LKey{ÿ} \LKey{Ÿ} \LKey{ç} \LKey{Ç}
+\end{ltx-code-result}
+
+\begin{dbwarning}{Touche de clavier du symbole € manquant}{}
+ La touche de clavier du symbole € n'est pas fournie par le
+ \package*{biolinum}.
+\end{dbwarning}
+
+\section{Codes informatiques}
+\label{sec:code-informatique}
+
+Cette section est consacrée aux outils spécifiques à la \letgutcls{} permettant
+de faire figurer du code informatique dans la \lettre{}.
+
+\subsection{Codes \hologo{(La)TeX}}
\label{sec:exemples-de-codes}
+\subsubsection{Exemples de codes \hologo{(La)TeX}, possiblement avec résultats}
+\label{sec:listings-}
+
Afin de présenter aisément et de façon homogène les exemples de codes
\hologo{(La)TeX}, possiblement avec leurs résultats, la \letgutcls{} fournit les
environnements \enquote{verbatim} suivants.
@@ -719,7 +790,7 @@ environnements \enquote{verbatim} suivants.
ces codes et résulats :
\begin{itemize}
\item l'un sous l'autre par défaut ;
- \item l'un à gauche de l'autre si l'option \lstinline+sidebyside+ est
+ \item l'un à gauche de l'autre si l'option ⅛sidebyside⅛ est
employée.
\end{itemize}
\end{enumerate}
@@ -727,7 +798,7 @@ environnements \enquote{verbatim} suivants.
\begin{dbwarning}{Exemples de codes avec résultats : possiblement
flottants}{exemples-flottants}
- Si l'option \lstinline+sidebyside+ est passée à l'un ou l'autre des
+ Si l'option ⅛sidebyside⅛ est passée à l'un ou l'autre des
environnements \refEnv{ltx-code-result} et \refEnv{ltx-code-external-result},
l'exemple :
\begin{itemize}
@@ -752,7 +823,7 @@ Ces trois environnements admettent des \meta{options} :
\begin{itemize}
\item (toutes) celles acceptées par l'environnement
\docAuxEnvironment{tcblisting} et la commande \docAuxCommand{newtcblisting}
- fournis par la bibliothèque \lstinline+listings+ du
+ fournis par la bibliothèque ⅛listings⅛ du
\package*{tcolorbox}\footnote{Et, aussi, les commandes
\docAuxCommand{DeclareTCBListing} et assimilées fournies par la bibliothèque
\lstinline+xparse+ de ce package.}. Elles permettent notamment de surcharger
@@ -760,14 +831,11 @@ Ces trois environnements admettent des \meta{options} :
\begin{itemize}
\item de faire figurer l'éventuel résultat, non pas sous le code comme c'est
le cas par défaut, mais en regard (à droite) au moyen de l'option
- \lstinline+sidebyside+ ;
+ ⅛sidebyside⅛ ;
\item de supprimer les numéros de ligne au moyen de l'option
-\bgroup
-\lstset{deletekeywords=[3]{none},morekeywords=[4]{none},morekeywords=[3]{listing}}
\begin{ltx-code}
listing options={numbers=none}
\end{ltx-code}
-\egroup
\end{itemize}
\item trois spécifiques à ces environnements :
\begin{docKey*}{title addon}{=\meta{supplément au titre}}{\valinitdef}
@@ -785,7 +853,7 @@ listing options={numbers=none}
\begin{itemize}
\item avec l'un ou l'autre des environnements \refEnv{ltx-code-result} et
\refEnv{ltx-code-external-result} ;
- \item lorsque l'option \lstinline+sidebyside+ leur est passée ;
+ \item lorsque l'option ⅛sidebyside⅛ leur est passée ;
\item lorsque l'exemple s'avère se trouver sur une page autre que
celle de son point d'insertion.
\end{itemize}
@@ -795,17 +863,193 @@ listing options={numbers=none}
s'affranchir de ce texte en recourant à \lstinline+reference text=\{\}+.}.
\begin{dbwarning}{\refKey{reference text} avant \lstinline+sidebyside+}{}
Pour qu'elle soit prise en compte, l'option \refKey{reference text} doit
- être passée \emph{avant} l'option \lstinline+sidebyside+.
+ être passée \emph{avant} l'option ⅛sidebyside⅛.
\end{dbwarning}
\end{docKey*}
\end{itemize}
-\begin{dbwarning}{Caractère d'échappement}{}
+\subsubsection{Coloration syntaxique}
+\label{sec:coloration}
+
+Par défaut, en début de document et de chaque fichier importé au moyen de
+\refCom{inputarticle}, le langage supposé dans ces exemples de codes est
+\hologo{TeX}, chargé (seulement) avec ses \enquote{dialectes} :
+\begin{itemize}
+\item ⅛primitive⅛, ⅛common⅛, ⅛plain⅛, ⅛LaTeX⅛, ⅛AlLaTeX⅛ fournis par le
+ \package*{listings} ;
+\item ⅛classes⅛ fourni par \letgutcls{} (répertoriant les classes disponibles
+ sur le \ctan{}).
+\end{itemize}
+Une conséquence notable est la suivante :
+\begin{dbwarning}{Coloration syntaxique réduite par défaut}{}
+ La coloration syntaxique dans les exemples de codes n'est par défaut active
+ que pour le langage \hologo{TeX} et ses dialectes ⅛primitive⅛, ⅛common⅛,
+ ⅛plain⅛, ⅛LaTeX⅛, ⅛AlLaTeX⅛ et ⅛classes⅛.
+\end{dbwarning}
+
+Il est néanmoins possible de spécifier d'autres langages et dialectes au moyen
+de la commande \refCom{syntaxhl} suivante, à insérer avant le début de l'exemple
+de code concerné.
+
+\begin{docCommands}[
+doc name = syntaxhl,
+doc parameter = \marg{liste de dialectes},
+]
+{
+ { },
+ { doc parameter = \oarg{langage}\marg{liste de dialectes} },
+}
+Cette comande permet de spécifier :
+\begin{itemize}
+\item un \meta{langage} (par défaut \hologo{TeX}) ;
+\item une \meta{liste de dialectes}, séparés par des virgules ;
+\end{itemize}
+auxquels on souhaite que s'applique la coloration syntaxique.
+\end{docCommands}
+
+\begin{dbwarning}{Dialectes colorés syntaxiquement seulement si définis}{}
+ Ceci suppose que ces langages et dialectes sont définis (et saisis selon la
+ syntaxe du \package*{listings}) dans le \file*{letgut-lstlang.sty} situé :
+ \begin{itemize}
+ \item soit dans le dossier de la \lettre{} en cours ;
+ \item soit dans le dossier parent de celui de la \lettre{} en cours ;
+ \item soit dans un dossier de la \tds{}
+ \end{itemize}
+\end{dbwarning}
+
+Pour le langage \hologo{TeX}, ces dialectes sont essentiellement les classes et
+les packages \hologo{(La)TeX} et un exemple de déclaration de tel dialecte est
+fourni section~\enquote{\nameref{sec:exemple-de-decl}},
+\vpageref{sec:exemple-de-decl}.
+
+\subsection{Entrées et sorties dans un terminal}
+\label{sec:entrees-sorties}
+
+Afin de présenter aisément et de façon homogène des exemples de commandes
+entrées et éventuellement de leurs sorties correspondantes, la \letgutcls{}
+fournit la commande à arguments \enquote{verbatim} suivante.
+
+\begin{docCommand}{terminal}{\oarg{prompt}\oarg{options}\marg{stdin}\marg{stdout}}
+ %
+ Cette commande affiche les codes en entrée (\meta{stdin}) et en sortie
+ (\meta{stdout}), chacun des deux étant possiblement vide.
+
+ Le \meta{prompt}, ou \enquote{invite de commande}, est par défaut le symbole
+ \texttt{\$} affiché en rouge.
+
+ Il est possible de surcharger les réglages par défaut de cette commande au
+ moyen d'\meta{options} qui sont (toutes) celles acceptées par l'environnement
+ \docAuxEnvironment{tcblisting} et la commande \docAuxCommand{newtcblisting}
+ fournis par la bibliothèque ⅛listings⅛ du \package*{tcolorbox}\footnote{Et,
+ aussi, les commandes \docAuxCommand{DeclareTCBListing} et assimilées
+ fournies par la bibliothèque \lstinline+xparse+ de ce package.}.
+\end{docCommand}
+
+Ainsi le code suivant :
+\begingroup
+\lstset{basicstyle=\ttfamily\scriptsize}
+\begin{ltx-code}[listing options app={%
+ deletekeywords={[3]{latex,width,height,string,label,by,example,system,tex}},%
+ deletetexcs={edef,rlap,smash,expandafter,string}%
+}]
+\terminal{time rg foobar -g "*.sty" "/home/bitouze/texlive/2022"}{
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/skeyval/skeyval.sty
+445:% \usepackage[option1,option2]{foobar}
+447:% \expandafter\show\csname foobar.sty.poxkeys\endcsname
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/thmtools/thm-restate.sty
+197:%%% support for keyval-style: restate=foobar
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/pinlabel/pinlabel.sty
+284:\edef\foobar{[width=\@p@swidth sp,height=\@p@sheight sp]{\@p@dffile}}%
+286:\@message{\string\@includegraphics@\foobar}%
+287:\rlap{\smash{\expandafter\@includegraphics@\foobar}}%
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/theoremref/theoremref.sty
+129: its label by ``\thlabel{foobar}''. For example,
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/qrbill/qrbill.sty
+12:%% Marei Peischl (peiTeX) and Alex Antener (foobar LLC).
+rg -g 0,25s user 0,23s system 320% cpu 0,150 total
+}
+\end{ltx-code}
+
+donne-t-il :
+
+\terminal{time rg foobar -g "*.sty" "/home/bitouze/texlive/2022"}{
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/skeyval/skeyval.sty
+445:% \usepackage[option1,option2]{foobar}
+447:% \expandafter\show\csname foobar.sty.poxkeys\endcsname
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/thmtools/thm-restate.sty
+197:%%% support for keyval-style: restate=foobar
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/pinlabel/pinlabel.sty
+284:\edef\foobar{[width=\@p@swidth sp,height=\@p@sheight sp]{\@p@dffile}}%
+286:\@message{\string\@includegraphics@\foobar}%
+287:\rlap{\smash{\expandafter\@includegraphics@\foobar}}%
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/theoremref/theoremref.sty
+129: its label by ``\thlabel{foobar}''. For example,
+
+/home/bitouze/texlive/2022/texmf-dist/tex/latex/qrbill/qrbill.sty
+12:%% Marei Peischl (peiTeX) and Alex Antener (foobar LLC).
+rg -g 0,25s user 0,23s system 320% cpu 0,150 total
+}
+\endgroup
+
+\subsection{Caractères d'échappement et de raccourci pour les
+ extraits de code}
+\label{sec:caract-dech-et}
+
+\begin{dbwarning}{Caractère d'échappement des listings}{}
\lstset{escapechar=}%
- La \letgutcls{} définit ×£× comme caractère d'échappement dans \LaTeX{} au
- sein d'un code \LaTeX{}.
+ La \letgutcls{} définit ⅛£⅛ comme caractère d'échappement dans \LaTeX{} au
+ sein d'un listing.
\end{dbwarning}
+Au besoin, on pourra désactiver ce caractère actif au moyen de
+\begin{ltx-code}
+\lstset{escapechar=}
+\end{ltx-code}
+
+\begin{dbwarning}{Équivalent court de \docAuxCommand{lstinline}}{}
+ Les extraits de code peuvent être saisis au moyen de la commande
+ \docAuxCommand{lstinline} du \package*{listings} mais, pour
+ simplifier la tâche, la \letgutcls{} définit comme équivalent court
+ de \docAuxCommand{lstinline} le caractère unicode %
+ \lstDeleteShortInline⅛%
+ \texttt{⅛} %
+ \lstMakeShortInline⅛%
+ (U+215B)\footnote{Peu susceptible d'être utilisé dans du texte
+ ordinaire.}.
+\end{dbwarning}
+
+Autrement dit, la \letgutcls{} contient l'instruction\footnote{À peu
+ de choses près.} :
+ \lstDeleteShortInline⅛
+\begin{ltx-code}
+\lstMakeShortInline£\texttt{⅛}£
+\end{ltx-code}
+
+ Au besoin, on pourra désactiver ce caractère actif au moyen de :
+\begin{ltx-code}
+\lstDeleteShortInline£\texttt{⅛}£
+\end{ltx-code}
+
+\begin{dbremark}{Obtention du caractère \texttt{⅛}}{}
+Le caractère %
+\texttt{⅛} %
+s'obtient :
+\begin{itemize}
+\item sous \linux{} : \LKeyShiftAltGrX{2}\footnote{Touche \LKey{2} du clavier principal.} ;
+\item sous \macos{} : à l'aide du visualiseur de caractères\footnote{Et
+ possiblement de raccourcis claviers personnels.} ;
+\item sous \windows{} : \LKeyAltX{8}+\LKey{5}+\LKey{3}+\LKey{9}.
+\end{itemize}
+\end{dbremark}
+ \lstMakeShortInline⅛%
+
\section{Nouveautés apparues sur le \ctan}
\label{sec:rubr-cons-aux}
@@ -840,18 +1084,15 @@ suivante.
automatiquement situé en regard dans la marge, les signale comme telles.
\end{docCommands}
-\bgroup
-\lstset{deletekeywords=[3]{l},deletekeywords=[6]{hologo,matapli}}
-\begin{ltx-code-external-result}[title addon=nouveautés]{exemple-nouveautes}
+\begin{ltx-code-external-result}[title addon=nouveautés,listing options app={deletekeywords={[6]{hologo,matapli}}}]{exemple-nouveautes}
\begin{ctannews}
-\item[nl-interval] vise à simplifier le processus de représentation
- graphique des intervalles de l'axe réel.
+\item[nl-interval] vise à simplifier le processus de
+ représentation graphique des intervalles de l'axe réel.
\item*[matapli] classe \hologo{LaTeX} destinée à la composition
de la revue Matapli (conçue par \person{Chupin, Maxime},
secrétaire adjoint de \gutenberg{}).
\end{ctannews}
\end{ltx-code-external-result}
-\egroup
\begin{docCommand}{francophony}{}
Cette commande affiche le logo de la francophonie, ainsi : \francophony.
@@ -930,10 +1171,10 @@ commande dédiée \refCom{letgutacro}.
être employé au moyen des commandes fournies par le \package*{acro}, par
exemple :
\begin{itemize}
- \item ×\ac{×\meta{court}×}×\footnote{Acronyme automatiquement affiché sous sa
+ \item ⅛\ac{⅛\meta{court}⅛}⅛\footnote{Acronyme automatiquement affiché sous sa
forme complète à sa 1\iere{} occurrence, sous sa forme courte à ses
occurrences suivantes.} ;
- \item ×\acs{×\meta{court}×}×\footnote{Acronyme affiché sous sa forme courte
+ \item ⅛\acs{⅛\meta{court}⅛}⅛\footnote{Acronyme affiché sous sa forme courte
seulement.}.
\end{itemize}
Toutefois, pour simplifier l'usage de ces acronymes, la \letgutcls{} crée
@@ -942,7 +1183,7 @@ commande dédiée \refCom{letgutacro}.
Sauf si elle existe déjà, auquel cas la création d'une telle commande est
silencieusement escamotée. Ainsi par exemple, l'acronyme
%
- \lstinline!\\letgutacro[...]\{TIKZ\}\{...\}[...]!
+ \lstinline+\\letgutacro[...]\{TIKZ\}\{...\}[...]+
%
fourni par \letgut{} (cf. \vpageref{liste-acronymes}) ne surcharge-t-il
pas la commande \docAuxCommand{tikz} fournie notamment par le
@@ -951,8 +1192,8 @@ commande dédiée \refCom{letgutacro}.
%
qui agit comme :
\begin{itemize}
- \item ×\ac{×\meta{court}×}× en version non étoilée ;
- \item ×\acs{×\meta{court}×}× en version étoilée.
+ \item ⅛\ac{⅛\meta{court}⅛}⅛ en version non étoilée ;
+ \item ⅛\acs{⅛\meta{court}⅛}⅛ en version étoilée.
\end{itemize}
\end{docCommand}
Ainsi, l'acronyme utilisé via \docAuxCommand{\meta{court}} figure, pour ses
@@ -980,9 +1221,7 @@ En outre :
Ainsi, avec les définitions suivantes en préambule :
-\bgroup
-\lstset{deletekeywords={and},deletekeywords=[3]{and,emph,n,german},deletekeywords=[4]{and,TeX}}
-\begin{ltx-code}[title addon=définition d'acronymes,drop lifted shadow]
+\begin{ltx-code}[title addon=définition d'acronymes,listing options app={deletekeywords={[3]{TeX,LaTeX,emph,n,no}}}]
% Acronyme français
\letgutacro{LD}{\LaTeX{} dépendant}
@@ -1013,13 +1252,10 @@ Ainsi, avec les définitions suivantes en préambule :
{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm}
[Ti\emph{k}Z \emph{n'}est \emph{pas} un programme de dessin]
\end{ltx-code}
-\egroup
a-t-on :
-\bgroup
-\lstset{deletekeywords=[3]{cd,tikz,on},deletekeywords=[4]{on},deletekeywords=[6]{cd}}
-\begin{ltx-code-result}[title addon=utilisation d'acronymes]
+\begin{ltx-code-result}[title addon=utilisation d'acronymes,listing options app={deletekeywords={cd},deletekeywords={[3]{cd,tikz,LaTeX,on}},deletekeywords={[6]{cd}},deletekeywords={itemize},morekeywords={[2]{itemize}}}]
On dispose désormais pour \enquote{\LaTeX{} dépendant}
d'un acronyme qu'on peut utiliser par exemple
\begin{itemize}
@@ -1035,28 +1271,21 @@ On peut également employer les acronymes :
\item \ac{tikz}, \ac{tikz}. % Noter le non emploi de `\tikz'
\end{itemize}
\end{ltx-code-result}
-\egroup
Les noms des commandes sous-jacentes ne doivent contenir que des lettres, mais
celles-ci peuvent être accentuées. Ainsi, avec la définition suivante en
préambule :
-\bgroup
-\lstset{deletekeywords=[3]{and}}
\begin{ltx-code}[title addon=définition d'acronyme avec lettres
accentuées,drop lifted shadow]
\letgutacro{CPGÉ}{Classes Préparatoires aux Grandes Écoles}
\end{ltx-code}
-\egroup
a-t-on :
-\bgroup
-\lstset{deletekeywords=[3]{l}}
-\begin{ltx-code-result}[title addon=utilisation d'acronyme avec lettres accentuées]
+\begin{ltx-code-result}[title addon=utilisation d'acronyme avec lettres accentuées,listing options app={deletekeywords={[3]{l}}}]
On peut également employer l'acronyme \cpgé{}, \cpgé{}.
\end{ltx-code-result}
-\egroup
La \letgutcls{} fournit un \file*{letgut-acronyms.tex} dans lequel sont définis
plusieurs acronymes anglais et français, directement utilisables. Ceux-ci sont
@@ -1091,8 +1320,6 @@ insère un filet horizontal.
\end{itemize}
\end{docCommand}
-\bgroup
-\lstset{deletekeywords=[5]{en}}
\begin{ltx-code-result}[title addon=boîtes d'alertes]
\alertbox{%
Adhérez, adhérez, il en restera toujours quelque chose !%
@@ -1103,7 +1330,6 @@ insère un filet horizontal.
Il en restera toujours quelque chose...%
}
\end{ltx-code-result}
-\egroup
\section{Fichier local de configuration}
\label{sec:fichier-local-de}
@@ -1188,13 +1414,7 @@ Ensuite, par exemple depuis un dossier où se trouve un \file*{mon-fichier.tex}
% }%
}) :
-% \begin{listingshell}
-% docker run --rm -it -v $(pwd):/workdir danteev/texlive lualatex mon-fichier
-% \end{listingshell}
-
-\begin{listingshell}
-docker run -i --rm --name latex -v "$PWD":/usr/src/app -w /usr/src/app registry.gitlab.com/islandoftex/images/texlive:latest-with-cache lualatex mon-fichier
-\end{listingshell}
+\terminal{docker run -i --rm --name latex -v "$PWD":/usr/src/app -w /usr/src/app registry.gitlab.com/islandoftex/images/texlive:latest-with-cache lualatex mon-fichier}{}%$
La toute première fois, cela provoque le téléchargement de plusieurs fichiers,
dont celui assez lourd de l'image d'une version allégée de la \tl{}~2021
@@ -1220,9 +1440,7 @@ pour pouvoir compiler au moyen de seulement\footnote{En lançant préalablement
\lstinline[language=bash]+source ~/.bashrc+ (ou assimilé) afin de pouvoir en
bénéficier dans un terminal déjà ouvert.} :
-\begin{listingshell}
-docker-latexmk-lua mon-fichier
-\end{listingshell}
+\terminal{docker-latexmk-lua mon-fichier}{}
\title{Packages chargés par \letgut{}}
\label{sec:packages-charges-par}
@@ -1280,7 +1498,7 @@ dressons ci-après la liste en les regroupant selon ces deux catégories.
\item[babel] support multilingue.
\begin{description}
\item[Options :] \docAuxKey*{english}, \docAuxKey*{french} ;
- \item[Configuration] \lstinline+\renewcommand*\frenchtablename{Tableau}+.
+ \item[Configuration] ⅛\renewcommand*\frenchtablename{Tableau}⅛.
\end{description}
\item[varioref] références de pages intelligentes.
\begin{description}
@@ -1320,11 +1538,11 @@ dressons ci-après la liste en les regroupant selon ces deux catégories.
\item[Options :]\leavevmode{}
\begin{itemize}
\item \docAuxKey*{first-style=footnote} ;
- \item \docAuxKey*{format/short=}\lstinline|\scshape| ;
- \item \docAuxKey*{format/foreign=}\lstinline|\em| ;
+ \item \docAuxKey*{format/short=}⅛\scshape⅛ ;
+ \item \docAuxKey*{format/foreign=}⅛\em⅛ ;
\item \docAuxKey*{foreign/display} ;
\item \docAuxKey*{locale/display} ;
- \item \docAuxKey*{locale/format=}\lstinline|\upshape|.
+ \item \docAuxKey*{locale/format=}⅛\upshape⅛.
\end{itemize}
\end{description}
\item[hyperref] prise en charge étendue de l'hypertexte.
@@ -1384,6 +1602,100 @@ dressons ci-après la liste en les regroupant selon ces deux catégories.
\item[letgut-banner] bannière de la 1\iere{} page de la \lettre{}.
\end{ctannews}
+\section{Exemple de déclaration de dialecte du langage \hologo{TeX}}
+\label{sec:exemple-de-decl}
+
+Nous fournissons ci-dessous un exemple de déclaration de dialecte (ici le
+package \hologo{(La)TeX} \package{graphicx}) du langage \hologo{TeX}
+(cf. section~\enquote{\nameref{sec:coloration}}, \vpageref{sec:coloration}).
+
+\begin{ltx-code}[listing options app={deletekeywords={[3]{
+ ,draft
+ ,final
+ ,setpagesize
+ ,dvips
+ ,dvipdfm
+ ,dvipdfmx
+ ,xetex
+ ,pdftex
+ ,dvipsone
+ ,dviwindo
+ ,textures
+ ,vtex
+ ,alt
+ ,width
+ ,height
+ ,totalheight
+ ,scale
+ ,clip
+ ,draft
+ ,type
+ ,command
+ ,page
+}}},
+listing options app={deletekeywords={[4]{
+ ,draft
+ ,final
+ ,dvips
+ ,dvipdfm
+ ,dvipdfmx
+ ,xetex
+ ,pdftex
+ ,luatex
+ ,vtex
+ ,scale
+ ,true
+ ,false
+}}}]
+\lst@definelanguage[graphicx]{TeX}[LaTeX]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ DeclareGraphicsExtensions,DeclareGraphicsRule,graphicspath,%
+ includegraphics*,includegraphics,reflectbox,resizebox*,%
+ resizebox,rotatebox,scalebox,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as
+ % 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of 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,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={},%
+ sensitive,%
+}[keywords,tex,comments]%
+\end{ltx-code}
+
\printacronyms[
, heading=title
% , template=longtable
diff --git a/Master/texmf-dist/doc/lualatex/letgut/listings-conf.tex b/Master/texmf-dist/doc/lualatex/letgut/listings-conf.tex
index dd58a107163..99ac8206f48 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/listings-conf.tex
+++ b/Master/texmf-dist/doc/lualatex/letgut/listings-conf.tex
@@ -1,40 +1,7 @@
-\lstset{
- backgroundcolor=\color{__letgut_backgroundCode},
- rulecolor=\color{__letgut_borderCode},
- frame=single,
- aboveskip=\medskipamount,
- breaklines=false,
-}
-
-\lstset{
- language=TeX,%
- alsolanguage=[geometry]TeX,%
- alsolanguage=[LaTeX]TeX,%
- alsolanguage=[plain]TeX,%
- alsolanguage=[common]TeX,%
- alsolanguage=[primitive]TeX,%
- alsolanguage=[classes]TeX,%
- alsolanguage=[xcolor]TeX,%
- alsolanguage=[listings]TeX,%
- alsolanguage=[biblatex]TeX,%
- alsolanguage=[hyperref]TeX,%
- alsolanguage=[xparse]TeX,%
- alsolanguage=[lthooks]TeX,%
- alsolanguage=[extLaTeX]TeX,%
- alsolanguage=[letgut]TeX,%
- alsolanguage=[hologo]TeX,%
- alsolanguage=[acro]TeX,%
- alsolanguage=[tcolorbox]TeX,%
- alsolanguage=[graphicx]TeX,%
- alsolanguage=[csquotes]TeX,%
- alsolanguage=[varioref]TeX,%
- alsolanguage=[babel-french]TeX,%
- alsolanguage=[l3keys2e]TeX,%
- alsolanguage=[expl3]TeX,%
-}
-
% We need to disable `escapechar=£' enabled by the class in order to avoid this
% to make a mess in the listing which contains it.
\lstset{
escapechar=,%
}
+% Strangely, we can't rely on \syntaxhl{expl3}. To be checked!
+\lstset{alsolanguage=[expl3]TeX}
diff --git a/Master/texmf-dist/doc/lualatex/letgut/localconf.tex b/Master/texmf-dist/doc/lualatex/letgut/localconf.tex
index d7834205ee0..32eab1c21eb 100644
--- a/Master/texmf-dist/doc/lualatex/letgut/localconf.tex
+++ b/Master/texmf-dist/doc/lualatex/letgut/localconf.tex
@@ -22,26 +22,9 @@
\let\/\relax%
}
-\makeatletter
-\lst@InputCatcodes
-\def\lst@DefEC{%
- \lst@CCECUse \lst@ProcessLetter
- ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
- ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
- ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
- ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
- ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
- ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
- ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
- ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
- ^^^^201c^^^^201d% nouveaux pour “ et ”
- ^^00}
-\lst@RestoreCatcodes
-\makeatother
-
\ExplSyntaxOn
-\lstMakeShortInline×
+\lstset{style=__letgut_latex_listings_style}
\lstdefinelanguage{extrabash}{%
morekeywords={%
@@ -78,35 +61,6 @@
keywords~ bold=false
}%
-\DeclareTotalTCBox{\commandshell}{ v }{ commandshell}{#1}
-\newtcblisting{listingshell}[1][]{%
- % colback=black,
- % colupper=white,
- colback=white,
- colupper=black,
- colframe=yellow!75!black,
- breakable,
- listing~ only,
- listing~ options={%
- style=tcblatex,
- language=bash,
- alsolanguage=extrabash,%
- basicstyle=\footnotesize\ttfamily,
- escapeinside={(*@}{@*)},
- upquote=true,
- showstringspaces=false
- },
- every~ listing~ line={%
- \textcolor{red}{%
- \small\ttfamily\bfseries%
- \BeginAccSupp{method=plain,ActualText={}}
- \$~
- \EndAccSupp{}%
- }
- },
- #1
-}
-
\renewcommand*{\tcbdocnew}[1]{
\scriptsize\sffamily\textcolor{green!50!black}{\bfseries
Nouv. :} #1}
diff --git a/Master/texmf-dist/source/lualatex/letgut/HOWTO.md b/Master/texmf-dist/source/lualatex/letgut/HOWTO.md
index 678ece4f0c1..b46c66817a1 100644
--- a/Master/texmf-dist/source/lualatex/letgut/HOWTO.md
+++ b/Master/texmf-dist/source/lualatex/letgut/HOWTO.md
@@ -6,18 +6,18 @@ In order to:
from the Org Mode source files `letgut.org` and `letgut-banner.org`:
-- it is necessary a reasonably recent version of Emacs,
-- it is then sufficient to run (in a directory containing the `letgut.el` file
+- it is necessary to have a reasonably recent version of Emacs,
+- it is then sufficient to run (in a directory containing the `build-letgut.el` file
to be found in the current directory):
- for the `letgut` class:
- emacs -Q letgut.org --batch -l letgut.el -f org-babel-tangle --kill
- emacs -Q letgut.org --batch -l letgut.el -f org-latex-export-to-pdf --kill
+ emacs -Q letgut.org --batch -l build-letgut.el -f org-babel-tangle --kill
+ emacs -Q letgut.org --batch -l build-letgut.el -f org-latex-export-to-pdf --kill
- for the `letgut-banner` package:
- emacs -Q letgut-banner.org --batch -l letgut.el -f org-babel-tangle --kill
- emacs -Q letgut-banner.org --batch -l letgut.el -f org-latex-export-to-pdf --kill
+ emacs -Q letgut-banner.org --batch -l build-letgut.el -f org-babel-tangle --kill
+ emacs -Q letgut-banner.org --batch -l build-letgut.el -f org-latex-export-to-pdf --kill
This creates the files `letgut.cls`, `letgut-banner.sty`, `letgut-code.tex` and
`letgut-banner-code.tex`.
diff --git a/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org b/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org
index 6769c179052..b9c59dcee83 100644
--- a/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org
+++ b/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org
@@ -1,6 +1,6 @@
# Hey, Emacs! This is a -*- mode: org -*- file!
-#+TITLE: Support for the banner of the newsletter “La Lettre de GUTenberg”
+#+TITLE: Support for the banner of the newsletter "La Lettre de GUTenberg"
#+AUTHOR: Association GUTenberg
#+EMAIL: secretariat@gutenberg.eu.org
#+DESCRIPTION: ...
@@ -19,24 +19,24 @@
# #+LaTeX_HEADER: \input{codehigh-conf}
# #+LaTeX_HEADER: \letgutsetup{editorial=false,final}
-#+PROPERTY: header-args :padline no :tangle letgut-banner.sty :exports both :noweb yes :eval always
-#+export_file_name: letgut-banner-code
+#+PROPERTY: header-args :padline no :tangle ../../../tex/lualatex/letgut/letgut-banner.sty :exports both :noweb yes :eval always
+#+export_file_name: ../../../doc/lualatex/letgut/letgut-banner-code
-* Readme file :noexport:
+* Readme file
-#+begin_src markdown :tangle README.md :exports none
+#+begin_src markdown :tangle no :exports none
letgut-banner - Support for the banner of the newsletter
- “La Lettre de GUTenberg”
+ "La Lettre de GUTenberg"
=============================================================
About
-------
- This package automatically draw the banner of the newsletter “La Lettre de
- GUTenberg” with the current main font.
+ This package automatically draw the banner of the newsletter "La Lettre de
+ GUTenberg" with the current main font.
Release
-------
- 2022-03-22 v0.9.1
+ 2022-03-17 v0.9
Development
-----------
@@ -44,39 +44,43 @@
https://framagit.org/gutenberg/classe-lettre-gut.
#+end_src
-* Identification
-
-#+begin_src latex
-% This is file `letgut.cls',
-% generated with the Emacs Org-babel utility.
-%
-% The original source file is letgut-banner.org
-%
-% -------------:| ---------------------------------------------------
-% letgut-banner:| Package for the banner of the newsletter
-% | “La Lettre GUTenberg”
-% Author:| Association GUTenberg
-% E-mail:| secretariat@gutenberg.eu.org
-% License:| Released under the LaTeX Project Public License
-% | v1.3c or later
-% See:| http://www.latex-project.org/lppl.txt
-%
-% Copyright (C) 1994-2022 by Association GUTenberg
-% <secretariat@gutenberg.eu.org>
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License (LPPL), either
-% version 1.3c of this license or (at your option) any later
-% version. The latest version of this license is in the file:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% This work is “maintained” (as per LPPL maintenance status)
-% by Association GUTenberg.
+#+NAME: preamble
+#+begin_src
+-------:| ---------------------------------------------------
+ letgut:| Package for the banner of the newsletter
+ | "La Lettre de GUTenberg"
+ Author:| Association GUTenberg
+ E-mail:| secretariat@gutenberg.eu.org
+License:| Released under the LaTeX Project Public License
+ | v1.3c or later
+ See:| http://www.latex-project.org/lppl.txt
+
+Copyright (C) 1994-2022 by Association GUTenberg
+ <secretariat@gutenberg.eu.org>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status)
+by Association GUTenberg.
#+end_src
* Implementation
+** Identification
+
+#+begin_src
+ This is file `letgut-banner.sty,
+ generated with the Emacs Org-babel utility.
+
+ The original source file is letgut-banner.org
+ %% <<preamble>>
+#+end_src
+
These document classes can only be used with \LaTeXe, so we make
sure that an appropriate message is displayed when another \TeX{}
format is used.
@@ -89,10 +93,10 @@ Now, we can announce the package name and its version:
#+begin_src latex
\ProvidesExplPackage{letgut-banner}
-{2022-03-22}
-{0.9.1}
+{2022-03-17}
+{0.9}
{
- Package for the banner of the newsletter “La Lettre de GUTenberg”
+ Package for the banner of the newsletter "La Lettre de GUTenberg"
}
#+end_src
@@ -122,7 +126,7 @@ reader who wants to copy the interesting text be able to select it (see below).
What follows has to be done at this end of the preamble, otherwise the font set
with ~\setmainfont~ in the preamble isn't taken in account in the banner.
-We define an option for the color of the text in the “L” (that has to be the
+We define an option for the color of the text in the "L" (that has to be the
same as the page color of the document).
#+begin_src latex
@@ -224,7 +228,7 @@ same as the page color of the document).
- Dimensions of the banner. If the present package is used with the
\class*{letgut}, they are borrowed from it. Otherwise, they are set to
default values.
- - Thickness of the “L”.
+ - Thickness of the "L".
#+begin_src latex
\dim_if_exist:NTF \c__letgut_banner_thickness_dim {
\dim_const:NV \c__letgutbanner_banner_thickness_dim
@@ -234,7 +238,7 @@ same as the page color of the document).
{ 4cm }
}
#+end_src
- - Height of the “L” (that of the text area plus 3cm).
+ - Height of the "L" (that of the text area plus 3cm).
#+begin_src latex
\dim_if_exist:NTF \c__letgut_banner_height_dim {
\dim_const:NV \c__letgutbanner_banner_height_dim
@@ -247,13 +251,13 @@ same as the page color of the document).
}
}
#+end_src
- - Initial padding of the text embedded in the vertical bar of the “L”.
+ - Initial padding of the text embedded in the vertical bar of the "L".
#+begin_src latex
\dim_const:Nn \c__letgutbanner_banner_padding_dim { .25cm }
#+end_src
- - Width of the “L” (the width ($w$) of the text zone plus the width ($l$) of
+ - Width of the "L" (the width ($w$) of the text zone plus the width ($l$) of
the left margin minus half the difference between the width of the left
- margin and the width ($d$) of the “L”: $=w+l-(l-d)/2=w+(l+d)/2$).
+ margin and the width ($d$) of the "L": $=w+l-(l-d)/2=w+(l+d)/2$).
#+begin_src latex
\dim_const:Nn \c__letgutbanner_banner_width_dim {
\c__letgutbanner_textwidth_dim
@@ -265,7 +269,7 @@ same as the page color of the document).
)/2
}
#+end_src
- - Initial width of the text embedded in the “L” vertical bar.
+ - Initial width of the text embedded in the "L" vertical bar.
#+begin_src latex
\dim_const:Nn
\c__letgutbanner_banner_vertical_contents_width_dim {
@@ -274,10 +278,10 @@ same as the page color of the document).
2\c__letgutbanner_banner_padding_dim
}
#+end_src
- - Width of the text embedded in the horizontal bar of the “L” (of the text
+ - Width of the text embedded in the horizontal bar of the "L" (of the text
area plus half the difference between that of the left margin and that of
- the thickness of the “L”, minus the padding -- and not 2 times the
- padding because this text will be stuck to its left “margin”).
+ the thickness of the "L", minus the padding -- and not 2 times the
+ padding because this text will be stuck to its left "margin").
#+begin_src latex
\dim_const:Nn
\c__letgutbanner_banner_horizontal_contents_width_dim {
@@ -294,7 +298,7 @@ same as the page color of the document).
*** Boxes
-New boxes, for each of the letters in the word “LETTRE” (!), and then for the
+New boxes, for each of the letters in the word "LETTRE" (!), and then for the
rest of the content listed in the banner.
#+begin_src latex
\box_new:N \g__letgutbanner_L_box
@@ -309,13 +313,13 @@ rest of the content listed in the banner.
*** Floating point numbers
-- Minimum percentage of the common height of the letters of the word “LETTRE”
+- Minimum percentage of the common height of the letters of the word "LETTRE"
that their line spacing must represent.
#+begin_src latex
\fp_const:Nn \c__letgutbanner_leading_minimum_percent_fp { 0.15 }
#+end_src
-- Factor applied to the line spacing between “La” and the 1st letter of
- “LETTRE” compared to that between the letters of “LETTRE”.
+- Factor applied to the line spacing between "La" and the 1st letter of
+ "LETTRE" compared to that between the letters of "LETTRE".
#+begin_src latex
\fp_const:Nn \c__letgutbanner_leading_La_factor_fp { 1.5 }
#+end_src
@@ -352,7 +356,7 @@ rest of the content listed in the banner.
** Computations
-Determination of the widths of each of the letter boxes of the word “LETTRE”.
+Determination of the widths of each of the letter boxes of the word "LETTRE".
#+begin_src latex
\dim_const:Nn \c__letgutbanner_L_width_dim {
\box_wd:N \g__letgutbanner_L_box
@@ -394,14 +398,14 @@ it were).
}
{ No~ idea! }
#+end_src
-Resize the box containing “GUTenberg” to the width of the text embedded in the
-horizontal bar of the “L”.
+Resize the box containing "GUTenberg" to the width of the text embedded in the
+horizontal bar of the "L".
#+begin_src latex
\box_gresize_to_wd:Nn \g__letgutbanner_GUTenberg_box {
\c__letgutbanner_banner_horizontal_contents_width_dim
}
#+end_src
-Determination of the height and depth of the box containing “GUTenberg” resized.
+Determination of the height and depth of the box containing "GUTenberg" resized.
#+begin_src latex
\dim_const:Nn \c__letgutbanner_GUTenberg_height_dim {
\box_ht:N \g__letgutbanner_GUTenberg_box
@@ -411,12 +415,12 @@ Determination of the height and depth of the box containing “GUTenberg” resi
}
#+end_src
Determining the size of the vertical offset of the box containing the resized
-“GUTenberg”, so that it is vertically centered in the horizontal bar of the “L”:
+"GUTenberg", so that it is vertically centered in the horizontal bar of the "L":
the box positioned in $0$ would be at the very bottom of the box containing the
-banner so with base line at the bottom the horizontal bar of the “L” so we raise
+banner so with base line at the bottom the horizontal bar of the "L" so we raise
it first by its depth ($d$) and then by half the difference between the heights
-($H$) of the horizontal bar of the “L” and ($h+d$) total of the box containing
-“GUTenberg” resized ($=d+H/2-(h+d)/2=(H-h+d)/2$).
+($H$) of the horizontal bar of the "L" and ($h+d$) total of the box containing
+"GUTenberg" resized ($=d+H/2-(h+d)/2=(H-h+d)/2$).
#+begin_src latex
\dim_const:Nn \c__letgutbanner_GUTenberg_yoffset_dim {
(
@@ -428,11 +432,11 @@ it first by its depth ($d$) and then by half the difference between the heights
)/2
}
#+end_src
-Once the height of the zone devoted to “La LETTRE” in the vertical bar of the
-“L” has been fixed, the line spacing between the letters of the word “LETTRE”
+Once the height of the zone devoted to "La LETTRE" in the vertical bar of the
+"L" has been fixed, the line spacing between the letters of the word "LETTRE"
depends in fact only on the width occupied by the widest of them, by definition
equal to the width allocated to the text embedded in the vertical bar of the
-“L”. The latter, stored in ~\g__letgutbanner_banner_vertical_contents_width_dim~, is
+"L". The latter, stored in ~\g__letgutbanner_banner_vertical_contents_width_dim~, is
initially fixed:
#+begin_src latex
\dim_gset:Nn
@@ -441,7 +445,7 @@ initially fixed:
#+end_src
but, to avoid this line spacing being too small (or even negative), we test that
it is greater than a certain threshold, equal to a certain minimum percentage of
-the height common to the letters of the word “LETTRE”, stored in:
+the height common to the letters of the word "LETTRE", stored in:
~\c__letgutbanner_leading_minimum_percent_fp~
@@ -461,7 +465,7 @@ and loop until it is the case.
\g__letgutbanner_largest_LETR_box_height_dim
}{
#+end_src
-Resize the largest of these boxes to the width of the text embedded in the “L”.
+Resize the largest of these boxes to the width of the text embedded in the "L".
#+begin_src latex
\box_gresize_to_wd:Nn \g__letgutbanner_largest_LETR_box {
\g__letgutbanner_banner_vertical_contents_width_dim
@@ -473,7 +477,7 @@ Height of this resized larger box.
\box_ht:N \g__letgutbanner_largest_LETR_box
}
#+end_src
-Resize the boxes for each of the letters in the word “LETTRE” so that they are
+Resize the boxes for each of the letters in the word "LETTRE" so that they are
all the same height as the widest of them.
#+begin_src latex
\box_gresize_to_ht:Nn \g__letgutbanner_L_box {
@@ -489,14 +493,14 @@ all the same height as the widest of them.
\g__letgutbanner_largest_LETR_box_height_dim
}
#+end_src
-Resize the box containing “La” to the width of the text embedded in the “L”
+Resize the box containing "La" to the width of the text embedded in the "L"
vertical bar.
#+begin_src latex
\box_gresize_to_wd:Nn \g__letgutbanner_La_box {
\g__letgutbanner_banner_vertical_contents_width_dim
}
#+end_src
-Determine the height ($h$) and depth ($d$) of the resized box containing “La”.
+Determine the height ($h$) and depth ($d$) of the resized box containing "La".
#+begin_src latex
\dim_gset:Nn \g__letgutbanner_La_height_dim {
\box_ht:N \g__letgutbanner_La_box
@@ -505,11 +509,11 @@ Determine the height ($h$) and depth ($d$) of the resized box containing “La
\box_dp:N \g__letgutbanner_La_box
}
#+end_src
-Determining the size of the vertical offset of the resized box containing “La”
-so that its top is, relative to the top of the “L”, offset by the same amount as
-the bottom of the box containing “GUTenberg” is offset from the bottom of the
-“L” (i.e., the distance from the top of the page to the top of “La” and the
-distance from the bottom of the page to the baseline of “GUTenberg” are
+Determining the size of the vertical offset of the resized box containing "La"
+so that its top is, relative to the top of the "L", offset by the same amount as
+the bottom of the box containing "GUTenberg" is offset from the bottom of the
+"L" (i.e., the distance from the top of the page to the top of "La" and the
+distance from the bottom of the page to the baseline of "GUTenberg" are
identical).
#+begin_src latex
\dim_gset:Nn \g__letgutbanner_La_yoffset_dim {
@@ -522,10 +526,10 @@ identical).
\g__letgutbanner_La_depth_dim
}
#+end_src
-For the following, the area containing the letters of the word “LETTRE” aligned
+For the following, the area containing the letters of the word "LETTRE" aligned
vertically is fixed, defined as follows:
- - its top is the baseline of “La”,
- - its bottom is the baseline of “GUTenberg”.
+ - its top is the baseline of "La",
+ - its bottom is the baseline of "GUTenberg".
Determination of the height of this area.
#+begin_src latex
\dim_gset:Nn \g__letgutbanner_area_height_dim {
@@ -536,22 +540,22 @@ Determination of the height of this area.
\c__letgutbanner_GUTenberg_yoffset_dim
}
#+end_src
-Determining the vertical jump ($s$) between the letters in the word “LETTRE”
+Determining the vertical jump ($s$) between the letters in the word "LETTRE"
with the constraints that:
- - the top of the 1st letter (“L”) is $3e/2$ below the top of the area (where
+ - the top of the 1st letter ("L") is $3e/2$ below the top of the area (where
$e$ is the common vertical space separating the letters of the word
- “LETTRE”),
- - the baseline of the last letter (“E”) is merged with the bottom of the area,
+ "LETTRE"),
+ - the baseline of the last letter ("E") is merged with the bottom of the area,
- this jump must not be less than 20 % of the common height $h$ to all these
letters i.e.:
~\g__letgutbanner_largest_LETR_box_height_dim~
otherwise the size of the largest of these boxes is reduced to less than the
- width of the text embedded in the “L”.
+ width of the text embedded in the "L".
The sum of :
- - the 5 vertical spaces ($5e$) between the letters in the word “LETTRE”,
+ - the 5 vertical spaces ($5e$) between the letters in the word "LETTRE",
- the 6 common heights ($6h$) to all these letters,
- $3e/2$,
must equal the height ($H$) of the zone. So we have $H=3e/2+5e+6h$, that is
@@ -585,7 +589,7 @@ $s=e+h$ that is $s=(2H+h)/13$. Therefore:
}
}
#+end_src
-The width allocated to the text embedded in the vertical bar of the “L” may have
+The width allocated to the text embedded in the vertical bar of the "L" may have
been re-evaluated, so the padding (which must be symmetrical) may have changed
as well.
#+begin_src latex
@@ -597,7 +601,7 @@ as well.
)/2
}
#+end_src
-4. Determination of the vertical offset of the 1st letter (“L”).
+4. Determination of the vertical offset of the 1st letter ("L").
#+begin_src latex
\dim_const:Nn \c__letgutbanner_first_letter_yoffset_dim {
\g__letgutbanner_La_yoffset_dim
@@ -616,7 +620,7 @@ as well.
\g__letgutbanner_largest_LETR_box_height_dim
}
#+end_src
-Resize the box containing “g” to the width of the text.
+Resize the box containing "g" to the width of the text.
#+begin_src latex
\box_gresize_to_wd:Nn \g__letgutbanner_g_box {
\c__letgutbanner_textwidth_dim
@@ -625,9 +629,9 @@ Resize the box containing “g” to the width of the text.
Calculates the size by which the height of the text box on the 1st page must be
reduced so that the banner does not encroach on the text. Relative to the top of
the page:
- - the top of the horizontal bar of “L” is at a distance equal to the sum of :
+ - the top of the horizontal bar of "L" is at a distance equal to the sum of :
- the distance between this top of page and the top of the vertical bar of
- “L”, equal to the height ($p$) of the paper minus the height ($l$) of “L”
+ "L", equal to the height ($p$) of the paper minus the height ($l$) of "L"
#+begin_src latex
\dim_gset:Nn \g__letgutbanner_first_page_shrink_dim {
\c__letgutbanner_tmargin_dim
@@ -652,7 +656,7 @@ reader who wants to copy the interesting text be able to select it.
#+begin_src latex
\BeginAccSupp{ActualText={}}
#+end_src
-We put now the big “L” at the right place.
+We put now the big "L" at the right place.
#+begin_src latex
\put(
.5\c__letgutbanner_lmargin_dim-.5\c__letgutbanner_banner_thickness_dim
@@ -770,7 +774,7 @@ We close ~\AddToHook{begindocument}~.
#+end_src
If the package is used with another class than \class{letgut}, we reduce the
-textheight of the first page of the height of the horizontal bar of the “L”.
+textheight of the first page of the height of the horizontal bar of the "L".
#+begin_src latex
\@ifclassloaded{letgut}{
@@ -786,7 +790,7 @@ textheight of the first page of the height of the horizontal bar of the “L”.
* Example file (=letgut-banner-example.tex=)
-#+begin_src latex :tangle letgut-banner-example.tex :exports both
+#+begin_src latex :tangle ../../../doc/lualatex/letgut/letgut-banner-example.tex :exports none
\documentclass[twoside]{article}
\usepackage{fontspec}
\usepackage[a4paper]{geometry}
diff --git a/Master/texmf-dist/source/lualatex/letgut/letgut.org b/Master/texmf-dist/source/lualatex/letgut/letgut.org
index b4244888a2f..39a3a2f6dbb 100644
--- a/Master/texmf-dist/source/lualatex/letgut/letgut.org
+++ b/Master/texmf-dist/source/lualatex/letgut/letgut.org
@@ -17,17 +17,18 @@
#+LaTeX_HEADER: \letgutsetup{editorial=false}
#+LaTeX_HEADER: \input{listings-conf}
# #+LaTeX_HEADER: \input{codehigh-conf}
+#+LaTeX_HEADER: \letgutsetup{detailedtoc}
# #+LaTeX_HEADER: \letgutsetup{editorial=false,final}
-#+PROPERTY: header-args :padline no :tangle letgut.cls :exports both :noweb yes :eval always
-#+export_file_name: letgut-code
+#+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:
-We crete here a ~ctanomat~ description file in order to simplify the upload of
+We create here a ~ctanomat~ description file in order to simplify the upload of
new versions of the class on CTAN.
-#+begin_src markdown :tangle letgut.pkg
+#+begin_src markdown :tangle ../../../letgut.pkg
% This is a description file for ctan-o-mat.
% It manages uploads of a package to
% CTAN -- the Comprehensive TeX Archive Network.
@@ -50,7 +51,7 @@ new versions of the class on CTAN.
% This field contains the version of the package.
% The value is optional.
% The value is restricted to 32 characters.
- \version{0.9.1 2022-03-22}
+ \version{0.9.2 2022-06-18}
% -------------------------------------------------------------------------
% This field contains the name of the author(s).
% The value is optional.
@@ -89,7 +90,7 @@ new versions of the class on CTAN.
% The value is a URL.
% The value is restricted to 255 characters.
% Multiple values are allowed.
- \bugtracker{https://framagit.org/gutenberg/classe-lettre-gut/-/issues}
+ \bugtracker{https://framagit.org/gutenberg/letgut/-/issues}
% -------------------------------------------------------------------------
% This field contains the support channel.
% The value is optional.
@@ -103,14 +104,14 @@ new versions of the class on CTAN.
% The value is a URL.
% The value is restricted to 255 characters.
% Multiple values are allowed.
- \repository{https://framagit.org/gutenberg/classe-lettre-gut/}
+ \repository{https://framagit.org/gutenberg/letgut/}
% -------------------------------------------------------------------------
% This field contains the developer's channel.
% The value is optional.
% The value is a URL.
% The value is restricted to 255 characters.
% Multiple values are allowed.
- \development{https://framagit.org/gutenberg/classe-lettre-gut/-/merge_requests}
+ \development{https://framagit.org/gutenberg/letgut/-/merge_requests}
% -------------------------------------------------------------------------
% This field contains the update indicator; true for update.
% The value is optional.
@@ -127,6 +128,33 @@ new versions of the class on CTAN.
% The value is optional.
% The value is restricted to 8192 characters.
\begin{announcement}
+ ## [0.9.2] - 2022-06-18
+
+ ### Added
+ - Listings for commands in terminals.
+ - Aliases of frequently used commands.
+ - New commands for frequently used terms or expressions.
+ - Command for specifying LaTeX packages that benefit from syntax highlighting.
+ - Own ~listings~' language driver file for LaTeX packages syntax highlighting.
+ - Commands for keyboard keys of accentuated characters.
+ - ~detailedtoc~ option for Lettre's structure checking.
+ - Mimic the multiple option of the footmisc package.
+ - Command ~\inputarticle~ (instead of ~\input~) for the input of articles.
+ - ⅛ as a short equivalent of ~\lstinline~.
+ - Some tweaks and improvements.
+
+ ### Changed
+ - Last names of persons and authors not in small caps anymore.
+ - \tl isn't an acronym anymore and now typesets “TeX Live”.
+ - All the acronyms reset at the beginning of each ~\inputarticle~-ed article.
+ - All options now possibly load-time ones.
+ - Unlikely to change input files searched:
+ 1. in the parent directory if not in the current one,
+ 2. in the TDS.
+ - Right ISSN in case of “paper” version of la Lettre.
+
+ ### Fixed
+ Several bugs.
\end{announcement}
% -------------------------------------------------------------------------
% This field contains the one-liner for the package.
@@ -183,30 +211,58 @@ new versions of the class on CTAN.
* Changelog file :noexport:
-#+begin_src markdown :tangle CHANGELOG.md
+#+begin_src markdown :tangle ../../../doc/lualatex/letgut/CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
- Versioning](http://semver.org/spec/v2.0.0.html).
+ Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+ ## [0.9.2] - 2022-06-18
+
+ ### Added
+ - Listings for commands in terminals.
+ - Aliases of frequently used commands.
+ - New commands for frequently used terms or expressions.
+ - Command for specifying LaTeX packages that benefit from syntax highlighting.
+ - Own ~listings~' language driver file for LaTeX packages syntax highlighting.
+ - Commands for keyboard keys of accentuated characters.
+ - ~detailedtoc~ option for Lettre's structure checking.
+ - Mimic the multiple option of the footmisc package.
+ - Command ~\inputarticle~ (instead of ~\input~) for the input of articles.
+ - ⅛ as a short equivalent of ~\lstinline~.
+ - Some tweaks and improvements.
+
+ ### Changed
+ - Last names of persons and authors not in small caps anymore.
+ - \tl isn't an acronym anymore and now typesets “TeX Live”.
+ - All the acronyms reset at the beginning of each ~\inputarticle~-ed article.
+ - All options now possibly load-time ones.
+ - Unlikely to change input files searched:
+ 1. in the parent directory if not in the current one,
+ 2. in the TDS.
+ - Right ISSN in case of “paper” version of la Lettre.
+
+ ### Fixed
+ Several bugs.
+
## [0.9.1] - 2022-03-22
### Changed
- File renamed (Karl Berry request)
+ File renamed (Karl Berry request).
## [0.9] - 2022-03-18
### Added
- First public testing release
+ First public testing release.
#+end_src
* Readme file :noexport:
-#+begin_src markdown :tangle README.md
+#+begin_src markdown :tangle ../../../doc/lualatex/letgut/README.md
letgut - Support for the newsletter “La Lettre GUTenberg”
=========================================================
@@ -217,12 +273,12 @@ to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Gr
Release
-------
-2022-03-22 v0.9.1
+2022-06-18 v0.9.2
Development
-----------
Follow development, submit issues and suggest improvements at
-https://framagit.org/gutenberg/classe-lettre-gut.
+https://framagit.org/gutenberg/letgut.
#+end_src
* How to :noexport:
@@ -232,8 +288,8 @@ We explain in a \file*{HOWTO.md} file how to:
- tangle the \file*{letgut.cls} and \file*{letgut-banner.sty},
- build the:
- documented codes \file*{letgut-code.pdf} and \file*{letgut-banner-code.pdf}
- of the classe and the package,
- - \file*{letgut.pdf} of the class
+ of the class and the package,
+ - \file*{letgut.pdf} of the class,
from the \software[https://orgmode.org/]{Org Mode} source files
\file*{letgut.org} and \file*{letgut-banner.org}.
@@ -247,18 +303,18 @@ In order to:
from the Org Mode source files `letgut.org` and `letgut-banner.org`:
-- it is necessary a reasonably recent version of Emacs,
-- it is then sufficient to run (in a directory containing the `letgut.el` file
+- it is necessary to have a reasonably recent version of Emacs,
+- it is then sufficient to run (in a directory containing the `build-letgut.el` file
to be found in the current directory):
- for the `letgut` class:
- emacs -Q letgut.org --batch -l letgut.el -f org-babel-tangle --kill
- emacs -Q letgut.org --batch -l letgut.el -f org-latex-export-to-pdf --kill
+ emacs -Q letgut.org --batch -l build-letgut.el -f org-babel-tangle --kill
+ emacs -Q letgut.org --batch -l build-letgut.el -f org-latex-export-to-pdf --kill
- for the `letgut-banner` package:
- emacs -Q letgut-banner.org --batch -l letgut.el -f org-babel-tangle --kill
- emacs -Q letgut-banner.org --batch -l letgut.el -f org-latex-export-to-pdf --kill
+ emacs -Q letgut-banner.org --batch -l build-letgut.el -f org-babel-tangle --kill
+ emacs -Q letgut-banner.org --batch -l build-letgut.el -f org-latex-export-to-pdf --kill
This creates the files `letgut.cls`, `letgut-banner.sty`, `letgut-code.tex` and
`letgut-banner-code.tex`.
@@ -347,11 +403,10 @@ Now, we can announce the class name and its version:
#+begin_src latex
\ProvidesExplClass{letgut}
- {2022-03-22}
- {0.9.1}
+ {2022-03-17}
+ {0.9}
{
- Class~ for~ the~ newsletter~
- “\c__letgut_La_lettre_gutenberg_tl”
+ Class for the newsletter “The GUTenberg Letter”
}
#+end_src
@@ -438,6 +493,10 @@ Some messages are declared for future use.
#+begin_src latex
\bool_new:N \l__letgut_in_footnote_bool
#+end_src
+- For testing whether we currently ask the draft or the final version.
+ #+begin_src latex
+ \bool_new:N \g__letgut_draft_bool
+ #+end_src
*** Dimensions
@@ -642,60 +701,78 @@ We close the ~\AddToHook{begindocument/before}~ argument.
**** Constant ones
#+begin_src latex
- \tl_const:Nn \c__letgut_cahier_tl { \emph{ Cahier } }
- \tl_const:Nn \c__letgut_cahiers_tl {
- \c__letgut_cahier_tl \emph{ s }
- }
- \tl_const:Nn \c__letgut_tugboat_tl { \emph{ TUGboat } }
- \tl_const:Nn \c__letgut_banner_file_tl { bandeau }
- \tl_const:Nn \c__letgut_editorial_file_tl { editorial }
- \tl_const:Nn \c__letgut_informations_gutenberg_file_tl {
- informations-gut
- }
- \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_contents_name_tl { Sommaire }
- \tl_const:Nn \c__letgut_draftwatermark_text_tl {
- \textnormal{Brouillon}
- }
- \tl_const:Nn \c__letgut_membership_reminder_tl {
- {\LARGE
- \bfseries
- Avez-vous~ pensé~ à~ régler~ votre~ cotisation~ ?
- % \the\year~ ?
- \par
- \medskip
- }
- Si~ vous~ avez~ oublié,~ ce~ n'est~ ni~ trop~ tard~
- ni~ difficile~ :
- \par
- \url{http://gutenberg.eu.org/?Adherer-en-ligne}
- \bool_if:NT \g__letgut_informations_bool {
- \file_if_exist:nT
- {./\c__letgut_informations_gutenberg_file_tl}{
- \par
- Voir~ aussi~ page~ \pageref{letgut_label_adhesions}.
- }
- }
- }
- \tl_const:Nn \c__letgut_missing_editorial_tl {
- Ne~ pas~ omettre~ l'éditorial~ !\\(à~ faire~ figurer~
- dans~ un~ \file*{\c__letgut_editorial_file_tl.tex}~
- dans~ le~ dossier~ courant)
- }
- \tl_const:Nn \c__letgut_missing_infomations_tl {
- Ne~ pas~ omettre~ les~ informations~ sur~
- \c__letgut_gutenberg_tl{}~ !\\(dans~ un~
- \file*{\c__letgut_informations_gutenberg_file_tl.tex}~
- situé~ dans~ le~ dossier~ courant)
- }
- \tl_const:Nn \c__letgut_default_alert_box_color_tl {
- gray9
- }
- \tl_const:Nn \c__letgut_default_allcolors_links_color_tl
- {
- teal!60!black
- }
+ \tl_const:Nn \c__letgut_online_issn_tl {
+ 2742-6149~ (version~ numérique)
+ }
+ \tl_const:Nn \c__letgut_paper_issn_tl {
+ 1257–2217~ (version~ papier)
+ }
+ \tl_const:Nn \c__letgut_cahier_tl { \emph{ Cahier } }
+ \tl_const:Nn \c__letgut_cahiers_tl {
+ \c__letgut_cahier_tl \emph{ s }
+ }
+ \tl_const:Nn \c__letgut_gnu_linux_tl { \software{GNU/Linux} }
+ \tl_const:Nn \c__letgut_macOS_tl { \software{macOS} }
+ \tl_const:Nn \c__letgut_windows_tl { \software{Windows} }
+ \tl_const:Nn \c__letgut_package_tl { package }
+ \tl_const:Nn \c__letgut_class_tl { classe }
+ \tl_const:Nn \c__letgut_file_tl { fichier }
+ \tl_const:Nn \c__letgut_software_tl { logiciel }
+ \tl_const:Nn \c__letgut_tugboat_tl { \emph{ TUGboat } }
+ \tl_const:Nn \c__letgut_tex_live_tl {
+ \hologo{ TeX }\nobreakspace Live
+ }
+ \tl_const:Nn \c__letgut_banner_file_tl { bandeau }
+ \tl_const:Nn \c__letgut_editorial_file_tl { editorial }
+ \tl_const:Nn \c__letgut_informations_gutenberg_file_tl {
+ informations-gut
+ }
+ \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_lstlanguage_file_tl { letgut-lstlang.sty }
+ \tl_const:Nn \c__letgut_contents_name_tl { Sommaire }
+ \tl_const:Nn \c__letgut_draftwatermark_text_tl {
+ \textnormal{Brouillon}
+ }
+ \tl_const:Nn \c__letgut_membership_reminder_tl {
+ {\LARGE
+ \bfseries
+ Avez-vous~ pensé~ à~ régler~ votre~ cotisation~ ?
+ % \the\year~ ?
+ \par
+ \medskip
+ }
+ Si~ vous~ avez~ oublié,~ ce~ n'est~ ni~ trop~ tard~
+ ni~ difficile~ :
+ \par
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
+ \bool_if:NT \g__letgut_informations_bool {
+ \file_if_exist:nT
+ {./\c__letgut_informations_gutenberg_file_tl}{
+ \par
+ Voir~ aussi~ page~ \pageref{letgut_label_adhesions}.
+ }
+ }
+ }
+ \tl_const:Nn \c__letgut_missing_editorial_tl {
+ Ne~ pas~ omettre~ l'éditorial~ !\\(à~ faire~ figurer~
+ dans~ un~ \file*{\c__letgut_editorial_file_tl.tex}~
+ dans~ le~ dossier~ courant)
+ }
+ \tl_const:Nn \c__letgut_missing_infomations_tl {
+ Ne~ pas~ omettre~ les~ informations~ sur~
+ \c__letgut_gutenberg_tl{}~ !\\(dans~ un~
+ \file*{\c__letgut_informations_gutenberg_file_tl.tex}~
+ situé~ soit~ dans~ le~ dossier~ courant, soit~ dans~ le~
+ dossier~ parent)
+ }
+ \tl_const:Nn \c__letgut_default_alert_box_color_tl {
+ gray9
+ }
+ \tl_const:Nn \c__letgut_default_allcolors_links_color_tl
+ {
+ teal!60!black
+ }
#+end_src
**** Variables ones
@@ -740,15 +817,111 @@ We define the 2 load time options for the target audience:
- ~for-readers~ (the default), for the “normal” “Lettre”,
- ~for-authors~, (only) the author(s) of an article of the “Lettre”.
+** Date handling
+
#+begin_src latex
- \keys_define:nn { letgut }
+ \int_new:N \g__letgut_date_month_int
+ \int_new:N \g__letgut_date_year_int
+
+ \int_gset:Nn \g__letgut_date_month_int {\the\month}
+ \int_gset:Nn \g__letgut_date_year_int {\the\year}
+
+ \tl_new:N \g__letgut_date_month_tl
+ \tl_new:N \g__letgut_date_tl
+
+ \cs_new_protected:Npn \__letgut_date_parse:n #1
{
- , for-readers .bool_gset:N = \g__letgut_for_readers_bool
- , for-readers .initial:n = { true }
- , for-readers .default:n = { true }
- , for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
+ \__letgut_if_is_iso_date:nTF {#1}
+ {
+ \__letgut_date_parse:www #1 \q_stop
+ }{
+ \msg_term:nnn{letgut}{Not~month~iso~date}{#1}
+ \tl_gset:Nn \g__letgut_date_tl { #1 }
+ }
+ }
+
+ \prg_new_protected_conditional:Npnn
+ \__letgut_if_is_iso_date:n #1 { T, F, TF }
+ {
+ \regex_match:nnTF { ^\d{4}-(\d{1,2}) } {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+
+ \prg_new_protected_conditional:Npnn
+ \__letgut_if_is_int:n #1 { T, F, TF }
+ {
+ \regex_match:nnTF { ^[\+\-]?[\d]+$ } {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+
+ \cs_new_protected:Npn \__letgut_month_name:n #1
+ {
+ % \text_titlecase_first:n {
+ \int_case:nnF
+ { #1 }
+ {
+ { 1 }{ janvier }
+ { 2 }{ février }
+ { 3 }{ mars }
+ { 4 }{ avril }
+ { 5 }{ mai }
+ { 6 }{ juin }
+ { 7 }{ juillet }
+ { 8 }{ août }
+ { 9 }{ septembre }
+ { 10 }{ octobre }
+ { 11 }{ novembre }
+ { 12 }{ décembre }
+ }
+ { Month~ Error! }
+ % }
+ }
+
+ \cs_new_protected:Npn \__letgut_date_parse:www #1-#2
+ \q_stop
+ {
+ \int_compare:nTF
+ {
+ \the\year <= #1 <= \the\year+1
+ #+end_src
+
+# >> (Just not to disturb the parentheses balancing
+# detection of my editor.)
+
+ #+begin_src latex
+ }{
+ \int_gset:Nn \g__letgut_date_year_int {#1}
+ }{
+ \int_gset:Nn \g__letgut_date_year_int {\the\year}
+ }
+ \__letgut_if_is_int:nTF {#2}
+ {
+ \int_compare:nTF
+ {
+ 1 <= #2 <= 12
+ #+end_src
+
+# >> (Just not to disturb the parentheses balancing
+# detection of my editor.)
+
+ #+begin_src latex
+ }
+ {\int_gset:Nn \g__letgut_date_month_int {#2}}
+ {\int_gset:Nn \g__letgut_date_month_int {\the\month}}
+ }{
+ \int_gset:Nn \g__letgut_date_month_int {\the\month}
+ }
+ \tl_gset:Nn \g__letgut_date_month_tl {
+ \__letgut_month_name:n { \g__letgut_date_month_int }
+ }
+ \tl_gset:Nn \g__letgut_date_tl {
+ \tl_use:N \g__letgut_date_month_tl
+ \c_space_tl
+ \int_use:N \g__letgut_date_year_int
+ }
}
- \ProcessKeysOptions { letgut }
#+end_src
** Class and package loading
@@ -793,6 +966,10 @@ We now load some packages.
#+begin_src latex
\RequirePackage{graphicx}
#+end_src
+- Biolinum font.
+ #+begin_src latex
+\RequirePackage{biolinum}
+ #+end_src
- Extending the array and tabular environments.
#+begin_src latex
\RequirePackage{array}
@@ -931,7 +1108,7 @@ We close the ~\AddToHook{begindocument/before}~ argument.
#+begin_src latex
\sisetup{
, locale=FR
- , mode=text
+ , mode=match
}
#+end_src
- Concerning floats, we ask:
@@ -970,211 +1147,6 @@ We close the ~\AddToHook{begindocument/before}~ argument.
#+begin_src latex
\renewcommand*\frenchtablename{Tableau}
#+end_src
-- We fix some defaults for the listings : we define a style for all the listings
- which resets all the \TeX{} control sequences/keywords and then load all the
- basic (La)TeX dialects of TeX. But we start with a dialect which is missing in
- the \package*{listings}.
- #+begin_src latex
- \lstdefinelanguage[classes]{TeX}[LaTeX]{TeX}{%
- % Control sequences
- moretexcs={%
- 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,Huge,
- indexname,indexspace,interlinepenalty,intextsep,it,jot,
- labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,
- labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,
- labelwidth,large,Large,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,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,description,figure,quotation,quote,table,
- thebibliography,theindex,titlepage,verse%
- },%
- % 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
-
- #+begin_src latex
- \lstdefinestyle{__letgut_all_reset}{
- basicstyle=\ttfamily,
- language=TeX,%
- texcs={},%
- keywords={},%
- keywords=[2]{},%
- keywords=[3]{},%
- keywords=[4]{},%
- keywords=[5]{},%
- otherkeywords={},%
- alsoletter={},%
- alsodigit={},%
- alsolanguage=[AlLaTeX]TeX,%
- alsolanguage=[LaTeX]TeX,%
- alsolanguage=[plain]TeX,%
- alsolanguage=[common]TeX,%
- alsolanguage=[primitive]TeX,%
- alsolanguage=[classes]TeX,%
- #+end_src
- Because of a current issue involving \package{parskip} and
- \package{listings}
- (\url{https://github.com/FrankMittelbach/fmitex-parskip/issues/3}), we have to
- set the skip below the displayed listings to a zero length.
- #+begin_src latex
- belowskip=0pt,
- }
- \lstset{
- style=__letgut_all_reset
- }
- #+end_src
- This style is applied automatically at the beginning of each ~\input~
- file. Hence, the keywords defined in a previous file (by loading some
- peticular (La)TeX dialects, i.e. control sequences and keywords specific to
- some class or packages) won't interfere with the ones of the current file.
- #+begin_src latex
- \AddToHook{cmd/input/before}{
- \lstset{%
- style=__letgut_all_reset,%
- }
- }
- #+end_src
- The ~\printbibliography~ command is redefined in order its ~heading~ is by
default set to ~subbibliography~.
#+begin_src latex
@@ -1232,7 +1204,7 @@ We close the ~\AddToHook{begindocument/before}~ argument.
- We want the hyperlinks to be as unobtrusive as possible.
#+begin_src latex
\bool_if:NTF \g__letgut_paper_bool {
- \hypersetup{draft}
+ \hypersetup{hidelinks}
}{
\hypersetup{%
colorlinks,%
@@ -1241,10 +1213,19 @@ We close the ~\AddToHook{begindocument/before}~ argument.
}
#+end_src
- A preset of acronyms is input (if found).
+ A preset of acronyms is input (if found, firstly in the current directory,
+ secondly in the parent directory, thirdly in the TDS).
#+begin_src latex
- \file_if_exist:nT {\c__letgut_acronyms_file_tl}{
- \file_input:n {\c__letgut_acronyms_file_tl}
+ \file_if_exist:nTF {./\c__letgut_acronyms_file_tl}{
+ \file_input:n {./\c__letgut_acronyms_file_tl}
+ }{
+ \file_if_exist:nTF {../\c__letgut_acronyms_file_tl}{
+ \file_input:n {../\c__letgut_acronyms_file_tl}
+ }{
+ \file_if_exist:nT {\c__letgut_acronyms_file_tl}{
+ \file_input:n {\c__letgut_acronyms_file_tl}
+ }
+ }
}
#+end_src
@@ -1271,7 +1252,8 @@ We close the ~\AddToHook{begindocument/before}~ argument.
{
\Huge
#+end_src
- Currently, we can't use \package{l3color}'s ~\color_fill:n~[fn:1]
+ Currently, we can't use \package{l3color}'s ~\color_fill:n~ (see
+ \url{https://github.com/ho-tex/luacolor/issues/4\#issuecomment-848774260})
and we have to rely on \package{xcolor}'s ~\color~.
#+begin_src latex
% \color_fill:n {black!10}
@@ -1335,113 +1317,6 @@ We close the ~\AddToHook{begindocument/before}~ argument.
}
#+end_src
-** Date handling
-
-#+begin_src latex
- \int_new:N \g__letgut_date_month_int
- \int_new:N \g__letgut_date_year_int
-
- \int_gset:Nn \g__letgut_date_month_int {\the\month}
- \int_gset:Nn \g__letgut_date_year_int {\the\year}
-
- \tl_new:N \g__letgut_date_month_tl
- \tl_new:N \g__letgut_date_tl
-
- \cs_new_protected:Npn \__letgut_date_parse:n #1
- {
- \__letgut_if_is_iso_date:nTF {#1}
- {
- \__letgut_date_parse:www #1 \q_stop
- }{
- \msg_term:nnn{letgut}{Not~month~iso~date}{#1}
- \tl_gset:Nn \g__letgut_date_tl { #1 }
- }
- }
-
- \prg_new_protected_conditional:Npnn
- \__letgut_if_is_iso_date:n #1 { T, F, TF }
- {
- \regex_match:nnTF { ^\d{4}-(\d{1,2}) } {#1}
- { \prg_return_true: }
- { \prg_return_false: }
- }
-
- \prg_new_protected_conditional:Npnn
- \__letgut_if_is_int:n #1 { T, F, TF }
- {
- \regex_match:nnTF { ^[\+\-]?[\d]+$ } {#1}
- { \prg_return_true: }
- { \prg_return_false: }
- }
-
- \cs_new_protected:Npn \__letgut_month_name:n #1
- {
- % \text_titlecase_first:n {
- \int_case:nnF
- { #1 }
- {
- { 1 }{ janvier }
- { 2 }{ février }
- { 3 }{ mars }
- { 4 }{ avril }
- { 5 }{ mai }
- { 6 }{ juin }
- { 7 }{ juillet }
- { 8 }{ août }
- { 9 }{ septembre }
- { 10 }{ octobre }
- { 11 }{ novembre }
- { 12 }{ décembre }
- }
- { Month~ Error! }
- % }
- }
-
- \cs_new_protected:Npn \__letgut_date_parse:www #1-#2
- \q_stop
- {
- \int_compare:nTF
- {
- \the\year <= #1 <= \the\year+1
- #+end_src
-
-# >> (Just not to disturb the parentheses balancing
-# detection of my editor.)
-
- #+begin_src latex
- }{
- \int_gset:Nn \g__letgut_date_year_int {#1}
- }{
- \int_gset:Nn \g__letgut_date_year_int {\the\year}
- }
- \__letgut_if_is_int:nTF {#2}
- {
- \int_compare:nTF
- {
- 1 <= #2 <= 12
- #+end_src
-
-# >> (Just not to disturb the parentheses balancing
-# detection of my editor.)
-
- #+begin_src latex
- }
- {\int_gset:Nn \g__letgut_date_month_int {#2}}
- {\int_gset:Nn \g__letgut_date_month_int {\the\month}}
- }{
- \int_gset:Nn \g__letgut_date_month_int {\the\month}
- }
- \tl_gset:Nn \g__letgut_date_month_tl {
- \__letgut_month_name:n { \g__letgut_date_month_int }
- }
- \tl_gset:Nn \g__letgut_date_tl {
- \tl_use:N \g__letgut_date_month_tl
- \c_space_tl
- \int_use:N \g__letgut_date_year_int
- }
- }
-#+end_src
-
** Page color default settings
By default, the page color will be the one linked to the ~screen~ option.
@@ -1454,26 +1329,34 @@ We close the ~\AddToHook{begindocument/before}~ argument.
** Options
-These options look to need to be specified rather at the end (throws an error if
-defined before the ~\__letgut_date_parse:n~'s definition):
+We now define the options of the class:
+- ~for-readers~/~for-authors~, depending on the target audience,
+- ~draft~/~final~ depending on the state of the document,
+- ~paper~/~screen~ depending on the way the document will be read,
- ~number~ for the number of the issue,
- ~date~ for the date of the issue, either empty (hence the current (month)
date) or at the format ~YYYY-MM~ or as free input,
- ~pagecolor~ (relevant only with the (default) ~screen~ load time option) for
a color of the page other than the default one,
+- ~allcolorslinks~ for the color of (all) the links,
- ~membership-reminder~ that typesets a membership reminder on the first page,
+- ~editorial~ depending on the editorial is wanted or not,
+- ~infomations~ depending on the GUTenberg informations are wanted or not,
+- ~detailedtoc~ depending on the automatic ToC is wanted maximally (until
+ subparagraphs) detailed or not.
#+begin_src latex
- \keys_define:nn { letgut/setup }
+ \keys_define:nn { letgut }
{
+ , for-readers .bool_gset:N = \g__letgut_for_readers_bool
+ , for-readers .initial:n = { true }
+ , for-readers .default:n = { true }
+ , for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
, draft .bool_gset:N = \g__letgut_draft_bool
, draft .initial:n = { true }
, draft .default:n = { true }
, final .bool_gset_inverse:N = \g__letgut_draft_bool
- , number .int_gset:N = \g__letgut_number_int
- , date .code:n = { \__letgut_date_parse:n { #1 } }
- , date .initial:x = {\the\year-\the\month}
, paper .code:n = {
\bool_gset_true:N \g__letgut_paper_bool
\pagecolor[rgb]{\c__letgut_default_pagecolor_paper_clist}
@@ -1481,6 +1364,9 @@ defined before the ~\__letgut_date_parse:n~'s definition):
\c__letgut_default_pagecolor_paper_clist
}
, screen .bool_gset_inverse:N = \g__letgut_paper_bool
+ , number .int_gset:N = \g__letgut_number_int
+ , date .code:n = { \__letgut_date_parse:n { #1 } }
+ , date .initial:x = {\the\year-\the\month}
, pagecolor .initial:V
= \c__letgut_default_pagecolor_screen_clist
, pagecolor .code:n = {
@@ -1508,7 +1394,14 @@ defined before the ~\__letgut_date_parse:n~'s definition):
, 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 }
}
+ \ProcessKeysOptions { letgut }
+#+end_src
+
+#+begin_src latex
+ \definecolor{letgut_pagecolor}{rgb}{\g__letgut_pagecolor_clist}
#+end_src
** Headers
@@ -1554,16 +1447,40 @@ We now define the headers.
The table of contents is customized:
-- only the titles of the articles are shown (but the bookmarks have their natural depth):
-#+begin_src latex
- \etocsetnexttocdepth{0}
- #+end_src
- layout:
#+begin_src latex
\etocsetstyle {section}
{}
- {\leavevmode\leftskip 2cm\relax}
- {\normalsize%
+ {\leavevmode\leftskip 2.5cm\relax}
+ {\mdseries\small%
+ \etocname~\dotfill~\etocpage\par
+ }
+ {}
+ \etocsetstyle {subsection}
+ {}
+ {\leavevmode\leftskip 3cm\relax}
+ {\mdseries\footnotesize%
+ \etocname~\dotfill~\etocpage\par
+ }
+ {}
+ \etocsetstyle {subsubsection}
+ {}
+ {\leavevmode\leftskip 3.5cm\relax}
+ {\mdseries\scriptsize%
+ \etocname~\dotfill~\etocpage\par
+ }
+ {}
+ \etocsetstyle {paragraph}
+ {}
+ {\leavevmode\leftskip 4cm\relax}
+ {\mdseries\tiny%
+ \etocname~\dotfill~\etocpage\par
+ }
+ {}
+ \etocsetstyle {subparagraph}
+ {}
+ {\leavevmode\leftskip 4.5cm\relax}
+ {\mdseries\tiny%
\etocname~\dotfill~\etocpage\par
}
{}
@@ -1701,7 +1618,8 @@ The first page is inserted only is the target audience is the readers of the
Lettre.
#+begin_src latex
- \bool_if:NT \g__letgut_for_readers_bool {
+ \AddToHook{begindocument/before}{
+ \bool_if:NT \g__letgut_for_readers_bool {
#+end_src
#+begin_src latex
@@ -1848,27 +1766,37 @@ Here starts what is automatically added at the beginning of the document.
- No headers on the first page. This has to be inserted after the previous
(customized) ~\maketitle~ since this command inserts a ~\newpage~ which would
ruin the effort of ~\thispagestyle{empty}~ if inserted before.
- #+begin_src latex
- \thispagestyle{empty}
- #+end_src
-- The table of contents is automatically added and has a bookmark entry.
#+begin_src latex
+ \thispagestyle{empty}
+ #+end_src
+- The table of contents is automatically added and has a bookmark entry. By
+ default only the titles of the articles are shown (but the bookmarks have
+ their natural depth) but the ~detailedtoc~ option make its depth until
+ 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}
+ }
\pdfbookmark[1]{
\c__letgut_contents_name_tl
}{
\c__letgut_contents_name_tl
}
\tableofcontents
- #+end_src
+ \etocsetnexttocdepth{1}
+ #+end_src
Should a title be displayed, the table of contents would be added after it,
followed by a new page (otherwise, if ~\title~ used after ~\begin{document}~
sees its title on the front page, it will overflow onto the banner).
- #+begin_src latex
- \bool_if:NTF \g__letgut_title_empty_bool {
- \vspace*{1.5cm}
- }{
- \newpage
- }
+ #+begin_src latex
+ \bool_if:NTF \g__letgut_title_empty_bool {
+ \vspace*{1.5cm}
+ }{
+ \newpage
+ }
#+end_src
- Conditionally to the fact the ~editorial~ option is not set to ~false~: if the
\file*{editorial.tex} of the editorial is found, its content is input and
@@ -1882,7 +1810,7 @@ Here starts what is automatically added at the beginning of the document.
\pdfbookmark[1]{Éditorial}{
\c__letgut_editorial_file_tl
}
- \file_input:n {./\c__letgut_editorial_file_tl}
+ \__letgut_input_article:n {./\c__letgut_editorial_file_tl}
% % \int_set:N \l_tmpa_int {\pagenumber}
% % \int_compare:nNnT \l_tmpa_int = 1 { \newpage }
#+end_src
@@ -1945,19 +1873,33 @@ The last page is special: it should automatically contain some informations abou
\AddToHook{enddocument}
{
#+end_src
-Conditionally to the fact the ~informations~ option is not set to ~false~: if the
-\file*{informations-gut.tex} which contains the informations about
-\gutenberg. Otherwise, a warning is displayed.
+Conditionally to the fact the ~informations~ option is not set to ~false~: if
+the \file*{informations-gut.tex} which contains the informations about
+\gutenberg{} is found (firstly in the current directory, secondly in the parent
+directory, thirdly in the TDS). Otherwise, a warning is displayed.
#+begin_src latex
\bool_if:NT \g__letgut_informations_bool {
\clearpage
\phantomsection
- \file_if_exist:nTF
- {./\c__letgut_informations_gutenberg_file_tl}{
- \file_input:n {./\c__letgut_informations_gutenberg_file_tl}
+ \file_if_exist:nTF {./\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ ./\c__letgut_informations_gutenberg_file_tl
+ }
}{
- \msg_warning:nn{letgut}{Informations~file~missing}
- \alertbox{ \c__letgut_missing_infomations_tl }
+ \file_if_exist:nTF {../\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ ../\c__letgut_informations_gutenberg_file_tl
+ }
+ }{
+ \file_if_exist:nTF {\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ \c__letgut_informations_gutenberg_file_tl
+ }
+ }{
+ \msg_warning:nn{letgut}{Informations~file~missing}
+ \alertbox{ \c__letgut_missing_infomations_tl }
+ }
+ }
}
}
#+end_src
@@ -1973,6 +1915,7 @@ the author(s) of the “Lettre”.
#+begin_src latex
}
+ }
#+end_src
** Sections, subsections, etc.
@@ -2006,11 +1949,18 @@ the author(s) of the “Lettre”.
{
\leavevmode\leftskip 2cm\relax
}
- {\mdseries\normalsize
+ {
+ \bool_if:NTF \g__letgut_detailedtoc_bool {
+ \bfseries
+ }{
+ \mdseries
+ }
+ \normalsize
\etocname
\nobreak\leaders\hbox~ to~ 1ex{\hss.}\hfill
\etocpage
- \par}
+ \par
+ }
{}
#+end_src
- We also create the new level ~\subtitle~ for the subtitles of the
@@ -2123,7 +2073,7 @@ We define the command that lets us specify the newsletter setup.
#+begin_src latex
\NewDocumentCommand \letgutsetup { m } {
- \keys_set:nn { letgut/setup } { #1 }
+ \keys_set:nn { letgut } { #1 }
}
#+end_src
@@ -2229,7 +2179,8 @@ For both persons and authors, the argument of:
#+begin_src latex
\cs_new_protected:Nn \__letgut_person_last_name:n
{
- {\scshape \__letgut_titlecase_name:n {#1}}
+ {% \scshape
+ \__letgut_titlecase_name:n {#1}}
}
\cs_new_protected:Nn \__letgut_person_first_name_last_name:nn
{
@@ -2248,7 +2199,7 @@ For both persons and authors, the argument of:
\cs_new_protected:Npn \__letgut_process_list:n #1
{
\seq_clear:N \l__letgut_items_seq
- \seq_set_split:Nnn \l_tmpa_seq {and} {#1}
+ \seq_set_split:Nnn \l_tmpa_seq {~and~} {#1}
\seq_map_inline:Nn \l_tmpa_seq {
\seq_set_from_clist:Nn \l_tmpb_seq {##1}
\seq_pop_left:NN \l_tmpb_seq \l_letgut_last_name_tl
@@ -2356,28 +2307,28 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843.
{
{\l__letgut_files_font_switch_tl #1}
}
- \NewDocumentCommand{\package}{ s o m O{package} } {
+ \NewDocumentCommand{\package}{ s o m O{\c__letgut_package_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
}
\__letgut_tex_stuff:nn {#2}{#3}
}
- \NewDocumentCommand{\class}{ s o m O{classe} } {
+ \NewDocumentCommand{\class}{ s o m O{\c__letgut_class_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
}
\__letgut_tex_stuff:nn {#2}{#3}
}
- \NewDocumentCommand{\file}{ s m O{fichier} } {
+ \NewDocumentCommand{\file}{ s m O{\c__letgut_file_tl} } {
\IfBooleanT{#1}{
#3
\c_space_tl
}
\__letgut_file:n {#2}
}
- \NewDocumentCommand {\software} { s O{} m O{logiciel} } {
+ \NewDocumentCommand {\software} { s O{} m O{\c__letgut_software_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
@@ -2386,7 +2337,7 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843.
}
#+end_src
-*** Names, etc.
+*** Names, expressions, etc.
#+begin_src latex
\NewExpandableDocumentCommand { \gutenberg } { } {
@@ -2407,6 +2358,18 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843.
\NewExpandableDocumentCommand { \Cahiers } { } {
\c__letgut_cahiers_tl
}
+ \NewExpandableDocumentCommand { \cahier } { } {
+ \c__letgut_cahier_tl
+ }
+ \NewExpandableDocumentCommand { \cahiers } { } {
+ \c__letgut_cahiers_tl
+ }
+ \NewExpandableDocumentCommand { \cahiergut } { } {
+ \cahier \c_space_tl \gutenberg
+ }
+ \NewExpandableDocumentCommand { \cahiersgut } { } {
+ \cahiers \c_space_tl \gutenberg
+ }
\NewExpandableDocumentCommand { \letgut } { } {
\class{letgut}
}
@@ -2417,10 +2380,22 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843.
\c__letgut_tugboat_tl
}
\NewExpandableDocumentCommand { \knuth } { } {
- \person{Knuth, Donald~ E.}
+ \person{Knuth,~ Donald~ E.}
}
\NewExpandableDocumentCommand { \lamport } { } {
- \person{Lamport, Leslie}
+ \person{Lamport,~ Leslie}
+ }
+ \NewExpandableDocumentCommand { \tl } { } {
+ \c__letgut_tex_live_tl
+ }
+ \NewExpandableDocumentCommand { \linux } { } {
+ \c__letgut_gnu_linux_tl
+ }
+ \NewExpandableDocumentCommand { \macos } { } {
+ \c__letgut_macOS_tl
+ }
+ \NewExpandableDocumentCommand { \windows } { } {
+ \c__letgut_windows_tl
}
#+end_src
@@ -2444,32 +2419,49 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843.
We disabling some commands when their arguments have to go to bookmarks.
#+begin_src latex
- \AddToHook{begindocument/end}{
- \pdfstringdefDisableCommands{
- \def\person#1{#1}
- \def\author#1{#1}
- \def\package#1{#1}
- % \def\package*#1{package~#1}
- \def\class#1{#1}
- % \def\class*#1{classe~#1}
- \def\file#1{#1}
- % \def\file*#1{fichier~#1}
- \def\software#1{#1}
- % \def\software*#1{logiciel~#1}
- \def\foreignloc#1{#1}
- \def\lettre{Lettre}
- \def\gutenberg{GUTenberg}
- \def\gut{\gutenberg}
- \def\lettregut{\lettre\c_space_tl\gutenberg}
- \def\Cahier{Cahier}
- \def\Cahiers{\Cahier s}
- \def\letgut{letgut}
- \def\letgutcls{classe~ letgut}
- \def\knuth{Donald~ E.~ Knuth}
- \def\lamport{Leslie~ Lamport}
- \def\latinloc#1{#1}
- }
- }
+ \AddToHook{begindocument/end}{
+ \pdfstringdefDisableCommands{
+ \RenewExpandableDocumentCommand\person { m }{#1}
+ \RenewExpandableDocumentCommand\author{ m }{#1}
+ \RenewExpandableDocumentCommand \package { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_package_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\class { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_class_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\file { s m }{
+ \IfBooleanT{#1}{\c__letgut_file_tl\c_space_tl}#2
+ }
+ \RenewExpandableDocumentCommand\software { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_software_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\foreignloc{ m }{#1}
+ \RenewExpandableDocumentCommand\latinloc{ m }{#1}
+ \RenewExpandableDocumentCommand\lettre{ }{Lettre}
+ \RenewExpandableDocumentCommand\gutenberg{ }{GUTenberg}
+ \RenewExpandableDocumentCommand\gut{ }{\gutenberg}
+ \RenewExpandableDocumentCommand\lettregut{ }{
+ \lettre\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\Cahier{ }{Cahier}
+ \RenewExpandableDocumentCommand\Cahiers{ }{\Cahier s}
+ \RenewExpandableDocumentCommand\cahier{ }{Cahier}
+ \RenewExpandableDocumentCommand\cahiers{ }{\cahier s}
+ \RenewExpandableDocumentCommand\cahiergut{ }{
+ \cahier\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\cahiersgut{ }{
+ \cahier s\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\letgut{ }{letgut}
+ \RenewExpandableDocumentCommand\letgutcls{ }{classe~ letgut}
+ \RenewExpandableDocumentCommand\knuth{ }{Donald~ E.~ Knuth}
+ \RenewExpandableDocumentCommand\lamport{ }{Leslie~ Lamport}
+ \RenewExpandableDocumentCommand\linux{ }{GNU/Linux}
+ \RenewExpandableDocumentCommand\macos{ }{macOS}
+ \RenewExpandableDocumentCommand\windows{ }{Windows}
+ }
+ }
#+end_src
*** Acronyms
@@ -2549,18 +2541,31 @@ be the uppercased acronym).
The first occurrences of the acronyms will be displayed in their short forms,
with the long ones in footnotes. But what about acronyms whom first occurrences
-arise within footnotes? We want the to be displayed as their short forms
+arise within footnotes? We want them to be displayed as their short forms
followed by their the long form in parentheses. For this, we have to add
a boolean at the beginning (and reversed at the end) of the ~\footnote~ command
to know whether we currently are in a footnote or not and display the acronym
accordingly.
+BTW, we hack the ~\footnote~ command in order to mimic the ~multiple~ option of
+the \package{footmisc} package (consecutive ~\footnote~ commands make their
+corresponding footnote marks separated by commas). See
+https://tex.stackexchange.com/a/62091.
+
#+begin_src latex
+ \let\__letgut_next_token\relax
+ \cs_new_protected:Npn \__letgut_next_token_is_footnote:
+ {\if_meaning:w\footnote\__letgut_next_token\textsuperscript{,}\fi}
\NewCommandCopy{\__letgut_old_footnote}{\footnote}
- \RenewDocumentCommand {\footnote} { m }{
+ \RenewDocumentCommand {\footnote} { O{} m }{
\bool_set_true:N \l__letgut_in_footnote_bool
- \__letgut_old_footnote { #1 }
+ \tl_if_empty:nTF {#1}{
+ \__letgut_old_footnote { #2 }
+ }{
+ \__letgut_old_footnote [#1] { #2 }
+ }
\bool_set_false:N \l__letgut_in_footnote_bool
+ \futurelet\__letgut_next_token\__letgut_next_token_is_footnote:
}
#+end_src
We change a bit both the ~footnote~ acro template, the ~description~ list
@@ -2581,7 +2586,7 @@ template, and the macro which prints the locale.
\space
(
\acroifT {alt} { \acrotranslate {or} ~ \acrowrite {alt} ~ }
- \acroifT {foreign} { \acrowrite {foreign} :~ }
+ \acroifT {foreign} { \acrowrite {foreign} }
\acrowrite {long}
\acrogroupcite
)
@@ -2789,7 +2794,7 @@ extensions of the ~graphicx~ package.
\noindent
\textsf{\fullcite{\g__letgut_bookreview_bibkey_tl}}
\tl_if_empty:NF \g__letgut_bookreview_price_tl{
- .\c_space_tl\EUR{\g__letgut_bookreview_price_tl}
+ .\c_space_tl\g__letgut_bookreview_price_tl\c_space_tl €
}
\par
}{
@@ -2797,6 +2802,56 @@ extensions of the ~graphicx~ package.
}
#+end_src
+** Keyboard keys
+
+We make use of the Linux Biolinum Keyboard font and extend somehow the ~\LKey~
+provided by the \package*{biolinum} in order to more easily write keyboard keys
+for usual characters on French keyboards.
+
+#+begin_src latex
+ \DeclareRobustCommand*\LKey[1]{%
+ \ifx#10\biolinumKeyGlyph{zero}% % spurious space removed 2016/06/24
+ \else\ifx#11\biolinumKeyGlyph{one}%
+ \else\ifx#12\biolinumKeyGlyph{two}%
+ \else\ifx#13\biolinumKeyGlyph{three}%
+ \else\ifx#14\biolinumKeyGlyph{four}%
+ \else\ifx#15\biolinumKeyGlyph{five}%
+ \else\ifx#16\biolinumKeyGlyph{six}%
+ \else\ifx#17\biolinumKeyGlyph{seven}%
+ \else\ifx#18\biolinumKeyGlyph{eight}%
+ \else\ifx#19\biolinumKeyGlyph{nine}%
+ \else\ifx#1à\biolinumKeyGlyph{agrave}%
+ \else\ifx#1À\biolinumKeyGlyph{Agrave}%
+ \else\ifx#1â\biolinumKeyGlyph{acircumflex}%
+ \else\ifx#1Â\biolinumKeyGlyph{Acircumflex}%
+ \else\ifx#1é\biolinumKeyGlyph{eacute}%
+ \else\ifx#1É\biolinumKeyGlyph{Eacute}%
+ \else\ifx#1è\biolinumKeyGlyph{egrave}%
+ \else\ifx#1È\biolinumKeyGlyph{Egrave}%
+ \else\ifx#1ê\biolinumKeyGlyph{ecircumflex}%
+ \else\ifx#1Ê\biolinumKeyGlyph{Ecircumflex}%
+ \else\ifx#1ë\biolinumKeyGlyph{edieresis}%
+ \else\ifx#1Ë\biolinumKeyGlyph{Edieresis}%
+ \else\ifx#1î\biolinumKeyGlyph{icircumflex}%
+ \else\ifx#1Î\biolinumKeyGlyph{Icircumflex}%
+ \else\ifx#1ï\biolinumKeyGlyph{idieresis}%
+ \else\ifx#1Ï\biolinumKeyGlyph{Idieresis}%
+ \else\ifx#1ô\biolinumKeyGlyph{ocircumflex}%
+ \else\ifx#1Ô\biolinumKeyGlyph{Ocircumflex}%
+ \else\ifx#1ù\biolinumKeyGlyph{ugrave}%
+ \else\ifx#1Ù\biolinumKeyGlyph{Ugrave}%
+ \else\ifx#1û\biolinumKeyGlyph{ucircumflex}%
+ \else\ifx#1Û\biolinumKeyGlyph{Ucircumflex}%
+ \else\ifx#1ü\biolinumKeyGlyph{udieresis}%
+ \else\ifx#1Ü\biolinumKeyGlyph{Udieresis}%
+ \else\ifx#1ÿ\biolinumKeyGlyph{ydieresis}%
+ \else\ifx#1Ÿ\biolinumKeyGlyph{Ydieresis}%
+ \else\ifx#1ç\biolinumKeyGlyph{ccedilla}%
+ \else\ifx#1Ç\biolinumKeyGlyph{Ccedilla}%
+ \else\biolinumKeyGlyph{#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+#+end_src
+
** Miscellanous
- We specify the possible hyphenations of \enquote{\gutenberg}.
@@ -2804,6 +2859,22 @@ extensions of the ~graphicx~ package.
\hyphenation{GUT-enberg}
#+end_src
+*** ISSN
+
+#+begin_src latex
+ \cs_new_protected:Npn \__letgut_issn:
+ {
+ \bool_if:NTF \g__letgut_paper_bool {
+ \c__letgut_paper_issn_tl
+ }{
+ \c__letgut_online_issn_tl
+ }
+ }
+ \NewDocumentCommand{\letgutissn}{ }{
+ \__letgut_issn:
+ }
+#+end_src
+
*** Non selectable text
We create a control sequence that makes its argument not selectable in the
@@ -2820,7 +2891,7 @@ watermarks.
We provide a ~\meta~ macro that (poorly) mimics the one of the
\package*{doc}. It is added at the very end of the preamble since other
- package that provide a better definition of this macro may have been loaded
+ package that provide another definition of this macro may have been loaded
(e.g. \package{tcolorbox}).
#+begin_src latex
\colorlet {__letgut_meta} {
@@ -2835,49 +2906,168 @@ watermarks.
\textcolor{#1}{$\langle$#2$\rangle$}
\egroup
}
- \AddToHook{begindocument/before}{
- \ProvideDocumentCommand{\meta}{ O{__letgut_meta} m } {
+ \AddToHook{begindocument/end}{
+ \DeclareDocumentCommand{\meta}{ O{__letgut_meta} m } {
\__letgut_meta:nn {#1}{#2}
}
}
#+end_src
-** LaTeX listings and examples
+** Listings
-We first define some colors used in the listings and examples.
+We define a style for all the listings which resets all the \TeX{} control
+sequences and keywords, and fix some defaults.
#+begin_src latex
- \definecolor{__letgut_backgroundCode}{cmyk}{0,0,0,0.04}
- \definecolor{__letgut_borderCode}{cmyk}{0,0,0,0.2}
- \definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
- \definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
- \definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
+ \lstdefinestyle{__letgut_reset_listings_styles}{
+ basicstyle=\ttfamily,
+ breaklines,
+ language=TeX,%
+ texcs={},%
+ language={},%
+ keywords={},%
+ keywords=[2]{},%
+ keywords=[3]{},%
+ keywords=[4]{},%
+ keywords=[5]{},%
+ otherkeywords={},%
+ alsoletter={},%
+ alsodigit={},%
+ escapechar=£,
+ columns=fullflexible,
+ keepspaces=true,
+ upquote=true,
+ showstringspaces=false,
#+end_src
-We now define the colors for the syntax highlighting and define the style of our
-listings.
+If line numbers are asked, they should always have the same layout and not be
+selectable (hence the ~\__letgut_unselectable:n~).
+
+#+begin_src latex
+ numbersep=\c__letgut_number_sep_dim,
+ numberstyle=\scriptsize\ttfamily
+ \color{__letgut_foregroundLinenumber}
+ \__letgut_unselectable:n,
+ #+end_src
+
+Because of a current issue involving \package{parskip} and \package{listings}
+(\url{https://github.com/FrankMittelbach/fmitex-parskip/issues/3}), we have to
+set the skip below the displayed listings to a (almost) zero length. We do the
+same for the above skip.
+
+#+begin_src latex
+ aboveskip={0\p@ \@plus 6\p@},
+ belowskip={0\p@ \@plus 6\p@},
+ }
+#+end_src
+
+We define as short equivalent of ~\lstinline~ the character
+\lstDeleteShortInline⅛\texttt{⅛} which is unlikely to be used in ordinary text.
+
+#+begin_src latex
+\lstMakeShortInline[breaklines=false]⅛
+#+end_src
+
+We start with an empty listings style.
+
+#+begin_src latex
+ \lstset{ style=__letgut_reset_listings_styles }
+ #+end_src
+
+We create our own ~\input~ command for the articles of the Lettre with the
+following characteristics:
+
+- The previous style is applied automatically. Hence, the keywords defined in
+ a previous file (by loading some peticular (La)TeX dialects, i.e. control
+ sequences and keywords specific to some class or packages) won't interfere
+ with the ones of the current file.
+- All the acronyms are reset (each acronym is developped at its first occurrence).
+
+#+begin_src latex
+ \cs_new_protected:Npn \__letgut_input_article:n #1
+ {
+ \lstset{ style=__letgut_reset_listings_styles }
+ \acresetall%
+ \file_input:n{#1}%
+ }
+ \NewDocumentCommand{\inputarticle}{m}{
+ \__letgut_input_article:n { #1 }
+ }
+#+end_src
+
+*** LaTeX listings and examples
+
+We define the colors for the syntax highlighting of LaTeX listings.
#+begin_src latex
\colorlet{__letgut_texcs}{blue}
\colorlet{__letgut_comment}{gray}
- \colorlet{__letgut_argument-specification-separator}{red}
- \colorlet{__letgut_argument-specification}{cyan}
- \colorlet{__letgut_mandatory-argument}{purple}
+ \colorlet{__letgut_argument_specification_separator}{red}
+ \colorlet{__letgut_argument_specification}{cyan}
+ \colorlet{__letgut_mandatory_argument}{purple}
\colorlet{__letgut_environment}{teal}
- \colorlet{__letgut_key}{__letgut_mandatory-argument}
+ \colorlet{__letgut_key}{__letgut_mandatory_argument}
\colorlet{__letgut_value}{violet}
- \colorlet{__letgut_optional-argument}{__letgut_key}
+ \colorlet{__letgut_optional_argument}{__letgut_key}
\colorlet{__letgut_math}{green!50!black}
- \lstset{%
+#+end_src
+
+We add our own language files taken in account by the \package*{listings}. They
+will be considered after the other usual ones, if found. They are searched firstly
+in the current directory, secondly in the parent directory, thirdly in the TDS.
+
+#+begin_src latex
+ \def\lstlanguagefiles{
+ lstlang0.sty,
+ lstlang1.sty,
+ lstlang2.sty,
+ lstlang3.sty,
+ ./\c__letgut_lstlanguage_file_tl,
+ ../\c__letgut_lstlanguage_file_tl,
+ \c__letgut_lstlanguage_file_tl
+ }
+#+end_src
+
+We define a listing style specific to LaTeX listings.
+
+#+begin_src latex
+ \lstdefinestyle{__letgut_latex_listings_style}{
+ language=TeX,%
+ alsolanguage=[AlLaTeX]TeX,%
+ alsolanguage=[LaTeX]TeX,%
+ alsolanguage=[plain]TeX,%
+ alsolanguage=[common]TeX,%
+ alsolanguage=[primitive]TeX,%
+ alsolanguage=[extLaTeX]TeX,%
+ alsolanguage=[classes]TeX,%
texcsstyle=*\color{__letgut_texcs},
commentstyle=\color{__letgut_comment}\itshape,
- keywordstyle= \color{__letgut_argument-specification-separator},
+ keywordstyle= \color{__letgut_argument_specification_separator},
keywordstyle={[2]\color{__letgut_environment}},
keywordstyle={[3]\color{__letgut_key}},
keywordstyle={[4]\color{__letgut_value}},
- keywordstyle={[5]\color{__letgut_argument-specification}},
+ keywordstyle={[5]\color{__letgut_argument_specification}},
keywordstyle={[6]\color{__letgut_key}},
- escapechar=£,
+ numbers=left,
+#+end_src
+
+The ~listings~ package defines some of the LaTeX's environments as keywords of
+order 1. This would force us to do the same in our own language driver file but
+would ruin our effort to stylize in a special way (in red) other keywords (see
+~otherkeywords={...}~) that are stylized as keywords of order 1. Hence, we
+delete these keywords of order 1 and will add them as keywords of order 2 like
+all the environments in our own language driver file (in the ~extLaTeX~ dialect
+that we load by default).
+
+#+begin_src latex
+ deletekeywords={%
+ array,center,displaymath,document,enumerate,eqnarray,%
+ equation,flushleft,flushright,itemize,list,lrbox,math,minipage,%
+ picture,sloppypar,tabbing,tabular,trivlist,verbatim,%
+ },%
+#+end_src
+
+#+begin_src latex
literate=*%
{\\\\}{{{\color{__letgut_texcs}\textbackslash\textbackslash}}}{2}%
{\\[}{{\textcolor{__letgut_math}{\textbackslash[}}}{2}%
@@ -2886,11 +3076,31 @@ listings.
}
#+end_src
+We first define some colors used in the listings and examples.
+
+#+begin_src latex
+ \definecolor{__letgut_backgroundCode}{cmyk}{0,0,0,0.04}
+ \definecolor{__letgut_borderCode}{cmyk}{0,0,0,0.2}
+ \definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
+ \definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
+ \definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
+ #+end_src
+
For the listings and examples, we rely on \package*{tcolorbox}, and more
specifically on some of its libraries.
#+begin_src latex
- \tcbuselibrary{listings,xparse,breakable,skins}
+ \tcbuselibrary{listings,xparse,breakable,skins,hooks}
+#+end_src
+
+We want some common settings for all the ~tcolorbox~es.
+
+#+begin_src latex
+ \tcbset{
+ breakable,
+ sharp~ corners,
+ fonttitle=\sffamily\bfseries,
+ }
#+end_src
The functions:
@@ -2932,7 +3142,7 @@ The functions:
}
#+end_src
-We define the style of the codes and the results boxes.
+We define the style of the codes.
#+begin_src latex
\tl_set:Nn \l__letgut_reference_text_tl {
@@ -2941,32 +3151,20 @@ We define the style of the codes and the results boxes.
\tcbset{
__letgut_code/.style={
listing~ options={
- % style=tcblatex,
- numbers=left,
- numbersep=\c__letgut_number_sep_dim,
- #+end_src
- We want the line numbers to not be selectable, hence the ~\__letgut_unselectable:n~:.
- #+begin_src latex
- numberstyle=
- \scriptsize
- \ttfamily
- \color{__letgut_foregroundLinenumber}
- \__letgut_unselectable:n,
- },
- every~ float=\raggedleft,
- colback=__letgut_backgroundCode,
- breakable,
- sharp~ corners,
- boxrule=0.25mm,
- colframe=__letgut_borderCode,
- sidebyside~ align=top~ seam,
- toprule~ at~ break=0mm,
- bottomrule~ at~ break=0mm,
- colbacktitle=__letgut_borderCode,
- fonttitle=\sffamily\bfseries,
- before~ title={
- \tl_set:Nn \l__letgut__tex_stuff_font_switch_tl {\rmfamily}
- },
+ style=__letgut_latex_listings_style,
+ },
+ every~ float=\raggedleft,
+ colback=__letgut_backgroundCode,
+ boxrule=0.25mm,
+ colframe=__letgut_borderCode,
+ sidebyside~ align=top~ seam,
+ toprule~ at~ break=0mm,
+ bottomrule~ at~ break=0mm,
+ colbacktitle=__letgut_borderCode,
+ fonttitle=\sffamily\bfseries,
+ before~ title={
+ \tl_set:Nn \l__letgut__tex_stuff_font_switch_tl {\rmfamily}
+ },
#+end_src
We define a custom \package*{tcolorbox}'s ~title addon~ option that let us
specify an addon to the title which will added after the automatically
@@ -2989,6 +3187,9 @@ specify the width of the result which is ~\linewidth~ by default.
result~ width/.store~ in=\l__letgut_result_width_dim,
result~ width=\linewidth,
},
+ #+end_src
+We define more specifically the style of the codes with results.
+ #+begin_src latex
__letgut_code_result/.style={
__letgut_code={#1},
bicolor,
@@ -3161,8 +3362,322 @@ We now use hooks in order to...
\skip_set_eq:NN \intextsep \c__letgut_reduced_intextsep_skip
}
}
+ #+end_src
+
+Since the syntax highlighting is reset at each ~\input~, the ~ltx-code-*~
+environments above provide syntax highlighting only for the commands of the \TeX
+dialects specified in the class. So we provide a specific command that let us
+specify (the dialects of) the main language (\TeX by default) for which we want
+syntax highlighting. This assumes that the commands and keywords of these
+packages are listed (properly, according to the ~listings~ package syntax) in
+the `lstlang0.sty` or ~letgut-lstlang.sty~ files.
+
+ #+begin_src latex
+ \cs_new_protected:Npn \__letgut_tcbset:n #1
+ {
+ \tcbset{
+ __letgut_code/.append~ style={
+ listing~ options~ app={
+ #1
+ }
+ }
+ }
+ }
+ \cs_new_protected:Npn \__letgut_alsolanguage_list:nn #1 #2
+ {
+ #+end_src
+ To reduce syntax highlighting conflicts, we reset all previous ones each
+ time a new one is asked.
+ #+begin_src latex
+ \lstset{%
+ style=__letgut_reset_listings_styles,%
+ }
+ \tl_if_empty:nTF {#1} {
+ \tl_set:Nx \l_tmpa_tl {
+ alsolanguage={#2}
+ }
+ \exp_args:NV \__letgut_tcbset:n
+ {
+ \l_tmpa_tl
+ }
+ }{
+ \seq_set_from_clist:Nn \l_tmpa_seq {#1}
+ \seq_set_map_x:NNn \l_tmpb_seq \l_tmpa_seq {
+ alsolanguage={[##1]#2}
+ }
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \seq_use:Nn \l_tmpb_seq {,}
+ }
+ \exp_args:NV \__letgut_tcbset:n
+ {
+ \l_tmpa_tl
+ }
+ }
+ }
+ \NewDocumentCommand{\syntaxhl}{ O{TeX} m}{%
+ \__letgut_alsolanguage_list:nn {#2} {#1}
+ }
+ #+end_src
+
+*** Terminal listings
+
+We define a command dedicated to terminal stdin and stdout.
+
+#+begin_src latex
+\AddToHook{begindocument/before}{
+#+end_src
+
+We define a listing style specific to these terminal commands.
+
+ #+begin_src latex
+ \definecolor{__letgut_terminal_prompt}{RGB}{204,0,0}
+ \colorlet{__letgut_terminal_comment}{gray!80}
+ \definecolor{__letgut_terminal_commands}{RGB}{241,124,81}
+ \definecolor{__letgut_terminal_keywords}{RGB}{173,127,168}
+ \definecolor{__letgut_terminal_variables}{RGB}{114,159,207}
+ \colorlet{__letgut_terminal_utilities}{__letgut_terminal_commands}
+ \definecolor{__letgut_terminal_strings}{RGB}{78,154,6}
+#+end_src
+
+ #+begin_src latex
+ \lstdefinestyle{__letgut_terminal_listings_style}{
+ commentstyle= \color{__letgut_terminal_comment},
+ keywordstyle= \color{__letgut_terminal_commands},
+ keywordstyle={[2]\color{__letgut_terminal_keywords}},
+ keywordstyle={[3]\color{__letgut_terminal_utilities}},
+ stringstyle= \color{__letgut_terminal_strings},
+ literate=*%
+ {$}{{\textcolor{__letgut_terminal_variables}{\$}}}{1}%$
+ }
#+end_src
+We define a dialect which is missing in the \package*{listings}.
+
+#+begin_src latex
+ \lstdefinelanguage{terminal}{%
+ morekeywords={%
+ alias,bg,bind,break,builtin,caller,cd,command,compgen,%
+ complete,compopt,continue,declare,dirs,disown,echo,enable,%
+ eval,exec,exit,export,fc,fg,getopts,hash,help,history,%
+ jobs,kill,let,local,logout,mapfile,popd,printf,pushd,pwd,%
+ read,readarray,readonly,return,set,shift,shopt,source,%
+ suspend,test,times,trap,type,typeset,ulimit,umask,unalias,%
+ unset,wait,%
+ },%
+ morekeywords=[2]{%
+ case,do,done,elif,else,esac,fi,for,function,if,in,select,%
+ then,time,until,while,%
+ },%
+ morekeywords=[3]{%
+ apropos,apt,apt-get,aptitude,aspell,at,awk,base32,base64,%
+ basename,bash,bc,bzip2,cal,cat,cfdisk,chattr,chgrp,%
+ chkconfig,chmod,chown,chpasswd,chroot,cksum,clear,cmp,comm,%
+ cp,cpio,cron,crontab,csplit,curl,cut,date,dc,dd,ddrescue,%
+ df,diff,diff3,dig,dir,dircolors,dirname,dmesg,dos2unix,%
+ dpkg,du,egrep,eject,env,ethtool,expand,expr,false,fdformat,%
+ fdisk,fgrep,file,find,fmt,fold,format,free,fsck,ftp,fuser,%
+ gawk,grep,groupadd,groupdel,groupmod,groups,gzip,head,%
+ hostname,htop,iconv,id,ifconfig,ifdown,ifup,import,install,%
+ iostat,ip,join,killall,less,link,ln,locate,logname,look,%
+ lpc,lpr,lprint,lprintd,lprintq,lprm,ls,lsattr,lsblk,lsof,%
+ lspci,make,man,mkdir,mkfifo,mkfile,mkisofs,mknod,mktemp,%
+ mmv,more,most,mount,mtools,mtr,mv,nc,netstat,nft,nice,nl,%
+ nohup,notify-send,nslookup,op,open,passwd,paste,pathchk,%
+ Perf,pgrep,ping,pkill,pr,printcap,printenv,ps,pv,quota,%
+ quotacheck,ram,rar,rcp,reboot,remsync,rename,renice,rev,rm,%
+ rmdir,rsync,scp,screen,sdiff,sed,seq,sftp,shuf,shutdown,%
+ sleep,slocate,sort,split,ss,ssh,stat,strace,su,sudo,sum,%
+ sync,tail,tar,tee,timeout,tmux,top,touch,tput,tr,%
+ traceroute,true,tsort,tty,umount,uname,unexpand,uniq,units,%
+ unix2dos,unrar,unshar,uptime,useradd,userdel,usermod,users,%
+ uudecode,uuencode,vdir,vi,vmstat,watch,wc,wget,whereis,%
+ which,who,whoami,write,xargs,xdg-open,xxd,xz,yes,zip,%
+ },%
+ alsoletter={2346-},%
+ morecomment=[l]\#,%
+ morestring=[d]",%
+ morestring=[d]',%
+ sensitive%
+ }[keywords,comments,strings]%
+#+end_src
+
+We define some colors used in the terminal listings.
+
+ #+begin_src latex
+ \definecolor{__letgut_foreground_terminal_dark}{named}{black}
+ \colorlet{__letgut_background_terminal_dark_stdin}{
+ letgut_pagecolor!95!gray
+ }
+ \colorlet{__letgut_background_terminal_dark_stdout}{
+ __letgut_background_terminal_dark_stdin!60
+ }
+ \definecolor{__letgut_foreground_terminal_light}{named}{black}
+ \definecolor{__letgut_background_terminal_light_stdin}{rgb}{
+ 0.99,0.975,0.98
+ }
+ \colorlet{__letgut_background_terminal_light_stdout}{
+ __letgut_background_terminal_light_stdin!40
+ }
+#+end_src
+
+ #+begin_src latex
+ \bool_if:NTF \g__letgut_paper_bool {
+ \colorlet{__letgut_foreground_terminal}{
+ __letgut_foreground_terminal_light
+ }
+ \colorlet{__letgut_background_terminal_stdin}{
+ __letgut_background_terminal_light_stdin
+ }
+ \colorlet{__letgut_background_terminal_stdout}{
+ __letgut_background_terminal_light_stdout
+ }
+ }{
+ \colorlet{__letgut_foreground_terminal}{
+ __letgut_foreground_terminal_dark
+ }
+ \colorlet{__letgut_background_terminal_stdin}{
+ __letgut_background_terminal_dark_stdin
+ }
+ \colorlet{__letgut_background_terminal_stdout}{
+ __letgut_background_terminal_dark_stdout
+ }
+ }
+ #+end_src
+
+ We define the style of the ~tcolorbox~ in which the terminal stdin and stdout
+ will be displayed.
+
+ #+begin_src latex
+ \tcbset{%
+ terminal/.style={%
+ colupper=__letgut_foreground_terminal,
+ collower=__letgut_foreground_terminal,
+ breakable,
+ segmentation~ at~ break=false,
+ boxrule=0mm,
+ before~ lower={\tcbset{every~ listing~ line={}}},
+ listing~ options={%
+ style=__letgut_terminal_listings_style,
+ language=terminal,
+ },
+ every~ listing~ line={%
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
+ },
+ },
+ }
+ #+end_src
+
+ We define now the command
+
+ #+begin_src latex
+ \cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
+ {
+ \bool_set_false:N \l_tmpa_bool
+ \tl_if_empty:nF {#3}{
+ \tcbset{tempfile=\jobname-stdin.tex}
+ \exp_args:Nx \scantokens
+ {
+ \token_to_str:N\begin{tcbwritetemp}
+ #3
+ \token_to_str:N\end{tcbwritetemp}
+ }
+ }
+ \tl_if_empty:nF {#4}{
+ \tcbset{tempfile=\jobname-stdout.tex}
+ \exp_args:Nx \scantokens
+ {
+ \token_to_str:N\begin{tcbwritetemp}
+ #4
+ \token_to_str:N\end{tcbwritetemp}
+ }
+ }
+ \tl_if_empty:nTF {#3}{
+ \tl_if_empty:nTF {#4}{
+ \bool_set_true:N \l_tmpa_bool
+ }{
+ \tcbset{colback=__letgut_background_terminal_stdout}
+ }
+ }{
+ \tcbset{colback=__letgut_background_terminal_stdin}
+ \tl_if_empty:nTF {#4}{
+ }{
+ \tcbset{
+ bicolor,
+ middle=0mm,
+ boxsep=0mm,
+ colbacklower=__letgut_background_terminal_stdout,
+ }
+ }
+ }
+ \bool_if:NF \l_tmpa_bool {
+ \begin{tcolorbox}[terminal={#1},#2]
+ \lstset{aboveskip=0pt}
+ \tl_if_empty:nF {#3}{
+ \tcbset{
+ tempfile=\jobname-stdin.tex,
+ }
+ \tcbusetemplisting
+ \tl_if_empty:nF {#4}{
+ \tcblower
+ }
+ }
+ \tl_if_empty:nF {#4}{
+ \tl_if_empty:nF {#3}{
+ \lstset{aboveskip=0pt}
+ }
+ \tcbset{
+ tempfile=\jobname-stdout.tex,
+ every~ listing~ line={},
+ listing~ options~ app={
+ language={}
+ }
+ }
+ \tcbusetemplisting
+ }
+ \end{tcolorbox}
+ }
+ }
+ \NewDocumentCommand{\terminal}{ O{\$} O{} +v +v}{
+ \__letgut_terminal:nnnn {#1} {#2} {#3} {#4}
+ }
+ #+end_src
+
+ We close the ~\AddToHook{begindocument/before}~ argument.
+
+ #+begin_src latex
+}
+ #+end_src
+
+*** Unicode characters with positions above 256
+
+Unicode characters with positions above 256 causes troubles in
+listings. Here is a workaround for some of them (see
+https://tex.stackexchange.com/a/25396).
+
+ #+begin_src latex
+ \lst@InputCatcodes
+ \def\lst@DefEC{%
+ \lst@CCECUse \lst@ProcessLetter
+ ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
+ ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
+ ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
+ ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
+ ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
+ ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
+ ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
+ ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
+ ^^^^201c^^^^201d% for “ and ”
+ ^^^^215b% for ⅛
+ ^^00%
+ }
+ \lst@RestoreCatcodes
+ #+end_src
+
** Local config file
Each issue of the Lettre requires certain local configurations: configuration
@@ -3170,13 +3685,13 @@ dedicated to the issue in question, particular packages used in the articles,
specific configurations of the \package*{listings}, etc. In order to not clutter
the main \file*{.tex} of the Lettre, a local configuration file named
\file{localconf.tex}, if present in the current directory, is automatically
-included at the end of the end of the preamble. And since this file is input in
-the current category régime (~\ExplSyntaxOn~), a ~\ExplSyntaxOff~ is
-automatically inserted at its beginning.
+included at the end the preamble. And since this file is input in the current
+category régime (~\ExplSyntaxOn~), a ~\ExplSyntaxOff~ is automatically inserted
+at its beginning.
#+begin_src latex
\file_if_exist:nT {./\c__letgut_local_config_file_tl}{
- \AddToHook { file/before/./\c__letgut_local_config_file_tl } {
+ \AddToHook { file/./\c__letgut_local_config_file_tl/before } {
\ExplSyntaxOff
}
\file_input:n {./\c__letgut_local_config_file_tl}
@@ -3201,22 +3716,22 @@ several purposes:
- the books reviews,
- the books advertisements.
-#+begin_src latex :tangle letgut.lbx :exports both
- \ProvidesFile{letgut.lbx}[2022-03-22 v0.9.1 letgut localization]
- \InheritBibliographyExtras{french}
- \DeclareBibliographyStrings{
- inherit = {french},
- number = {{\no}{\no}},
- volume = {{volume}{vol\adddot}},
- volumes = {{volumes}{vol\adddot}},
- }
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.lbx :exports both
+\ProvidesFile{letgut.lbx}[2022-06-18 v0.9.2 letgut localization]
+\InheritBibliographyExtras{french}
+\DeclareBibliographyStrings{
+ inherit = {french},
+ number = {{\no}{\no}},
+ volume = {{volume}{vol\adddot}},
+ volumes = {{volumes}{vol\adddot}},
+}
#+end_src
We create the new bibliography driver ~bookreview~ (that seems to
create the corresponding new entry).
- #+begin_src latex :tangle letgut.dbx :exports both
- \ProvidesFile{letgut.dbx}[2022-03-22 v0.9.1 letgut data model macros]
+ #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.dbx :exports both
+ \ProvidesFile{letgut.dbx}[2022-06-18 v0.9.2 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
@@ -3270,21 +3785,21 @@ several purposes:
We provide a specific ~biblatex~ citation style .
-#+begin_src latex :tangle letgut.cbx :exports both
- \ProvidesFile{letgut.cbx}[2022-03-22 v0.9.1 letgut base citation style]
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both
+ \ProvidesFile{letgut.cbx}[2022-06-18 v0.9.2 letgut base citation style]
\RequireCitationStyle{numeric}
#+end_src
The books reviewed have their titles not only emphasized, but in bold face as
well...
-#+begin_src latex :tangle letgut.cbx :exports both
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both
\DeclareFieldFormat[bookreview]{title}{\textbf{\emph{#1}}}
#+end_src
... but not their subtitles.
-#+begin_src latex :tangle letgut.cbx :exports both
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both
\renewbibmacro*{title}{%
\ifboolexpr{
test {\iffieldundef{title}}
@@ -3304,7 +3819,9 @@ well...
** Example file of an issue of the newsletter
- #+begin_src latex :tangle lettre-example.tex :exports both
+ #+begin_src latex :tangle ../../../doc/lualatex/letgut/lettre-example.tex :exports both
+ % Hey, Emacs! This is a -*- mode: latex -*- file!
+
\documentclass{letgut}
\letgutsetup{
@@ -3366,6 +3883,13 @@ well...
% % `informations=false`.
%
% , informations=false
+ %
+ % % Lors de la conception d'un numéro de la Lettre,
+ % % il peut être utile d'avoir un plan détaillé au
+ % % maximum de l'ensemble du document. C'est ce que
+ % % permet l'option `detailedtoc`.
+ %
+ % , detailedtoc
}
\setmainfont{TeX Gyre Schola} % Par exemple
@@ -3380,7 +3904,6 @@ well...
\end{document}
%%% Local Variables:
- %%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:
@@ -3388,7 +3911,7 @@ well...
** Example of an editorial
- #+begin_src latex :tangle editorial.tex :exports both
+ #+begin_src latex :tangle ../../../doc/lualatex/letgut/editorial.tex :exports both
Ceci est un intéressant éditorial de la \lettregut{}
dans lequel on peut causer de l'\ag{} et du \ca{}
de l'association. Il peut aussi y être question du \ctan.
@@ -3407,7 +3930,9 @@ well...
** Informations about \gutenberg
- #+begin_src latex :tangle informations-gut.tex :exports both
+ #+begin_src latex :tangle ../../../tex/lualatex/letgut/informations-gut.tex :exports both
+ % Hey, Emacs! This is a -*- mode: latex -*- file!
+
\enlargethispage{1.5cm}
\small
\vspace*{-1cm}
@@ -3418,24 +3943,24 @@ well...
\end{minipage}%
}%
\hfill%
- \begin{minipage}[t]{.4\textwidth}%\vspace{0pt}%
+ \begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
\footnotesize\raggedleft%
Association \gut{}\\
15 rue des Halles -- \textsc{bp} 74\\
75001 Paris\\
France\\
- \nolinkurl{secretariat@gutenberg.eu.org}
+ \url{secretariat[at]gutenberg[dot]eu[dot]org}
\end{minipage}%
\begin{description}
- \item[Site internet :] \url{https://www.gutenberg.eu.org/}
- \item[\Cahiers{} :] \url{http://cahiers.gutenberg.eu.org/}
+ \item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
+ \item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
\item[Problèmes techniques :]
\leavevmode
\begin{description}
\item[la liste \texttt{gut} :]
- \url{https://www.gutenberg.eu.org/-Listes-de-diffusion-}
- \item[le site \TeX nique de questions et réponses :]
+ \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
+ \item[le site \hologo{TeX}nique de questions et réponses :]
\url{https://texnique.fr/}
\item[la foire aux questions :]
\url{https://faq.gutenberg.eu.org}
@@ -3443,9 +3968,9 @@ well...
\end{description}
%
\alertbox{%
- Cette association est la vôtre: faites-nous part de
+ Cette association est la vôtre : faites-nous part de
vos idées, de vos envies, de vos préoccupations
- à l'adresse \nolinkurl{secretariat@gutenberg.eu.org}.%
+ à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
}
% \section[Association GUTenberg (tout sur l')]
@@ -3468,19 +3993,20 @@ well...
% confidentielles, merci de le signaler.
\end{itemize}
+ \vspace*{-0.7cm}
\section{Tarifs \the\year}
Les membres de \gut\ peuvent adhérer à l'association
internationale, le \acf{tug}, et recevoir son bulletin
- \emph{\acs{tug}boat} à un tarif préférentiel :
+ \tugboat{} à un tarif préférentiel :
\begin{description}
- \item[tarif normal :] \EUR{65} (au lieu de 85~\$)
- \item[tarif étudiant :] \EUR{40} (au lieu de 55~\$)
+ \item[tarif normal :] 65~€ (au lieu de 85~\$)
+ \item[tarif étudiant :] 40~€ (au lieu de 55~\$)
\end{description}
- % (\EUR{49,50}, étudiants et demandeurs d'emploi :
- % \EUR{29}, au lieu de 85\$ et % 65\$). Voir
+ % (49~€50}, étudiants et demandeurs d'emploi :
+ % 29~€, au lieu de 85\$ et % 65\$). Voir
% \url{%
- % https://www.gutenberg.eu.org/?Adherer-a-l-association%
+ % https://www.gutenberg-asso.fr/?Adherer-en-ligne%
% }.
\footnotesize
@@ -3489,13 +4015,13 @@ well...
\toprule
\textbf{Type d'adhésion} & \textbf{Prix} \\
\midrule
- Membre individuel & \EUR{30} \\
- Membre individuel + adhésion \acs{tug} & \EUR{95} \\
- Membre individuel étudiant/demandeur d'emploi & \EUR{15} \\
- Membre individuel étudiant + adhésion \acs{tug} & \EUR{55} \\
- Association d'étudiants & \EUR{65} \\
- Organisme à but non lucratif & \EUR{130} \\
- Organisme à but lucratif & \EUR{229} \\
+ Membre individuel & 30~€ \\
+ Membre individuel + adhésion \acs{tug} & 95~€ \\
+ Membre individuel étudiant/demandeur d'emploi & 15~€ \\
+ Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
+ Association d'étudiants & 65~€ \\
+ Organisme à but non lucratif & 130~€ \\
+ Organisme à but lucratif & 229~€ \\
\bottomrule
\end{tabular}
\end{center}
@@ -3506,7 +4032,7 @@ well...
\begin{itemize}
\item \textbf{virement bancaire}%
\footnote{Nous vous remercions de \textbf{privilégier}
- le \textbf{virement bancaire}.\label{fn:1}} (IBAN :
+ le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
FR76 1870 7000 3003 0191 3568 475)%
\leavevmode
@@ -3515,9 +4041,9 @@ well...
dans les références du virement !%
}
\item Paypal\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg.eu.org/?Adherer-en-ligne}
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
\item bulletin et chèque\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg.eu.org/?Adherer-a-l-association}
+ \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
\end{itemize}
\vfill
@@ -3544,8 +4070,8 @@ well...
Directeur de la publication :
& \person{Bideault, Patrick} \\
Comité de rédaction :
- & {Patrick \bsc{Bideault}, Denis \bsc{Bitouzé}, \\
- Céline \bsc{Chevalier} \& Maxime \bsc{Chupin}} \\
+ & {Patrick Bideault, Denis Bitouzé, \\
+ Céline Chevalier \& Maxime Chupin} \\
Adresse de la rédaction : &
{
Association \gut\\
@@ -3553,18 +4079,3707 @@ well...
75001 Paris
}
\\
- \acs{issn} : & 2742-6149 (version numérique)
+ \acs{issn} : & \letgutissn
\end{tblr}
\end{center}
\vfill
\mbox{}
\clearpage
-
- %%% Local Variables:
- %%% mode: latex
- %%% End:
#+end_src
-* Footnotes
+** Acronyms
+
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut-acronyms.tex :exports both
+% Hey, Emacs! This is a -*- mode: latex -*- file!
+
+%%%%%%%%%%%%%%%%%%%%%
+% Acronymes anglais %
+%%%%%%%%%%%%%%%%%%%%%
+\letgutacro%
+{CTAN}%
+{\href{https://www.ctan.org/}{Comprehensive \hologo{TeX} Archive
+ Network}}%
+[réseau complet d'archives \hologo{TeX}]
+
+\letgutacro%
+{PDF}%
+{Portable Document Format}%
+[format de document portable]
+
+\letgutacro%
+{URL}%
+{Uniform Resource Locator}%
+[localisateur uniforme de ressource ou, plus clairement, format des
+ adresses du Web]
+
+\letgutacro%
+{ORCID}%
+{Open Researcher and Contributor \textsc{id}}%
+[identifiant ouvert pour chercheur et contributeur]
+
+\letgutacro%[extra-foreign=souvent librement traduit en \enquote{foire
+ %aux questions}]
+{FAQ}%
+{Frequently Asked Questions}%
+[questions fréquemment posées]
+
+\letgutacro%
+{SVG}%
+{Scalable Vector Graphics}%
+[graphiques vectoriels extensibles]
+
+\letgutacro%
+{DNS}%
+{Domain Name System}%
+[système de noms de domaine]
+
+\letgutacro%
+{VPS}%
+{Virtual Private Server}%
+[serveur dédié virtuel]
+
+\letgutacro%
+{LDAP}%
+{Lightweight Directory Access Protocol}%
+[protocole d'accès à répertoire léger, sytème garantissant
+ l'authentification d'utilisateurs de plusieurs services dispersés]
+
+\letgutacro%
+{OTF}%
+{Open Type Format}%
+[]
+
+\letgutacro%
+{DOI}%
+{Digital Object Identifier}%
+[identifiant numérique d'objet]
+
+\letgutacro%
+{ISSN}%
+{International Standard Serial Number}%
+[numéro international normalisé des publications en série]
+
+\letgutacro%
+{TUG}%
+{\hologo{TeX} User Group}%
+[groupe (international) d'utilisateurs de \hologo{TeX}]
+
+\letgutacro%
+{WCAG}%
+{Web Content Accessibility Guidelines}%
+[directives sur l'accessibilité du contenu Web]
+
+\letgutacro%
+{HTML}%
+{HyperText Markup Language}%
+[langage de balises pour l'hypertexte]
+
+\letgutacro%
+{CSS}%
+{Cascading Style Sheets}%
+[feuilles de style en cascade]
+
+\letgutacro%
+{UTF}%
+{Universal (Character Set) Transformation Format}%
+[format de transformation (du jeu) universel (de caractères codés)]
+
+\letgutacro%[short=\emph{Ti\emph{k}Z},short-format=\em,foreign-babel=german,foreign-locale=allemand]
+{TIKZ}%
+{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm}%
+[Ti\emph{k}Z \emph{n'}est \emph{pas} un programme de dessin]
+
+\letgutacro%
+{PGF}%
+{Portable Graphics Format}%
+[format de graphiques portable]
+
+\letgutacro%
+{GPL}%
+{\textsc{gnu} General Public License}%
+[licence publique générale \textsc{gnu}]
+
+\letgutacro%
+{OFL}%
+{SIL Open Font License}%
+[]
+
+\letgutacro%
+{DVI}%
+{DeVice-Independent}%
+[indépendant du type de périphérique]
+
+\letgutacro%
+{PS}%
+{PostScript}%
+[]
+
+\letgutacro%
+{DVIPS}%
+{\acs{dvi}-to-\acs{ps} (translator)}%
+[(convertisseur) \acs{dvi} vers \acs{ps}]
+
+\letgutacro%
+{IPA}%
+{International Phonetic Alphabet}%
+[alphabet phonétique international]
+
+\letgutacro%
+{TIPA}%
+{\hologo{TeX} \acs{ipa} or Tokyo \acs{ipa}}%
+[alphabet phonétique international]
+
+\letgutacro%
+{XML}%
+{eXtensible Markup Language}%
+[langage de balisage extensible]
+
+\letgutacro%
+{APA}%
+{American Psychological Association}%
+[association américaine de psychologie]
+
+\letgutacro%
+{OS}%
+{Operating System}%
+[système d'exploitation]
+
+\letgutacro%
+{BSD}%
+{Berkeley Software Distribution}%
+[collection de logiciels de Berkeley]
+
+\letgutacro%
+{IMAP}%
+{Internet Message Access Protocol}%
+[]
+
+\letgutacro%
+{SMTP}%
+{Simple Mail Transfer Protocol}%
+[protocole simple de transfert de courrier]
+
+\letgutacro%
+{RTF}%
+{Rich Text Format}%
+[format de texte enrichi]
+
+\letgutacro%
+{WYSIWYG}%
+{What You See Is What You Get}%
+[ce que vous voyez est ce que vous obtenez]
+
+\letgutacro%
+{ISO}%
+{\href{https://www.iso.org/home.html}{International Organization for
+ Standardization}}%
+[\href{https://www.iso.org/fr/home.html}{organisation internationale de
+ normalisation}]
+
+\letgutacro%
+{OFF}%
+{Open Font Format}%
+[format de fonte ouvert]
+
+\letgutacro%
+{CSV}%
+{Comma-separated values}%
+[valeurs séparées par des virgules]
+
+\letgutacro%
+{YAML}%
+{\textsc{yaml} Ain’t Markup Language}%
+[\textsc{yaml} n'est pas un langage de balisage (acronyme récursif)]
+
+\letgutacro%
+{UCA}%
+{Unicode Collation Algorithm}%
+[algorithme de tris d'Unicode]
+
+\letgutacro%
+{NFSS}%
+{New Font Selection Scheme}%
+[nouveau schéma de sélection de fonte]
+
+\letgutacro%
+{ASCII}%
+{American Standard Code for Information Interchange}%
+[code américain normalisé pour l'échange d'information]
+
+\letgutacro%
+{TDS}%
+{\TeX{} Directory Structure}%
+[structure de répertoire de \TeX{}]
+
+%%%%%%%%%%%%%%%%%%%%%%
+% Acronymes français %
+%%%%%%%%%%%%%%%%%%%%%%
+\letgutacro%
+{SMAI}%
+{\href{http://smai.emath.fr/}{Société de Mathématiques Appliquées et
+ Industrielles}}%
+
+\letgutacro%
+{AG}%
+{Assemblée Générale}%
+
+\letgutacro%
+{CA}%
+{Conseil d'Administration}%
+
+\letgutacro%
+{SHS}%
+{Sciences Humaines et Sociales}%
+
+\letgutacro%
+{IREM}%
+{\href{https://www.univ-irem.fr/}{Instituts de Recherche sur
+ l'Enseignement des Mathématiques}}%
+
+\letgutacro%
+{MEEF}%
+{Métiers de l'Enseignement, de l'Éducation et de la Formation}%
+
+\letgutacro%
+{ECM}%
+{\href{https://texnique.fr/osqa/faq/\#custom-id-ecm}{Exemple Complet
+ Minimal}}%
+
+\letgutacro%
+{INSPÉ}%
+{\href{https://www.reseau-inspe.fr/}{Instituts Nationaux Supérieurs du
+ Professorat et de l'Éducation}}%
+
+\letgutacro%[short=\textsc{gra}pp\textsc{a},short-format=\upshape]
+{GRAppA}%
+{Groupe de recherche en Apprentissage Automatique}%
+
+\letgutacro%
+{BBB}%
+{BigBlueButton}%
+
+\letgutacro%
+{CV}%
+{Curriculum Vitæ}%
+
+\letgutacro%
+{RGPD}%
+{Règlement Général sur la Protection des Données}%
+
+\letgutacro%
+{NDLR}%
+{Note de la Rédaction}%
+
+\letgutacro%
+{BTS}%
+{Brevet de Technicien Supérieur}%
+
+\letgutacro%
+{APMEP}%
+{Association des Professeurs de Mathématiques de l'Enseignement Public}%
+
+\letgutacro%
+{PAO}%
+{Publication Assistée par Ordinateur}%
+#+end_src
-[fn:1]See \url{https://github.com/ho-tex/luacolor/issues/4\#issuecomment-848774260}.
+** Language driver file
+
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut-lstlang.sty :exports both
+ % \lst@definelanguage[...]{TeX}{%
+ % % Control sequences names
+ % moretexcs={%
+ % },%
+ % % Keywords of class 1 : keywords that contain other characters
+ % % (since of the same class as the ones specified as 'otherkeywords')
+ % morekeywords={%
+ % },%
+ % % Keywords of class 2 : environments names
+ % morekeywords=[2]{%
+ % },%
+ % % Keywords of class 3 : mandatory arguments (not environments) &
+ % % optional arguments which are keys (in key=value)
+ % morekeywords=[3]{%
+ % },%
+ % % Keywords of class 4 : values of keys (in key=value)
+ % morekeywords=[4]{%
+ % },%
+ % % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % % syntax)
+ % morekeywords=[5]{%
+ % },%
+ % % Keywords of class 6 : current package name (and possibly derived
+ % % packages)
+ % morekeywords=[6]{%
+ % %
+ % },%
+ % % otherkeywords={},
+ % % alsoletter={},
+ % % alsodigit={},%
+ % % alsoother={},%
+ % sensitive,%
+ % }[keywords,tex,comments%]
+
+ \lst@definelanguage[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,%
+ },%
+ % Keywords of class 1 : keywords 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,%
+ },%
+ % 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,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ letgut%
+ },%
+ % otherkeywords={},%
+ alsoletter={-\ },%
+ % alsodigit={},%
+ alsoother={*},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % LaTeX texcs and keywords that are missing in `listings` driver file
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[extLaTeX]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Huge,LARGE,Large,LoadClass,NewCommandCopy,RequirePackage,%
+ ShowCommand,abovecaptionskip,abstractname,appendix,appendixname,%
+ arraycolsep,arrayrulewidth,author,backmatter,baselinestretch,%
+ belowcaptionskip,bf,bibindent,bibname,bigskipamount,bottomfraction,%
+ brokenpenalty,cal,chapter,chaptermark,chaptername,clubpenalty,%
+ columnsep,columnseprule,contentsname,date,dblfloatpagefraction,%
+ dblfloatsep,dbltextfloatsep,dbltopfraction,descriptionlabel,%
+ displaywidowpenalty,doublerulesep,evensidemargin,fboxrule,fboxsep,%
+ figurename,floatpagefraction,floatsep,footins,footnoterule,%
+ footnotesep,footnotesize,footskip,frontmatter,headheight,headsep,%
+ huge,indexname,indexspace,interlinepenalty,intextsep,it,jot,%
+ labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,%
+ labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,%
+ labelwidth,large,leftmargin,leftmargini,leftmarginii,leftmarginiii,%
+ leftmarginiv,leftmarginv,leftmarginvi,lineskip,listfigurename,%
+ listoffigures,listoftables,listtablename,mainmatter,maketitle,%
+ marginparpush,marginparsep,marginparwidth,maxdepth,medskipamount,%
+ mit,newblock,normallineskip,normalsize,oddsidemargin,paragraph,%
+ paragraphmark,parindent,parskip,part,partname,partopsep,%
+ postdisplaypenalty,predisplaypenalty,refname,rm,sc,scriptsize,%
+ section,sectionmark,setlength,sf,sl,small,smallskipamount,%
+ subitem,subparagraph,subparagraphmark,subsection,subsectionmark,%
+ subsubitem,subsubsection,subsubsectionmark,tabbingsep,tabcolsep,%
+ tablename,tableofcontents,textfloatsep,textfraction,textheight,%
+ textwidth,thechapter,theenumi,theenumii,theenumiii,theenumiv,%
+ theequation,theparagraph,thepart,thesection,thesubparagraph,%
+ thesubsection,thesubsubsection,tiny,title,today,topfraction,%
+ topmargin,topskip,tt,widowpenalty,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ abstract,array,center,description,displaymath,document,enumerate,%
+ eqnarray,equation,figure,flushleft,flushright,itemize,list,lrbox,math,%
+ minipage,picture,quotation,quote,sloppypar,tabbing,table,tabular,%
+ thebibliography,theindex,titlepage,trivlist,verbatim,verse,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ % c,cc,ccc,cccc,X,l,
+ empty,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },
+ otherkeywords={|},%
+ % alsoletter={},% alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[listings]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
+ lstdefineformat,lstdefinelanguage,lst@definelanguage,lstdefinestyle,%
+ lstindexmacro,lstinline,lstinputlisting,lstlanguagefiles,%
+ lstlgrindeffile,lstlistingname,lstlistingnamestyle,%
+ lstlistlistingname,lstlistoflistings,lstloadlanguages,lstname,%
+ lstnewenvironment,lstset,theHlstnumber,thelstlabel,thelstlisting,%
+ thelstnumber,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ lstlisting,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ 0.21,ABAP,ACM,ACMscript,ACSL,Ada,Algol,Ant,Assembler,Awk,%
+ Basic,C,C++,CIL,Caml,Clean,Cobol,Comal 80,Comsol,Delphi,%
+ Eiffel,Elan,Euphoria,Fortran,GAP,GCL,Gnuplot,Go,HTML,Haskell,%
+ IDL,JVMIS,Java,LLVM,Lingo,Lisp,Logo,Lua,ML,Mathematica,Matlab,%
+ Mercury,MetaPost,Miranda,Mizar,Modula-2,MuPAD,NASTRAN,OCL,%
+ OORexx,Oberon-2,Octave,Oz,PHP,PL/I,POV,PSTricks,Pascal,Perl,%
+ Plasm,PostScript,Prolog,Promela,Python,R,RSL,Reduce,Rexx,Ruby,%
+ S,SAS,SHELXL,SPARQL,SQL,Scala,Scilab,Simula,Swift,TeX,%
+ VBScript,VHDL,VRML,Verilog,XML,XSLT,[03]Fortran,[08]Fortran,%
+ [1.0]Mathematica,[11.0]Mathematica,[11]C++,[1974]Cobol,[1985]Cobol,%
+ [2005]Ada,[3.0]Mathematica,[5.0]Lua,[5.1]Lua,[5.2]Lua,%
+ [5.2]Mathematica,[5.3]Lua,[60]Algol,[67]Simula,[68]Algol,%
+ [77]Fortran,[83]Ada,[90]Fortran,[95]Ada,[95]Fortran,[97]VRML,%
+ [AMS]VHDL,[ANSI]C,[ANSI]C++,[AlLaTeX]TeX,[AspectJ]Java,[Auto]Lisp,%
+ [Borland6]Pascal,[CII]Simula,[CORBA]IDL,[DEC]Simula,[GNU]C++,%
+ [Handel]C,[IBM]Simula,[ISO]C++,[LaTeX]TeX,[Motorola68k]Assembler,%
+ [OMG]OCL,[Objective]C,[Objective]Caml,[PLUS]S,[POSIX]Awk,[R/2
+ 4.3]ABAP,[R/2 5.0]ABAP,[R/3 3.1]ABAP,[R/3 4.6C]ABAP,[R/3 6.10]ABAP,%
+ [Sharp]C,[Standard]Pascal,[VM/XA]Rexx,[Visual]Basic,[Visual]C++,%
+ [WinXP]command.com,[XSC]Pascal,[common]TeX,[decorative]OCL,%
+ [empty]IDL,[empty]Java,[empty]Lisp,[empty]Rexx,[empty]S,%
+ [empty]VHDL,[empty]make,[empty]tcl,[gnu]Awk,[gnu]make,[ibm]Cobol,%
+ [light]Caml,[plain]TeX,[primitive]TeX,[tk]tcl,[x86masm]Assembler,%
+ abovecaptionskip,aboveskip,alsodigit,alsolanguage,alsoletter,%
+ alsoother,backgroundcolor,basewidth,bash,basicstyle,%
+ belowcaptionskip,belowskip,boxpos,breakatwhitespace,breakautoindent,%
+ breakindent,breaklines,caption,captionpos,classoffset,columns,%
+ command.com,comment,comments,commentstyle,consecutivenumbers,csh,%
+ defaultdialect,deletecomment,deletedelim,deletedirectives,%
+ deleteemph,deleteendkeywords,deletehyperref,deleteindex,%
+ deletekeywordcomment,deletekeywords,deleteprocnamekeys,deletestring,%
+ deletetxcs,delim,directives,directivestyle,draft,elisp,emph,%
+ emphstyle,emptylines,erlang,escapebegin,escapechar,escapeend,%
+ escapeinside,extendedchars,fancyvrb,fillcolor,final,firstline,%
+ firstnumber,flexiblecolumns,float,floatplacement,fontadjust,%
+ formats,formfeed,frame,frameround,framerule,framesep,frameshape,%
+ framexbottommargin,framexleftmargin,framexrightmargin,%
+ framextopmargin,fvcmdparams,gobble,hansl,hyper,hyperanchor,%
+ hyperlink,hyperref,identifierstyle,includerangemarker,index,%
+ indexprocnames,indexstyle,inform,inputencoding,inputpath,%
+ keepspaces,keywordcomment,keywordcommentsemicolon,keywords,%
+ keywordsprefix,keywordstyle,ksh,label,language,lastline,lgrind,%
+ lgrindef,linerange,lineskip,linewidth,literate,make,makemacrouse,%
+ markfirstintag,mathescape,morecomment,moredelim,moredirectives,%
+ moreemph,moreendkeywords,morefvcmdparams,morehyperref,moreindex,%
+ morekeywordcomment,morekeywords,moreprocnamekeys,morestring,%
+ moretexcs,multicols,name,ndkeywords,ndkeywordstyle,noaspects,%
+ nolol,numberblanklines,numberbychapter,numberfirstline,numbers,%
+ numbersep,numberstyle,otherkeywords,podcomment,postbreak,prebreak,%
+ print,printpod,procnamekeys,procnames,procnamestyle,%
+ rangebeginprefix,rangebeginsuffix,rangeendprefix,rangeendsuffix,%
+ rangeprefix,rangesuffix,resetmargins,rulecolor,rulesep,%
+ rulesepcolor,savemem,sensitive,%
+ sh,showlines,showspaces,showstringspaces,showtabs,stepnumber,%
+ string,stringstyle,style,tab,tabsize,tag,tagstyle,tcl,texcl,%
+ texcs,texcsstyle,title,upquote,usekeywordsintag,xleftmargin,%
+ xrightmargin,LaTeX,TeX,tex%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ b,c,t,none,left,right,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ listings,%
+ },%
+ % otherkeywords={},%
+ alsoletter={@021.[]},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[xcolor]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ color,pagecolor,definecolor,colorlet,textcolor,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,%
+ lightgray,brown,lime,olive,orange,pink,purple,teal,violet },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xcolor },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[expl3]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ .bool_gset,%
+ ExplFileDate,ExplFileDescription,ExplFileName,ExplFileVersion,%
+ ExplSyntaxOff,ExplSyntaxOn,GetIdInfo,ProvidesExplClass,%
+ ProvidesExplFile,ProvidesExplPackage,bool_case_false,bool_case_true,%
+ bool_const,bool_do_until,bool_do_while,bool_gset,bool_gset_eq,%
+ bool_gset_false,bool_gset_inverse,bool_gset_true,bool_if,%
+ bool_if_exist,bool_if_exist_p,bool_if_p,bool_lazy_all,%
+ bool_lazy_all_p,bool_lazy_and,bool_lazy_and_p,bool_lazy_any,%
+ bool_lazy_any_p,bool_lazy_or,bool_lazy_or_p,bool_log,bool_new,%
+ bool_not_p,bool_set,bool_set_eq,bool_set_false,bool_set_inverse,%
+ bool_set_true,bool_show,bool_to_str,bool_until_do,bool_while_do,%
+ bool_xor,bool_xor_p,box_autosize_to_wd_and_ht,%
+ box_autosize_to_wd_and_ht_plus_dp,box_clear,box_clear_new,box_clip,%
+ box_dp,box_gautosize_to_wd_and_ht,box_gautosize_to_wd_and_ht_plus_dp,%
+ box_gclear,box_gclear_new,box_gclip,box_gresize_to_ht,%
+ box_gresize_to_ht_plus_dp,box_gresize_to_wd,box_gresize_to_wd_and_ht,%
+ box_gresize_to_wd_and_ht_plus_dp,box_grotate,box_gscale,box_gset_dp,%
+ box_gset_eq,box_gset_eq_drop,box_gset_ht,box_gset_to_last,%
+ box_gset_trim,box_gset_viewport,box_gset_wd,box_ht,box_ht_plus_dp,%
+ box_if_empty,box_if_empty_p,box_if_exist,box_if_exist_p,%
+ box_if_horizontal,box_if_horizontal_p,box_if_vertical,%
+ box_if_vertical_p,box_log,box_move_down,box_move_left,%
+ box_move_right,box_move_up,box_new,box_resize_to_ht,%
+ box_resize_to_ht_plus_dp,box_resize_to_wd,box_resize_to_wd_and_ht,%
+ box_resize_to_wd_and_ht_plus_dp,box_rotate,box_scale,box_set_dp,%
+ box_set_eq,box_set_eq_drop,box_set_ht,box_set_to_last,box_set_trim,%
+ box_set_viewport,box_set_wd,box_show,box_use,box_use_drop,box_wd,%
+ c_alignment_token,c_ampersand_str,c_atsign_str,c_backslash_str,%
+ c_catcode_active_space_tl,c_catcode_active_tl,c_catcode_letter_token,%
+ c_catcode_other_space_tl,c_catcode_other_token,c_circumflex_str,%
+ c_code_cctab,c_colon_str,c_document_cctab,c_dollar_str,c_e_fp,%
+ c_empty_box,c_empty_clist,c_empty_coffin,c_empty_prop,c_empty_seq,%
+ c_empty_tl,c_false_bool,c_group_begin_token,c_group_end_token,%
+ c_hash_str,c_inf_fp,c_initex_cctab,c_left_brace_str,c_log_iow,%
+ c_math_subscript_token,c_math_superscript_token,c_math_toggle_token,%
+ c_max_char_int,c_max_dim,c_max_int,c_max_muskip,c_max_register_int,%
+ c_max_skip,c_minus_inf_fp,c_minus_zero_fp,c_nan_fp,c_novalue_tl,%
+ c_one_degree_fp,c_one_fp,c_one_int,c_other_cctab,c_parameter_token,%
+ c_percent_str,c_pi_fp,c_right_brace_str,c_space_tl,c_space_token,%
+ c_str_cctab,c_sys_backend_str,c_sys_day_int,c_sys_engine_exec_str,%
+ c_sys_engine_format_str,c_sys_engine_str,c_sys_engine_version_str,%
+ c_sys_hour_int,c_sys_jobname_str,c_sys_minute_int,c_sys_month_int,%
+ c_sys_output_str,c_sys_platform_str,c_sys_shell_escape_int,%
+ c_sys_year_int,c_term_iow,c_tilde_str,c_true_bool,c_underscore_str,%
+ c_zero_dim,c_zero_fp,c_zero_int,c_zero_muskip,c_zero_skip,%
+ c_zero_str,cctab_begin,cctab_const,cctab_end,cctab_gset,%
+ cctab_if_exist,cctab_if_exist_p,cctab_item,cctab_new,cctab_select,%
+ char_foldcase,char_generate,char_gset_active_eq,char_lowercase,%
+ char_set_active_eq,char_set_catcode,char_set_catcode_active,%
+ char_set_catcode_alignment,char_set_catcode_comment,%
+ char_set_catcode_end_line,char_set_catcode_escape,%
+ char_set_catcode_group_begin,char_set_catcode_group_end,%
+ char_set_catcode_ignore,char_set_catcode_invalid,%
+ char_set_catcode_letter,char_set_catcode_math_subscript,%
+ char_set_catcode_math_superscript,char_set_catcode_math_toggle,%
+ char_set_catcode_other,char_set_catcode_parameter,%
+ char_set_catcode_space,char_set_lccode,char_set_mathcode,%
+ char_set_sfcode,char_set_uccode,char_show_value_catcode,%
+ char_show_value_lccode,char_show_value_mathcode,%
+ char_show_value_sfcode,char_show_value_uccode,char_str_foldcase,%
+ char_str_lowercase,char_str_titlecase,char_str_uppercase,%
+ char_titlecase,char_to_nfd,char_to_utfviii_bytes,char_uppercase,%
+ char_value_catcode,char_value_lccode,char_value_mathcode,%
+ char_value_sfcode,char_value_uccode,clist_clear,clist_clear_new,%
+ clist_concat,clist_const,clist_count,clist_gclear,clist_gclear_new,%
+ clist_gconcat,clist_get,clist_gpop,clist_gpush,clist_gput_left,%
+ clist_gput_right,clist_gremove_all,clist_gremove_duplicates,%
+ clist_greverse,clist_gset,clist_gset_eq,clist_gset_from_seq,%
+ clist_gsort,clist_if_empty,clist_if_empty_p,clist_if_exist,%
+ clist_if_exist_p,clist_if_in,clist_item,clist_log,clist_map_break,%
+ clist_map_function,clist_map_inline,clist_map_tokens,%
+ clist_map_variable,clist_new,clist_pop,clist_push,clist_put_left,%
+ clist_put_right,clist_rand_item,clist_remove_all,%
+ clist_remove_duplicates,clist_reverse,clist_set,clist_set_eq,%
+ clist_set_from_seq,clist_show,clist_sort,clist_use,coffin_attach,%
+ coffin_clear,coffin_display_handles,coffin_dp,coffin_gattach,%
+ coffin_gclear,coffin_gjoin,coffin_gresize,coffin_grotate,%
+ coffin_gscale,coffin_gset_eq,coffin_gset_horizontal_pole,%
+ coffin_gset_vertical_pole,coffin_ht,coffin_if_exist,%
+ coffin_if_exist_p,coffin_join,coffin_log,coffin_log_structure,%
+ coffin_mark_handle,coffin_new,coffin_resize,coffin_rotate,%
+ coffin_scale,coffin_set_eq,coffin_set_horizontal_pole,%
+ coffin_set_vertical_pole,coffin_show,coffin_show_structure,%
+ coffin_typeset,coffin_wd,color_ensure_current,color_export,%
+ color_fill,color_group_begin,color_group_end,color_log,color_math,%
+ color_model_new,color_profile_apply,color_select,color_set,%
+ color_set_eq,color_show,color_stroke,cs_argument_spec,cs,cs_end,%
+ cs_generate_from_arg_count,cs_generate_variant,cs_gset,cs_gset_eq,%
+ cs_gset_nopar,cs_gset_protected,cs_gset_protected_nopar,cs_if_eq,%
+ cs_if_eq_p,cs_if_exist,cs_if_exist_p,cs_if_exist_use,cs_if_free,%
+ cs_if_free_p,cs_log,cs_meaning,cs_new,cs_new_eq,cs_new_nopar,%
+ cs_new_protected,cs_new_protected_nopar,cs_prefix_spec,%
+ cs_replacement_spec,cs_set,cs_set_eq,cs_set_nopar,cs_set_protected,%
+ cs_set_protected_nopar,cs_show,cs_split_function,cs_to_str,%
+ cs_undefine,debug_off,debug_on,debug_resume,debug_suspend,dim_abs,%
+ dim_add,dim_case,dim_compare,dim_compare_p,dim_const,dim_do_until,%
+ dim_do_while,dim_eval,dim_gadd,dim_gset,dim_gset_eq,dim_gsub,%
+ dim_gzero,dim_gzero_new,dim_if_exist,dim_if_exist_p,dim_log,%
+ dim_max,dim_min,dim_new,dim_ratio,dim_set,dim_set_eq,dim_show,%
+ dim_sign,dim_step_function,dim_step_inline,dim_step_variable,%
+ dim_sub,dim_to_decimal,dim_to_decimal_in_bp,dim_to_decimal_in_sp,%
+ dim_to_decimal_in_unit,dim_to_fp,dim_until_do,dim_use,dim_while_do,%
+ dim_zero,dim_zero_new,draw_begin,draw_end,else,exp_after,exp_args,%
+ exp_args_generate,exp_end,exp_end_continue_f,exp_last_two_unbraced,%
+ exp_last_unbraced,exp_not,exp_stop_f,expandafter,expanded,fi,%
+ file_compare_timestamp,file_compare_timestamp_p,file_full_name,%
+ file_get,file_get_full_name,file_get_hex_dump,file_get_mdfive_hash,%
+ file_get_size,file_get_timestamp,file_hex_dump,file_if_exist,%
+ file_if_exist_input,file_input,file_input_stop,file_log_list,%
+ file_mdfive_hash,file_parse_full_name,file_parse_full_name_apply,%
+ file_show_list,file_size,file_timestamp,flag_clear,flag_clear_new,%
+ flag_height,flag_if_exist,flag_if_exist_p,flag_if_raised,%
+ flag_if_raised_p,flag_log,flag_new,flag_raise,flag_raise_if_clear,%
+ flag_show,fp_abs,fp_add,fp_compare,fp_compare_p,fp_const,%
+ fp_do_until,fp_do_while,fp_eval,fp_format,fp_gadd,fp_gset,%
+ fp_gset_eq,fp_gsub,fp_gzero,fp_gzero_new,fp_if_exist,fp_if_exist_p,%
+ fp_if_nan,fp_if_nan_p,fp_log,fp_max,fp_min,fp_new,fp_set,%
+ fp_set_eq,fp_show,fp_sign,fp_step_function,fp_step_inline,%
+ fp_step_variable,fp_sub,fp_to_decimal,fp_to_dim,fp_to_int,%
+ fp_to_scientific,fp_to_tl,fp_trap,fp_until_do,fp_use,fp_while_do,%
+ fp_zero,fp_zero_new,fparray_count,fparray_gset,fparray_gzero,%
+ fparray_item,fparray_item_to_tl,fparray_new,g_file_curr_dir_str,%
+ g_file_curr_ext_str,g_file_curr_name_str,g_msg_module_name_prop,%
+ g_msg_module_type_prop,g_peek_token,g_tmpa_bool,g_tmpa_box,%
+ g_tmpa_clist,g_tmpa_coffin,g_tmpa_dim,g_tmpa_fp,g_tmpa_int,%
+ g_tmpa_ior,g_tmpa_iow,g_tmpa_muskip,g_tmpa_prop,g_tmpa_regex,%
+ g_tmpa_seq,g_tmpa_skip,g_tmpa_str,g_tmpa_tl,g_tmpb_bool,g_tmpb_box,%
+ g_tmpb_clist,g_tmpb_coffin,g_tmpb_dim,g_tmpb_fp,g_tmpb_int,%
+ g_tmpb_ior,g_tmpb_iow,g_tmpb_muskip,g_tmpb_prop,g_tmpb_regex,%
+ g_tmpb_seq,g_tmpb_skip,g_tmpb_str,g_tmpb_tl,group_align_safe_begin,%
+ group_align_safe_end,group_begin,group_end,group_insert_after,%
+ group_log_list,group_show_list,hbox,hbox_gset,hbox_gset_end,%
+ hbox_gset_to_wd,hbox_overlap_center,hbox_overlap_left,%
+ hbox_overlap_right,hbox_set,hbox_set_end,hbox_set_to_wd,hbox_to_wd,%
+ hbox_to_zero,hbox_unpack,hbox_unpack_drop,hcoffin_gset,%
+ hcoffin_gset_end,hcoffin_set,hcoffin_set_end,if,if_bool,%
+ if_box_empty,if_case,if_catcode,if_charcode,if_cs_exist,if_dim,%
+ if_eof,if_false,if_hbox,if_int_compare,if_int_odd,if_meaning,%
+ if_mode_horizontal,if_mode_inner,if_mode_math,if_mode_vertical,%
+ if_predicate,if_true,if_vbox,int_abs,int_add,int_case,int_compare,%
+ int_compare_p,int_const,int_decr,int_div_round,int_div_truncate,%
+ int_do_until,int_do_while,int_eval,int_from_alph,int_from_base,%
+ int_from_bin,int_from_hex,int_from_oct,int_from_roman,int_gadd,%
+ int_gdecr,int_gincr,int_gset,int_gset_eq,int_gsub,int_gzero,%
+ int_gzero_new,int_if_even,int_if_even_p,int_if_exist,int_if_exist_p,%
+ int_if_odd,int_if_odd_p,int_incr,int_log,int_max,int_min,int_mod,%
+ int_new,int_rand,int_set,int_set_eq,int_show,int_sign,%
+ int_step_...,int_step_function,int_step_inline,int_step_variable,%
+ int_sub,int_to_Alph,int_to_Base,int_to_Hex,int_to_Roman,%
+ int_to_alph,int_to_arabic,int_to_base,int_to_bin,int_to_hex,%
+ int_to_oct,int_to_roman,int_to_symbols,int_until_do,int_use,%
+ int_value,int_while_do,int_zero,int_zero_new,%
+ intarray_const_from_clist,intarray_count,intarray_gset,%
+ intarray_gset_rand,intarray_gzero,intarray_item,intarray_log,%
+ intarray_new,intarray_rand_item,intarray_show,intarray_to_clist,%
+ ior_close,ior_get,ior_get_term,ior_if_eof,ior_if_eof_p,ior_log,%
+ ior_log_list,ior_map_break,ior_map_inline,ior_map_variable,ior_new,%
+ ior_open,ior_shell_open,ior_show,ior_show_list,ior_str_get,%
+ ior_str_get_term,ior_str_map_inline,ior_str_map_variable,%
+ iow_allow_break,iow_char,iow_close,iow_indent,iow_log,iow_log_list,%
+ iow_new,iow_newline,iow_now,iow_open,iow_shipout,iow_shipout_x,%
+ iow_show,iow_show_list,iow_term,iow_wrap,keys_define,%
+ keys_if_choice_exist,keys_if_choice_exist_p,keys_if_exist,%
+ keys_if_exist_p,keys_log,keys_set,keys_set_filter,keys_set_groups,%
+ keys_set_known,keys_show,keyval_parse,l_char_active_seq,%
+ l_char_special_seq,l_color_fixed_model_tl,l_color_math_active_tl,%
+ l_file_search_path_seq,l_iow_line_count_int,l_keys_choice_int,%
+ l_keys_choice_tl,l_keys_key_str,l_keys_path_str,%
+ l_keys_usage_load_prop,l_keys_usage_preamble_prop,l_keys_value_tl,%
+ l_my_int,l_peek_token,l_text_accents_tl,l_text_case_exclude_arg_tl,%
+ l_text_expand_exclude_tl,l_text_letterlike_tl,l_text_math_arg_tl,%
+ l_text_math_delims_tl,l_text_titlecase_check_letter_bool,l_tmpa_bool,%
+ l_tmpa_box,l_tmpa_clist,l_tmpa_coffin,l_tmpa_dim,l_tmpa_fp,%
+ l_tmpa_int,l_tmpa_muskip,l_tmpa_prop,l_tmpa_regex,l_tmpa_seq,%
+ l_tmpa_skip,l_tmpa_str,l_tmpa_tl,l_tmpb_bool,l_tmpb_box,%
+ l_tmpb_clist,l_tmpb_coffin,l_tmpb_dim,l_tmpb_fp,l_tmpb_int,%
+ l_tmpb_muskip,l_tmpb_prop,l_tmpb_regex,l_tmpb_seq,l_tmpb_skip,%
+ l_tmpb_str,l_tmpb_tl,legacy_if,legacy_if_gset,legacy_if_gset_false,%
+ legacy_if_gset_true,legacy_if_p,legacy_if_set,legacy_if_set_false,%
+ legacy_if_set_true,lua_escape,lua_now,lua_shipout,lua_shipout_e,%
+ mode_if_horizontal,mode_if_horizontal_p,mode_if_inner,%
+ mode_if_inner_p,mode_if_math,mode_if_math_p,mode_if_vertical,%
+ mode_if_vertical_p,mode_leave_vertical,msg_critical,%
+ msg_critical_text,msg_error,msg_error_text,msg_expandable_error,%
+ msg_fatal,msg_fatal_text,msg_gset,msg_if_exist,msg_if_exist_p,%
+ msg_info,msg_info_text,msg_line_context,msg_line_number,msg_log,%
+ msg_log_eval,msg_module_name,msg_module_type,msg_new,msg_none,%
+ msg_note,msg_redirect_class,msg_redirect_module,msg_redirect_name,%
+ msg_see_documentation_text,msg_set,msg_show,msg_show_eval,%
+ msg_show_item,msg_show_item_unbraced,msg_term,msg_warning,%
+ msg_warning_text,muskip_add,muskip_const,muskip_eval,muskip_gadd,%
+ muskip_gset,muskip_gset_eq,muskip_gsub,muskip_gzero,%
+ muskip_gzero_new,muskip_if_exist,muskip_if_exist_p,muskip_log,%
+ muskip_new,muskip_set,muskip_set_eq,muskip_show,muskip_sub,%
+ muskip_use,muskip_zero,muskip_zero_new,pdf_destination,%
+ pdf_object_if_exist,pdf_object_if_exist_p,pdf_object_new,%
+ pdf_object_ref,pdf_object_ref_last,pdf_object_unnamed_write,%
+ pdf_object_write,pdf_pageobject_ref,pdf_pagobject_ref,pdf_uncompress,%
+ pdf_version,pdf_version_compare,pdf_version_compare_p,%
+ pdf_version_gset,pdf_version_major,pdf_version_min_gset,%
+ pdf_version_minor,peek_N_type,peek_after,peek_analysis_map_break,%
+ peek_analysis_map_inline,peek_catcode,peek_catcode_collect_inline,%
+ peek_catcode_remove,peek_charcode,peek_charcode_collect_inline,%
+ peek_charcode_remove,peek_gafter,peek_meaning,%
+ peek_meaning_collect_inline,peek_meaning_remove,peek_regex,%
+ peek_regex_remove_once,peek_regex_replace_once,peek_remove_filler,%
+ peek_remove_spaces,prg_break,prg_break_point,prg_do_nothing,%
+ prg_generate_conditional_variant,prg_map_break,prg_new_conditional,%
+ prg_new_eq_conditional,prg_new_protected_conditional,prg_replicate,%
+ prg_return_false,prg_return_true,prg_set_conditional,%
+ prg_set_eq_conditional,prg_set_protected_conditional,prop_clear,%
+ prop_clear_new,prop_concat,prop_const_from_keyval,prop_count,%
+ prop_gclear,prop_gclear_new,prop_gconcat,prop_get,prop_gpop,%
+ prop_gput,prop_gput_from_keyval,prop_gput_if_new,prop_gremove,%
+ prop_gset_eq,prop_gset_from_keyval,prop_if_empty,prop_if_empty_p,%
+ prop_if_exist,prop_if_exist_p,prop_if_in,prop_if_in_p,prop_item,%
+ prop_log,prop_map_break,prop_map_function,prop_map_inline,%
+ prop_map_tokens,prop_new,prop_pop,prop_put,prop_put_from_keyval,%
+ prop_put_if_new,prop_rand_key_value,prop_remove,prop_set_eq,%
+ prop_set_from_keyval,prop_show,prop_to_keyval,q_mark,q_nil,%
+ q_no_value,q_recursion_stop,q_recursion_tail,q_stop,quark_if_nil,%
+ quark_if_nil_p,quark_if_no_value,quark_if_no_value_p,%
+ quark_if_recursion_tail_break,quark_if_recursion_tail_stop,%
+ quark_if_recursion_tail_stop_do,quark_new,regex_const,regex_count,%
+ regex_extract_all,regex_extract_once,regex_gset,regex_log,%
+ regex_match,regex_match_case,regex_new,regex_replace,%
+ regex_replace_all,regex_replace_case_all,regex_replace_case_once,%
+ regex_replace_once,regex_set,regex_show,regex_split,reverse_if,%
+ s_stop,scan_new,scan_stop,seq_clear,seq_clear_new,seq_concat,%
+ seq_const_from_clist,seq_count,seq_gclear,seq_gclear_new,%
+ seq_gconcat,seq_get,seq_get_left,seq_get_right,seq_gpop,%
+ seq_gpop_item,seq_gpop_left,seq_gpop_right,seq_gpush,seq_gput_left,%
+ seq_gput_right,seq_gremove_all,seq_gremove_duplicates,seq_greverse,%
+ seq_gset_eq,seq_gset_filter,seq_gset_from_clist,%
+ seq_gset_from_function,seq_gset_from_inline_x,seq_gset_item,%
+ seq_gset_map,seq_gset_map_x,seq_gset_split,%
+ seq_gset_split_keep_spaces,seq_gshuffle,seq_gsort,seq_if_empty,%
+ seq_if_empty_p,seq_if_exist,seq_if_exist_p,seq_if_in,seq_item,%
+ seq_log,seq_map_break,seq_map_function,seq_map_indexed_function,%
+ seq_map_indexed_inline,seq_map_inline,seq_map_tokens,%
+ seq_map_variable,seq_mapthread_function,seq_new,seq_pop,%
+ seq_pop_item,seq_pop_left,seq_pop_right,seq_push,seq_put_left,%
+ seq_put_right,seq_rand_item,seq_remove_all,seq_remove_duplicates,%
+ seq_reverse,seq_set_eq,seq_set_filter,seq_set_from_clist,%
+ seq_set_from_function,seq_set_from_inline_x,seq_set_item,seq_set_map,%
+ seq_set_map_x,seq_set_split,seq_set_split_keep_spaces,seq_show,%
+ seq_shuffle,seq_sort,seq_use,skip_add,skip_const,skip_eval,%
+ skip_gadd,skip_gset,skip_gset_eq,skip_gsub,skip_gzero,%
+ skip_gzero_new,skip_horizontal,skip_if_eq,skip_if_eq_p,%
+ skip_if_exist,skip_if_exist_p,skip_if_finite,skip_if_finite_p,%
+ skip_log,skip_new,skip_set,skip_set_eq,skip_show,skip_sub,%
+ skip_use,skip_vertical,skip_zero,skip_zero_new,sort_return_same,%
+ sort_return_swapped,str_case,str_case_e,str_clear,str_clear_new,%
+ str_compare,str_compare_p,str_concat,str_const,str_convert_pdfname,%
+ str_count,str_count_ignore_spaces,str_count_spaces,str_foldcase,%
+ str_gclear,str_gconcat,str_gput_left,str_gput_right,str_gremove_all,%
+ str_gremove_once,str_greplace_all,str_greplace_once,str_gset,%
+ str_gset_convert,str_gset_eq,str_head,str_head_ignore_spaces,%
+ str_if_empty,str_if_empty_p,str_if_eq,str_if_eq_p,str_if_exist,%
+ str_if_exist_p,str_if_in,str_item,str_item_ignore_spaces,str_log,%
+ str_lowercase,str_map_break,str_map_function,str_map_inline,%
+ str_map_tokens,str_map_variable,str_new,str_put_left,str_put_right,%
+ str_range,str_range_ignore_spaces,str_remove_all,str_remove_once,%
+ str_replace_all,str_replace_once,str_set,str_set_convert,str_set_eq,%
+ str_show,str_tail,str_tail_ignore_spaces,str_uppercase,str_use,%
+ sys_finalise,sys_get_shell,sys_gset_rand_seed,sys_if_engine_luatex,%
+ sys_if_engine_luatex_p,sys_if_engine_pdftex,sys_if_engine_pdftex_p,%
+ sys_if_engine_ptex,sys_if_engine_ptex_p,sys_if_engine_uptex,%
+ sys_if_engine_uptex_p,sys_if_engine_xetex,sys_if_engine_xetex_p,%
+ sys_if_output_dvi,sys_if_output_dvi_p,sys_if_output_pdf,%
+ sys_if_output_pdf_p,sys_if_platform_unix,sys_if_platform_unix_p,%
+ sys_if_platform_windows,sys_if_platform_windows_p,sys_if_rand_exist,%
+ sys_if_rand_exist_p,sys_if_shell,sys_if_shell_p,%
+ sys_if_shell_restricted,sys_if_shell_restricted_p,%
+ sys_if_shell_unrestricted,sys_if_shell_unrestricted_p,%
+ sys_load_backend,sys_load_debug,sys_rand_seed,sys_shell_now,%
+ sys_shell_shipout,sys_timer,text_declare_expand_equivalent,%
+ text_declare_purify_equivalent,text_expand,text_lowercase,%
+ text_purify,text_titlecase,text_titlecase_first,text_uppercase,%
+ tl_analysis_log,tl_analysis_map_inline,tl_analysis_show,%
+ tl_build_begin,tl_build_clear,tl_build_end,tl_build_gbegin,%
+ tl_build_gclear,tl_build_gend,tl_build_get,tl_build_gput_left,%
+ tl_build_gput_right,tl_build_put_left,tl_build_put_right,tl_case,%
+ tl_clear,tl_clear_new,tl_concat,tl_const,tl_count,tl_count_tokens,%
+ tl_gclear,tl_gclear_new,tl_gconcat,tl_gput_left,tl_gput_right,%
+ tl_gremove_all,tl_gremove_once,tl_greplace_all,tl_greplace_once,%
+ tl_greverse,tl_gset,tl_gset_eq,tl_gset_rescan,tl_gsort,%
+ tl_gtrim_spaces,tl_head,tl_if_blank,tl_if_blank_p,tl_if_empty,%
+ tl_if_empty_p,tl_if_eq,tl_if_eq_p,tl_if_exist,tl_if_exist_p,%
+ tl_if_head_eq_catcode,tl_if_head_eq_catcode_p,tl_if_head_eq_charcode,%
+ tl_if_head_eq_charcode_p,tl_if_head_eq_meaning,%
+ tl_if_head_eq_meaning_p,tl_if_head_is_N_type,tl_if_head_is_N_type_p,%
+ tl_if_head_is_group,tl_if_head_is_group_p,tl_if_head_is_space,%
+ tl_if_head_is_space_p,tl_if_in,tl_if_novalue,tl_if_novalue_p,%
+ tl_if_single,tl_if_single_p,tl_if_single_token,tl_if_single_token_p,%
+ tl_item,tl_log,tl_map_break,tl_map_function,tl_map_inline,%
+ tl_map_tokens,tl_map_variable,tl_new,tl_put_left,tl_put_right,%
+ tl_rand_item,tl_range,tl_range_braced,tl_range_unbraced,%
+ tl_remove_all,tl_remove_once,tl_replace_all,tl_replace_once,%
+ tl_rescan,tl_reverse,tl_reverse_items,tl_set,tl_set_eq,%
+ tl_set_rescan,tl_show,tl_sort,tl_tail,tl_to_str,tl_trim_spaces,%
+ tl_trim_spaces_apply,tl_use,token_case_catcode,token_case_charcode,%
+ token_case_meaning,token_if_active,token_if_active_p,%
+ token_if_alignment,token_if_alignment_p,token_if_chardef,%
+ token_if_chardef_p,token_if_cs,token_if_cs_p,token_if_dim_register,%
+ token_if_dim_register_p,token_if_eq_catcode,token_if_eq_catcode_p,%
+ token_if_eq_charcode,token_if_eq_charcode_p,token_if_eq_meaning,%
+ token_if_eq_meaning_p,token_if_expandable,token_if_expandable_p,%
+ token_if_font_selection,token_if_font_selection_p,%
+ token_if_group_begin,token_if_group_begin_p,token_if_group_end,%
+ token_if_group_end_p,token_if_int_register,token_if_int_register_p,%
+ token_if_letter,token_if_letter_p,token_if_long_macro,%
+ token_if_long_macro_p,token_if_macro,token_if_macro_p,%
+ token_if_math_subscript,token_if_math_subscript_p,%
+ token_if_math_superscript,token_if_math_superscript_p,%
+ token_if_math_toggle,token_if_math_toggle_p,token_if_mathchardef,%
+ token_if_mathchardef_p,token_if_muskip_register,%
+ token_if_muskip_register_p,token_if_other,token_if_other_p,%
+ token_if_parameter,token_if_parameter_p,token_if_primitive,%
+ token_if_primitive_p,token_if_protected_long_macro,%
+ token_if_protected_long_macro_p,token_if_protected_macro,%
+ token_if_protected_macro_p,token_if_skip_register,%
+ token_if_skip_register_p,token_if_space,token_if_space_p,%
+ token_if_toks_register,token_if_toks_register_p,token_to_meaning,%
+ token_to_str,unvcopy,use,use_i,use_i_delimit_by_q_nil,%
+ use_i_delimit_by_q_recursion_stop,use_i_delimit_by_q_stop,use_i_ii,%
+ use_ii,use_ii_i,use_iii,use_iv,use_none,use_none_delimit_by_q_nil,%
+ use_none_delimit_by_q_recursion_stop,use_none_delimit_by_q_stop,%
+ use_none_delimit_by_s_stop,vbox,vbox_gset,vbox_gset_end,%
+ vbox_gset_split_to_ht,vbox_gset_to_ht,vbox_gset_top,vbox_set,%
+ vbox_set_end,vbox_set_split_to_ht,vbox_set_to_ht,vbox_set_top,%
+ vbox_to_ht,vbox_to_zero,vbox_top,vbox_unpack,vbox_unpack_drop,%
+ vcoffin_gset,vcoffin_gset_end,vcoffin_set,vcoffin_set_end,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ name,alternative-model,alternative-values,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ cmyk,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ D,N,Nn,NF,NN,Nx,NT,NTF,NNn,NnV,Nnn,Npn,Nnnn,V,c,e,en,f,n,nF,%
+ nn,nT,nnn,nnF,nnV,nTF,nnnn,nNnF,nNnT,nnVV,o,p,v,w,x,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ expl3,%
+ },
+ otherkeywords={:,~},%
+ alsoletter={_-.},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pdftex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfinfo,pdfcatalog,pdfpageattr,pdfpagesattr,pdfpageresources,%
+ pdfcolorstack,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pdftex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[luatex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfextension,ifluatex,directlua,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ colorstack },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ luatex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[dvips]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ color,push,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ dvips,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[xetex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ pdfcolorstack,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xetex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[inputenc]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ latin1 },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ inputenc,%
+ },%
+ % otherkeywords={},%
+ alsoletter={1},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pdfmanagement-testphase]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfmanagement_add,DeclareDocumentMetadata,AddToDocumentProperties,%
+ ShowDocumentProperties,GetDocumentProperties,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{% Keys or optional arguments
+ pdfmanagement-testphase,uncompress,geometry,top-level,backend,Info,%
+ ThisPage,pdfversion,pdfstandard,paper,topic,Title,Rotate,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ dvipdfmx,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ nnn,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pdfmanagement-testphase,%
+ },
+ otherkeywords={:},%
+ alsoletter={_-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[rotating]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ sidewaystable,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ rotating,%
+ },%
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[fontenc]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ T1 },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ fontenc,%
+ },%
+ % otherkeywords={},
+ % alsoletter={1},%
+ alsodigit={1},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[babel]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ foreignlanguage,selectlanguage,iflanguage,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ otherlanguage,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ UKenglish,USenglish,acadian,afrikaans,american,arabic,australian,%
+ austrian,azerbaijani,bahasa,bahasai,basque,bgreek,brazil,%
+ brazilian,breton,british,bulgarian,canadian,canadien,catalan,%
+ croatian,czech,danish,dutch,english,esperanto,estonian,ethiop,%
+ farsi,finnish,francais,french,frenchle,friulan,galician,german,%
+ germanb,greek,hebrew,hindi,ibygreek,icelandic,indon,indonesian,%
+ interlingua,irish,italian,japanese,latin,latvian,lithuanian,%
+ lowersorbian,magyar,malay,melayu (bahasam),mongolian,naustrian,%
+ newzealand,ngerman,norsk,nynorsk,pinyin,polish,polutonikogreek,%
+ portuges,portuguese,romanian,romansh,russian,samin,scottish,%
+ serbian,serbianc,slovak,slovene,spanglish,spanish,swedish,thai,%
+ thaicjk,turkish,turkmen,ukrainian,uppersorbian,vietnamese,%
+ welsh,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ babel,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[babel-french]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ og,fg,up,bsc,ier,iers,iere,ieres,ieme,iemes,primo,secundo,%
+ tertio,quarto,FrenchEnumerate,No,Nos,no,nos,degre,nombre,%
+ frenchabstractname,frenchbibname,frenchrefname,frenchprefacename,%
+ frenchchaptername,frenchappendixname,frenchcontentsname,%
+ frenchlistfigurename,frenchlisttablename,frenchindexname,%
+ frenchglossaryname,frenchfigurename,frenchtablename,frenchpartname,%
+ frenchenclname,frenchccname,frenchheadtoname,frenchpagename,%
+ frenchseename,frenchalsoname,frenchproofname%,%
+ frquote,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ babel-french,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[kantlipsum]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ kant,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ kantlipsum,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hyperxmp]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hyperxmp,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hyperref]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hypersetup,href,phantomsection,pdfstringdefDisableCommands,url,%
+ nolinkurl,hyperbaseurl,hyperimage,hyperdef,hyperref,hyperlink,%
+ hypertarget,hyperget,autoref,autopageref,ref*,pageref*,autoref*,%
+ autopageref*,pdfstringdef,pdfbookmark,currentpdfbookmark,%
+ subpdfbookmark,belowpdfbookmark,texorpdfstring,thispdfpagelabel,%
+ hypercalcbp,nameref,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ allbordercolors,allcolors,anchorcolor,backref,baseurl,bookmarks,%
+ bookmarksnumbered,bookmarksopen,bookmarksopenlevel,bookmarkstype,%
+ breaklinks,CJKbookmarks,citebordercolor,citecolor,colorlinks,debug,%
+ destlabel,draft,driverfallback,dvipdfm,dvipdfmx,dvips,dvipsone,%
+ dviwindo,encap,extension,filebordercolor,filecolor,final,%
+ frenchlinks,hidelinks,hyperfigures,hyperfootnotes,hyperindex,%
+ hypertex,hypertexnames,implicit,latex2html,linkbordercolor,%
+ linkcolor,linktoc,linktocpage,menubordercolor,menucolor,nativepdf,%
+ naturalnames,nesting,next-anchor,pageanchor,pagebackref,pdfauthor,%
+ pdfborder,pdfborderstyle,pdfcenterwindow,pdfcreator,pdfdirection,%
+ pdfdisplaydoctitle,pdfduplex,pdffitwindow,pdfhighlight,pdfinfo,%
+ pdfkeywords,pdflang,pdfmark,pdfmenubar,pdfnewwindow,%
+ pdfnonfullscreenpagemode,pdfnumcopies,pdfpagelabels,pdfpagelayout,%
+ pdfpagemode,pdfpagescrop,pdfpagetransition,pdfpicktraybypdfsize,%
+ pdfprintarea,pdfprintclip,pdfprintpagerange,pdfprintscaling,%
+ pdfproducer,pdfremotestartview,pdfstartpage,pdfstartview,pdfsubject,%
+ pdftex,pdftitle,pdftoolbar,pdftrapped,pdfview,pdfviewarea,%
+ pdfviewclip,pdfwindowui,plainpages,ps2pdf,psdextra,raiselinks,%
+ runbordercolor,runcolor,setpagesize,tex4ht,textures,unicode,%
+ urlbordercolor,urlcolor,verbose,vtex,xetex,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hyperref,%
+ },%
+ % otherkeywords={},%
+ alsoletter={*},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[graphicx]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ includegraphics,includegraphics*,definecolor,color,textcolor,%
+ mathcolor,pagecolor,nopagecolor,colorbox,fcolorbox,rotatebox,%
+ scalebox,reflectbox,resizebox,resizebox*,graphicspath,%
+ DeclareGraphicsExtensions,DeclareGraphicsRule },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ draft,final,hiresbb,demo,setpagesize,nosetpagesize,dvips,xdvi,%
+ dvipdf,dvipdfm,dvipdfmx,xetex,pdftex,luatex,dvisvgm,dvipsone,%
+ dviwindo,emtex,dviwin,oztex,textures,pctexps,pctexwin,pctexhp,%
+ pctex32,truetex,tcidvi,vtex,debugshow,hiderotate,hidescale,alt,%
+ %
+ bb,bbllx,bblly,bburx,bbury,natwidth,natheight,hiresbb,pagebox,%
+ viewport,trim,angle,origin,width,height,totalheight,%
+ keepaspectratio,scale,clip,draft,type,ext,read,command,quiet,%
+ page,interpolate,decodearray,origin,x,y,units,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ mediabox,cropbox,bleedbox,trimbox,artbox,true,false,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ graphicx,%
+ },%
+ % otherkeywords={},%
+ alsoletter={23},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[geometry]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ geometry,newgeometry,restoregeometry,savegeometry,loadgeometry,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ paper,papername,paperwidth,paperheight,papersize,landscape,%
+ portrait,layout,layoutwidth,layoutheight,layoutsize,layouthoffset,%
+ layoutvoffset,layoutoffset,hscale,vscale,scale,width,totalwidth,%
+ height,totalheight,total,textwidth,textheight,text,body,lines,%
+ includehead,includefoot,includeheadfoot,includemp,includeall,%
+ ignorehead,ignorefoot,ignoreheadfoot,ignoremp,ignoreall,%
+ heightrounded,hdivide,vdivide,divide,left,lmargin,inner,right,%
+ rmargin,outer,top,tmargin,bottom,bmargin,hmargin,vmargin,margin,%
+ hmarginratio,vmarginratio,marginratio,ratio,hcentering,vcentering,%
+ centering,twoside,asymmetric,headheight,head,headsep,footskip,%
+ foot,nohead,nofoot,noheadfoot,footnotesep,marginparwidth,%
+ marginparsep,nomarginpar,columnsep,hoffset,voffset,offset,%
+ twocolumn,onecolumn,reversemp,reversemarginpar,verbose,reset,mag,%
+ truedimen,pass,showframe,showcrop,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ a0paper,a1paper,a2paper,a3paper,a4paper,a5paper,a6paper,b0paper,%
+ b1paper,b2paper,b3paper,b4paper,b5paper,b6paper,c0paper,c1paper,%
+ c2paper,c3paper,c4paper,c5paper,c6paper,b0j,b1j,b2j,b3j,b4j,%
+ b5j,b6j,ansiapaper,ansibpaper,ansicpaper,ansidpaper,ansiepaper,%
+ letterpaper,executivepaper,legalpaper,screen,dvips,dvipdfm,pdftex,%
+ luatex,xetex,vtex,dvipdfmx,xdvipdfmx,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ geometry,%
+ },%
+ % otherkeywords={},%
+ alsoletter={0123456},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[newpax]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ newpaxsetup,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ addannots,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ false,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ newpax,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikz]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ usetikzlibrary,draw,node,matrix,fill,foreach,tikz,%
+ },%
+ % Keywords of class 1 : keywords 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,--,-|,|-,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ multiply,lightgray,base,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-| \ },%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikzducks]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ duck,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ alien,aodai,baguette,basket,beard,beret,bill,body,book,%
+ bookcolour,bowtie,bubblecolour,bunny,buttons,cake,cap,cape,%
+ cheese,chef,cocktail,conicalhat,crazyhair,cricket,crown,crozier,%
+ crystalball,darthvader,devil,easter,egga,eggb,eggc,eye,eyebrow,%
+ flavoura,flavourb,flavourc,football,glasses,graduate,grumpy,%
+ handbag,harlequin,hat,head,helmet,hockey,horsetail,icecream,%
+ inear,invisible,jacket,kingcrown,lapel,laughing,lightsaber,%
+ longhair,magichat,magicstars,magicwand,mask,milkshake,mohican,%
+ mullet,name,neckerchief,necklace,niuqelrah,overleaf,parrot,%
+ parting,peakedcap,pickaxe,pizza,prison,queencrown,recedinghair,%
+ ribbon,rollingpin,sailor,santa,sheep,shorthair,shovel,signback,%
+ signcolour,signpost,snowduck,speech,squareglasses,stethoscope,%
+ strawhat,sunglasses,tail,tassel,think,tie,tophat,torch,tshirt,%
+ umbrella,umbrellaclosed,unicorn,vampire,viking,water,wine,wing,%
+ witch,woggle,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ blue,green,red,yellow,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzducks,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikzlings]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ anteater,bear,bee,cat,chicken,coati,elephant,hippo,koala,%
+ marmot,mole,mouse,owl,panda,penguin,pig,rhino,sheep,sloth,%
+ squirrel,snowman,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ 3D,eye,contour,back,globalwarming,whiskers,schroedinger,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzlings,%
+ },%
+ % otherkeywords={},%
+ alsoletter={3},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[amsmath]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ cdots,ddots,vdots,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ pmatrix,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ amsmath,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % xparse
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[xparse]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ NewDocumentCommand,RenewDocumentCommand,ProvideDocumentCommand,%
+ DeclareDocumentCommand,NewDocumentEnvironment,%
+ RenewDocumentEnvironment,ProvideDocumentEnvironment,%
+ DeclareDocumentEnvironment,NewExpandableDocumentCommand,%
+ RenewExpandableDocumentCommand,ProvideExpandableDocumentCommand,%
+ DeclareExpandableDocumentCommand,IfNoValueT,IfNoValueF,IfNoValueTF,%
+ IfValueT,IfValueF,IfValueTF,IfBooleanT,IfBooleanF,IfBooleanTF,%
+ BooleanTrue,BooleanFalse,ProcessedArgument,ReverseBoolean,%
+ SplitArgument,SplitList,ProcessList,TrimSpaces,%
+ GetDocumentCommandArgSpec,GetDocumentEnvironmentArgSpec,%
+ ShowDocumentCommandArgSpec,ShowDocumentEnvironmentArgSpec,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ log-declarations,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xparse,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % colortbl
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[colortbl]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ columncolor,rowcolor,cellcolor,arrayrulecolor,doublerulesepcolor,%
+ minrowclearance,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ colortbl,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % multirow
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[multirow]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ multirow,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ multirow,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % nicematrix
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[nicematrix]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ Cdots,Ddots,Vdots,Body,CodeBefore,CodeAfter,Block,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ pNiceMatrix,NiceMatrix,NiceTabular,bNiceArray,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ hvlines,rules/width,baseline,colortbl-like,margin,right-margin,%
+ create-cell-nodes,rounded-corners,draw,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ nicematrix,%
+ },
+ otherkeywords={&},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % booktabs
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[booktabs]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ toprule,midrule,bottomrule,cmidrule,addlinespace,morecmidrules,%
+ specialrule,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ booktabs,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % strands
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[strands]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ strands,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ strands,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % cartonaugh
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[cartonaugh]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ maxterms,minterms,terms,implicant,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ cartonaugh,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ cartonaugh,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % xistercian
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[xistercian]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ cisterciannum,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ xistercian,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xistercian,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % aboensis
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[aboensis]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ abcursivefamily,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ aboensis,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tabularray
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[tabularray]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ ,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tblr,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ width,colspec,row,bg,fg,font,column,hlines,X,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ odd,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tabularray,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % ninecolors
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[ninecolors]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ NineColors,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ gray1,red1,brown1,yellow1,olive1,green1,teal1,cyan1,azure1,%
+ blue1,violet1,magenta1,purple1,gray2,red2,brown2,yellow2,olive2,%
+ green2,teal2,cyan2,azure2,blue2,violet2,magenta2,purple2,gray3,%
+ red3,brown3,yellow3,olive3,green3,teal3,cyan3,azure3,blue3,%
+ violet3,magenta3,purple3,gray4,red4,brown4,yellow4,olive4,%
+ green4,teal4,cyan4,azure4,blue4,violet4,magenta4,purple4,gray5,%
+ red5,brown5,yellow5,olive5,green5,teal5,cyan5,azure5,blue5,%
+ violet5,magenta5,purple5,gray6,red6,brown6,yellow6,olive6,%
+ green6,teal6,cyan6,azure6,blue6,violet6,magenta6,purple6,gray7,%
+ red7,brown7,yellow7,olive7,green7,teal7,cyan7,azure7,blue7,%
+ violet7,magenta7,purple7,gray8,red8,brown8,yellow8,olive8,%
+ green8,teal8,cyan8,azure8,blue8,violet8,magenta8,purple8,gray9,%
+ red9,brown9,yellow9,olive9,green9,teal9,cyan9,azure9,blue9,%
+ violet9,magenta9,purple9,gray1,red1,brown1,yellow1,olive1,%
+ green1,teal1,cyan1,azure1,blue1,violet1,magenta1,purple1,gray2,%
+ red2,brown2,yellow2,olive2,green2,teal2,cyan2,azure2,blue2,%
+ violet2,magenta2,purple2,gray3,red3,brown3,yellow3,olive3,%
+ green3,teal3,cyan3,azure3,blue3,violet3,magenta3,purple3,gray4,%
+ red4,brown4,yellow4,olive4,green4,teal4,cyan4,azure4,blue4,%
+ violet4,magenta4,purple4,gray5,red5,brown5,yellow5,olive5,%
+ green5,teal5,cyan5,azure5,blue5,violet5,magenta5,purple5,gray6,%
+ red6,brown6,yellow6,olive6,green6,teal6,cyan6,azure6,blue6,%
+ violet6,magenta6,purple6,gray7,red7,brown7,yellow7,olive7,%
+ green7,teal7,cyan7,azure7,blue7,violet7,magenta7,purple7,gray8,%
+ red8,brown8,yellow8,olive8,green8,teal8,cyan8,azure8,blue8,%
+ violet8,magenta8,purple8,gray9,red9,brown9,yellow9,olive9,%
+ green9,teal9,cyan9,azure9,blue9,violet9,magenta9,purple9,%
+ saturation,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ low,medium,high,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ ninecolors,%
+ },%
+ % otherkeywords={},%
+ alsoletter={123456789},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[fontspec]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ EncodingAccent,EncodingCommand,EncodingComposite,%
+ EncodingCompositeCommand,EncodingSymbol,IfFontExistsTF,%
+ IfFontFeatureActiveTF,UndeclareAccent,UndeclareCommand,%
+ UndeclareComposite,UndeclareSymbol,addfontfeature,addfontfeatures,%
+ aliasfontfeature,aliasfontfeatureoption,defaultfontfeatures,fontspec,%
+ liningnums,newAATfeature,newfontface,newfontfamily,newfontfeature,%
+ newfontlanguage,newfontscript,newopentypefeature,oldstylenums,%
+ providefontface,providefontfamily,renewfontface,renewfontfamily,%
+ setboldmathrm,setfontface,setfontfamily,setmainfont,setmathrm,%
+ setmathsf,setmathtt,setmonofont,setromanfont,setsansfont,strong,%
+ strongfontdeclare,strongresetsetmainfont,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Alternate,Annotation,AutoFakeBold,AutoFakeSlant,BoldFeatures,%
+ BoldFont,BoldItalicFeatures,BoldItalicFont,BoldSlantedFeatures,%
+ BoldSlantedFont,BoldSwashFeatures,BoldSwashFont,CJKShape,%
+ 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%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ fontspec%
+ },%
+ % otherkeywords={},%
+ alsoletter={20614-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[ProfCollege]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Thales,Pourcentage,ResolEquation%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ Twitter,Scratch,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Auteur,Logo,Calculer,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ Place,Drapeau,Avancer,Repeter,Tournerg,FinBlocRepeter,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ ProfCollege,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-euclide]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzDefPoint,tkzInterCC,tkzGetPoints,tkzDrawCircles,tkzDrawPolygon,%
+ tkzDrawPoints,tkzMarkSegments,tkzLabelSegments,tkzLabelPoints,%
+ tkzLabelPoints,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ mark,swap,above,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-euclide },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-fct]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzInit,tkzDrawX,tkzDrawY,tkzFct,tkzDefPoint,tkzDrawPoint,%
+ tkzPointShowCoord,tkzDefPoint,tkzDrawPoint,tkzPointShowCoord,%
+ tkzRep,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ xmin,xmax,ymin,ymax,samples,domain,xlabel,ylabel,xscale,yscale%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-fct },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-tab]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzTabInit,tkzTabLine,tkzTabVar,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ lgt,espcl,t,d,z,+,-,-D+/,+/,-/,+D/,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-tab },%
+ % otherkeywords={},%
+ alsoletter={+-/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[mecaso]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ KineticT,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ mecaso },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hanzibox]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hanzibox*,hanziboxset,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ frametype,pinyinline,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ none,true,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hanzibox },%
+ % otherkeywords={},%
+ % alsoletter={},%
+ % alsodigit={},%
+ alsoother={*},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikz-bagua]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Bagua*,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz-bagua },%
+ % otherkeywords={},%
+ % alsoletter={},%
+ % alsodigit={},%
+ alsoother={*},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[bodeplot]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ addBodeZPKPlots },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ BodePlot,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ ylabel,ytick,distance,height,width,magnitude,z,p,k,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ true,black,thick,linear,red,dashed,thick,asymptotic,blue,%
+ dotted,thick,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ bodeplot },%
+ % otherkeywords={},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[formal-grammar]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ highlight,firstcase,gralt,nonterm },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ grammar },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ formal-grammar },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[numerica-plus]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ nmcRecur,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ do,see1,f_,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ numerica-plus },%
+ % otherkeywords={},%
+ alsoletter={_1},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pascaltriangle]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pascal,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pascaltriangle },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pgf-interference]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pgfinterferencepattern,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ slits,wavelength,slit-distance,intensity,ruler,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pgf-interference%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[clistmap]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ ExplSyntaxOn,ExplSyntaxOff,clistmap,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ first_math,serial_rest_math_and,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ nnn,N,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ clistmap },%
+ % otherkeywords={},%
+ alsoletter={_},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hexboard]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hexmove,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ hexgamelabels,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hexboard },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[robotarm]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ robotArm,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ config,q1,q2,q3,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ robotarm },%
+ % otherkeywords={},%
+ alsoletter={123},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[amsfonts]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ mathbb,mathfrak,angle,Box,dasharrow,dashleftarrow,dashrightarrow,%
+ Diamond,hbar,Join,leadsto,lhd,llcorner,lozenge,lrcorner,mho,%
+ rhd,rightleftharpoons,rightsquigarrow,sqsubset,sqsupset,square,%
+ trianglelefteq,trianglerighteq,ulcorner,unlhd,unrhd,urcorner,%
+ vartriangleleft,vartriangleright,widehat{arg},widetilde{arg},yen,%
+ checkmark,circledR,maltese,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ amsfonts },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[biolinum]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ biolinum,biolinumOsF,biolinumLF,biolinumkey,sufigures,textsu,%
+ textsuperior,oldstylenums,liningnums,oldstylenumsf,liningnumsf,%
+ tabularnums,proportionalnums,tabularnumsf,proportionalnumsf,%
+ DeclareTextGlyphY,biolinumGlyph,biolinumKeyGlyph,LKey,LKeyPad,%
+ LKeyF,LKeyAltF,LKeyStrgAltF,LKeyCtrlAltF,LKeyStrgX,LKeyCtrlX,%
+ LKeyShiftX,LKeyAltX,LKeyAltGrX,LKeyShiftStrgX,LKeyShiftCtrlX,%
+ LKeyShiftAltX,LKeyShiftAltGrX,LKeyStrgAltX,LKeyCtrlAltX,%
+ LKeyStrgAltEnt,LKeyCtrlAltEnt,LKeyReset,LKeyTux,LKeyWin,LKeyMenu,%
+ LKeyStrg,LKeyCtrl,LKeyAlt,LKeyAltGr,LKeyShift,LKeyTab,LKeyEnter,%
+ LKeyCapsLock,LKeyPos,LKeyEntf,LKeyEinf,LKeyLeer,LKeyEsc,LKeyEnde,%
+ LKeyCommand,LKeyOptionKey,LKeyBack,LKeyUp,LKeyDown,LKeyLeft,%
+ LKeyRight,LKeyPgUp,LKeyPgDown,LKeyAt,LKeyFn,LKeyHome,LKeyDel,%
+ LKeySpace,LKeyScreenUp,LKeyScreenDown,LKeyIns,LKeyEnd,LKeyGNU,%
+ LKeyPageUp,LKeyPageDown,LMouseEmpty,LMouseN,LMouseL,LMouseM,%
+ LMouseR,LMouseLR,LMouseIIEmpty,LMouseIIN,LMouseIIL,LMouseIIR,%
+ LMouseIILR,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ sfdefault,type1,nofontspec,lining,nf,lf,oldstyle,osf,sflining,%
+ sflf,sfoldstyle,sfosf,osfss,tabular,t,p,sftabular,sft,%
+ sfproportional,sfp,scaled,scale,defaultfeatures,space,uni0020,%
+ exclam,uni0021,quotedbl,uni0022,numbersign,uni0023,dollar,%
+ uni0024,percent,uni0025,ampersand,uni0026,quotesingle,uni0027,%
+ parenleft,uni0028,parenright,uni0029,asterisk,uni002A,plus,%
+ uni002B,comma,uni002C,hyphen,uni002D,period,uni002E,slash,%
+ uni002F,zero,uni0030,one,uni0031,two,uni0032,three,uni0033,%
+ four,uni0034,five,uni0035,six,uni0036,seven,uni0037,eight,%
+ uni0038,nine,uni0039,colon,uni003A,semicolon,uni003B,less,%
+ uni003C,equal,uni003D,greater,uni003E,question,uni003F,at,%
+ bracketleft,uni005B,backslash,uni005C,bracketright,uni005D,%
+ asciicircum,uni005E,underscore,uni005F,grave,uni0060,uni007A,%
+ braceleft,uni007B,bar,uni007C,braceright,uni007D,asciitilde,%
+ uni007E,exclamdown,uni00A1,cent,uni00A2,sterling,uni00A3,%
+ currency,uni00A4,yen,uni00A5,brokenbar,uni00A6,section,uni00A7,%
+ dieresis,uni00A8,guillemotleft,uni00AB,uni00AD,degree,uni00B0,%
+ plusminus,uni00B1,acute,uni00B4,uni00B5,periodcentered,uni00B7,%
+ cedilla,uni00B8,guillemotright,uni00BB,Agrave,uni00C0,Aacute,%
+ uni00C1,Acircumflex,uni00C2,Atilde,uni00C3,Adieresis,uni00C4,%
+ Aring,uni00C5,Ccedilla,uni00C7,Egrave,uni00C8,Eacute,uni00C9,%
+ Ecircumflex,uni00CA,Edieresis,uni00CB,Igrave,uni00CC,Iacute,%
+ uni00CD,Icircumflex,uni00CE,Idieresis,uni00CF,Eth,uni00D0,Ntilde,%
+ uni00D1,Ograve,uni00D2,Oacute,uni00D3,Ocircumflex,uni00D4,Otilde,%
+ uni00D5,Odieresis,uni00D6,multiply,uni00D7,Oslash,uni00D8,Ugrave,%
+ uni00D9,Uacute,uni00DA,Ucircumflex,uni00DB,Udieresis,uni00DC,%
+ Yacute,uni00DD,Thorn,uni00DE,germandbls,uni00DF,agrave,uni00E0,%
+ aacute,uni00E1,acircumflex,uni00E2,atilde,uni00E3,adieresis,%
+ uni00E4,aring,uni00E5,ae,uni00E6,ccedilla,uni00E7,egrave,%
+ uni00E8,eacute,uni00E9,ecircumflex,uni00EA,edieresis,uni00EB,%
+ igrave,uni00EC,iacute,uni00ED,icircumflex,uni00EE,idieresis,%
+ uni00EF,eth,uni00F0,ntilde,uni00F1,ograve,uni00F2,oacute,%
+ uni00F3,ocircumflex,uni00F4,otilde,uni00F5,odieresis,uni00F6,%
+ divide,uni00F7,oslash,uni00F8,ugrave,uni00F9,uacute,uni00FA,%
+ ucircumflex,uni00FB,udieresis,uni00FC,yacute,uni00FD,thorn,%
+ uni00FE,ydieresis,uni00FF,Amacron,uni0100,amacron,uni0101,Abreve,%
+ uni0102,abreve,uni0103,Aogonek,uni0104,aogonek,uni0105,Cacute,%
+ uni0106,cacute,uni0107,Ccircumflex,uni0108,ccircumflex,uni0109,%
+ Cdotaccent,uni010A,cdotaccent,uni010B,Ccaron,uni010C,ccaron,%
+ uni010D,Dcaron,uni010E,dcaron,uni010F,Dcroat,uni0110,dcroat,%
+ uni0111,Emacron,uni0112,emacron,uni0113,Ebreve,uni0114,ebreve,%
+ uni0115,Edotaccent,uni0116,edotaccent,uni0117,Eogonek,uni0118,%
+ eogonek,uni0119,Ecaron,uni011A,ecaron,uni011B,Gcircumflex,%
+ uni011C,gcircumflex,uni011D,Gbreve,uni011E,gbreve,uni011F,%
+ Gdotaccent,uni0120,gdotaccent,uni0121,Gcommaaccent,uni0122,%
+ gcommaaccent,uni0123,Hcircumflex,uni0124,hcircumflex,uni0125,Hbar,%
+ uni0126,hbar,uni0127,Itilde,uni0128,itilde,uni0129,Imacron,%
+ uni012A,imacron,uni012B,Ibreve,uni012C,ibreve,uni012D,Iogonek,%
+ uni012E,iogonek,uni012F,Idotaccent,uni0130,dotlessi,uni0131,IJ,%
+ uni0132,ij,uni0133,Jcircumflex,uni0134,jcircumflex,uni0135,%
+ Kcommaaccent,uni0136,kcommaaccent,uni0137,kgreenlandic,uni0138,%
+ Lacute,uni0139,lacute,uni013A,Lcommaaccent,uni013B,lcommaaccent,%
+ uni013C,Lcaron,uni013D,lcaron,uni013E,Ldot,uni013F,ldot,uni0140,%
+ Lslash,uni0141,lslash,uni0142,Nacute,uni0143,nacute,uni0144,%
+ Ncommaaccent,uni0145,ncommaaccent,uni0146,Ncaron,uni0147,ncaron,%
+ uni0148,napostrophe,uni0149,Omacron,uni014C,omacron,uni014D,%
+ Obreve,uni014E,obreve,uni014F,Ohungarumlaut,uni0150,ohungarumlaut,%
+ uni0151,Racute,uni0154,racute,uni0155,Rcommaaccent,uni0156,%
+ rcommaaccent,uni0157,Rcaron,uni0158,rcaron,uni0159,Sacute,%
+ uni015A,sacute,uni015B,Scircumflex,uni015C,scircumflex,uni015D,%
+ Scedilla,uni015E,scedilla,uni015F,Scaron,uni0160,scaron,uni0161,%
+ Tcedilla,uni0162,tcedilla,uni0163,Tcaron,uni0164,tcaron,uni0165,%
+ Tbar,uni0166,tbar,uni0167,Utilde,uni0168,utilde,uni0169,Umacron,%
+ uni016A,umacron,uni016B,Ubreve,uni016C,ubreve,uni016D,Uring,%
+ uni016E,uring,uni016F,Uhungarumlaut,uni0170,uhungarumlaut,uni0171,%
+ Uogonek,uni0172,uogonek,uni0173,Wcircumflex,uni0174,wcircumflex,%
+ uni0175,Ycircumflex,uni0176,ycircumflex,uni0177,Ydieresis,uni0178,%
+ Zacute,uni0179,zacute,uni017A,Zdotaccent,uni017B,zdotaccent,%
+ uni017C,Zcaron,uni017D,zcaron,uni017E,h.superior,uni02B0,%
+ hhook.superior,uni02B1,j.superior,uni02B2,r.superior,uni02B3,%
+ rturned.superior,uni02B4,rhookturned.superior,uni02B5,%
+ Rsmallinverted.superior,uni02B6,w.superior,uni02B7,y.superior,%
+ uni02B8,uni02B9,uni02BA,uni02BB,afii57929,uni02BC,afii64937,%
+ uni02BD,uni02BE,uni02BF,uni02C0,uni02C1,uni02C2,uni02C3,uni02C4,%
+ uni02C5,circumflex,uni02C6,caron,uni02C7,uni02C8,uni02C9,uni02CA,%
+ uni02CB,uni02CC,uni02CD,uni02CE,uni02CF,uni02D0,uni02D1,uni02D2,%
+ uni02D3,uni02D4,uni02D5,uni02D6,uni02D7,breve,uni02D8,dotaccent,%
+ uni02D9,ring,uni02DA,ogonek,uni02DB,tilde,uni02DC,hungarumlaut,%
+ uni02DD,uni02DE,uni02DF,gammalatin.superior,uni02E0,l.superior,%
+ uni02E1,s.superior,uni02E2,x.superior,uni02E3,%
+ glottalstopreversed.superior,uni02E4,uni02EC,uni02ED,uni02EE,%
+ gravecomb,uni0300,acutecomb,uni0301,uni0302,tildecomb,uni0303,%
+ uni0304,uni0305,uni0306,uni0307,uni0308,hookabovecomb,uni0309,%
+ uni030A,uni030B,uni030C,uni030D,uni030E,uni030F,uni0310,uni0311,%
+ uni0312,uni0313,uni0314,uni0315,uni0316,uni0317,uni0318,uni0319,%
+ uni031A,uni031B,uni031C,uni031D,uni031E,uni031F,uni0320,uni0321,%
+ uni0322,dotbelowcomb,uni0323,uni0324,uni0325,uni0326,uni0327,%
+ uni0328,uni0329,uni032A,uni032B,uni032C,uni032D,uni032E,uni032F,%
+ uni0330,uni0331,uni0338,uni0342,uni0343,uni0351,uni0357,uni0358,%
+ uni0359,uni035A,uni035B,uni035C,uni035D,uni035E,uni035F,uni0360,%
+ uni0361,uni0362,uni0363,uni0374,uni0375,afii57799,uni05B0,%
+ afii57801,uni05B1,afii57800,uni05B2,afii57802,uni05B3,afii57793,%
+ uni05B4,afii57794,uni05B5,afii57795,uni05B6,afii57798,uni05B7,%
+ afii57797,uni05B8,afii57806,uni05B9,uni05BA,afii57796,uni05BB,%
+ afii57807,uni05BC,afii57839,uni05BD,afii57645,uni05BE,afii57841,%
+ uni05BF,afii57842,uni05C0,afii57804,uni05C1,afii57803,uni05C2,%
+ afii57658,uni05C3,uni05C6,afii57664,uni05D0,afii57665,uni05D1,%
+ afii57666,uni05D2,afii57667,uni05D3,afii57668,uni05D4,afii57669,%
+ uni05D5,afii57670,uni05D6,afii57671,uni05D7,afii57672,uni05D8,%
+ afii57673,uni05D9,afii57674,uni05DA,afii57675,uni05DB,afii57676,%
+ uni05DC,afii57677,uni05DD,afii57678,uni05DE,afii57679,uni05DF,%
+ afii57680,uni05E0,afii57681,uni05E1,afii57682,uni05E2,afii57683,%
+ uni05E3,afii57684,uni05E4,afii57685,uni05E5,afii57686,uni05E6,%
+ afii57687,uni05E7,afii57688,uni05E8,afii57689,uni05E9,afii57690,%
+ uni05EA,afii57716,uni05F0,afii57717,uni05F1,afii57718,uni05F2,%
+ arrowleft,uni2190,arrowup,uni2191,arrowright,uni2192,arrowdown,%
+ uni2193,arrowboth,uni2194,arrowupdn,uni2195,uni2196,uni2197,%
+ uni2198,uni2199,uni219A,uni219B,uni21A5,uni21A7,uni21BC,uni21BD,%
+ uni21C0,uni21C1,arrowdblleft,uni21D0,arrowdblup,uni21D1,%
+ arrowdblright,uni21D2,arrowdbldown,uni21D3,arrowdblboth,uni21D4,%
+ uni21D5,Nwarrow,uni21D6,Nearrow,uni21D7,Searrow,uni21D8,Swarrow,%
+ uni21D9,uni2318,uni2325,uni2326,uni2327,uni232B,uni237D,uni2380,%
+ uni2423,filledbox,uni25A0,H22073,uni25A1,triagup,uni25B2,uni25B3,%
+ uni25B6,uni25B7,triagdn,uni25BC,uni25BD,uni25C0,uni25C1,uni25C6,%
+ uni25C7,uni25C9,lozenge,uni25CA,circle,uni25CB,uni25CE,H18533,%
+ uni25CF,uni25D0,uni25D1,uni25D2,uni25D3,uni25D4,uni25D5,uni25D6,%
+ uni25D7,openbullet,uni25E6,uni2605,uni2619,uni261B,uni261E,%
+ uni2627,uni262F,uni2639,uni263A,uni263B,uni263C,uni263D,uni263E,%
+ uni263F,female,uni2640,uni2641,male,uni2642,uni2643,uni2644,%
+ uni2645,uni2646,uni2647,uni2648,uni2649,uni264A,uni264B,uni264C,%
+ uni264D,uni264E,uni264F,uni2650,uni2651,uni2652,uni2653,uni2660,%
+ uni2663,uni2665,uni2666,uni2669,musicalnote,uni266A,%
+ musicalnotedbl,uni266B,uni266C,uni2695,uni2698,uni26A2,uni26A3,%
+ uni26A4,uni26A5,uni26AD,uni2767,uni2776,uni2777,uni2778,uni2779,%
+ uni277A,uni277B,uni277C,uni277D,uni277E,uni277F,T_u_x,uniE000,%
+ uniE104,uniE128,uniE129,uniE12A,uniE130,uniE131,uniE132,uniE133,%
+ uniE134,uniE135,uniE138,uniE139,uniE13A,uniE13C,uniE13D,uniE168,%
+ B_a_c_k,uniE16E,S_t_r_g,uniE170,A_l_t,uniE171,A_l_t_G_r,uniE172,%
+ C_t_r_l,uniE173,S_h_i_f_t,uniE174,T_a_b,uniE175,E_n_t_e_r,%
+ uniE176,C_a_p_s_l_o_c_k,uniE177,F_1,uniE178,F_2,uniE179,F_3,%
+ uniE17A,F_4,uniE17B,F_5,uniE17C,F_6,uniE17D,F_7,uniE17E,F_8,%
+ uniE17F,F_9,uniE180,F_1_0,uniE181,F_1_1,uniE182,F_1_2,uniE183,%
+ F_1_3,uniE184,F_1_4,uniE185,F_1_5,uniE186,F_1_6,uniE187,uniE188,%
+ H_o_m_e,uniE189,D_e_l,uniE18A,I_n_s,uniE18B,uniE18C,E_n_d,%
+ uniE18E,G_N_U,uniE190,P_o_s_1,uniE191,E_n_t_f,uniE192,E_i_n_f,%
+ uniE193,L_e_e_r,uniE194,E_s_c,uniE195,E_n_d_e,uniE196,uniE198,%
+ uniE199,uniE19A,uniE19B,uniE1A0,uniE1A1,uniE1A2,uniE1A3,uniE1A4,%
+ uniE1A5,uniE1A6,uniE1A7,uniE1A8,uniE1A9,uniE1AA,uniE1AB,uniE1AC,%
+ uniE1AD,uniE1AE,uniE1B0,uniE1B1,grave.cap,uniE358,acute.cap,%
+ uniE359,circumflex.cap,uniE35A,caron.cap,uniE35B,breve.cap,%
+ uniE35C,hungarumlaut.cap,uniE35D,space_uni030F.cap,uniE35E,%
+ breveinvertedcmb.cap,uniE35F,breve.cyrcap,uniE360,breve.cyr,%
+ uniE361,dieresis.cap,uniE362,hookabovecomb.cap,uniE363,uniFFFD,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ biolinum },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[biblatex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ cite,Cite,parencite,Parencite,footcite,footcitetext,smartcite,%
+ Smartcite,textcite,Textcite,supercite,cites,Cites,parencites,%
+ Parencites,footcitesfootcitetexts,textcites,Textcites,supercites,%
+ autocite,Autocite,autocite*,Autocite*,autocites,Autocites,%
+ citeauthor,Citeauthor,citetitle,citetitle*,citeyear,citeurl,%
+ parentext,brackettext,nocite,fullcite,footfullcite,volcite,%
+ Volcite,pvolcite,Pvolcite,fvolcite,ftvolcite,tvolcite,Tvolcite,%
+ avolcite,Avolcite,notecite,Notecite,pnotecite,Pnotecite,fnotecite,%
+ citename,citelist,citefield,printbibliography,bibliography,%
+ citedate,ExecuteBibliographyOptions,defbibnote,psq,psqq,%
+ addbibresource,AtNextCite,DeclareNameAlias,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ abstract,addendum,afterword,annotation,annotator,author,%
+ authortype,bookauthor,bookpagination,booksubtitle,booktitle,%
+ booktitleaddon,chapter,commentator,date,doi,edition,editor,%
+ editora,editorb,editorc,editortype,editoratype,editorbtype,%
+ editorctype,eid,eprint,eprintclass,eprinttype,eventdate,%
+ eventtitle,file,foreword,holder,howpublished,indextitle,%
+ institution,introduction,isan,isbn,ismn,isrn,issn,issue,%
+ issuesubtitle,issuetitle,iswc,journalsubtitle,journaltitle,label,%
+ language,library,location,mainsubtitle,maintitle,maintitleaddon,%
+ month,nameaddon,note,number,organization,origdate,origlanguage,%
+ origlocation,origpublisher,origtitle,pages,pagetotal,pagination,%
+ part,publisher,pubstate,reprinttitle,series,shortauthor,%
+ shorteditor,shorthand,shorthandintro,shortjournal,shortseries,%
+ shorttitle,subtitle,title,titleaddon,translator,type,url,urldate,%
+ venue,version,volume,volumes,year,crossref,entryset,entrysubtype,%
+ execute,gender,hyphenation,indexsorttitle,keywords,options,%
+ presort,sortkey,sortname,sorttitle,sortyear,xref,annote,%
+ archiveprefix,journal,key,pdf,primaryclass,school,address,%
+ datamodel,%
+ %
+ backend,style,citestyle,bibstyle,sorting,maxnames,minnames,%
+ maxitems,minitems,backref,abbreviate,firstinits,prenote,postnote,%
+ useprefix,autopunct,giveninits,labelname,given-family,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ submitted,inpress,danish dutch,american,USenglish,english,british,%
+ UKenglish,canadian,australian,newzealand,finnish,french,francais,%
+ canadien,german,ngerman,austrian,naustrian,greek,italian,norsk,%
+ nynorsk,brazil,portuges,spanish,swedish,%
+ %
+ biber,numeric,numeric-comp,numeric-verb,alphabetic,alphabetic-verb,%
+ authoryear,authoryear-comp,authoryear-ibid,authoryear-icomp,%
+ authortitle,authortitle-comp,authortitle-ibid,authortitle-icomp,%
+ authortitle-terse,authortitle-tcomp,authortitle-ticomp,verbose,%
+ verbose-ibid,verbose-note,verbose-inote,verbose-trad1,verbose-trad2,%
+ verbose-trad3,reading,draft,debug,and,inline,footnote,%
+ superscript,plain,nyt,ynt,none,false,true,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ biblatex },%
+ % directives
+ directives={%
+ article,book,inbook,bookinbook,suppbook,booklet,collection,%
+ conference,incollection,suppcollection,manual,misc,online,patent,%
+ periodical,suppperiodical,proceedings,inproceedings,reference,%
+ inreference,report,thesis,unpublished,masterthesis,phdthesis,%
+ string,comment,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ delim=*[directive]@,sensitive=false,%
+ }[keywords,directives,tex,comments]%
+
+ \lst@definelanguage[lthooks]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ AddToHook,BeforeBeginEnvironment,AtBeginEnvironment,AtEndEnvironment,%
+ AfterEndEnvironment,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ % begin,end,
+ before,after,begindocument,begindocument/before,%
+ begindocument/end,enddocument,enddocument/afterlastpage,%
+ enddocument/afteraux,enddocument/info,enddocument/end,env,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ lthooks },%
+ % otherkeywords={},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[l3keys2e]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ ProcessKeysOptions,ProcessKeysPackageOptions,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ l3keys2e },%
+ % otherkeywords={},%
+ alsoletter={23},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[varioref]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ vref,vpageref,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ varioref },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hologo]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hologo },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=va ,lue)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hologo%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[acro]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Ac,Aca,Acap,Acf,Acfp,Acl,Aclp,Acp,AcroAcronymsMap,AcroAddRow,%
+ AcroMapBreak,AcroNeedPackage,AcroPropertiesMap,AcroPropertiesSet,%
+ AcroRerun,AcroStyle,AcroTemplateName,AcroTemplateType,AcronymID,%
+ AcronymTable,Acs,Acsp,BeginAccSupp,Dacs,DeclareAcroArticle,%
+ DeclareAcroEnding,DeclareAcroPreset,DeclareAcroProperty,%
+ DeclareAcroPropertyAlias,DeclareAcroTranslation,DeclareAcronym,Iac,%
+ Iaca,Iacf,Iacl,Iacs,MakeAcroPropertyAlias,NewAcroCommand,%
+ NewAcroPreset,NewAcroTemplate,RenewAcroCommand,RenewAcroPreset,%
+ RenewAcroTemplate,SetupAcroTemplate,SetupNextAcroTemplate,%
+ UseAcroTemplate,abbrdot,ac,aca,acap,acbarrier,acdot,acf,acfg,%
+ acflike,acfootnote,acfp,acg,aciftrailing,acl,aclg,aclp,acp,%
+ acreset,acresetall,acrocite,acrodefinite,acrodonotuse,acrodotfill,%
+ acroendfootnote,acroformat,acrofull,acrogroupcite,acroheading,%
+ acroifT,acroifTF,acroifallTF,acroifanyT,acroifanyTF,%
+ acroifbooleanTF,acroifchapterF add,acroifchapterTF,acroiffirstT,%
+ acroiffirstTF addchap,acroifpagesTF,acroifsingleTF,acroifstarredTF,%
+ acroiftagTF,acroifusedTF,acroindefinite,acrolistname,acroneedpages,%
+ acronopagerange,acronymsmap,acronymsmapF,acronymsmapTF,acropagefill,%
+ acropages,acroplural,acropossessive,acropreamble,acroshow,%
+ acrotranslate,acroupper,acrowrite,acs,acsetup,acsp,acspace,%
+ acswitchoff,acswitchon,acuse,dacs,declareAcronym,iac,iaca,iacf,%
+ iacl,iacs,iacsg,printacronyms,%
+ %
+ acro_locale,acro_if_foreign,acro_if_locale,__acro_foreign_language,%
+ acro_property_get,acro_property_if_set,acro_property_get,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ activate,addsec,addsec*,all,alt,alt,alt-acc,alt-format,%
+ alt-indefinite,alt-plural,alt-plural-form,barriers,before-citation,%
+ caption,%
+ case-insensitive,%case-sensitive,%chapter,chapter*,cite,clear,cmd,%
+ deactivate,define,description,disable,display,exclude,extra,%
+ extra-acc,extra-foreign,extra-format,extra-long,fill,first,%
+ first-long,first-long-format,first-style,first-style ,floats,%
+ footnote,foreign,foreign,foreign-acc,foreign-babel,foreign-format ,%
+ foreign-locale,foreign-plural,foreign-plural-form,format,format,%
+ group,heading,id,include,index,index,index-cmd,index-sort,%
+ language,link-only-first,list,list,list-acc,list-format,%
+ list/display,lists,load-style,local,locale,lof,long,long,%
+ long-acc,long-format,long-indefinite,long-plural,long-plural-ending,%
+ long-plural-form,long-post,long-short,longtable,longtabu,lppl,%
+ ltxtable,make-links,maketitle,method,name,no-index,none,options,%
+ pages,pdf,pdf,pdfcomment,pdfcomment/cmd,pdfcomment/use,pdfstring,%
+ post,pre,preamble,preset,replace,reset,section,section*,short,%
+ short,short,short-acc,short-format,short-indefinite,short-long,%
+ short-plural,short-plural-ending,short-plural-form ,show,single,%
+ single,single,single-acc threshold,single-format
+ title,single-style,%
+ single-style,sort,sort,subsequent-style,subsequent-style,%
+ supertabular,tabular,tabularx,tag,upgrade,use,use-id-as-short,%
+ uselist,version,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ acro%
+ },%
+ % otherkeywords={},%
+ alsoletter={-_},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[csquotes]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ enquote,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ displayquote,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ csquotes%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tcolorbox
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[tcolorbox]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ tcbuselibrary,newtcbtheorem,tcbset%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ %
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ absquote,boxarraystore,dispExample,dispExample*,dispListing,%
+ dispListing*,docCommand,docCommand*,docCommands,docEnvironment,%
+ docEnvironment*,docEnvironments,docKey,docKey*,docKeys,%
+ docPathOperation,docPathOperation*,docPathOperations,extcolorbox,%
+ extikzpicture,fooauxenv,foocolorbox,foocolorbox*,posterboxenv,%
+ tcbclipframe,tcbclipinterior,tcbcliptitle,tcbexternal,%
+ tcbinvclipframe,tcbitemize,tcblisting,tcboutputlisting,%
+ tcboxeditemize,tcboxedraster,tcbposter,tcbraster,tcbverbatimwrite,%
+ tcbwritetemp,tcolorbox,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Crefname,IfBooleanF,IfBooleanT,IfBooleanTF,IfNoValueF,IfNoValueT,%
+ IfNoValueTF,IfValueF,IfValueT,IfValueTF,PassOptionsToClass,%
+ PassOptionsToPackage,above*,above,actual,adapt,add,adjust,%
+ adjusted,after,alert,alerted,algorithm,align*,align,all,ams,%
+ and,angular,annotate,app,arara,arc,array,as,at,attach,auto,%
+ autoparskip,balanced,base,basedim,baseline,beamer,bean,before,%
+ beforeafter,% begin,
+ below,between,biber,bibtex,bicolor,blank,%
+ blanker,blankest,blend,body,bold,bookmark*,bookmark,borderline,%
+ both,bottom*,bottom,bottomrule,bottomsep,bottomtitle,bounding,%
+ box,boxed,boxes,boxrule,boxsep,break*,break,breakable,broken,%
+ by,caption,capture,center,check,circular,clear,clip,code,%
+ colback,colbacklower,colbacktitle,colframe,collower,colon,color,%
+ colorize,colors,colspacing,coltext,coltitle,column*,column,%
+ columns,colupper,command,comment,compilable,compiler,compress,%
+ content,corner,corners,counter*,counter,counters,coverage,%
+ crefname,current,curved,dash,default,definition,delimiters,%
+ description,detach,directory,do,doc,docexample,documentation,%
+ downwards,draft,draftmode,draw,drop,dvips,east,empty,% end,
+ %
+ enforce,engine,english,enhanced,enlarge,enlargement,enlargepage,%
+ entry,environment,environments,equal,equation*,equation,error,%
+ even,every,example!,example,extend,extension,external,%
+ externalize,extras,extrude,fade,fading,file,fill,filled,finally,%
+ finish,first,fit,fitting,fixed,flexible,flip,float*,float,%
+ floatplacement,flush,flushleft,flushright,font,fontlower,fontsize,%
+ fonttitle,fontupper,for,force,format,formatter,frame,freelance,%
+ freelancefirst,freelancelast,freelancemiddle,freestyle,freeze,from,%
+ full,fuzzy,gap,gather*,gather,geometry,german,goal,graphical,%
+ graphics,group,grow,halign,halo,hanging,hbox,head,height,%
+ hidden,hide,higher,highlight,hooks,horizontal,hyperlink,hyperref,%
+ hypertarget,hyperurl*,hyperurl,hyphenationfix,if,ignore,image,in,%
+ indent,index*,index,inherit,initially,input,inputencoding,inside,%
+ interior,into,invisible,inwards,is,jigsaw,jpg,key,keypath,keys,%
+ keywords,label,language,large,last,latex,layer,layers,left*,%
+ left,lefthand,leftlower,leftright,leftrule,lefttitle,leftupper,%
+ length,lengths,level,lifted,limit,line*,line,lines,list,%
+ listing!,listing,listings,listingsutf,lower*,lower,lowerbox,%
+ lowered,lualatex,m,macros,magazine,makeindex,many,marginnote,%
+ marker,math,maxfontdiff,maxfontdiffgap,maxstep,maxwidthdiff,%
+ maxwidthdiffgap,method,midday,middle,minimum,minipage,minted,%
+ most,move,multicolumn,multirow,n,name,nameref,natural,new,%
+ nirvana,no,nobeforeafter,nobreak,node,nodes,nodisplayskip,%
+ nofloat,none,noparskip,nophantom,north,northeast,northwest,not,%
+ notitle,number,octogon,odd,of,offset,on,oneside*,oneside,only,%
+ opacity,opacityback,opacitybacklower,opacitybacktitle,opacityfill,%
+ opacityframe,opacitylower,opacitytext,opacitytitle,opacityupper,%
+ option,options,or,orientation,out,outer,outside,outwards,over,%
+ overlay,overlays,oversize,overzoom,pad,page*,page,pages,%
+ pageshort,parameter,parbox,parenthesis,parfillskip,parskip,path,%
+ paths,pdf,pdflatex,percent,phantom,phantomlabel,placeholder,%
+ plain,plus,png,poster,pre,preamble,preclass,prefix,process,%
+ pspdf,quote,raise,raised,raster,ratio,record,recording,remake,%
+ remember,remove,reset,restore,right*,right,righthand,rightlower,%
+ rightrule,righttitle,rightupper,rotate,rounded,row,rows,%
+ rowspacing,rowspan,run,runner,runs,safety,savedelimiter,%
+ savelowerto,saveto,scale,scope,segmentation,semi,separated,%
+ separator,sequence,settings,shade,shading,shadow,sharp,sharpish,%
+ shield,show,showframe,shrink,side,sidebyside,sidewards,sign,%
+ size,skin,skins,skip,small,smart,sort,source,south,southeast,%
+ southwest,space,spacing,span,spartan,split,spread,square,%
+ squeezed,stack,standard,step,store,stretch,style,subskin,%
+ subtitle,supplement,switch,system,tabulars*,tabulars,tabularx*,%
+ tabularx,tcbimage,tcbox,preamble tcbset,tempfile,terminator,text,%
+ theorem,theorems,tight,tikz,tikznode,tile,title*,title,titlebox,%
+ titled,titlerule,to,toggle,top*,top,toprule,topsep,toptitle,%
+ type,unbreakable,unbroken,underlay,updated,upper*,upper,upperbox,%
+ upwards*,upwards,use,utf,valign,value,values,varwidth,verbatim,%
+ vertical,vfill,vignette,visible,void,warning,watermark,west,%
+ widget,width,with,within,xelatex,xmax,xmin,xparse,xshift,ymax,%
+ ymin,yshift*,yshift,yshifttext,zoom,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ all,and,apart,areasize*,areasize,as-is,auto,base,baselineskip,%
+ beamer,beamerfirst,beamerlast,beamermiddle,bicolor,bicolorfirst,%
+ bicolorlast,bicolormiddle,both,bottom,break,broken,center,change,%
+ clipped,colon,copy,dash,direct,doc,downhill,draft,east,empty,%
+ emptyfirst,emptylast,emptymiddle,enhanced,enhancedfirst,%
+ enhancedlast,enhancedmiddle,evenpage,false,fbox,figures,final,%
+ first,fitbox,flush,fontsize*,fontsize,forced,freelance,%
+ freelancefirst,freelancelast,freelancemiddle,hang,hbox,hybrid*,%
+ hybrid,ignored,invisible,jigsaw,justify,landscape*,landscape,%
+ last,left,limited,listings,margin,maximum,middle,minimal,%
+ minimum,minipage,minted,none,normal,north,northeast,northwest,%
+ off,on,path,pathfirst,pathfirstjigsaw,pathjigsaw,pathlast,%
+ pathlastjigsaw,pathmiddle,pathmiddlejigsaw,pgf,pgfchapter,%
+ pgfsection,plain,portrait*,portrait,right,rows,scale*,scale,%
+ seam,small,south,southeast,southwest,spartan,squeeze,standard,%
+ tables,tight,tile,tilefirst,tilelast,tilemiddle,title,top,true,%
+ unbroken,unlimited,uphill,visible,west,widget,widgetfirst,%
+ widgetlast,widgetmiddle,red,black,white,none,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tcolorbox%
+ },%
+ % otherkeywords={},%
+ alsoletter={ \ },%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Classes (La)TeX
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[classes]{TeX}{%
+ % Control sequences
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as
+ % 'otherkeywords')
+ morekeywords={%
+ %
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments)
+ % & optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after “:”
+ % in expl3 syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly
+ % derived packages)
+ morekeywords=[6]{%
+ a0poster,aalok,aastex631,abntex2,achemso,acmart,acmconf,
+ active-conf,adfathesis,afparticle,afthesis,aguplus,aiaa-tc,
+ akklecture,akkscript,akktecdoc,akletter,myletter,ametsoc,
+ amsart,amsbook,amsdtx,amsldoc,amsproc,aomart,apa,apa6,
+ apa6e,apa7,arabart,arabbook,arabrep,arabrep1,articleingud,
+ asaetr,ascelike,asmeconf,asmejour,assignment,aucklandthesis,
+ bangorcsthesis,bangorexam,barticle,bbook,bletter,
+ bankstatement,article,book,letter,ltnews,ltxdoc,ltxguide,
+ minimal,proc,report,slides,source2edoc,basque-book,beamer,
+ beamerswitch,beaulivre,beilstein,argetabelle,bewerbung,
+ bgteubner,BHCexam,bitart,bitbook,bjfuthesis,BMSTU-IU8,
+ bookcover,bookest,bookshelf,br-lex,brandeis-dissertation,
+ brandeis-problemset,brandeis-thesis,buctcover,buctthesis,
+ bxjsarticle,bxjsbook,bxjsreport,bxjsslide,cascadilla,cd,
+ cd-cover,articoletteracdp,letteracdp,cesenaexam,cheatsheet,
+ chemmacros-manual,chletter,cje,cnbwp,cnltx-doc,codedoc,
+ colorart,colorbook,combine,cc,ConcProg,confproc,contracard,
+ courseoutline,coursepaper,cquthesis,csbulletin,csbulobalka,
+ csbulv1,ctexart,ctexbeamer,ctexbook,ctexrep,ctxdoc,curve,
+ cv4tw,cweb,idcc,ijdc-v14,ijdc-v9,dinbrief,disser,gost732,
+ dithesis,droit-fr,dtk,dvdcoll,easybook,ebsthesis,agecon,
+ ajae,apecon,ecca,erae,itaxpf,jrurstud,njf,oegatb,pocoec,
+ regstud,worlddev,ecv,einfart,ejpecp,elbioimp,elegantbook,
+ elegantnote,elegantpaper,elpres,cas-dc,cas-sc,elsarticle,
+ elteikthesis,emisa,emulateapj,erdc,eskd,eskdgraph,eskdtab,
+ eskdtext,estcpmm,europasscv,europecv,exam,exam-n,examdesign,
+ exesheet,extarticle,extbook,extletter,extproc,extreport,
+ facsimile,factura,fancyhandout,fancyslides,fbithesis,fcavtex,
+ fdudoc,fduthesis-en,fduthesis,fei,ffslides,fithesis,
+ fithesis2,fithesis3,fithesis4,flacards,flashcards,frletter,
+ g-brief,g-brief2,gaceta,gammas,gatech-thesis,gmdocc,
+ gradstudentresume,grant-afosr,grant-aro,grant-darpa,grant-doe,
+ grant-nih,grant-nrl,grant-nsf,grant-onr,grant,graphpaper,
+ gridslides,gsemthesis,guitartabs,gzt,gztarticle,h2020proposal,
+ hgbarticle,hgbreport,hgbthesis,harnon-cv,hausarbeit-jura,
+ hcart,hcletter,hcreport,hcslides,hecthese,hepthesis,hitec,
+ hithesis,hitreport,hitszthesis,hletter,hpsdiss,fsbispit,
+ huawei,hustthesis,icsv,IEEEconf,IEEEtran,ijmart,ijsra,
+ image-gallery,IMTEKda,inkpaper,invoice-class,iodhbwm,iscram,
+ isov2,isodoc,iwhdp,jacow,jlreq,jmlr,jmlrbook,jnuexam,jpsj2,
+ jura,jurabook,juraovw,juraurtl,kdgcoursetext,kdgmasterthesis,
+ kdpcover,kerntest,kluwer,knittingpattern,scrartcl,scrarticle,
+ scrbook,scrdoc,scrletter,scrlttr2,scrreport,scrreprt,komacv,
+ oblivoir-utf,oblivoir-xl,oblivoir,xoblivoir,ksp-thesis,l3doc,
+ labbook,leadsheet,leaflet,lebhart,lectures,letgut,lettre,limap,
+ limecv,lion-msc,lni,lps,lt3graph-packagedoc,ltxdockit,
+ ltxguidex,abstbook,beletter,flashcard,iagproc,cours,fiche,
+ matapli,matc3mem,mcmthesis,ltxmdf,medstarbeamer,meetingmins,
+ memoir,mensa-tex,mentis,metanorma,milog,minimart,minimbook,
+ mla,mluexercise,mnras,moderncv,modernposter,msu-thesis,
+ mucproc,mugsthesis,muling,musuos,muthesis,third-rep,mwart,
+ mwbk,mwrep,mycv,nature,ncc,nccproc,sibjnm,nddiss2e,
+ ndsu-thesis,newlfm,nih,nihbiosketch,njurepo,nlctdoc,nostarch,
+ nrc1,nrc2,artikel1,artikel2,artikel3,boek,boek3,brief,
+ rapport1,rapport3,nwejm,nwejmart,octavo,onrannual,
+ oup-authoring-template,journal,paper,papertex,pbsheet,pecha,
+ petiteannonce,philosophersimprint,pittetd,pkuthss,plari,play,
+ postcards,powerdot,FUpowerdot,ppr-prv,pracjourn,pressrelease,
+ proposal,reporting,dfgproposal,dfgreporting,euproposal,
+ eureporting,prosper,protocol,prtec,upmgr,wkmgr,pst-doc,
+ ptptex,qcm,quantumarticle,qyxf-book,ReadableCV,recipe,
+ RecipeBook,recipecard,refart,refrep,resphilosophica,revtex4-2,
+ revtex4,revtex4-1,rtklage,ryersonSGSThesis,ryethesis,sageep,
+ sapthesis,schuleab,schulein,schuleit,schulekl,schuleub,
+ schuleue,schullsg,schullzk,schulma-ab,schulma-gutachten,
+ schulma-klausur,schulma-komp,schulma-mdlprf,schulma-praes,
+ schwalbe,sciposter,screenplay,scrjrnl,sdapsclassic,sduthesis,
+ seminar,semproc,sesamanuel,seuthesix,sffms,cassete,etiketka,
+ shtthesis,caesar_book,sides,simplecv,simplivre,skbarticle,
+ skbbeamer,skbbook,skblncsbeamer,skblncsppt,skbmoderncv,skdoc,
+ skeyval-testclass,skrapport,smfart,smfbook,SPhdThesis,spie,
+ sr-vorl,sslides,stage,standalone,usthesis,hwexam,mikoslides,
+ omdoc,smglom,subfiles,suftesi,sugconf,tabriz-thesis,talk,
+ tcldoc,tclldoc,powersem,thesis-ekf,thesis-gwu,thuthesis,
+ tikz-kalender,tikzposter,tlc-article,TOPletter,toptesi,
+ tudabeamer,tudaexercise,tudaleaflet,tudaletter,tudaposter,
+ tudapub,tudasciposter,tudscrartcl,tudscrbook,tudscrdoc,
+ tudscrmanual,tudscrposter,tudscrreprt,tufte-book,tufte-handout,
+ ltugboat,ltugproc,tui,turabian,turabian-researchpaper,
+ turabian-thesis,my-thesis,ua-thesis,uafthesis,
+ uantwerpenbamathesis,uantwerpencoursetext,uantwerpenexam,
+ uantwerpenletter,uantwerpenphdthesis,uantwerpenreport,
+ ucalgmthesis,ucbthesis,ucdavisthesis,ucsmonograph,ucthesis,
+ udesoftec,uebungsblatt,uestcthesis,uhhassignment,uiucredborder,
+ uiucthesis,ulthese,legislation,umich-thesis,umthesis,
+ unam-thesis,unifith,unitn-bimrep,univie-ling-expose,
+ univie-ling-paper,univie-ling-thesis,univie-ling-wlg,
+ unizgklasa,uothesis,UoWthesis,upmethodology-document,URbeamer,
+ URletter,uspatent,ut-thesis,utexasthesis,uwmslide,uwthesis,
+ verifica,webquiz,willowtreebook,withargs-packagedoc,
+ wsemclassic,xduthesis,xebaposter,xmuthesis,xsim-manual,
+ yaletter,yathesis,ycbook,ydoc,york-thesis,
+ },%
+ % otherkeywords={},%
+ alsoletter={0123456789-},%
+ % alsodigit={},%
+ sensitive%
+ }[keywords,tex,comments]%
+ #+end_src
diff --git a/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex b/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
index def4a25fce0..7accd963cd0 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
+++ b/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
@@ -1,3 +1,5 @@
+% Hey, Emacs! This is a -*- mode: latex -*- file!
+
\enlargethispage{1.5cm}
\small
\vspace*{-1cm}
@@ -8,24 +10,24 @@
\end{minipage}%
}%
\hfill%
-\begin{minipage}[t]{.4\textwidth}%\vspace{0pt}%
+\begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
\footnotesize\raggedleft%
Association \gut{}\\
15 rue des Halles -- \textsc{bp} 74\\
75001 Paris\\
France\\
- \nolinkurl{secretariat@gutenberg.eu.org}
+ \url{secretariat[at]gutenberg[dot]eu[dot]org}
\end{minipage}%
\begin{description}
-\item[Site internet :] \url{https://www.gutenberg.eu.org/}
-\item[\Cahiers{} :] \url{http://cahiers.gutenberg.eu.org/}
+\item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
+\item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
\item[Problèmes techniques :]
\leavevmode
\begin{description}
\item[la liste \texttt{gut} :]
- \url{https://www.gutenberg.eu.org/-Listes-de-diffusion-}
- \item[le site \TeX nique de questions et réponses :]
+ \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
+ \item[le site \hologo{TeX}nique de questions et réponses :]
\url{https://texnique.fr/}
\item[la foire aux questions :]
\url{https://faq.gutenberg.eu.org}
@@ -33,9 +35,9 @@
\end{description}
%
\alertbox{%
- Cette association est la vôtre: faites-nous part de
+ Cette association est la vôtre : faites-nous part de
vos idées, de vos envies, de vos préoccupations
- à l'adresse \nolinkurl{secretariat@gutenberg.eu.org}.%
+ à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
}
% \section[Association GUTenberg (tout sur l')]
@@ -58,19 +60,20 @@
% confidentielles, merci de le signaler.
\end{itemize}
+\vspace*{-0.7cm}
\section{Tarifs \the\year}
Les membres de \gut\ peuvent adhérer à l'association
internationale, le \acf{tug}, et recevoir son bulletin
-\emph{\acs{tug}boat} à un tarif préférentiel :
+\tugboat{} à un tarif préférentiel :
\begin{description}
-\item[tarif normal :] \EUR{65} (au lieu de 85~\$)
-\item[tarif étudiant :] \EUR{40} (au lieu de 55~\$)
+\item[tarif normal :] 65~€ (au lieu de 85~\$)
+\item[tarif étudiant :] 40~€ (au lieu de 55~\$)
\end{description}
-% (\EUR{49,50}, étudiants et demandeurs d'emploi :
-% \EUR{29}, au lieu de 85\$ et % 65\$). Voir
+% (49~€50}, étudiants et demandeurs d'emploi :
+% 29~€, au lieu de 85\$ et % 65\$). Voir
% \url{%
-% https://www.gutenberg.eu.org/?Adherer-a-l-association%
+% https://www.gutenberg-asso.fr/?Adherer-en-ligne%
% }.
\footnotesize
@@ -79,13 +82,13 @@ internationale, le \acf{tug}, et recevoir son bulletin
\toprule
\textbf{Type d'adhésion} & \textbf{Prix} \\
\midrule
- Membre individuel & \EUR{30} \\
- Membre individuel + adhésion \acs{tug} & \EUR{95} \\
- Membre individuel étudiant/demandeur d'emploi & \EUR{15} \\
- Membre individuel étudiant + adhésion \acs{tug} & \EUR{55} \\
- Association d'étudiants & \EUR{65} \\
- Organisme à but non lucratif & \EUR{130} \\
- Organisme à but lucratif & \EUR{229} \\
+ Membre individuel & 30~€ \\
+ Membre individuel + adhésion \acs{tug} & 95~€ \\
+ Membre individuel étudiant/demandeur d'emploi & 15~€ \\
+ Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
+ Association d'étudiants & 65~€ \\
+ Organisme à but non lucratif & 130~€ \\
+ Organisme à but lucratif & 229~€ \\
\bottomrule
\end{tabular}
\end{center}
@@ -96,7 +99,7 @@ Les règlements peuvent s'effectuer par :
\begin{itemize}
\item \textbf{virement bancaire}%
\footnote{Nous vous remercions de \textbf{privilégier}
- le \textbf{virement bancaire}.\label{fn:1}} (IBAN :
+ le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
FR76 1870 7000 3003 0191 3568 475)%
\leavevmode
@@ -105,9 +108,9 @@ Les règlements peuvent s'effectuer par :
dans les références du virement !%
}
\item Paypal\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg.eu.org/?Adherer-en-ligne}
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
\item bulletin et chèque\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg.eu.org/?Adherer-a-l-association}
+ \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
\end{itemize}
\vfill
@@ -134,8 +137,8 @@ Les règlements peuvent s'effectuer par :
Directeur de la publication :
& \person{Bideault, Patrick} \\
Comité de rédaction :
- & {Patrick \bsc{Bideault}, Denis \bsc{Bitouzé}, \\
- Céline \bsc{Chevalier} \& Maxime \bsc{Chupin}} \\
+ & {Patrick Bideault, Denis Bitouzé, \\
+ Céline Chevalier \& Maxime Chupin} \\
Adresse de la rédaction : &
{
Association \gut\\
@@ -143,13 +146,9 @@ Les règlements peuvent s'effectuer par :
75001 Paris
}
\\
- \acs{issn} : & 2742-6149 (version numérique)
+ \acs{issn} : & \letgutissn
\end{tblr}
\end{center}
\vfill
\mbox{}
\clearpage
-
-%%% Local Variables:
-%%% mode: latex
-%%% End:
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut-acronyms.tex b/Master/texmf-dist/tex/lualatex/letgut/letgut-acronyms.tex
index eb9026f8bff..f03778a2229 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut-acronyms.tex
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut-acronyms.tex
@@ -1,198 +1,291 @@
+% Hey, Emacs! This is a -*- mode: latex -*- file!
+
%%%%%%%%%%%%%%%%%%%%%
% Acronymes anglais %
%%%%%%%%%%%%%%%%%%%%%
-\letgutacro
-{CTAN}
-{\href{https://www.ctan.org/}{Comprehensive \TeX{} Archive Network}}
-[réseau complet d'archives \TeX{}]
-
-\letgutacro
-{PDF}
-{Portable Document Format}
+\letgutacro%
+{CTAN}%
+{\href{https://www.ctan.org/}{Comprehensive \hologo{TeX} Archive
+ Network}}%
+[réseau complet d'archives \hologo{TeX}]
+
+\letgutacro%
+{PDF}%
+{Portable Document Format}%
[format de document portable]
-\letgutacro
-{URL}
-{Uniform Resource Locator}
-[localisateur uniforme de ressource]
+\letgutacro%
+{URL}%
+{Uniform Resource Locator}%
+[localisateur uniforme de ressource ou, plus clairement, format des
+ adresses du Web]
-\letgutacro
-{ORCID}
-{Open Researcher and Contributor \textsc{id}}
+\letgutacro%
+{ORCID}%
+{Open Researcher and Contributor \textsc{id}}%
[identifiant ouvert pour chercheur et contributeur]
-\letgutacro[extra-foreign=souvent librement traduit en \enquote{foire aux questions}]
-{FAQ}
-{Frequently Asked Questions}
+\letgutacro%[extra-foreign=souvent librement traduit en \enquote{foire
+ %aux questions}]
+{FAQ}%
+{Frequently Asked Questions}%
[questions fréquemment posées]
-\letgutacro
-{SVG}
-{Scalable Vector Graphics}
+\letgutacro%
+{SVG}%
+{Scalable Vector Graphics}%
[graphiques vectoriels extensibles]
-\letgutacro
-{DNS}
-{Domain Name System}
+\letgutacro%
+{DNS}%
+{Domain Name System}%
[système de noms de domaine]
-\letgutacro
-{VPS}
-{Virtual Private Server}
+\letgutacro%
+{VPS}%
+{Virtual Private Server}%
[serveur dédié virtuel]
-\letgutacro
-{LDAP}
-{Lightweight Directory Access Protocol}
-[protocole d'accès à répertoire léger, sytème garantissant l'authentification
-d'utilisateurs de plusieurs services dispersés]
+\letgutacro%
+{LDAP}%
+{Lightweight Directory Access Protocol}%
+[protocole d'accès à répertoire léger, sytème garantissant
+ l'authentification d'utilisateurs de plusieurs services dispersés]
-\letgutacro
-{OTF}
-{Open Type Format}
+\letgutacro%
+{OTF}%
+{Open Type Format}%
[]
-\letgutacro
-{DOI}
-{Digital Object Identifier}
+\letgutacro%
+{DOI}%
+{Digital Object Identifier}%
[identifiant numérique d'objet]
-\letgutacro
-{ISSN}
-{International Standard Serial Number}
+\letgutacro%
+{ISSN}%
+{International Standard Serial Number}%
[numéro international normalisé des publications en série]
-\letgutacro
-{TUG}
-{\TeX{} User Group}
-[groupe (international) d'utilisateurs de \TeX{}]
-
-\letgutacro
-{TL}
-{\TeX{}~Live}
-[]
+\letgutacro%
+{TUG}%
+{\hologo{TeX} User Group}%
+[groupe (international) d'utilisateurs de \hologo{TeX}]
-\letgutacro
-{WCAG}
-{Web Content Accessibility Guidelines}
+\letgutacro%
+{WCAG}%
+{Web Content Accessibility Guidelines}%
[directives sur l'accessibilité du contenu Web]
-\letgutacro
-{HTML}
-{HyperText Markup Language}
+\letgutacro%
+{HTML}%
+{HyperText Markup Language}%
[langage de balises pour l'hypertexte]
-\letgutacro
-{CSS}
-{Cascading Style Sheets}
+\letgutacro%
+{CSS}%
+{Cascading Style Sheets}%
[feuilles de style en cascade]
-\letgutacro
-{UTF}
-{Universal (Character Set) Transformation Format}
+\letgutacro%
+{UTF}%
+{Universal (Character Set) Transformation Format}%
[format de transformation (du jeu) universel (de caractères codés)]
-\letgutacro[short=\emph{Ti\emph{k}Z},short-format=\em,foreign-babel=german,foreign-locale=allemand]
-{TIKZ}
-{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm}
+\letgutacro%[short=\emph{Ti\emph{k}Z},short-format=\em,foreign-babel=german,foreign-locale=allemand]
+{TIKZ}%
+{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm}%
[Ti\emph{k}Z \emph{n'}est \emph{pas} un programme de dessin]
-\letgutacro
-{PGF}
-{Portable Graphics Format}
-[format de graphiques portables]
+\letgutacro%
+{PGF}%
+{Portable Graphics Format}%
+[format de graphiques portable]
-\letgutacro
-{GPL}
-{\textsc{gnu} General Public License}
+\letgutacro%
+{GPL}%
+{\textsc{gnu} General Public License}%
[licence publique générale \textsc{gnu}]
-\letgutacro
-{OFL}
-{SIL Open Font License}
+\letgutacro%
+{OFL}%
+{SIL Open Font License}%
[]
-\letgutacro
-{DVI}
-{DeVice-Independent}
+\letgutacro%
+{DVI}%
+{DeVice-Independent}%
[indépendant du type de périphérique]
-\letgutacro
-{PS}
-{PostScript}
+\letgutacro%
+{PS}%
+{PostScript}%
[]
-\letgutacro
-{DVIPS}
-{\acs{dvi}-to-\acs{ps} (translator)}
+\letgutacro%
+{DVIPS}%
+{\acs{dvi}-to-\acs{ps} (translator)}%
[(convertisseur) \acs{dvi} vers \acs{ps}]
-\letgutacro
-{IPA}
-{International Phonetic Alphabet}
+\letgutacro%
+{IPA}%
+{International Phonetic Alphabet}%
[alphabet phonétique international]
-\letgutacro
-{TIPA}
-{\TeX{} \acs{ipa} or Tokyo \acs{ipa}}
+\letgutacro%
+{TIPA}%
+{\hologo{TeX} \acs{ipa} or Tokyo \acs{ipa}}%
[alphabet phonétique international]
+\letgutacro%
+{XML}%
+{eXtensible Markup Language}%
+[langage de balisage extensible]
+
+\letgutacro%
+{APA}%
+{American Psychological Association}%
+[association américaine de psychologie]
+
+\letgutacro%
+{OS}%
+{Operating System}%
+[système d'exploitation]
+
+\letgutacro%
+{BSD}%
+{Berkeley Software Distribution}%
+[collection de logiciels de Berkeley]
+
+\letgutacro%
+{IMAP}%
+{Internet Message Access Protocol}%
+[]
+
+\letgutacro%
+{SMTP}%
+{Simple Mail Transfer Protocol}%
+[protocole simple de transfert de courrier]
+
+\letgutacro%
+{RTF}%
+{Rich Text Format}%
+[format de texte enrichi]
+
+\letgutacro%
+{WYSIWYG}%
+{What You See Is What You Get}%
+[ce que vous voyez est ce que vous obtenez]
+
+\letgutacro%
+{ISO}%
+{\href{https://www.iso.org/home.html}{International Organization for
+ Standardization}}%
+[\href{https://www.iso.org/fr/home.html}{organisation internationale de
+ normalisation}]
+
+\letgutacro%
+{OFF}%
+{Open Font Format}%
+[format de fonte ouvert]
+
+\letgutacro%
+{CSV}%
+{Comma-separated values}%
+[valeurs séparées par des virgules]
+
+\letgutacro%
+{YAML}%
+{\textsc{yaml} Ain’t Markup Language}%
+[\textsc{yaml} n'est pas un langage de balisage (acronyme récursif)]
+
+\letgutacro%
+{UCA}%
+{Unicode Collation Algorithm}%
+[algorithme de tris d'Unicode]
+
+\letgutacro%
+{NFSS}%
+{New Font Selection Scheme}%
+[nouveau schéma de sélection de fonte]
+
+\letgutacro%
+{ASCII}%
+{American Standard Code for Information Interchange}%
+[code américain normalisé pour l'échange d'information]
+
+\letgutacro%
+{TDS}%
+{\TeX{} Directory Structure}%
+[structure de répertoire de \TeX{}]
+
%%%%%%%%%%%%%%%%%%%%%%
% Acronymes français %
%%%%%%%%%%%%%%%%%%%%%%
-
-\letgutacro
-{SMAI}
-{\href{http://smai.emath.fr/}{Société de Mathématiques Appliquées et Industrielles}}
-
-\letgutacro
-{AG}
-{Assemblée Générale}
-
-\letgutacro
-{CA}
-{Conseil d'Administration}
-
-\letgutacro
-{SHS}
-{Sciences Humaines et Sociales}
-
-\letgutacro
-{IREM}
-{\href{https://www.univ-irem.fr/}{Instituts de Recherche sur l'Enseignement des Mathématiques}}
-
-\letgutacro
-{MEEF}
-{Métiers de l'Enseignement, de l'Éducation et de la Formation}
-
-\letgutacro
-{ECM}
-{\href{https://texnique.fr/osqa/faq/\#custom-id-ecm}{Exemple Complet Minimal}}
-
-\letgutacro
-{INSPÉ}
-{Instituts Nationaux Supérieurs du Professorat et de l'Éducation}
-
-\letgutacro[short=\textsc{gra}pp\textsc{a},short-format=\upshape]
-{GRAppA}
-{Groupe de recherche en Apprentissage Automatique}
-
-\letgutacro
-{BBB}
-{BigBlueButton}
-
-\letgutacro
-{CV}
-{Curriculum Vitæ}
-
-\letgutacro
-{RGPD}
-{Règlement Général sur la Protection des Données}
-
-\letgutacro
-{NDLR}
-{Notre de la Rédaction}
-
-%%% Local Variables:
-%%% mode: latex
-%%% End:
+\letgutacro%
+{SMAI}%
+{\href{http://smai.emath.fr/}{Société de Mathématiques Appliquées et
+ Industrielles}}%
+
+\letgutacro%
+{AG}%
+{Assemblée Générale}%
+
+\letgutacro%
+{CA}%
+{Conseil d'Administration}%
+
+\letgutacro%
+{SHS}%
+{Sciences Humaines et Sociales}%
+
+\letgutacro%
+{IREM}%
+{\href{https://www.univ-irem.fr/}{Instituts de Recherche sur
+ l'Enseignement des Mathématiques}}%
+
+\letgutacro%
+{MEEF}%
+{Métiers de l'Enseignement, de l'Éducation et de la Formation}%
+
+\letgutacro%
+{ECM}%
+{\href{https://texnique.fr/osqa/faq/\#custom-id-ecm}{Exemple Complet
+ Minimal}}%
+
+\letgutacro%
+{INSPÉ}%
+{\href{https://www.reseau-inspe.fr/}{Instituts Nationaux Supérieurs du
+ Professorat et de l'Éducation}}%
+
+\letgutacro%[short=\textsc{gra}pp\textsc{a},short-format=\upshape]
+{GRAppA}%
+{Groupe de recherche en Apprentissage Automatique}%
+
+\letgutacro%
+{BBB}%
+{BigBlueButton}%
+
+\letgutacro%
+{CV}%
+{Curriculum Vitæ}%
+
+\letgutacro%
+{RGPD}%
+{Règlement Général sur la Protection des Données}%
+
+\letgutacro%
+{NDLR}%
+{Note de la Rédaction}%
+
+\letgutacro%
+{BTS}%
+{Brevet de Technicien Supérieur}%
+
+\letgutacro%
+{APMEP}%
+{Association des Professeurs de Mathématiques de l'Enseignement Public}%
+
+\letgutacro%
+{PAO}%
+{Publication Assistée par Ordinateur}%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty b/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty
index 44ac08e871b..e070792feee 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty
@@ -1,35 +1,9 @@
-% This is file `letgut.cls',
-% generated with the Emacs Org-babel utility.
-%
-% The original source file is letgut-banner.org
-%
-% -------------:| ---------------------------------------------------
-% letgut-banner:| Package for the banner of the newsletter
-% | “La Lettre GUTenberg”
-% Author:| Association GUTenberg
-% E-mail:| secretariat@gutenberg.eu.org
-% License:| Released under the LaTeX Project Public License
-% | v1.3c or later
-% See:| http://www.latex-project.org/lppl.txt
-%
-% Copyright (C) 1994-2022 by Association GUTenberg
-% <secretariat@gutenberg.eu.org>
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License (LPPL), either
-% version 1.3c of this license or (at your option) any later
-% version. The latest version of this license is in the file:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% This work is “maintained” (as per LPPL maintenance status)
-% by Association GUTenberg.
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesExplPackage{letgut-banner}
-{2022-03-22}
-{0.9.1}
+{2022-03-17}
+{0.9}
{
- Package for the banner of the newsletter “La Lettre de GUTenberg”
+ Package for the banner of the newsletter "La Lettre de GUTenberg"
}
\RequirePackage{l3keys2e}
\RequirePackage{xcolor}
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf b/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf
index f57796b134a..c1bb856b15d 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty b/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
new file mode 100644
index 00000000000..3be85ba45ce
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
@@ -0,0 +1,3396 @@
+% \lst@definelanguage[...]{TeX}{%
+ % % Control sequences names
+ % moretexcs={%
+ % },%
+ % % Keywords of class 1 : keywords that contain other characters
+ % % (since of the same class as the ones specified as 'otherkeywords')
+ % morekeywords={%
+ % },%
+ % % Keywords of class 2 : environments names
+ % morekeywords=[2]{%
+ % },%
+ % % Keywords of class 3 : mandatory arguments (not environments) &
+ % % optional arguments which are keys (in key=value)
+ % morekeywords=[3]{%
+ % },%
+ % % Keywords of class 4 : values of keys (in key=value)
+ % morekeywords=[4]{%
+ % },%
+ % % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % % syntax)
+ % morekeywords=[5]{%
+ % },%
+ % % Keywords of class 6 : current package name (and possibly derived
+ % % packages)
+ % morekeywords=[6]{%
+ % %
+ % },%
+ % % otherkeywords={},
+ % % alsoletter={},
+ % % alsodigit={},%
+ % % alsoother={},%
+ % sensitive,%
+ % }[keywords,tex,comments%]
+
+ \lst@definelanguage[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,%
+ },%
+ % Keywords of class 1 : keywords 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,%
+ },%
+ % 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,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ letgut%
+ },%
+ % otherkeywords={},%
+ alsoletter={-\ },%
+ % alsodigit={},%
+ alsoother={*},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % LaTeX texcs and keywords that are missing in `listings` driver file
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lst@definelanguage[extLaTeX]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Huge,LARGE,Large,LoadClass,NewCommandCopy,RequirePackage,%
+ ShowCommand,abovecaptionskip,abstractname,appendix,appendixname,%
+ arraycolsep,arrayrulewidth,author,backmatter,baselinestretch,%
+ belowcaptionskip,bf,bibindent,bibname,bigskipamount,bottomfraction,%
+ brokenpenalty,cal,chapter,chaptermark,chaptername,clubpenalty,%
+ columnsep,columnseprule,contentsname,date,dblfloatpagefraction,%
+ dblfloatsep,dbltextfloatsep,dbltopfraction,descriptionlabel,%
+ displaywidowpenalty,doublerulesep,evensidemargin,fboxrule,fboxsep,%
+ figurename,floatpagefraction,floatsep,footins,footnoterule,%
+ footnotesep,footnotesize,footskip,frontmatter,headheight,headsep,%
+ huge,indexname,indexspace,interlinepenalty,intextsep,it,jot,%
+ labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,%
+ labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,%
+ labelwidth,large,leftmargin,leftmargini,leftmarginii,leftmarginiii,%
+ leftmarginiv,leftmarginv,leftmarginvi,lineskip,listfigurename,%
+ listoffigures,listoftables,listtablename,mainmatter,maketitle,%
+ marginparpush,marginparsep,marginparwidth,maxdepth,medskipamount,%
+ mit,newblock,normallineskip,normalsize,oddsidemargin,paragraph,%
+ paragraphmark,parindent,parskip,part,partname,partopsep,%
+ postdisplaypenalty,predisplaypenalty,refname,rm,sc,scriptsize,%
+ section,sectionmark,setlength,sf,sl,small,smallskipamount,%
+ subitem,subparagraph,subparagraphmark,subsection,subsectionmark,%
+ subsubitem,subsubsection,subsubsectionmark,tabbingsep,tabcolsep,%
+ tablename,tableofcontents,textfloatsep,textfraction,textheight,%
+ textwidth,thechapter,theenumi,theenumii,theenumiii,theenumiv,%
+ theequation,theparagraph,thepart,thesection,thesubparagraph,%
+ thesubsection,thesubsubsection,tiny,title,today,topfraction,%
+ topmargin,topskip,tt,widowpenalty,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ abstract,array,center,description,displaymath,document,enumerate,%
+ eqnarray,equation,figure,flushleft,flushright,itemize,list,lrbox,math,%
+ minipage,picture,quotation,quote,sloppypar,tabbing,table,tabular,%
+ thebibliography,theindex,titlepage,trivlist,verbatim,verse,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ % c,cc,ccc,cccc,X,l,
+ empty,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },
+ otherkeywords={|},%
+ % alsoletter={},% alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[listings]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ lstDeleteShortInline,lstMakeShortInline,lstalias,lstaspectfiles,%
+ lstdefineformat,lstdefinelanguage,lst@definelanguage,lstdefinestyle,%
+ lstindexmacro,lstinline,lstinputlisting,lstlanguagefiles,%
+ lstlgrindeffile,lstlistingname,lstlistingnamestyle,%
+ lstlistlistingname,lstlistoflistings,lstloadlanguages,lstname,%
+ lstnewenvironment,lstset,theHlstnumber,thelstlabel,thelstlisting,%
+ thelstnumber,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ lstlisting,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ 0.21,ABAP,ACM,ACMscript,ACSL,Ada,Algol,Ant,Assembler,Awk,%
+ Basic,C,C++,CIL,Caml,Clean,Cobol,Comal 80,Comsol,Delphi,%
+ Eiffel,Elan,Euphoria,Fortran,GAP,GCL,Gnuplot,Go,HTML,Haskell,%
+ IDL,JVMIS,Java,LLVM,Lingo,Lisp,Logo,Lua,ML,Mathematica,Matlab,%
+ Mercury,MetaPost,Miranda,Mizar,Modula-2,MuPAD,NASTRAN,OCL,%
+ OORexx,Oberon-2,Octave,Oz,PHP,PL/I,POV,PSTricks,Pascal,Perl,%
+ Plasm,PostScript,Prolog,Promela,Python,R,RSL,Reduce,Rexx,Ruby,%
+ S,SAS,SHELXL,SPARQL,SQL,Scala,Scilab,Simula,Swift,TeX,%
+ VBScript,VHDL,VRML,Verilog,XML,XSLT,[03]Fortran,[08]Fortran,%
+ [1.0]Mathematica,[11.0]Mathematica,[11]C++,[1974]Cobol,[1985]Cobol,%
+ [2005]Ada,[3.0]Mathematica,[5.0]Lua,[5.1]Lua,[5.2]Lua,%
+ [5.2]Mathematica,[5.3]Lua,[60]Algol,[67]Simula,[68]Algol,%
+ [77]Fortran,[83]Ada,[90]Fortran,[95]Ada,[95]Fortran,[97]VRML,%
+ [AMS]VHDL,[ANSI]C,[ANSI]C++,[AlLaTeX]TeX,[AspectJ]Java,[Auto]Lisp,%
+ [Borland6]Pascal,[CII]Simula,[CORBA]IDL,[DEC]Simula,[GNU]C++,%
+ [Handel]C,[IBM]Simula,[ISO]C++,[LaTeX]TeX,[Motorola68k]Assembler,%
+ [OMG]OCL,[Objective]C,[Objective]Caml,[PLUS]S,[POSIX]Awk,[R/2
+ 4.3]ABAP,[R/2 5.0]ABAP,[R/3 3.1]ABAP,[R/3 4.6C]ABAP,[R/3 6.10]ABAP,%
+ [Sharp]C,[Standard]Pascal,[VM/XA]Rexx,[Visual]Basic,[Visual]C++,%
+ [WinXP]command.com,[XSC]Pascal,[common]TeX,[decorative]OCL,%
+ [empty]IDL,[empty]Java,[empty]Lisp,[empty]Rexx,[empty]S,%
+ [empty]VHDL,[empty]make,[empty]tcl,[gnu]Awk,[gnu]make,[ibm]Cobol,%
+ [light]Caml,[plain]TeX,[primitive]TeX,[tk]tcl,[x86masm]Assembler,%
+ abovecaptionskip,aboveskip,alsodigit,alsolanguage,alsoletter,%
+ alsoother,backgroundcolor,basewidth,bash,basicstyle,%
+ belowcaptionskip,belowskip,boxpos,breakatwhitespace,breakautoindent,%
+ breakindent,breaklines,caption,captionpos,classoffset,columns,%
+ command.com,comment,comments,commentstyle,consecutivenumbers,csh,%
+ defaultdialect,deletecomment,deletedelim,deletedirectives,%
+ deleteemph,deleteendkeywords,deletehyperref,deleteindex,%
+ deletekeywordcomment,deletekeywords,deleteprocnamekeys,deletestring,%
+ deletetxcs,delim,directives,directivestyle,draft,elisp,emph,%
+ emphstyle,emptylines,erlang,escapebegin,escapechar,escapeend,%
+ escapeinside,extendedchars,fancyvrb,fillcolor,final,firstline,%
+ firstnumber,flexiblecolumns,float,floatplacement,fontadjust,%
+ formats,formfeed,frame,frameround,framerule,framesep,frameshape,%
+ framexbottommargin,framexleftmargin,framexrightmargin,%
+ framextopmargin,fvcmdparams,gobble,hansl,hyper,hyperanchor,%
+ hyperlink,hyperref,identifierstyle,includerangemarker,index,%
+ indexprocnames,indexstyle,inform,inputencoding,inputpath,%
+ keepspaces,keywordcomment,keywordcommentsemicolon,keywords,%
+ keywordsprefix,keywordstyle,ksh,label,language,lastline,lgrind,%
+ lgrindef,linerange,lineskip,linewidth,literate,make,makemacrouse,%
+ markfirstintag,mathescape,morecomment,moredelim,moredirectives,%
+ moreemph,moreendkeywords,morefvcmdparams,morehyperref,moreindex,%
+ morekeywordcomment,morekeywords,moreprocnamekeys,morestring,%
+ moretexcs,multicols,name,ndkeywords,ndkeywordstyle,noaspects,%
+ nolol,numberblanklines,numberbychapter,numberfirstline,numbers,%
+ numbersep,numberstyle,otherkeywords,podcomment,postbreak,prebreak,%
+ print,printpod,procnamekeys,procnames,procnamestyle,%
+ rangebeginprefix,rangebeginsuffix,rangeendprefix,rangeendsuffix,%
+ rangeprefix,rangesuffix,resetmargins,rulecolor,rulesep,%
+ rulesepcolor,savemem,sensitive,%
+ sh,showlines,showspaces,showstringspaces,showtabs,stepnumber,%
+ string,stringstyle,style,tab,tabsize,tag,tagstyle,tcl,texcl,%
+ texcs,texcsstyle,title,upquote,usekeywordsintag,xleftmargin,%
+ xrightmargin,LaTeX,TeX,tex%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ b,c,t,none,left,right,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ listings,%
+ },%
+ % otherkeywords={},%
+ alsoletter={@021.[]},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[xcolor]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ color,pagecolor,definecolor,colorlet,textcolor,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ red,green,blue,cyan,magenta,yellow,black,gray,white,darkgray,%
+ lightgray,brown,lime,olive,orange,pink,purple,teal,violet },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xcolor },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[expl3]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ .bool_gset,%
+ ExplFileDate,ExplFileDescription,ExplFileName,ExplFileVersion,%
+ ExplSyntaxOff,ExplSyntaxOn,GetIdInfo,ProvidesExplClass,%
+ ProvidesExplFile,ProvidesExplPackage,bool_case_false,bool_case_true,%
+ bool_const,bool_do_until,bool_do_while,bool_gset,bool_gset_eq,%
+ bool_gset_false,bool_gset_inverse,bool_gset_true,bool_if,%
+ bool_if_exist,bool_if_exist_p,bool_if_p,bool_lazy_all,%
+ bool_lazy_all_p,bool_lazy_and,bool_lazy_and_p,bool_lazy_any,%
+ bool_lazy_any_p,bool_lazy_or,bool_lazy_or_p,bool_log,bool_new,%
+ bool_not_p,bool_set,bool_set_eq,bool_set_false,bool_set_inverse,%
+ bool_set_true,bool_show,bool_to_str,bool_until_do,bool_while_do,%
+ bool_xor,bool_xor_p,box_autosize_to_wd_and_ht,%
+ box_autosize_to_wd_and_ht_plus_dp,box_clear,box_clear_new,box_clip,%
+ box_dp,box_gautosize_to_wd_and_ht,box_gautosize_to_wd_and_ht_plus_dp,%
+ box_gclear,box_gclear_new,box_gclip,box_gresize_to_ht,%
+ box_gresize_to_ht_plus_dp,box_gresize_to_wd,box_gresize_to_wd_and_ht,%
+ box_gresize_to_wd_and_ht_plus_dp,box_grotate,box_gscale,box_gset_dp,%
+ box_gset_eq,box_gset_eq_drop,box_gset_ht,box_gset_to_last,%
+ box_gset_trim,box_gset_viewport,box_gset_wd,box_ht,box_ht_plus_dp,%
+ box_if_empty,box_if_empty_p,box_if_exist,box_if_exist_p,%
+ box_if_horizontal,box_if_horizontal_p,box_if_vertical,%
+ box_if_vertical_p,box_log,box_move_down,box_move_left,%
+ box_move_right,box_move_up,box_new,box_resize_to_ht,%
+ box_resize_to_ht_plus_dp,box_resize_to_wd,box_resize_to_wd_and_ht,%
+ box_resize_to_wd_and_ht_plus_dp,box_rotate,box_scale,box_set_dp,%
+ box_set_eq,box_set_eq_drop,box_set_ht,box_set_to_last,box_set_trim,%
+ box_set_viewport,box_set_wd,box_show,box_use,box_use_drop,box_wd,%
+ c_alignment_token,c_ampersand_str,c_atsign_str,c_backslash_str,%
+ c_catcode_active_space_tl,c_catcode_active_tl,c_catcode_letter_token,%
+ c_catcode_other_space_tl,c_catcode_other_token,c_circumflex_str,%
+ c_code_cctab,c_colon_str,c_document_cctab,c_dollar_str,c_e_fp,%
+ c_empty_box,c_empty_clist,c_empty_coffin,c_empty_prop,c_empty_seq,%
+ c_empty_tl,c_false_bool,c_group_begin_token,c_group_end_token,%
+ c_hash_str,c_inf_fp,c_initex_cctab,c_left_brace_str,c_log_iow,%
+ c_math_subscript_token,c_math_superscript_token,c_math_toggle_token,%
+ c_max_char_int,c_max_dim,c_max_int,c_max_muskip,c_max_register_int,%
+ c_max_skip,c_minus_inf_fp,c_minus_zero_fp,c_nan_fp,c_novalue_tl,%
+ c_one_degree_fp,c_one_fp,c_one_int,c_other_cctab,c_parameter_token,%
+ c_percent_str,c_pi_fp,c_right_brace_str,c_space_tl,c_space_token,%
+ c_str_cctab,c_sys_backend_str,c_sys_day_int,c_sys_engine_exec_str,%
+ c_sys_engine_format_str,c_sys_engine_str,c_sys_engine_version_str,%
+ c_sys_hour_int,c_sys_jobname_str,c_sys_minute_int,c_sys_month_int,%
+ c_sys_output_str,c_sys_platform_str,c_sys_shell_escape_int,%
+ c_sys_year_int,c_term_iow,c_tilde_str,c_true_bool,c_underscore_str,%
+ c_zero_dim,c_zero_fp,c_zero_int,c_zero_muskip,c_zero_skip,%
+ c_zero_str,cctab_begin,cctab_const,cctab_end,cctab_gset,%
+ cctab_if_exist,cctab_if_exist_p,cctab_item,cctab_new,cctab_select,%
+ char_foldcase,char_generate,char_gset_active_eq,char_lowercase,%
+ char_set_active_eq,char_set_catcode,char_set_catcode_active,%
+ char_set_catcode_alignment,char_set_catcode_comment,%
+ char_set_catcode_end_line,char_set_catcode_escape,%
+ char_set_catcode_group_begin,char_set_catcode_group_end,%
+ char_set_catcode_ignore,char_set_catcode_invalid,%
+ char_set_catcode_letter,char_set_catcode_math_subscript,%
+ char_set_catcode_math_superscript,char_set_catcode_math_toggle,%
+ char_set_catcode_other,char_set_catcode_parameter,%
+ char_set_catcode_space,char_set_lccode,char_set_mathcode,%
+ char_set_sfcode,char_set_uccode,char_show_value_catcode,%
+ char_show_value_lccode,char_show_value_mathcode,%
+ char_show_value_sfcode,char_show_value_uccode,char_str_foldcase,%
+ char_str_lowercase,char_str_titlecase,char_str_uppercase,%
+ char_titlecase,char_to_nfd,char_to_utfviii_bytes,char_uppercase,%
+ char_value_catcode,char_value_lccode,char_value_mathcode,%
+ char_value_sfcode,char_value_uccode,clist_clear,clist_clear_new,%
+ clist_concat,clist_const,clist_count,clist_gclear,clist_gclear_new,%
+ clist_gconcat,clist_get,clist_gpop,clist_gpush,clist_gput_left,%
+ clist_gput_right,clist_gremove_all,clist_gremove_duplicates,%
+ clist_greverse,clist_gset,clist_gset_eq,clist_gset_from_seq,%
+ clist_gsort,clist_if_empty,clist_if_empty_p,clist_if_exist,%
+ clist_if_exist_p,clist_if_in,clist_item,clist_log,clist_map_break,%
+ clist_map_function,clist_map_inline,clist_map_tokens,%
+ clist_map_variable,clist_new,clist_pop,clist_push,clist_put_left,%
+ clist_put_right,clist_rand_item,clist_remove_all,%
+ clist_remove_duplicates,clist_reverse,clist_set,clist_set_eq,%
+ clist_set_from_seq,clist_show,clist_sort,clist_use,coffin_attach,%
+ coffin_clear,coffin_display_handles,coffin_dp,coffin_gattach,%
+ coffin_gclear,coffin_gjoin,coffin_gresize,coffin_grotate,%
+ coffin_gscale,coffin_gset_eq,coffin_gset_horizontal_pole,%
+ coffin_gset_vertical_pole,coffin_ht,coffin_if_exist,%
+ coffin_if_exist_p,coffin_join,coffin_log,coffin_log_structure,%
+ coffin_mark_handle,coffin_new,coffin_resize,coffin_rotate,%
+ coffin_scale,coffin_set_eq,coffin_set_horizontal_pole,%
+ coffin_set_vertical_pole,coffin_show,coffin_show_structure,%
+ coffin_typeset,coffin_wd,color_ensure_current,color_export,%
+ color_fill,color_group_begin,color_group_end,color_log,color_math,%
+ color_model_new,color_profile_apply,color_select,color_set,%
+ color_set_eq,color_show,color_stroke,cs_argument_spec,cs,cs_end,%
+ cs_generate_from_arg_count,cs_generate_variant,cs_gset,cs_gset_eq,%
+ cs_gset_nopar,cs_gset_protected,cs_gset_protected_nopar,cs_if_eq,%
+ cs_if_eq_p,cs_if_exist,cs_if_exist_p,cs_if_exist_use,cs_if_free,%
+ cs_if_free_p,cs_log,cs_meaning,cs_new,cs_new_eq,cs_new_nopar,%
+ cs_new_protected,cs_new_protected_nopar,cs_prefix_spec,%
+ cs_replacement_spec,cs_set,cs_set_eq,cs_set_nopar,cs_set_protected,%
+ cs_set_protected_nopar,cs_show,cs_split_function,cs_to_str,%
+ cs_undefine,debug_off,debug_on,debug_resume,debug_suspend,dim_abs,%
+ dim_add,dim_case,dim_compare,dim_compare_p,dim_const,dim_do_until,%
+ dim_do_while,dim_eval,dim_gadd,dim_gset,dim_gset_eq,dim_gsub,%
+ dim_gzero,dim_gzero_new,dim_if_exist,dim_if_exist_p,dim_log,%
+ dim_max,dim_min,dim_new,dim_ratio,dim_set,dim_set_eq,dim_show,%
+ dim_sign,dim_step_function,dim_step_inline,dim_step_variable,%
+ dim_sub,dim_to_decimal,dim_to_decimal_in_bp,dim_to_decimal_in_sp,%
+ dim_to_decimal_in_unit,dim_to_fp,dim_until_do,dim_use,dim_while_do,%
+ dim_zero,dim_zero_new,draw_begin,draw_end,else,exp_after,exp_args,%
+ exp_args_generate,exp_end,exp_end_continue_f,exp_last_two_unbraced,%
+ exp_last_unbraced,exp_not,exp_stop_f,expandafter,expanded,fi,%
+ file_compare_timestamp,file_compare_timestamp_p,file_full_name,%
+ file_get,file_get_full_name,file_get_hex_dump,file_get_mdfive_hash,%
+ file_get_size,file_get_timestamp,file_hex_dump,file_if_exist,%
+ file_if_exist_input,file_input,file_input_stop,file_log_list,%
+ file_mdfive_hash,file_parse_full_name,file_parse_full_name_apply,%
+ file_show_list,file_size,file_timestamp,flag_clear,flag_clear_new,%
+ flag_height,flag_if_exist,flag_if_exist_p,flag_if_raised,%
+ flag_if_raised_p,flag_log,flag_new,flag_raise,flag_raise_if_clear,%
+ flag_show,fp_abs,fp_add,fp_compare,fp_compare_p,fp_const,%
+ fp_do_until,fp_do_while,fp_eval,fp_format,fp_gadd,fp_gset,%
+ fp_gset_eq,fp_gsub,fp_gzero,fp_gzero_new,fp_if_exist,fp_if_exist_p,%
+ fp_if_nan,fp_if_nan_p,fp_log,fp_max,fp_min,fp_new,fp_set,%
+ fp_set_eq,fp_show,fp_sign,fp_step_function,fp_step_inline,%
+ fp_step_variable,fp_sub,fp_to_decimal,fp_to_dim,fp_to_int,%
+ fp_to_scientific,fp_to_tl,fp_trap,fp_until_do,fp_use,fp_while_do,%
+ fp_zero,fp_zero_new,fparray_count,fparray_gset,fparray_gzero,%
+ fparray_item,fparray_item_to_tl,fparray_new,g_file_curr_dir_str,%
+ g_file_curr_ext_str,g_file_curr_name_str,g_msg_module_name_prop,%
+ g_msg_module_type_prop,g_peek_token,g_tmpa_bool,g_tmpa_box,%
+ g_tmpa_clist,g_tmpa_coffin,g_tmpa_dim,g_tmpa_fp,g_tmpa_int,%
+ g_tmpa_ior,g_tmpa_iow,g_tmpa_muskip,g_tmpa_prop,g_tmpa_regex,%
+ g_tmpa_seq,g_tmpa_skip,g_tmpa_str,g_tmpa_tl,g_tmpb_bool,g_tmpb_box,%
+ g_tmpb_clist,g_tmpb_coffin,g_tmpb_dim,g_tmpb_fp,g_tmpb_int,%
+ g_tmpb_ior,g_tmpb_iow,g_tmpb_muskip,g_tmpb_prop,g_tmpb_regex,%
+ g_tmpb_seq,g_tmpb_skip,g_tmpb_str,g_tmpb_tl,group_align_safe_begin,%
+ group_align_safe_end,group_begin,group_end,group_insert_after,%
+ group_log_list,group_show_list,hbox,hbox_gset,hbox_gset_end,%
+ hbox_gset_to_wd,hbox_overlap_center,hbox_overlap_left,%
+ hbox_overlap_right,hbox_set,hbox_set_end,hbox_set_to_wd,hbox_to_wd,%
+ hbox_to_zero,hbox_unpack,hbox_unpack_drop,hcoffin_gset,%
+ hcoffin_gset_end,hcoffin_set,hcoffin_set_end,if,if_bool,%
+ if_box_empty,if_case,if_catcode,if_charcode,if_cs_exist,if_dim,%
+ if_eof,if_false,if_hbox,if_int_compare,if_int_odd,if_meaning,%
+ if_mode_horizontal,if_mode_inner,if_mode_math,if_mode_vertical,%
+ if_predicate,if_true,if_vbox,int_abs,int_add,int_case,int_compare,%
+ int_compare_p,int_const,int_decr,int_div_round,int_div_truncate,%
+ int_do_until,int_do_while,int_eval,int_from_alph,int_from_base,%
+ int_from_bin,int_from_hex,int_from_oct,int_from_roman,int_gadd,%
+ int_gdecr,int_gincr,int_gset,int_gset_eq,int_gsub,int_gzero,%
+ int_gzero_new,int_if_even,int_if_even_p,int_if_exist,int_if_exist_p,%
+ int_if_odd,int_if_odd_p,int_incr,int_log,int_max,int_min,int_mod,%
+ int_new,int_rand,int_set,int_set_eq,int_show,int_sign,%
+ int_step_...,int_step_function,int_step_inline,int_step_variable,%
+ int_sub,int_to_Alph,int_to_Base,int_to_Hex,int_to_Roman,%
+ int_to_alph,int_to_arabic,int_to_base,int_to_bin,int_to_hex,%
+ int_to_oct,int_to_roman,int_to_symbols,int_until_do,int_use,%
+ int_value,int_while_do,int_zero,int_zero_new,%
+ intarray_const_from_clist,intarray_count,intarray_gset,%
+ intarray_gset_rand,intarray_gzero,intarray_item,intarray_log,%
+ intarray_new,intarray_rand_item,intarray_show,intarray_to_clist,%
+ ior_close,ior_get,ior_get_term,ior_if_eof,ior_if_eof_p,ior_log,%
+ ior_log_list,ior_map_break,ior_map_inline,ior_map_variable,ior_new,%
+ ior_open,ior_shell_open,ior_show,ior_show_list,ior_str_get,%
+ ior_str_get_term,ior_str_map_inline,ior_str_map_variable,%
+ iow_allow_break,iow_char,iow_close,iow_indent,iow_log,iow_log_list,%
+ iow_new,iow_newline,iow_now,iow_open,iow_shipout,iow_shipout_x,%
+ iow_show,iow_show_list,iow_term,iow_wrap,keys_define,%
+ keys_if_choice_exist,keys_if_choice_exist_p,keys_if_exist,%
+ keys_if_exist_p,keys_log,keys_set,keys_set_filter,keys_set_groups,%
+ keys_set_known,keys_show,keyval_parse,l_char_active_seq,%
+ l_char_special_seq,l_color_fixed_model_tl,l_color_math_active_tl,%
+ l_file_search_path_seq,l_iow_line_count_int,l_keys_choice_int,%
+ l_keys_choice_tl,l_keys_key_str,l_keys_path_str,%
+ l_keys_usage_load_prop,l_keys_usage_preamble_prop,l_keys_value_tl,%
+ l_my_int,l_peek_token,l_text_accents_tl,l_text_case_exclude_arg_tl,%
+ l_text_expand_exclude_tl,l_text_letterlike_tl,l_text_math_arg_tl,%
+ l_text_math_delims_tl,l_text_titlecase_check_letter_bool,l_tmpa_bool,%
+ l_tmpa_box,l_tmpa_clist,l_tmpa_coffin,l_tmpa_dim,l_tmpa_fp,%
+ l_tmpa_int,l_tmpa_muskip,l_tmpa_prop,l_tmpa_regex,l_tmpa_seq,%
+ l_tmpa_skip,l_tmpa_str,l_tmpa_tl,l_tmpb_bool,l_tmpb_box,%
+ l_tmpb_clist,l_tmpb_coffin,l_tmpb_dim,l_tmpb_fp,l_tmpb_int,%
+ l_tmpb_muskip,l_tmpb_prop,l_tmpb_regex,l_tmpb_seq,l_tmpb_skip,%
+ l_tmpb_str,l_tmpb_tl,legacy_if,legacy_if_gset,legacy_if_gset_false,%
+ legacy_if_gset_true,legacy_if_p,legacy_if_set,legacy_if_set_false,%
+ legacy_if_set_true,lua_escape,lua_now,lua_shipout,lua_shipout_e,%
+ mode_if_horizontal,mode_if_horizontal_p,mode_if_inner,%
+ mode_if_inner_p,mode_if_math,mode_if_math_p,mode_if_vertical,%
+ mode_if_vertical_p,mode_leave_vertical,msg_critical,%
+ msg_critical_text,msg_error,msg_error_text,msg_expandable_error,%
+ msg_fatal,msg_fatal_text,msg_gset,msg_if_exist,msg_if_exist_p,%
+ msg_info,msg_info_text,msg_line_context,msg_line_number,msg_log,%
+ msg_log_eval,msg_module_name,msg_module_type,msg_new,msg_none,%
+ msg_note,msg_redirect_class,msg_redirect_module,msg_redirect_name,%
+ msg_see_documentation_text,msg_set,msg_show,msg_show_eval,%
+ msg_show_item,msg_show_item_unbraced,msg_term,msg_warning,%
+ msg_warning_text,muskip_add,muskip_const,muskip_eval,muskip_gadd,%
+ muskip_gset,muskip_gset_eq,muskip_gsub,muskip_gzero,%
+ muskip_gzero_new,muskip_if_exist,muskip_if_exist_p,muskip_log,%
+ muskip_new,muskip_set,muskip_set_eq,muskip_show,muskip_sub,%
+ muskip_use,muskip_zero,muskip_zero_new,pdf_destination,%
+ pdf_object_if_exist,pdf_object_if_exist_p,pdf_object_new,%
+ pdf_object_ref,pdf_object_ref_last,pdf_object_unnamed_write,%
+ pdf_object_write,pdf_pageobject_ref,pdf_pagobject_ref,pdf_uncompress,%
+ pdf_version,pdf_version_compare,pdf_version_compare_p,%
+ pdf_version_gset,pdf_version_major,pdf_version_min_gset,%
+ pdf_version_minor,peek_N_type,peek_after,peek_analysis_map_break,%
+ peek_analysis_map_inline,peek_catcode,peek_catcode_collect_inline,%
+ peek_catcode_remove,peek_charcode,peek_charcode_collect_inline,%
+ peek_charcode_remove,peek_gafter,peek_meaning,%
+ peek_meaning_collect_inline,peek_meaning_remove,peek_regex,%
+ peek_regex_remove_once,peek_regex_replace_once,peek_remove_filler,%
+ peek_remove_spaces,prg_break,prg_break_point,prg_do_nothing,%
+ prg_generate_conditional_variant,prg_map_break,prg_new_conditional,%
+ prg_new_eq_conditional,prg_new_protected_conditional,prg_replicate,%
+ prg_return_false,prg_return_true,prg_set_conditional,%
+ prg_set_eq_conditional,prg_set_protected_conditional,prop_clear,%
+ prop_clear_new,prop_concat,prop_const_from_keyval,prop_count,%
+ prop_gclear,prop_gclear_new,prop_gconcat,prop_get,prop_gpop,%
+ prop_gput,prop_gput_from_keyval,prop_gput_if_new,prop_gremove,%
+ prop_gset_eq,prop_gset_from_keyval,prop_if_empty,prop_if_empty_p,%
+ prop_if_exist,prop_if_exist_p,prop_if_in,prop_if_in_p,prop_item,%
+ prop_log,prop_map_break,prop_map_function,prop_map_inline,%
+ prop_map_tokens,prop_new,prop_pop,prop_put,prop_put_from_keyval,%
+ prop_put_if_new,prop_rand_key_value,prop_remove,prop_set_eq,%
+ prop_set_from_keyval,prop_show,prop_to_keyval,q_mark,q_nil,%
+ q_no_value,q_recursion_stop,q_recursion_tail,q_stop,quark_if_nil,%
+ quark_if_nil_p,quark_if_no_value,quark_if_no_value_p,%
+ quark_if_recursion_tail_break,quark_if_recursion_tail_stop,%
+ quark_if_recursion_tail_stop_do,quark_new,regex_const,regex_count,%
+ regex_extract_all,regex_extract_once,regex_gset,regex_log,%
+ regex_match,regex_match_case,regex_new,regex_replace,%
+ regex_replace_all,regex_replace_case_all,regex_replace_case_once,%
+ regex_replace_once,regex_set,regex_show,regex_split,reverse_if,%
+ s_stop,scan_new,scan_stop,seq_clear,seq_clear_new,seq_concat,%
+ seq_const_from_clist,seq_count,seq_gclear,seq_gclear_new,%
+ seq_gconcat,seq_get,seq_get_left,seq_get_right,seq_gpop,%
+ seq_gpop_item,seq_gpop_left,seq_gpop_right,seq_gpush,seq_gput_left,%
+ seq_gput_right,seq_gremove_all,seq_gremove_duplicates,seq_greverse,%
+ seq_gset_eq,seq_gset_filter,seq_gset_from_clist,%
+ seq_gset_from_function,seq_gset_from_inline_x,seq_gset_item,%
+ seq_gset_map,seq_gset_map_x,seq_gset_split,%
+ seq_gset_split_keep_spaces,seq_gshuffle,seq_gsort,seq_if_empty,%
+ seq_if_empty_p,seq_if_exist,seq_if_exist_p,seq_if_in,seq_item,%
+ seq_log,seq_map_break,seq_map_function,seq_map_indexed_function,%
+ seq_map_indexed_inline,seq_map_inline,seq_map_tokens,%
+ seq_map_variable,seq_mapthread_function,seq_new,seq_pop,%
+ seq_pop_item,seq_pop_left,seq_pop_right,seq_push,seq_put_left,%
+ seq_put_right,seq_rand_item,seq_remove_all,seq_remove_duplicates,%
+ seq_reverse,seq_set_eq,seq_set_filter,seq_set_from_clist,%
+ seq_set_from_function,seq_set_from_inline_x,seq_set_item,seq_set_map,%
+ seq_set_map_x,seq_set_split,seq_set_split_keep_spaces,seq_show,%
+ seq_shuffle,seq_sort,seq_use,skip_add,skip_const,skip_eval,%
+ skip_gadd,skip_gset,skip_gset_eq,skip_gsub,skip_gzero,%
+ skip_gzero_new,skip_horizontal,skip_if_eq,skip_if_eq_p,%
+ skip_if_exist,skip_if_exist_p,skip_if_finite,skip_if_finite_p,%
+ skip_log,skip_new,skip_set,skip_set_eq,skip_show,skip_sub,%
+ skip_use,skip_vertical,skip_zero,skip_zero_new,sort_return_same,%
+ sort_return_swapped,str_case,str_case_e,str_clear,str_clear_new,%
+ str_compare,str_compare_p,str_concat,str_const,str_convert_pdfname,%
+ str_count,str_count_ignore_spaces,str_count_spaces,str_foldcase,%
+ str_gclear,str_gconcat,str_gput_left,str_gput_right,str_gremove_all,%
+ str_gremove_once,str_greplace_all,str_greplace_once,str_gset,%
+ str_gset_convert,str_gset_eq,str_head,str_head_ignore_spaces,%
+ str_if_empty,str_if_empty_p,str_if_eq,str_if_eq_p,str_if_exist,%
+ str_if_exist_p,str_if_in,str_item,str_item_ignore_spaces,str_log,%
+ str_lowercase,str_map_break,str_map_function,str_map_inline,%
+ str_map_tokens,str_map_variable,str_new,str_put_left,str_put_right,%
+ str_range,str_range_ignore_spaces,str_remove_all,str_remove_once,%
+ str_replace_all,str_replace_once,str_set,str_set_convert,str_set_eq,%
+ str_show,str_tail,str_tail_ignore_spaces,str_uppercase,str_use,%
+ sys_finalise,sys_get_shell,sys_gset_rand_seed,sys_if_engine_luatex,%
+ sys_if_engine_luatex_p,sys_if_engine_pdftex,sys_if_engine_pdftex_p,%
+ sys_if_engine_ptex,sys_if_engine_ptex_p,sys_if_engine_uptex,%
+ sys_if_engine_uptex_p,sys_if_engine_xetex,sys_if_engine_xetex_p,%
+ sys_if_output_dvi,sys_if_output_dvi_p,sys_if_output_pdf,%
+ sys_if_output_pdf_p,sys_if_platform_unix,sys_if_platform_unix_p,%
+ sys_if_platform_windows,sys_if_platform_windows_p,sys_if_rand_exist,%
+ sys_if_rand_exist_p,sys_if_shell,sys_if_shell_p,%
+ sys_if_shell_restricted,sys_if_shell_restricted_p,%
+ sys_if_shell_unrestricted,sys_if_shell_unrestricted_p,%
+ sys_load_backend,sys_load_debug,sys_rand_seed,sys_shell_now,%
+ sys_shell_shipout,sys_timer,text_declare_expand_equivalent,%
+ text_declare_purify_equivalent,text_expand,text_lowercase,%
+ text_purify,text_titlecase,text_titlecase_first,text_uppercase,%
+ tl_analysis_log,tl_analysis_map_inline,tl_analysis_show,%
+ tl_build_begin,tl_build_clear,tl_build_end,tl_build_gbegin,%
+ tl_build_gclear,tl_build_gend,tl_build_get,tl_build_gput_left,%
+ tl_build_gput_right,tl_build_put_left,tl_build_put_right,tl_case,%
+ tl_clear,tl_clear_new,tl_concat,tl_const,tl_count,tl_count_tokens,%
+ tl_gclear,tl_gclear_new,tl_gconcat,tl_gput_left,tl_gput_right,%
+ tl_gremove_all,tl_gremove_once,tl_greplace_all,tl_greplace_once,%
+ tl_greverse,tl_gset,tl_gset_eq,tl_gset_rescan,tl_gsort,%
+ tl_gtrim_spaces,tl_head,tl_if_blank,tl_if_blank_p,tl_if_empty,%
+ tl_if_empty_p,tl_if_eq,tl_if_eq_p,tl_if_exist,tl_if_exist_p,%
+ tl_if_head_eq_catcode,tl_if_head_eq_catcode_p,tl_if_head_eq_charcode,%
+ tl_if_head_eq_charcode_p,tl_if_head_eq_meaning,%
+ tl_if_head_eq_meaning_p,tl_if_head_is_N_type,tl_if_head_is_N_type_p,%
+ tl_if_head_is_group,tl_if_head_is_group_p,tl_if_head_is_space,%
+ tl_if_head_is_space_p,tl_if_in,tl_if_novalue,tl_if_novalue_p,%
+ tl_if_single,tl_if_single_p,tl_if_single_token,tl_if_single_token_p,%
+ tl_item,tl_log,tl_map_break,tl_map_function,tl_map_inline,%
+ tl_map_tokens,tl_map_variable,tl_new,tl_put_left,tl_put_right,%
+ tl_rand_item,tl_range,tl_range_braced,tl_range_unbraced,%
+ tl_remove_all,tl_remove_once,tl_replace_all,tl_replace_once,%
+ tl_rescan,tl_reverse,tl_reverse_items,tl_set,tl_set_eq,%
+ tl_set_rescan,tl_show,tl_sort,tl_tail,tl_to_str,tl_trim_spaces,%
+ tl_trim_spaces_apply,tl_use,token_case_catcode,token_case_charcode,%
+ token_case_meaning,token_if_active,token_if_active_p,%
+ token_if_alignment,token_if_alignment_p,token_if_chardef,%
+ token_if_chardef_p,token_if_cs,token_if_cs_p,token_if_dim_register,%
+ token_if_dim_register_p,token_if_eq_catcode,token_if_eq_catcode_p,%
+ token_if_eq_charcode,token_if_eq_charcode_p,token_if_eq_meaning,%
+ token_if_eq_meaning_p,token_if_expandable,token_if_expandable_p,%
+ token_if_font_selection,token_if_font_selection_p,%
+ token_if_group_begin,token_if_group_begin_p,token_if_group_end,%
+ token_if_group_end_p,token_if_int_register,token_if_int_register_p,%
+ token_if_letter,token_if_letter_p,token_if_long_macro,%
+ token_if_long_macro_p,token_if_macro,token_if_macro_p,%
+ token_if_math_subscript,token_if_math_subscript_p,%
+ token_if_math_superscript,token_if_math_superscript_p,%
+ token_if_math_toggle,token_if_math_toggle_p,token_if_mathchardef,%
+ token_if_mathchardef_p,token_if_muskip_register,%
+ token_if_muskip_register_p,token_if_other,token_if_other_p,%
+ token_if_parameter,token_if_parameter_p,token_if_primitive,%
+ token_if_primitive_p,token_if_protected_long_macro,%
+ token_if_protected_long_macro_p,token_if_protected_macro,%
+ token_if_protected_macro_p,token_if_skip_register,%
+ token_if_skip_register_p,token_if_space,token_if_space_p,%
+ token_if_toks_register,token_if_toks_register_p,token_to_meaning,%
+ token_to_str,unvcopy,use,use_i,use_i_delimit_by_q_nil,%
+ use_i_delimit_by_q_recursion_stop,use_i_delimit_by_q_stop,use_i_ii,%
+ use_ii,use_ii_i,use_iii,use_iv,use_none,use_none_delimit_by_q_nil,%
+ use_none_delimit_by_q_recursion_stop,use_none_delimit_by_q_stop,%
+ use_none_delimit_by_s_stop,vbox,vbox_gset,vbox_gset_end,%
+ vbox_gset_split_to_ht,vbox_gset_to_ht,vbox_gset_top,vbox_set,%
+ vbox_set_end,vbox_set_split_to_ht,vbox_set_to_ht,vbox_set_top,%
+ vbox_to_ht,vbox_to_zero,vbox_top,vbox_unpack,vbox_unpack_drop,%
+ vcoffin_gset,vcoffin_gset_end,vcoffin_set,vcoffin_set_end,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ name,alternative-model,alternative-values,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ cmyk,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ D,N,Nn,NF,NN,Nx,NT,NTF,NNn,NnV,Nnn,Npn,Nnnn,V,c,e,en,f,n,nF,%
+ nn,nT,nnn,nnF,nnV,nTF,nnnn,nNnF,nNnT,nnVV,o,p,v,w,x,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ expl3,%
+ },
+ otherkeywords={:,~},%
+ alsoletter={_-.},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pdftex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfinfo,pdfcatalog,pdfpageattr,pdfpagesattr,pdfpageresources,%
+ pdfcolorstack,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pdftex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[luatex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfextension,ifluatex,directlua,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ colorstack },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ luatex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[dvips]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ color,push,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ dvips,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[xetex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ pdfcolorstack,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xetex,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[inputenc]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ latin1 },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ inputenc,%
+ },%
+ % otherkeywords={},%
+ alsoletter={1},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pdfmanagement-testphase]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pdfmanagement_add,DeclareDocumentMetadata,AddToDocumentProperties,%
+ ShowDocumentProperties,GetDocumentProperties,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{% Keys or optional arguments
+ pdfmanagement-testphase,uncompress,geometry,top-level,backend,Info,%
+ ThisPage,pdfversion,pdfstandard,paper,topic,Title,Rotate,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ dvipdfmx,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ nnn,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pdfmanagement-testphase,%
+ },
+ otherkeywords={:},%
+ alsoletter={_-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[rotating]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ sidewaystable,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ rotating,%
+ },%
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[fontenc]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ T1 },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ fontenc,%
+ },%
+ % otherkeywords={},
+ % alsoletter={1},%
+ alsodigit={1},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[babel]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ foreignlanguage,selectlanguage,iflanguage,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ otherlanguage,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ UKenglish,USenglish,acadian,afrikaans,american,arabic,australian,%
+ austrian,azerbaijani,bahasa,bahasai,basque,bgreek,brazil,%
+ brazilian,breton,british,bulgarian,canadian,canadien,catalan,%
+ croatian,czech,danish,dutch,english,esperanto,estonian,ethiop,%
+ farsi,finnish,francais,french,frenchle,friulan,galician,german,%
+ germanb,greek,hebrew,hindi,ibygreek,icelandic,indon,indonesian,%
+ interlingua,irish,italian,japanese,latin,latvian,lithuanian,%
+ lowersorbian,magyar,malay,melayu (bahasam),mongolian,naustrian,%
+ newzealand,ngerman,norsk,nynorsk,pinyin,polish,polutonikogreek,%
+ portuges,portuguese,romanian,romansh,russian,samin,scottish,%
+ serbian,serbianc,slovak,slovene,spanglish,spanish,swedish,thai,%
+ thaicjk,turkish,turkmen,ukrainian,uppersorbian,vietnamese,%
+ welsh,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ babel,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[babel-french]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ og,fg,up,bsc,ier,iers,iere,ieres,ieme,iemes,primo,secundo,%
+ tertio,quarto,FrenchEnumerate,No,Nos,no,nos,degre,nombre,%
+ frenchabstractname,frenchbibname,frenchrefname,frenchprefacename,%
+ frenchchaptername,frenchappendixname,frenchcontentsname,%
+ frenchlistfigurename,frenchlisttablename,frenchindexname,%
+ frenchglossaryname,frenchfigurename,frenchtablename,frenchpartname,%
+ frenchenclname,frenchccname,frenchheadtoname,frenchpagename,%
+ frenchseename,frenchalsoname,frenchproofname%,%
+ frquote,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ babel-french,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[kantlipsum]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ kant,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ kantlipsum,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hyperxmp]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hyperxmp,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hyperref]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hypersetup,href,phantomsection,pdfstringdefDisableCommands,url,%
+ nolinkurl,hyperbaseurl,hyperimage,hyperdef,hyperref,hyperlink,%
+ hypertarget,hyperget,autoref,autopageref,ref*,pageref*,autoref*,%
+ autopageref*,pdfstringdef,pdfbookmark,currentpdfbookmark,%
+ subpdfbookmark,belowpdfbookmark,texorpdfstring,thispdfpagelabel,%
+ hypercalcbp,nameref,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ allbordercolors,allcolors,anchorcolor,backref,baseurl,bookmarks,%
+ bookmarksnumbered,bookmarksopen,bookmarksopenlevel,bookmarkstype,%
+ breaklinks,CJKbookmarks,citebordercolor,citecolor,colorlinks,debug,%
+ destlabel,draft,driverfallback,dvipdfm,dvipdfmx,dvips,dvipsone,%
+ dviwindo,encap,extension,filebordercolor,filecolor,final,%
+ frenchlinks,hidelinks,hyperfigures,hyperfootnotes,hyperindex,%
+ hypertex,hypertexnames,implicit,latex2html,linkbordercolor,%
+ linkcolor,linktoc,linktocpage,menubordercolor,menucolor,nativepdf,%
+ naturalnames,nesting,next-anchor,pageanchor,pagebackref,pdfauthor,%
+ pdfborder,pdfborderstyle,pdfcenterwindow,pdfcreator,pdfdirection,%
+ pdfdisplaydoctitle,pdfduplex,pdffitwindow,pdfhighlight,pdfinfo,%
+ pdfkeywords,pdflang,pdfmark,pdfmenubar,pdfnewwindow,%
+ pdfnonfullscreenpagemode,pdfnumcopies,pdfpagelabels,pdfpagelayout,%
+ pdfpagemode,pdfpagescrop,pdfpagetransition,pdfpicktraybypdfsize,%
+ pdfprintarea,pdfprintclip,pdfprintpagerange,pdfprintscaling,%
+ pdfproducer,pdfremotestartview,pdfstartpage,pdfstartview,pdfsubject,%
+ pdftex,pdftitle,pdftoolbar,pdftrapped,pdfview,pdfviewarea,%
+ pdfviewclip,pdfwindowui,plainpages,ps2pdf,psdextra,raiselinks,%
+ runbordercolor,runcolor,setpagesize,tex4ht,textures,unicode,%
+ urlbordercolor,urlcolor,verbose,vtex,xetex,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hyperref,%
+ },%
+ % otherkeywords={},%
+ alsoletter={*},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[graphicx]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ includegraphics,includegraphics*,definecolor,color,textcolor,%
+ mathcolor,pagecolor,nopagecolor,colorbox,fcolorbox,rotatebox,%
+ scalebox,reflectbox,resizebox,resizebox*,graphicspath,%
+ DeclareGraphicsExtensions,DeclareGraphicsRule },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ draft,final,hiresbb,demo,setpagesize,nosetpagesize,dvips,xdvi,%
+ dvipdf,dvipdfm,dvipdfmx,xetex,pdftex,luatex,dvisvgm,dvipsone,%
+ dviwindo,emtex,dviwin,oztex,textures,pctexps,pctexwin,pctexhp,%
+ pctex32,truetex,tcidvi,vtex,debugshow,hiderotate,hidescale,alt,%
+ %
+ bb,bbllx,bblly,bburx,bbury,natwidth,natheight,hiresbb,pagebox,%
+ viewport,trim,angle,origin,width,height,totalheight,%
+ keepaspectratio,scale,clip,draft,type,ext,read,command,quiet,%
+ page,interpolate,decodearray,origin,x,y,units,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ mediabox,cropbox,bleedbox,trimbox,artbox,true,false,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ graphicx,%
+ },%
+ % otherkeywords={},%
+ alsoletter={23},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[geometry]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ geometry,newgeometry,restoregeometry,savegeometry,loadgeometry,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ paper,papername,paperwidth,paperheight,papersize,landscape,%
+ portrait,layout,layoutwidth,layoutheight,layoutsize,layouthoffset,%
+ layoutvoffset,layoutoffset,hscale,vscale,scale,width,totalwidth,%
+ height,totalheight,total,textwidth,textheight,text,body,lines,%
+ includehead,includefoot,includeheadfoot,includemp,includeall,%
+ ignorehead,ignorefoot,ignoreheadfoot,ignoremp,ignoreall,%
+ heightrounded,hdivide,vdivide,divide,left,lmargin,inner,right,%
+ rmargin,outer,top,tmargin,bottom,bmargin,hmargin,vmargin,margin,%
+ hmarginratio,vmarginratio,marginratio,ratio,hcentering,vcentering,%
+ centering,twoside,asymmetric,headheight,head,headsep,footskip,%
+ foot,nohead,nofoot,noheadfoot,footnotesep,marginparwidth,%
+ marginparsep,nomarginpar,columnsep,hoffset,voffset,offset,%
+ twocolumn,onecolumn,reversemp,reversemarginpar,verbose,reset,mag,%
+ truedimen,pass,showframe,showcrop,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ a0paper,a1paper,a2paper,a3paper,a4paper,a5paper,a6paper,b0paper,%
+ b1paper,b2paper,b3paper,b4paper,b5paper,b6paper,c0paper,c1paper,%
+ c2paper,c3paper,c4paper,c5paper,c6paper,b0j,b1j,b2j,b3j,b4j,%
+ b5j,b6j,ansiapaper,ansibpaper,ansicpaper,ansidpaper,ansiepaper,%
+ letterpaper,executivepaper,legalpaper,screen,dvips,dvipdfm,pdftex,%
+ luatex,xetex,vtex,dvipdfmx,xdvipdfmx,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ geometry,%
+ },%
+ % otherkeywords={},%
+ alsoletter={0123456},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[newpax]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ newpaxsetup,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ addannots,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ false,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ newpax,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikz]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ usetikzlibrary,draw,node,matrix,fill,foreach,tikz,%
+ },%
+ % Keywords of class 1 : keywords 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,--,-|,|-,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ multiply,lightgray,base,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-| \ },%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikzducks]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ duck,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ alien,aodai,baguette,basket,beard,beret,bill,body,book,%
+ bookcolour,bowtie,bubblecolour,bunny,buttons,cake,cap,cape,%
+ cheese,chef,cocktail,conicalhat,crazyhair,cricket,crown,crozier,%
+ crystalball,darthvader,devil,easter,egga,eggb,eggc,eye,eyebrow,%
+ flavoura,flavourb,flavourc,football,glasses,graduate,grumpy,%
+ handbag,harlequin,hat,head,helmet,hockey,horsetail,icecream,%
+ inear,invisible,jacket,kingcrown,lapel,laughing,lightsaber,%
+ longhair,magichat,magicstars,magicwand,mask,milkshake,mohican,%
+ mullet,name,neckerchief,necklace,niuqelrah,overleaf,parrot,%
+ parting,peakedcap,pickaxe,pizza,prison,queencrown,recedinghair,%
+ ribbon,rollingpin,sailor,santa,sheep,shorthair,shovel,signback,%
+ signcolour,signpost,snowduck,speech,squareglasses,stethoscope,%
+ strawhat,sunglasses,tail,tassel,think,tie,tophat,torch,tshirt,%
+ umbrella,umbrellaclosed,unicorn,vampire,viking,water,wine,wing,%
+ witch,woggle,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ blue,green,red,yellow,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzducks,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikzlings]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ anteater,bear,bee,cat,chicken,coati,elephant,hippo,koala,%
+ marmot,mole,mouse,owl,panda,penguin,pig,rhino,sheep,sloth,%
+ squirrel,snowman,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ 3D,eye,contour,back,globalwarming,whiskers,schroedinger,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzlings,%
+ },%
+ % otherkeywords={},%
+ alsoletter={3},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[amsmath]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ cdots,ddots,vdots,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ pmatrix,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ amsmath,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % xparse
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[xparse]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ NewDocumentCommand,RenewDocumentCommand,ProvideDocumentCommand,%
+ DeclareDocumentCommand,NewDocumentEnvironment,%
+ RenewDocumentEnvironment,ProvideDocumentEnvironment,%
+ DeclareDocumentEnvironment,NewExpandableDocumentCommand,%
+ RenewExpandableDocumentCommand,ProvideExpandableDocumentCommand,%
+ DeclareExpandableDocumentCommand,IfNoValueT,IfNoValueF,IfNoValueTF,%
+ IfValueT,IfValueF,IfValueTF,IfBooleanT,IfBooleanF,IfBooleanTF,%
+ BooleanTrue,BooleanFalse,ProcessedArgument,ReverseBoolean,%
+ SplitArgument,SplitList,ProcessList,TrimSpaces,%
+ GetDocumentCommandArgSpec,GetDocumentEnvironmentArgSpec,%
+ ShowDocumentCommandArgSpec,ShowDocumentEnvironmentArgSpec,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ log-declarations,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xparse,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % colortbl
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[colortbl]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ columncolor,rowcolor,cellcolor,arrayrulecolor,doublerulesepcolor,%
+ minrowclearance,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ colortbl,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % multirow
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[multirow]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ multirow,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ multirow,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % nicematrix
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[nicematrix]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ Cdots,Ddots,Vdots,Body,CodeBefore,CodeAfter,Block,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ pNiceMatrix,NiceMatrix,NiceTabular,bNiceArray,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ hvlines,rules/width,baseline,colortbl-like,margin,right-margin,%
+ create-cell-nodes,rounded-corners,draw,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ nicematrix,%
+ },
+ otherkeywords={&},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % booktabs
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[booktabs]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ toprule,midrule,bottomrule,cmidrule,addlinespace,morecmidrules,%
+ specialrule,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ booktabs,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % strands
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[strands]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ strands,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ strands,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % cartonaugh
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[cartonaugh]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ maxterms,minterms,terms,implicant,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ cartonaugh,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ cartonaugh,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % xistercian
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[xistercian]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ cisterciannum,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ xistercian,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xistercian,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % aboensis
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[aboensis]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ abcursivefamily,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ aboensis,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tabularray
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[tabularray]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ ,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tblr,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ width,colspec,row,bg,fg,font,column,hlines,X,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ odd,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tabularray,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % ninecolors
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[ninecolors]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ NineColors,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ gray1,red1,brown1,yellow1,olive1,green1,teal1,cyan1,azure1,%
+ blue1,violet1,magenta1,purple1,gray2,red2,brown2,yellow2,olive2,%
+ green2,teal2,cyan2,azure2,blue2,violet2,magenta2,purple2,gray3,%
+ red3,brown3,yellow3,olive3,green3,teal3,cyan3,azure3,blue3,%
+ violet3,magenta3,purple3,gray4,red4,brown4,yellow4,olive4,%
+ green4,teal4,cyan4,azure4,blue4,violet4,magenta4,purple4,gray5,%
+ red5,brown5,yellow5,olive5,green5,teal5,cyan5,azure5,blue5,%
+ violet5,magenta5,purple5,gray6,red6,brown6,yellow6,olive6,%
+ green6,teal6,cyan6,azure6,blue6,violet6,magenta6,purple6,gray7,%
+ red7,brown7,yellow7,olive7,green7,teal7,cyan7,azure7,blue7,%
+ violet7,magenta7,purple7,gray8,red8,brown8,yellow8,olive8,%
+ green8,teal8,cyan8,azure8,blue8,violet8,magenta8,purple8,gray9,%
+ red9,brown9,yellow9,olive9,green9,teal9,cyan9,azure9,blue9,%
+ violet9,magenta9,purple9,gray1,red1,brown1,yellow1,olive1,%
+ green1,teal1,cyan1,azure1,blue1,violet1,magenta1,purple1,gray2,%
+ red2,brown2,yellow2,olive2,green2,teal2,cyan2,azure2,blue2,%
+ violet2,magenta2,purple2,gray3,red3,brown3,yellow3,olive3,%
+ green3,teal3,cyan3,azure3,blue3,violet3,magenta3,purple3,gray4,%
+ red4,brown4,yellow4,olive4,green4,teal4,cyan4,azure4,blue4,%
+ violet4,magenta4,purple4,gray5,red5,brown5,yellow5,olive5,%
+ green5,teal5,cyan5,azure5,blue5,violet5,magenta5,purple5,gray6,%
+ red6,brown6,yellow6,olive6,green6,teal6,cyan6,azure6,blue6,%
+ violet6,magenta6,purple6,gray7,red7,brown7,yellow7,olive7,%
+ green7,teal7,cyan7,azure7,blue7,violet7,magenta7,purple7,gray8,%
+ red8,brown8,yellow8,olive8,green8,teal8,cyan8,azure8,blue8,%
+ violet8,magenta8,purple8,gray9,red9,brown9,yellow9,olive9,%
+ green9,teal9,cyan9,azure9,blue9,violet9,magenta9,purple9,%
+ saturation,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ low,medium,high,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ ninecolors,%
+ },%
+ % otherkeywords={},%
+ alsoletter={123456789},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[fontspec]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ EncodingAccent,EncodingCommand,EncodingComposite,%
+ EncodingCompositeCommand,EncodingSymbol,IfFontExistsTF,%
+ IfFontFeatureActiveTF,UndeclareAccent,UndeclareCommand,%
+ UndeclareComposite,UndeclareSymbol,addfontfeature,addfontfeatures,%
+ aliasfontfeature,aliasfontfeatureoption,defaultfontfeatures,fontspec,%
+ liningnums,newAATfeature,newfontface,newfontfamily,newfontfeature,%
+ newfontlanguage,newfontscript,newopentypefeature,oldstylenums,%
+ providefontface,providefontfamily,renewfontface,renewfontfamily,%
+ setboldmathrm,setfontface,setfontfamily,setmainfont,setmathrm,%
+ setmathsf,setmathtt,setmonofont,setromanfont,setsansfont,strong,%
+ strongfontdeclare,strongresetsetmainfont,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Alternate,Annotation,AutoFakeBold,AutoFakeSlant,BoldFeatures,%
+ BoldFont,BoldItalicFeatures,BoldItalicFont,BoldSlantedFeatures,%
+ BoldSlantedFont,BoldSwashFeatures,BoldSwashFont,CJKShape,%
+ 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%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ fontspec%
+ },%
+ % otherkeywords={},%
+ alsoletter={20614-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[ProfCollege]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Thales,Pourcentage,ResolEquation%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ Twitter,Scratch,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Auteur,Logo,Calculer,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ Place,Drapeau,Avancer,Repeter,Tournerg,FinBlocRepeter,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ ProfCollege,%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-euclide]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzDefPoint,tkzInterCC,tkzGetPoints,tkzDrawCircles,tkzDrawPolygon,%
+ tkzDrawPoints,tkzMarkSegments,tkzLabelSegments,tkzLabelPoints,%
+ tkzLabelPoints,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ mark,swap,above,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-euclide },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-fct]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzInit,tkzDrawX,tkzDrawY,tkzFct,tkzDefPoint,tkzDrawPoint,%
+ tkzPointShowCoord,tkzDefPoint,tkzDrawPoint,tkzPointShowCoord,%
+ tkzRep,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ xmin,xmax,ymin,ymax,samples,domain,xlabel,ylabel,xscale,yscale%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-fct },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tkz-tab]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ tkzTabInit,tkzTabLine,tkzTabVar,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ lgt,espcl,t,d,z,+,-,-D+/,+/,-/,+D/,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tkz-tab },%
+ % otherkeywords={},%
+ alsoletter={+-/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[mecaso]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ KineticT,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ mecaso },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hanzibox]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hanzibox*,hanziboxset,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ frametype,pinyinline,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ none,true,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hanzibox },%
+ % otherkeywords={},%
+ % alsoletter={},%
+ % alsodigit={},%
+ alsoother={*},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[tikz-bagua]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Bagua*,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz-bagua },%
+ % otherkeywords={},%
+ % alsoletter={},%
+ % alsodigit={},%
+ alsoother={*},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[bodeplot]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ addBodeZPKPlots },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ BodePlot,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ ylabel,ytick,distance,height,width,magnitude,z,p,k,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ true,black,thick,linear,red,dashed,thick,asymptotic,blue,%
+ dotted,thick,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ bodeplot },%
+ % otherkeywords={},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[formal-grammar]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ highlight,firstcase,gralt,nonterm },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ grammar },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ formal-grammar },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[numerica-plus]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ nmcRecur,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ do,see1,f_,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ numerica-plus },%
+ % otherkeywords={},%
+ alsoletter={_1},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pascaltriangle]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pascal,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pascaltriangle },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[pgf-interference]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pgfinterferencepattern,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ slits,wavelength,slit-distance,intensity,ruler,scale,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ pgf-interference%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[clistmap]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ ExplSyntaxOn,ExplSyntaxOff,clistmap,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ first_math,serial_rest_math_and,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ nnn,N,%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ clistmap },%
+ % otherkeywords={},%
+ alsoletter={_},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hexboard]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hexmove,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ hexgamelabels,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hexboard },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[robotarm]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ robotArm,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ tikzpicture },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ config,q1,q2,q3,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ robotarm },%
+ % otherkeywords={},%
+ alsoletter={123},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[amsfonts]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ mathbb,mathfrak,angle,Box,dasharrow,dashleftarrow,dashrightarrow,%
+ Diamond,hbar,Join,leadsto,lhd,llcorner,lozenge,lrcorner,mho,%
+ rhd,rightleftharpoons,rightsquigarrow,sqsubset,sqsupset,square,%
+ trianglelefteq,trianglerighteq,ulcorner,unlhd,unrhd,urcorner,%
+ vartriangleleft,vartriangleright,widehat{arg},widetilde{arg},yen,%
+ checkmark,circledR,maltese,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ amsfonts },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[biolinum]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ biolinum,biolinumOsF,biolinumLF,biolinumkey,sufigures,textsu,%
+ textsuperior,oldstylenums,liningnums,oldstylenumsf,liningnumsf,%
+ tabularnums,proportionalnums,tabularnumsf,proportionalnumsf,%
+ DeclareTextGlyphY,biolinumGlyph,biolinumKeyGlyph,LKey,LKeyPad,%
+ LKeyF,LKeyAltF,LKeyStrgAltF,LKeyCtrlAltF,LKeyStrgX,LKeyCtrlX,%
+ LKeyShiftX,LKeyAltX,LKeyAltGrX,LKeyShiftStrgX,LKeyShiftCtrlX,%
+ LKeyShiftAltX,LKeyShiftAltGrX,LKeyStrgAltX,LKeyCtrlAltX,%
+ LKeyStrgAltEnt,LKeyCtrlAltEnt,LKeyReset,LKeyTux,LKeyWin,LKeyMenu,%
+ LKeyStrg,LKeyCtrl,LKeyAlt,LKeyAltGr,LKeyShift,LKeyTab,LKeyEnter,%
+ LKeyCapsLock,LKeyPos,LKeyEntf,LKeyEinf,LKeyLeer,LKeyEsc,LKeyEnde,%
+ LKeyCommand,LKeyOptionKey,LKeyBack,LKeyUp,LKeyDown,LKeyLeft,%
+ LKeyRight,LKeyPgUp,LKeyPgDown,LKeyAt,LKeyFn,LKeyHome,LKeyDel,%
+ LKeySpace,LKeyScreenUp,LKeyScreenDown,LKeyIns,LKeyEnd,LKeyGNU,%
+ LKeyPageUp,LKeyPageDown,LMouseEmpty,LMouseN,LMouseL,LMouseM,%
+ LMouseR,LMouseLR,LMouseIIEmpty,LMouseIIN,LMouseIIL,LMouseIIR,%
+ LMouseIILR,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ sfdefault,type1,nofontspec,lining,nf,lf,oldstyle,osf,sflining,%
+ sflf,sfoldstyle,sfosf,osfss,tabular,t,p,sftabular,sft,%
+ sfproportional,sfp,scaled,scale,defaultfeatures,space,uni0020,%
+ exclam,uni0021,quotedbl,uni0022,numbersign,uni0023,dollar,%
+ uni0024,percent,uni0025,ampersand,uni0026,quotesingle,uni0027,%
+ parenleft,uni0028,parenright,uni0029,asterisk,uni002A,plus,%
+ uni002B,comma,uni002C,hyphen,uni002D,period,uni002E,slash,%
+ uni002F,zero,uni0030,one,uni0031,two,uni0032,three,uni0033,%
+ four,uni0034,five,uni0035,six,uni0036,seven,uni0037,eight,%
+ uni0038,nine,uni0039,colon,uni003A,semicolon,uni003B,less,%
+ uni003C,equal,uni003D,greater,uni003E,question,uni003F,at,%
+ bracketleft,uni005B,backslash,uni005C,bracketright,uni005D,%
+ asciicircum,uni005E,underscore,uni005F,grave,uni0060,uni007A,%
+ braceleft,uni007B,bar,uni007C,braceright,uni007D,asciitilde,%
+ uni007E,exclamdown,uni00A1,cent,uni00A2,sterling,uni00A3,%
+ currency,uni00A4,yen,uni00A5,brokenbar,uni00A6,section,uni00A7,%
+ dieresis,uni00A8,guillemotleft,uni00AB,uni00AD,degree,uni00B0,%
+ plusminus,uni00B1,acute,uni00B4,uni00B5,periodcentered,uni00B7,%
+ cedilla,uni00B8,guillemotright,uni00BB,Agrave,uni00C0,Aacute,%
+ uni00C1,Acircumflex,uni00C2,Atilde,uni00C3,Adieresis,uni00C4,%
+ Aring,uni00C5,Ccedilla,uni00C7,Egrave,uni00C8,Eacute,uni00C9,%
+ Ecircumflex,uni00CA,Edieresis,uni00CB,Igrave,uni00CC,Iacute,%
+ uni00CD,Icircumflex,uni00CE,Idieresis,uni00CF,Eth,uni00D0,Ntilde,%
+ uni00D1,Ograve,uni00D2,Oacute,uni00D3,Ocircumflex,uni00D4,Otilde,%
+ uni00D5,Odieresis,uni00D6,multiply,uni00D7,Oslash,uni00D8,Ugrave,%
+ uni00D9,Uacute,uni00DA,Ucircumflex,uni00DB,Udieresis,uni00DC,%
+ Yacute,uni00DD,Thorn,uni00DE,germandbls,uni00DF,agrave,uni00E0,%
+ aacute,uni00E1,acircumflex,uni00E2,atilde,uni00E3,adieresis,%
+ uni00E4,aring,uni00E5,ae,uni00E6,ccedilla,uni00E7,egrave,%
+ uni00E8,eacute,uni00E9,ecircumflex,uni00EA,edieresis,uni00EB,%
+ igrave,uni00EC,iacute,uni00ED,icircumflex,uni00EE,idieresis,%
+ uni00EF,eth,uni00F0,ntilde,uni00F1,ograve,uni00F2,oacute,%
+ uni00F3,ocircumflex,uni00F4,otilde,uni00F5,odieresis,uni00F6,%
+ divide,uni00F7,oslash,uni00F8,ugrave,uni00F9,uacute,uni00FA,%
+ ucircumflex,uni00FB,udieresis,uni00FC,yacute,uni00FD,thorn,%
+ uni00FE,ydieresis,uni00FF,Amacron,uni0100,amacron,uni0101,Abreve,%
+ uni0102,abreve,uni0103,Aogonek,uni0104,aogonek,uni0105,Cacute,%
+ uni0106,cacute,uni0107,Ccircumflex,uni0108,ccircumflex,uni0109,%
+ Cdotaccent,uni010A,cdotaccent,uni010B,Ccaron,uni010C,ccaron,%
+ uni010D,Dcaron,uni010E,dcaron,uni010F,Dcroat,uni0110,dcroat,%
+ uni0111,Emacron,uni0112,emacron,uni0113,Ebreve,uni0114,ebreve,%
+ uni0115,Edotaccent,uni0116,edotaccent,uni0117,Eogonek,uni0118,%
+ eogonek,uni0119,Ecaron,uni011A,ecaron,uni011B,Gcircumflex,%
+ uni011C,gcircumflex,uni011D,Gbreve,uni011E,gbreve,uni011F,%
+ Gdotaccent,uni0120,gdotaccent,uni0121,Gcommaaccent,uni0122,%
+ gcommaaccent,uni0123,Hcircumflex,uni0124,hcircumflex,uni0125,Hbar,%
+ uni0126,hbar,uni0127,Itilde,uni0128,itilde,uni0129,Imacron,%
+ uni012A,imacron,uni012B,Ibreve,uni012C,ibreve,uni012D,Iogonek,%
+ uni012E,iogonek,uni012F,Idotaccent,uni0130,dotlessi,uni0131,IJ,%
+ uni0132,ij,uni0133,Jcircumflex,uni0134,jcircumflex,uni0135,%
+ Kcommaaccent,uni0136,kcommaaccent,uni0137,kgreenlandic,uni0138,%
+ Lacute,uni0139,lacute,uni013A,Lcommaaccent,uni013B,lcommaaccent,%
+ uni013C,Lcaron,uni013D,lcaron,uni013E,Ldot,uni013F,ldot,uni0140,%
+ Lslash,uni0141,lslash,uni0142,Nacute,uni0143,nacute,uni0144,%
+ Ncommaaccent,uni0145,ncommaaccent,uni0146,Ncaron,uni0147,ncaron,%
+ uni0148,napostrophe,uni0149,Omacron,uni014C,omacron,uni014D,%
+ Obreve,uni014E,obreve,uni014F,Ohungarumlaut,uni0150,ohungarumlaut,%
+ uni0151,Racute,uni0154,racute,uni0155,Rcommaaccent,uni0156,%
+ rcommaaccent,uni0157,Rcaron,uni0158,rcaron,uni0159,Sacute,%
+ uni015A,sacute,uni015B,Scircumflex,uni015C,scircumflex,uni015D,%
+ Scedilla,uni015E,scedilla,uni015F,Scaron,uni0160,scaron,uni0161,%
+ Tcedilla,uni0162,tcedilla,uni0163,Tcaron,uni0164,tcaron,uni0165,%
+ Tbar,uni0166,tbar,uni0167,Utilde,uni0168,utilde,uni0169,Umacron,%
+ uni016A,umacron,uni016B,Ubreve,uni016C,ubreve,uni016D,Uring,%
+ uni016E,uring,uni016F,Uhungarumlaut,uni0170,uhungarumlaut,uni0171,%
+ Uogonek,uni0172,uogonek,uni0173,Wcircumflex,uni0174,wcircumflex,%
+ uni0175,Ycircumflex,uni0176,ycircumflex,uni0177,Ydieresis,uni0178,%
+ Zacute,uni0179,zacute,uni017A,Zdotaccent,uni017B,zdotaccent,%
+ uni017C,Zcaron,uni017D,zcaron,uni017E,h.superior,uni02B0,%
+ hhook.superior,uni02B1,j.superior,uni02B2,r.superior,uni02B3,%
+ rturned.superior,uni02B4,rhookturned.superior,uni02B5,%
+ Rsmallinverted.superior,uni02B6,w.superior,uni02B7,y.superior,%
+ uni02B8,uni02B9,uni02BA,uni02BB,afii57929,uni02BC,afii64937,%
+ uni02BD,uni02BE,uni02BF,uni02C0,uni02C1,uni02C2,uni02C3,uni02C4,%
+ uni02C5,circumflex,uni02C6,caron,uni02C7,uni02C8,uni02C9,uni02CA,%
+ uni02CB,uni02CC,uni02CD,uni02CE,uni02CF,uni02D0,uni02D1,uni02D2,%
+ uni02D3,uni02D4,uni02D5,uni02D6,uni02D7,breve,uni02D8,dotaccent,%
+ uni02D9,ring,uni02DA,ogonek,uni02DB,tilde,uni02DC,hungarumlaut,%
+ uni02DD,uni02DE,uni02DF,gammalatin.superior,uni02E0,l.superior,%
+ uni02E1,s.superior,uni02E2,x.superior,uni02E3,%
+ glottalstopreversed.superior,uni02E4,uni02EC,uni02ED,uni02EE,%
+ gravecomb,uni0300,acutecomb,uni0301,uni0302,tildecomb,uni0303,%
+ uni0304,uni0305,uni0306,uni0307,uni0308,hookabovecomb,uni0309,%
+ uni030A,uni030B,uni030C,uni030D,uni030E,uni030F,uni0310,uni0311,%
+ uni0312,uni0313,uni0314,uni0315,uni0316,uni0317,uni0318,uni0319,%
+ uni031A,uni031B,uni031C,uni031D,uni031E,uni031F,uni0320,uni0321,%
+ uni0322,dotbelowcomb,uni0323,uni0324,uni0325,uni0326,uni0327,%
+ uni0328,uni0329,uni032A,uni032B,uni032C,uni032D,uni032E,uni032F,%
+ uni0330,uni0331,uni0338,uni0342,uni0343,uni0351,uni0357,uni0358,%
+ uni0359,uni035A,uni035B,uni035C,uni035D,uni035E,uni035F,uni0360,%
+ uni0361,uni0362,uni0363,uni0374,uni0375,afii57799,uni05B0,%
+ afii57801,uni05B1,afii57800,uni05B2,afii57802,uni05B3,afii57793,%
+ uni05B4,afii57794,uni05B5,afii57795,uni05B6,afii57798,uni05B7,%
+ afii57797,uni05B8,afii57806,uni05B9,uni05BA,afii57796,uni05BB,%
+ afii57807,uni05BC,afii57839,uni05BD,afii57645,uni05BE,afii57841,%
+ uni05BF,afii57842,uni05C0,afii57804,uni05C1,afii57803,uni05C2,%
+ afii57658,uni05C3,uni05C6,afii57664,uni05D0,afii57665,uni05D1,%
+ afii57666,uni05D2,afii57667,uni05D3,afii57668,uni05D4,afii57669,%
+ uni05D5,afii57670,uni05D6,afii57671,uni05D7,afii57672,uni05D8,%
+ afii57673,uni05D9,afii57674,uni05DA,afii57675,uni05DB,afii57676,%
+ uni05DC,afii57677,uni05DD,afii57678,uni05DE,afii57679,uni05DF,%
+ afii57680,uni05E0,afii57681,uni05E1,afii57682,uni05E2,afii57683,%
+ uni05E3,afii57684,uni05E4,afii57685,uni05E5,afii57686,uni05E6,%
+ afii57687,uni05E7,afii57688,uni05E8,afii57689,uni05E9,afii57690,%
+ uni05EA,afii57716,uni05F0,afii57717,uni05F1,afii57718,uni05F2,%
+ arrowleft,uni2190,arrowup,uni2191,arrowright,uni2192,arrowdown,%
+ uni2193,arrowboth,uni2194,arrowupdn,uni2195,uni2196,uni2197,%
+ uni2198,uni2199,uni219A,uni219B,uni21A5,uni21A7,uni21BC,uni21BD,%
+ uni21C0,uni21C1,arrowdblleft,uni21D0,arrowdblup,uni21D1,%
+ arrowdblright,uni21D2,arrowdbldown,uni21D3,arrowdblboth,uni21D4,%
+ uni21D5,Nwarrow,uni21D6,Nearrow,uni21D7,Searrow,uni21D8,Swarrow,%
+ uni21D9,uni2318,uni2325,uni2326,uni2327,uni232B,uni237D,uni2380,%
+ uni2423,filledbox,uni25A0,H22073,uni25A1,triagup,uni25B2,uni25B3,%
+ uni25B6,uni25B7,triagdn,uni25BC,uni25BD,uni25C0,uni25C1,uni25C6,%
+ uni25C7,uni25C9,lozenge,uni25CA,circle,uni25CB,uni25CE,H18533,%
+ uni25CF,uni25D0,uni25D1,uni25D2,uni25D3,uni25D4,uni25D5,uni25D6,%
+ uni25D7,openbullet,uni25E6,uni2605,uni2619,uni261B,uni261E,%
+ uni2627,uni262F,uni2639,uni263A,uni263B,uni263C,uni263D,uni263E,%
+ uni263F,female,uni2640,uni2641,male,uni2642,uni2643,uni2644,%
+ uni2645,uni2646,uni2647,uni2648,uni2649,uni264A,uni264B,uni264C,%
+ uni264D,uni264E,uni264F,uni2650,uni2651,uni2652,uni2653,uni2660,%
+ uni2663,uni2665,uni2666,uni2669,musicalnote,uni266A,%
+ musicalnotedbl,uni266B,uni266C,uni2695,uni2698,uni26A2,uni26A3,%
+ uni26A4,uni26A5,uni26AD,uni2767,uni2776,uni2777,uni2778,uni2779,%
+ uni277A,uni277B,uni277C,uni277D,uni277E,uni277F,T_u_x,uniE000,%
+ uniE104,uniE128,uniE129,uniE12A,uniE130,uniE131,uniE132,uniE133,%
+ uniE134,uniE135,uniE138,uniE139,uniE13A,uniE13C,uniE13D,uniE168,%
+ B_a_c_k,uniE16E,S_t_r_g,uniE170,A_l_t,uniE171,A_l_t_G_r,uniE172,%
+ C_t_r_l,uniE173,S_h_i_f_t,uniE174,T_a_b,uniE175,E_n_t_e_r,%
+ uniE176,C_a_p_s_l_o_c_k,uniE177,F_1,uniE178,F_2,uniE179,F_3,%
+ uniE17A,F_4,uniE17B,F_5,uniE17C,F_6,uniE17D,F_7,uniE17E,F_8,%
+ uniE17F,F_9,uniE180,F_1_0,uniE181,F_1_1,uniE182,F_1_2,uniE183,%
+ F_1_3,uniE184,F_1_4,uniE185,F_1_5,uniE186,F_1_6,uniE187,uniE188,%
+ H_o_m_e,uniE189,D_e_l,uniE18A,I_n_s,uniE18B,uniE18C,E_n_d,%
+ uniE18E,G_N_U,uniE190,P_o_s_1,uniE191,E_n_t_f,uniE192,E_i_n_f,%
+ uniE193,L_e_e_r,uniE194,E_s_c,uniE195,E_n_d_e,uniE196,uniE198,%
+ uniE199,uniE19A,uniE19B,uniE1A0,uniE1A1,uniE1A2,uniE1A3,uniE1A4,%
+ uniE1A5,uniE1A6,uniE1A7,uniE1A8,uniE1A9,uniE1AA,uniE1AB,uniE1AC,%
+ uniE1AD,uniE1AE,uniE1B0,uniE1B1,grave.cap,uniE358,acute.cap,%
+ uniE359,circumflex.cap,uniE35A,caron.cap,uniE35B,breve.cap,%
+ uniE35C,hungarumlaut.cap,uniE35D,space_uni030F.cap,uniE35E,%
+ breveinvertedcmb.cap,uniE35F,breve.cyrcap,uniE360,breve.cyr,%
+ uniE361,dieresis.cap,uniE362,hookabovecomb.cap,uniE363,uniFFFD,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ biolinum },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[biblatex]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ cite,Cite,parencite,Parencite,footcite,footcitetext,smartcite,%
+ Smartcite,textcite,Textcite,supercite,cites,Cites,parencites,%
+ Parencites,footcitesfootcitetexts,textcites,Textcites,supercites,%
+ autocite,Autocite,autocite*,Autocite*,autocites,Autocites,%
+ citeauthor,Citeauthor,citetitle,citetitle*,citeyear,citeurl,%
+ parentext,brackettext,nocite,fullcite,footfullcite,volcite,%
+ Volcite,pvolcite,Pvolcite,fvolcite,ftvolcite,tvolcite,Tvolcite,%
+ avolcite,Avolcite,notecite,Notecite,pnotecite,Pnotecite,fnotecite,%
+ citename,citelist,citefield,printbibliography,bibliography,%
+ citedate,ExecuteBibliographyOptions,defbibnote,psq,psqq,%
+ addbibresource,AtNextCite,DeclareNameAlias,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ abstract,addendum,afterword,annotation,annotator,author,%
+ authortype,bookauthor,bookpagination,booksubtitle,booktitle,%
+ booktitleaddon,chapter,commentator,date,doi,edition,editor,%
+ editora,editorb,editorc,editortype,editoratype,editorbtype,%
+ editorctype,eid,eprint,eprintclass,eprinttype,eventdate,%
+ eventtitle,file,foreword,holder,howpublished,indextitle,%
+ institution,introduction,isan,isbn,ismn,isrn,issn,issue,%
+ issuesubtitle,issuetitle,iswc,journalsubtitle,journaltitle,label,%
+ language,library,location,mainsubtitle,maintitle,maintitleaddon,%
+ month,nameaddon,note,number,organization,origdate,origlanguage,%
+ origlocation,origpublisher,origtitle,pages,pagetotal,pagination,%
+ part,publisher,pubstate,reprinttitle,series,shortauthor,%
+ shorteditor,shorthand,shorthandintro,shortjournal,shortseries,%
+ shorttitle,subtitle,title,titleaddon,translator,type,url,urldate,%
+ venue,version,volume,volumes,year,crossref,entryset,entrysubtype,%
+ execute,gender,hyphenation,indexsorttitle,keywords,options,%
+ presort,sortkey,sortname,sorttitle,sortyear,xref,annote,%
+ archiveprefix,journal,key,pdf,primaryclass,school,address,%
+ datamodel,%
+ %
+ backend,style,citestyle,bibstyle,sorting,maxnames,minnames,%
+ maxitems,minitems,backref,abbreviate,firstinits,prenote,postnote,%
+ useprefix,autopunct,giveninits,labelname,given-family,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ submitted,inpress,danish dutch,american,USenglish,english,british,%
+ UKenglish,canadian,australian,newzealand,finnish,french,francais,%
+ canadien,german,ngerman,austrian,naustrian,greek,italian,norsk,%
+ nynorsk,brazil,portuges,spanish,swedish,%
+ %
+ biber,numeric,numeric-comp,numeric-verb,alphabetic,alphabetic-verb,%
+ authoryear,authoryear-comp,authoryear-ibid,authoryear-icomp,%
+ authortitle,authortitle-comp,authortitle-ibid,authortitle-icomp,%
+ authortitle-terse,authortitle-tcomp,authortitle-ticomp,verbose,%
+ verbose-ibid,verbose-note,verbose-inote,verbose-trad1,verbose-trad2,%
+ verbose-trad3,reading,draft,debug,and,inline,footnote,%
+ superscript,plain,nyt,ynt,none,false,true,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ biblatex },%
+ % directives
+ directives={%
+ article,book,inbook,bookinbook,suppbook,booklet,collection,%
+ conference,incollection,suppcollection,manual,misc,online,patent,%
+ periodical,suppperiodical,proceedings,inproceedings,reference,%
+ inreference,report,thesis,unpublished,masterthesis,phdthesis,%
+ string,comment,%
+ },%
+ % otherkeywords={},%
+ alsoletter={-},%
+ % alsodigit={},%
+ delim=*[directive]@,sensitive=false,%
+ }[keywords,directives,tex,comments]%
+
+ \lst@definelanguage[lthooks]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ AddToHook,BeforeBeginEnvironment,AtBeginEnvironment,AtEndEnvironment,%
+ AfterEndEnvironment,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ % begin,end,
+ before,after,begindocument,begindocument/before,%
+ begindocument/end,enddocument,enddocument/afterlastpage,%
+ enddocument/afteraux,enddocument/info,enddocument/end,env,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ lthooks },%
+ % otherkeywords={},%
+ alsoletter={/},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[l3keys2e]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ ProcessKeysOptions,ProcessKeysPackageOptions,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ l3keys2e },%
+ % otherkeywords={},%
+ alsoletter={23},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[varioref]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ vref,vpageref,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ varioref },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[hologo]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ hologo },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=va ,lue)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ hologo%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[acro]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Ac,Aca,Acap,Acf,Acfp,Acl,Aclp,Acp,AcroAcronymsMap,AcroAddRow,%
+ AcroMapBreak,AcroNeedPackage,AcroPropertiesMap,AcroPropertiesSet,%
+ AcroRerun,AcroStyle,AcroTemplateName,AcroTemplateType,AcronymID,%
+ AcronymTable,Acs,Acsp,BeginAccSupp,Dacs,DeclareAcroArticle,%
+ DeclareAcroEnding,DeclareAcroPreset,DeclareAcroProperty,%
+ DeclareAcroPropertyAlias,DeclareAcroTranslation,DeclareAcronym,Iac,%
+ Iaca,Iacf,Iacl,Iacs,MakeAcroPropertyAlias,NewAcroCommand,%
+ NewAcroPreset,NewAcroTemplate,RenewAcroCommand,RenewAcroPreset,%
+ RenewAcroTemplate,SetupAcroTemplate,SetupNextAcroTemplate,%
+ UseAcroTemplate,abbrdot,ac,aca,acap,acbarrier,acdot,acf,acfg,%
+ acflike,acfootnote,acfp,acg,aciftrailing,acl,aclg,aclp,acp,%
+ acreset,acresetall,acrocite,acrodefinite,acrodonotuse,acrodotfill,%
+ acroendfootnote,acroformat,acrofull,acrogroupcite,acroheading,%
+ acroifT,acroifTF,acroifallTF,acroifanyT,acroifanyTF,%
+ acroifbooleanTF,acroifchapterF add,acroifchapterTF,acroiffirstT,%
+ acroiffirstTF addchap,acroifpagesTF,acroifsingleTF,acroifstarredTF,%
+ acroiftagTF,acroifusedTF,acroindefinite,acrolistname,acroneedpages,%
+ acronopagerange,acronymsmap,acronymsmapF,acronymsmapTF,acropagefill,%
+ acropages,acroplural,acropossessive,acropreamble,acroshow,%
+ acrotranslate,acroupper,acrowrite,acs,acsetup,acsp,acspace,%
+ acswitchoff,acswitchon,acuse,dacs,declareAcronym,iac,iaca,iacf,%
+ iacl,iacs,iacsg,printacronyms,%
+ %
+ acro_locale,acro_if_foreign,acro_if_locale,__acro_foreign_language,%
+ acro_property_get,acro_property_if_set,acro_property_get,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ activate,addsec,addsec*,all,alt,alt,alt-acc,alt-format,%
+ alt-indefinite,alt-plural,alt-plural-form,barriers,before-citation,%
+ caption,%
+ case-insensitive,%case-sensitive,%chapter,chapter*,cite,clear,cmd,%
+ deactivate,define,description,disable,display,exclude,extra,%
+ extra-acc,extra-foreign,extra-format,extra-long,fill,first,%
+ first-long,first-long-format,first-style,first-style ,floats,%
+ footnote,foreign,foreign,foreign-acc,foreign-babel,foreign-format ,%
+ foreign-locale,foreign-plural,foreign-plural-form,format,format,%
+ group,heading,id,include,index,index,index-cmd,index-sort,%
+ language,link-only-first,list,list,list-acc,list-format,%
+ list/display,lists,load-style,local,locale,lof,long,long,%
+ long-acc,long-format,long-indefinite,long-plural,long-plural-ending,%
+ long-plural-form,long-post,long-short,longtable,longtabu,lppl,%
+ ltxtable,make-links,maketitle,method,name,no-index,none,options,%
+ pages,pdf,pdf,pdfcomment,pdfcomment/cmd,pdfcomment/use,pdfstring,%
+ post,pre,preamble,preset,replace,reset,section,section*,short,%
+ short,short,short-acc,short-format,short-indefinite,short-long,%
+ short-plural,short-plural-ending,short-plural-form ,show,single,%
+ single,single,single-acc threshold,single-format
+ title,single-style,%
+ single-style,sort,sort,subsequent-style,subsequent-style,%
+ supertabular,tabular,tabularx,tag,upgrade,use,use-id-as-short,%
+ uselist,version,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ acro%
+ },%
+ % otherkeywords={},%
+ alsoletter={-_},%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ \lst@definelanguage[csquotes]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ enquote,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ displayquote,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ csquotes%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tcolorbox
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[tcolorbox]{TeX}%
+ {%
+ % Control sequences names
+ moretexcs={%
+ tcbuselibrary,newtcbtheorem,tcbset%
+ },%
+ % Keywords of class 1 : keywords that contain other characters (since
+ % of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ %
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ absquote,boxarraystore,dispExample,dispExample*,dispListing,%
+ dispListing*,docCommand,docCommand*,docCommands,docEnvironment,%
+ docEnvironment*,docEnvironments,docKey,docKey*,docKeys,%
+ docPathOperation,docPathOperation*,docPathOperations,extcolorbox,%
+ extikzpicture,fooauxenv,foocolorbox,foocolorbox*,posterboxenv,%
+ tcbclipframe,tcbclipinterior,tcbcliptitle,tcbexternal,%
+ tcbinvclipframe,tcbitemize,tcblisting,tcboutputlisting,%
+ tcboxeditemize,tcboxedraster,tcbposter,tcbraster,tcbverbatimwrite,%
+ tcbwritetemp,tcolorbox,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Crefname,IfBooleanF,IfBooleanT,IfBooleanTF,IfNoValueF,IfNoValueT,%
+ IfNoValueTF,IfValueF,IfValueT,IfValueTF,PassOptionsToClass,%
+ PassOptionsToPackage,above*,above,actual,adapt,add,adjust,%
+ adjusted,after,alert,alerted,algorithm,align*,align,all,ams,%
+ and,angular,annotate,app,arara,arc,array,as,at,attach,auto,%
+ autoparskip,balanced,base,basedim,baseline,beamer,bean,before,%
+ beforeafter,% begin,
+ below,between,biber,bibtex,bicolor,blank,%
+ blanker,blankest,blend,body,bold,bookmark*,bookmark,borderline,%
+ both,bottom*,bottom,bottomrule,bottomsep,bottomtitle,bounding,%
+ box,boxed,boxes,boxrule,boxsep,break*,break,breakable,broken,%
+ by,caption,capture,center,check,circular,clear,clip,code,%
+ colback,colbacklower,colbacktitle,colframe,collower,colon,color,%
+ colorize,colors,colspacing,coltext,coltitle,column*,column,%
+ columns,colupper,command,comment,compilable,compiler,compress,%
+ content,corner,corners,counter*,counter,counters,coverage,%
+ crefname,current,curved,dash,default,definition,delimiters,%
+ description,detach,directory,do,doc,docexample,documentation,%
+ downwards,draft,draftmode,draw,drop,dvips,east,empty,% end,
+ %
+ enforce,engine,english,enhanced,enlarge,enlargement,enlargepage,%
+ entry,environment,environments,equal,equation*,equation,error,%
+ even,every,example!,example,extend,extension,external,%
+ externalize,extras,extrude,fade,fading,file,fill,filled,finally,%
+ finish,first,fit,fitting,fixed,flexible,flip,float*,float,%
+ floatplacement,flush,flushleft,flushright,font,fontlower,fontsize,%
+ fonttitle,fontupper,for,force,format,formatter,frame,freelance,%
+ freelancefirst,freelancelast,freelancemiddle,freestyle,freeze,from,%
+ full,fuzzy,gap,gather*,gather,geometry,german,goal,graphical,%
+ graphics,group,grow,halign,halo,hanging,hbox,head,height,%
+ hidden,hide,higher,highlight,hooks,horizontal,hyperlink,hyperref,%
+ hypertarget,hyperurl*,hyperurl,hyphenationfix,if,ignore,image,in,%
+ indent,index*,index,inherit,initially,input,inputencoding,inside,%
+ interior,into,invisible,inwards,is,jigsaw,jpg,key,keypath,keys,%
+ keywords,label,language,large,last,latex,layer,layers,left*,%
+ left,lefthand,leftlower,leftright,leftrule,lefttitle,leftupper,%
+ length,lengths,level,lifted,limit,line*,line,lines,list,%
+ listing!,listing,listings,listingsutf,lower*,lower,lowerbox,%
+ lowered,lualatex,m,macros,magazine,makeindex,many,marginnote,%
+ marker,math,maxfontdiff,maxfontdiffgap,maxstep,maxwidthdiff,%
+ maxwidthdiffgap,method,midday,middle,minimum,minipage,minted,%
+ most,move,multicolumn,multirow,n,name,nameref,natural,new,%
+ nirvana,no,nobeforeafter,nobreak,node,nodes,nodisplayskip,%
+ nofloat,none,noparskip,nophantom,north,northeast,northwest,not,%
+ notitle,number,octogon,odd,of,offset,on,oneside*,oneside,only,%
+ opacity,opacityback,opacitybacklower,opacitybacktitle,opacityfill,%
+ opacityframe,opacitylower,opacitytext,opacitytitle,opacityupper,%
+ option,options,or,orientation,out,outer,outside,outwards,over,%
+ overlay,overlays,oversize,overzoom,pad,page*,page,pages,%
+ pageshort,parameter,parbox,parenthesis,parfillskip,parskip,path,%
+ paths,pdf,pdflatex,percent,phantom,phantomlabel,placeholder,%
+ plain,plus,png,poster,pre,preamble,preclass,prefix,process,%
+ pspdf,quote,raise,raised,raster,ratio,record,recording,remake,%
+ remember,remove,reset,restore,right*,right,righthand,rightlower,%
+ rightrule,righttitle,rightupper,rotate,rounded,row,rows,%
+ rowspacing,rowspan,run,runner,runs,safety,savedelimiter,%
+ savelowerto,saveto,scale,scope,segmentation,semi,separated,%
+ separator,sequence,settings,shade,shading,shadow,sharp,sharpish,%
+ shield,show,showframe,shrink,side,sidebyside,sidewards,sign,%
+ size,skin,skins,skip,small,smart,sort,source,south,southeast,%
+ southwest,space,spacing,span,spartan,split,spread,square,%
+ squeezed,stack,standard,step,store,stretch,style,subskin,%
+ subtitle,supplement,switch,system,tabulars*,tabulars,tabularx*,%
+ tabularx,tcbimage,tcbox,preamble tcbset,tempfile,terminator,text,%
+ theorem,theorems,tight,tikz,tikznode,tile,title*,title,titlebox,%
+ titled,titlerule,to,toggle,top*,top,toprule,topsep,toptitle,%
+ type,unbreakable,unbroken,underlay,updated,upper*,upper,upperbox,%
+ upwards*,upwards,use,utf,valign,value,values,varwidth,verbatim,%
+ vertical,vfill,vignette,visible,void,warning,watermark,west,%
+ widget,width,with,within,xelatex,xmax,xmin,xparse,xshift,ymax,%
+ ymin,yshift*,yshift,yshifttext,zoom,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ all,and,apart,areasize*,areasize,as-is,auto,base,baselineskip,%
+ beamer,beamerfirst,beamerlast,beamermiddle,bicolor,bicolorfirst,%
+ bicolorlast,bicolormiddle,both,bottom,break,broken,center,change,%
+ clipped,colon,copy,dash,direct,doc,downhill,draft,east,empty,%
+ emptyfirst,emptylast,emptymiddle,enhanced,enhancedfirst,%
+ enhancedlast,enhancedmiddle,evenpage,false,fbox,figures,final,%
+ first,fitbox,flush,fontsize*,fontsize,forced,freelance,%
+ freelancefirst,freelancelast,freelancemiddle,hang,hbox,hybrid*,%
+ hybrid,ignored,invisible,jigsaw,justify,landscape*,landscape,%
+ last,left,limited,listings,margin,maximum,middle,minimal,%
+ minimum,minipage,minted,none,normal,north,northeast,northwest,%
+ off,on,path,pathfirst,pathfirstjigsaw,pathjigsaw,pathlast,%
+ pathlastjigsaw,pathmiddle,pathmiddlejigsaw,pgf,pgfchapter,%
+ pgfsection,plain,portrait*,portrait,right,rows,scale*,scale,%
+ seam,small,south,southeast,southwest,spartan,squeeze,standard,%
+ tables,tight,tile,tilefirst,tilelast,tilemiddle,title,top,true,%
+ unbroken,unlimited,uphill,visible,west,widget,widgetfirst,%
+ widgetlast,widgetmiddle,red,black,white,none,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tcolorbox%
+ },%
+ % otherkeywords={},%
+ alsoletter={ \ },%
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % Classes (La)TeX
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \lst@definelanguage[classes]{TeX}{%
+ % Control sequences
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as
+ % 'otherkeywords')
+ morekeywords={%
+ %
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments)
+ % & optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after “:”
+ % in expl3 syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly
+ % derived packages)
+ morekeywords=[6]{%
+ a0poster,aalok,aastex631,abntex2,achemso,acmart,acmconf,
+ active-conf,adfathesis,afparticle,afthesis,aguplus,aiaa-tc,
+ akklecture,akkscript,akktecdoc,akletter,myletter,ametsoc,
+ amsart,amsbook,amsdtx,amsldoc,amsproc,aomart,apa,apa6,
+ apa6e,apa7,arabart,arabbook,arabrep,arabrep1,articleingud,
+ asaetr,ascelike,asmeconf,asmejour,assignment,aucklandthesis,
+ bangorcsthesis,bangorexam,barticle,bbook,bletter,
+ bankstatement,article,book,letter,ltnews,ltxdoc,ltxguide,
+ minimal,proc,report,slides,source2edoc,basque-book,beamer,
+ beamerswitch,beaulivre,beilstein,argetabelle,bewerbung,
+ bgteubner,BHCexam,bitart,bitbook,bjfuthesis,BMSTU-IU8,
+ bookcover,bookest,bookshelf,br-lex,brandeis-dissertation,
+ brandeis-problemset,brandeis-thesis,buctcover,buctthesis,
+ bxjsarticle,bxjsbook,bxjsreport,bxjsslide,cascadilla,cd,
+ cd-cover,articoletteracdp,letteracdp,cesenaexam,cheatsheet,
+ chemmacros-manual,chletter,cje,cnbwp,cnltx-doc,codedoc,
+ colorart,colorbook,combine,cc,ConcProg,confproc,contracard,
+ courseoutline,coursepaper,cquthesis,csbulletin,csbulobalka,
+ csbulv1,ctexart,ctexbeamer,ctexbook,ctexrep,ctxdoc,curve,
+ cv4tw,cweb,idcc,ijdc-v14,ijdc-v9,dinbrief,disser,gost732,
+ dithesis,droit-fr,dtk,dvdcoll,easybook,ebsthesis,agecon,
+ ajae,apecon,ecca,erae,itaxpf,jrurstud,njf,oegatb,pocoec,
+ regstud,worlddev,ecv,einfart,ejpecp,elbioimp,elegantbook,
+ elegantnote,elegantpaper,elpres,cas-dc,cas-sc,elsarticle,
+ elteikthesis,emisa,emulateapj,erdc,eskd,eskdgraph,eskdtab,
+ eskdtext,estcpmm,europasscv,europecv,exam,exam-n,examdesign,
+ exesheet,extarticle,extbook,extletter,extproc,extreport,
+ facsimile,factura,fancyhandout,fancyslides,fbithesis,fcavtex,
+ fdudoc,fduthesis-en,fduthesis,fei,ffslides,fithesis,
+ fithesis2,fithesis3,fithesis4,flacards,flashcards,frletter,
+ g-brief,g-brief2,gaceta,gammas,gatech-thesis,gmdocc,
+ gradstudentresume,grant-afosr,grant-aro,grant-darpa,grant-doe,
+ grant-nih,grant-nrl,grant-nsf,grant-onr,grant,graphpaper,
+ gridslides,gsemthesis,guitartabs,gzt,gztarticle,h2020proposal,
+ hgbarticle,hgbreport,hgbthesis,harnon-cv,hausarbeit-jura,
+ hcart,hcletter,hcreport,hcslides,hecthese,hepthesis,hitec,
+ hithesis,hitreport,hitszthesis,hletter,hpsdiss,fsbispit,
+ huawei,hustthesis,icsv,IEEEconf,IEEEtran,ijmart,ijsra,
+ image-gallery,IMTEKda,inkpaper,invoice-class,iodhbwm,iscram,
+ isov2,isodoc,iwhdp,jacow,jlreq,jmlr,jmlrbook,jnuexam,jpsj2,
+ jura,jurabook,juraovw,juraurtl,kdgcoursetext,kdgmasterthesis,
+ kdpcover,kerntest,kluwer,knittingpattern,scrartcl,scrarticle,
+ scrbook,scrdoc,scrletter,scrlttr2,scrreport,scrreprt,komacv,
+ oblivoir-utf,oblivoir-xl,oblivoir,xoblivoir,ksp-thesis,l3doc,
+ labbook,leadsheet,leaflet,lebhart,lectures,letgut,lettre,limap,
+ limecv,lion-msc,lni,lps,lt3graph-packagedoc,ltxdockit,
+ ltxguidex,abstbook,beletter,flashcard,iagproc,cours,fiche,
+ matapli,matc3mem,mcmthesis,ltxmdf,medstarbeamer,meetingmins,
+ memoir,mensa-tex,mentis,metanorma,milog,minimart,minimbook,
+ mla,mluexercise,mnras,moderncv,modernposter,msu-thesis,
+ mucproc,mugsthesis,muling,musuos,muthesis,third-rep,mwart,
+ mwbk,mwrep,mycv,nature,ncc,nccproc,sibjnm,nddiss2e,
+ ndsu-thesis,newlfm,nih,nihbiosketch,njurepo,nlctdoc,nostarch,
+ nrc1,nrc2,artikel1,artikel2,artikel3,boek,boek3,brief,
+ rapport1,rapport3,nwejm,nwejmart,octavo,onrannual,
+ oup-authoring-template,journal,paper,papertex,pbsheet,pecha,
+ petiteannonce,philosophersimprint,pittetd,pkuthss,plari,play,
+ postcards,powerdot,FUpowerdot,ppr-prv,pracjourn,pressrelease,
+ proposal,reporting,dfgproposal,dfgreporting,euproposal,
+ eureporting,prosper,protocol,prtec,upmgr,wkmgr,pst-doc,
+ ptptex,qcm,quantumarticle,qyxf-book,ReadableCV,recipe,
+ RecipeBook,recipecard,refart,refrep,resphilosophica,revtex4-2,
+ revtex4,revtex4-1,rtklage,ryersonSGSThesis,ryethesis,sageep,
+ sapthesis,schuleab,schulein,schuleit,schulekl,schuleub,
+ schuleue,schullsg,schullzk,schulma-ab,schulma-gutachten,
+ schulma-klausur,schulma-komp,schulma-mdlprf,schulma-praes,
+ schwalbe,sciposter,screenplay,scrjrnl,sdapsclassic,sduthesis,
+ seminar,semproc,sesamanuel,seuthesix,sffms,cassete,etiketka,
+ shtthesis,caesar_book,sides,simplecv,simplivre,skbarticle,
+ skbbeamer,skbbook,skblncsbeamer,skblncsppt,skbmoderncv,skdoc,
+ skeyval-testclass,skrapport,smfart,smfbook,SPhdThesis,spie,
+ sr-vorl,sslides,stage,standalone,usthesis,hwexam,mikoslides,
+ omdoc,smglom,subfiles,suftesi,sugconf,tabriz-thesis,talk,
+ tcldoc,tclldoc,powersem,thesis-ekf,thesis-gwu,thuthesis,
+ tikz-kalender,tikzposter,tlc-article,TOPletter,toptesi,
+ tudabeamer,tudaexercise,tudaleaflet,tudaletter,tudaposter,
+ tudapub,tudasciposter,tudscrartcl,tudscrbook,tudscrdoc,
+ tudscrmanual,tudscrposter,tudscrreprt,tufte-book,tufte-handout,
+ ltugboat,ltugproc,tui,turabian,turabian-researchpaper,
+ turabian-thesis,my-thesis,ua-thesis,uafthesis,
+ uantwerpenbamathesis,uantwerpencoursetext,uantwerpenexam,
+ uantwerpenletter,uantwerpenphdthesis,uantwerpenreport,
+ ucalgmthesis,ucbthesis,ucdavisthesis,ucsmonograph,ucthesis,
+ udesoftec,uebungsblatt,uestcthesis,uhhassignment,uiucredborder,
+ uiucthesis,ulthese,legislation,umich-thesis,umthesis,
+ unam-thesis,unifith,unitn-bimrep,univie-ling-expose,
+ univie-ling-paper,univie-ling-thesis,univie-ling-wlg,
+ unizgklasa,uothesis,UoWthesis,upmethodology-document,URbeamer,
+ URletter,uspatent,ut-thesis,utexasthesis,uwmslide,uwthesis,
+ verifica,webquiz,willowtreebook,withargs-packagedoc,
+ wsemclassic,xduthesis,xebaposter,xmuthesis,xsim-manual,
+ yaletter,yathesis,ycbook,ydoc,york-thesis,
+ },%
+ % otherkeywords={},%
+ alsoletter={0123456789-},%
+ % alsodigit={},%
+ sensitive%
+ }[keywords,tex,comments]%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx b/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
index 4d1a824a020..c679dbbcb4e 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.cbx}[2022-03-22 v0.9.1 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2022-06-18 v0.9.2 letgut base citation style]
\RequireCitationStyle{numeric}
\DeclareFieldFormat[bookreview]{title}{\textbf{\emph{#1}}}
\renewbibmacro*{title}{%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.cls b/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
index 74150f6d0cc..27787fb1186 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
@@ -44,11 +44,10 @@
}
\ExplSyntaxOff
\ProvidesExplClass{letgut}
-{2022-03-22}
-{0.9.1}
+{2022-03-17}
+{0.9}
{
- Class~ for~ the~ newsletter~
- “\c__letgut_La_lettre_gutenberg_tl”
+ Class for the newsletter “The GUTenberg Letter”
}
\prop_gput:Nnn \g_msg_module_type_prop { letgut } { Class }
\msg_new:nnn{letgut}{Wrong~engine}{
@@ -102,6 +101,7 @@
\bool_new:N \g__letgut_title_empty_bool
\bool_new:N \g__letgut_paper_bool
\bool_new:N \l__letgut_in_footnote_bool
+\bool_new:N \g__letgut_draft_bool
\dim_const:Nn \c__letgut_textheight_dim { 25cm }
\dim_const:Nn \c__letgut_textwidth_dim { 14cm }
\dim_const:Nn \c__letgut_lmargin_dim { 5cm }
@@ -220,11 +220,27 @@
\str_const:Nn \c__letgut_callout_label_ltx_example_str {
__letgut_callout_label_ltx_example
}
+\tl_const:Nn \c__letgut_online_issn_tl {
+ 2742-6149~ (version~ numérique)
+}
+\tl_const:Nn \c__letgut_paper_issn_tl {
+ 1257–2217~ (version~ papier)
+}
\tl_const:Nn \c__letgut_cahier_tl { \emph{ Cahier } }
\tl_const:Nn \c__letgut_cahiers_tl {
\c__letgut_cahier_tl \emph{ s }
}
+\tl_const:Nn \c__letgut_gnu_linux_tl { \software{GNU/Linux} }
+\tl_const:Nn \c__letgut_macOS_tl { \software{macOS} }
+\tl_const:Nn \c__letgut_windows_tl { \software{Windows} }
+\tl_const:Nn \c__letgut_package_tl { package }
+\tl_const:Nn \c__letgut_class_tl { classe }
+\tl_const:Nn \c__letgut_file_tl { fichier }
+\tl_const:Nn \c__letgut_software_tl { logiciel }
\tl_const:Nn \c__letgut_tugboat_tl { \emph{ TUGboat } }
+\tl_const:Nn \c__letgut_tex_live_tl {
+ \hologo{ TeX }\nobreakspace Live
+}
\tl_const:Nn \c__letgut_banner_file_tl { bandeau }
\tl_const:Nn \c__letgut_editorial_file_tl { editorial }
\tl_const:Nn \c__letgut_informations_gutenberg_file_tl {
@@ -232,6 +248,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_lstlanguage_file_tl { letgut-lstlang.sty }
\tl_const:Nn \c__letgut_contents_name_tl { Sommaire }
\tl_const:Nn \c__letgut_draftwatermark_text_tl {
\textnormal{Brouillon}
@@ -247,7 +264,7 @@
Si~ vous~ avez~ oublié,~ ce~ n'est~ ni~ trop~ tard~
ni~ difficile~ :
\par
- \url{http://gutenberg.eu.org/?Adherer-en-ligne}
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
\bool_if:NT \g__letgut_informations_bool {
\file_if_exist:nT
{./\c__letgut_informations_gutenberg_file_tl}{
@@ -265,7 +282,8 @@
Ne~ pas~ omettre~ les~ informations~ sur~
\c__letgut_gutenberg_tl{}~ !\\(dans~ un~
\file*{\c__letgut_informations_gutenberg_file_tl.tex}~
- situé~ dans~ le~ dossier~ courant)
+ situé~ soit~ dans~ le~ dossier~ courant, soit~ dans~ le~
+ dossier~ parent)
}
\tl_const:Nn \c__letgut_default_alert_box_color_tl {
gray9
@@ -288,14 +306,96 @@
{1, 1, 1}
\seq_new:N \l__letgut_first_last_names_items_seq
\RequirePackage{l3keys2e}
-\keys_define:nn { letgut }
+\int_new:N \g__letgut_date_month_int
+\int_new:N \g__letgut_date_year_int
+
+\int_gset:Nn \g__letgut_date_month_int {\the\month}
+\int_gset:Nn \g__letgut_date_year_int {\the\year}
+
+\tl_new:N \g__letgut_date_month_tl
+\tl_new:N \g__letgut_date_tl
+
+\cs_new_protected:Npn \__letgut_date_parse:n #1
{
- , for-readers .bool_gset:N = \g__letgut_for_readers_bool
- , for-readers .initial:n = { true }
- , for-readers .default:n = { true }
- , for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
+ \__letgut_if_is_iso_date:nTF {#1}
+ {
+ \__letgut_date_parse:www #1 \q_stop
+ }{
+ \msg_term:nnn{letgut}{Not~month~iso~date}{#1}
+ \tl_gset:Nn \g__letgut_date_tl { #1 }
+ }
+}
+
+\prg_new_protected_conditional:Npnn
+\__letgut_if_is_iso_date:n #1 { T, F, TF }
+{
+ \regex_match:nnTF { ^\d{4}-(\d{1,2}) } {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+}
+
+\prg_new_protected_conditional:Npnn
+\__letgut_if_is_int:n #1 { T, F, TF }
+{
+ \regex_match:nnTF { ^[\+\-]?[\d]+$ } {#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
+}
+
+\cs_new_protected:Npn \__letgut_month_name:n #1
+{
+ % \text_titlecase_first:n {
+ \int_case:nnF
+ { #1 }
+ {
+ { 1 }{ janvier }
+ { 2 }{ février }
+ { 3 }{ mars }
+ { 4 }{ avril }
+ { 5 }{ mai }
+ { 6 }{ juin }
+ { 7 }{ juillet }
+ { 8 }{ août }
+ { 9 }{ septembre }
+ { 10 }{ octobre }
+ { 11 }{ novembre }
+ { 12 }{ décembre }
+ }
+ { Month~ Error! }
+ % }
+}
+
+\cs_new_protected:Npn \__letgut_date_parse:www #1-#2
+\q_stop
+{
+ \int_compare:nTF
+ {
+ \the\year <= #1 <= \the\year+1
+}{
+ \int_gset:Nn \g__letgut_date_year_int {#1}
+}{
+ \int_gset:Nn \g__letgut_date_year_int {\the\year}
+}
+\__letgut_if_is_int:nTF {#2}
+{
+ \int_compare:nTF
+ {
+ 1 <= #2 <= 12
+}
+ {\int_gset:Nn \g__letgut_date_month_int {#2}}
+ {\int_gset:Nn \g__letgut_date_month_int {\the\month}}
+ }{
+ \int_gset:Nn \g__letgut_date_month_int {\the\month}
+ }
+ \tl_gset:Nn \g__letgut_date_month_tl {
+ \__letgut_month_name:n { \g__letgut_date_month_int }
+ }
+ \tl_gset:Nn \g__letgut_date_tl {
+ \tl_use:N \g__letgut_date_month_tl
+ \c_space_tl
+ \int_use:N \g__letgut_date_year_int
+ }
}
-\ProcessKeysOptions { letgut }
\LoadClass[twoside,11pt]{article}
\RequirePackage{fontspec}
\RequirePackage[
@@ -307,6 +407,7 @@
\RequirePackage{fancyhdr}
\RequirePackage[a4paper]{geometry}
\RequirePackage{graphicx}
+\RequirePackage{biolinum}
\RequirePackage{array}
\RequirePackage{etoc}
\RequirePackage{enumitem}
@@ -343,7 +444,7 @@
}
\sisetup{
, locale=FR
- , mode=text
+ , mode=match
}
\DeclareMarginSet{hangleft}{
\setfloatmargins{\hskip-\c__letgut_hoffset_dim}{\hfil}
@@ -370,190 +471,6 @@
}
\floatsetup[table]{capposition=top}
\renewcommand*\frenchtablename{Tableau}
-\lstdefinelanguage[classes]{TeX}[LaTeX]{TeX}{%
- % Control sequences
- moretexcs={%
- 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,Huge,
- indexname,indexspace,interlinepenalty,intextsep,it,jot,
- labelenumi,labelenumii,labelenumiii,labelenumiv,labelitemfont,
- labelitemi,labelitemii,labelitemiii,labelitemiv,labelsep,
- labelwidth,large,Large,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,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,description,figure,quotation,quote,table,
- thebibliography,theindex,titlepage,verse%
- },%
- % 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]%
-\lstdefinestyle{__letgut_all_reset}{
- basicstyle=\ttfamily,
- language=TeX,%
- texcs={},%
- keywords={},%
- keywords=[2]{},%
- keywords=[3]{},%
- keywords=[4]{},%
- keywords=[5]{},%
- otherkeywords={},%
- alsoletter={},%
- alsodigit={},%
- alsolanguage=[AlLaTeX]TeX,%
- alsolanguage=[LaTeX]TeX,%
- alsolanguage=[plain]TeX,%
- alsolanguage=[common]TeX,%
- alsolanguage=[primitive]TeX,%
- alsolanguage=[classes]TeX,%
-belowskip=0pt,
-}
-\lstset{
- style=__letgut_all_reset
-}
-\AddToHook{cmd/input/before}{
- \lstset{%
- style=__letgut_all_reset,%
- }
-}
\NewCommandCopy{\__letgut_old_printbibliography}{
\printbibliography
}
@@ -585,15 +502,23 @@ belowskip=0pt,
}
\AddToHook{begindocument/before}{
\bool_if:NTF \g__letgut_paper_bool {
- \hypersetup{draft}
+ \hypersetup{hidelinks}
}{
\hypersetup{%
colorlinks,%
allcolors={letgut_allcolors_links},%
}%
}
-\file_if_exist:nT {\c__letgut_acronyms_file_tl}{
- \file_input:n {\c__letgut_acronyms_file_tl}
+\file_if_exist:nTF {./\c__letgut_acronyms_file_tl}{
+ \file_input:n {./\c__letgut_acronyms_file_tl}
+}{
+ \file_if_exist:nTF {../\c__letgut_acronyms_file_tl}{
+ \file_input:n {../\c__letgut_acronyms_file_tl}
+ }{
+ \file_if_exist:nT {\c__letgut_acronyms_file_tl}{
+ \file_input:n {\c__letgut_acronyms_file_tl}
+ }
+ }
}
% % \bool_if:NF \g__letgut_paper_bool {
\bool_if:NT \g__letgut_draft_bool {
@@ -633,108 +558,19 @@ belowskip=0pt,
}
% % }
}
-\int_new:N \g__letgut_date_month_int
-\int_new:N \g__letgut_date_year_int
-
-\int_gset:Nn \g__letgut_date_month_int {\the\month}
-\int_gset:Nn \g__letgut_date_year_int {\the\year}
-
-\tl_new:N \g__letgut_date_month_tl
-\tl_new:N \g__letgut_date_tl
-
-\cs_new_protected:Npn \__letgut_date_parse:n #1
-{
- \__letgut_if_is_iso_date:nTF {#1}
- {
- \__letgut_date_parse:www #1 \q_stop
- }{
- \msg_term:nnn{letgut}{Not~month~iso~date}{#1}
- \tl_gset:Nn \g__letgut_date_tl { #1 }
- }
-}
-
-\prg_new_protected_conditional:Npnn
-\__letgut_if_is_iso_date:n #1 { T, F, TF }
-{
- \regex_match:nnTF { ^\d{4}-(\d{1,2}) } {#1}
- { \prg_return_true: }
- { \prg_return_false: }
-}
-
-\prg_new_protected_conditional:Npnn
-\__letgut_if_is_int:n #1 { T, F, TF }
-{
- \regex_match:nnTF { ^[\+\-]?[\d]+$ } {#1}
- { \prg_return_true: }
- { \prg_return_false: }
-}
-
-\cs_new_protected:Npn \__letgut_month_name:n #1
-{
- % \text_titlecase_first:n {
- \int_case:nnF
- { #1 }
- {
- { 1 }{ janvier }
- { 2 }{ février }
- { 3 }{ mars }
- { 4 }{ avril }
- { 5 }{ mai }
- { 6 }{ juin }
- { 7 }{ juillet }
- { 8 }{ août }
- { 9 }{ septembre }
- { 10 }{ octobre }
- { 11 }{ novembre }
- { 12 }{ décembre }
- }
- { Month~ Error! }
- % }
-}
-
-\cs_new_protected:Npn \__letgut_date_parse:www #1-#2
-\q_stop
-{
- \int_compare:nTF
- {
- \the\year <= #1 <= \the\year+1
-}{
- \int_gset:Nn \g__letgut_date_year_int {#1}
-}{
- \int_gset:Nn \g__letgut_date_year_int {\the\year}
-}
-\__letgut_if_is_int:nTF {#2}
-{
- \int_compare:nTF
- {
- 1 <= #2 <= 12
-}
- {\int_gset:Nn \g__letgut_date_month_int {#2}}
- {\int_gset:Nn \g__letgut_date_month_int {\the\month}}
- }{
- \int_gset:Nn \g__letgut_date_month_int {\the\month}
- }
- \tl_gset:Nn \g__letgut_date_month_tl {
- \__letgut_month_name:n { \g__letgut_date_month_int }
- }
- \tl_gset:Nn \g__letgut_date_tl {
- \tl_use:N \g__letgut_date_month_tl
- \c_space_tl
- \int_use:N \g__letgut_date_year_int
- }
-}
\pagecolor[rgb]{\c__letgut_default_pagecolor_screen_clist}
\clist_set_eq:NN \g__letgut_pagecolor_clist
\c__letgut_default_pagecolor_screen_clist
-\keys_define:nn { letgut/setup }
+\keys_define:nn { letgut }
{
+ , for-readers .bool_gset:N = \g__letgut_for_readers_bool
+ , for-readers .initial:n = { true }
+ , for-readers .default:n = { true }
+ , for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
, draft .bool_gset:N = \g__letgut_draft_bool
, draft .initial:n = { true }
, draft .default:n = { true }
, final .bool_gset_inverse:N = \g__letgut_draft_bool
- , number .int_gset:N = \g__letgut_number_int
- , date .code:n = { \__letgut_date_parse:n { #1 } }
- , date .initial:x = {\the\year-\the\month}
, paper .code:n = {
\bool_gset_true:N \g__letgut_paper_bool
\pagecolor[rgb]{\c__letgut_default_pagecolor_paper_clist}
@@ -742,6 +578,9 @@ belowskip=0pt,
\c__letgut_default_pagecolor_paper_clist
}
, screen .bool_gset_inverse:N = \g__letgut_paper_bool
+ , number .int_gset:N = \g__letgut_number_int
+ , date .code:n = { \__letgut_date_parse:n { #1 } }
+ , date .initial:x = {\the\year-\the\month}
, pagecolor .initial:V
= \c__letgut_default_pagecolor_screen_clist
, pagecolor .code:n = {
@@ -769,7 +608,11 @@ belowskip=0pt,
, 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 }
}
+\ProcessKeysOptions { letgut }
+\definecolor{letgut_pagecolor}{rgb}{\g__letgut_pagecolor_clist}
\renewcommand{\headruleskip}{
\c__letgut_head_rule_skip_dim
}
@@ -782,11 +625,38 @@ belowskip=0pt,
\fancyheadoffset[L]{\c__letgut_hoffset_dim}
\pagestyle{fancy}
\reversemarginpar
-\etocsetnexttocdepth{0}
\etocsetstyle {section}
{}
-{\leavevmode\leftskip 2cm\relax}
-{\normalsize%
+{\leavevmode\leftskip 2.5cm\relax}
+{\mdseries\small%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {subsection}
+{}
+{\leavevmode\leftskip 3cm\relax}
+{\mdseries\footnotesize%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {subsubsection}
+{}
+{\leavevmode\leftskip 3.5cm\relax}
+{\mdseries\scriptsize%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {paragraph}
+{}
+{\leavevmode\leftskip 4cm\relax}
+{\mdseries\tiny%
+ \etocname~\dotfill~\etocpage\par
+}
+{}
+\etocsetstyle {subparagraph}
+{}
+{\leavevmode\leftskip 4.5cm\relax}
+{\mdseries\tiny%
\etocname~\dotfill~\etocpage\par
}
{}
@@ -845,7 +715,8 @@ belowskip=0pt,
,~\g__letgut_title_tl
}
}
-\bool_if:NT \g__letgut_for_readers_bool {
+\AddToHook{begindocument/before}{
+ \bool_if:NT \g__letgut_for_readers_bool {
\file_if_exist:nTF {\c__letgut_banner_file_tl.pdf}{
\AddToHookNext{shipout/background}
{
@@ -946,12 +817,18 @@ belowskip=0pt,
\vskip 1.5em
}
\thispagestyle{empty}
+\bool_if:NTF \g__letgut_detailedtoc_bool {
+ \etocsetnexttocdepth{5}
+}{
+ \etocsetnexttocdepth{0}
+}
\pdfbookmark[1]{
\c__letgut_contents_name_tl
}{
\c__letgut_contents_name_tl
}
\tableofcontents
+\etocsetnexttocdepth{1}
\bool_if:NTF \g__letgut_title_empty_bool {
\vspace*{1.5cm}
}{
@@ -965,7 +842,7 @@ belowskip=0pt,
\pdfbookmark[1]{Éditorial}{
\c__letgut_editorial_file_tl
}
- \file_input:n {./\c__letgut_editorial_file_tl}
+ \__letgut_input_article:n {./\c__letgut_editorial_file_tl}
% % \int_set:N \l_tmpa_int {\pagenumber}
% % \int_compare:nNnT \l_tmpa_int = 1 { \newpage }
% \if\count{\pagenumber}>1
@@ -1006,16 +883,30 @@ belowskip=0pt,
\bool_if:NT \g__letgut_informations_bool {
\clearpage
\phantomsection
- \file_if_exist:nTF
- {./\c__letgut_informations_gutenberg_file_tl}{
- \file_input:n {./\c__letgut_informations_gutenberg_file_tl}
+ \file_if_exist:nTF {./\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ ./\c__letgut_informations_gutenberg_file_tl
+ }
}{
- \msg_warning:nn{letgut}{Informations~file~missing}
- \alertbox{ \c__letgut_missing_infomations_tl }
+ \file_if_exist:nTF {../\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ ../\c__letgut_informations_gutenberg_file_tl
+ }
+ }{
+ \file_if_exist:nTF {\c__letgut_informations_gutenberg_file_tl}{
+ \__letgut_input_article:n {
+ \c__letgut_informations_gutenberg_file_tl
+ }
+ }{
+ \msg_warning:nn{letgut}{Informations~file~missing}
+ \alertbox{ \c__letgut_missing_infomations_tl }
+ }
+ }
}
}
}
}
+}
\setcounter{secnumdepth}{-10}
\AddToHook{begindocument/before}{%
\titleclass{\title}{straight}[\part]
@@ -1034,11 +925,18 @@ belowskip=0pt,
{
\leavevmode\leftskip 2cm\relax
}
- {\mdseries\normalsize
+ {
+ \bool_if:NTF \g__letgut_detailedtoc_bool {
+ \bfseries
+ }{
+ \mdseries
+ }
+ \normalsize
\etocname
\nobreak\leaders\hbox~ to~ 1ex{\hss.}\hfill
\etocpage
- \par}
+ \par
+ }
{}
\titleclass{\subtitle}{straight}[\title]
\titleformat{\subtitle}{
@@ -1114,7 +1012,7 @@ belowskip=0pt,
{\c__letgut_before_subparagraph_title_skip}
{\c__letgut_after_subparagraph_title_skip}
\NewDocumentCommand \letgutsetup { m } {
- \keys_set:nn { letgut/setup } { #1 }
+ \keys_set:nn { letgut } { #1 }
}
\cs_new_protected:Nn \__letgut_ctan_news_item:n {
\package{#1}~:
@@ -1176,7 +1074,8 @@ belowskip=0pt,
}
\cs_new_protected:Nn \__letgut_person_last_name:n
{
- {\scshape \__letgut_titlecase_name:n {#1}}
+ {% \scshape
+ \__letgut_titlecase_name:n {#1}}
}
\cs_new_protected:Nn \__letgut_person_first_name_last_name:nn
{
@@ -1195,7 +1094,7 @@ belowskip=0pt,
\cs_new_protected:Npn \__letgut_process_list:n #1
{
\seq_clear:N \l__letgut_items_seq
- \seq_set_split:Nnn \l_tmpa_seq {and} {#1}
+ \seq_set_split:Nnn \l_tmpa_seq {~and~} {#1}
\seq_map_inline:Nn \l_tmpa_seq {
\seq_set_from_clist:Nn \l_tmpb_seq {##1}
\seq_pop_left:NN \l_tmpb_seq \l_letgut_last_name_tl
@@ -1277,28 +1176,28 @@ belowskip=0pt,
{
{\l__letgut_files_font_switch_tl #1}
}
-\NewDocumentCommand{\package}{ s o m O{package} } {
+\NewDocumentCommand{\package}{ s o m O{\c__letgut_package_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
}
\__letgut_tex_stuff:nn {#2}{#3}
}
-\NewDocumentCommand{\class}{ s o m O{classe} } {
+\NewDocumentCommand{\class}{ s o m O{\c__letgut_class_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
}
\__letgut_tex_stuff:nn {#2}{#3}
}
-\NewDocumentCommand{\file}{ s m O{fichier} } {
+\NewDocumentCommand{\file}{ s m O{\c__letgut_file_tl} } {
\IfBooleanT{#1}{
#3
\c_space_tl
}
\__letgut_file:n {#2}
}
-\NewDocumentCommand {\software} { s O{} m O{logiciel} } {
+\NewDocumentCommand {\software} { s O{} m O{\c__letgut_software_tl} } {
\IfBooleanT{#1}{
#4
\c_space_tl
@@ -1323,6 +1222,18 @@ belowskip=0pt,
\NewExpandableDocumentCommand { \Cahiers } { } {
\c__letgut_cahiers_tl
}
+ \NewExpandableDocumentCommand { \cahier } { } {
+ \c__letgut_cahier_tl
+ }
+ \NewExpandableDocumentCommand { \cahiers } { } {
+ \c__letgut_cahiers_tl
+ }
+ \NewExpandableDocumentCommand { \cahiergut } { } {
+ \cahier \c_space_tl \gutenberg
+ }
+ \NewExpandableDocumentCommand { \cahiersgut } { } {
+ \cahiers \c_space_tl \gutenberg
+ }
\NewExpandableDocumentCommand { \letgut } { } {
\class{letgut}
}
@@ -1333,10 +1244,22 @@ belowskip=0pt,
\c__letgut_tugboat_tl
}
\NewExpandableDocumentCommand { \knuth } { } {
- \person{Knuth, Donald~ E.}
+ \person{Knuth,~ Donald~ E.}
}
\NewExpandableDocumentCommand { \lamport } { } {
- \person{Lamport, Leslie}
+ \person{Lamport,~ Leslie}
+ }
+ \NewExpandableDocumentCommand { \tl } { } {
+ \c__letgut_tex_live_tl
+ }
+ \NewExpandableDocumentCommand { \linux } { } {
+ \c__letgut_gnu_linux_tl
+ }
+ \NewExpandableDocumentCommand { \macos } { } {
+ \c__letgut_macOS_tl
+ }
+ \NewExpandableDocumentCommand { \windows } { } {
+ \c__letgut_windows_tl
}
\cs_new_protected:Npn \__letgut_emphasis:n #1
{
@@ -1350,28 +1273,45 @@ belowskip=0pt,
}
\AddToHook{begindocument/end}{
\pdfstringdefDisableCommands{
- \def\person#1{#1}
- \def\author#1{#1}
- \def\package#1{#1}
- % \def\package*#1{package~#1}
- \def\class#1{#1}
- % \def\class*#1{classe~#1}
- \def\file#1{#1}
- % \def\file*#1{fichier~#1}
- \def\software#1{#1}
- % \def\software*#1{logiciel~#1}
- \def\foreignloc#1{#1}
- \def\lettre{Lettre}
- \def\gutenberg{GUTenberg}
- \def\gut{\gutenberg}
- \def\lettregut{\lettre\c_space_tl\gutenberg}
- \def\Cahier{Cahier}
- \def\Cahiers{\Cahier s}
- \def\letgut{letgut}
- \def\letgutcls{classe~ letgut}
- \def\knuth{Donald~ E.~ Knuth}
- \def\lamport{Leslie~ Lamport}
- \def\latinloc#1{#1}
+ \RenewExpandableDocumentCommand\person { m }{#1}
+ \RenewExpandableDocumentCommand\author{ m }{#1}
+ \RenewExpandableDocumentCommand \package { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_package_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\class { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_class_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\file { s m }{
+ \IfBooleanT{#1}{\c__letgut_file_tl\c_space_tl}#2
+ }
+ \RenewExpandableDocumentCommand\software { s O{} m }{
+ \IfBooleanT{#1}{\c__letgut_software_tl\c_space_tl}#3
+ }
+ \RenewExpandableDocumentCommand\foreignloc{ m }{#1}
+ \RenewExpandableDocumentCommand\latinloc{ m }{#1}
+ \RenewExpandableDocumentCommand\lettre{ }{Lettre}
+ \RenewExpandableDocumentCommand\gutenberg{ }{GUTenberg}
+ \RenewExpandableDocumentCommand\gut{ }{\gutenberg}
+ \RenewExpandableDocumentCommand\lettregut{ }{
+ \lettre\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\Cahier{ }{Cahier}
+ \RenewExpandableDocumentCommand\Cahiers{ }{\Cahier s}
+ \RenewExpandableDocumentCommand\cahier{ }{Cahier}
+ \RenewExpandableDocumentCommand\cahiers{ }{\cahier s}
+ \RenewExpandableDocumentCommand\cahiergut{ }{
+ \cahier\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\cahiersgut{ }{
+ \cahier s\c_space_tl\gutenberg
+ }
+ \RenewExpandableDocumentCommand\letgut{ }{letgut}
+ \RenewExpandableDocumentCommand\letgutcls{ }{classe~ letgut}
+ \RenewExpandableDocumentCommand\knuth{ }{Donald~ E.~ Knuth}
+ \RenewExpandableDocumentCommand\lamport{ }{Leslie~ Lamport}
+ \RenewExpandableDocumentCommand\linux{ }{GNU/Linux}
+ \RenewExpandableDocumentCommand\macos{ }{macOS}
+ \RenewExpandableDocumentCommand\windows{ }{Windows}
}
}
\cs_new_protected:Nn \__letgut_acronym:nnnn
@@ -1429,11 +1369,19 @@ belowskip=0pt,
}
}
}
+\let\__letgut_next_token\relax
+\cs_new_protected:Npn \__letgut_next_token_is_footnote:
+{\if_meaning:w\footnote\__letgut_next_token\textsuperscript{,}\fi}
\NewCommandCopy{\__letgut_old_footnote}{\footnote}
-\RenewDocumentCommand {\footnote} { m }{
+\RenewDocumentCommand {\footnote} { O{} m }{
\bool_set_true:N \l__letgut_in_footnote_bool
- \__letgut_old_footnote { #1 }
+ \tl_if_empty:nTF {#1}{
+ \__letgut_old_footnote { #2 }
+ }{
+ \__letgut_old_footnote [#1] { #2 }
+ }
\bool_set_false:N \l__letgut_in_footnote_bool
+ \futurelet\__letgut_next_token\__letgut_next_token_is_footnote:
}
\DeclareAcroProperty{extra-foreign}
\DeclareAcroProperty{extra-long}
@@ -1446,7 +1394,7 @@ belowskip=0pt,
\space
(
\acroifT {alt} { \acrotranslate {or} ~ \acrowrite {alt} ~ }
- \acroifT {foreign} { \acrowrite {foreign} :~ }
+ \acroifT {foreign} { \acrowrite {foreign} }
\acrowrite {long}
\acrogroupcite
)
@@ -1610,13 +1558,65 @@ title .value_required:n = true,
\noindent
\textsf{\fullcite{\g__letgut_bookreview_bibkey_tl}}
\tl_if_empty:NF \g__letgut_bookreview_price_tl{
- .\c_space_tl\EUR{\g__letgut_bookreview_price_tl}
+ .\c_space_tl\g__letgut_bookreview_price_tl\c_space_tl €
}
\par
}{
\exp_args:NV \author{\g__letgut_bookreview_reviewer_tl}
}
+\DeclareRobustCommand*\LKey[1]{%
+\ifx#10\biolinumKeyGlyph{zero}% % spurious space removed 2016/06/24
+\else\ifx#11\biolinumKeyGlyph{one}%
+\else\ifx#12\biolinumKeyGlyph{two}%
+\else\ifx#13\biolinumKeyGlyph{three}%
+\else\ifx#14\biolinumKeyGlyph{four}%
+\else\ifx#15\biolinumKeyGlyph{five}%
+\else\ifx#16\biolinumKeyGlyph{six}%
+\else\ifx#17\biolinumKeyGlyph{seven}%
+\else\ifx#18\biolinumKeyGlyph{eight}%
+\else\ifx#19\biolinumKeyGlyph{nine}%
+\else\ifx#1à\biolinumKeyGlyph{agrave}%
+\else\ifx#1À\biolinumKeyGlyph{Agrave}%
+\else\ifx#1â\biolinumKeyGlyph{acircumflex}%
+\else\ifx#1Â\biolinumKeyGlyph{Acircumflex}%
+\else\ifx#1é\biolinumKeyGlyph{eacute}%
+\else\ifx#1É\biolinumKeyGlyph{Eacute}%
+\else\ifx#1è\biolinumKeyGlyph{egrave}%
+\else\ifx#1È\biolinumKeyGlyph{Egrave}%
+\else\ifx#1ê\biolinumKeyGlyph{ecircumflex}%
+\else\ifx#1Ê\biolinumKeyGlyph{Ecircumflex}%
+\else\ifx#1ë\biolinumKeyGlyph{edieresis}%
+\else\ifx#1Ë\biolinumKeyGlyph{Edieresis}%
+\else\ifx#1î\biolinumKeyGlyph{icircumflex}%
+\else\ifx#1Î\biolinumKeyGlyph{Icircumflex}%
+\else\ifx#1ï\biolinumKeyGlyph{idieresis}%
+\else\ifx#1Ï\biolinumKeyGlyph{Idieresis}%
+\else\ifx#1ô\biolinumKeyGlyph{ocircumflex}%
+\else\ifx#1Ô\biolinumKeyGlyph{Ocircumflex}%
+\else\ifx#1ù\biolinumKeyGlyph{ugrave}%
+\else\ifx#1Ù\biolinumKeyGlyph{Ugrave}%
+\else\ifx#1û\biolinumKeyGlyph{ucircumflex}%
+\else\ifx#1Û\biolinumKeyGlyph{Ucircumflex}%
+\else\ifx#1ü\biolinumKeyGlyph{udieresis}%
+\else\ifx#1Ü\biolinumKeyGlyph{Udieresis}%
+\else\ifx#1ÿ\biolinumKeyGlyph{ydieresis}%
+\else\ifx#1Ÿ\biolinumKeyGlyph{Ydieresis}%
+\else\ifx#1ç\biolinumKeyGlyph{ccedilla}%
+\else\ifx#1Ç\biolinumKeyGlyph{Ccedilla}%
+\else\biolinumKeyGlyph{#1}%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\hyphenation{GUT-enberg}
+\cs_new_protected:Npn \__letgut_issn:
+{
+ \bool_if:NTF \g__letgut_paper_bool {
+ \c__letgut_paper_issn_tl
+ }{
+ \c__letgut_online_issn_tl
+ }
+}
+\NewDocumentCommand{\letgutissn}{ }{
+ \__letgut_issn:
+}
\cs_new_protected:Npn \__letgut_unselectable:n #1
{
\BeginAccSupp{ActualText={}}#1\EndAccSupp{}
@@ -1633,43 +1633,107 @@ title .value_required:n = true,
\textcolor{#1}{$\langle$#2$\rangle$}
\egroup
}
-\AddToHook{begindocument/before}{
- \ProvideDocumentCommand{\meta}{ O{__letgut_meta} m } {
+\AddToHook{begindocument/end}{
+ \DeclareDocumentCommand{\meta}{ O{__letgut_meta} m } {
\__letgut_meta:nn {#1}{#2}
}
}
-\definecolor{__letgut_backgroundCode}{cmyk}{0,0,0,0.04}
-\definecolor{__letgut_borderCode}{cmyk}{0,0,0,0.2}
-\definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
-\definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
-\definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
+\lstdefinestyle{__letgut_reset_listings_styles}{
+ basicstyle=\ttfamily,
+ breaklines,
+ language=TeX,%
+ texcs={},%
+ language={},%
+ keywords={},%
+ keywords=[2]{},%
+ keywords=[3]{},%
+ keywords=[4]{},%
+ keywords=[5]{},%
+ otherkeywords={},%
+ alsoletter={},%
+ alsodigit={},%
+ escapechar=£,
+ columns=fullflexible,
+ keepspaces=true,
+ upquote=true,
+ showstringspaces=false,
+numbersep=\c__letgut_number_sep_dim,
+numberstyle=\scriptsize\ttfamily
+\color{__letgut_foregroundLinenumber}
+\__letgut_unselectable:n,
+aboveskip={0\p@ \@plus 6\p@},
+ belowskip={0\p@ \@plus 6\p@},
+}
+\lstMakeShortInline[breaklines=false]⅛
+\lstset{ style=__letgut_reset_listings_styles }
+\cs_new_protected:Npn \__letgut_input_article:n #1
+{
+ \lstset{ style=__letgut_reset_listings_styles }
+ \acresetall%
+ \file_input:n{#1}%
+}
+\NewDocumentCommand{\inputarticle}{m}{
+ \__letgut_input_article:n { #1 }
+}
\colorlet{__letgut_texcs}{blue}
\colorlet{__letgut_comment}{gray}
-\colorlet{__letgut_argument-specification-separator}{red}
-\colorlet{__letgut_argument-specification}{cyan}
-\colorlet{__letgut_mandatory-argument}{purple}
+\colorlet{__letgut_argument_specification_separator}{red}
+\colorlet{__letgut_argument_specification}{cyan}
+\colorlet{__letgut_mandatory_argument}{purple}
\colorlet{__letgut_environment}{teal}
-\colorlet{__letgut_key}{__letgut_mandatory-argument}
+\colorlet{__letgut_key}{__letgut_mandatory_argument}
\colorlet{__letgut_value}{violet}
-\colorlet{__letgut_optional-argument}{__letgut_key}
+\colorlet{__letgut_optional_argument}{__letgut_key}
\colorlet{__letgut_math}{green!50!black}
-\lstset{%
+\def\lstlanguagefiles{
+ lstlang0.sty,
+ lstlang1.sty,
+ lstlang2.sty,
+ lstlang3.sty,
+ ./\c__letgut_lstlanguage_file_tl,
+ ../\c__letgut_lstlanguage_file_tl,
+ \c__letgut_lstlanguage_file_tl
+}
+\lstdefinestyle{__letgut_latex_listings_style}{
+ language=TeX,%
+ alsolanguage=[AlLaTeX]TeX,%
+ alsolanguage=[LaTeX]TeX,%
+ alsolanguage=[plain]TeX,%
+ alsolanguage=[common]TeX,%
+ alsolanguage=[primitive]TeX,%
+ alsolanguage=[extLaTeX]TeX,%
+ alsolanguage=[classes]TeX,%
texcsstyle=*\color{__letgut_texcs},
commentstyle=\color{__letgut_comment}\itshape,
- keywordstyle= \color{__letgut_argument-specification-separator},
+ keywordstyle= \color{__letgut_argument_specification_separator},
keywordstyle={[2]\color{__letgut_environment}},
keywordstyle={[3]\color{__letgut_key}},
keywordstyle={[4]\color{__letgut_value}},
- keywordstyle={[5]\color{__letgut_argument-specification}},
+ keywordstyle={[5]\color{__letgut_argument_specification}},
keywordstyle={[6]\color{__letgut_key}},
- escapechar=£,
- literate=*%
+ numbers=left,
+deletekeywords={%
+ array,center,displaymath,document,enumerate,eqnarray,%
+ equation,flushleft,flushright,itemize,list,lrbox,math,minipage,%
+ picture,sloppypar,tabbing,tabular,trivlist,verbatim,%
+},%
+literate=*%
{\\\\}{{{\color{__letgut_texcs}\textbackslash\textbackslash}}}{2}%
{\\[}{{\textcolor{__letgut_math}{\textbackslash[}}}{2}%
{\\]}{{\textcolor{__letgut_math}{\textbackslash]}}}{2}%
{$}{{\textcolor{__letgut_math}{\$}}}{1}%$
}
-\tcbuselibrary{listings,xparse,breakable,skins}
+\definecolor{__letgut_backgroundCode}{cmyk}{0,0,0,0.04}
+\definecolor{__letgut_borderCode}{cmyk}{0,0,0,0.2}
+\definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
+\definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
+\definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
+\tcbuselibrary{listings,xparse,breakable,skins,hooks}
+\tcbset{
+ breakable,
+ sharp~ corners,
+ fonttitle=\sffamily\bfseries,
+}
\cs_new_protected:Npn \__letgut_code_result_mention_box:nn #1 #2
{
\node[
@@ -1704,29 +1768,20 @@ title .value_required:n = true,
\tcbset{
__letgut_code/.style={
listing~ options={
- % style=tcblatex,
- numbers=left,
- numbersep=\c__letgut_number_sep_dim,
-numberstyle=
- \scriptsize
- \ttfamily
- \color{__letgut_foregroundLinenumber}
- \__letgut_unselectable:n,
-},
-every~ float=\raggedleft,
-colback=__letgut_backgroundCode,
-breakable,
-sharp~ corners,
-boxrule=0.25mm,
-colframe=__letgut_borderCode,
-sidebyside~ align=top~ seam,
-toprule~ at~ break=0mm,
-bottomrule~ at~ break=0mm,
-colbacktitle=__letgut_borderCode,
-fonttitle=\sffamily\bfseries,
-before~ title={
- \tl_set:Nn \l__letgut__tex_stuff_font_switch_tl {\rmfamily}
-},
+ style=__letgut_latex_listings_style,
+ },
+ every~ float=\raggedleft,
+ colback=__letgut_backgroundCode,
+ boxrule=0.25mm,
+ colframe=__letgut_borderCode,
+ sidebyside~ align=top~ seam,
+ toprule~ at~ break=0mm,
+ bottomrule~ at~ break=0mm,
+ colbacktitle=__letgut_borderCode,
+ fonttitle=\sffamily\bfseries,
+ before~ title={
+ \tl_set:Nn \l__letgut__tex_stuff_font_switch_tl {\rmfamily}
+ },
title~ addon/.store~ in=\l__letgut_title_addon_tl,
title=\__letgut_title_code_result_box:n {\l__letgut_title_addon_tl},
reference~ text/.code={
@@ -1855,8 +1910,254 @@ overlay={
\skip_set_eq:NN \intextsep \c__letgut_reduced_intextsep_skip
}
}
+\cs_new_protected:Npn \__letgut_tcbset:n #1
+{
+ \tcbset{
+ __letgut_code/.append~ style={
+ listing~ options~ app={
+ #1
+ }
+ }
+ }
+}
+\cs_new_protected:Npn \__letgut_alsolanguage_list:nn #1 #2
+{
+\lstset{%
+ style=__letgut_reset_listings_styles,%
+ }
+ \tl_if_empty:nTF {#1} {
+ \tl_set:Nx \l_tmpa_tl {
+ alsolanguage={#2}
+ }
+ \exp_args:NV \__letgut_tcbset:n
+ {
+ \l_tmpa_tl
+ }
+ }{
+ \seq_set_from_clist:Nn \l_tmpa_seq {#1}
+ \seq_set_map_x:NNn \l_tmpb_seq \l_tmpa_seq {
+ alsolanguage={[##1]#2}
+ }
+ \tl_set:Nx \l_tmpa_tl
+ {
+ \seq_use:Nn \l_tmpb_seq {,}
+ }
+ \exp_args:NV \__letgut_tcbset:n
+ {
+ \l_tmpa_tl
+ }
+ }
+}
+\NewDocumentCommand{\syntaxhl}{ O{TeX} m}{%
+ \__letgut_alsolanguage_list:nn {#2} {#1}
+}
+\AddToHook{begindocument/before}{
+\definecolor{__letgut_terminal_prompt}{RGB}{204,0,0}
+\colorlet{__letgut_terminal_comment}{gray!80}
+\definecolor{__letgut_terminal_commands}{RGB}{241,124,81}
+\definecolor{__letgut_terminal_keywords}{RGB}{173,127,168}
+\definecolor{__letgut_terminal_variables}{RGB}{114,159,207}
+\colorlet{__letgut_terminal_utilities}{__letgut_terminal_commands}
+\definecolor{__letgut_terminal_strings}{RGB}{78,154,6}
+\lstdefinestyle{__letgut_terminal_listings_style}{
+ commentstyle= \color{__letgut_terminal_comment},
+ keywordstyle= \color{__letgut_terminal_commands},
+ keywordstyle={[2]\color{__letgut_terminal_keywords}},
+ keywordstyle={[3]\color{__letgut_terminal_utilities}},
+ stringstyle= \color{__letgut_terminal_strings},
+ literate=*%
+ {$}{{\textcolor{__letgut_terminal_variables}{\$}}}{1}%$
+}
+\lstdefinelanguage{terminal}{%
+ morekeywords={%
+ alias,bg,bind,break,builtin,caller,cd,command,compgen,%
+ complete,compopt,continue,declare,dirs,disown,echo,enable,%
+ eval,exec,exit,export,fc,fg,getopts,hash,help,history,%
+ jobs,kill,let,local,logout,mapfile,popd,printf,pushd,pwd,%
+ read,readarray,readonly,return,set,shift,shopt,source,%
+ suspend,test,times,trap,type,typeset,ulimit,umask,unalias,%
+ unset,wait,%
+ },%
+ morekeywords=[2]{%
+ case,do,done,elif,else,esac,fi,for,function,if,in,select,%
+ then,time,until,while,%
+ },%
+ morekeywords=[3]{%
+ apropos,apt,apt-get,aptitude,aspell,at,awk,base32,base64,%
+ basename,bash,bc,bzip2,cal,cat,cfdisk,chattr,chgrp,%
+ chkconfig,chmod,chown,chpasswd,chroot,cksum,clear,cmp,comm,%
+ cp,cpio,cron,crontab,csplit,curl,cut,date,dc,dd,ddrescue,%
+ df,diff,diff3,dig,dir,dircolors,dirname,dmesg,dos2unix,%
+ dpkg,du,egrep,eject,env,ethtool,expand,expr,false,fdformat,%
+ fdisk,fgrep,file,find,fmt,fold,format,free,fsck,ftp,fuser,%
+ gawk,grep,groupadd,groupdel,groupmod,groups,gzip,head,%
+ hostname,htop,iconv,id,ifconfig,ifdown,ifup,import,install,%
+ iostat,ip,join,killall,less,link,ln,locate,logname,look,%
+ lpc,lpr,lprint,lprintd,lprintq,lprm,ls,lsattr,lsblk,lsof,%
+ lspci,make,man,mkdir,mkfifo,mkfile,mkisofs,mknod,mktemp,%
+ mmv,more,most,mount,mtools,mtr,mv,nc,netstat,nft,nice,nl,%
+ nohup,notify-send,nslookup,op,open,passwd,paste,pathchk,%
+ Perf,pgrep,ping,pkill,pr,printcap,printenv,ps,pv,quota,%
+ quotacheck,ram,rar,rcp,reboot,remsync,rename,renice,rev,rm,%
+ rmdir,rsync,scp,screen,sdiff,sed,seq,sftp,shuf,shutdown,%
+ sleep,slocate,sort,split,ss,ssh,stat,strace,su,sudo,sum,%
+ sync,tail,tar,tee,timeout,tmux,top,touch,tput,tr,%
+ traceroute,true,tsort,tty,umount,uname,unexpand,uniq,units,%
+ unix2dos,unrar,unshar,uptime,useradd,userdel,usermod,users,%
+ uudecode,uuencode,vdir,vi,vmstat,watch,wc,wget,whereis,%
+ which,who,whoami,write,xargs,xdg-open,xxd,xz,yes,zip,%
+ },%
+ alsoletter={2346-},%
+ morecomment=[l]\#,%
+ morestring=[d]",%
+ morestring=[d]',%
+ sensitive%
+}[keywords,comments,strings]%
+\definecolor{__letgut_foreground_terminal_dark}{named}{black}
+\colorlet{__letgut_background_terminal_dark_stdin}{
+ letgut_pagecolor!95!gray
+}
+\colorlet{__letgut_background_terminal_dark_stdout}{
+ __letgut_background_terminal_dark_stdin!60
+}
+\definecolor{__letgut_foreground_terminal_light}{named}{black}
+\definecolor{__letgut_background_terminal_light_stdin}{rgb}{
+ 0.99,0.975,0.98
+}
+\colorlet{__letgut_background_terminal_light_stdout}{
+ __letgut_background_terminal_light_stdin!40
+}
+\bool_if:NTF \g__letgut_paper_bool {
+ \colorlet{__letgut_foreground_terminal}{
+ __letgut_foreground_terminal_light
+ }
+ \colorlet{__letgut_background_terminal_stdin}{
+ __letgut_background_terminal_light_stdin
+ }
+ \colorlet{__letgut_background_terminal_stdout}{
+ __letgut_background_terminal_light_stdout
+ }
+}{
+ \colorlet{__letgut_foreground_terminal}{
+ __letgut_foreground_terminal_dark
+ }
+ \colorlet{__letgut_background_terminal_stdin}{
+ __letgut_background_terminal_dark_stdin
+ }
+ \colorlet{__letgut_background_terminal_stdout}{
+ __letgut_background_terminal_dark_stdout
+ }
+}
+\tcbset{%
+ terminal/.style={%
+ colupper=__letgut_foreground_terminal,
+ collower=__letgut_foreground_terminal,
+ breakable,
+ segmentation~ at~ break=false,
+ boxrule=0mm,
+ before~ lower={\tcbset{every~ listing~ line={}}},
+ listing~ options={%
+ style=__letgut_terminal_listings_style,
+ language=terminal,
+ },
+ every~ listing~ line={%
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
+ },
+ },
+}
+\cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
+{
+ \bool_set_false:N \l_tmpa_bool
+ \tl_if_empty:nF {#3}{
+ \tcbset{tempfile=\jobname-stdin.tex}
+ \exp_args:Nx \scantokens
+ {
+ \token_to_str:N\begin{tcbwritetemp}
+ #3
+ \token_to_str:N\end{tcbwritetemp}
+ }
+ }
+ \tl_if_empty:nF {#4}{
+ \tcbset{tempfile=\jobname-stdout.tex}
+ \exp_args:Nx \scantokens
+ {
+ \token_to_str:N\begin{tcbwritetemp}
+ #4
+ \token_to_str:N\end{tcbwritetemp}
+ }
+ }
+ \tl_if_empty:nTF {#3}{
+ \tl_if_empty:nTF {#4}{
+ \bool_set_true:N \l_tmpa_bool
+ }{
+ \tcbset{colback=__letgut_background_terminal_stdout}
+ }
+ }{
+ \tcbset{colback=__letgut_background_terminal_stdin}
+ \tl_if_empty:nTF {#4}{
+ }{
+ \tcbset{
+ bicolor,
+ middle=0mm,
+ boxsep=0mm,
+ colbacklower=__letgut_background_terminal_stdout,
+ }
+ }
+ }
+ \bool_if:NF \l_tmpa_bool {
+ \begin{tcolorbox}[terminal={#1},#2]
+ \lstset{aboveskip=0pt}
+ \tl_if_empty:nF {#3}{
+ \tcbset{
+ tempfile=\jobname-stdin.tex,
+ }
+ \tcbusetemplisting
+ \tl_if_empty:nF {#4}{
+ \tcblower
+ }
+ }
+ \tl_if_empty:nF {#4}{
+ \tl_if_empty:nF {#3}{
+ \lstset{aboveskip=0pt}
+ }
+ \tcbset{
+ tempfile=\jobname-stdout.tex,
+ every~ listing~ line={},
+ listing~ options~ app={
+ language={}
+ }
+ }
+ \tcbusetemplisting
+ }
+ \end{tcolorbox}
+ }
+ }
+ \NewDocumentCommand{\terminal}{ O{\$} O{} +v +v}{
+ \__letgut_terminal:nnnn {#1} {#2} {#3} {#4}
+ }
+}
+\lst@InputCatcodes
+\def\lst@DefEC{%
+ \lst@CCECUse \lst@ProcessLetter
+ ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
+ ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
+ ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
+ ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
+ ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
+ ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
+ ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
+ ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
+ ^^^^201c^^^^201d% for “ and ”
+ ^^^^215b% for ⅛
+ ^^00%
+}
+\lst@RestoreCatcodes
\file_if_exist:nT {./\c__letgut_local_config_file_tl}{
- \AddToHook { file/before/./\c__letgut_local_config_file_tl } {
+ \AddToHook { file/./\c__letgut_local_config_file_tl/before } {
\ExplSyntaxOff
}
\file_input:n {./\c__letgut_local_config_file_tl}
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx b/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
index fbd6a99f855..4df18e5722d 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.dbx}[2022-03-22 v0.9.1 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2022-06-18 v0.9.2 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx b/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
index 48df7b7c943..3b23cdbf6c1 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.lbx}[2022-03-22 v0.9.1 letgut localization]
+\ProvidesFile{letgut.lbx}[2022-06-18 v0.9.2 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},