summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-05-03 21:24:56 +0000
committerKarl Berry <karl@freefriends.org>2015-05-03 21:24:56 +0000
commitc3e0654336fe8278b44aef074c0e8a55b757bd4d (patch)
treeb301eb686dcfbef97003615b3465da6fb8982bf7 /Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx
parent26d429cb927bc39e85321f20763e9ffcdefdcdcf (diff)
denisbdoc (3may15)
git-svn-id: svn://tug.org/texlive/trunk@37170 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx')
-rw-r--r--Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx1510
1 files changed, 1510 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx b/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx
new file mode 100644
index 00000000000..65610311db4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx
@@ -0,0 +1,1510 @@
+% \iffalse meta-comment
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+-----------------------------------------------------------------------------
+denisbdoc --- A personal dirty package for documenting packages, version 0.1
+
+Installation
+------------
+
+The package is supplied in `dtx` format. If you want to unpack the `.dtx`
+yourself, running `tex denisbdoc.dtx` will extract the package.
+
+This package is currently not documented.
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input l3docstrip.tex
+\askforoverwritefalse
+\preamble
+-----------------------------------------------------------------------
+-----------------------------------------------------------------------------
+denisbdoc --- A personal dirty package for documenting packages, version 0.1
+
+Maintained by Denis Bitouz'e
+E-mail: denis.bitouze@lmpa.univ-littoral.fr
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+-----------------------------------------------------------------------------
+
+\endpreamble
+\postamble
+Copyright (C) 2015 by
+ Denis Bitouz'e <denis.bitouze@lmpa.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
+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
+ Denis Bitouz'e.
+
+This work consists of the file denisbdoc.dtx
+ denisbdoc.sty and
+ denisbdoc.ins.
+\endpostamble
+\usedir{tex/latex/denisbdoc}
+\generate{
+ \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/latex/denisbdoc}
+\generate{
+ \file{\jobname.ins}{\from{\jobname.dtx}{install}}
+}
+\nopreamble\nopostamble
+\usedir{doc/latex/denisbdoc}
+\generate{
+ \file{README.txt}{\from{\jobname.dtx}{readme}}
+}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+%<*driver|package>
+\RequirePackage{expl3,l3keys2e,xparse}
+%</driver|package>
+%<*driver>
+% \documentclass[english,french]{ltxdoc}
+% \usepackage{denisbdoc}
+% % Silence annoying fp package messages
+% %\DisableImplementation
+% \begin{document}
+% \DocInput{\jobname.dtx}
+% \end{document}
+%</driver>
+% \fi
+%
+% \GetFileInfo{\jobname.sty}
+%
+%\title{^^A
+% \textsf{denisbdoc} --- A personal package for documenting packages\thanks{^^A
+% This file describes \fileversion, last revised \filedate.^^A
+% }^^A
+%}
+%\author{^^A
+% Denis Bitouz'e\thanks
+% {^^A
+% E-mail: \href{mailto:denis.bitouze@lmpa.univ-littoral.fr}
+% {\texttt{denis.bitouze@lmpa.univ-littoral.fr}}^^A
+% }^^A
+%}
+%\date{Released \filedate}
+%
+%\maketitle
+%
+%\changes{v1.0}{2015/03/15}{First official release}
+%
+%\begin{abstract}
+% ...
+%\end{abstract}
+%
+%\tableofcontents
+%
+%\begin{documentation}
+%
+%\section{Introduction}
+%
+% ...
+%
+%\section{Installation}
+%
+% The package is supplied in \file{dtx} format and as a pre-extracted
+% zip file, \file{\jobname.tds.zip}. The later is most convenient for
+% most users: simply unzip this in your local texmf directory and
+% run \texttt{texhash} to update the database of file locations. If
+% you want to unpack the \file{dtx} yourself, running
+% \texttt{tex \jobname.dtx} will extract the package whereas
+% \texttt{latex \jobname.dtx} will extract it and also typeset the
+% documentation.
+%
+% 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
+% 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{}
+% extensions: these are available on all modern \TeX{} systems.
+%
+% Typesetting the documentation requires a number of packages in
+% addition to those needed to use the package. This is mainly
+% because of the number of demonstration items included in the text. To
+% compile the documentation without error, you will need the packages:
+%\begin{itemize}
+% \item \pkg{amsmath}
+% \item \pkg{booktabs}
+% \item \pkg{cancel}
+% \item \pkg{caption}
+% \item \pkg{cleveref}
+% \item \pkg{colortbl}
+% \item \pkg{csquotes}
+% \item \pkg{helvet}
+% \item \pkg{mathpazo}
+% \item \pkg{multirow}
+% \item \pkg{listings}
+% \item \pkg{pgfplots}
+% \item \pkg{xcolor}
+%\end{itemize}
+%
+%\end{documentation}
+%
+%\begin{implementation}
+%
+% \chapter{Implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<@@=denisbdoc>
+% \end{macrocode}
+%
+% \section{Preliminaries}
+%
+% The usual preliminaries.
+% \begin{macrocode}
+\ProvidesExplPackage {denisbdoc} {2015/03/10} {0.1}
+ {A personal package for documenting packages}
+% \end{macrocode}
+%
+% Make sure that the version of \pkg{l3kernel} in use is sufficiently new.
+% This will also trap any problems with \pkg{l3packages} (as the two are now
+% tied together, version-wise).
+% \begin{macrocode}
+\@ifpackagelater { expl3 } { 2012/11/21 }
+ { }
+ {
+ \PackageError { denisbdoc } { Support~package~expl3~too~old }
+ {
+ You~need~to~update~your~installation~of~the~bundles~'l3kernel'~and~
+ 'l3packages'.\MessageBreak
+ Loading~denisbdoc~will~abort!
+ }
+ \tex_endinput:D
+ }
+% \end{macrocode}
+%
+% \section{Packages}
+%
+% \begin{macrocode}
+\PassOptionsToPackage{obeyspaces}{url}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\pdftex_if_engine:TF
+ {
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage[utf8]{inputenc}
+ }{
+ \RequirePackage{fontspec}
+ }
+\RequirePackage{xpatch}%
+% \end{macrocode}
+%
+% In order to as many write \enquote{streams} in auxiliary files as needed. It
+% is loaded at the end of preamble, otherwise the compilation stops a long time
+% at the line
+% ×(/usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)×
+% (trouble reported to the author).
+% \begin{macrocode}
+\AtEndPreamble{\RequirePackage{morewrites}}%
+%
+% \let\denisbdoc@ORI@task\task
+% \let\task\relax
+% \RequirePackage{exsheets}
+% \let\task\denisbdoc@ORI@task
+\RequirePackage{parskip}%
+\RequirePackage{amsthm}%
+\RequirePackage{thmtools}%
+\RequirePackage{fixfoot}%
+\RequirePackage[inline]{enumitem}%
+\RequirePackage{afterpage}%
+\RequirePackage{tabulary}%
+\RequirePackage{calc}%
+% \RequirePackage[lining]{libertine}%
+\RequirePackage{siunitx}%
+% \RequirePackage[a4paper]{geometry}%
+\RequirePackage[nottoc,notindex]{tocbibind}%
+\RequirePackage{varioref}%
+\RequirePackage{booktabs}%
+\RequirePackage[xr]{zref}%
+\RequirePackage[multiple,bottom]{footmisc}%
+\RequirePackage{rotating}%
+\RequirePackage{pdflscape}%
+\RequirePackage{pdflscape}%
+\RequirePackage{hologo}%
+\RequirePackage{xifthen}%
+\RequirePackage{refcount}%
+\RequirePackage{iflang}%
+\RequirePackage{amssymb}%
+\RequirePackage{tocvsec2}%
+\RequirePackage{csquotes}%
+\RequirePackage{tikz}%
+%
+\RequirePackage[xindy]{imakeidx}
+%
+\let\EUR\relax
+\@ifpackageloaded{tcolorbox}{%
+}{%
+ \RequirePackage{tcolorbox}%
+}%
+% \end{macrocode}
+%
+% We momentarily switch to a \enquote{normal} category code régime in which the
+% colon (:) is treated as \enquote{letter}, which is necessary when colon is
+% used in code (here \pkg{TikZ} and \pkg{tcolorbox}).
+% \begin{macrocode}
+\ExplSyntaxOff
+\tcbuselibrary{%
+ listingsutf8,
+ % listings,
+ documentation,theorems,breakable,skins%
+}
+\usetikzlibrary{trees,backgrounds,fit,calc,positioning}
+\ExplSyntaxOn
+\RequirePackage{comment}%
+\RequirePackage{path}%
+% \RequirePackage{fontawesome}%
+\RequirePackage{textcase}%
+\@ifpackageloaded{biblatex}{%
+}{%
+ \RequirePackage[backend=biber,style=authortitle,autopunct=false,useprefix=true,backref,dashed=false]{biblatex}%
+}%
+\RequirePackage{babel}%
+\RequirePackage[os=win]{menukeys}%
+\RequirePackage[nodayofweek]{datetime}%
+% \RequirePackage{floatrow}%
+% \RequirePackage{subcaption}%
+\@ifpackageloaded{hyperref}{%
+}{%
+ \RequirePackage{hyperref}%
+}%
+\@ifpackageloaded{nameref}{%
+}{%
+ \RequirePackage{nameref}%
+}%
+\RequirePackage[all]{hypcap}%
+\RequirePackage[numbered]{bookmark}%
+\@ifpackageloaded{glossaries}{%
+}{%
+\RequirePackage[xindy,toc,hyperfirst=false]{glossaries}%
+}%
+\@ifpackageloaded{cleveref}{%
+}{%
+ \RequirePackage{cleveref}%
+}%
+% \end{macrocode}
+% We apply a patch currently necessary (cf. \url|http://tex.stackexchange.com/a/233524/18401|).
+% \begin{macrocode}
+\inpenc@prehook=\expandafter{\the\inpenc@prehook
+ \xdef\saved@percent@catcode{\the\catcode`\%}%
+ \catcode`\%14\relax
+}
+\inpenc@posthook=\expandafter{\the\inpenc@posthook
+ \catcode`\%\saved@percent@catcode\relax
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareUrlCommand\urldirectory{\urlstyle{tt}}
+% \end{macrocode}
+%
+% We switch to the category code régime of LaTeX3.
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% \section{Strings and keywords}
+%
+% We now declare some private string constants.
+%
+% \begin{macro}{\c_@@_template_string_tl}
+% \begin{macro}{\c_@@_sample_string_tl}
+% \begin{macro}{\c_@@_flattemplate_string_tl}
+% \begin{macro}{\c_@@_flatsample_string_tl}
+% \begin{macro}{\c_@@_treetemplate_string_tl}
+% \begin{macro}{\c_@@_treesample_string_tl}
+% \begin{macrocode}
+\tl_const:Nn \c_@@_template_string_tl {canevas}
+\tl_const:Nn \c_@@_sample_string_tl {specimens}
+\tl_const:Nn \c_@@_flattemplate_string_tl {\c_@@_template_string_tl/a-plat}
+\tl_const:Nn \c_@@_flatsample_string_tl {\c_@@_sample_string_tl/a-plat}
+\tl_const:Nn \c_@@_treetemplate_string_tl {\c_@@_template_string_tl/en-arborescence}
+\tl_const:Nn \c_@@_treesample_string_tl {\c_@@_sample_string_tl/en-arborescence}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\c_@@_unixtldirectory_string_tl}
+% \begin{macro}{\c_@@_tlversion_string_tl}
+% \begin{macro}{\c_@@_wintldirectory_string_tl}
+% \begin{macro}{\c_@@_tldistdirectory_string_tl}
+% \begin{macro}{\c_@@_docdirectory_string_tl}
+% \begin{macro}{\c_@@_texdirectory_string_tl}
+% \begin{macro}{\c_@@_sourcedirectory_string_tl}
+% \begin{macro}{\c_@@_jobdirectory_string_tl}
+% \begin{macro}{\c_@@_jobdocdirectory_string_tl}
+% \begin{macro}{\c_@@_miktexdistdirectory_string_tl}
+% \begin{macrocode}
+\tl_const:Nn \c_@@_unixtldirectory_string_tl {/usr/local/}
+\tl_const:Nn \c_@@_tlversion_string_tl {2014}
+\tl_const:Nn \c_@@_wintldirectory_string_tl {c:/}
+\tl_const:Nn \c_@@_tldistdirectory_string_tl {texlive/\tlversion/texmf-dist/}
+\tl_const:Nn \c_@@_miktexdistdirectory_string_tl {[TODO]}
+\tl_const:Nn \c_@@_docdirectory_string_tl {doc/}
+\tl_const:Nn \c_@@_texdirectory_string_tl {tex/}
+\tl_const:Nn \c_@@_sourcedirectory_string_tl {source/}
+\tl_const:Nn \c_@@_jobdirectory_string_tl {latex/\jobname}
+\tl_const:Nn \c_@@_jobdocdirectory_string_tl {\docdirectory\jobdirectory}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% For the asides opening and eventuelly closing punctuation marks.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_aside_string_tl {---}
+% \end{macrocode}
+%
+% \subsection{Colors}
+%
+% \begin{macrocode}
+\colorlet{specimens}{yellow!30}
+\colorlet{canevas}{green!30}
+\colorlet{doc}{specimens!50!canevas}
+\colorlet{en-arborescence}{red!20}
+\colorlet{a-plat}{blue!20}
+\colorlet{texcs}{blue}
+\colorlet{environment}{teal}
+\colorlet{key}{purple}
+\colorlet{value}{violet}
+\colorlet{keyword4}{key}
+\colorlet{keyword5}{magenta}
+\colorlet{comment}{gray}
+\colorlet{string}{cyan}
+\colorlet{math}{green!50!black}
+\colorlet{meta}{brown}
+\colorlet{preamble}{violet}
+% \end{macrocode}
+%
+% \subsection{Skips}
+%
+% \begin{macrocode}
+\skip_const:Nn \c_@@_listings_aboveskip_skip { \c_zero_dim plus 6pt }%
+\skip_const:Nn \c_@@_listings_belowskip_skip { \c_zero_dim plus 6pt }%
+% \end{macrocode}
+%
+% \section{Local languages definitions for \Package{listings}}
+%
+% Now, we extend (or define new) local languages for the \Package{listings}.
+%
+% \subsubsection{Extension of the \enquote{LaTeX} TeX dialect}
+%
+% \begin{macrocode}
+\lstdefinelanguage[extLaTeX]{TeX}[LaTeX]{TeX}{%
+ moretexcs={%
+ footnotesize,huge,Huge,large,Large,LARGE,large,Large,scriptsize,tiny,%
+ includegraphics,cite,ttwplink,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,%
+ figurename,tablename,chaptername,pagename,seename,alsoname,proofname,bibname,glossaryname,%
+ addto,captionsenglish,captionsfrench,lipsum,partname,refname,renewcommand*,%
+ appendix,lstlistoflistings,graphicpath,loadglsentries,hypersetup,detect-all,SetWatermarkColor,%
+ @pnumwidth,bookmarksetup,DeclareTextCommand%
+ },%
+ morekeywords=[1]{% Environments' names
+ tabular,tabulary,math,document,minipage,eqnarray,eqnarray*,align,align*,%
+ itemize,itemize*,enumerate,enumerate*,description,description*,%
+ },%
+ morekeywords=[2]{% Keys of key-value lists and packages' names
+ bookmarksdepth,see,babel,colorlinks,linktoc,width%
+ },%
+ morekeywords=[3]{% Values of key-value lists
+ german,ngerman,french,english,spanish%
+ }, alsoletter={-*@1234560}%
+}%
+\lstdefinelanguage[glossaries]{TeX}[LaTeX]{TeX}%
+{%
+ % Séquences de contrôles (communément appelées commandes ou macros)
+ moretexcs={%
+ makeglossaries,printglossaries,printglossary,newglossaryentry,gls,Gls,GLS,glspl,Glspl,GLSpl,newacronym,%
+ glsuseri,glsuserii,glsuseriii,glsuseriv,glsuserv,glsuservi,glsshortpluralkey,glslongpluralkey,loadglsentries,%
+ glsadd,glstextformat,glsnamefont,glossarypreamble,glossarypostamble,acrshort,acrshort*,acrlong,acrfull,%
+ Acrshort,ACRshort,Acrlong,ACRlong,Acrfull,ACRfull,acrshortpl,Acrshortpl,acrlongpl,Acrlongpl,acrfullpl,Acrfullpl,%
+ Acrlong*,acronymtype,printacronyms,printsymbols%
+ },%
+ % Environments' names
+ morekeywords={%
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ first,firstplural,plural,sort,nonumberlist,name,acronym,acronyms,symbols,%
+ user1,user2,user3,user4,user5,user6,hyper,style,xindy,toc,%
+ useri,userii,useriii,useriv,userv,uservi%
+ },%
+ % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[3]{%
+ listgroup,listhypergroup,%
+ % textrm,textit,textsf,textsl,texttt,textup,textbf,textsc,textmd,emph,%
+ hyperrm,hyperit,hypersf,hypersl,hypertt,hyperup,hyperbf,hypersc,hypermd,hyperemph%
+ },%
+ sensitive%
+}[keywords,tex,comments]%
+%
+\lstdefinelanguage[biblatex]{TeX}[LaTeX]{TeX}%
+{%
+ % Séquences de contrôles (communément appelées commandes ou macros)
+ moretexcs={%
+ printbibliography,SetCiteCommand,autocite,addbibresource,fullcite%
+ },%
+ % Mots-clés de niveau 1 : arguments optionnels
+ morekeywords={%
+ 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,%
+ %
+ backend,style,citestyle,bibstyle,sorting,maxnames,minnames,maxitems,minitems,%
+ backref,abbreviate,firstinits,prenote,postnote,useprefix%
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ % title,
+ heading%
+ },%
+ % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[3]{%
+ bibintoc,skipbib%
+ },%
+ sensitive%
+}[keywords,tex,comments]%
+%
+% \lst@definelanguage[biblatex]{TeX}[LaTeX]{TeX}%
+% {%
+% % Séquences de contrôles (communément appelées commandes ou macros)
+% moretexcs={%
+% cite,Cite,parencite,Parencite,footcite,footcitetext,%
+% 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%
+% },%
+% % 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,%
+% Article,Book,Inbook,Bookinbook,Suppbook,Booklet,Collection,%
+% conference,Incollection,Suppcollection,Manual,Misc,Online,%
+% patent,Periodical,Suppperiodical,Proceedings,Inproceedings,%
+% reference,Inreference,Report,Thesis,Unpublished,%
+% ARTICLE,BOOK,INBOOK,BOOKINBOOK,SUPPBOOK,BOOKLET,COLLECTION,%
+% CONFERENCE,INCOLLECTION,SUPPCOLLECTION,MANUAL,MISC,ONLINE,%
+% PATENT,PERIODICAL,SUPPPERIODICAL,PROCEEDINGS,INPROCEEDINGS,%
+% REFERENCE,INREFERENCE,REPORT,THESIS,UNPUBLISHED,%
+% string,String,STRING,comment%
+% },%
+% % Mots-clés de niveau 3 : attributs et options de biblatex
+% 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,%
+% %
+% backend,style,citestyle,bibstyle,sorting,maxnames,minnames,maxitems,minitems,%
+% backref,abbreviate,firstinits,prenote,postnote,useprefix%
+% },%
+% % Mots-clés de niveau 4 : 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,skipbib,%
+% nyt,ynt,none,false%
+% },%
+% alsoletter={-123},%
+% sensitive=true,%
+% 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%
+ },%
+ % Mots-clés de niveau 1 : arguments optionnels
+ morekeywords={%
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ % title,
+ },%
+ % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[3]{%
+ },%
+ % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[4]{%
+ skipbib%
+ },%
+ sensitive%
+}[keywords,tex,comments]%
+%
+\lstdefinelanguage[tcolorbox]{TeX}[LaTeX]{TeX}%
+{%
+ % Séquences de contrôles (communément appelées commandes ou macros)
+ moretexcs={%
+ tcbset,tcbuselibrary%
+ },%
+ % Mots-clés de niveau 1 : arguments optionnels
+ morekeywords={%
+ listing,only,options,and,text%
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ colback,beamer,skins%
+ },%
+ % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[3]{%
+ lightgray,red!50!white%
+ },%
+ sensitive,%
+}[keywords,tex,comments]%
+%
+\lstdefinelanguage[listings]{TeX}[LaTeX]{TeX}%
+{%
+ % Séquences de contrôles (communément appelées commandes ou macros)
+ moretexcs={%
+ lstset,lstinline,lstinputlisting,lstMakeShortInline,lstDeleteShortInline,lstdefinestyle%
+ },%
+ % Mots-clés de niveau 1 : arguments optionnels
+ morekeywords={%
+ listing,listingutf8%
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ lstlisting,%
+ },%
+ % Mots-clés de niveau 3 : arguments optionnels clés dans clé=valeur
+ morekeywords=[3]{%
+ language,showtabs,escapeinside,mathescape,basicstyle,keywordstyle,commentstyle,%
+ stringstyle,numbers,frame,framesep,escapechar,tab,aboveskip,belowskip,%
+ linerange,backgroundcolor,rulecolor,framerule,inputencoding,stepnumber,numberstyle,%
+ rulesepcolor,style%
+ },%
+ % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[4]{%
+ Ada,left,single,shadowbox,Python%
+ },%
+ sensitive%
+}[keywords,tex,comments]%
+%
+\lstdefinelanguage[xcolor]{TeX}[LaTeX]{TeX}%
+{%
+ % Séquences de contrôles (communément appelées commandes ou macros)
+ moretexcs={%
+ textcolor,fcolorbox,colorbox,color,rowcolors,arrayrulecolor,rownum%
+ },%
+ % Mots-clés de niveau 1 : arguments optionnels
+ morekeywords={%
+ %
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ lightgray,red,blue,brown,purple,magenta,green,black,cyan,yellow,%
+ },%
+ % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur
+ morekeywords=[3]{%
+ %
+ },%
+ sensitive%
+}[keywords,tex,comments]%
+%
+\lstdefinelanguage[hyperref]{TeX}[LaTeX]{TeX}%
+{%
+ % Séquences de contrôles (communément appelées commandes ou macros)
+ moretexcs={%
+ href,url,hypersetup,hypertarget,hyperlink,pdfstringdefDisableCommands,texorpdfstring%
+ },%
+ % Mots-clés de niveau 1 : arguments optionnels
+ morekeywords={%
+ %
+ },%
+ % Mots-clés de niveau 2 : arguments obligatoires et environnements
+ morekeywords=[2]{%
+ breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all%
+ },%
+ sensitive%
+}[keywords,tex,comments]%
+% \end{macrocode}
+%
+% Definition of the \enquote{yad} \TeX{} dialect.
+% \begin{macrocode}
+\lstdefinelanguage[yad]{TeX}[LaTeX]{TeX}{%
+ % yathesis% TODO : à mettre ailleurs
+ moretexcs={% Control sequences' names
+ author,title,subtitle,academicfield,speciality,date,supervisor,cosupervisor,comonitor,%
+ referee,guest,examiner,committeepresident,pres,institute,coinstitute,company,doctoralschool,%
+ laboratory,dedication,frontepigraph,keywords,subject,expression,tableofcontents,submissiondate,%
+ maketitle,makedisclaimer,makekeywords,makelaboratory,makeabstract,makededications,makefrontepigraphs,%
+ % acknowledgements,frenchabstract,foreword,preface,caution,
+ makebackcover,ordernumber,chapter*,%
+ disclaimer,newglssymbol,yadsetup%
+ },%
+ % Environments' names
+ morekeywords={%
+ yathesis%
+ },%
+ morekeywords=[1]{% Environments' names
+ abstract,dedicationspage,epigraphspage,epigraphs,%
+ glossaries,otherlanguage%
+ },%
+ morekeywords=[2]{% Keys of key-value lists
+ professor,seniorresearcher,mcf,juniorresearcher,mcf*,%
+ juniorresearcher*,corporation,corps,male,female,%
+ distinction,award,affiliation,sepcorpaffilfrench,affiliationsecondary,sepcorpaffilenglish,%
+ logo,url,nologo,space,mainlanguage,secnumdepth,tocdepth,depth,version,output,logoheight,%
+ 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,%
+ },%
+ morekeywords=[3]{% Values of key-value lists
+ single,onehalf,double,doctor,yadsymbolstyle,%
+ part,chapter,section,subsection,subsubsection,paragraph,subparagraph,%
+ none,true,false,UseOutlines,TwoPageRight,UK,FR,dvipsnames,table,%
+ Sonny,Lenny,Glenn,Conny,Rejne,Bjarne,PetersLenny,Bjornstrup,%
+ screen,draft,inprogress,inprogress*,submitted,submitted*,final,paper,paper*,%
+ fbox,shadowbox,ovalbox,supervisor*,cosupervisor*,comonitor*,%
+ },%
+ morekeywords=[4]{% Class and packages options
+ warn,nodayofweek,unicode,nostamp,all,numbered,a4paper,leqno,fleqn,10pt,11pt,12pt,%
+ detect-all,breaklinks,oneside%
+ },%
+ morekeywords=[5]{% Translation labels
+ email,phone,fax,caution,draft,prepared-at,prepared-at-pl,juniorresearcher,juniorresearcher*,%
+ committeemembers,estimateddefensedate,seniorresearcher,supervisors-in-committee,%
+ supervisors-in-committee-pl,aim,aimand,examiners,examiners-pl,guests,guests-pl,mcf,mcf*,%
+ professor,referees,referees-pl,website,defendedon,supervisedby,thesisdefendedby,thesistitle,%
+ inprogress,universitydepartment,inprogressfoottext,submittedfoottext
+ },%
+ alsoletter={!-*1234560}%
+}%
+% \end{macrocode}
+%
+% Definition of the \enquote{gzt} \TeX{} dialect.
+% \begin{macrocode}
+\lstdefinelanguage[gzt]{TeX}[LaTeX]{TeX}{%
+ % yathesis% TODO : à mettre ailleurs
+ moretexcs={% Control sequences' names
+ editorinchief,editor,president,classdesigner,classmaintainer,fontdesigner,%
+ graphicdesigner,issuesetup,journalsetup,interviewee,academicsignature,%
+ subtitle,editorial,gzttableofcontents,minitoc,presidentmessage,%
+ acknowledgements,printminibios,aboutfrontcover,rubric,mathematics,%
+ dossier,community,interview,teaching,parity,tellme,information,%
+ rearviewmirror,tribute,books,email,question,smf,cad,Cad,gzt,%
+ century,aside,aside*,gztinput,gztnewtheorem,N,Z,D,Q,R,C,K,printauthorsdetails,%
+ date,title,author,maketitle,item,printbibliography,vec,surname,%
+ usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,%
+ gztverb,th,epigraph%
+ },%
+ % Environments' names
+ morekeywords={%
+ gzt,gztarticle%
+ },%
+ morekeywords=[1]{% Environments' names
+ abstract,minitoclist,bookreview,bookadvertisement,%
+ gztfigure,gztfigure*,gzttable,gzttable*,gztscan,gztcode,%
+ 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*%
+ },%
+ morekeywords=[2]{% Keys of key-value lists
+ number,month,year,publisher,address,phone,fax,email,url,issn,isbn,short,minishort,notintoc,%
+ abstract,frenchtitle,englishtitle,% ,title
+ ,pictogram,list,help,diameter,textwidth,xshift,yshift,%
+ affiliation,email,minibio,photo,webpage,frontcover,bibkey,copyright%
+ },%
+ morekeywords=[3]{% Values of key-value lists
+ true,false,theorem,definition,proof%
+ },%
+ morekeywords=[4]{% Class and packages options
+ pagegrid,forprinter,cover,forauthors,%
+ },%
+ alsoletter={!-*1234560}%
+}%
+% \end{macrocode}
+%
+% \section{Settings}
+%
+% Déclaration des nouveaux noms de \enquote{théorèmes} en vue d'en faciliter le
+% référencement grâce au \Package{cleveref}.
+% \begin{macrocode}
+\AtEndPreamble{%
+ \crefname{tcb@cnt@dbexample}{exemple}{exemples}%
+ \crefname{tcb@cnt@dbremark}{remarque}{remarques}%
+ \crefname{tcb@cnt@dbwarning}{avertissement}{avertissements}%
+ \crefname{tcb@cnt@dbfaq}{question}{questions}%
+}%
+%
+\hypersetup{colorlinks}%
+%
+\presetkeys{todonotes}{fancyline, color=white}{}%
+%
+\setlength\bibinitsep{1.25\baselineskip}
+%
+\setglossarystyle{indexhypergroup}
+\setacronymstyle{long-sc-short}
+%
+% \SetupExSheets[question]{type=exam}
+% \SetupExSheets[solution]{print=true}
+%
+\SetCiteCommand{\autocite}
+%
+\renewcommand{\ttdefault}{lmtt}
+%
+% \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@}}%
+}{}{}
+%
+\sisetup{locale=FR,detect-all}
+% \floatsetup[table]{style=plaintop}
+%
+% \lstset{%
+% breaklines=true,
+% basicstyle=\normalfont\ttfamily,
+% commentstyle=\color{comment}\itshape,
+% keywordstyle=\color{environment},
+% keywordstyle=[2]\color{key},
+% keywordstyle=[3]\color{value},
+% keywordstyle=[4]\color{keyword4},
+% keywordstyle=[5]\color{keyword5},
+% moredelim=*[s][\color{math}\ttfamily]{\[}{\]},
+% moredelim=*[s][\color{math}\ttfamily]{$}{$},
+% stringstyle=\color{string},
+% columns=flexible,
+% % prebreak={\space\Righttorque},
+% % postbreak={\space\Lefttorque}
+% }%
+\lstdefinestyle{dbtex}{%
+ escapechar=",
+ language=[LaTeX]TeX,
+ alsolanguage=[extLaTeX]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,
+ texcsstyle=*\color{texcs},
+ breaklines=true,
+ basicstyle=\normalfont\ttfamily,
+ commentstyle=\color{comment}\itshape,
+ keywordstyle=\color{environment},
+ keywordstyle=[2]\color{key},
+ keywordstyle=[3]\color{value},
+ keywordstyle=[4]\color{keyword4},
+ keywordstyle=[5]\color{keyword5},
+ moredelim=*[s][\color{math}\ttfamily]{\\[}{\\]},
+ moredelim=*[s][\color{math}\ttfamily]{$}{$},
+ stringstyle=\color{string},
+ columns=flexible,
+ numberstyle=\small,
+ inputencoding=utf8/latin1,
+ aboveskip=\c_@@_listings_aboveskip_skip,
+ belowskip=\c_@@_listings_belowskip_skip
+}%
+\lstset{style=dbtex}
+% \lstMakeShortInline[style=dbtex]|
+% \end{macrocode}
+%
+% \begin{macrocode}
+\tcbset{dbtcb/.style={%
+ breakable,
+ fonttitle=\bfseries,
+ enlarge~top~by=1mm,
+ separator~sign~dash
+ }%
+}%
+%
+\tcbset{%
+ /tcb/doclang/environment~content=contenu~de~l'environnement,
+ /tcb/doclang/color=~(couleur),
+ /tcb/doclang/colors=Couleurs,
+ /tcb/doclang/environments=Environnements,
+ /tcb/doclang/keys=Clés,
+ /tcb/doclang/values=Valeurs,
+ /tcb/doclang/pageshort=p.,
+ % /tcb/documentation~listing~style=dbtex,
+ /tcb/color~command=texcs,
+ /tcb/color~environment=environment,
+ /tcb/color~key=key,
+ /tcb/color~value=value,
+ index~format=pgfchapter,
+ index~colorize,
+ index~annotate=false,
+ enhanced,
+ listing~style=dbtex,
+ every~box/.style={documentation~listing~style=dbtex},
+% index~actual={},
+% doc~left~indent=-15mm,
+% doc~right~indent=-15mm+2em
+% }%
+% \tcbset{%
+ codes/.style={%
+ listing~only,
+ enlarge~top~by=\medskipamount,
+ colframe=ExampleFrame,
+ colback=ExampleBack,
+ fonttitle=\bfseries,
+ fontupper=\small,
+ split=0.5,
+ enhanced,
+ breakable,
+ listing~style=dbtex,
+ }%
+}%
+\tcbset{samples/.style={%
+ codes,
+ % listing~options={rangebeginprefix=\\,rangeendsuffix=\}}
+ }%
+}%
+% \end{macrocode}
+%
+% Suppression du gras dans la commande ×\docAuxCommand× :
+% \begin{macrocode}
+\def\disp@com#1{\colDef{\ttfamily#1}}
+% \end{macrocode}
+%
+% For the \yatcl' documentation, using \Class{ltxdoc}, we need to
+% perform some changes in \Package{glossaries} provided by its author.
+% \begin{macrocode}
+\renewcommand*{\newacronymhook}{%
+ \edef\tmp{\noexpand\textsc{\the\glsshorttok}}%
+ \expandafter\glsshorttok\expandafter{\tmp}%
+}%
+\renewcommand*{\acrpluralsuffix}{\textup{\glspluralsuffix}}
+% \end{macrocode}
+% On définit une nouvelle clé pour la commande ×\includegraphics× de
+% sorte à pouvoir inclure les pages d'un \File{.pdf} externe en
+% indiquant non pas des numéros de pages absolus, mais plutôt des
+% 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×).
+% \begin{macrocode}
+\define@key{Gin}{bylabel}{%
+ \edef\@tempa{{Gin}{page=\zref@extract{#1}{abspage}}}%
+ \expandafter\setkeys\@tempa%
+}%
+% \end{macrocode}
+%
+% \section{Macros, environments and theorems}
+%
+% \subsection{Macros}
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_alert:n
+{
+ \begingroup
+ \color{red}
+ #1
+ \endgroup
+}%
+\NewDocumentCommand \alert {m}
+{
+ \_@@_alert:n {#1}
+}%
+\cs_set_eq:NN \_@@_orig_changes \changes
+\NewDocumentCommand \changes { smmm } {
+ \_@@_orig_changes{#2}{#3}{%
+ \IfBooleanTF {#1}
+ {
+ \alert{#4}%
+ }
+ {
+ #4%
+ }
+ }
+}
+%
+\cs_new_protected:Nn \_@@_package:nnn
+{
+ \texorpdfstring{%
+ \IfBooleanTF {#1}
+ {
+ \tl_if_empty:nTF {#2}
+ {%
+ \href{http://www.ctan.org/pkg/#3}{\textsf{#3}}%
+ }{%
+ \href{#2}{\textsf{#3}}%
+ }%
+ }
+ {
+ \textsf{#3}%
+ }
+ }{%
+ \textsf{#3}
+ }%
+}%
+\NewDocumentCommand{\package}{ s O{} m } {
+ \_@@_package:nnn {#1}{#2}{#3}
+}
+\NewDocumentCommand{\Package}{ s O{} m } {
+ \IfLanguageName{french}{package~}{}%
+ \_@@_package:nnn {#1}{#2}{#3}
+ \IfLanguageName{english}{~package}{}%
+}
+%
+\NewDocumentCommand{\class}{ s O{} m } {
+ \_@@_package:nnn {#1}{#2}{#3}
+}
+\NewDocumentCommand{\Class}{ s O{} m } {
+ \IfLanguageName{french}{classe~}{}%
+ \_@@_package:nnn {#1}{#2}{#3}
+ \IfLanguageName{english}{~class}{}%
+}
+%
+\cs_new_protected:Nn \_@@_format:n
+{
+ \textsc{#1}
+}
+\NewDocumentCommand{\format}{ m }
+{%
+ \_@@_format:n {#1}
+}
+\NewDocumentCommand{\Format}{ m }
+{%
+ \IfLanguageName{french}{format~}{}%
+ \_@@_format:n {#1}%
+ \IfLanguageName{english}{~format}{}%
+}%
+\cs_new_protected:Nn \_@@_file:n
+{
+ \bgroup% \color{magenta}
+ \texttt{#1}
+ \egroup
+}
+\NewDocumentCommand{\file}{ m }
+{%
+ \_@@_file:n {#1}
+}
+\NewDocumentCommand{\File}{ m }
+{%
+ \IfLanguageName{french}{fichier~}{}%
+ \_@@_file:n {#1}%
+ \IfLanguageName{english}{~file}{}%
+}%
+\NewDocumentCommand{\folder}{ m }
+{
+ \_@@_file:n {#1}%
+}
+\NewDocumentCommand{\Folder}{ m }
+{%
+ \IfLanguageName{french}{répertoire~}{}%
+ \_@@_file:n {#1}%
+ \IfLanguageName{english}{~directory}{}%
+}%
+%
+\NewDocumentCommand{\program}{ m }
+{
+ \_@@_file:n {#1}%
+}
+%
+\cs_new_protected:Nn \_@@_links:nnn
+{
+ \href{#2#3#1}{\texttt{#3}}~\href{http://mirror.ctan.org/macros/latex/contrib/yathesis/#2#3#1}{\faExternalLink}
+}
+\cs_new_protected:Nn \_@@_etctree:
+{
+ ...
+}
+\NewDocumentCommand{\etctree}{ }
+{
+ \_@@_etctree:%
+}
+\cs_new_protected:Nn \_@@_filetree:n
+{
+ \_@@_links:nnn {}{\folder/\subfolder/}{#1}
+}
+\NewDocumentCommand{\filetree}{ m }
+{%
+ \_@@_filetree:n {#1}
+}
+\NewDocumentCommand{\pdffiletree}{ m }
+{%
+ \_@@_filetree:n {#1.pdf}
+}
+\NewDocumentCommand{\texfiletree}{ m }
+{%
+ \_@@_filetree:n {#1.tex}
+}
+\cs_new_protected:Nn \_@@_zip_filetree:
+{
+ \bgroup% \color{magenta}
+ \bfseries
+ \color{red}
+ \_@@_links:nnn {}{\folder/}{\subfolder.zip}
+ \egroup
+}
+\NewDocumentCommand{\zipfiletree}{ }
+{%
+ \_@@_zip_filetree: {}
+}
+\cs_new_protected:Nn \_@@_directory_filetree:
+{
+ \bgroup% \color{magenta}
+ \bfseries
+ \color{blue}
+ \_@@_links:nnn {.}{}{\folder/}
+ \egroup
+}
+\NewDocumentCommand{\directorytree}{ }
+{%
+ \_@@_directory_filetree: {}
+}
+\cs_new_protected:Nn \_@@_subdirectory_filetree:
+{
+ \bgroup% \color{magenta}
+ \bfseries
+ \color{blue}
+ \_@@_links:nnn {.}{\folder/}{\subfolder/}
+ \egroup
+}
+\NewDocumentCommand{\subdirectorytree}{ }
+{%
+ \_@@_subdirectory_filetree: {}
+}
+%
+\cs_new_protected:Nn \_@@_mandatory:
+{
+ \hyperref[sec-comm-oblig]{%
+ \textcolor{red!75!black}{
+ \pdftex_if_engine:TF
+ {
+ % \string!
+ \ding{52}
+ }{
+ \faLock
+ }%
+ }
+ \ifnum\getpagerefnumber{sec-comm-oblig}=\thepage%
+ \else%
+ \textsuperscript{\ding{213}\,\kvtcb@text@pageshort\,\pageref*{sec-comm-oblig}}%
+ \fi%
+ }%
+}
+\NewDocumentCommand{\mandatory}{ }
+{
+ \_@@_mandatory: {}
+}%
+%
+\NewDocumentCommand{\unixtldirectory}{}
+{
+ \directory{\c_@@_unixtldirectory_string_tl}
+}%
+\NewDocumentCommand{\tlversion}{}
+{
+ \directory{\c_@@_tlversion_string_tl}
+}%
+\NewDocumentCommand{\wintldirectory}{}
+{
+ \directory{\c_@@_wintldirectory_string_tl}
+}%
+\NewDocumentCommand{\tldistdirectory}{}
+{
+ \directory{\c_@@_tldistdirectory_string_tl}
+}%
+\NewDocumentCommand{\miktexdistdirectory}{}
+{
+ \directory{\c_@@_miktexdistdirectory_string_tl}
+}%
+\NewDocumentCommand{\docdirectory}{}
+{
+ \directory{\c_@@_docdirectory_string_tl}
+}%
+\NewDocumentCommand{\texdirectory}{}
+{
+ \directory{\c_@@_texdirectory_string_tl}
+}%
+\NewDocumentCommand{\sourcedirectory}{}
+{
+ \directory{\c_@@_sourcedirectory_string_tl}
+}%
+\NewDocumentCommand{\jobdirectory}{}
+{
+ \directory{\c_@@_jobdirectory_string_tl}
+}%
+\NewDocumentCommand{\jobdocdirectory}{}
+{
+ \directory{\c_@@_jobdocdirectory_string_tl}
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand{\pdf}{}
+{
+ \acrshort{pdf}
+}
+% \end{macrocode}
+%
+% \begin{macro}{\aside}
+% \begin{macrocode}
+% \NewDocumentCommand \aside { s m } {%
+% \IfBooleanTF {#1}
+% {
+% \c_@@_aside_string_tl{}~#2
+% }
+% {
+% \c_@@_aside_string_tl{}~#2~\c_@@_aside_string_tl
+% }
+% }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{century}
+% \begin{macrocode}
+% \cs_new_protected:Nn \_@@_century:n
+% {
+% \textsc{
+% \int_to_roman:n {#1}
+% }%
+% \int_compare:nNnTF { #1 } > { 1 }{\ieme}{\ier} si\`ecle%
+% }
+% \NewDocumentCommand \century { m } {%
+% \_@@_century:n {#1}%
+% }
+% \end{macrocode}
+% \end{macro}
+% On définit une commande d'inclusion de \enquote{copie d'écran} qui
+% inclut une page d'un \File{.pdf} externe en indiquant non pas des
+% numéros de pages absolus, mais plutôt des références stipulées au
+% moyen de la clé ×bylabel× ci-dessus. Ceci nécessite de charger le
+% \Package{zref} avec l'option ×xr× dans le \File{.tex} où sont
+% incluses les pages du \File{.pdf} externe.
+% \begin{macrocode}
+\zexternaldocument{\c_@@_treesample_string_tl/these}%
+\cs_new_protected:Nn \_@@_screenshot:nn
+{
+ \fbox{\includegraphics[bylabel=#2,width=#1\linewidth-2\fboxsep-2\fboxrule]{\c_@@_treesample_string_tl/these}}%
+}
+\NewDocumentCommand \screenshot { O{.45} m } {%
+ \_@@_screenshot:nn {#1}{#2}
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_meta:nn
+{
+ \bgroup%
+ \normalfont
+ \ttfamily%
+ \textcolor{#1}{$\langle$\emph{#2}$\rangle$}%
+ \egroup%
+}
+\AtBeginDocument{%
+ \RenewDocumentCommand{\meta}{ O{meta} m } {
+ \_@@_meta:nn {#1}{#2}
+ }
+}%
+% \end{macrocode}
+%
+% \subsection{Environments}
+%
+% \begin{macrocode}
+\NewTCBListing{preamblecode}{ O{} }{%
+ codes,%
+ drop~lifted~shadow,
+ #1%
+}
+\NewTCBListing{bodycode}{ O{} }{%
+ codes,%
+ #1%
+}
+\NewTCBInputListing{\preamblesample}{ O{these.tex} m m }{%
+ samples,
+ drop~lifted~shadow,
+ listing~file={\c_@@_treesample_string_tl/#1},
+ listing~options={rangebeginprefix=\\,rangeendsuffix=\},#2},
+ #3,
+}%
+\NewTCBInputListing{\bodysample}{ O{these.tex} m m }{%
+ samples,
+ listing~file={\c_@@_treesample_string_tl/#1},
+ listing~options={rangebeginprefix=\\,rangeendsuffix=\},#2},
+ #3,
+}%
+% \newtcbinputlisting{\preamblesample}[3][these.tex]{%
+% samples,
+% drop~lifted~shadow,
+% listing~file={\c_@@_treesample_string_tl/#1},
+% listing~options={rangebeginprefix=\\,rangeendsuffix=\},#2},
+% #3,
+% }%
+% \newtcbinputlisting{\bodysample}[3][these.tex]{%
+% samples,
+% listing~file={\c_@@_treesample_string_tl/#1},
+% listing~options={rangebeginprefix=\\,rangeendsuffix=\},#2},
+% #3,
+% }%
+% \end{macrocode}
+%
+% \subsection{Theorems}
+%
+% \begin{macrocode}
+\newtcbtheorem[list~inside=dbwarninglist,number~within=section]{dbwarning}{Avertissement}{%
+ colback=red!5!white,
+ colframe=red!75!black,
+ dbtcb
+}{wa}
+%
+\newtcbtheorem[list~inside=dbexamplelist,number~within=section]{dbexample}{Exemple}{%
+ colback=lime!5!white,
+ colframe=lime!75!black,
+ dbtcb
+}{ex}
+%
+\newtcbtheorem[list~inside=dbremarklist,number~within=section]{dbremark}{Remarque}{%
+ colback=cyan!5!white,
+ colframe=cyan!75!black,
+ dbtcb
+}{rq}
+% \newtcbtheorem[list~inside=dbfaqlist,number~within=section]{dbfaq}{Question}{%
+% colback=lightgray!5!white,
+% colframe=lightgray!75!black,
+% fontupper=\slshape,
+% dbtcb
+% }{faq}
+%
+% \end{macrocode}
+%
+% \section{Definitions specific to peticular classes or packages}
+%
+% \subsection{\Class{yathesis}}
+%
+% \begin{macrocode}
+\tl_const:Nn \c_@@_yat_class_name_tl {yathesis}
+\tl_const:Nn \c_@@_configuration_directory_string_tl {configuration}
+\tl_const:Nn \c_@@_configuration_file_string_tl {thesis.cfg}
+\tl_const:Nn \c_@@_characteristics_file_string_tl {characteristics.tex}
+\tl_const:Nn \c_@@_macros_file_file_string_tl {macros.tex}
+\tl_const:Nn \c_@@_auxiliary_directory_string_tl {auxiliaires}
+\tl_const:Nn \c_@@_glossary_file_string_tl {glossaire.tex}
+\tl_const:Nn \c_@@_acronyms_file_string_tl {acronymes.tex}
+\tl_const:Nn \c_@@_symbols_file_string_tl {symboles.tex}
+\tl_const:Nn \c_@@_images_directory_string_tl {images}
+\tl_const:Nn \c_@@_thesis_master_file_string_tl {these}
+% \end{macrocode}
+%
+% \begin{macro}{\yat}
+% \begin{macro}{\yatpa}
+% \begin{macro}{\yatcl}
+% \begin{macrocode}
+\NewDocumentCommand \yat { }
+{%
+ \textsl{\texttt{\c_@@_yat_class_name_tl}}
+}
+\NewDocumentCommand \yatpa { }
+{%
+ \Package{\yat}
+}
+\NewDocumentCommand \yatcl { }
+{%
+ \Class{\yat}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+\NewDocumentCommand \configurationdirectory { }
+{%
+ \c_@@_configuration_directory_string_tl
+}
+\NewDocumentCommand \configurationfile { }
+{%
+ \c_@@_configuration_file_string_tl
+}
+\NewDocumentCommand \characteristicsfile { }
+{%
+ \c_@@_characteristics_file_string_tl
+}
+\NewDocumentCommand \macrosfile { }
+{%
+ \c_@@_macros_file_string_tl
+}
+\NewDocumentCommand \auxiliarydirectory { }
+{%
+ \c_@@_auxiliary_directory_string_tl
+}
+\NewDocumentCommand \glossaryfile { }
+{%
+ \c_@@_glossary_file_string_tl
+}
+\NewDocumentCommand \acronymsfile { }
+{%
+ \c_@@_acronyms_file_string_tl
+}
+\NewDocumentCommand \symbolsfile { }
+{%
+ \c_@@_symbols_file_string_tl
+}
+\NewDocumentCommand \imagesdirectory { }
+{%
+ \c_@@_images_directory_string_tl
+}
+\NewDocumentCommand \thesismasterfile { }
+{%
+ \c_@@_thesis_master_file_string_tl
+}
+% \end{macrocode}
+%
+% \subsection{\Class{gzt}}
+%
+% \begin{macrocode}
+\tl_const:Nn \c_@@_gzt_class_name_tl {gzt}
+\tl_const:Nn \c_@@_gztauthor_class_name_tl {gztarticle}
+\tl_const:Nn \c_@@_journal_short_title_string_tl {Gazette}
+\tl_const:Nn \c_@@_journal_title_string_tl {
+ \c_@@_journal_short_title_string_tl{}~des~Math\'ematiciens%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\gzt}
+% \begin{macro}{\gztcl}
+% \begin{macrocode}
+% \NewDocumentCommand \gzt { s } {
+% \IfBooleanTF {#1}
+% {
+% \textit{\c_@@_journal_title_string_tl}
+% }
+% {
+% \textit{\c_@@_journal_short_title_string_tl}
+% }
+% }
+% \NewDocumentCommand \gztcl { }
+% {%
+% \Class{\textsl{\texttt{\c_@@_gzt_class_name_tl}}}
+% }
+\NewDocumentCommand \gztauthor { }
+{%
+ \textsl{\texttt{\c_@@_gztauthor_class_name_tl}}
+}
+\NewDocumentCommand \gztauthorcl { }
+{%
+ \Class{\textsl{\texttt{\c_@@_gztauthor_class_name_tl}}}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% We switch to a \enquote{normal} category code régime.
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{macrocode}
+% \addbibresource{\jobname.bib}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintChanges
+%
+% \PrintIndex
+\endinput
+
+% Local Variables:
+% mode: doctex
+% eval: (doctex-mode)
+% TeX-engine: xetex
+% TeX-command-default: "TeX"
+% TeX-master: t
+% ispell-local-dictionary: "francais"
+% End: