texlive[54584] Master/texmf-dist: denisbdoc (27mar20)

commits+karl at tug.org commits+karl at tug.org
Fri Mar 27 22:12:57 CET 2020


Revision: 54584
          http://tug.org/svn/texlive?view=revision&revision=54584
Author:   karl
Date:     2020-03-27 22:12:57 +0100 (Fri, 27 Mar 2020)
Log Message:
-----------
denisbdoc (27mar20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/denisbdoc/README.md
    trunk/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy
    trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx
    trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins
    trunk/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty

Modified: trunk/Master/texmf-dist/doc/latex/denisbdoc/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/denisbdoc/README.md	2020-03-27 21:10:51 UTC (rev 54583)
+++ trunk/Master/texmf-dist/doc/latex/denisbdoc/README.md	2020-03-27 21:12:57 UTC (rev 54584)
@@ -1,8 +1,8 @@
-denisbdoc - A personal package for documenting classes and packages, v. 0.7
+denisbdoc - A personal package for documenting classes and packages, v. 0.8
 ===========================================================================
 
-**The (quick 'n dirty) `denisbdoc` package is just for documenting the classes
-I've written.**
+**The sole purpose of this (quick 'n dirty) `denisbdoc` package is for
+documenting the classes written by its author (Denis Bitouz'e).**
 
 The class is supplied in `.dtx` format. If you want to unpack the `.dtx`
 yourself, running:

Modified: trunk/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy
===================================================================
--- trunk/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy	2020-03-27 21:10:51 UTC (rev 54583)
+++ trunk/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy	2020-03-27 21:12:57 UTC (rev 54584)
@@ -29,7 +29,7 @@
   \providecommand*\lettergroup[1]{%
     \belowpdfbookmark{#1}{\csuse{DBD at index@symbolic at name}:#1}%
     \par\indexheading{#1}{\csuse{DBD at index@symbolic at name}}\par
-    \nopagebreak
+    % \nopagebreak
   }
   ~n"
   :close "~n~n\end{theindex}~n"

Modified: trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx	2020-03-27 21:10:51 UTC (rev 54583)
+++ trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx	2020-03-27 21:12:57 UTC (rev 54584)
@@ -3,11 +3,11 @@
 \iffalse
 %</internal>
 %<*readme>
-denisbdoc - A personal package for documenting classes and packages, v. 0.7
+denisbdoc - A personal package for documenting classes and packages, v. 0.8
 ===========================================================================
 
-**The (quick 'n dirty) `denisbdoc` package is just for documenting the classes
-I've written.**
+**The sole purpose of this (quick 'n dirty) `denisbdoc` package is for
+documenting the classes written by its author (Denis Bitouz'e).**
 
 The class is supplied in `.dtx` format. If you want to unpack the `.dtx`
 yourself, running:
@@ -30,10 +30,11 @@
 \askforoverwritefalse
 \preamble
 -----------------------------------------------------------------------------
-denisbdoc --- A personal dirty package for documenting packages, version 0.7
+denisbdoc --- A personal dirty package for documenting personal classes,
+              version 0.8
 
 Maintained by Denis Bitouz'e
-E-mail: denis.bitouze at lmpa.univ-littoral.fr
+E-mail: denis.bitouze at univ-littoral.fr
 Released under the LaTeX Project Public License v1.3c or later
 See http://www.latex-project.org/lppl.txt
 -----------------------------------------------------------------------------
@@ -40,8 +41,8 @@
 
 \endpreamble
 \postamble
-Copyright (C) 2015, 2016, 2017 by
-  Denis Bitouz'e <denis.bitouze at lmpa.univ-littoral.fr>
+Copyright (C) 2015-2020 by
+  Denis Bitouz'e <denis.bitouze at univ-littoral.fr>
 
 It may be distributed and/or modified under the conditions of
 the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -107,8 +108,8 @@
 %\author{^^A
 %  Denis Bitouz'e\thanks
 %    {^^A
-%      E-mail: \href{mailto:denis.bitouze at lmpa.univ-littoral.fr}
-%      {\texttt{denis.bitouze at lmpa.univ-littoral.fr}}^^A
+%      E-mail: \href{mailto:denis.bitouze at univ-littoral.fr}
+%      {\texttt{denis.bitouze at univ-littoral.fr}}^^A
 %    }^^A
 %}
 %\date{Released \filedate}
@@ -122,6 +123,7 @@
 %\changes{v0.5}{2016/10/30}{Fifth CTAN version}
 %\changes{v0.6}{2016/12/08}{Sixth CTAN version}
 %\changes{v0.7}{2017/01/01}{Seventh CTAN version}
+%\changes{v0.8}{2020/03/27}{Eighth CTAN version}
 %
 %\begin{abstract}
 % ...
@@ -148,7 +150,7 @@
 %
 % The package requires \LaTeX3 support as provided in the
 % \pkg{l3kernel} and \pkg{l3packages} bundles. Both of these are available
-% on \href{http://www.ctan.org}{\textsc{ctan}} as ready-to-install
+% on \href{http://ctan.org}{\textsc{ctan}} as ready-to-install
 % zip files. Suitable versions are available in MiK\TeX{}~2.9 and
 % \TeX{}~Live 2014 (updating the relevant packages online may be
 % necessary). \LaTeX3, and so \pkg{denisbdoc}, requires the \eTeX{}
@@ -192,7 +194,7 @@
 %
 % The usual preliminaries.
 %    \begin{macrocode}
-\ProvidesExplPackage {denisbdoc} {2017/01/01} {0.7}
+\ProvidesExplPackage {denisbdoc} {2020/03/27} {0.8}
   {A personal package for documenting packages}
 %    \end{macrocode}
 %
@@ -221,6 +223,8 @@
   yad .bool_gset:N = \g_@@_yad_bool,
   gzt .bool_gset:N = \g_@@_gzt_bool,
   nwejm .bool_gset:N = \g_@@_nwejm_bool,
+  studentreport .bool_gset:N = \g_@@_studentreport_bool,
+  lscape .bool_gset:N = \g_@@_lscape_bool,
 }
 %    \end{macrocode}
 %
@@ -236,12 +240,13 @@
 %
 %    \begin{macrocode}
 \sys_if_engine_pdftex:TF
-  {
-    \RequirePackage[T1]{fontenc}
-    \RequirePackage[utf8]{inputenc}
-  }{
-    \RequirePackage{fontspec}
-  }
+{
+  \RequirePackage{cmap}
+  \RequirePackage[T1]{fontenc}
+  \RequirePackage[utf8]{inputenc}
+}{
+  \RequirePackage{fontspec}
+}
 \RequirePackage{xpatch}%
 \AtEndPreamble{%
   \RequirePackage{mweights}%
@@ -251,12 +256,25 @@
 % \let\task\relax
 % \RequirePackage{exsheets}
 % \let\task\denisbdoc at ORI@task
+\RequirePackage{fixfoot}%
+%
+%    \end{macrocode}
+%
+% For all the conditional ×\@ifclassloaded{beamer}{...}{...}× , we the following
+% trick needed because patching commands when ×#× is involved can't happen in
+% the argument to another command (see
+% \url{https://tex.stackexchange.com/a/167107/18401}).
+%    \begin{macrocode}
+\newif\if at DBD@beamer at not@loaded@
+\@DBD at beamer@not at loaded@true
+\@ifclassloaded{beamer}{\@DBD at beamer@not at loaded@false}{\@DBD at beamer@not at loaded@true}
+%
+\if at DBD@beamer at not@loaded@
 \RequirePackage{parskip}%
-% \RequirePackage{amsthm}%
-% \RequirePackage{thmtools}%
-\RequirePackage{fixfoot}%
-\RequirePackage{marginnote}
-\RequirePackage[inline]{enumitem}%
+  \RequirePackage{marginnote}
+  \RequirePackage{mparhack}
+  \RequirePackage[inline]{enumitem}
+\fi%
 \RequirePackage{afterpage}%
 \RequirePackage{calc}%
 % \RequirePackage[lining]{libertine}%
@@ -265,19 +283,28 @@
 \RequirePackage{booktabs}%
 \RequirePackage{multirow}%
 \RequirePackage[xr]{zref}%
-\RequirePackage[multiple]{footmisc}%
-% \RequirePackage[multiple,bottom]{footmisc}%
-\RequirePackage{rotating}%
-\RequirePackage{pdflscape}%
+\if at DBD@beamer at not@loaded@
+  \RequirePackage[multiple]{footmisc}%
+  \RequirePackage{rotating}%
+\fi%
+\bool_if:nTF {\g_@@_lscape_bool} {%
+  \RequirePackage{lscape}%
+}{%
+  \RequirePackage{pdflscape}%
+}
 \RequirePackage{xspace}%
 \RequirePackage{accsupp}
+\RequirePackage{newunicodechar}
 \RequirePackage{hologo}%
 \RequirePackage{xifthen}%
 \RequirePackage{refcount}%
+\RequirePackage{etoolbox}%
 \RequirePackage{iflang}%
 \RequirePackage{ifpdf}%
 \RequirePackage{amssymb}%
-\RequirePackage{tocvsec2}%
+\if at DBD@beamer at not@loaded@
+  \RequirePackage{tocvsec2}%
+\fi
 \RequirePackage{ltxcmds}%
 \RequirePackage{csquotes}%
 \RequirePackage{tikz}%
@@ -316,7 +343,6 @@
       \_@@_printbibliography_ORI[heading=bibintoc,#1]%
       \pagestyle{ordinary}%
     }%
-  }{%
   }%
 }%
 }{%
@@ -340,8 +366,10 @@
 %
 % \Pkg{tocbibind} should be loaded before \pkg{imakeidx}, otherwise it would
 % destroy the |\indexprologue| feature of the latter.
-\RequirePackage{tocbibind}%
-\RequirePackage[xindy]{imakeidx}
+\if at DBD@beamer at not@loaded@
+  \RequirePackage{tocbibind}%
+  \RequirePackage[xindy]{imakeidx}
+\fi%
 %
 % \@ifpackageloaded{hypdoc}{%
 % }{%
@@ -358,13 +386,16 @@
 }{%
   \RequirePackage[hyperfootnotes=false,hyperindex=false]{hyperref}%
 }%
-\RequirePackage{attachfile2} \@ifpackageloaded{nameref}{%
+\RequirePackage{attachfile2}%
+\@ifpackageloaded{nameref}{%
 }{%
   \RequirePackage{nameref}%
 }%
 \@ifpackageloaded{hypcap}{%
 }{%
-  \RequirePackage[all]{hypcap}%
+  \if at DBD@beamer at not@loaded@
+    \RequirePackage[all]{hypcap}%
+  \fi%
 }%
 \@ifpackageloaded{bookmark}{%
 }{%
@@ -375,6 +406,15 @@
   % \RequirePackage{glossaries}%
   \RequirePackage[xindy,hyperfirst=false,toc=false]{glossaries-extra}%
   \makeglossaries%
+  \newglossaryentry{zip}{%
+    name=zip,%
+    category={format},%
+    description={format~ de~ fichier~ permettant~ l'archivage~ (utilisation~
+      d'un~ seul~ fichier~ pour~ stocker~ plusieurs~ fichiers)~ et~ la~
+      compression~ de~ données~ (diminution~ de~ l'espace~ occupé~ sur~ le~
+      support~ numérique)~ sans~ perte~ de~ qualité},%
+    text={zip}%
+  }%
   \setglossarystyle{indexhypergroup}%
   \setabbreviationstyle[acronym]{long-short-sc}%
   \newcommand*{\formatfont}[1]{\textsc{#1}}%
@@ -395,20 +435,22 @@
 % Some code stolen from \pkg{hypdoc} in order page numbers in change history are
 % hyperlinks.
 %    \begin{macrocode}
-\def\hdpindex#1#2{%
-  \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
-    \hyperpage{#2}%
-  }%
-}
-\let\HDorg at wrglossary\@wrglossary
-\def\@wrglossary#1{%
-  \let\HDorg at encapchar\encapchar
-  \def\encapchar##1\encapchar##2\@nil{%
-    \HDorg at encapchar
-    hdpindex{##1}%
-  }%
-  \HDorg at wrglossary{#1\encapchar\encapchar\@nil}%
-}
+\if at DBD@beamer at not@loaded@
+  \def\hdpindex#1#2{%
+    \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
+      \hyperpage{#2}%
+    }%
+  }
+  \let\HDorg at wrglossary\@wrglossary
+  \def\@wrglossary#1{%
+    \let\HDorg at encapchar\encapchar
+    \def\encapchar##1\encapchar##2\@nil{%
+      \HDorg at encapchar
+      hdpindex{##1}%
+    }%
+    \HDorg at wrglossary{#1\encapchar\encapchar\@nil}%
+  }
+\fi%
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -417,7 +459,7 @@
 %
 % % Some hacks to avoid issues of \pkg{hypdoc} reported by me at
 % % \url{https://github.com/ho-tex/oberdiek/issues} (currently not used because
-% % this package has to much issues)). 
+% % this package has to much issues).
 % %    \begin{macrocode}
 % \@ifpackageloaded{hypdoc}{%
 %   % \let\theglossary\HDorg at theglossary
@@ -510,7 +552,7 @@
 % \url{http://tex.stackexchange.com/q/309680/18401}), hence we rely on
 % \Package{ltxcmds} for this:
 %    \begin{macrocode}
-\ltx at iffilelater{frenchb.ldf}{2016/03/20}{%
+\ltx at iffilelater{french.ldf}{2016/03/20}{%
 }{%
   \DeclareRobustCommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse%
     \ifFB at active@punct\noautospace at beforeFDP\shorthandoff{;:!?}\fi%
@@ -529,12 +571,6 @@
 \tcbuselibrary{listingsutf8}
 \else
 \tcbuselibrary{listings}
-\pdftex_if_engine:TF
-  {
-    \lstMakeShortInline[style=dbtex]|
-  }{
-    \lstMakeShortInline[style=dbtex]×
-  }
 \fi
 \tcbuselibrary{%
   documentation,theorems,breakable,skins,xparse%
@@ -572,14 +608,19 @@
 %     if odd page or oneside={flushright upper}{flushright upper},
 %     doc at marginnote,#1]#2\end{tcolorbox}}}
 \tcbset{doc marginnote={if odd page or oneside={flushright upper}{flushright upper}}}
-\patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
-\patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
 \reversemarginpar
+\pretocmd{\tcbdocmarginnote}{%
+  \patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
+  \patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
+  \reversemarginpar%
+}{}{}
+\@ifpackageloaded{geometry}{%
+  \geometry{marginparwidth=.65in}%
+}{}
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\DeclareTotalTCBox{\commandshell}{  v  }
-{ commandshell}{#1}
+\DeclareTotalTCBox{\commandshell}{ v }{ commandshell}{#1}
 \newtcblisting{listingshell}[1][]{%
   % colback=black,
   % colupper=white,
@@ -619,6 +660,7 @@
 % (cf. \url{http://tex.stackexchange.com/q/335522/18401}) that will be inserted
 % inside the (level 0) |\targetindexentry| command below.
 %    \begin{macrocode}
+\if at DBD@beamer at not@loaded@
 \newcommand{\indexmark}[1]{\hypertarget{index:#1}{#1}\markboth{#1}{#1}}
 %    \end{macrocode}
 %
@@ -646,12 +688,13 @@
 % |\lettergroup| in the customized |theindex| environment (defined in the
 % customized index style \File{denisbdoc.xdy}).
 %    \begin{macrocode}
-\xpretocmd{\printindex}{\def\DBD at index@symbolic at name{#1}}{}{}
+  \xpretocmd{\printindex}{\edef\DBD at index@symbolic at name{#1}}{}{\aaa}
+  % \xpretocmd{\printindex}{\edef\DBD at index@symbolic at name{#1}}{}{\aaa}
 %    \end{macrocode}
 %
 % We patch the |\indexprologue| command in order to provide a navigation line at
 % the start of the index with links to each group that is present in the index
-% (see \url{http://tex.stackexchange.com/q/334200/18401})).
+% (see \url{http://tex.stackexchange.com/q/334200/18401}).
 %    \begin{macrocode}
 % \renewcommand*{\marginfont}{\normalsize}
 % \renewcommand*{\marginnotevadjust}{.625\baselineskip}
@@ -666,14 +709,14 @@
   #2
   \par\bigskip
   \csuse{DBD at indexnavigation@\csuse{DBD at index@symbolic at name}}%
-}{}{}%
+}{}{\aaa}%
 %    \end{macrocode}
 %
 % We create a boolean which tests if the letter in the navigation bar is the 1st
 % one or not (in the latter case, a newline is added).
 %    \begin{macrocode}
-\newif\if at DBD@no at first@letter@
-\@DBD at no@first at letter@false
+  \newif\if at DBD@no at first@letter@
+  \@DBD at no@first at letter@false
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -692,7 +735,7 @@
     \fi
     \hyperlink{#2:#1}{\textbf{#1}}%
   }%
-}
+}%
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -780,6 +823,8 @@
 \colorlet{en-arborescence}{red!20}
 \colorlet{a-plat}{blue!20}
 \colorlet{texcs}{blue}
+\colorlet{directive}{texcs}
+\colorlet{mandatory-argument}{red}
 \colorlet{environment}{teal}
 \colorlet{key}{purple}
 \colorlet{value}{violet}
@@ -809,7 +854,7 @@
 \lstdefinelanguage[extLaTeX]{TeX}[LaTeX]{TeX}{%
   moretexcs={%
     footnotesize,huge,Huge,large,Large,LARGE,large,Large,scriptsize,tiny,%
-    includegraphics,cite,ttwplink,vref,LTXtable,tableofcontents,frontmatter,mainmatter,%
+    includegraphics,cite,ttwplink,cref,vref,LTXtable,tableofcontents,frontmatter,mainmatter,%
     part,chapter,section,subsection,subsubsection,paragraph,subparagraph,RequirePackage,%
     listoftables,listoffigures,lstlistingname,si,SI,ohm,num,space,shorthandon,shorthandoff,%
     abstractname,appendixname,contentsname,listfigurename,listtablename,indexname,%
@@ -819,9 +864,9 @@
     @pnumwidth,bookmarksetup,DeclareTextCommand,text,iiint,NewPairedDelimiter,%
     norm,lnorm,llnorm,lpnorm,supnorm,abs,prt,brk,brc,lrangle,leqgeq,%
     norm*,lnorm*,llnorm*,lpnorm*,supnorm*,abs*,prt*,brk*,brc*,lrangle*,leqgeq*,%
-    pdfobjcompresslevel,chaptermark%
+    pdfobjcompresslevel,chaptermark,PassOptionsToClass%
   },%
-  morekeywords=[1]{% Environments' names
+  morekeywords={[1]% Environments' names
     tabular,tabulary,math,document,minipage,eqnarray,eqnarray*,align,align*,%
     equation,gather,multline,flalign,equation*,gather*,multline*,flalign*,%
     itemize,itemize*,enumerate,enumerate*,description,description*,%
@@ -847,7 +892,7 @@
     acrfullpl,Acrfullpl,%
     Acrlong*,acronymtype,printacronyms,printsymbols%
   },%
-  % Environments' names
+  % Mandatory arguments (other than environments' names)
   morekeywords={%
   },%
   % Mots-clés de niveau 2 : arguments obligatoires et environnements
@@ -869,11 +914,58 @@
 {%
   % Séquences de contrôles (communément appelées commandes ou macros)
   moretexcs={%
-    printbibliography,SetCiteCommand,autocite,addbibresource,fullcite,%
-    textcite,cite,citeauthor%
+    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%
   },%
-  % Mots-clés de niveau 1 : arguments optionnels
-  morekeywords={%
+  % morekeywords={%
+  %   @article, at book, at inbook, at bookinbook, at suppbook, at booklet, at collection,%
+  %   @conference, at incollection, at suppcollection, at manual, at misc, at online,%
+  %   @patent, at periodical, at suppperiodical, at proceedings, at inproceedings,%
+  %   @reference, at inreference, at report, at thesis, at unpublished, at masterthesis,%
+  %   @phdthesis,%
+  %   @Article, at Book, at Inbook, at Bookinbook, at Suppbook, at Booklet, at Collection,%
+  %   @conference, at Incollection, at Suppcollection, at Manual, at Misc, at Online,%
+  %   @patent, at Periodical, at Suppperiodical, at Proceedings, at Inproceedings,%
+  %   @reference, at Inreference, at Report, at Thesis, at Unpublished, at Masterthesis,%
+  %   @Phdthesis,%
+  %   @ARTICLE, at BOOK, at INBOOK, at BOOKINBOOK, at SUPPBOOK, at BOOKLET, at COLLECTION,%
+  %   @CONFERENCE, at INCOLLECTION, at SUPPCOLLECTION, at MANUAL, at MISC, at ONLINE,%
+  %   @PATENT, at PERIODICAL, at SUPPPERIODICAL, at PROCEEDINGS, at INPROCEEDINGS,%
+  %   @REFERENCE, at INREFERENCE, at REPORT, at THESIS, at UNPUBLISHED, at MASTERTHESIS,%
+  %   @PHDTHESIS,%
+  %   @string, at String, at STRING, at comment%
+  % },%
+  % 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,%
+    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,%
+    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,String,STRING,comment%
+  },%
+  % Mots-clés de niveau 1 : attributs et options de biblatex
+  morekeywords=[2]{%
     abstract,addendum,afterword,annotation,annotator,author,authortype,%
     bookauthor,bookpagination,booksubtitle,booktitle,booktitleaddon,%
     chapter,commentator,date,doi,edition,editor,editora,editorb,%
@@ -893,25 +985,63 @@
     archiveprefix,journal,key,pdf,primaryclass,school,address,%
     %
     backend,style,citestyle,bibstyle,sorting,maxnames,minnames,maxitems,minitems,%
-    backref,abbreviate,firstinits,prenote,postnote,useprefix%
+    backref,abbreviate,firstinits,prenote,postnote,useprefix,autopunct%
   },%
+  % Mots-clés de niveau 3 : valeurs des attributs identifiées
+  morekeywords=[3]{%
+    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,%
+    inline,footnote,superscript,plain,%
+    nyt,ynt,none,false%
+  },%
+  alsoletter={-123},%
+  sensitive,%
+  delim=*[directive]@
+  %
+}[keywords,directives,tex,comments]%
+%
+\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}%
+{%
+  % Séquences de contrôles (communément appelées commandes ou macros)
+  moretexcs={%
+    enquote,textelp,textins,blockcquote,SetCiteCommand%
+  },%
+  % Mots-clés de niveau 1 : arguments optionnels
+  morekeywords={%
+  },%
   % Mots-clés de niveau 2 : arguments obligatoires et environnements
   morekeywords=[2]{%
     % title,
-    heading,refsegment%
   },%
   % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
   morekeywords=[3]{%
-    bibintoc,skipbib,chapter%
+    skipbib%
   },%
+  % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur
+  morekeywords=[4]{%
+  },%
   sensitive%
 }[keywords,tex,comments]%
 %
-\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}%
+\lstdefinelanguage[colophon]{TeX}[LaTeX]{TeX}%
 {%
   % Séquences de contrôles (communément appelées commandes ou macros)
   moretexcs={%
-    enquote,textelp,textins,blockcquote%
+    colophontitle,colophontitlestyle,colophontitlesize,colophonmidspace,%
+    colophonpagestyle,colophontitlealign,colophonpretitlehook,colophonposttitlehook,%
+    colophonparstyle,colophonparsize,colophonparlead,colophonnofirstindent,colophonpreparhook,%
+    colophonpostparhook,colophonparalign,colophonnofullpage,colophonnoclrdblpg,colophonclrpg,%
+    colophontopspace,colophonbotspace%
   },%
   % Mots-clés de niveau 1 : arguments optionnels
   morekeywords={%
@@ -918,11 +1048,13 @@
   },%
   % Mots-clés de niveau 2 : arguments obligatoires et environnements
   morekeywords=[2]{%
-    % title,
+    colophon,
   },%
   % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
   morekeywords=[3]{%
-    skipbib%
+    titlestyle,titlesize,aftertitle,pagestyle,titlealign,%
+    parstyle,parsize,parlead,nofirstindent,nofullpage,noclrdblpg,%
+    clrpg,topspace,botspace%
   },%
   % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur
   morekeywords=[4]{%
@@ -1011,8 +1143,13 @@
   },%
   % Mots-clés de niveau 2 : arguments obligatoires et environnements
   morekeywords=[2]{%
-    breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all%
+    breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all,pdfencoding,final,%
+    hidelinks,linktoc,%
   },%
+  % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
+  morekeywords=[3]{%
+    unicode%
+  },%
   sensitive%
 }[keywords,tex,comments]%
 % \end{macrocode}
@@ -1026,7 +1163,7 @@
     laboratory,dedication,frontepigraph,keywords,subject,expression,tableofcontents,submissiondate,%
     maketitle,makedisclaimer,makekeywords,makelaboratory,makeabstract,makededications,%
     makefrontepigraphs,makebackcover,ordernumber,chapter*,disclaimer,newglssymbol,yadsetup,%
-    comue,%
+    comue,newcorporation%
     % acknowledgements,frenchabstract,foreword,preface,caution,
   },%
   % Environments' names
@@ -1045,7 +1182,7 @@
     address,telephone,fax,email,type,acronym,heading,nowarning,noerror,nofrontcover,role,%
     hyperfootnotes,hyperindex,plainpages,pdfpagemode,pdfpagelayout,locale,gray,frametitle,%
     graphicx,adjustbox,setspace,xcolor,datatool,titleps,draftwatermark,babel,datetime,%
-    bookmark,fncychap,localtocs,localbibs,localbibs*%
+    bookmark,fncychap,localtocs,localtocs/depth,localbibs,localbibs*%
   },%
   morekeywords=[3]{% Values of key-value lists
     single,onehalf,double,doctor,yadsymbolstyle,%
@@ -1069,7 +1206,7 @@
     comonitor*,supervisor,supervisor*,academicfield,doctoralschool,keywords,%
     ordernumber,committeepresident,committeepresident*,speciality%
   },%
-  alsoletter={!-*1234560}%
+  alsoletter={!-*1234560/}%
 }%
 %    \end{macrocode}
 %
@@ -1088,7 +1225,7 @@
     vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,%
     gztverb,th,epigraph%
   },%
-  % Environments' names
+  % Mandatory arguments (other than environments' names)
   morekeywords={%
     gzt,gztarticle%
   },%
@@ -1130,11 +1267,13 @@
     printauthorsdetails,date,title,author,maketitle,item,printbibliography,%
     vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,set,%
     nwejmverb,th,epigraph,keywords,msc,acknowledgments,E,I,grad,Div,curl,rot,supp,%
-    DeclareMathOperator,BinaryOperators,dif,articlesetup%
+    DeclareMathOperator,BinaryOperators,dif,articlesetup,%
+    bbN,bbZ,bbD,bbQ,bbR,bbC,bbK,%
+    newenumeration%
   },%
-  % Environments' names
+  % Mandatory arguments (other than environments' names)
   morekeywords={%
-    nwejm,nwejmart,assertions,hypotheses%
+    nwejm,nwejmart,%
   },%
   morekeywords=[1]{% Environments' names
     abstract,minitoclist,bookreview,bookadvertisement,%
@@ -1142,7 +1281,8 @@
     theorem,theoreme,corollary,corollaire,conjecture,proposition,%
     lemma,lemme,axiom,axiome,definition,remark,remarque,example,exemple,notation,%
     theorem*,theoreme*,corollary*,corollaire*,conjecture*,proposition*,proof,preuve,%
-    lemma*,lemme*,axiom*,axiome*,definition*,remark*,remarque*,example*,exemple*,notation*%
+    lemma*,lemme*,axiom*,axiome*,definition*,remark*,remarque*,example*,exemple*,notation*,%
+    assertions,hypotheses%
   },%
   morekeywords=[2]{% Keys of key-value lists
     number,month,year,publisher,address,phone,fax,email,url,issn,isbn,short,minishort,notintoc,%
@@ -1149,7 +1289,7 @@
     abstract,frenchtitle,englishtitle,% title,label,%
     pictogram,list,help,diameter,textwidth,xshift,yshift,%
     affiliation,affiliationtagged,email,minibio,photo,webpage,frontcover,bibkey,copyright,%
-    gradient%
+    gradient,title/french,style,title,title-plural,singular,plural,label%
   },%
   morekeywords=[3]{% Values of key-value lists
     true,false,theorem,definition,proof%
@@ -1157,6 +1297,29 @@
   morekeywords=[4]{% Class and packages options
     pagegrid,forprinter,cover,forauthors,%
   },%
+  alsoletter={!-*1234560/}%
+}%
+%    \end{macrocode}
+%
+% Definition of the \enquote{studentreport} \TeX{} dialect.
+%    \begin{macrocode}
+\lstdefinelanguage[studentreport]{TeX}[LaTeX]{TeX}{%
+  moretexcs={% Control sequences' names
+    reportsetup,daterange,professionaladvisor,academicadvisor,companylogo%
+  },%
+  % Mandatory arguments (other than environments' names)
+  morekeywords={%
+  },%
+  morekeywords=[1]{% Environments' names
+  },%
+  morekeywords=[2]{% Keys of key-value lists
+    institute,subinstitute,subsubinstitute,year,10pt,11pt,12pt,internship,project,layout,%
+    strings,pretitle,company,advisor,advisors,before~start~date,before~end~date,date,%
+    logos,logosheights,,%
+  },%
+  morekeywords=[3]{% Values of key-value lists
+    ulco,iutlco,gte,gim,%
+  },%
   alsoletter={!-*1234560}%
 }%
 %    \end{macrocode}
@@ -1210,14 +1373,17 @@
 %
 % \renewcommand{\generalname}{Général}%
 %
-\xapptocmd{\@chapter}{%
-% \xapptocmd{\@section}{%
-  \addtocontents{dbwarninglist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbremarklist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbexamplelist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbfaqlist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbtablist}{\protect\addvspace{10\p@}}%
-}{}{}
+\if at DBD@beamer at not@loaded@
+\ifcsdef{@chapter}{
+  \xapptocmd{\@chapter}{%
+    \addtocontents{dbwarninglist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbremarklist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbexamplelist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbfaqlist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbtablist}{\protect\addvspace{10\p@}}%
+  }{}{}
+}{}
+\fi%
 %
 \sisetup{locale=FR,detect-all}
 % \floatsetup[table]{style=plaintop}
@@ -1238,25 +1404,23 @@
 %   % prebreak={\c_space_tl\Righttorque},
 %   % postbreak={\c_space_tl\Lefttorque}
 % }%
-\lstdefinestyle{dbtex}{%
+\lstdefinestyle{pre-dbtex}{%
   escapechar=",
   language=[LaTeX]TeX,
   alsolanguage=[extLaTeX]TeX,
-  alsolanguage=[glossaries]TeX,
-  alsolanguage=[biblatex]TeX,
+  % alsolanguage=[glossaries]TeX,
+  % alsolanguage=[biblatex]TeX,
   alsolanguage=[csquotes]TeX,
-  alsolanguage=[tcolorbox]TeX,
-  alsolanguage=[listings]TeX,
-  alsolanguage=[xcolor]TeX,
-  alsolanguage=[hyperref]TeX,
-  alsolanguage=[yad]TeX,
-  alsolanguage=[gzt]TeX,
-  alsolanguage=[nwejm]TeX,
+  % alsolanguage=[tcolorbox]TeX,
+  % alsolanguage=[listings]TeX,
+  % alsolanguage=[xcolor]TeX,
+  % alsolanguage=[hyperref]TeX,
   texcsstyle=*\color{texcs},
   breaklines=true,
   basicstyle=\normalfont\ttfamily,
   commentstyle=\color{comment}\itshape,
-  keywordstyle={\color{environment}},
+  directivestyle={\color{directive}},
+  keywordstyle={\color{red}},
   keywordstyle={[1]\color{environment}},
   keywordstyle={[2]\color{key}},
   keywordstyle={[3]\color{value}},
@@ -1272,8 +1436,41 @@
   aboveskip=\c_@@_listings_aboveskip_skip,
   belowskip=\c_@@_listings_belowskip_skip
 }%
+\bool_if:nT {\g_@@_yad_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[yad]TeX,%
+    alsolanguage=[colophon]TeX,%
+    moretexcs={printbibliography,autocite},%
+  }
+}
+\bool_if:nT {\g_@@_gzt_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[gzt]TeX,%
+  }
+}
+\bool_if:nT {\g_@@_nwejm_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[nwejm]TeX,%
+  }
+}
+\bool_if:nT {\g_@@_studentreport_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[studentreport]TeX,%
+  }
+}
 \lstset{style=dbtex}
-% \lstMakeShortInline[style=dbtex]|
+\sys_if_engine_pdftex:TF
+{
+  \ExplSyntaxOff
+  \lstMakeShortInline[style=dbtex]|
+  \ExplSyntaxOn
+}{
+  \lstMakeShortInline[style=dbtex]×
+}
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -1282,7 +1479,14 @@
     fonttitle=\bfseries,
     enlarge~top~by=1mm,
     separator~sign~dash,
-    label~separator=-
+    label~separator=-,
+    before~title={%
+      \hypersetup{hidelinks}%
+      \tcbset{%
+        color~definition=white,
+        color~hyperlink=white,
+      }%
+    }%
   }%
 }%
 %
@@ -1355,7 +1559,7 @@
 % références qui devront être labellisées au moyen de la commande
 % ×\zlabel× du \Package{zref} (ce dernier devant être chargé dans le
 % \File{.tex} externe du \File{.pdf} avec les options ×user× et
-% ×abspage×).
+% ×abspage×). Cf. \url{https://tex.stackexchange.com/a/31489/18401}.
 %    \begin{macrocode}
 \define at key{Gin}{bylabel}{%
     \edef\@tempa{{Gin}{page=\zref at extract{#1}{abspage}}}%
@@ -1385,14 +1589,16 @@
 %
 % Some hacks to avoid "\makeindex"'s “title” option from \pkg{imakeidx} ignored
 % if \pkg{tcolorbox}' indexation is used (see
-% \url{http://tex.stackexchange.com/q/332284/18401})).
+% \url{http://tex.stackexchange.com/q/332284/18401}).
 %    \begin{macrocode}
-\expandafter\AtBeginDocument\expandafter{%
-  \expandafter\def\expandafter\theindex\expandafter{\theindex}%
-}
-\expandafter\AtBeginDocument\expandafter{%
-  \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}%
-}
+\@ifclassloaded{beamer}{%
+}{%
+  \expandafter\AtBeginDocument\expandafter{%
+    \expandafter\def\expandafter\theindex\expandafter{\theindex}%
+  }
+  \expandafter\AtBeginDocument\expandafter{%
+    \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}%
+  }
 %    \end{macrocode}
 %
 % Hack of \pkg{imakeidx} in order different indices have different extensions
@@ -1401,80 +1607,84 @@
 % extensions of input and output files are specified by new |extin| and |extout|
 % options of |\makeindex|.
 %    \begin{macrocode}
-\ExplSyntaxOff
-\def\imki at finalmessage#1{}% since you're using latexmk
-\def\imki at startidx#1#2{%
-  \if at filesw
+  \ExplSyntaxOff
+  \def\imki at finalmessage#1{}% since you're using latexmk
+  \def\imki at startidx#1#2{%
+    \if at filesw
     \def\index{\@bsphack
       \@ifnextchar [{\@index}{\@index[\imki at jobname]}}
     \expandafter\newwrite\csname #1 at idxfile\endcsname
     \immediate\openout \csname #1 at idxfile\endcsname #1.#2\relax
     \typeout{Writing index file #1.#2}%
-  \fi}
-\xpatchcmd\imki at makeindex
+    \fi}
+  \xpatchcmd\imki at makeindex
   {\imki at startidx\imki at name}
   {\imki at startidx\imki at name\imki at extout}
   {}{}
-\xpatchcmd\imki at build
+  \xpatchcmd\imki at build
   {\imki at dokey\imki at title}
   {\imki at dokey\imki at title
-   \imki at dokey\imki at extin
-   \imki at dokey\imki at extout}
+    \imki at dokey\imki at extin
+    \imki at dokey\imki at extout}
   {}{}
-\xpatchcmd{\imki at putindex}
+  \xpatchcmd{\imki at putindex}
   {\imki at options}
   {\c_space_tl~ -o~ #1.\imki at extin\imki at options}
   {}{}
-\xpatchcmd{\imki at putindex}
+  \xpatchcmd{\imki at putindex}
   {.idx}
   {.\imki at extout}
   {}{}
-\xpatchcmd{\imki at putindex}
+  \xpatchcmd{\imki at putindex}
   {.ind}
   {.\imki at extin}
   {}{}
-\def\imki at extout{idx}\def\imki at extin{ind}
-\define at key{imki}{extout}{\def\imki at extout{#1}}
-\define at key{imki}{extin}{\def\imki at extin{#1}}
+  \def\imki at extout{idx}\def\imki at extin{ind}
+  \define at key{imki}{extout}{\def\imki at extout{#1}}
+  \define at key{imki}{extin}{\def\imki at extin{#1}}
+}%
 \ExplSyntaxOn
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\cs_new_protected:Nn \_@@_alert:n
-{
-  \begingroup
-  \color{red}
-  #1
-  \endgroup
-}%
-\NewDocumentCommand \alert {m}
-{
-  \_@@_alert:n {#1}
-}%
-\DeclareDocumentCommand \changes { smmm } {
-  \IfBooleanTF {#1}
+\@ifclassloaded{beamer}{%
+}{%
+  \cs_new_protected:Nn \_@@_alert:n
   {
-    \tl_set:Nn \l_tmpa_tl {\alert{#4}}
-  }{
-    \tl_set:Nn \l_tmpa_tl {#4}
+    \begingroup
+    \color{red}
+    #1
+    \endgroup
+  }%
+  \NewDocumentCommand \alert {m}
+  {
+    \_@@_alert:n {#1}
+  }%
+  \DeclareDocumentCommand \changes { smmm } {
+    \IfBooleanTF {#1}
+    {
+      \tl_set:Nn \l_tmpa_tl {\alert{#4}}
+    }{
+      \tl_set:Nn \l_tmpa_tl {#4}
+    }
+    \ifx\@onlypreamble\@notprerr
+    \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl}
+    \else
+    \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble}
+    \fi
   }
-  \ifx\@onlypreamble\@notprerr
-  \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl}
-  \else
-  \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble}
-  \fi
-}
-\DeclareDocumentCommand \PrintChanges { O{} } {
-  \indexprologue{#1}
+  \DeclareDocumentCommand \PrintChanges { !O{} } {
+    \indexprologue{#1}
 %    \end{macrocode}
 %
 % The changes are printed in a numbered chapter hence subject to
 % cross-references.
 %    \begin{macrocode}
-  \def\imki at indexlevel{\chapter}
-  \printindex[\jobname-changes]
-  \def\imki at indexlevel{\chapter*}
-}
+    \def\imki at indexlevel{\chapter}
+    \printindex[\jobname-changes]
+    \def\imki at indexlevel{\chapter*}
+  }
+}%
 % \@ifpackageloaded{doc}{%
 %   \renewcommand*{\changes@}[3]{%
 %     \protected at edef\@tempa{%
@@ -1521,7 +1731,7 @@
 %
 % This saves the url with all characters catcode other:
 %    \begin{macrocode}
-\tl_const:Nx \c_@@_standard_url_tl { \tl_to_str:n { http://www.ctan.org/pkg/ } }
+\tl_const:Nx \c_@@_standard_url_tl { \tl_to_str:n { http://ctan.org/pkg/ } }
 %    \end{macrocode}
 % Separate formatting:
 % #1: package or class name
@@ -1570,16 +1780,16 @@
   }
   {#4}
 }
-\NewDocumentCommand{\package}{ s t+ O{} m O{package} O{} O{} } {
+\NewDocumentCommand{\package}{ s t+ O{} m !O{package} !O{} !O{} } {
   \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7}
 }
-\NewDocumentCommand{\Package}{ s t+ O{} m O{package} O{} O{} } {
+\NewDocumentCommand{\Package}{ s t+ O{} m !O{package} !O{} !O{} } {
   \IfLanguageName{french}{package~}{}%
   \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7}
   \IfLanguageName{english}{~package}{}%
 }
 %
-\NewDocumentCommand{\class}{ s t+ O{} m O{} O{} O{} } {
+\NewDocumentCommand{\class}{ s t+ O{} m !O{} !O{} !O{} } {
   \IfLanguageName{french}{%
     \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7}
   }{}%
@@ -1587,7 +1797,7 @@
     \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{class}{#6}{#7}
   }{}%
 }
-\NewDocumentCommand{\Class}{ s t+ O{} m O{} O{} O{} } {
+\NewDocumentCommand{\Class}{ s t+ O{} m !O{} !O{} !O{} } {
   \IfLanguageName{french}{%
     classe~%
     \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7}
@@ -1634,35 +1844,35 @@
 }
 \NewDocumentCommand{\Folder}{ m }
 {%
-  \IfLanguageName{french}{répertoire~}{}%
+  \IfLanguageName{french}{dossier~}{}%
   \_@@_file:n {#1}%
   \IfLanguageName{english}{~directory}{}%
 }%
 %
-\NewDocumentCommand \ie { s } {%
-  \IfBooleanTF {#1}
-  {
-    \IfLanguageName{french}{%
-      c'est-\`{a}-dire
-    }{}%
-    \IfLanguageName{english}{%
-      id est
-    }{}%
-  }
-  {
-    \IfLanguageName{french}{%
-      c.-à-d
-    }{}%
-    \IfLanguageName{english}{%
-      i.e
-    }{}%
-    \@ifnextchar.%
-    {
-    }{
-      .\xspace
-    }%
-  }
-}
+% \NewDocumentCommand \ie { s } {%
+%   \IfBooleanTF {#1}
+%   {
+%     \IfLanguageName{french}{%
+%       c'est-\`{a}-dire
+%     }{}%
+%     \IfLanguageName{english}{%
+%       id est
+%     }{}%
+%   }
+%   {
+%     \IfLanguageName{french}{%
+%       c.-à-d
+%     }{}%
+%     \IfLanguageName{english}{%
+%       i.e
+%     }{}%
+%     \@ifnextchar.%
+%     {
+%     }{
+%       .\xspace
+%     }%
+%   }
+% }
 %
 \NewDocumentCommand{\program}{ m }
 {
@@ -1772,7 +1982,7 @@
 {
   \hyperref[sec-comm-oblig]{%
     \textcolor{red!75!black}{
-      % \pdftex_if_engine:TF
+      % \sys_if_engine_pdftex:TF
       % {
       %   % \string!
       %   \ding{52}
@@ -1787,9 +1997,17 @@
     \fi%
   }%
 }
-\NewDocumentCommand{\mandatory}{  }
+\cs_new_protected:Nn \_@@_mandatory_no_link:
 {
-  \_@@_mandatory: {}
+  \textcolor{red!75!black}{
+    \faLock
+  }
+}
+\NewDocumentCommand{\mandatory}{ s }
+{
+  \IfBooleanTF {#1}
+  { \_@@_mandatory_no_link: {} }
+  { \_@@_mandatory: {} }
 }%
 %
 \NewDocumentCommand{\unixtldirectory}{}
@@ -1966,13 +2184,22 @@
 \pdfsuppresswarningpagegroup=1
 %    \end{macrocode}
 %
+% We want to make the angle brackets generated by ×\meta× to be copied and
+% pasted as they are, and not replaced by "h" and "i"
+% (cf. \url{https://tex.stackexchange.com/q/18146/18401}).
 %    \begin{macrocode}
+\newunicodechar{〈}{$\langle$}
+\newunicodechar{〉}{$\rangle$}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \cs_new_protected:Nn \_@@_meta:nn
 {
     \bgroup%
     \normalfont
     \ttfamily%
-    \textcolor{#1}{$\langle$\emph{#2}$\rangle$}%
+    \itshape%
+    \textcolor{#1}{$\langle$#2$\rangle$}%
     \egroup%
 }
 \AtBeginDocument{%
@@ -1985,12 +2212,12 @@
 % \subsection{Environments}
 %
 %    \begin{macrocode}
-\NewTCBListing{preamblecode}{ O{} }{%
+\NewTCBListing{preamblecode}{ !O{} }{%
   codes,%
   drop~lifted~shadow,
   #1%
 }
-\NewTCBListing{bodycode}{ O{} }{%
+\NewTCBListing{bodycode}{ !O{} }{%
   codes,%
   #1%
 }
@@ -2039,9 +2266,14 @@
 %
 %    \begin{macrocode}
 \tl_new:N \g_@@_number_within_tl
-\tl_set:Nn \g_@@_number_within_tl {chapter}
+\ifcsdef{chapter}{
+  \tl_set:Nn \g_@@_number_within_tl {chapter}
+}{
+  \tl_set:Nn \g_@@_number_within_tl {section}
+}
 \@ifclassloaded{gztarticle}{\tl_set:Nn \g_@@_number_within_tl {section}}{}%
 \@ifclassloaded{nwejmart}{\tl_set:Nn \g_@@_number_within_tl {section}}{}%
+\@ifclassloaded{beamer}{\tl_set:Nn \g_@@_number_within_tl {section}}{}%
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -2116,7 +2348,8 @@
   {
    menufont = \sffamily ,
    menusep  = ${}\to{}$
- }%    \end{macrocode}
+ }
+%    \end{macrocode}
 \menuentryset{inputsep=>}
 %
 % \section{Definitions specific to peticular classes or packages}
@@ -2341,7 +2574,7 @@
   \providecommand*\lettergroup[1]{%
     \belowpdfbookmark{#1}{\csuse{DBD at index@symbolic at name}:#1}%
     \par\indexheading{#1}{\csuse{DBD at index@symbolic at name}}\par
-    \nopagebreak
+    % \nopagebreak
   }
   ~n"
   :close "~n~n\end{theindex}~n"

Modified: trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins	2020-03-27 21:10:51 UTC (rev 54583)
+++ trunk/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins	2020-03-27 21:12:57 UTC (rev 54584)
@@ -2,10 +2,11 @@
 \askforoverwritefalse
 \preamble
 -----------------------------------------------------------------------------
-denisbdoc --- A personal dirty package for documenting packages, version 0.7
+denisbdoc --- A personal dirty package for documenting personal classes,
+              version 0.8
 
 Maintained by Denis Bitouz'e
-E-mail: denis.bitouze at lmpa.univ-littoral.fr
+E-mail: denis.bitouze at univ-littoral.fr
 Released under the LaTeX Project Public License v1.3c or later
 See http://www.latex-project.org/lppl.txt
 -----------------------------------------------------------------------------
@@ -12,8 +13,8 @@
 
 \endpreamble
 \postamble
-Copyright (C) 2015, 2016, 2017 by
-  Denis Bitouz'e <denis.bitouze at lmpa.univ-littoral.fr>
+Copyright (C) 2015-2020 by
+  Denis Bitouz'e <denis.bitouze at univ-littoral.fr>
 
 It may be distributed and/or modified under the conditions of
 the LaTeX Project Public License (LPPL), either version 1.3c of

Modified: trunk/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty	2020-03-27 21:10:51 UTC (rev 54583)
+++ trunk/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty	2020-03-27 21:12:57 UTC (rev 54584)
@@ -6,16 +6,17 @@
 %%
 %% denisbdoc.dtx  (with options: `package')
 %% -----------------------------------------------------------------------------
-%% denisbdoc --- A personal dirty package for documenting packages, version 0.7
+%% denisbdoc --- A personal dirty package for documenting personal classes,
+%%               version 0.8
 %% 
 %% Maintained by Denis Bitouz'e
-%% E-mail: denis.bitouze at lmpa.univ-littoral.fr
+%% E-mail: denis.bitouze at univ-littoral.fr
 %% Released under the LaTeX Project Public License v1.3c or later
 %% See http://www.latex-project.org/lppl.txt
 %% -----------------------------------------------------------------------------
 %% 
 \RequirePackage{expl3,l3keys2e,xparse}
-\ProvidesExplPackage {denisbdoc} {2017/01/01} {0.7}
+\ProvidesExplPackage {denisbdoc} {2020/03/27} {0.8}
   {A personal package for documenting packages}
 \@ifpackagelater { expl3 } { 2012/11/21 }
   { }
@@ -33,24 +34,33 @@
   yad .bool_gset:N = \g__denisbdoc_yad_bool,
   gzt .bool_gset:N = \g__denisbdoc_gzt_bool,
   nwejm .bool_gset:N = \g__denisbdoc_nwejm_bool,
+  studentreport .bool_gset:N = \g__denisbdoc_studentreport_bool,
+  lscape .bool_gset:N = \g__denisbdoc_lscape_bool,
 }
 \ProcessKeysOptions { denisbdoc }
 \PassOptionsToPackage{obeyspaces}{url}
 \sys_if_engine_pdftex:TF
-  {
-    \RequirePackage[T1]{fontenc}
-    \RequirePackage[utf8]{inputenc}
-  }{
-    \RequirePackage{fontspec}
-  }
+{
+  \RequirePackage{cmap}
+  \RequirePackage[T1]{fontenc}
+  \RequirePackage[utf8]{inputenc}
+}{
+  \RequirePackage{fontspec}
+}
 \RequirePackage{xpatch}%
 \AtEndPreamble{%
   \RequirePackage{mweights}%
 }%
+\RequirePackage{fixfoot}%
+\newif\if at DBD@beamer at not@loaded@
+\@DBD at beamer@not at loaded@true
+\@ifclassloaded{beamer}{\@DBD at beamer@not at loaded@false}{\@DBD at beamer@not at loaded@true}
+\if at DBD@beamer at not@loaded@
 \RequirePackage{parskip}%
-\RequirePackage{fixfoot}%
-\RequirePackage{marginnote}
-\RequirePackage[inline]{enumitem}%
+  \RequirePackage{marginnote}
+  \RequirePackage{mparhack}
+  \RequirePackage[inline]{enumitem}
+\fi%
 \RequirePackage{afterpage}%
 \RequirePackage{calc}%
 \RequirePackage{siunitx}%
@@ -57,18 +67,28 @@
 \RequirePackage{booktabs}%
 \RequirePackage{multirow}%
 \RequirePackage[xr]{zref}%
-\RequirePackage[multiple]{footmisc}%
-\RequirePackage{rotating}%
-\RequirePackage{pdflscape}%
+\if at DBD@beamer at not@loaded@
+  \RequirePackage[multiple]{footmisc}%
+  \RequirePackage{rotating}%
+\fi%
+\bool_if:nTF {\g__denisbdoc_lscape_bool} {%
+  \RequirePackage{lscape}%
+}{%
+  \RequirePackage{pdflscape}%
+}
 \RequirePackage{xspace}%
 \RequirePackage{accsupp}
+\RequirePackage{newunicodechar}
 \RequirePackage{hologo}%
 \RequirePackage{xifthen}%
 \RequirePackage{refcount}%
+\RequirePackage{etoolbox}%
 \RequirePackage{iflang}%
 \RequirePackage{ifpdf}%
 \RequirePackage{amssymb}%
-\RequirePackage{tocvsec2}%
+\if at DBD@beamer at not@loaded@
+  \RequirePackage{tocvsec2}%
+\fi
 \RequirePackage{ltxcmds}%
 \RequirePackage{csquotes}%
 \RequirePackage{tikz}%
@@ -94,7 +114,6 @@
       \__denisbdoc_printbibliography_ORI[heading=bibintoc,#1]%
       \pagestyle{ordinary}%
     }%
-  }{%
   }%
 }%
 }{%
@@ -104,8 +123,10 @@
 \RequirePackage{babel}%
 \RequirePackage[nodayofweek]{datetime}%
 \RequirePackage{subcaption}%
-\RequirePackage{tocbibind}%
-\RequirePackage[xindy]{imakeidx}
+\if at DBD@beamer at not@loaded@
+  \RequirePackage{tocbibind}%
+  \RequirePackage[xindy]{imakeidx}
+\fi%
 \RequirePackage{varioref}%
 \@ifpackageloaded{tcolorbox}{%
 }{%
@@ -115,13 +136,16 @@
 }{%
   \RequirePackage[hyperfootnotes=false,hyperindex=false]{hyperref}%
 }%
-\RequirePackage{attachfile2} \@ifpackageloaded{nameref}{%
+\RequirePackage{attachfile2}%
+\@ifpackageloaded{nameref}{%
 }{%
   \RequirePackage{nameref}%
 }%
 \@ifpackageloaded{hypcap}{%
 }{%
-  \RequirePackage[all]{hypcap}%
+  \if at DBD@beamer at not@loaded@
+    \RequirePackage[all]{hypcap}%
+  \fi%
 }%
 \@ifpackageloaded{bookmark}{%
 }{%
@@ -132,6 +156,15 @@
   % \RequirePackage{glossaries}%
   \RequirePackage[xindy,hyperfirst=false,toc=false]{glossaries-extra}%
   \makeglossaries%
+  \newglossaryentry{zip}{%
+    name=zip,%
+    category={format},%
+    description={format~ de~ fichier~ permettant~ l'archivage~ (utilisation~
+      d'un~ seul~ fichier~ pour~ stocker~ plusieurs~ fichiers)~ et~ la~
+      compression~ de~ donn^^c3^^a9es~ (diminution~ de~ l'espace~ occup^^c3^^a9~ sur~ le~
+      support~ num^^c3^^a9rique)~ sans~ perte~ de~ qualit^^c3^^a9},%
+    text={zip}%
+  }%
   \setglossarystyle{indexhypergroup}%
   \setabbreviationstyle[acronym]{long-short-sc}%
   \newcommand*{\formatfont}[1]{\textsc{#1}}%
@@ -147,22 +180,24 @@
 }{%
   \RequirePackage{cleveref}%
 }%
-\def\hdpindex#1#2{%
-  \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
-    \hyperpage{#2}%
-  }%
-}
-\let\HDorg at wrglossary\@wrglossary
-\def\@wrglossary#1{%
-  \let\HDorg at encapchar\encapchar
-  \def\encapchar##1\encapchar##2\@nil{%
-    \HDorg at encapchar
-    hdpindex{##1}%
-  }%
-  \HDorg at wrglossary{#1\encapchar\encapchar\@nil}%
-}
+\if at DBD@beamer at not@loaded@
+  \def\hdpindex#1#2{%
+    \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
+      \hyperpage{#2}%
+    }%
+  }
+  \let\HDorg at wrglossary\@wrglossary
+  \def\@wrglossary#1{%
+    \let\HDorg at encapchar\encapchar
+    \def\encapchar##1\encapchar##2\@nil{%
+      \HDorg at encapchar
+      hdpindex{##1}%
+    }%
+    \HDorg at wrglossary{#1\encapchar\encapchar\@nil}%
+  }
+\fi%
 \renewcommand{\acrpluralsuffix}{}
-\ltx at iffilelater{frenchb.ldf}{2016/03/20}{%
+\ltx at iffilelater{french.ldf}{2016/03/20}{%
 }{%
   \DeclareRobustCommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse%
     \ifFB at active@punct\noautospace at beforeFDP\shorthandoff{;:!?}\fi%
@@ -175,12 +210,6 @@
 \tcbuselibrary{listingsutf8}
 \else
 \tcbuselibrary{listings}
-\pdftex_if_engine:TF
-  {
-    \lstMakeShortInline[style=dbtex]|
-  }{
-    \lstMakeShortInline[style=dbtex]^^c3^^97
-  }
 \fi
 \tcbuselibrary{%
   documentation,theorems,breakable,skins,xparse%
@@ -204,11 +233,16 @@
   }
 }
 \tcbset{doc marginnote={if odd page or oneside={flushright upper}{flushright upper}}}
-\patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
-\patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
 \reversemarginpar
-\DeclareTotalTCBox{\commandshell}{  v  }
-{ commandshell}{#1}
+\pretocmd{\tcbdocmarginnote}{%
+  \patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
+  \patchcmd{\@mn at margintest}{\@tempswafalse}{\@tempswatrue}{}{}
+  \reversemarginpar%
+}{}{}
+\@ifpackageloaded{geometry}{%
+  \geometry{marginparwidth=.65in}%
+}{}
+\DeclareTotalTCBox{\commandshell}{ v }{ commandshell}{#1}
 \newtcblisting{listingshell}[1][]{%
   % colback=black,
   % colupper=white,
@@ -236,6 +270,7 @@
 }
 \usetikzlibrary{trees,backgrounds,fit,calc,positioning}
 \attachfilesetup{color=Hyperlink}
+\if at DBD@beamer at not@loaded@
 \newcommand{\indexmark}[1]{\hypertarget{index:#1}{#1}\markboth{#1}{#1}}
 \newcommand{\targetindexentry}[1]{\indexmark{#1}}
 \newcounter{targeti}
@@ -249,14 +284,15 @@
   \index{exemple!#1|example}%
 }
 \newcommand{\indexsee}[2]{\index{#1|see{#2}}}
-\xpretocmd{\printindex}{\def\DBD at index@symbolic at name{#1}}{}{}
+  \xpretocmd{\printindex}{\edef\DBD at index@symbolic at name{#1}}{}{\aaa}
+  % \xpretocmd{\printindex}{\edef\DBD at index@symbolic at name{#1}}{}{\aaa}
 \xpatchcmd{\indexprologue}{#2}{%
   #2
   \par\bigskip
   \csuse{DBD at indexnavigation@\csuse{DBD at index@symbolic at name}}%
-}{}{}%
-\newif\if at DBD@no at first@letter@
-\@DBD at no@first at letter@false
+}{}{\aaa}%
+  \newif\if at DBD@no at first@letter@
+  \@DBD at no@first at letter@false
 \newcommand*{\indexheading}[2]{%
   \hypertarget{#2:#1}{\textbf{#1}}%
   \protected at write\@auxout{}{\string\DBD at indexgroup{#1}{#2}}%
@@ -272,7 +308,7 @@
     \fi
     \hyperlink{#2:#1}{\textbf{#1}}%
   }%
-}
+}%
 \DeclareUrlCommand\urldirectory{\urlstyle{tt}}
 \ExplSyntaxOn
 \tl_const:Nn \c__denisbdoc_examples_path_tl {../exemples}
@@ -302,6 +338,8 @@
 \colorlet{en-arborescence}{red!20}
 \colorlet{a-plat}{blue!20}
 \colorlet{texcs}{blue}
+\colorlet{directive}{texcs}
+\colorlet{mandatory-argument}{red}
 \colorlet{environment}{teal}
 \colorlet{key}{purple}
 \colorlet{value}{violet}
@@ -317,7 +355,7 @@
 \lstdefinelanguage[extLaTeX]{TeX}[LaTeX]{TeX}{%
   moretexcs={%
     footnotesize,huge,Huge,large,Large,LARGE,large,Large,scriptsize,tiny,%
-    includegraphics,cite,ttwplink,vref,LTXtable,tableofcontents,frontmatter,mainmatter,%
+    includegraphics,cite,ttwplink,cref,vref,LTXtable,tableofcontents,frontmatter,mainmatter,%
     part,chapter,section,subsection,subsubsection,paragraph,subparagraph,RequirePackage,%
     listoftables,listoffigures,lstlistingname,si,SI,ohm,num,space,shorthandon,shorthandoff,%
     abstractname,appendixname,contentsname,listfigurename,listtablename,indexname,%
@@ -327,9 +365,9 @@
     @pnumwidth,bookmarksetup,DeclareTextCommand,text,iiint,NewPairedDelimiter,%
     norm,lnorm,llnorm,lpnorm,supnorm,abs,prt,brk,brc,lrangle,leqgeq,%
     norm*,lnorm*,llnorm*,lpnorm*,supnorm*,abs*,prt*,brk*,brc*,lrangle*,leqgeq*,%
-    pdfobjcompresslevel,chaptermark%
+    pdfobjcompresslevel,chaptermark,PassOptionsToClass%
   },%
-  morekeywords=[1]{% Environments' names
+  morekeywords={[1]% Environments' names
     tabular,tabulary,math,document,minipage,eqnarray,eqnarray*,align,align*,%
     equation,gather,multline,flalign,equation*,gather*,multline*,flalign*,%
     itemize,itemize*,enumerate,enumerate*,description,description*,%
@@ -355,7 +393,7 @@
     acrfullpl,Acrfullpl,%
     Acrlong*,acronymtype,printacronyms,printsymbols%
   },%
-  % Environments' names
+  % Mandatory arguments (other than environments' names)
   morekeywords={%
   },%
   % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements
@@ -376,11 +414,58 @@
 {%
   % S^^c3^^a9quences de contr^^c3^^b4les (commun^^c3^^a9ment appel^^c3^^a9es commandes ou macros)
   moretexcs={%
-    printbibliography,SetCiteCommand,autocite,addbibresource,fullcite,%
-    textcite,cite,citeauthor%
+    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%
   },%
-  % Mots-cl^^c3^^a9s de niveau 1 : arguments optionnels
-  morekeywords={%
+  % morekeywords={%
+  %   @article, at book, at inbook, at bookinbook, at suppbook, at booklet, at collection,%
+  %   @conference, at incollection, at suppcollection, at manual, at misc, at online,%
+  %   @patent, at periodical, at suppperiodical, at proceedings, at inproceedings,%
+  %   @reference, at inreference, at report, at thesis, at unpublished, at masterthesis,%
+  %   @phdthesis,%
+  %   @Article, at Book, at Inbook, at Bookinbook, at Suppbook, at Booklet, at Collection,%
+  %   @conference, at Incollection, at Suppcollection, at Manual, at Misc, at Online,%
+  %   @patent, at Periodical, at Suppperiodical, at Proceedings, at Inproceedings,%
+  %   @reference, at Inreference, at Report, at Thesis, at Unpublished, at Masterthesis,%
+  %   @Phdthesis,%
+  %   @ARTICLE, at BOOK, at INBOOK, at BOOKINBOOK, at SUPPBOOK, at BOOKLET, at COLLECTION,%
+  %   @CONFERENCE, at INCOLLECTION, at SUPPCOLLECTION, at MANUAL, at MISC, at ONLINE,%
+  %   @PATENT, at PERIODICAL, at SUPPPERIODICAL, at PROCEEDINGS, at INPROCEEDINGS,%
+  %   @REFERENCE, at INREFERENCE, at REPORT, at THESIS, at UNPUBLISHED, at MASTERTHESIS,%
+  %   @PHDTHESIS,%
+  %   @string, at String, at STRING, at comment%
+  % },%
+  % 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,%
+    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,%
+    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,String,STRING,comment%
+  },%
+  % Mots-cl^^c3^^a9s de niveau 1 : attributs et options de biblatex
+  morekeywords=[2]{%
     abstract,addendum,afterword,annotation,annotator,author,authortype,%
     bookauthor,bookpagination,booksubtitle,booktitle,booktitleaddon,%
     chapter,commentator,date,doi,edition,editor,editora,editorb,%
@@ -400,24 +485,61 @@
     archiveprefix,journal,key,pdf,primaryclass,school,address,%
     %
     backend,style,citestyle,bibstyle,sorting,maxnames,minnames,maxitems,minitems,%
-    backref,abbreviate,firstinits,prenote,postnote,useprefix%
+    backref,abbreviate,firstinits,prenote,postnote,useprefix,autopunct%
   },%
+  % Mots-cl^^c3^^a9s de niveau 3 : valeurs des attributs identifi^^c3^^a9es
+  morekeywords=[3]{%
+    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,%
+    inline,footnote,superscript,plain,%
+    nyt,ynt,none,false%
+  },%
+  alsoletter={-123},%
+  sensitive,%
+  delim=*[directive]@
+  %
+}[keywords,directives,tex,comments]%
+\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}%
+{%
+  % S^^c3^^a9quences de contr^^c3^^b4les (commun^^c3^^a9ment appel^^c3^^a9es commandes ou macros)
+  moretexcs={%
+    enquote,textelp,textins,blockcquote,SetCiteCommand%
+  },%
+  % Mots-cl^^c3^^a9s de niveau 1 : arguments optionnels
+  morekeywords={%
+  },%
   % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements
   morekeywords=[2]{%
     % title,
-    heading,refsegment%
   },%
   % Mots-cl^^c3^^a9s de niveau 3 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur
   morekeywords=[3]{%
-    bibintoc,skipbib,chapter%
+    skipbib%
   },%
+  % Mots-cl^^c3^^a9s de niveau 4 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur
+  morekeywords=[4]{%
+  },%
   sensitive%
 }[keywords,tex,comments]%
-\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}%
+\lstdefinelanguage[colophon]{TeX}[LaTeX]{TeX}%
 {%
   % S^^c3^^a9quences de contr^^c3^^b4les (commun^^c3^^a9ment appel^^c3^^a9es commandes ou macros)
   moretexcs={%
-    enquote,textelp,textins,blockcquote%
+    colophontitle,colophontitlestyle,colophontitlesize,colophonmidspace,%
+    colophonpagestyle,colophontitlealign,colophonpretitlehook,colophonposttitlehook,%
+    colophonparstyle,colophonparsize,colophonparlead,colophonnofirstindent,colophonpreparhook,%
+    colophonpostparhook,colophonparalign,colophonnofullpage,colophonnoclrdblpg,colophonclrpg,%
+    colophontopspace,colophonbotspace%
   },%
   % Mots-cl^^c3^^a9s de niveau 1 : arguments optionnels
   morekeywords={%
@@ -424,11 +546,13 @@
   },%
   % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements
   morekeywords=[2]{%
-    % title,
+    colophon,
   },%
   % Mots-cl^^c3^^a9s de niveau 3 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur
   morekeywords=[3]{%
-    skipbib%
+    titlestyle,titlesize,aftertitle,pagestyle,titlealign,%
+    parstyle,parsize,parlead,nofirstindent,nofullpage,noclrdblpg,%
+    clrpg,topspace,botspace%
   },%
   % Mots-cl^^c3^^a9s de niveau 4 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur
   morekeywords=[4]{%
@@ -513,8 +637,13 @@
   },%
   % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements
   morekeywords=[2]{%
-    breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all%
+    breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all,pdfencoding,final,%
+    hidelinks,linktoc,%
   },%
+  % Mots-cl^^c3^^a9s de niveau 3 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur
+  morekeywords=[3]{%
+    unicode%
+  },%
   sensitive%
 }[keywords,tex,comments]%
 \lstdefinelanguage[yad]{TeX}[LaTeX]{TeX}{%
@@ -524,7 +653,7 @@
     laboratory,dedication,frontepigraph,keywords,subject,expression,tableofcontents,submissiondate,%
     maketitle,makedisclaimer,makekeywords,makelaboratory,makeabstract,makededications,%
     makefrontepigraphs,makebackcover,ordernumber,chapter*,disclaimer,newglssymbol,yadsetup,%
-    comue,%
+    comue,newcorporation%
     % acknowledgements,frenchabstract,foreword,preface,caution,
   },%
   % Environments' names
@@ -543,7 +672,7 @@
     address,telephone,fax,email,type,acronym,heading,nowarning,noerror,nofrontcover,role,%
     hyperfootnotes,hyperindex,plainpages,pdfpagemode,pdfpagelayout,locale,gray,frametitle,%
     graphicx,adjustbox,setspace,xcolor,datatool,titleps,draftwatermark,babel,datetime,%
-    bookmark,fncychap,localtocs,localbibs,localbibs*%
+    bookmark,fncychap,localtocs,localtocs/depth,localbibs,localbibs*%
   },%
   morekeywords=[3]{% Values of key-value lists
     single,onehalf,double,doctor,yadsymbolstyle,%
@@ -567,7 +696,7 @@
     comonitor*,supervisor,supervisor*,academicfield,doctoralschool,keywords,%
     ordernumber,committeepresident,committeepresident*,speciality%
   },%
-  alsoletter={!-*1234560}%
+  alsoletter={!-*1234560/}%
 }%
 \lstdefinelanguage[gzt]{TeX}[LaTeX]{TeX}{%
   moretexcs={% Control sequences' names
@@ -582,7 +711,7 @@
     vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,%
     gztverb,th,epigraph%
   },%
-  % Environments' names
+  % Mandatory arguments (other than environments' names)
   morekeywords={%
     gzt,gztarticle%
   },%
@@ -620,11 +749,13 @@
     printauthorsdetails,date,title,author,maketitle,item,printbibliography,%
     vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,set,%
     nwejmverb,th,epigraph,keywords,msc,acknowledgments,E,I,grad,Div,curl,rot,supp,%
-    DeclareMathOperator,BinaryOperators,dif,articlesetup%
+    DeclareMathOperator,BinaryOperators,dif,articlesetup,%
+    bbN,bbZ,bbD,bbQ,bbR,bbC,bbK,%
+    newenumeration%
   },%
-  % Environments' names
+  % Mandatory arguments (other than environments' names)
   morekeywords={%
-    nwejm,nwejmart,assertions,hypotheses%
+    nwejm,nwejmart,%
   },%
   morekeywords=[1]{% Environments' names
     abstract,minitoclist,bookreview,bookadvertisement,%
@@ -632,7 +763,8 @@
     theorem,theoreme,corollary,corollaire,conjecture,proposition,%
     lemma,lemme,axiom,axiome,definition,remark,remarque,example,exemple,notation,%
     theorem*,theoreme*,corollary*,corollaire*,conjecture*,proposition*,proof,preuve,%
-    lemma*,lemme*,axiom*,axiome*,definition*,remark*,remarque*,example*,exemple*,notation*%
+    lemma*,lemme*,axiom*,axiome*,definition*,remark*,remarque*,example*,exemple*,notation*,%
+    assertions,hypotheses%
   },%
   morekeywords=[2]{% Keys of key-value lists
     number,month,year,publisher,address,phone,fax,email,url,issn,isbn,short,minishort,notintoc,%
@@ -639,7 +771,7 @@
     abstract,frenchtitle,englishtitle,% title,label,%
     pictogram,list,help,diameter,textwidth,xshift,yshift,%
     affiliation,affiliationtagged,email,minibio,photo,webpage,frontcover,bibkey,copyright,%
-    gradient%
+    gradient,title/french,style,title,title-plural,singular,plural,label%
   },%
   morekeywords=[3]{% Values of key-value lists
     true,false,theorem,definition,proof%
@@ -647,6 +779,25 @@
   morekeywords=[4]{% Class and packages options
     pagegrid,forprinter,cover,forauthors,%
   },%
+  alsoletter={!-*1234560/}%
+}%
+\lstdefinelanguage[studentreport]{TeX}[LaTeX]{TeX}{%
+  moretexcs={% Control sequences' names
+    reportsetup,daterange,professionaladvisor,academicadvisor,companylogo%
+  },%
+  % Mandatory arguments (other than environments' names)
+  morekeywords={%
+  },%
+  morekeywords=[1]{% Environments' names
+  },%
+  morekeywords=[2]{% Keys of key-value lists
+    institute,subinstitute,subsubinstitute,year,10pt,11pt,12pt,internship,project,layout,%
+    strings,pretitle,company,advisor,advisors,before~start~date,before~end~date,date,%
+    logos,logosheights,,%
+  },%
+  morekeywords=[3]{% Values of key-value lists
+    ulco,iutlco,gte,gim,%
+  },%
   alsoletter={!-*1234560}%
 }%
 \lstdefinelanguage{bash}[]{sh}%
@@ -666,33 +817,35 @@
   \ttfamily%
   \DeclareFontShape{T1}{lmtt}{bx}{it}{<-> ssub * lmtt/b/sl}{}%
 }
-\xapptocmd{\@chapter}{%
-  \addtocontents{dbwarninglist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbremarklist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbexamplelist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbfaqlist}{\protect\addvspace{10\p@}}%
-  \addtocontents{dbtablist}{\protect\addvspace{10\p@}}%
-}{}{}
+\if at DBD@beamer at not@loaded@
+\ifcsdef{@chapter}{
+  \xapptocmd{\@chapter}{%
+    \addtocontents{dbwarninglist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbremarklist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbexamplelist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbfaqlist}{\protect\addvspace{10\p@}}%
+    \addtocontents{dbtablist}{\protect\addvspace{10\p@}}%
+  }{}{}
+}{}
+\fi%
 \sisetup{locale=FR,detect-all}
-\lstdefinestyle{dbtex}{%
+\lstdefinestyle{pre-dbtex}{%
   escapechar=",
   language=[LaTeX]TeX,
   alsolanguage=[extLaTeX]TeX,
-  alsolanguage=[glossaries]TeX,
-  alsolanguage=[biblatex]TeX,
+  % alsolanguage=[glossaries]TeX,
+  % alsolanguage=[biblatex]TeX,
   alsolanguage=[csquotes]TeX,
-  alsolanguage=[tcolorbox]TeX,
-  alsolanguage=[listings]TeX,
-  alsolanguage=[xcolor]TeX,
-  alsolanguage=[hyperref]TeX,
-  alsolanguage=[yad]TeX,
-  alsolanguage=[gzt]TeX,
-  alsolanguage=[nwejm]TeX,
+  % alsolanguage=[tcolorbox]TeX,
+  % alsolanguage=[listings]TeX,
+  % alsolanguage=[xcolor]TeX,
+  % alsolanguage=[hyperref]TeX,
   texcsstyle=*\color{texcs},
   breaklines=true,
   basicstyle=\normalfont\ttfamily,
   commentstyle=\color{comment}\itshape,
-  keywordstyle={\color{environment}},
+  directivestyle={\color{directive}},
+  keywordstyle={\color{red}},
   keywordstyle={[1]\color{environment}},
   keywordstyle={[2]\color{key}},
   keywordstyle={[3]\color{value}},
@@ -708,13 +861,54 @@
   aboveskip=\c__denisbdoc_listings_aboveskip_skip,
   belowskip=\c__denisbdoc_listings_belowskip_skip
 }%
+\bool_if:nT {\g__denisbdoc_yad_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[yad]TeX,%
+    alsolanguage=[colophon]TeX,%
+    moretexcs={printbibliography,autocite},%
+  }
+}
+\bool_if:nT {\g__denisbdoc_gzt_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[gzt]TeX,%
+  }
+}
+\bool_if:nT {\g__denisbdoc_nwejm_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[nwejm]TeX,%
+  }
+}
+\bool_if:nT {\g__denisbdoc_studentreport_bool} {%
+  \lstdefinestyle{dbtex}{%
+    style=pre-dbtex,%
+    alsolanguage=[studentreport]TeX,%
+  }
+}
 \lstset{style=dbtex}
+\sys_if_engine_pdftex:TF
+{
+  \ExplSyntaxOff
+  \lstMakeShortInline[style=dbtex]|
+  \ExplSyntaxOn
+}{
+  \lstMakeShortInline[style=dbtex]^^c3^^97
+}
 \tcbset{dbtcb/.style={%
     breakable,
     fonttitle=\bfseries,
     enlarge~top~by=1mm,
     separator~sign~dash,
-    label~separator=-
+    label~separator=-,
+    before~title={%
+      \hypersetup{hidelinks}%
+      \tcbset{%
+        color~definition=white,
+        color~hyperlink=white,
+      }%
+    }%
   }%
 }%
 \tcbset{%
@@ -787,83 +981,89 @@
     \index{expression!en~anglais!\enquote{\foreignlanguage{english}{\translate{#2}}}}%
   }
 }
-\expandafter\AtBeginDocument\expandafter{%
-  \expandafter\def\expandafter\theindex\expandafter{\theindex}%
-}
-\expandafter\AtBeginDocument\expandafter{%
-  \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}%
-}
-\ExplSyntaxOff
-\def\imki at finalmessage#1{}% since you're using latexmk
-\def\imki at startidx#1#2{%
-  \if at filesw
+\@ifclassloaded{beamer}{%
+}{%
+  \expandafter\AtBeginDocument\expandafter{%
+    \expandafter\def\expandafter\theindex\expandafter{\theindex}%
+  }
+  \expandafter\AtBeginDocument\expandafter{%
+    \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}%
+  }
+  \ExplSyntaxOff
+  \def\imki at finalmessage#1{}% since you're using latexmk
+  \def\imki at startidx#1#2{%
+    \if at filesw
     \def\index{\@bsphack
       \@ifnextchar [{\@index}{\@index[\imki at jobname]}}
     \expandafter\newwrite\csname #1 at idxfile\endcsname
     \immediate\openout \csname #1 at idxfile\endcsname #1.#2\relax
     \typeout{Writing index file #1.#2}%
-  \fi}
-\xpatchcmd\imki at makeindex
+    \fi}
+  \xpatchcmd\imki at makeindex
   {\imki at startidx\imki at name}
   {\imki at startidx\imki at name\imki at extout}
   {}{}
-\xpatchcmd\imki at build
+  \xpatchcmd\imki at build
   {\imki at dokey\imki at title}
   {\imki at dokey\imki at title
-   \imki at dokey\imki at extin
-   \imki at dokey\imki at extout}
+    \imki at dokey\imki at extin
+    \imki at dokey\imki at extout}
   {}{}
-\xpatchcmd{\imki at putindex}
+  \xpatchcmd{\imki at putindex}
   {\imki at options}
   {\c_space_tl~ -o~ #1.\imki at extin\imki at options}
   {}{}
-\xpatchcmd{\imki at putindex}
+  \xpatchcmd{\imki at putindex}
   {.idx}
   {.\imki at extout}
   {}{}
-\xpatchcmd{\imki at putindex}
+  \xpatchcmd{\imki at putindex}
   {.ind}
   {.\imki at extin}
   {}{}
-\def\imki at extout{idx}\def\imki at extin{ind}
-\define at key{imki}{extout}{\def\imki at extout{#1}}
-\define at key{imki}{extin}{\def\imki at extin{#1}}
+  \def\imki at extout{idx}\def\imki at extin{ind}
+  \define at key{imki}{extout}{\def\imki at extout{#1}}
+  \define at key{imki}{extin}{\def\imki at extin{#1}}
+}%
 \ExplSyntaxOn
-\cs_new_protected:Nn \__denisbdoc_alert:n
-{
-  \begingroup
-  \color{red}
-  #1
-  \endgroup
-}%
-\NewDocumentCommand \alert {m}
-{
-  \__denisbdoc_alert:n {#1}
-}%
-\DeclareDocumentCommand \changes { smmm } {
-  \IfBooleanTF {#1}
+\@ifclassloaded{beamer}{%
+}{%
+  \cs_new_protected:Nn \__denisbdoc_alert:n
   {
-    \tl_set:Nn \l_tmpa_tl {\alert{#4}}
-  }{
-    \tl_set:Nn \l_tmpa_tl {#4}
+    \begingroup
+    \color{red}
+    #1
+    \endgroup
+  }%
+  \NewDocumentCommand \alert {m}
+  {
+    \__denisbdoc_alert:n {#1}
+  }%
+  \DeclareDocumentCommand \changes { smmm } {
+    \IfBooleanTF {#1}
+    {
+      \tl_set:Nn \l_tmpa_tl {\alert{#4}}
+    }{
+      \tl_set:Nn \l_tmpa_tl {#4}
+    }
+    \ifx\@onlypreamble\@notprerr
+    \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl}
+    \else
+    \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble}
+    \fi
   }
-  \ifx\@onlypreamble\@notprerr
-  \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl}
-  \else
-  \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble}
-  \fi
-}
-\DeclareDocumentCommand \PrintChanges { O{} } {
-  \indexprologue{#1}
-  \def\imki at indexlevel{\chapter}
-  \printindex[\jobname-changes]
-  \def\imki at indexlevel{\chapter*}
-}
+  \DeclareDocumentCommand \PrintChanges { !O{} } {
+    \indexprologue{#1}
+    \def\imki at indexlevel{\chapter}
+    \printindex[\jobname-changes]
+    \def\imki at indexlevel{\chapter*}
+  }
+}%
 \IfLanguageName{french}{%
   \DeclarePlainStyle{^^c2^^ab~}{~^^c2^^bb}%
                     {^^e2^^80^^9c}{^^e2^^80^^9d}
 }{}%
-\tl_const:Nx \c__denisbdoc_standard_url_tl { \tl_to_str:n { http://www.ctan.org/pkg/ } }
+\tl_const:Nx \c__denisbdoc_standard_url_tl { \tl_to_str:n { http://ctan.org/pkg/ } }
 \cs_new_protected:Npn \__denisbdoc_package_format:nn #1#2
 {
   #2{\sffamily#1}
@@ -900,15 +1100,15 @@
   }
   {#4}
 }
-\NewDocumentCommand{\package}{ s t+ O{} m O{package} O{} O{} } {
+\NewDocumentCommand{\package}{ s t+ O{} m !O{package} !O{} !O{} } {
   \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7}
 }
-\NewDocumentCommand{\Package}{ s t+ O{} m O{package} O{} O{} } {
+\NewDocumentCommand{\Package}{ s t+ O{} m !O{package} !O{} !O{} } {
   \IfLanguageName{french}{package~}{}%
   \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7}
   \IfLanguageName{english}{~package}{}%
 }
-\NewDocumentCommand{\class}{ s t+ O{} m O{} O{} O{} } {
+\NewDocumentCommand{\class}{ s t+ O{} m !O{} !O{} !O{} } {
   \IfLanguageName{french}{%
     \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7}
   }{}%
@@ -916,7 +1116,7 @@
     \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{class}{#6}{#7}
   }{}%
 }
-\NewDocumentCommand{\Class}{ s t+ O{} m O{} O{} O{} } {
+\NewDocumentCommand{\Class}{ s t+ O{} m !O{} !O{} !O{} } {
   \IfLanguageName{french}{%
     classe~%
     \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7}
@@ -962,34 +1162,10 @@
 }
 \NewDocumentCommand{\Folder}{ m }
 {%
-  \IfLanguageName{french}{r^^c3^^a9pertoire~}{}%
+  \IfLanguageName{french}{dossier~}{}%
   \__denisbdoc_file:n {#1}%
   \IfLanguageName{english}{~directory}{}%
 }%
-\NewDocumentCommand \ie { s } {%
-  \IfBooleanTF {#1}
-  {
-    \IfLanguageName{french}{%
-      c'est-\`{a}-dire
-    }{}%
-    \IfLanguageName{english}{%
-      id est
-    }{}%
-  }
-  {
-    \IfLanguageName{french}{%
-      c.-^^c3^^a0-d
-    }{}%
-    \IfLanguageName{english}{%
-      i.e
-    }{}%
-    \@ifnextchar.%
-    {
-    }{
-      .\xspace
-    }%
-  }
-}
 \NewDocumentCommand{\program}{ m }
 {
   \__denisbdoc_file:n {#1}%
@@ -1096,7 +1272,7 @@
 {
   \hyperref[sec-comm-oblig]{%
     \textcolor{red!75!black}{
-      % \pdftex_if_engine:TF
+      % \sys_if_engine_pdftex:TF
       % {
       %   % \string!
       %   \ding{52}
@@ -1111,9 +1287,17 @@
     \fi%
   }%
 }
-\NewDocumentCommand{\mandatory}{  }
+\cs_new_protected:Nn \__denisbdoc_mandatory_no_link:
 {
-  \__denisbdoc_mandatory: {}
+  \textcolor{red!75!black}{
+    \faLock
+  }
+}
+\NewDocumentCommand{\mandatory}{ s }
+{
+  \IfBooleanTF {#1}
+  { \__denisbdoc_mandatory_no_link: {} }
+  { \__denisbdoc_mandatory: {} }
 }%
 \NewDocumentCommand{\unixtldirectory}{}
 {
@@ -1247,12 +1431,15 @@
   }
 }
 \pdfsuppresswarningpagegroup=1
+\newunicodechar{^^e3^^80^^88}{$\langle$}
+\newunicodechar{^^e3^^80^^89}{$\rangle$}
 \cs_new_protected:Nn \__denisbdoc_meta:nn
 {
     \bgroup%
     \normalfont
     \ttfamily%
-    \textcolor{#1}{$\langle$\emph{#2}$\rangle$}%
+    \itshape%
+    \textcolor{#1}{$\langle$#2$\rangle$}%
     \egroup%
 }
 \AtBeginDocument{%
@@ -1260,12 +1447,12 @@
     \__denisbdoc_meta:nn {#1}{#2}
   }
 }%
-\NewTCBListing{preamblecode}{ O{} }{%
+\NewTCBListing{preamblecode}{ !O{} }{%
   codes,%
   drop~lifted~shadow,
   #1%
 }
-\NewTCBListing{bodycode}{ O{} }{%
+\NewTCBListing{bodycode}{ !O{} }{%
   codes,%
   #1%
 }
@@ -1296,9 +1483,14 @@
   #3,
 }%
 \tl_new:N \g__denisbdoc_number_within_tl
-\tl_set:Nn \g__denisbdoc_number_within_tl {chapter}
+\ifcsdef{chapter}{
+  \tl_set:Nn \g__denisbdoc_number_within_tl {chapter}
+}{
+  \tl_set:Nn \g__denisbdoc_number_within_tl {section}
+}
 \@ifclassloaded{gztarticle}{\tl_set:Nn \g__denisbdoc_number_within_tl {section}}{}%
 \@ifclassloaded{nwejmart}{\tl_set:Nn \g__denisbdoc_number_within_tl {section}}{}%
+\@ifclassloaded{beamer}{\tl_set:Nn \g__denisbdoc_number_within_tl {section}}{}%
 \newtcbtheorem[list~inside=dbwarninglist,number~within=\g__denisbdoc_number_within_tl,crefname={avertissement}{avertissements}]{dbwarning}{Avertissement}{%
   colback=red!5!white,
   colframe=red!75!black,
@@ -1361,7 +1553,7 @@
   {
    menufont = \sffamily ,
    menusep  = ${}\to{}$
- }%    \end{macrocode}
+ }
 \menuentryset{inputsep=>}
 \tl_const:Nn \c__denisbdoc_yat_class_name_tl {yathesis}
 \tl_const:Nn \c__denisbdoc_configuration_directory_string_tl {configuration}
@@ -1474,8 +1666,8 @@
   \def\program#1{#1}
 }
 \ExplSyntaxOff
-%% Copyright (C) 2015, 2016, 2017 by
-%%   Denis Bitouz'e <denis.bitouze at lmpa.univ-littoral.fr>
+%% Copyright (C) 2015-2020 by
+%%   Denis Bitouz'e <denis.bitouze at univ-littoral.fr>
 %% 
 %% It may be distributed and/or modified under the conditions of
 %% the LaTeX Project Public License (LPPL), either version 1.3c of



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