\NeedsTeXFormat{LaTeX2e}% écrit pour pour LaTeX-2ε % \ProvidesPackage{chimakehelps}[2016/11/02 Extension pour standardiser mes fichiers d'aide V0.1]%par LeChi % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Commandes pour écrire % % % % % % du faux texte % % % % % % % % % % \RequirePackage{lipsum}% \setlipsumdefault{1-2}% choisit des paragraphes par défaut \newcounter{lipsumpar}% crée un compteur à utiliser pour lipsum \newcounter{lipsumparfin}% crée un compteur à utiliser pour lipsum \setcounter{lipsumpar}{1}% initialise le compteur pour lipsum % % %--------------------------- \newcommand{\lipsumpardeb}[1]{\setcounter{lipsumpar}{#1}}% remettre le compteur lipsumpar à 1 % % %--------------------------- \newcommand{\dutexte}[1]{% Insérer du texte \setcounter{lipsumparfin}{#1}\addtocounter{lipsumparfin}{\thelipsumpar}% {\color{gray}\lipsum*[\thelipsumpar-\thelipsumparfin]}% \setcounter{lipsumpar}{1+\thelipsumparfin}}% % \newcommand{\lipsumun}{{\color{gray}\lipsum*[1]}}% % \newcommand{\lipsumdeux}{{\color{gray}\lipsum*[2]}}% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Commandes pour les mises en pages % % % % % % et les entêtes et pieds-de-page % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % \newlength{\myoddoffset}% \newlength{\myevenoffset} \RequirePackage{calc}% pour faire de petits calculs \RequirePackage{colortbl}% pour utiliser facilement des couleurs dans les tableaux... \RequirePackage{ifthen}% pour faire des tests dans les macros \RequirePackage{multicol}% pour avoir des pages avec plusieurs colonnes % \RequirePackage[includehead,includefoot,includemp,% bindingoffset=25mm,% la marge de reliure left=10mm,right=10mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=50mm,marginparsep=2mm]{geometry}% largeur et séparation notes latérales % \RequirePackage{fancyhdr}% en-têtes et chipieds de pages personnalisés. \RequirePackage{lastpage}% pour insérer le nombre de pages \fancyhf{}% pour avoir les entêtes et des pieds de page. \pagestyle{fancy}% en-têtes et pieds de pages personnalisés. % % \newcommand{\chihelpentetpied}{% Définit les pieds de pages et entêtes \fancyhead{}% \renewcommand{\headrule}{{\color{red}\hrule \headwidth \headrulewidth \vskip-\headrulewidth}}% \rhead[\nouppercase{\footnotesize \leftmark{}}]{\nouppercase{\footnotesize \rightmark{}}}% {} par défaut, [] en recto-verso \chead{\footnotesize }% \lhead[\nouppercase{\footnotesize \rightmark{}}]{\nouppercase{\footnotesize \leftmark{}}}% {} par défaut, [] en recto-verso \fancyfoot{} \renewcommand{\footrule}{{\color{blue}\vskip-\footruleskip\vskip-\footrulewidth\hrule\headwidth \footrulewidth\vskip\footruleskip}}% \rfoot[\footnotesize \auteur]{\nouppercase{\footnotesize \jour}}% {} par défaut, [] en recto-verso \lfoot[\footnotesize \jour]{\nouppercase{\footnotesize \auteur}}% {} par défaut, [] en recto-verso \cfoot{\footnotesize \thepage{}}% }% % \newcommand{\chihelppages}{% définit quelques mises en page. \geometry{reversemarginpar=false} % Mise en page pour la Une \geometry{bindingoffset=0mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=0mm,headsep=0mm,footskip=0mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=0mm,marginparsep=0mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helplaune}\geometry{reversemarginpar=true}% \savegeometry{helplaune_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % Pour les pages de titres % ^^^^^^^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=25mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=0mm,headsep=0mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=0mm,marginparsep=0mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helppourtitres}\geometry{reversemarginpar=true}% \savegeometry{helppourtitres_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % Avec une très large zone de notes % ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=25mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=80mm,marginparsep=2mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helptreslargezonenotes}\geometry{reversemarginpar=true}% \savegeometry{helptreslargezonenotes_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % Avec une large zone de notes % ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=25mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=50mm,marginparsep=2mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helplargezonenotes}\geometry{reversemarginpar=true}% \savegeometry{helplargezonenotes_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % Avec une zone moyenne de notes % ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=25mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=25mm,marginparsep=2mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helpmoyennezonenotes}\geometry{reversemarginpar=true}% \savegeometry{helpmoyennezonenotes_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % Avec une fine zone de notes % ^^^^^^^^^^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=25mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=15mm,marginparsep=2mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helpfinezonenotes}\geometry{reversemarginpar=true}% \savegeometry{helpfinezonenotes_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % Sans zone de notes % ^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=25mm,% la marge de reliure left=10mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=0mm,marginparsep=0mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helpsanszonenotes}\geometry{reversemarginpar=true}% \savegeometry{helpsanszonenotes_r}\geometry{reversemarginpar=false}% % --------------------------------------------------------------------------------------------------- % pour les pages de code % ^^^^^^^^^^^^^^^^^^ \geometry{bindingoffset=10mm,% la marge de reliure left=15mm,right=15mm,top=10mm,bottom=10mm,% les marges headheight=6mm,headsep=3mm,footskip=6mm,% hauteur et séparation entête + hauteur chipied de page marginparwidth=0mm,marginparsep=0mm}% largeur de la zone latérale de notes et sa séparation \savegeometry{helplisting}\geometry{reversemarginpar=true}% \savegeometry{helplisting_r}\geometry{reversemarginpar=false}% }% % \newcommand{\loadchihelpgeometry}[2][N]{% \ifthenelse{\equal{#1}{R}}% {% \loadgeometry{#2_r}% \setlength{\myevenoffset}{\marginparsep}% \setlength{\myoddoffset}{\marginparwidth + \marginparsep}% \fancyheadoffset[leh,roh]{\myevenoffset}% \fancyheadoffset[loh,reh]{\myoddoffset}% \fancyfootoffset[leh,roh]{\myevenoffset}% \fancyfootoffset[loh,reh]{\myoddoffset}% }% {% \loadgeometry{#2}% \setlength{\myevenoffset}{\marginparsep}% \setlength{\myoddoffset}{\marginparwidth + \marginparsep}% \fancyheadoffset[leh,roh]{\myoddoffset}% \fancyheadoffset[loh,reh]{\myevenoffset}% \fancyfootoffset[leh,roh]{\myoddoffset}% \fancyfootoffset[loh,reh]{\myevenoffset}% }% }% % % % % Variables pour les pages multicolonnes \setlength{\columnseprule}{0pt}% largeur du trait séparant les colonnes \setlength{\columnsep}{30pt}% séparation des deux colonnes % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Commandes pour écrire les commandes, % % % % % % variables%et noms de fichier % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % \RequirePackage{xcolor}% https://en.wikibooks.org/wiki/LaTeX/Colors \newcommand{\chicom}[1]{\textsf{\footnotesize{\textcolor{blue}{\textbf{\textbackslash{}#1}}}}}% \newcommand{\chivar}[1]{\textsf{\footnotesize{\textcolor{violet}{\textbf\textbackslash{}{#1}}}}}% \newcommand{\chifich}[1]{\textsf{\footnotesize{\textcolor{darkgray}{\textbf{#1}}}}}% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Pour établir l'index des commandes % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % \RequirePackage{makeidx}% pour créer l'index \RequirePackage[columns=1]{idxlayout}% pour que l'index n'ait qu'une seule colonne \makeindex% demande la création de l'index % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Environnement pour verbatimer % % % % % % la commande % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %\RequirePackage{alltt}% pour écrire les commandes en verbatim mais avec gras etc. \RequirePackage{fvrb-ex}%pour écrire une fonction et son résultat à côté \RequirePackage{fancyvrb}% pour écrire mieux en verbatim % % \DefineVerbatimEnvironment{chicitecommande}{Verbatim}% {gobble=0,% baselinestretch=1.25,% fontfamily=lmss,fontseries=b,fontsize=\footnotesize,fontshape=auto,formatcom=\color{blue},% frame=single,rulecolor=\color{black},xrightmargin=0.15\textwidth,xleftmargin=0.15\textwidth}% % % % \DefineVerbatimEnvironment{chicitecommandelarge}{Verbatim}% {gobble=0,% baselinestretch=1.25,% fontfamily=lmss,fontseries=b,fontsize=\footnotesize,fontshape=auto,formatcom=\color{blue},% frame=single,rulecolor=\color{black},xrightmargin=0\textwidth,xleftmargin=0\textwidth}% % % % % % % avec possibilité de lancer des commandes \textbf{...} -> |textbf"...!% % % % \DefineVerbatimEnvironment{chicitecommandechars}{Verbatim}% {commandchars=|\"\!,gobble=0,% baselinestretch=1.25,% fontfamily=lmss,fontseries=b,fontsize=\footnotesize,fontshape=auto,formatcom=\color{blue},% frame=single,rulecolor=\color{black},xrightmargin=0.15\textwidth,xleftmargin=0.15\textwidth}% % % %---------------------------------------------------------------------------------------------------% % % % % % \def\CommandeEcrite{\textbf{{\textcolor{blue}{Résultat obtenu}}}}% % % % % % % % % % % % %---------------------------------------------------------------------------------------------------% % % % % % % % % création de la liste des commandes et variables des extensions% \RequirePackage{array,multirow,makecell}% \setcellgapes{1pt}% \makegapedcells% \newcolumntype{R}[1]{>{\raggedleft\arraybackslash }b{#1}}% \newcolumntype{L}[1]{>{\raggedright\arraybackslash }b{#1}}% \newcolumntype{C}[1]{>{\centering\arraybackslash }b{#1}}% \newcommand{\chinonante}[1]{{\begin{sideways}#1~~\end{sideways}}}% % % % \newenvironment{chitableaucommandes}% {\begin{tabular}{|L{5cm} L{5cm} L{3cm}|}\hline Nom & Type & Extension \\ \hline}% {\hline \end{tabular} \bigskip{}}% % % % \newcommand{\chilstcom}[3]{\textbf{#1} & #2 & \emph{#3}\index{\textbf{\textsc{#2}}!#1\,(\emph{#3})}\\}% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Sortie du listing du package pour % % % % % % lequel l'aide est écrite % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % \RequirePackage{listings}% \lstloadlanguages{TeX}% \lstset{extendedchars=true,numbers=left,breaklines=true,fontadjust=true,% basicstyle=\scriptsize\ttfamily,frame=single}%