%% %% This is file `denisbdoc.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% denisbdoc.dtx (with options: `package') %% ----------------------------------------------------------------------------- %% denisbdoc --- A personal dirty package for documenting personal classes, %% version 0.9.2 %% %% Maintained by Denis Bitouzé %% E-mail: denis.bitouze@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} {2021-10-13} {0.9.2} {A personal package for documenting packages} \@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 } \keys_define:nn { denisbdoc } { 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{cmap} % Necessary for the angle brackets generated by ×\meta× % to be copied and pasted as they are, and not replaced % by "h" and "i" \RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc} \pdfsuppresswarningpagegroup=1 }{ \RequirePackage{fontspec} } \RequirePackage{xpatch}% \AtEndPreamble{% \RequirePackage{mweights}% }% \RequirePackage{fixfoot}% \newif\if@DBD@beamer@not@loaded@ \@DBD@beamer@not@loaded@true \@ifclassloaded{beamer}{\@DBD@beamer@not@loaded@false}{\@DBD@beamer@not@loaded@true} \if@DBD@beamer@not@loaded@ \RequirePackage{parskip}% \RequirePackage{marginnote} \RequirePackage{mparhack} \RequirePackage[inline]{enumitem} \fi% \RequirePackage{afterpage}% \RequirePackage{calc}% \RequirePackage{siunitx}% \RequirePackage{pifont} \RequirePackage{booktabs}% \RequirePackage{multirow}% \RequirePackage[xr]{zref}% \if@DBD@beamer@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}% \sys_if_engine_pdftex:T { \RequirePackage{amssymb}% } \if@DBD@beamer@not@loaded@ \RequirePackage{tocvsec2}% \fi \RequirePackage{ltxcmds}% \RequirePackage{csquotes}% \RequirePackage{tikz}% \RequirePackage{translator}% \let\EUR\relax \RequirePackage{comment}% \RequirePackage{path}% \RequirePackage{textcase}% \RequirePackage{fontawesome}% \@ifpackageloaded{biblatex}{% \AtEndPreamble{% \bool_if:nT {\g__denisbdoc_yad_bool} {% % \defbibheading{bibintoc}[\bibname]{\chapter*{#1}}% % % \defbibheading{subbibintoc}[\bibname]{\section*{#1}}% % \defbibheading{YAD@localbibs@heading}[\translate{lbl-localbibname}]{% % % \YAD@setsecnumdepth{none}% % \section*{#1}% % % \YAD@setsecnumdepth{\YAD@secnumdepth}% % }% \let\__denisbdoc_printbibliography_ORI\printbibliography% \renewcommand{\printbibliography}[1][]{% \@ifpackageloaded{setspace}{% \singlespacing% }{% } \chapter*{\bibname}% \__denisbdoc_printbibliography_ORI[heading=none,#1]% }% }% }% }{% \RequirePackage[%backend=biber% ,style=authortitle,dashed=false ,autopunct=false,useprefix=true,backref]{biblatex}% }% \RequirePackage{morewrites}% \RequirePackage{babel}% \RequirePackage[useregional]{datetime2}% \RequirePackage{subcaption}% \if@DBD@beamer@not@loaded@ \RequirePackage{tocbibind}% \RequirePackage[xindy]{imakeidx} \fi% \RequirePackage{varioref}% \@ifpackageloaded{tcolorbox}{% }{% \RequirePackage{tcolorbox}% }% \@ifpackageloaded{hyperref}{% }{% \RequirePackage[hyperfootnotes=false,hyperindex=false]{hyperref}% }% \RequirePackage{attachfile2}% \@ifpackageloaded{nameref}{% }{% \RequirePackage{nameref}% }% \@ifpackageloaded{hypcap}{% }{% \if@DBD@beamer@not@loaded@ \RequirePackage[all]{hypcap}% \fi% }% \@ifpackageloaded{bookmark}{% }{% \RequirePackage[numbered]{bookmark}% }% \@ifpackageloaded{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{long-short-sc}% \newcommand*{\formatfont}[1]{\textsc{#1}}% \glssetcategoryattribute{format}{glossnamefont}{formatfont}% \glssetcategoryattribute{format}{font}{formatfont}% \renewcommand*{\glsxtrregularfont}[1]{% \glshasattribute{\glslabel}{font}% {\csuse{\glsgetattribute{\glslabel}{font}}{#1}}% {#1}% }% }% \@ifpackageloaded{cleveref}{% }{% \RequirePackage{cleveref}% }% \if@DBD@beamer@not@loaded@ \def\hdpindex#1#2{% \csname\ifx\\#1\\relax\else#1\fi\endcsname{% \hyperpage{#2}% }% } \let\HDorg@wrglossary\@wrglossary \def\@wrglossary#1{% \let\HDorg@encapchar\encapchar \def\encapchar##1\encapchar##2\@nil{% \HDorg@encapchar hdpindex{##1}% }% \HDorg@wrglossary{#1\encapchar\encapchar\@nil}% } \fi% \@ifpackageloaded{glossaries-extra}{% \renewcommand*{\glsxtrabbrvpluralsuffix}{} }{% } \ltx@iffilelater{french.ldf}{2016/03/20}{% }{% \DeclareRobustCommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse% \ifFB@active@punct\noautospace@beforeFDP\shorthandoff{;:!?}\fi% \ifFB@xetex@punct\XeTeXinterchartokenstate=0 \fi% \ifFB@luatex@punct\FB@addDPspace=0 \FB@addGUILspace=0 \fi% }% } \ExplSyntaxOff \ifpdf \tcbuselibrary{listingsutf8} \else \tcbuselibrary{listings} \fi \tcbuselibrary{% documentation,theorems,breakable,skins,xparse% } \tcbset{% commandshell/.style={% colback=black, colupper=white, colframe=yellow!75!black, breakable, listing only, listing options={style=tcblatex,language=bash,escapeinside={(*@}{@*)}}, every listing line={% \textcolor{red}{% \small\ttfamily\bfseries% \BeginAccSupp{method=plain,ActualText={}} \$ \EndAccSupp{}% } }, } } \tcbset{doc marginnote={if odd page or oneside={flushright upper}{flushright upper}}} \reversemarginpar \pretocmd{\tcbdocmarginnote}{% \patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} \patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} \reversemarginpar% }{}{} \@ifpackageloaded{geometry}{% \geometry{marginparwidth=.65in}% }{} \DeclareTotalTCBox{\commandshell}{ v }{ commandshell}{#1} \newtcblisting{listingshell}[1][]{% % colback=black, % colupper=white, colback=white, colupper=black, colframe=yellow!75!black, breakable, listing only, listing options={% style=tcblatex, language=bash, escapeinside={(*@}{@*)}, upquote=true, showstringspaces=false }, every listing line={% \textcolor{red}{% \small\ttfamily\bfseries% \BeginAccSupp{method=plain,ActualText={}} \$ \EndAccSupp{}% } }, #1 } \usetikzlibrary{trees,backgrounds,fit,calc,positioning} \attachfilesetup{color=Hyperlink} \if@DBD@beamer@not@loaded@ \newcommand{\indexmark}[1]{\hypertarget{index:#1}{#1}\markboth{#1}{#1}} \newcommand{\targetindexentry}[1]{\indexmark{#1}} \newcounter{targeti} \newcommand{\targetindexentryi}[1]{\stepcounter{targeti}\hypertarget{\thetargeti:index:#1}{#1}} \newcounter{targetii} \newcommand{\targetindexentryii}[1]{\stepcounter{targetii}\hypertarget{\thetargetii:index:#1}{#1}} \newcommand{\seelink}[1]{\see{\hyperlink{index:#1}{#1}}} \newcommand{\indexdef}[1]{\index{#1|definition}} \newcommand{\indexex}[1]{% \index{#1|example}% \index{exemple!#1|example}% } \newcommand{\indexsee}[2]{\index{#1|see{#2}}} \xpretocmd{\printindex}{\edef\DBD@index@symbolic@name{#1}}{}{\aaa} % \xpretocmd{\printindex}{\edef\DBD@index@symbolic@name{#1}}{}{\aaa} \xpatchcmd{\indexprologue}{#2}{% #2 \par\bigskip \csuse{DBD@indexnavigation@\csuse{DBD@index@symbolic@name}}% }{}{\aaa}% \newcommand*{\indexheading}[2]{% \hypertarget{#2:#1}{\textbf{#1}}% \protected@write\@auxout{}{\string\DBD@indexgroup{#1}{#2}}% } \newtoggle{@DBD@no@first@letter} \newcommand*{\DBD@indexgroup}[2]{% \csgappto{DBD@indexnavigation@#2}{% \iftoggle{@DBD@no@first@letter}{% \,\textbar\,% % \\ }{% \toggletrue{@DBD@no@first@letter}% \noindent% }% \hyperlink{#2:#1}{\textbf{#1}}% }% }% \fi \DeclareUrlCommand\urldirectory{\urlstyle{tt}} \ExplSyntaxOn \tl_const:Nn \c__denisbdoc_examples_path_tl {../exemples} \tl_const:Nn \c__denisbdoc_template_string_tl {\c__denisbdoc_examples_path_tl/canevas} \tl_const:Nn \c__denisbdoc_sample_string_tl {\c__denisbdoc_examples_path_tl/specimen} \tl_const:Nn \c__denisbdoc_flattemplate_string_tl {\c__denisbdoc_template_string_tl/a-plat} \tl_const:Nn \c__denisbdoc_flatsample_string_tl {\c__denisbdoc_sample_string_tl/a-plat} \tl_const:Nn \c__denisbdoc_treetemplate_string_tl {\c__denisbdoc_template_string_tl/en-arborescence} \tl_const:Nn \c__denisbdoc_treesample_string_tl {\c__denisbdoc_sample_string_tl/en-arborescence} \tl_const:Nn \c__denisbdoc_template_sample_zip_string_tl {canevas-specimen.zip} \tl_const:Nn \c__denisbdoc_these_aux_string_tl {these.aux} \tl_const:Nn \c__denisbdoc_these_snippets_directory_tl {extraits-these} \tl_const:Nn \c__denisbdoc_unixtldirectory_string_tl {/usr/local/} \tl_const:Nn \c__denisbdoc_tlversion_string_tl {2016} \tl_const:Nn \c__denisbdoc_wintldirectory_string_tl {c:/} \tl_const:Nn \c__denisbdoc_tldistdirectory_string_tl {texlive/\tlversion/texmf-dist/} \tl_const:Nn \c__denisbdoc_miktexdistdirectory_string_tl {[TODO]} \tl_const:Nn \c__denisbdoc_docdirectory_string_tl {doc/} \tl_const:Nn \c__denisbdoc_texdirectory_string_tl {tex/} \tl_const:Nn \c__denisbdoc_sourcedirectory_string_tl {source/} \tl_const:Nn \c__denisbdoc_jobdirectory_string_tl {latex/\jobname} \tl_const:Nn \c__denisbdoc_jobdocdirectory_string_tl {\docdirectory\jobdirectory} \tl_const:Nn \c__denisbdoc_aside_string_tl {---} \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{directive}{texcs} \colorlet{mandatory-argument}{red} \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} \skip_const:Nn \c__denisbdoc_listings_aboveskip_skip { \c_zero_dim plus 6pt }% \skip_const:Nn \c__denisbdoc_listings_belowskip_skip { \c_zero_dim plus 6pt }% \lstdefinelanguage[extLaTeX]{TeX}[LaTeX]{TeX}{% moretexcs={% footnotesize,huge,Huge,large,Large,LARGE,large,Large,scriptsize,tiny,% 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,% 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,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,PassOptionsToClass% },% 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*,% },% morekeywords=[2]{% Keys of key-value lists and packages' names bookmarksdepth,see,babel,colorlinks,linktoc,width,left,right,subscript% },% 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% },% % Mandatory arguments (other than 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,title,% useri,userii,useriii,useriv,userv,uservi% },% % Mots-clés de niveau 3 : arguments optionnels 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={% 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% },% % morekeywords={% % @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% % },% % 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,% 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,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, },% % Mots-clés de niveau 3 : arguments optionnels clés dans clé=valeur morekeywords=[3]{% skipbib% },% % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur morekeywords=[4]{% },% sensitive% }[keywords,tex,comments]% \lstdefinelanguage[colophon]{TeX}[LaTeX]{TeX}% {% % Séquences de contrôles (communément appelées commandes ou macros) moretexcs={% 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={% },% % Mots-clés de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% colophon, },% % Mots-clés de niveau 3 : arguments optionnels clés dans clé=valeur morekeywords=[3]{% 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]{% },% sensitive% }[keywords,tex,comments]% \lstdefinelanguage[tcolorbox]{TeX}[LaTeX]{TeX}% {% % Séquences de contrôles (communément appelées commandes ou macros) moretexcs={% tcbset,tcbuselibrary,tcbsetforeverylayer% },% % Mots-clés de niveau 1 : arguments optionnels morekeywords={% },% % Mots-clés de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% colback,beamer,skins,listing,only,options,and,text% },% % Mots-clés de niveau 3 : arguments optionnels clés dans clé=valeur morekeywords=[3]{% lightgray,red!50!white,autoparskip,beforeafter,skip,balanced% },% alsoletter={ \ },% 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% },% % Environments' names morekeywords={% listing,listingutf8% },% % Environments' names morekeywords=[1]{% lstlisting,% },% % Keys of key-value lists morekeywords=[2]{% language,showtabs,escapeinside,mathescape,basicstyle,keywordstyle,commentstyle,% stringstyle,numbers,frame,framesep,escapechar,tab,aboveskip,belowskip,% linerange,backgroundcolor,rulecolor,framerule,inputencoding,stepnumber,numberstyle,% rulesepcolor,style% },% % Values of key-value lists morekeywords=[3]{% 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 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,pdfencoding,final,% hidelinks,linktoc,% },% % Mots-clés de niveau 3 : arguments optionnels clés dans clé=valeur morekeywords=[3]{% unicode% },% sensitive% }[keywords,tex,comments]% \lstdefinelanguage[yad]{TeX}[LaTeX]{TeX}{% 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,makebackcover,ordernumber,chapter*,disclaimer,newglssymbol,yadsetup,% comue,newcorporation,NoCaseChange% % acknowledgements,frenchabstract,foreword,preface,caution, },% % Environments' names morekeywords={% yathesis% },% morekeywords=[1]{% Environments' names abstract,dedicationspage,epigraphspage,epigraphs,% glossaries,otherlanguage% },% morekeywords=[2]{% Keys of key-value lists professor,seniorresearcher,mcf,associateprofessor,juniorresearcher,mcf*,associateprofessor*,% 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,localtocs,localtocs/depth,localbibs,localbibs*% },% 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,% coinstitute,company,institute,cosupervisor,cosupervisor*,comonitor,% comonitor*,supervisor,supervisor*,academicfield,doctoralschool,keywords,% ordernumber,committeepresident,committeepresident*,speciality% },% alsoletter={!-*1234560/}% }% \lstdefinelanguage[gzt]{TeX}[LaTeX]{TeX}{% moretexcs={% Control sequences' names editorinchief,editor,president,classdesigner,classmaintainer,fontdesigner,% graphicdesigner,issuesetup,journalsetup,interviewee,academicsignature,% subtitle,editorial,gzttableofcontents,gztlocaltableofcontents,minitoc,presidentmessage,% acknowledgements,printminibios,aboutfrontcover,rubric,mathematics,% dossier,community,interview,teaching,parity,tellme,information,% rearviewmirror,tribute,books,email,question,smf,cad,Cad,gzt,% century,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% },% % Mandatory arguments (other than 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,label,% 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}% }% \lstdefinelanguage[nwejm]{TeX}[LaTeX]{TeX}{% moretexcs={% Control sequences' names editorinchief,editor,president,classdesigner,classmaintainer,fontdesigner,% graphicdesigner,issuesetup,journalsetup,interviewee,academicsignature,% subtitle,editorial,nwejmtableofcontents,minitoc,presidentmessage,% acknowledgements,printminibios,aboutfrontcover,rubric,mathematics,% dossier,community,interview,teaching,parity,tellme,information,% rearviewmirror,tribute,books,email,question,smf,ie,Ie,nwejm,% century,century*,aside,aside*,nwejminput,nwejmnewtheorem,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,set,% nwejmverb,th,epigraph,keywords,msc,acknowledgments,E,I,grad,Div,curl,rot,supp,% DeclareMathOperator,BinaryOperators,dif,articlesetup,% bbN,bbZ,bbD,bbQ,bbR,bbC,bbK,% newenumeration% },% % Mandatory arguments (other than environments' names) morekeywords={% nwejm,nwejmart,% },% morekeywords=[1]{% Environments' names abstract,minitoclist,bookreview,bookadvertisement,% nwejmfigure,nwejmfigure*,nwejmtable,nwejmtable*,nwejmscan,nwejmcode,% 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*,% assertions,hypotheses% },% 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,label,% pictogram,list,help,diameter,textwidth,xshift,yshift,% affiliation,affiliationtagged,email,minibio,photo,webpage,frontcover,bibkey,copyright,% gradient,title/french,style,title,title-plural,singular,plural,label% },% morekeywords=[3]{% Values of key-value lists true,false,theorem,definition,proof% },% morekeywords=[4]{% Class and packages options pagegrid,forprinter,cover,forauthors,% },% alsoletter={!-*1234560/}% }% \lstdefinelanguage[studentreport]{TeX}[LaTeX]{TeX}{% moretexcs={% Control sequences' names reportsetup,daterange,companytutor,academictutor,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,tutor,tutors,before~start~date,before~end~date,date,% logos,logosheights,keywords,subject,% },% morekeywords=[3]{% Values of key-value lists ulco,iutlco,gtelco,gimlco,% },% alsoletter={!-*1234560}% }% \lstdefinelanguage{bash}[]{sh}% {% morekeywords={% ssh-keygen,rsa,mkdir,cp,chmod,git,clone,tree,pull,lgr,lga,commit,% ls,add,record,push% },% alsoletter={!-*}% }% \hypersetup{colorlinks}% \presetkeys{todonotes}{fancyline, color=white}{}% \setlength\bibinitsep{1.25\baselineskip} \SetCiteCommand{\autocite} \sys_if_engine_pdftex:T { \renewcommand{\ttdefault}{lmtt} } \sys_if_engine_pdftex:T {% \ttfamily% \DeclareFontShape{T1}{lmtt}{bx}{it}{<-> ssub * lmtt/b/sl}{}% } \if@DBD@beamer@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} \def\disp@com#1{\colDef{\ttfamily#1}} \define@key{Gin}{bylabel}{% \edef\@tempa{{Gin}{page=\zref@extract{#1}{abspage}}}% \expandafter\setkeys\@tempa% }% \NewDocumentCommand \translateexpression { sm } { \enquote{\foreignlanguage{french}{\translate{#2}}}~ ou~ \enquote{\foreignlanguage{english}{\translate{#2}}}% \IfBooleanF {#1} { \selonlangue% \index{expression!en~français!\enquote{\foreignlanguage{french}{\translate{#2}}}}% \index{expression!en~anglais!\enquote{\foreignlanguage{english}{\translate{#2}}}}% } } \@ifclassloaded{beamer}{% }{% \expandafter\AtBeginDocument\expandafter{% \expandafter\def\expandafter\theindex\expandafter{\theindex}% } \expandafter\AtBeginDocument\expandafter{% \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}% } \ExplSyntaxOff \def\imki@finalmessage#1{}% since you're using latexmk \def\imki@startidx#1#2{% \if@filesw \def\index{\@bsphack \@ifnextchar [{\@index}{\@index[\imki@jobname]}} \expandafter\newwrite\csname #1@idxfile\endcsname \immediate\openout \csname #1@idxfile\endcsname #1.#2\relax \typeout{Writing index file #1.#2}% \fi} \xpatchcmd\imki@makeindex {\imki@startidx\imki@name} {\imki@startidx\imki@name\imki@extout} {}{} \xpatchcmd\imki@build {\imki@dokey\imki@title} {\imki@dokey\imki@title \imki@dokey\imki@extin \imki@dokey\imki@extout} {}{} \xpatchcmd{\imki@putindex} {\imki@options} {\c_space_tl~ -o~ #1.\imki@extin\imki@options} {}{} \xpatchcmd{\imki@putindex} {.idx} {.\imki@extout} {}{} \xpatchcmd{\imki@putindex} {.ind} {.\imki@extin} {}{} \def\imki@extout{idx}\def\imki@extin{ind} \define@key{imki}{extout}{\def\imki@extout{#1}} \define@key{imki}{extin}{\def\imki@extin{#1}} }% \ExplSyntaxOn \@ifclassloaded{beamer}{% }{% \cs_new_protected:Nn \__denisbdoc_alert:n { \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 } \DeclareDocumentCommand \PrintChanges { !O{} } { \indexprologue{#1} \def\imki@indexlevel{\chapter} \printindex[\jobname-changes] \def\imki@indexlevel{\chapter*} } }% \IfLanguageName{french}{% \DeclarePlainStyle{«~}{~»}% {“}{”} }{}% \tl_const:Nx \c__denisbdoc_standard_url_tl { \tl_to_str:n { https://ctan.org/pkg/ } } \cs_new_protected:Npn \__denisbdoc_package_format:nn #1#2 { #2{\sffamily#1} } \cs_new_protected:Npn \__denisbdoc_package:nnnnnnn #1#2#3#4#5#6#7 { \texorpdfstring { \bool_if:nTF {#1} { \__denisbdoc_package_format:nn {#4}{#7} } { \tl_if_blank:nTF {#3} { \tl_set:Nx \l_tmpa_tl {\c__denisbdoc_standard_url_tl #4} \href { \l_tmpa_tl } { \__denisbdoc_package_format:nn {#4}{#7} } } { \href { #3 } { \__denisbdoc_package_format:nn {#4}{#7} } } } \IfBooleanF{#2} { \tl_if_empty:nTF {#6} { \index{#5!liste!\textsf{#4}} }{ \index{#5!liste!\textsf{#4}!#6} } } } {#4} } \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{} } { \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{} } { \IfLanguageName{french}{% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7} }{}% \IfLanguageName{english}{% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{class}{#6}{#7} }{}% } \NewDocumentCommand{\Class}{ s t+ O{} m !O{} !O{} !O{} } { \IfLanguageName{french}{% classe~% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7} }{}% \IfLanguageName{english}{% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{class}{#6}{#7}~% class }{}% } \cs_new_protected:Nn \__denisbdoc_format:n { \textsc{#1} } \NewDocumentCommand{\format}{ m } {% \__denisbdoc_format:n {#1} } \NewDocumentCommand{\Format}{ m } {% \IfLanguageName{french}{format~}{}% \__denisbdoc_format:n {#1}% \IfLanguageName{english}{~format}{}% }% \cs_new_protected:Nn \__denisbdoc_file:n { % \bgroup% \color{magenta} \texttt{#1} % \egroup } \NewDocumentCommand{\file}{ m } {% \__denisbdoc_file:n {#1} } \NewDocumentCommand{\File}{ m } {% \IfLanguageName{french}{fichier~}{}% \__denisbdoc_file:n {#1}% \IfLanguageName{english}{~file}{}% }% \NewDocumentCommand{\folder}{ m } { \__denisbdoc_file:n {#1}% } \NewDocumentCommand{\Folder}{ m } {% \IfLanguageName{french}{dossier~}{}% \__denisbdoc_file:n {#1}% \IfLanguageName{english}{~directory}{}% }% \NewDocumentCommand{\program}{ m } { \__denisbdoc_file:n {#1}% } \NewDocumentCommand{\texstudio}{ } { \program{TeXstudio} } \NewDocumentCommand{\emacs}{ } { \program{Emacs} } \NewDocumentCommand{\texlive}{ } { \href{http://www.tug.org/texlive/}{\TeX{}\c_space_tl{}Live} } \NewDocumentCommand{\miktex}{ } { \href{http://www.tug.org/texlive/}{MiK\TeX} } \NewDocumentCommand{\linux}{ } { Linux\index{Linux} } \NewDocumentCommand{\macos}{ } { Mac OS\index{Mac OS} } \NewDocumentCommand{\windows}{ } { Windows\index{Windows} } \cs_new_protected:Nn \__denisbdoc_links:nnn { \cs_if_exist:NTF \faExternalLink {% % \href{#2#3#1}{\texttt{#3}}~\href{http://mirror.ctan.org/macros/latex/contrib/yathesis/#2#3#1}{\faExternalLink} \texttt{#3}~% \textnormal{(\attachfile{#2#3#1})} }{ % \href{#2#3#1}{\texttt{#3}}~\href{http://mirror.ctan.org/macros/latex/contrib/yathesis/#2#3#1}{} \texttt{#3}~% \textnormal{(\attachfile{#2#3#1})} } } \cs_new_protected:Nn \__denisbdoc_etctree: { ... } \NewDocumentCommand{\etctree}{ } { \__denisbdoc_etctree:% } \cs_new_protected:Nn \__denisbdoc_filetree:n { \__denisbdoc_links:nnn {}{\folder/\subfolder/}{#1} } \NewDocumentCommand{\filetree}{ m } {% \__denisbdoc_filetree:n {#1} } \NewDocumentCommand{\pdffiletree}{ m } {% \__denisbdoc_filetree:n {#1.pdf} } \NewDocumentCommand{\texfiletree}{ m } {% \__denisbdoc_filetree:n {#1.tex} } \cs_new_protected:Nn \__denisbdoc_zip_filetree: { \bgroup% \color{magenta} \bfseries \color{red} \__denisbdoc_links:nnn {}{\folder/}{\subfolder.zip} \egroup } \NewDocumentCommand{\zipfiletree}{ } {% \__denisbdoc_zip_filetree: {} } \cs_new_protected:Nn \__denisbdoc_directory_filetree: { \bgroup% \color{magenta} \bfseries \color{blue} \__denisbdoc_links:nnn {../exemples}{}{\folder/} \egroup } \NewDocumentCommand{\directorytree}{ } {% \__denisbdoc_directory_filetree: {} } \cs_new_protected:Nn \__denisbdoc_subdirectory_filetree: { \bgroup% \color{magenta} \bfseries \color{blue} \__denisbdoc_links:nnn {.}{\folder/}{\subfolder/} \egroup } \NewDocumentCommand{\subdirectorytree}{ } {% \__denisbdoc_subdirectory_filetree: {} } \cs_new_protected:Nn \__denisbdoc_mandatory: { \hyperref[sec-comm-oblig]{% \textcolor{red!75!black}{ % \sys_if_engine_pdftex:TF % { % % \string! % \ding{52} % }{ \faLock % \ding{52} % }% } \ifnum\getpagerefnumber{sec-comm-oblig}=\thepage% \else% \textsuperscript{\ding{213}\,\kvtcb@text@pageshort\,\pageref*{sec-comm-oblig}}% \fi% }% } \cs_new_protected:Nn \__denisbdoc_mandatory_no_link: { \textcolor{red!75!black}{ \faLock } } \NewDocumentCommand{\mandatory}{ s } { \IfBooleanTF {#1} { \__denisbdoc_mandatory_no_link: {} } { \__denisbdoc_mandatory: {} } }% \NewDocumentCommand{\unixtldirectory}{} { \directorytree{\c__denisbdoc_unixtldirectory_string_tl} }% \NewDocumentCommand{\tlversion}{} { \directorytree{\c__denisbdoc_tlversion_string_tl} }% \NewDocumentCommand{\wintldirectory}{} { \directorytree{\c__denisbdoc_wintldirectory_string_tl} }% \NewDocumentCommand{\tldistdirectory}{} { \directorytree{\c__denisbdoc_tldistdirectory_string_tl} }% \NewDocumentCommand{\miktexdistdirectory}{} { \directorytree{\c__denisbdoc_miktexdistdirectory_string_tl} }% \NewDocumentCommand{\docdirectory}{} { \directorytree{\c__denisbdoc_docdirectory_string_tl} }% \NewDocumentCommand{\texdirectory}{} { \directorytree{\c__denisbdoc_texdirectory_string_tl} }% \NewDocumentCommand{\sourcedirectory}{} { \directorytree{\c__denisbdoc_sourcedirectory_string_tl} }% \NewDocumentCommand{\jobdirectory}{} { \directorytree{\c__denisbdoc_jobdirectory_string_tl} }% \NewDocumentCommand{\jobdocdirectory}{} { \directorytree{\c__denisbdoc_jobdocdirectory_string_tl} }% \NewDocumentCommand{\version}{ m } { Version~\texttt{#1} } \NewDocumentCommand{\pdf}{} { \textsc{pdf} } \DeclareDocumentCommand \aside { s m } {% \IfBooleanTF {#1} { \c__denisbdoc_aside_string_tl{}~#2 } { \c__denisbdoc_aside_string_tl{}~#2~\c__denisbdoc_aside_string_tl } } \bool_if:nT {\g__denisbdoc_yad_bool} {% % \zexternaldocument{\c__denisbdoc_flatsample_string_tl/these}% \bool_new:N \g__denisbdoc_these_aux_exists% \msg_new:nnn{denisbdoc}{File~ `\c__denisbdoc_these_aux_string_tl'~ needed}{% File~ `\c__denisbdoc_these_aux_string_tl'~ needed~ (otherwise~ this~ document~ will~ be~ incomplete)!~ Please~ go~ to~ `\c__denisbdoc_flatsample_string_tl'~ directory~ and~ run~ first:\\\\ \ \ latexmk~ -g~ -pdf~ -jobname=these~ -pdflatex="pdflatex~ \%O~ \string\ \\ \ \ '\string\RequirePackage\{etoolbox\}~ \string\ \\ \ \ \string\AtEndPreamble\{\string\RequirePackage\{yathesis-demo\}\}~ \string\ \\ \ \ \string\input\{\%S\}'"~ these.tex \\\\ Afterwards,~ recompile~ this~ document.% }% \file_if_exist:nTF {\c__denisbdoc_flatsample_string_tl/\c__denisbdoc_these_aux_string_tl} { \bool_gset_true:N \g__denisbdoc_these_aux_exists }{ % \bool_gset_false:N \g__denisbdoc_these_aux_exists \msg_warning:nn{denisbdoc}{File~ `\c__denisbdoc_these_aux_string_tl'~ needed} \AfterEndPreamble{% \begin{dbwarning}{Documentation~incomplète~!}{documentation-incomplete} La~ présente~ documentation~ est~ incomplète~ car~ le~ \File{\c__denisbdoc_these_aux_string_tl}~ est~ absent~ du~ \Folder{\c__denisbdoc_flatsample_string_tl}.~ Pour~ régler~ le~ problème,~ rendez-vous~ dans~ ce~ dossier~ et~ compilez~ le~ \File{these.tex}~ au~ moyen~ de~ la~ commande~ suivante\footnote{Sur~ une~ seule~ ligne.}~ : \par\medskip \lstinline[language=bash,upquote=true,commentstyle=,stringstyle=,showstringspaces=false]+latexmk~-g~ -norc~ -r~ ./latexmkrc~-jobname=these-pdflatex="pdflatex~\%O~'\\RequirePackage\{etoolbox\}\\AtEndPreamble\{\\RequirePackage\{yathesis-demo\}\}\\input\{\%S\}'"~these+ \end{dbwarning} } } % \msg_new:nnn{denisbdoc}{File~ `\c__denisbdoc_template_sample_zip_string_tl'~ needed}{% File~ `canevas-specimen.zip'~ needed~ (otherwise~ this~ document~ will~ be~ incomplete)!~ Please~ get~ this~ file~ from~ the~ orignal~ yathesis'~ documentation~ and~ save~ it~ in~ `../exemples/'~ folder.~ Afterwards,~ recompile~ this~ document.% }% \file_if_exist:nTF {../\c__denisbdoc_template_sample_zip_string_tl} {}{ \msg_warning:nn{denisbdoc}{File~ `\c__denisbdoc_template_sample_zip_string_tl'~ needed} \AfterEndPreamble{% \begin{dbwarning}{Documentation~incomplète~!}{} La~ version~ électronique~ (\pdf{})~ de~ la~ présente~ documentation~ est~ incomplète~ :~ normalement,~ les~ canevas~ et~ spécimens~ y~ sont~ intégrés~ par~ le~ biais~ de~ l'archive~ \gls{zip}~ \file{\c__denisbdoc_template_sample_zip_string_tl}~ (alors~ accessible~ par~ simple~ clic)~ mais~ ce~ n'est~ pas~ le~ cas~ ici,~ ce~ fichier~ étant~ absent~ du~ dossier~ parent.~ % \Folder{\c__denisbdoc_examples_path_tl}.~ Pour~ régler~ le~ problème,~ accédez~ à~ ce~ fichier~ attaché~ à~ la~ version~ électronique~ originale~ de~ la~ documentation~ de~ \yatcl{}\footnote{Disponible~ à~ l'adresse~ \url{http://ctan.org/pkg/yathesis},~ si~ besoin~ est.}~ et~ placez-le~ dans~ le~ \Folder{\c__denisbdoc_examples_path_tl}. \end{dbwarning} } } % \cs_new_protected:Nn \__denisbdoc_screenshot:nn { \bool_if:NTF {\g__denisbdoc_these_aux_exists} { \fbox{\includegraphics[bylabel=#2,width=#1\linewidth-2\fboxsep-2\fboxrule]{\c__denisbdoc_flatsample_string_tl/these}}% }{% \begin{dbwarning}{Copie~d'écran~manquante~!}{} Il~ devrait~ ici~ y~ avoir~ une~ copie\c_space_tl ~ d'écran.~ Cf.~ \vref{wa-documentation-incomplete}~ pour~ plus~ de~ détails. \end{dbwarning} } } \NewDocumentCommand \screenshot { O{.45} m } {% \__denisbdoc_screenshot:nn {#1}{#2} } } \newunicodechar{⟨}{$\langle$} \newunicodechar{⟩}{$\rangle$} \cs_new_protected:Nn \__denisbdoc_meta:nn { \bgroup% \normalfont \ttfamily% \itshape% \textcolor{#1}{$\langle$#2$\rangle$}% \egroup% } \AtBeginDocument{% \RenewDocumentCommand{\meta}{ O{meta} m } { \__denisbdoc_meta:nn {#1}{#2} } }% \NewTCBListing{preamblecode}{ !O{} }{% codes,% drop~lifted~shadow, #1% } \NewTCBListing{preamblecode*}{ !O{} }{% codes,% enlarge~top~by=\c_zero_dim, drop~lifted~shadow, #1% } \NewTCBListing{bodycode}{ !O{} }{% codes,% #1% } \NewTCBInputListing{\preamblesampleold}{ O{these.tex} m m }{% samples, drop~lifted~shadow, listing~file={\c__denisbdoc_treesample_string_tl/#1}, listing~options={rangebeginprefix=\\,rangeendsuffix=\},#2}, #3, }% \NewTCBInputListing{\preamblesample}{ m m m }{% samples, drop~lifted~shadow, listing~file={\c__denisbdoc_these_snippets_directory_tl/#1}, listing~options={#2}, #3, }% \NewTCBInputListing{\bodysampleold}{ O{these.tex} m m }{% samples, listing~file={\c__denisbdoc_treesample_string_tl/#1}, listing~options={rangebeginprefix=\\,rangeendsuffix=\},#2}, #3, }% \NewTCBInputListing{\bodysample}{ m m m }{% samples, listing~file={\c__denisbdoc_these_snippets_directory_tl/#1}, listing~options={#2}, #3, }% \tl_new:N \g__denisbdoc_number_within_tl \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, dbtcb }{wa} \newtcbtheorem[list~inside=dbexamplelist,number~within=\g__denisbdoc_number_within_tl,crefname={exemple}{exemples}]{dbexample}{Exemple}{% colback=lime!5!white, colframe=lime!75!black, dbtcb, }{ex} \newtcbtheorem[list~inside=dbremarklist,number~within=\g__denisbdoc_number_within_tl,crefname={remarque}{remarques}]{dbremark}{Remarque}{% colback=cyan!5!white, colframe=cyan!75!black, dbtcb }{rq} \newtcbtheorem[list~inside=dbfaqlist,number~within=\g__denisbdoc_number_within_tl,crefname={question}{questions}]{dbfaq}{Question}{% colback=lightgray!5!white, colframe=lightgray!75!black, % fontupper=\itshape, dbtcb }{faq} \newtcbtheorem[list~inside=dbtabularlist,number~within=\g__denisbdoc_number_within_tl,crefname={tableau}{tableaux}]{dbtab}{Tableau}{% colback=purple!5!white, colframe=purple!75!black, fontupper=\itshape, dbtcb }{tab} \NewDocumentCommand{\menuentry}{ O{} m } { \group_begin: % to segregate local changes to keys and font \keys_set:nn { menuentry } { #1 } \exp_args:NNx \seq_set_split:Nnn \l_menuentry_seq { \l_menuentry_inputsep_tl } { #2 } \tl_use:N \l_menuentry_font_tl \bool_set_false:N \l_tmpa_bool \seq_map_function:NN \l_menuentry_seq \menuentry_process:n \group_end: } \NewDocumentCommand{\menuentryset} { m } { \keys_set:nn { menuentry } { #1 } } \tl_new:N \l_menuentry_font_tl \tl_new:N \l_menuentry_sep_tl \tl_new:N \l_menuentry_inputsep_tl \seq_new:N \l_menuentry_seq \cs_new:Npn \menuentry_process:n #1 { \bool_if:NTF \l_tmpa_bool { \l_menuentry_sep_tl } { \bool_set_true:N \l_tmpa_bool } \tl_if_empty:nTF { #1 } {EMPTY~ARG!} { #1 } } \keys_define:nn { menuentry } { menufont .tl_set:N = \l_menuentry_font_tl , menusep .tl_set:N = \l_menuentry_sep_tl, inputsep .tl_set:N = \l_menuentry_inputsep_tl, } \keys_set:nn { menuentry } { menufont = \sffamily , menusep = ${}\to{}$ } \menuentryset{inputsep=>} \tl_const:Nn \c__denisbdoc_yat_class_name_tl {yathesis} \tl_const:Nn \c__denisbdoc_configuration_directory_string_tl {configuration} \tl_const:Nn \c__denisbdoc_configuration_file_string_tl {thesis.cfg} \tl_const:Nn \c__denisbdoc_characteristics_file_string_tl {characteristics.tex} \tl_const:Nn \c__denisbdoc_macros_file_file_string_tl {macros.tex} \tl_const:Nn \c__denisbdoc_auxiliary_directory_string_tl {auxiliaires} \tl_const:Nn \c__denisbdoc_glossary_file_string_tl {glossaire.tex} \tl_const:Nn \c__denisbdoc_acronyms_file_string_tl {acronymes.tex} \tl_const:Nn \c__denisbdoc_symbols_file_string_tl {symboles.tex} \tl_const:Nn \c__denisbdoc_images_directory_string_tl {images} \tl_const:Nn \c__denisbdoc_thesis_master_file_string_tl {these} \NewDocumentCommand \yat { } {% \textsl{\textsf{\c__denisbdoc_yat_class_name_tl}} } \NewDocumentCommand \yatpa { } {% \Package+{\c__denisbdoc_yat_class_name_tl}[\itshape][]\xspace } \NewDocumentCommand \yatcl { } {% \texorpdfstring{\class+{\c__denisbdoc_yat_class_name_tl}[][][\itshape]\xspace}{yathesis} } \NewDocumentCommand \yatCl { } {% \texorpdfstring{\Class+{\c__denisbdoc_yat_class_name_tl}[][][\itshape]\xspace}{classe yathesis} } \NewDocumentCommand \configurationdirectory { } {% \c__denisbdoc_configuration_directory_string_tl } \NewDocumentCommand \configurationfile { } {% \c__denisbdoc_configuration_file_string_tl } \NewDocumentCommand \characteristicsfile { } {% \c__denisbdoc_characteristics_file_string_tl } \NewDocumentCommand \macrosfile { } {% \c__denisbdoc_macros_file_string_tl } \NewDocumentCommand \auxiliarydirectory { } {% \c__denisbdoc_auxiliary_directory_string_tl } \NewDocumentCommand \glossaryfile { } {% \c__denisbdoc_glossary_file_string_tl } \NewDocumentCommand \acronymsfile { } {% \c__denisbdoc_acronyms_file_string_tl } \NewDocumentCommand \symbolsfile { } {% \c__denisbdoc_symbols_file_string_tl } \NewDocumentCommand \imagesdirectory { } {% \c__denisbdoc_images_directory_string_tl } \NewDocumentCommand \thesismasterfile { } {% \c__denisbdoc_thesis_master_file_string_tl } \tl_const:Nn \c__denisbdoc_gzt_class_name_tl {gzt} \tl_const:Nn \c__denisbdoc_gztauthor_class_name_tl {gztarticle} \tl_const:Nn \c__denisbdoc_journal_short_title_string_tl {Gazette} \tl_const:Nn \c__denisbdoc_journal_title_string_tl { \c__denisbdoc_journal_short_title_string_tl{}~des~Math\'ematiciens% } \NewDocumentCommand \gztauthor { } {% \textsl{\texttt{\c__denisbdoc_gztauthor_class_name_tl}} } \NewDocumentCommand \gztauthorcl { } {% \Class+[http://ctan.org/pkg/gzt]{\gztauthor} } \tl_const:Nn \c__denisbdoc_nwejm_class_name_tl {nwejm} \tl_const:Nn \c__denisbdoc_nwejmauthor_class_name_tl {nwejmart} \ProvideDocumentCommand \nwejm { s } { \IfBooleanTF {#1} { \textit{\c__denisbdoc_journal_title_string_tl} } { \textit{\c__denisbdoc_journal_short_title_string_tl} } } \ProvideDocumentCommand \nwejmcl { } {% \Class{\c__denisbdoc_nwejm_class_name_tl} } \NewDocumentCommand \nwejmauthor { } {% \class[\c__denisbdoc_standard_url_tl\c__denisbdoc_nwejm_class_name_tl]{\c__denisbdoc_nwejmauthor_class_name_tl} } \NewDocumentCommand \nwejmauthorcl { } {% \Class[\c__denisbdoc_standard_url_tl\c__denisbdoc_nwejm_class_name_tl]{\c__denisbdoc_nwejmauthor_class_name_tl} } \tl_const:Nn \c__denisbdoc_studentreport_class_name_tl {studentreport} \ProvideDocumentCommand \studentreportcl { } {% \Class{\c__denisbdoc_studentreport_class_name_tl} } \NewDocumentCommand \studentreportauthor { } {% \class[\c__denisbdoc_standard_url_tl\c__denisbdoc_studentreport_class_name_tl]{\c__denisbdoc_studentreportauthor_class_name_tl} } \NewDocumentCommand \studentreportauthorcl { } {% \Class[\c__denisbdoc_standard_url_tl\c__denisbdoc_studentreport_class_name_tl]{\c__denisbdoc_studentreportauthor_class_name_tl} } \lstdefinestyle{pre-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, texcsstyle=*\color{texcs}, breaklines=true, basicstyle=\normalfont\ttfamily, commentstyle=\color{comment}\itshape, directivestyle={\color{directive}}, keywordstyle={\color{red}}, keywordstyle={[1]\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, keepspaces, numberstyle=\small, inputencoding=utf8/latin1, aboveskip=\c__denisbdoc_listings_aboveskip_skip, belowskip=\c__denisbdoc_listings_belowskip_skip }% \tl_gclear:N \g_tmpa_tl \bool_if:nT {\g__denisbdoc_yad_bool} {% \lstdefinestyle{dbtex}{% style=pre-dbtex,% alsolanguage=[yad]TeX,% alsolanguage=[colophon]TeX,% moretexcs={printbibliography,autocite},% morekeywords=[2]{% colback,refsegment% },% morekeywords=[2]{% red,white% },% }% \tl_gset:Nx \g_tmpa_tl {\c__denisbdoc_yat_class_name_tl} } \bool_if:nT {\g__denisbdoc_gzt_bool} {% \lstdefinestyle{dbtex}{% style=pre-dbtex,% alsolanguage=[gzt]TeX,% }% \tl_gset:Nx \g_tmpa_tl {\c__denisbdoc_gzt_class_name_tl} } \bool_if:nT {\g__denisbdoc_nwejm_bool} {% \lstdefinestyle{dbtex}{% style=pre-dbtex,% alsolanguage=[nwejm]TeX,% }% \tl_gset:Nx \g_tmpa_tl {\c__denisbdoc_nwejm_class_name_tl} } \bool_if:nT {\g__denisbdoc_studentreport_bool} {% \lstdefinestyle{dbtex}{% style=pre-dbtex,% alsolanguage=[studentreport]TeX,% }% \tl_gset:Nx \g_tmpa_tl {\c__denisbdoc_studentreport_class_name_tl} } \NewDocumentCommand{\currentclass}{}{\g_tmpa_tl} \NewExpandableDocumentCommand{\currenturl}{}{\c__denisbdoc_standard_url_tl\g_tmpa_tl} \NewDocumentCommand{\thisclass}{}{\class{\g_tmpa_tl}} \NewDocumentCommand{\Thisclass}{}{\Class{\g_tmpa_tl}} \tcbset{dbtcb/.style={% breakable, fonttitle=\bfseries, enlarge~top~by=1mm, separator~sign~dash, label~separator=-, before~title={% \hypersetup{hidelinks}% \tcbset{% color~definition=white, color~hyperlink=white, }% }% }% }% \tcbset{% doc~head={% % boxsep=4pt,arc=4pt,boxrule=0.6pt,% % frame~style=fill,% % colframe=red!50!black,% interior~style={% fill,% color=yellow!10!white,% }% }% } \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~format=off, index~colorize, index~annotate=false, enhanced, listing~style=dbtex, every~box/.style={documentation~listing~style=dbtex}, 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=\}} }% }% \renewcommand*{\tcbdocnew}[1]{\scriptsize\sffamily\textcolor{green!50!black}{\bfseries Nouv.~:}~#1} \renewcommand*{\tcbdocupdated}[1]{\scriptsize\sffamily\textcolor{blue!75!black}{\bfseries \textsc{m.-à-j.}~:}~#1} \lstset{style=dbtex} \sys_if_engine_pdftex:TF { \ExplSyntaxOff \lstMakeShortInline[style=dbtex]| \ExplSyntaxOn }{ \lstMakeShortInline[style=dbtex]× } \pdfstringdefDisableCommands{% \let\textcolor\@gobble \def\yatcl{yathesis} \def\yatCl{classe~yathesis} \def\program#1{#1} } \ExplSyntaxOff %% Copyright (C) 2015-2021 by %% Denis Bitouzé %% %% 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é. %% %% This work consists of the file denisbdoc.dtx %% denisbdoc.sty and %% denisbdoc.ins. %% %% End of file `denisbdoc.sty'.