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 --- Master/texmf-dist/doc/latex/denisbdoc/README.md | 6 +- .../texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy | 2 +- .../source/latex/denisbdoc/denisbdoc.dtx | 633 ++++++++++++++------- .../source/latex/denisbdoc/denisbdoc.ins | 9 +- .../texmf-dist/tex/latex/denisbdoc/denisbdoc.sty | 560 ++++++++++++------ 5 files changed, 818 insertions(+), 392 deletions(-) diff --git a/Master/texmf-dist/doc/latex/denisbdoc/README.md b/Master/texmf-dist/doc/latex/denisbdoc/README.md index 60046634c7a..40d091b2022 100644 --- a/Master/texmf-dist/doc/latex/denisbdoc/README.md +++ b/Master/texmf-dist/doc/latex/denisbdoc/README.md @@ -1,8 +1,8 @@ -denisbdoc - A personal package for documenting classes and packages, v. 0.7 +denisbdoc - A personal package for documenting classes and packages, v. 0.8 =========================================================================== -**The (quick 'n dirty) `denisbdoc` package is just for documenting the classes -I've written.** +**The sole purpose of this (quick 'n dirty) `denisbdoc` package is for +documenting the classes written by its author (Denis Bitouz'e).** The class is supplied in `.dtx` format. If you want to unpack the `.dtx` yourself, running: diff --git a/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy b/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy index 92ff9339744..90f58fc1433 100644 --- a/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy +++ b/Master/texmf-dist/doc/latex/denisbdoc/denisbdoc.xdy @@ -29,7 +29,7 @@ \providecommand*\lettergroup[1]{% \belowpdfbookmark{#1}{\csuse{DBD@index@symbolic@name}:#1}% \par\indexheading{#1}{\csuse{DBD@index@symbolic@name}}\par - \nopagebreak + % \nopagebreak } ~n" :close "~n~n\end{theindex}~n" diff --git a/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx b/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx index c7d530e3268..0607fdcc228 100644 --- a/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx +++ b/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.dtx @@ -3,11 +3,11 @@ \iffalse % %<*readme> -denisbdoc - A personal package for documenting classes and packages, v. 0.7 +denisbdoc - A personal package for documenting classes and packages, v. 0.8 =========================================================================== -**The (quick 'n dirty) `denisbdoc` package is just for documenting the classes -I've written.** +**The sole purpose of this (quick 'n dirty) `denisbdoc` package is for +documenting the classes written by its author (Denis Bitouz'e).** The class is supplied in `.dtx` format. If you want to unpack the `.dtx` yourself, running: @@ -30,18 +30,19 @@ This package is currently not documented. \askforoverwritefalse \preamble ----------------------------------------------------------------------------- -denisbdoc --- A personal dirty package for documenting packages, version 0.7 +denisbdoc --- A personal dirty package for documenting personal classes, + version 0.8 Maintained by Denis Bitouz'e -E-mail: denis.bitouze@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 ----------------------------------------------------------------------------- \endpreamble \postamble -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 @@ -107,8 +108,8 @@ This work consists of the file denisbdoc.dtx %\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 +% E-mail: \href{mailto:denis.bitouze@univ-littoral.fr} +% {\texttt{denis.bitouze@univ-littoral.fr}}^^A % }^^A %} %\date{Released \filedate} @@ -122,6 +123,7 @@ This work consists of the file denisbdoc.dtx %\changes{v0.5}{2016/10/30}{Fifth CTAN version} %\changes{v0.6}{2016/12/08}{Sixth CTAN version} %\changes{v0.7}{2017/01/01}{Seventh CTAN version} +%\changes{v0.8}{2020/03/27}{Eighth CTAN version} % %\begin{abstract} % ... @@ -148,7 +150,7 @@ This work consists of the file denisbdoc.dtx % % The package requires \LaTeX3 support as provided in the % \pkg{l3kernel} and \pkg{l3packages} bundles. Both of these are available -% on \href{http://www.ctan.org}{\textsc{ctan}} as ready-to-install +% on \href{http://ctan.org}{\textsc{ctan}} as ready-to-install % zip files. Suitable versions are available in MiK\TeX{}~2.9 and % \TeX{}~Live 2014 (updating the relevant packages online may be % necessary). \LaTeX3, and so \pkg{denisbdoc}, requires the \eTeX{} @@ -192,7 +194,7 @@ This work consists of the file denisbdoc.dtx % % The usual preliminaries. % \begin{macrocode} -\ProvidesExplPackage {denisbdoc} {2017/01/01} {0.7} +\ProvidesExplPackage {denisbdoc} {2020/03/27} {0.8} {A personal package for documenting packages} % \end{macrocode} % @@ -221,6 +223,8 @@ This work consists of the file denisbdoc.dtx yad .bool_gset:N = \g_@@_yad_bool, gzt .bool_gset:N = \g_@@_gzt_bool, nwejm .bool_gset:N = \g_@@_nwejm_bool, + studentreport .bool_gset:N = \g_@@_studentreport_bool, + lscape .bool_gset:N = \g_@@_lscape_bool, } % \end{macrocode} % @@ -236,12 +240,13 @@ This work consists of the file denisbdoc.dtx % % \begin{macrocode} \sys_if_engine_pdftex:TF - { - \RequirePackage[T1]{fontenc} - \RequirePackage[utf8]{inputenc} - }{ - \RequirePackage{fontspec} - } +{ + \RequirePackage{cmap} + \RequirePackage[T1]{fontenc} + \RequirePackage[utf8]{inputenc} +}{ + \RequirePackage{fontspec} +} \RequirePackage{xpatch}% \AtEndPreamble{% \RequirePackage{mweights}% @@ -251,12 +256,25 @@ This work consists of the file denisbdoc.dtx % \let\task\relax % \RequirePackage{exsheets} % \let\task\denisbdoc@ORI@task -\RequirePackage{parskip}% -% \RequirePackage{amsthm}% -% \RequirePackage{thmtools}% \RequirePackage{fixfoot}% -\RequirePackage{marginnote} -\RequirePackage[inline]{enumitem}% +% +% \end{macrocode} +% +% For all the conditional ×\@ifclassloaded{beamer}{...}{...}× , we the following +% trick needed because patching commands when ×#× is involved can't happen in +% the argument to another command (see +% \url{https://tex.stackexchange.com/a/167107/18401}). +% \begin{macrocode} +\newif\if@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[lining]{libertine}% @@ -265,19 +283,28 @@ This work consists of the file denisbdoc.dtx \RequirePackage{booktabs}% \RequirePackage{multirow}% \RequirePackage[xr]{zref}% -\RequirePackage[multiple]{footmisc}% -% \RequirePackage[multiple,bottom]{footmisc}% -\RequirePackage{rotating}% -\RequirePackage{pdflscape}% +\if@DBD@beamer@not@loaded@ + \RequirePackage[multiple]{footmisc}% + \RequirePackage{rotating}% +\fi% +\bool_if:nTF {\g_@@_lscape_bool} {% + \RequirePackage{lscape}% +}{% + \RequirePackage{pdflscape}% +} \RequirePackage{xspace}% \RequirePackage{accsupp} +\RequirePackage{newunicodechar} \RequirePackage{hologo}% \RequirePackage{xifthen}% \RequirePackage{refcount}% +\RequirePackage{etoolbox}% \RequirePackage{iflang}% \RequirePackage{ifpdf}% \RequirePackage{amssymb}% -\RequirePackage{tocvsec2}% +\if@DBD@beamer@not@loaded@ + \RequirePackage{tocvsec2}% +\fi \RequirePackage{ltxcmds}% \RequirePackage{csquotes}% \RequirePackage{tikz}% @@ -316,7 +343,6 @@ This work consists of the file denisbdoc.dtx \_@@_printbibliography_ORI[heading=bibintoc,#1]% \pagestyle{ordinary}% }% - }{% }% }% }{% @@ -340,8 +366,10 @@ This work consists of the file denisbdoc.dtx % % \Pkg{tocbibind} should be loaded before \pkg{imakeidx}, otherwise it would % destroy the |\indexprologue| feature of the latter. -\RequirePackage{tocbibind}% -\RequirePackage[xindy]{imakeidx} +\if@DBD@beamer@not@loaded@ + \RequirePackage{tocbibind}% + \RequirePackage[xindy]{imakeidx} +\fi% % % \@ifpackageloaded{hypdoc}{% % }{% @@ -358,13 +386,16 @@ This work consists of the file denisbdoc.dtx }{% \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}{% }{% @@ -375,6 +406,15 @@ This work consists of the file denisbdoc.dtx % \RequirePackage{glossaries}% \RequirePackage[xindy,hyperfirst=false,toc=false]{glossaries-extra}% \makeglossaries% + \newglossaryentry{zip}{% + name=zip,% + category={format},% + description={format~ de~ fichier~ permettant~ l'archivage~ (utilisation~ + d'un~ seul~ fichier~ pour~ stocker~ plusieurs~ fichiers)~ et~ la~ + compression~ de~ données~ (diminution~ de~ l'espace~ occupé~ sur~ le~ + support~ numérique)~ sans~ perte~ de~ qualité},% + text={zip}% + }% \setglossarystyle{indexhypergroup}% \setabbreviationstyle[acronym]{long-short-sc}% \newcommand*{\formatfont}[1]{\textsc{#1}}% @@ -395,20 +435,22 @@ This work consists of the file denisbdoc.dtx % Some code stolen from \pkg{hypdoc} in order page numbers in change history are % hyperlinks. % \begin{macrocode} -\def\hdpindex#1#2{% - \csname\ifx\\#1\\relax\else#1\fi\endcsname{% - \hyperpage{#2}% - }% -} -\let\HDorg@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% % \end{macrocode} % % \begin{macrocode} @@ -417,7 +459,7 @@ This work consists of the file denisbdoc.dtx % % % Some hacks to avoid issues of \pkg{hypdoc} reported by me at % % \url{https://github.com/ho-tex/oberdiek/issues} (currently not used because -% % this package has to much issues)). +% % this package has to much issues). % % \begin{macrocode} % \@ifpackageloaded{hypdoc}{% % % \let\theglossary\HDorg@theglossary @@ -510,7 +552,7 @@ This work consists of the file denisbdoc.dtx % \url{http://tex.stackexchange.com/q/309680/18401}), hence we rely on % \Package{ltxcmds} for this: % \begin{macrocode} -\ltx@iffilelater{frenchb.ldf}{2016/03/20}{% +\ltx@iffilelater{french.ldf}{2016/03/20}{% }{% \DeclareRobustCommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse% \ifFB@active@punct\noautospace@beforeFDP\shorthandoff{;:!?}\fi% @@ -529,12 +571,6 @@ This work consists of the file denisbdoc.dtx \tcbuselibrary{listingsutf8} \else \tcbuselibrary{listings} -\pdftex_if_engine:TF - { - \lstMakeShortInline[style=dbtex]| - }{ - \lstMakeShortInline[style=dbtex]× - } \fi \tcbuselibrary{% documentation,theorems,breakable,skins,xparse% @@ -572,14 +608,19 @@ This work consists of the file denisbdoc.dtx % if odd page or oneside={flushright upper}{flushright upper}, % doc@marginnote,#1]#2\end{tcolorbox}}} \tcbset{doc marginnote={if odd page or oneside={flushright upper}{flushright upper}}} -\patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} -\patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} \reversemarginpar +\pretocmd{\tcbdocmarginnote}{% + \patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} + \patchcmd{\@mn@margintest}{\@tempswafalse}{\@tempswatrue}{}{} + \reversemarginpar% +}{}{} +\@ifpackageloaded{geometry}{% + \geometry{marginparwidth=.65in}% +}{} % \end{macrocode} % % \begin{macrocode} -\DeclareTotalTCBox{\commandshell}{ v } -{ commandshell}{#1} +\DeclareTotalTCBox{\commandshell}{ v }{ commandshell}{#1} \newtcblisting{listingshell}[1][]{% % colback=black, % colupper=white, @@ -619,6 +660,7 @@ This work consists of the file denisbdoc.dtx % (cf. \url{http://tex.stackexchange.com/q/335522/18401}) that will be inserted % inside the (level 0) |\targetindexentry| command below. % \begin{macrocode} +\if@DBD@beamer@not@loaded@ \newcommand{\indexmark}[1]{\hypertarget{index:#1}{#1}\markboth{#1}{#1}} % \end{macrocode} % @@ -646,12 +688,13 @@ This work consists of the file denisbdoc.dtx % |\lettergroup| in the customized |theindex| environment (defined in the % customized index style \File{denisbdoc.xdy}). % \begin{macrocode} -\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} % \end{macrocode} % % We patch the |\indexprologue| command in order to provide a navigation line at % the start of the index with links to each group that is present in the index -% (see \url{http://tex.stackexchange.com/q/334200/18401})). +% (see \url{http://tex.stackexchange.com/q/334200/18401}). % \begin{macrocode} % \renewcommand*{\marginfont}{\normalsize} % \renewcommand*{\marginnotevadjust}{.625\baselineskip} @@ -666,14 +709,14 @@ This work consists of the file denisbdoc.dtx #2 \par\bigskip \csuse{DBD@indexnavigation@\csuse{DBD@index@symbolic@name}}% -}{}{}% +}{}{\aaa}% % \end{macrocode} % % We create a boolean which tests if the letter in the navigation bar is the 1st % one or not (in the latter case, a newline is added). % \begin{macrocode} -\newif\if@DBD@no@first@letter@ -\@DBD@no@first@letter@false + \newif\if@DBD@no@first@letter@ + \@DBD@no@first@letter@false % \end{macrocode} % % \begin{macrocode} @@ -692,7 +735,7 @@ This work consists of the file denisbdoc.dtx \fi \hyperlink{#2:#1}{\textbf{#1}}% }% -} +}% % \end{macrocode} % % \begin{macrocode} @@ -780,6 +823,8 @@ This work consists of the file denisbdoc.dtx \colorlet{en-arborescence}{red!20} \colorlet{a-plat}{blue!20} \colorlet{texcs}{blue} +\colorlet{directive}{texcs} +\colorlet{mandatory-argument}{red} \colorlet{environment}{teal} \colorlet{key}{purple} \colorlet{value}{violet} @@ -809,7 +854,7 @@ This work consists of the file denisbdoc.dtx \lstdefinelanguage[extLaTeX]{TeX}[LaTeX]{TeX}{% moretexcs={% footnotesize,huge,Huge,large,Large,LARGE,large,Large,scriptsize,tiny,% - includegraphics,cite,ttwplink,vref,LTXtable,tableofcontents,frontmatter,mainmatter,% + includegraphics,cite,ttwplink,cref,vref,LTXtable,tableofcontents,frontmatter,mainmatter,% part,chapter,section,subsection,subsubsection,paragraph,subparagraph,RequirePackage,% listoftables,listoffigures,lstlistingname,si,SI,ohm,num,space,shorthandon,shorthandoff,% abstractname,appendixname,contentsname,listfigurename,listtablename,indexname,% @@ -819,9 +864,9 @@ This work consists of the file denisbdoc.dtx @pnumwidth,bookmarksetup,DeclareTextCommand,text,iiint,NewPairedDelimiter,% norm,lnorm,llnorm,lpnorm,supnorm,abs,prt,brk,brc,lrangle,leqgeq,% norm*,lnorm*,llnorm*,lpnorm*,supnorm*,abs*,prt*,brk*,brc*,lrangle*,leqgeq*,% - pdfobjcompresslevel,chaptermark% + pdfobjcompresslevel,chaptermark,PassOptionsToClass% },% - morekeywords=[1]{% Environments' names + morekeywords={[1]% Environments' names tabular,tabulary,math,document,minipage,eqnarray,eqnarray*,align,align*,% equation,gather,multline,flalign,equation*,gather*,multline*,flalign*,% itemize,itemize*,enumerate,enumerate*,description,description*,% @@ -847,7 +892,7 @@ This work consists of the file denisbdoc.dtx acrfullpl,Acrfullpl,% Acrlong*,acronymtype,printacronyms,printsymbols% },% - % Environments' names + % Mandatory arguments (other than environments' names) morekeywords={% },% % Mots-clés de niveau 2 : arguments obligatoires et environnements @@ -869,11 +914,58 @@ This work consists of the file denisbdoc.dtx {% % Séquences de contrôles (communément appelées commandes ou macros) moretexcs={% - printbibliography,SetCiteCommand,autocite,addbibresource,fullcite,% - textcite,cite,citeauthor% + cite,Cite,parencite,Parencite,footcite,footcitetext,% + smartcite,Smartcite,% + textcite,Textcite,supercite,cites,Cites,parencites,% + Parencites,footcitesfootcitetexts,textcites,Textcites,% + supercites,autocite,Autocite,autocite*,Autocite*,autocites,% + Autocites,citeauthor,Citeauthor,citetitle,citetitle*,% + citeyear,citeurl,parentext,brackettext,nocite,fullcite,% + footfullcite,volcite,Volcite,pvolcite,Pvolcite,fvolcite,% + ftvolcite,tvolcite,Tvolcite,avolcite,Avolcite,notecite,% + Notecite,pnotecite,Pnotecite,fnotecite,citename,citelist,% + citefield,printbibliography,bibliography,citedate,% + ExecuteBibliographyOptions,defbibnote,psq,psqq,addbibresource% },% - % Mots-clés de niveau 1 : arguments optionnels - morekeywords={% + % morekeywords={% + % @article,@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,% @@ -893,36 +985,76 @@ This work consists of the file denisbdoc.dtx archiveprefix,journal,key,pdf,primaryclass,school,address,% % backend,style,citestyle,bibstyle,sorting,maxnames,minnames,maxitems,minitems,% - backref,abbreviate,firstinits,prenote,postnote,useprefix% + backref,abbreviate,firstinits,prenote,postnote,useprefix,autopunct% + },% + % Mots-clés de niveau 3 : valeurs des attributs identifiées + morekeywords=[3]{% + submitted,inpress,danish dutch,american,USenglish,english,% + british,UKenglish,canadian,australian,newzealand,finnish,french,% + francais,canadien,german,ngerman,austrian,naustrian,greek,% + italian,norsk,nynorsk,brazil,portuges,spanish,swedish,% + % + biber,numeric,numeric-comp,numeric-verb,alphabetic,% + alphabetic-verb,authoryear,authoryear-comp,authoryear-ibid,% + authoryear-icomp,authortitle,authortitle-comp,authortitle-ibid,% + authortitle-icomp,authortitle-terse,authortitle-tcomp,% + authortitle-ticomp,verbose,verbose-ibid,verbose-note,% + verbose-inote,verbose-trad1,verbose-trad2,verbose-trad3,% + reading,draft,debug,% + inline,footnote,superscript,plain,% + nyt,ynt,none,false% + },% + alsoletter={-123},% + sensitive,% + delim=*[directive]@ + % +}[keywords,directives,tex,comments]% +% +\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}% +{% + % Séquences de contrôles (communément appelées commandes ou macros) + moretexcs={% + enquote,textelp,textins,blockcquote,SetCiteCommand% + },% + % Mots-clés de niveau 1 : arguments optionnels + morekeywords={% },% % Mots-clés de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% % title, - heading,refsegment% },% % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur morekeywords=[3]{% - bibintoc,skipbib,chapter% + skipbib% + },% + % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur + morekeywords=[4]{% },% sensitive% }[keywords,tex,comments]% % -\lstdefinelanguage[csquotes]{TeX}[LaTeX]{TeX}% +\lstdefinelanguage[colophon]{TeX}[LaTeX]{TeX}% {% % Séquences de contrôles (communément appelées commandes ou macros) moretexcs={% - enquote,textelp,textins,blockcquote% + colophontitle,colophontitlestyle,colophontitlesize,colophonmidspace,% + colophonpagestyle,colophontitlealign,colophonpretitlehook,colophonposttitlehook,% + colophonparstyle,colophonparsize,colophonparlead,colophonnofirstindent,colophonpreparhook,% + colophonpostparhook,colophonparalign,colophonnofullpage,colophonnoclrdblpg,colophonclrpg,% + colophontopspace,colophonbotspace% },% % Mots-clés de niveau 1 : arguments optionnels morekeywords={% },% % Mots-clés de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% - % title, + colophon, },% % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur morekeywords=[3]{% - skipbib% + titlestyle,titlesize,aftertitle,pagestyle,titlealign,% + parstyle,parsize,parlead,nofirstindent,nofullpage,noclrdblpg,% + clrpg,topspace,botspace% },% % Mots-clés de niveau 4 : arguments optionnels valeurs de clés dans clé=valeur morekeywords=[4]{% @@ -1011,7 +1143,12 @@ This work consists of the file denisbdoc.dtx },% % Mots-clés de niveau 2 : arguments obligatoires et environnements morekeywords=[2]{% - breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all% + breaklinks,colorlinks,bookmarks,pdfborderstyle,pdfborder,all,pdfencoding,final,% + hidelinks,linktoc,% + },% + % Mots-clés de niveau 3 : arguments optionnels valeurs de clés dans clé=valeur + morekeywords=[3]{% + unicode% },% sensitive% }[keywords,tex,comments]% @@ -1026,7 +1163,7 @@ This work consists of the file denisbdoc.dtx laboratory,dedication,frontepigraph,keywords,subject,expression,tableofcontents,submissiondate,% maketitle,makedisclaimer,makekeywords,makelaboratory,makeabstract,makededications,% makefrontepigraphs,makebackcover,ordernumber,chapter*,disclaimer,newglssymbol,yadsetup,% - comue,% + comue,newcorporation% % acknowledgements,frenchabstract,foreword,preface,caution, },% % Environments' names @@ -1045,7 +1182,7 @@ This work consists of the file denisbdoc.dtx address,telephone,fax,email,type,acronym,heading,nowarning,noerror,nofrontcover,role,% hyperfootnotes,hyperindex,plainpages,pdfpagemode,pdfpagelayout,locale,gray,frametitle,% graphicx,adjustbox,setspace,xcolor,datatool,titleps,draftwatermark,babel,datetime,% - bookmark,fncychap,localtocs,localbibs,localbibs*% + bookmark,fncychap,localtocs,localtocs/depth,localbibs,localbibs*% },% morekeywords=[3]{% Values of key-value lists single,onehalf,double,doctor,yadsymbolstyle,% @@ -1069,7 +1206,7 @@ This work consists of the file denisbdoc.dtx comonitor*,supervisor,supervisor*,academicfield,doctoralschool,keywords,% ordernumber,committeepresident,committeepresident*,speciality% },% - alsoletter={!-*1234560}% + alsoletter={!-*1234560/}% }% % \end{macrocode} % @@ -1088,7 +1225,7 @@ This work consists of the file denisbdoc.dtx vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,% gztverb,th,epigraph% },% - % Environments' names + % Mandatory arguments (other than environments' names) morekeywords={% gzt,gztarticle% },% @@ -1130,11 +1267,13 @@ This work consists of the file denisbdoc.dtx printauthorsdetails,date,title,author,maketitle,item,printbibliography,% vec,surname,usetikzlibrary,arccos,arcsin,arctan,log,lg,le,leq,ge,geq,set,% nwejmverb,th,epigraph,keywords,msc,acknowledgments,E,I,grad,Div,curl,rot,supp,% - DeclareMathOperator,BinaryOperators,dif,articlesetup% + DeclareMathOperator,BinaryOperators,dif,articlesetup,% + bbN,bbZ,bbD,bbQ,bbR,bbC,bbK,% + newenumeration% },% - % Environments' names + % Mandatory arguments (other than environments' names) morekeywords={% - nwejm,nwejmart,assertions,hypotheses% + nwejm,nwejmart,% },% morekeywords=[1]{% Environments' names abstract,minitoclist,bookreview,bookadvertisement,% @@ -1142,14 +1281,15 @@ This work consists of the file denisbdoc.dtx 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% @@ -1157,6 +1297,29 @@ This work consists of the file denisbdoc.dtx morekeywords=[4]{% Class and packages options pagegrid,forprinter,cover,forauthors,% },% + alsoletter={!-*1234560/}% +}% +% \end{macrocode} +% +% Definition of the \enquote{studentreport} \TeX{} dialect. +% \begin{macrocode} +\lstdefinelanguage[studentreport]{TeX}[LaTeX]{TeX}{% + moretexcs={% Control sequences' names + reportsetup,daterange,professionaladvisor,academicadvisor,companylogo% + },% + % Mandatory arguments (other than environments' names) + morekeywords={% + },% + morekeywords=[1]{% Environments' names + },% + morekeywords=[2]{% Keys of key-value lists + institute,subinstitute,subsubinstitute,year,10pt,11pt,12pt,internship,project,layout,% + strings,pretitle,company,advisor,advisors,before~start~date,before~end~date,date,% + logos,logosheights,,% + },% + morekeywords=[3]{% Values of key-value lists + ulco,iutlco,gte,gim,% + },% alsoletter={!-*1234560}% }% % \end{macrocode} @@ -1210,14 +1373,17 @@ This work consists of the file denisbdoc.dtx % % \renewcommand{\generalname}{Général}% % -\xapptocmd{\@chapter}{% -% \xapptocmd{\@section}{% - \addtocontents{dbwarninglist}{\protect\addvspace{10\p@}}% - \addtocontents{dbremarklist}{\protect\addvspace{10\p@}}% - \addtocontents{dbexamplelist}{\protect\addvspace{10\p@}}% - \addtocontents{dbfaqlist}{\protect\addvspace{10\p@}}% - \addtocontents{dbtablist}{\protect\addvspace{10\p@}}% -}{}{} +\if@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} % \floatsetup[table]{style=plaintop} @@ -1238,25 +1404,23 @@ This work consists of the file denisbdoc.dtx % % prebreak={\c_space_tl\Righttorque}, % % postbreak={\c_space_tl\Lefttorque} % }% -\lstdefinestyle{dbtex}{% +\lstdefinestyle{pre-dbtex}{% escapechar=", language=[LaTeX]TeX, alsolanguage=[extLaTeX]TeX, - alsolanguage=[glossaries]TeX, - alsolanguage=[biblatex]TeX, + % alsolanguage=[glossaries]TeX, + % alsolanguage=[biblatex]TeX, alsolanguage=[csquotes]TeX, - alsolanguage=[tcolorbox]TeX, - alsolanguage=[listings]TeX, - alsolanguage=[xcolor]TeX, - alsolanguage=[hyperref]TeX, - alsolanguage=[yad]TeX, - alsolanguage=[gzt]TeX, - alsolanguage=[nwejm]TeX, + % alsolanguage=[tcolorbox]TeX, + % alsolanguage=[listings]TeX, + % alsolanguage=[xcolor]TeX, + % alsolanguage=[hyperref]TeX, texcsstyle=*\color{texcs}, breaklines=true, basicstyle=\normalfont\ttfamily, commentstyle=\color{comment}\itshape, - keywordstyle={\color{environment}}, + directivestyle={\color{directive}}, + keywordstyle={\color{red}}, keywordstyle={[1]\color{environment}}, keywordstyle={[2]\color{key}}, keywordstyle={[3]\color{value}}, @@ -1272,8 +1436,41 @@ This work consists of the file denisbdoc.dtx aboveskip=\c_@@_listings_aboveskip_skip, belowskip=\c_@@_listings_belowskip_skip }% +\bool_if:nT {\g_@@_yad_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[yad]TeX,% + alsolanguage=[colophon]TeX,% + moretexcs={printbibliography,autocite},% + } +} +\bool_if:nT {\g_@@_gzt_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[gzt]TeX,% + } +} +\bool_if:nT {\g_@@_nwejm_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[nwejm]TeX,% + } +} +\bool_if:nT {\g_@@_studentreport_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[studentreport]TeX,% + } +} \lstset{style=dbtex} -% \lstMakeShortInline[style=dbtex]| +\sys_if_engine_pdftex:TF +{ + \ExplSyntaxOff + \lstMakeShortInline[style=dbtex]| + \ExplSyntaxOn +}{ + \lstMakeShortInline[style=dbtex]× +} % \end{macrocode} % % \begin{macrocode} @@ -1282,7 +1479,14 @@ This work consists of the file denisbdoc.dtx fonttitle=\bfseries, enlarge~top~by=1mm, separator~sign~dash, - label~separator=- + label~separator=-, + before~title={% + \hypersetup{hidelinks}% + \tcbset{% + color~definition=white, + color~hyperlink=white, + }% + }% }% }% % @@ -1355,7 +1559,7 @@ Nouv.~:}~#1} % références qui devront être labellisées au moyen de la commande % ×\zlabel× du \Package{zref} (ce dernier devant être chargé dans le % \File{.tex} externe du \File{.pdf} avec les options ×user× et -% ×abspage×). +% ×abspage×). Cf. \url{https://tex.stackexchange.com/a/31489/18401}. % \begin{macrocode} \define@key{Gin}{bylabel}{% \edef\@tempa{{Gin}{page=\zref@extract{#1}{abspage}}}% @@ -1385,14 +1589,16 @@ Nouv.~:}~#1} % % Some hacks to avoid "\makeindex"'s “title” option from \pkg{imakeidx} ignored % if \pkg{tcolorbox}' indexation is used (see -% \url{http://tex.stackexchange.com/q/332284/18401})). +% \url{http://tex.stackexchange.com/q/332284/18401}). % \begin{macrocode} -\expandafter\AtBeginDocument\expandafter{% - \expandafter\def\expandafter\theindex\expandafter{\theindex}% -} -\expandafter\AtBeginDocument\expandafter{% - \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}% -} +\@ifclassloaded{beamer}{% +}{% + \expandafter\AtBeginDocument\expandafter{% + \expandafter\def\expandafter\theindex\expandafter{\theindex}% + } + \expandafter\AtBeginDocument\expandafter{% + \expandafter\def\expandafter\endtheindex\expandafter{\endtheindex}% + } % \end{macrocode} % % Hack of \pkg{imakeidx} in order different indices have different extensions @@ -1401,80 +1607,84 @@ Nouv.~:}~#1} % extensions of input and output files are specified by new |extin| and |extout| % options of |\makeindex|. % \begin{macrocode} -\ExplSyntaxOff -\def\imki@finalmessage#1{}% since you're using latexmk -\def\imki@startidx#1#2{% - \if@filesw + \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}} + \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 % \end{macrocode} % % \begin{macrocode} -\cs_new_protected:Nn \_@@_alert:n -{ - \begingroup - \color{red} - #1 - \endgroup -}% -\NewDocumentCommand \alert {m} -{ - \_@@_alert:n {#1} -}% -\DeclareDocumentCommand \changes { smmm } { - \IfBooleanTF {#1} +\@ifclassloaded{beamer}{% +}{% + \cs_new_protected:Nn \_@@_alert:n { - \tl_set:Nn \l_tmpa_tl {\alert{#4}} - }{ - \tl_set:Nn \l_tmpa_tl {#4} + \begingroup + \color{red} + #1 + \endgroup + }% + \NewDocumentCommand \alert {m} + { + \_@@_alert:n {#1} + }% + \DeclareDocumentCommand \changes { smmm } { + \IfBooleanTF {#1} + { + \tl_set:Nn \l_tmpa_tl {\alert{#4}} + }{ + \tl_set:Nn \l_tmpa_tl {#4} + } + \ifx\@onlypreamble\@notprerr + \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl} + \else + \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble} + \fi } - \ifx\@onlypreamble\@notprerr - \index[\jobname-changes]{\texttt{#2}~(#3)!\l_tmpa_tl} - \else - \index[\jobname-changes]{\texttt{#2}~(#3)!\emph{Globalement}!\l_tmpa_tl|gobble} - \fi -} -\DeclareDocumentCommand \PrintChanges { O{} } { - \indexprologue{#1} + \DeclareDocumentCommand \PrintChanges { !O{} } { + \indexprologue{#1} % \end{macrocode} % % The changes are printed in a numbered chapter hence subject to % cross-references. % \begin{macrocode} - \def\imki@indexlevel{\chapter} - \printindex[\jobname-changes] - \def\imki@indexlevel{\chapter*} -} + \def\imki@indexlevel{\chapter} + \printindex[\jobname-changes] + \def\imki@indexlevel{\chapter*} + } +}% % \@ifpackageloaded{doc}{% % \renewcommand*{\changes@}[3]{% % \protected@edef\@tempa{% @@ -1521,7 +1731,7 @@ Nouv.~:}~#1} % % This saves the url with all characters catcode other: % \begin{macrocode} -\tl_const:Nx \c_@@_standard_url_tl { \tl_to_str:n { http://www.ctan.org/pkg/ } } +\tl_const:Nx \c_@@_standard_url_tl { \tl_to_str:n { http://ctan.org/pkg/ } } % \end{macrocode} % Separate formatting: % #1: package or class name @@ -1570,16 +1780,16 @@ Nouv.~:}~#1} } {#4} } -\NewDocumentCommand{\package}{ s t+ O{} m O{package} O{} O{} } { +\NewDocumentCommand{\package}{ s t+ O{} m !O{package} !O{} !O{} } { \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7} } -\NewDocumentCommand{\Package}{ s t+ O{} m O{package} O{} O{} } { +\NewDocumentCommand{\Package}{ s t+ O{} m !O{package} !O{} !O{} } { \IfLanguageName{french}{package~}{}% \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{package}{#6}{#7} \IfLanguageName{english}{~package}{}% } % -\NewDocumentCommand{\class}{ s t+ O{} m O{} O{} O{} } { +\NewDocumentCommand{\class}{ s t+ O{} m !O{} !O{} !O{} } { \IfLanguageName{french}{% \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7} }{}% @@ -1587,7 +1797,7 @@ Nouv.~:}~#1} \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{class}{#6}{#7} }{}% } -\NewDocumentCommand{\Class}{ s t+ O{} m O{} O{} O{} } { +\NewDocumentCommand{\Class}{ s t+ O{} m !O{} !O{} !O{} } { \IfLanguageName{french}{% classe~% \_@@_package:nnnnnnn {#1}{#2}{#3}{#4}{classe}{#6}{#7} @@ -1634,35 +1844,35 @@ Nouv.~:}~#1} } \NewDocumentCommand{\Folder}{ m } {% - \IfLanguageName{french}{répertoire~}{}% + \IfLanguageName{french}{dossier~}{}% \_@@_file:n {#1}% \IfLanguageName{english}{~directory}{}% }% % -\NewDocumentCommand \ie { s } {% - \IfBooleanTF {#1} - { - \IfLanguageName{french}{% - c'est-\`{a}-dire - }{}% - \IfLanguageName{english}{% - id est - }{}% - } - { - \IfLanguageName{french}{% - c.-à-d - }{}% - \IfLanguageName{english}{% - i.e - }{}% - \@ifnextchar.% - { - }{ - .\xspace - }% - } -} +% \NewDocumentCommand \ie { s } {% +% \IfBooleanTF {#1} +% { +% \IfLanguageName{french}{% +% c'est-\`{a}-dire +% }{}% +% \IfLanguageName{english}{% +% id est +% }{}% +% } +% { +% \IfLanguageName{french}{% +% c.-à-d +% }{}% +% \IfLanguageName{english}{% +% i.e +% }{}% +% \@ifnextchar.% +% { +% }{ +% .\xspace +% }% +% } +% } % \NewDocumentCommand{\program}{ m } { @@ -1772,7 +1982,7 @@ Nouv.~:}~#1} { \hyperref[sec-comm-oblig]{% \textcolor{red!75!black}{ - % \pdftex_if_engine:TF + % \sys_if_engine_pdftex:TF % { % % \string! % \ding{52} @@ -1787,9 +1997,17 @@ Nouv.~:}~#1} \fi% }% } -\NewDocumentCommand{\mandatory}{ } +\cs_new_protected:Nn \_@@_mandatory_no_link: { - \_@@_mandatory: {} + \textcolor{red!75!black}{ + \faLock + } +} +\NewDocumentCommand{\mandatory}{ s } +{ + \IfBooleanTF {#1} + { \_@@_mandatory_no_link: {} } + { \_@@_mandatory: {} } }% % \NewDocumentCommand{\unixtldirectory}{} @@ -1966,13 +2184,22 @@ Nouv.~:}~#1} \pdfsuppresswarningpagegroup=1 % \end{macrocode} % +% We want to make the angle brackets generated by ×\meta× to be copied and +% pasted as they are, and not replaced by "h" and "i" +% (cf. \url{https://tex.stackexchange.com/q/18146/18401}). +% \begin{macrocode} +\newunicodechar{〈}{$\langle$} +\newunicodechar{〉}{$\rangle$} +% \end{macrocode} +% % \begin{macrocode} \cs_new_protected:Nn \_@@_meta:nn { \bgroup% \normalfont \ttfamily% - \textcolor{#1}{$\langle$\emph{#2}$\rangle$}% + \itshape% + \textcolor{#1}{$\langle$#2$\rangle$}% \egroup% } \AtBeginDocument{% @@ -1985,12 +2212,12 @@ Nouv.~:}~#1} % \subsection{Environments} % % \begin{macrocode} -\NewTCBListing{preamblecode}{ O{} }{% +\NewTCBListing{preamblecode}{ !O{} }{% codes,% drop~lifted~shadow, #1% } -\NewTCBListing{bodycode}{ O{} }{% +\NewTCBListing{bodycode}{ !O{} }{% codes,% #1% } @@ -2039,9 +2266,14 @@ Nouv.~:}~#1} % % \begin{macrocode} \tl_new:N \g_@@_number_within_tl -\tl_set:Nn \g_@@_number_within_tl {chapter} +\ifcsdef{chapter}{ + \tl_set:Nn \g_@@_number_within_tl {chapter} +}{ + \tl_set:Nn \g_@@_number_within_tl {section} +} \@ifclassloaded{gztarticle}{\tl_set:Nn \g_@@_number_within_tl {section}}{}% \@ifclassloaded{nwejmart}{\tl_set:Nn \g_@@_number_within_tl {section}}{}% +\@ifclassloaded{beamer}{\tl_set:Nn \g_@@_number_within_tl {section}}{}% % \end{macrocode} % % \begin{macrocode} @@ -2116,7 +2348,8 @@ Nouv.~:}~#1} { menufont = \sffamily , menusep = ${}\to{}$ - }% \end{macrocode} + } +% \end{macrocode} \menuentryset{inputsep=>} % % \section{Definitions specific to peticular classes or packages} @@ -2341,7 +2574,7 @@ Nouv.~:}~#1} \providecommand*\lettergroup[1]{% \belowpdfbookmark{#1}{\csuse{DBD@index@symbolic@name}:#1}% \par\indexheading{#1}{\csuse{DBD@index@symbolic@name}}\par - \nopagebreak + % \nopagebreak } ~n" :close "~n~n\end{theindex}~n" diff --git a/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins b/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins index 5e3080df37b..f8f5570c513 100644 --- a/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins +++ b/Master/texmf-dist/source/latex/denisbdoc/denisbdoc.ins @@ -2,18 +2,19 @@ \askforoverwritefalse \preamble ----------------------------------------------------------------------------- -denisbdoc --- A personal dirty package for documenting packages, version 0.7 +denisbdoc --- A personal dirty package for documenting personal classes, + version 0.8 Maintained by Denis Bitouz'e -E-mail: denis.bitouze@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 ----------------------------------------------------------------------------- \endpreamble \postamble -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 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