% \iffalse meta-comment %<*internal> \iffalse % %<*readme> denisbdoc - A personal package for documenting classes and packages, version 0.2 ================================================================================ This (quick 'n dirty) package is just for documenting the classes I've written. 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. % %<*internal> \fi \def\nameofplainTeX{plain} \ifx\fmtname\nameofplainTeX\else \expandafter\begingroup \fi % %<*install> \input l3docstrip.tex \askforoverwritefalse \preamble ----------------------------------------------------------------------- ----------------------------------------------------------------------------- denisbdoc --- A personal dirty package for documenting packages, version 0.2 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, 2016 by Denis Bitouz'e 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}} } % %\endbatchfile %<*internal> \usedir{source/latex/denisbdoc} \generate{ \file{\jobname.ins}{\from{\jobname.dtx}{install}} } \nopreamble\nopostamble \usedir{doc/latex/denisbdoc} \generate{ \file{README.md}{\from{\jobname.dtx}{readme}} } \usedir{/} \generate{ \file{README.md}{\from{\jobname.dtx}{readme}} }% \ifx\fmtname\nameofplainTeX \expandafter\endbatchfile \else \expandafter\endgroup \fi % %<*driver|package> \RequirePackage{expl3,l3keys2e,xparse} % %<*driver> % \documentclass[english,french]{ltxdoc} % \usepackage{denisbdoc} % % Silence annoying fp package messages % %\DisableImplementation % \begin{document} % \DocInput{\jobname.dtx} % \end{document} % % \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{v0.1}{2015/03/15}{First CTAN version} %\changes{v0.2}{2016/04/04}{Second CTAN version} % %\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} {2016/04/04} {0.2} {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{subcaption}% % \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{xspace}% \RequirePackage{hologo}% \RequirePackage{xifthen}% \RequirePackage{refcount}% \RequirePackage{iflang}% \RequirePackage{ifpdf}% \RequirePackage{amssymb}% \RequirePackage{tocvsec2}% \RequirePackage{csquotes}% \RequirePackage{tikz}% % \RequirePackage[xindy]{imakeidx} % \RequirePackage{scrlfile} \BeforePackage{doc}{\let\oldmaketitle\maketitle} \AfterPackage{doc}{\let\maketitle\oldmaketitle} % \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 \ifpdf \tcbuselibrary{listingsutf8} \else \tcbuselibrary{listings} \RequirePackage{fontawesome}% \lstMakeShortInline[style=dbtex]× \fi \tcbuselibrary{% documentation,theorems,breakable,skins% } \usetikzlibrary{trees,backgrounds,fit,calc,positioning} \RequirePackage{attachfile2} \ExplSyntaxOn \RequirePackage{comment}% \RequirePackage{path}% \RequirePackage{textcase}% \@ifpackageloaded{biblatex}{% }{% \RequirePackage[backend=biber,style=authortitle,autopunct=false,useprefix=true,backref,dashed=false]{biblatex}% }% \RequirePackage{babel}% % \RequirePackage[useregional]{datetime2}% \RequirePackage[nodayofweek]{datetime}% % \RequirePackage{floatrow}% % \RequirePackage{subcaption}% \@ifpackageloaded{hyperref}{% }{% \RequirePackage{hyperref}% }% \@ifpackageloaded{nameref}{% }{% \RequirePackage{nameref}% }% \@ifpackageloaded{hypcap}{% }{% \RequirePackage[all]{hypcap}% }% \@ifpackageloaded{bookmark}{% }{% \RequirePackage[numbered]{bookmark}% }% \@ifpackageloaded{glossaries}{% }{% \RequirePackage[nowarn]{glossaries}% \makeglossaries \setglossarystyle{indexhypergroup} \setacronymstyle{long-sc-short} }% \@ifpackageloaded{cleveref}{% }{% \RequirePackage{cleveref}% }% % \end{macrocode} % We apply a patch currently necessary (cf. \url|http://tex.stackexchange.com/a/233524/18401|). % \begin{macrocode} \ifundef{\inpenc@prehook}{% }{% \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,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*% },% 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% },% % 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,% textcite,cite,citeauthor% },% % 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,textins,blockcquote% },% % 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]{% skipbib% },% % 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% },% % 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 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% },% % 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 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}{% 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}{% 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,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,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}% }% % \end{macrocode} % % Definition of the \enquote{nwejm} \TeX{} dialect. % \begin{macrocode} \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% },% % Environments' names morekeywords={% nwejm,nwejmart,assertions,hypotheses% },% 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*% },% 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% },% 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} % % Enhancements of the \enquote{bash} ×sh× dialect. % \begin{macrocode} \lstdefinelanguage{bash}[]{sh}% {% morekeywords={% ssh-keygen,rsa,mkdir,cp,chmod,git,clone,tree,pull,lgr,lga,commit,% ls,add,record,push% },% alsoletter={!-*}% }% % \end{macrocode} % % \section{Settings} % \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, alsolanguage=[nwejm]TeX, texcsstyle=*\color{texcs}, breaklines=true, basicstyle=\normalfont\ttfamily, commentstyle=\color{comment}\itshape, keywordstyle={\color{environment}}, 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_@@_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 \DeclareDocumentCommand \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 { \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 \_@@_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 % \ding{52} }% } \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}{} { \textsc{pdf} } % \end{macrocode} % % \begin{macro}{\aside} % \begin{macrocode} \DeclareDocumentCommand \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} \tl_new:N \g_@@_number_within_tl \tl_set:Nn \g_@@_number_within_tl {chapter} \@ifclassloaded{gztarticle}{\tl_set:Nn \g_@@_number_within_tl {section}}{}% \@ifclassloaded{nwejmart}{\tl_set:Nn \g_@@_number_within_tl {section}}{}% % \end{macrocode} % % \begin{macrocode} \newtcbtheorem[list~inside=dbwarninglist,number~within=\g_@@_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_@@_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_@@_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_@@_number_within_tl,crefname={question}{questions}]{dbfaq}{Question}{% colback=lightgray!5!white, colframe=lightgray!75!black, fontupper=\slshape, dbtcb }{faq} % \end{macrocode} % % \section{Macros for menu entries} % % The following code is borrowed from % \href{http://tex.stackexchange.com/a/40637/18401}{Enrico Gregorio (egreg)}. % \begin{macrocode} \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{}$ }% \end{macrocode} \menuentryset{inputsep=>} % % \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}}\xspace } \NewDocumentCommand \yatpa { } {% \Package{\yat}\xspace } \NewDocumentCommand \yatcl { } {% \Class{\yat}\xspace } % \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} % % \subsection{\Class{nwejm}} % % \begin{macrocode} \tl_const:Nn \c_@@_nwejm_class_name_tl {nwejm} \tl_const:Nn \c_@@_nwejmauthor_class_name_tl {nwejmart} % \end{macrocode} % % \begin{macro}{\nwejm} % \begin{macro}{\nwejmcl} % \begin{macrocode} \ProvideDocumentCommand \nwejm { s } { \IfBooleanTF {#1} { \textit{\c_@@_journal_title_string_tl} } { \textit{\c_@@_journal_short_title_string_tl} } } \ProvideDocumentCommand \nwejmcl { } {% \Class{\textsl{\texttt{\c_@@_nwejm_class_name_tl}}} } \NewDocumentCommand \nwejmauthor { } {% \textsl{\texttt{\c_@@_nwejmauthor_class_name_tl}} } \NewDocumentCommand \nwejmauthorcl { } {% \Class{\textsl{\texttt{\c_@@_nwejmauthor_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} % % \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: