From c3e265947d2886420e007290f119e91bce7c5921 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 27 Mar 2020 21:12:57 +0000 Subject: denisbdoc (27mar20) git-svn-id: svn://tug.org/texlive/trunk@54584 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/denisbdoc/denisbdoc.sty | 560 ++++++++++++++------- 1 file changed, 376 insertions(+), 184 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty b/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty index 387ec1885cb..1a9f33d013e 100644 --- a/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty +++ b/Master/texmf-dist/tex/latex/denisbdoc/denisbdoc.sty @@ -6,16 +6,17 @@ %% %% denisbdoc.dtx (with options: `package') %% ----------------------------------------------------------------------------- -%% denisbdoc --- A personal dirty package for documenting packages, version 0.7 +%% denisbdoc --- A personal dirty package for documenting personal classes, +%% version 0.8 %% %% Maintained by Denis Bitouz'e -%% E-mail: denis.bitouze@lmpa.univ-littoral.fr +%% 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} {2017/01/01} {0.7} +\ProvidesExplPackage {denisbdoc} {2020/03/27} {0.8} {A personal package for documenting packages} \@ifpackagelater { expl3 } { 2012/11/21 } { } @@ -33,42 +34,61 @@ yad .bool_gset:N = \g__denisbdoc_yad_bool, gzt .bool_gset:N = \g__denisbdoc_gzt_bool, nwejm .bool_gset:N = \g__denisbdoc_nwejm_bool, + studentreport .bool_gset:N = \g__denisbdoc_studentreport_bool, + lscape .bool_gset:N = \g__denisbdoc_lscape_bool, } \ProcessKeysOptions { denisbdoc } \PassOptionsToPackage{obeyspaces}{url} \sys_if_engine_pdftex:TF - { - \RequirePackage[T1]{fontenc} - \RequirePackage[utf8]{inputenc} - }{ - \RequirePackage{fontspec} - } +{ + \RequirePackage{cmap} + \RequirePackage[T1]{fontenc} + \RequirePackage[utf8]{inputenc} +}{ + \RequirePackage{fontspec} +} \RequirePackage{xpatch}% \AtEndPreamble{% \RequirePackage{mweights}% }% -\RequirePackage{parskip}% \RequirePackage{fixfoot}% -\RequirePackage{marginnote} -\RequirePackage[inline]{enumitem}% +\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{booktabs}% \RequirePackage{multirow}% \RequirePackage[xr]{zref}% -\RequirePackage[multiple]{footmisc}% -\RequirePackage{rotating}% -\RequirePackage{pdflscape}% +\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}% \RequirePackage{amssymb}% -\RequirePackage{tocvsec2}% +\if@DBD@beamer@not@loaded@ + \RequirePackage{tocvsec2}% +\fi \RequirePackage{ltxcmds}% \RequirePackage{csquotes}% \RequirePackage{tikz}% @@ -94,7 +114,6 @@ \__denisbdoc_printbibliography_ORI[heading=bibintoc,#1]% \pagestyle{ordinary}% }% - }{% }% }% }{% @@ -104,8 +123,10 @@ \RequirePackage{babel}% \RequirePackage[nodayofweek]{datetime}% \RequirePackage{subcaption}% -\RequirePackage{tocbibind}% -\RequirePackage[xindy]{imakeidx} +\if@DBD@beamer@not@loaded@ + \RequirePackage{tocbibind}% + \RequirePackage[xindy]{imakeidx} +\fi% \RequirePackage{varioref}% \@ifpackageloaded{tcolorbox}{% }{% @@ -115,13 +136,16 @@ }{% \RequirePackage[hyperfootnotes=false,hyperindex=false]{hyperref}% }% -\RequirePackage{attachfile2} \@ifpackageloaded{nameref}{% +\RequirePackage{attachfile2}% +\@ifpackageloaded{nameref}{% }{% \RequirePackage{nameref}% }% \@ifpackageloaded{hypcap}{% }{% - \RequirePackage[all]{hypcap}% + \if@DBD@beamer@not@loaded@ + \RequirePackage[all]{hypcap}% + \fi% }% \@ifpackageloaded{bookmark}{% }{% @@ -132,6 +156,15 @@ % \RequirePackage{glossaries}% \RequirePackage[xindy,hyperfirst=false,toc=false]{glossaries-extra}% \makeglossaries% + \newglossaryentry{zip}{% + name=zip,% + category={format},% + description={format~ de~ fichier~ permettant~ l'archivage~ (utilisation~ + d'un~ seul~ fichier~ pour~ stocker~ plusieurs~ fichiers)~ et~ la~ + compression~ de~ donn^^c3^^a9es~ (diminution~ de~ l'espace~ occup^^c3^^a9~ sur~ le~ + support~ num^^c3^^a9rique)~ sans~ perte~ de~ qualit^^c3^^a9},% + text={zip}% + }% \setglossarystyle{indexhypergroup}% \setabbreviationstyle[acronym]{long-short-sc}% \newcommand*{\formatfont}[1]{\textsc{#1}}% @@ -147,22 +180,24 @@ }{% \RequirePackage{cleveref}% }% -\def\hdpindex#1#2{% - \csname\ifx\\#1\\relax\else#1\fi\endcsname{% - \hyperpage{#2}% - }% -} -\let\HDorg@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}% -} +\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% \renewcommand{\acrpluralsuffix}{} -\ltx@iffilelater{frenchb.ldf}{2016/03/20}{% +\ltx@iffilelater{french.ldf}{2016/03/20}{% }{% \DeclareRobustCommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse% \ifFB@active@punct\noautospace@beforeFDP\shorthandoff{;:!?}\fi% @@ -175,12 +210,6 @@ \tcbuselibrary{listingsutf8} \else \tcbuselibrary{listings} -\pdftex_if_engine:TF - { - \lstMakeShortInline[style=dbtex]| - }{ - \lstMakeShortInline[style=dbtex]^^c3^^97 - } \fi \tcbuselibrary{% documentation,theorems,breakable,skins,xparse% @@ -204,11 +233,16 @@ } } \tcbset{doc marginnote={if odd page or oneside={flushright upper}{flushright upper}}} -\patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} -\patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} \reversemarginpar -\DeclareTotalTCBox{\commandshell}{ v } -{ commandshell}{#1} +\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, @@ -236,6 +270,7 @@ } \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} @@ -249,14 +284,15 @@ \index{exemple!#1|example}% } \newcommand{\indexsee}[2]{\index{#1|see{#2}}} -\xpretocmd{\printindex}{\def\DBD@index@symbolic@name{#1}}{}{} + \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}}% -}{}{}% -\newif\if@DBD@no@first@letter@ -\@DBD@no@first@letter@false +}{}{\aaa}% + \newif\if@DBD@no@first@letter@ + \@DBD@no@first@letter@false \newcommand*{\indexheading}[2]{% \hypertarget{#2:#1}{\textbf{#1}}% \protected@write\@auxout{}{\string\DBD@indexgroup{#1}{#2}}% @@ -272,7 +308,7 @@ \fi \hyperlink{#2:#1}{\textbf{#1}}% }% -} +}% \DeclareUrlCommand\urldirectory{\urlstyle{tt}} \ExplSyntaxOn \tl_const:Nn \c__denisbdoc_examples_path_tl {../exemples} @@ -302,6 +338,8 @@ \colorlet{en-arborescence}{red!20} \colorlet{a-plat}{blue!20} \colorlet{texcs}{blue} +\colorlet{directive}{texcs} +\colorlet{mandatory-argument}{red} \colorlet{environment}{teal} \colorlet{key}{purple} \colorlet{value}{violet} @@ -317,7 +355,7 @@ \lstdefinelanguage[extLaTeX]{TeX}[LaTeX]{TeX}{% moretexcs={% footnotesize,huge,Huge,large,Large,LARGE,large,Large,scriptsize,tiny,% - includegraphics,cite,ttwplink,vref,LTXtable,tableofcontents,frontmatter,mainmatter,% + includegraphics,cite,ttwplink,cref,vref,LTXtable,tableofcontents,frontmatter,mainmatter,% part,chapter,section,subsection,subsubsection,paragraph,subparagraph,RequirePackage,% listoftables,listoffigures,lstlistingname,si,SI,ohm,num,space,shorthandon,shorthandoff,% abstractname,appendixname,contentsname,listfigurename,listtablename,indexname,% @@ -327,9 +365,9 @@ @pnumwidth,bookmarksetup,DeclareTextCommand,text,iiint,NewPairedDelimiter,% norm,lnorm,llnorm,lpnorm,supnorm,abs,prt,brk,brc,lrangle,leqgeq,% norm*,lnorm*,llnorm*,lpnorm*,supnorm*,abs*,prt*,brk*,brc*,lrangle*,leqgeq*,% - pdfobjcompresslevel,chaptermark% + pdfobjcompresslevel,chaptermark,PassOptionsToClass% },% - morekeywords=[1]{% Environments' names + morekeywords={[1]% Environments' names tabular,tabulary,math,document,minipage,eqnarray,eqnarray*,align,align*,% equation,gather,multline,flalign,equation*,gather*,multline*,flalign*,% itemize,itemize*,enumerate,enumerate*,description,description*,% @@ -355,7 +393,7 @@ acrfullpl,Acrfullpl,% Acrlong*,acronymtype,printacronyms,printsymbols% },% - % Environments' names + % Mandatory arguments (other than environments' names) morekeywords={% },% % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements @@ -376,11 +414,58 @@ {% % S^^c3^^a9quences de contr^^c3^^b4les (commun^^c3^^a9ment appel^^c3^^a9es commandes ou macros) moretexcs={% - printbibliography,SetCiteCommand,autocite,addbibresource,fullcite,% - textcite,cite,citeauthor% + cite,Cite,parencite,Parencite,footcite,footcitetext,% + smartcite,Smartcite,% + textcite,Textcite,supercite,cites,Cites,parencites,% + Parencites,footcitesfootcitetexts,textcites,Textcites,% + supercites,autocite,Autocite,autocite*,Autocite*,autocites,% + Autocites,citeauthor,Citeauthor,citetitle,citetitle*,% + citeyear,citeurl,parentext,brackettext,nocite,fullcite,% + footfullcite,volcite,Volcite,pvolcite,Pvolcite,fvolcite,% + ftvolcite,tvolcite,Tvolcite,avolcite,Avolcite,notecite,% + Notecite,pnotecite,Pnotecite,fnotecite,citename,citelist,% + citefield,printbibliography,bibliography,citedate,% + ExecuteBibliographyOptions,defbibnote,psq,psqq,addbibresource% },% - % Mots-cl^^c3^^a9s de niveau 1 : arguments optionnels - morekeywords={% + % morekeywords={% + % @article,@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^^c3^^a9s de niveau 1 : attributs et options de biblatex + morekeywords=[2]{% abstract,addendum,afterword,annotation,annotator,author,authortype,% bookauthor,bookpagination,booksubtitle,booktitle,booktitleaddon,% chapter,commentator,date,doi,edition,editor,editora,editorb,% @@ -400,35 +485,74 @@ archiveprefix,journal,key,pdf,primaryclass,school,address,% % backend,style,citestyle,bibstyle,sorting,maxnames,minnames,maxitems,minitems,% - backref,abbreviate,firstinits,prenote,postnote,useprefix% + backref,abbreviate,firstinits,prenote,postnote,useprefix,autopunct% + },% + % Mots-cl^^c3^^a9s de niveau 3 : valeurs des attributs identifi^^c3^^a9es + morekeywords=[3]{% + submitted,inpress,danish dutch,american,USenglish,english,% + british,UKenglish,canadian,australian,newzealand,finnish,french,% + francais,canadien,german,ngerman,austrian,naustrian,greek,% + italian,norsk,nynorsk,brazil,portuges,spanish,swedish,% + % + biber,numeric,numeric-comp,numeric-verb,alphabetic,% + alphabetic-verb,authoryear,authoryear-comp,authoryear-ibid,% + authoryear-icomp,authortitle,authortitle-comp,authortitle-ibid,% + authortitle-icomp,authortitle-terse,authortitle-tcomp,% + authortitle-ticomp,verbose,verbose-ibid,verbose-note,% + verbose-inote,verbose-trad1,verbose-trad2,verbose-trad3,% + reading,draft,debug,% + inline,footnote,superscript,plain,% + nyt,ynt,none,false% + },% + alsoletter={-123},% + sensitive,% + delim=*[directive]@ + % +}[keywords,directives,tex,comments]% +\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}% +{% + % S^^c3^^a9quences de contr^^c3^^b4les (commun^^c3^^a9ment appel^^c3^^a9es commandes ou macros) + moretexcs={% + enquote,textelp,textins,blockcquote,SetCiteCommand% + },% + % Mots-cl^^c3^^a9s de niveau 1 : arguments optionnels + morekeywords={% },% % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% % title, - heading,refsegment% },% % Mots-cl^^c3^^a9s de niveau 3 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur morekeywords=[3]{% - bibintoc,skipbib,chapter% + skipbib% + },% + % Mots-cl^^c3^^a9s de niveau 4 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur + morekeywords=[4]{% },% sensitive% }[keywords,tex,comments]% -\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}% +\lstdefinelanguage[colophon]{TeX}[LaTeX]{TeX}% {% % S^^c3^^a9quences de contr^^c3^^b4les (commun^^c3^^a9ment appel^^c3^^a9es commandes ou macros) moretexcs={% - enquote,textelp,textins,blockcquote% + colophontitle,colophontitlestyle,colophontitlesize,colophonmidspace,% + colophonpagestyle,colophontitlealign,colophonpretitlehook,colophonposttitlehook,% + colophonparstyle,colophonparsize,colophonparlead,colophonnofirstindent,colophonpreparhook,% + colophonpostparhook,colophonparalign,colophonnofullpage,colophonnoclrdblpg,colophonclrpg,% + colophontopspace,colophonbotspace% },% % Mots-cl^^c3^^a9s de niveau 1 : arguments optionnels morekeywords={% },% % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% - % title, + colophon, },% % Mots-cl^^c3^^a9s de niveau 3 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur morekeywords=[3]{% - skipbib% + titlestyle,titlesize,aftertitle,pagestyle,titlealign,% + parstyle,parsize,parlead,nofirstindent,nofullpage,noclrdblpg,% + clrpg,topspace,botspace% },% % Mots-cl^^c3^^a9s de niveau 4 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur morekeywords=[4]{% @@ -513,7 +637,12 @@ },% % Mots-cl^^c3^^a9s de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% - breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all% + breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all,pdfencoding,final,% + hidelinks,linktoc,% + },% + % Mots-cl^^c3^^a9s de niveau 3 : arguments optionnels valeurs de cl^^c3^^a9s dans cl^^c3^^a9=valeur + morekeywords=[3]{% + unicode% },% sensitive% }[keywords,tex,comments]% @@ -524,7 +653,7 @@ laboratory,dedication,frontepigraph,keywords,subject,expression,tableofcontents,submissiondate,% maketitle,makedisclaimer,makekeywords,makelaboratory,makeabstract,makededications,% makefrontepigraphs,makebackcover,ordernumber,chapter*,disclaimer,newglssymbol,yadsetup,% - comue,% + comue,newcorporation% % acknowledgements,frenchabstract,foreword,preface,caution, },% % Environments' names @@ -543,7 +672,7 @@ address,telephone,fax,email,type,acronym,heading,nowarning,noerror,nofrontcover,role,% hyperfootnotes,hyperindex,plainpages,pdfpagemode,pdfpagelayout,locale,gray,frametitle,% graphicx,adjustbox,setspace,xcolor,datatool,titleps,draftwatermark,babel,datetime,% - bookmark,fncychap,localtocs,localbibs,localbibs*% + bookmark,fncychap,localtocs,localtocs/depth,localbibs,localbibs*% },% morekeywords=[3]{% Values of key-value lists single,onehalf,double,doctor,yadsymbolstyle,% @@ -567,7 +696,7 @@ comonitor*,supervisor,supervisor*,academicfield,doctoralschool,keywords,% ordernumber,committeepresident,committeepresident*,speciality% },% - alsoletter={!-*1234560}% + alsoletter={!-*1234560/}% }% \lstdefinelanguage[gzt]{TeX}[LaTeX]{TeX}{% moretexcs={% Control sequences' names @@ -582,7 +711,7 @@ vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,% gztverb,th,epigraph% },% - % Environments' names + % Mandatory arguments (other than environments' names) morekeywords={% gzt,gztarticle% },% @@ -620,11 +749,13 @@ printauthorsdetails,date,title,author,maketitle,item,printbibliography,% vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,set,% nwejmverb,th,epigraph,keywords,msc,acknowledgments,E,I,grad,Div,curl,rot,supp,% - DeclareMathOperator,BinaryOperators,dif,articlesetup% + DeclareMathOperator,BinaryOperators,dif,articlesetup,% + bbN,bbZ,bbD,bbQ,bbR,bbC,bbK,% + newenumeration% },% - % Environments' names + % Mandatory arguments (other than environments' names) morekeywords={% - nwejm,nwejmart,assertions,hypotheses% + nwejm,nwejmart,% },% morekeywords=[1]{% Environments' names abstract,minitoclist,bookreview,bookadvertisement,% @@ -632,14 +763,15 @@ theorem,theoreme,corollary,corollaire,conjecture,proposition,% lemma,lemme,axiom,axiome,definition,remark,remarque,example,exemple,notation,% theorem*,theoreme*,corollary*,corollaire*,conjecture*,proposition*,proof,preuve,% - lemma*,lemme*,axiom*,axiome*,definition*,remark*,remarque*,example*,exemple*,notation*% + lemma*,lemme*,axiom*,axiome*,definition*,remark*,remarque*,example*,exemple*,notation*,% + assertions,hypotheses% },% morekeywords=[2]{% Keys of key-value lists number,month,year,publisher,address,phone,fax,email,url,issn,isbn,short,minishort,notintoc,% abstract,frenchtitle,englishtitle,% title,label,% pictogram,list,help,diameter,textwidth,xshift,yshift,% affiliation,affiliationtagged,email,minibio,photo,webpage,frontcover,bibkey,copyright,% - gradient% + gradient,title/french,style,title,title-plural,singular,plural,label% },% morekeywords=[3]{% Values of key-value lists true,false,theorem,definition,proof% @@ -647,6 +779,25 @@ morekeywords=[4]{% Class and packages options pagegrid,forprinter,cover,forauthors,% },% + alsoletter={!-*1234560/}% +}% +\lstdefinelanguage[studentreport]{TeX}[LaTeX]{TeX}{% + moretexcs={% Control sequences' names + reportsetup,daterange,professionaladvisor,academicadvisor,companylogo% + },% + % Mandatory arguments (other than environments' names) + morekeywords={% + },% + morekeywords=[1]{% Environments' names + },% + morekeywords=[2]{% Keys of key-value lists + institute,subinstitute,subsubinstitute,year,10pt,11pt,12pt,internship,project,layout,% + strings,pretitle,company,advisor,advisors,before~start~date,before~end~date,date,% + logos,logosheights,,% + },% + morekeywords=[3]{% Values of key-value lists + ulco,iutlco,gte,gim,% + },% alsoletter={!-*1234560}% }% \lstdefinelanguage{bash}[]{sh}% @@ -666,33 +817,35 @@ \ttfamily% \DeclareFontShape{T1}{lmtt}{bx}{it}{<-> ssub * lmtt/b/sl}{}% } -\xapptocmd{\@chapter}{% - \addtocontents{dbwarninglist}{\protect\addvspace{10\p@}}% - \addtocontents{dbremarklist}{\protect\addvspace{10\p@}}% - \addtocontents{dbexamplelist}{\protect\addvspace{10\p@}}% - \addtocontents{dbfaqlist}{\protect\addvspace{10\p@}}% - \addtocontents{dbtablist}{\protect\addvspace{10\p@}}% -}{}{} +\if@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} -\lstdefinestyle{dbtex}{% +\lstdefinestyle{pre-dbtex}{% escapechar=", language=[LaTeX]TeX, alsolanguage=[extLaTeX]TeX, - alsolanguage=[glossaries]TeX, - alsolanguage=[biblatex]TeX, + % alsolanguage=[glossaries]TeX, + % alsolanguage=[biblatex]TeX, alsolanguage=[csquotes]TeX, - alsolanguage=[tcolorbox]TeX, - alsolanguage=[listings]TeX, - alsolanguage=[xcolor]TeX, - alsolanguage=[hyperref]TeX, - alsolanguage=[yad]TeX, - alsolanguage=[gzt]TeX, - alsolanguage=[nwejm]TeX, + % alsolanguage=[tcolorbox]TeX, + % alsolanguage=[listings]TeX, + % alsolanguage=[xcolor]TeX, + % alsolanguage=[hyperref]TeX, texcsstyle=*\color{texcs}, breaklines=true, basicstyle=\normalfont\ttfamily, commentstyle=\color{comment}\itshape, - keywordstyle={\color{environment}}, + directivestyle={\color{directive}}, + keywordstyle={\color{red}}, keywordstyle={[1]\color{environment}}, keywordstyle={[2]\color{key}}, keywordstyle={[3]\color{value}}, @@ -708,13 +861,54 @@ aboveskip=\c__denisbdoc_listings_aboveskip_skip, belowskip=\c__denisbdoc_listings_belowskip_skip }% +\bool_if:nT {\g__denisbdoc_yad_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[yad]TeX,% + alsolanguage=[colophon]TeX,% + moretexcs={printbibliography,autocite},% + } +} +\bool_if:nT {\g__denisbdoc_gzt_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[gzt]TeX,% + } +} +\bool_if:nT {\g__denisbdoc_nwejm_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[nwejm]TeX,% + } +} +\bool_if:nT {\g__denisbdoc_studentreport_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[studentreport]TeX,% + } +} \lstset{style=dbtex} +\sys_if_engine_pdftex:TF +{ + \ExplSyntaxOff + \lstMakeShortInline[style=dbtex]| + \ExplSyntaxOn +}{ + \lstMakeShortInline[style=dbtex]^^c3^^97 +} \tcbset{dbtcb/.style={% breakable, fonttitle=\bfseries, enlarge~top~by=1mm, separator~sign~dash, - label~separator=- + label~separator=-, + before~title={% + \hypersetup{hidelinks}% + \tcbset{% + color~definition=white, + color~hyperlink=white, + }% + }% }% }% \tcbset{% @@ -787,83 +981,89 @@ Nouv.~:}~#1} \index{expression!en~anglais!\enquote{\foreignlanguage{english}{\translate{#2}}}}% } } -\expandafter\AtBeginDocument\expandafter{% - \expandafter\def\expandafter\theindex\expandafter{\theindex}% -} -\expandafter\AtBeginDocument\expandafter{% - \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}% -} -\ExplSyntaxOff -\def\imki@finalmessage#1{}% since you're using latexmk -\def\imki@startidx#1#2{% - \if@filesw +\@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 + \fi} + \xpatchcmd\imki@makeindex {\imki@startidx\imki@name} {\imki@startidx\imki@name\imki@extout} {}{} -\xpatchcmd\imki@build + \xpatchcmd\imki@build {\imki@dokey\imki@title} {\imki@dokey\imki@title - \imki@dokey\imki@extin - \imki@dokey\imki@extout} + \imki@dokey\imki@extin + \imki@dokey\imki@extout} {}{} -\xpatchcmd{\imki@putindex} + \xpatchcmd{\imki@putindex} {\imki@options} {\c_space_tl~ -o~ #1.\imki@extin\imki@options} {}{} -\xpatchcmd{\imki@putindex} + \xpatchcmd{\imki@putindex} {.idx} {.\imki@extout} {}{} -\xpatchcmd{\imki@putindex} + \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 -\cs_new_protected:Nn \__denisbdoc_alert:n -{ - \begingroup - \color{red} - #1 - \endgroup + \def\imki@extout{idx}\def\imki@extin{ind} + \define@key{imki}{extout}{\def\imki@extout{#1}} + \define@key{imki}{extin}{\def\imki@extin{#1}} }% -\NewDocumentCommand \alert {m} -{ - \__denisbdoc_alert:n {#1} -}% -\DeclareDocumentCommand \changes { smmm } { - \IfBooleanTF {#1} +\ExplSyntaxOn +\@ifclassloaded{beamer}{% +}{% + \cs_new_protected:Nn \__denisbdoc_alert:n { - \tl_set:Nn \l_tmpa_tl {\alert{#4}} - }{ - \tl_set:Nn \l_tmpa_tl {#4} + \begingroup + \color{red} + #1 + \endgroup + }% + \NewDocumentCommand \alert {m} + { + \__denisbdoc_alert:n {#1} + }% + \DeclareDocumentCommand \changes { smmm } { + \IfBooleanTF {#1} + { + \tl_set:Nn \l_tmpa_tl {\alert{#4}} + }{ + \tl_set:Nn \l_tmpa_tl {#4} + } + \ifx\@onlypreamble\@notprerr + \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl} + \else + \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble} + \fi } - \ifx\@onlypreamble\@notprerr - \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl} - \else - \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble} - \fi -} -\DeclareDocumentCommand \PrintChanges { O{} } { - \indexprologue{#1} - \def\imki@indexlevel{\chapter} - \printindex[\jobname-changes] - \def\imki@indexlevel{\chapter*} -} + \DeclareDocumentCommand \PrintChanges { !O{} } { + \indexprologue{#1} + \def\imki@indexlevel{\chapter} + \printindex[\jobname-changes] + \def\imki@indexlevel{\chapter*} + } +}% \IfLanguageName{french}{% \DeclarePlainStyle{^^c2^^ab~}{~^^c2^^bb}% {^^e2^^80^^9c}{^^e2^^80^^9d} }{}% -\tl_const:Nx \c__denisbdoc_standard_url_tl { \tl_to_str:n { http://www.ctan.org/pkg/ } } +\tl_const:Nx \c__denisbdoc_standard_url_tl { \tl_to_str:n { http://ctan.org/pkg/ } } \cs_new_protected:Npn \__denisbdoc_package_format:nn #1#2 { #2{\sffamily#1} @@ -900,15 +1100,15 @@ Nouv.~:}~#1} } {#4} } -\NewDocumentCommand{\package}{ s t+ O{} m O{package} O{} O{} } { +\NewDocumentCommand{\package}{ s t+ O{} m !O{package} !O{} !O{} } { \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7} } -\NewDocumentCommand{\Package}{ s t+ O{} m O{package} O{} O{} } { +\NewDocumentCommand{\Package}{ s t+ O{} m !O{package} !O{} !O{} } { \IfLanguageName{french}{package~}{}% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7} \IfLanguageName{english}{~package}{}% } -\NewDocumentCommand{\class}{ s t+ O{} m O{} O{} O{} } { +\NewDocumentCommand{\class}{ s t+ O{} m !O{} !O{} !O{} } { \IfLanguageName{french}{% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7} }{}% @@ -916,7 +1116,7 @@ Nouv.~:}~#1} \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{class}{#6}{#7} }{}% } -\NewDocumentCommand{\Class}{ s t+ O{} m O{} O{} O{} } { +\NewDocumentCommand{\Class}{ s t+ O{} m !O{} !O{} !O{} } { \IfLanguageName{french}{% classe~% \__denisbdoc_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7} @@ -962,34 +1162,10 @@ Nouv.~:}~#1} } \NewDocumentCommand{\Folder}{ m } {% - \IfLanguageName{french}{r^^c3^^a9pertoire~}{}% + \IfLanguageName{french}{dossier~}{}% \__denisbdoc_file:n {#1}% \IfLanguageName{english}{~directory}{}% }% -\NewDocumentCommand \ie { s } {% - \IfBooleanTF {#1} - { - \IfLanguageName{french}{% - c'est-\`{a}-dire - }{}% - \IfLanguageName{english}{% - id est - }{}% - } - { - \IfLanguageName{french}{% - c.-^^c3^^a0-d - }{}% - \IfLanguageName{english}{% - i.e - }{}% - \@ifnextchar.% - { - }{ - .\xspace - }% - } -} \NewDocumentCommand{\program}{ m } { \__denisbdoc_file:n {#1}% @@ -1096,7 +1272,7 @@ Nouv.~:}~#1} { \hyperref[sec-comm-oblig]{% \textcolor{red!75!black}{ - % \pdftex_if_engine:TF + % \sys_if_engine_pdftex:TF % { % % \string! % \ding{52} @@ -1111,9 +1287,17 @@ Nouv.~:}~#1} \fi% }% } -\NewDocumentCommand{\mandatory}{ } +\cs_new_protected:Nn \__denisbdoc_mandatory_no_link: { - \__denisbdoc_mandatory: {} + \textcolor{red!75!black}{ + \faLock + } +} +\NewDocumentCommand{\mandatory}{ s } +{ + \IfBooleanTF {#1} + { \__denisbdoc_mandatory_no_link: {} } + { \__denisbdoc_mandatory: {} } }% \NewDocumentCommand{\unixtldirectory}{} { @@ -1247,12 +1431,15 @@ Nouv.~:}~#1} } } \pdfsuppresswarningpagegroup=1 +\newunicodechar{^^e3^^80^^88}{$\langle$} +\newunicodechar{^^e3^^80^^89}{$\rangle$} \cs_new_protected:Nn \__denisbdoc_meta:nn { \bgroup% \normalfont \ttfamily% - \textcolor{#1}{$\langle$\emph{#2}$\rangle$}% + \itshape% + \textcolor{#1}{$\langle$#2$\rangle$}% \egroup% } \AtBeginDocument{% @@ -1260,12 +1447,12 @@ Nouv.~:}~#1} \__denisbdoc_meta:nn {#1}{#2} } }% -\NewTCBListing{preamblecode}{ O{} }{% +\NewTCBListing{preamblecode}{ !O{} }{% codes,% drop~lifted~shadow, #1% } -\NewTCBListing{bodycode}{ O{} }{% +\NewTCBListing{bodycode}{ !O{} }{% codes,% #1% } @@ -1296,9 +1483,14 @@ Nouv.~:}~#1} #3, }% \tl_new:N \g__denisbdoc_number_within_tl -\tl_set:Nn \g__denisbdoc_number_within_tl {chapter} +\ifcsdef{chapter}{ + \tl_set:Nn \g__denisbdoc_number_within_tl {chapter} +}{ + \tl_set:Nn \g__denisbdoc_number_within_tl {section} +} \@ifclassloaded{gztarticle}{\tl_set:Nn \g__denisbdoc_number_within_tl {section}}{}% \@ifclassloaded{nwejmart}{\tl_set:Nn \g__denisbdoc_number_within_tl {section}}{}% +\@ifclassloaded{beamer}{\tl_set:Nn \g__denisbdoc_number_within_tl {section}}{}% \newtcbtheorem[list~inside=dbwarninglist,number~within=\g__denisbdoc_number_within_tl,crefname={avertissement}{avertissements}]{dbwarning}{Avertissement}{% colback=red!5!white, colframe=red!75!black, @@ -1361,7 +1553,7 @@ Nouv.~:}~#1} { menufont = \sffamily , menusep = ${}\to{}$ - }% \end{macrocode} + } \menuentryset{inputsep=>} \tl_const:Nn \c__denisbdoc_yat_class_name_tl {yathesis} \tl_const:Nn \c__denisbdoc_configuration_directory_string_tl {configuration} @@ -1474,8 +1666,8 @@ Nouv.~:}~#1} \def\program#1{#1} } \ExplSyntaxOff -%% Copyright (C) 2015, 2016, 2017 by -%% Denis Bitouz'e +%% Copyright (C) 2015-2020 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 -- cgit v1.2.3