summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-08-27 19:53:19 +0000
committerKarl Berry <karl@freefriends.org>2023-08-27 19:53:19 +0000
commitd5515ac6c674357e891c2e17177b1bc5c5149b33 (patch)
tree6245fd4f58cf72f5893e11fcaf6265647329892b /Master
parentb1d436874da1905230c6f30abcdb32dad8fab78b (diff)
creationboites (27aug23)
git-svn-id: svn://tug.org/texlive/trunk@68087 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdfbin0 -> 158107 bytes
-rw-r--r--Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex582
-rw-r--r--Master/texmf-dist/doc/latex/creationboites/README.md7
-rw-r--r--Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty126
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/creationboites.tlpsrc0
8 files changed, 718 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf b/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf
new file mode 100644
index 00000000000..e3984e5e878
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex b/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex
new file mode 100644
index 00000000000..e3470deb96b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex
@@ -0,0 +1,582 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: no, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,11pt,a4paper]{article}
+%\usepackage[utf8]{inputenc}
+%\usepackage[T1]{fontenc}
+%\usepackage{amssymb}
+\usepackage{fontspec}
+\setmonofont[Scale=MatchLowercase]{Inconsolatazi4}
+\usepackage{CreationBoites}
+\usepackage{enumitem}
+\usepackage{soul}
+\usepackage{codehigh}
+\usepackage{multicol}
+\usepackage{tabularray}
+\usepackage{lipsum}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+%\rhead{\sffamily\small\affloetalab[Legende]}
+\lfoot{\sffamily\small [CreationBoites]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=1.5cm]{geometry}
+\setlength{\parindent}{0pt}
+
+\def\TPversion{0.1.0}
+\def\TPdate{26 août 2023}
+\sethlcolor{lightgray!25}
+\NewDocumentCommand\MontreCode{ m }{%
+ \hl{\vphantom{\texttt{pf}}\texttt{#1}}%
+}
+
+\CreationBoite[blue]{BoiteDeDemo}{CompteurBoiteDemo}{\faIcons}{Boîte Démo/Boîtes Démos}
+\CreationBoite[red]{BoiteDanger}{CompteurBoiteDanger}{\faBomb}{Danger/Dangers}
+
+\usepackage{babel}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\begin{center}
+ \begin{minipage}{0.88\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{CreationBoites}}\\
+ \\
+ {\LARGE Création \textit{semi-}automatique de boîtes \textit{tcbox}} \\
+ \\
+ {\LARGE avec quelques éléments de personnalisation.} \\
+ \\
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{tabular}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/creationboites}}
+\end{tabular}
+\end{center}
+
+\hrule
+
+\vfill
+
+\begin{tcolorbox}[colframe=lightgray,colback=white]
+\begin{BoiteDeDemo}
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDeDemo}[Compteur=false]
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDeDemo}[Pluriel]
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDeDemo}[SousTitre={Un petit sous-titre}]
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDeDemo}[ComplementTitre={ - Un complément de titre}]%noter l'espace ;-)
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDeDemo}[ModifLabel={ super important}]%noter l'espace ;-)
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDeDemo}[Logo={example-image}]
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDanger}[Compteur=false]
+ \lipsum[1][1]
+\end{BoiteDanger}
+\end{tcolorbox}
+
+\vfill~
+
+\pagebreak
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+\hrule
+
+\vspace*{5mm}
+
+\section{Le package CreationBoites}
+
+\subsection{Idées}
+
+L'idée est de proposer un moyen de \textit{générer} des boîtes simples, créées grâce à \MontreCode{tcolorbox}, de manière \textit{semi}-automatisée.
+
+\smallskip
+
+Chaque boîte sera définie -- avec un style global -- via :
+
+\begin{itemize}
+ \item un \textbf{nom} (pour l'environnement) ;
+ \item un nom de \textbf{compteur} pour la numéroter ;
+ \item une \textbf{couleur} (optionnelle et noire par défaut) ;
+ \item une \textbf{icône} ;
+ \item un \textbf{label} (singulier ou pluriel).
+\end{itemize}
+
+\medskip
+
+Il ne faut pas voir ce package comme un outil avancé de création, \MontreCode{tcolorbox} étant déjà suffisamment complet pour que l'utilisateur puisse faire tout ce dont il a envie, mais comme un \textit{assistant simple} pour créer des boîtes pour des supports de cours par exemple !
+
+\subsection{Chargement}
+
+Le package se charge dans le préambule, via \MontreCode{\textbackslash usepackage\{CreationBoites\}}.
+
+Les seuls packages chargés sont :
+
+\begin{itemize}
+ \item \MontreCode{tcolorbox} (avec les libraires \MontreCode{fitting,skins}) ;
+ \item \MontreCode{fontawesome5}, \MontreCode{simplekv} et \MontreCode{xstring}.
+\end{itemize}
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\usepackage{CreationBoites}
+\end{codehigh}
+
+\subsection{Utilisation basique}
+
+Le package propose deux macros principales :
+
+\begin{itemize}
+ \item \MontreCode{\textbackslash CreationBoite} pour créer les différentes boîtes/environnements ;
+ \item \MontreCode{\textbackslash ParamBoites} pour une modification \textit{globale} de certains paramètres des boîtes (polices et marges).
+\end{itemize}
+
+\medskip
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\CreationBoite[Couleur]{Nom}{Compteur}{Icône}{Libéllés}
+\ParamBoites[Clés]
+\end{codehigh}
+
+\medskip
+
+Ainsi, les exemples de boîtes données sur la page de garde ont été créées grâce à :
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\CreationBoite%
+ [blue] %Couleur de base
+ {BoiteDeDemo} %Nom de l'environnement
+ {CompteurBoiteDemo} %Compteur
+ {\faIcons} %Icône
+ {Boîte Démo/Boîtes Démos} %Libélés (sing/plur)
+
+\CreationBoite%
+ [red] %Couleur de base
+ {BoiteDanger} %Nom de l'environnement
+ {CompteurBoiteDanger} %Compteur
+ {\faBomb} %Icône
+ {Danger/Dangers} %Libélés (sing/plur)
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\setcounter{CompteurBoiteDemo}{0}
+\setcounter{CompteurBoiteDanger}{0}
+\begin{BoiteDeDemo}
+ \lipsum[1][1]
+\end{BoiteDeDemo}
+
+\begin{BoiteDanger}
+ \lipsum[2][1]
+\end{BoiteDanger}
+\end{demohigh}
+
+Dans ce cas la boîte est créée grâce à la syntaxe suivante :
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{NomEnv}[Clés]<Options tcbox>
+...
+\end{NomEnv}
+\end{codehigh}
+
+\pagebreak
+
+\section{Utilisation basique}
+
+\subsection{Style global de la boîte}
+
+Le style global des boîtes est défini par :
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\tcbset{baseboite/.style={
+ enhanced,sharp corners=uphill,boxrule=\eptraitboite,%
+ before skip=0.5em,after skip=0.5em,%
+ colback=white,top=4mm,%
+ left={\margeboite-\margeinttitreboite-\eptraitboite},%
+ right={\margeboite-\margeinttitreboite-\eptraitboite}
+}%
+}
+\end{codehigh}
+
+À noter que le \MontreCode{\textbackslash margeboite-\textbackslash margeinttitreboite-\textbackslash eptraitboite} vient :
+
+\begin{itemize}
+ \item des \MontreCode{\textbackslash margeinttitreboite} du paramètre \MontreCode{inner sep} du nœud Ti\textit{k}Z ;
+ \item des \MontreCode{\textbackslash eptraitboite} du paramètre \MontreCode{boxrule} de la boîte \textit{titre}.
+\end{itemize}
+
+\subsection{Paramétrage simple de la boîte}
+
+Il est possible de rajouter ou modifier quelques éléments de chaque boîte (les clés suivantes sont cumulables) :
+
+\begin{itemize}
+ \item un \textsf{sous-titre} (couleur \textsf{rouge foncé}) peut être ajouté (en haut à droite de la boîte), via la clé \MontreCode{[SousTitre=...]} ;
+ \item le label peut être modifié :
+ \begin{itemize}
+ \item le compteur peut être désactivé, grâce à la clé \MontreCode{[Compteur=false]} ;
+ \item la clé \MontreCode{[Pluriel]} force le pluriel du label ;
+ \item un complément peut être rajouté entre le label et le compteur grâce à la clé \MontreCode{[ModifLabel=...]} ;
+ \item un complément peut être rajouté après le compteur grâce à la clé \MontreCode{[ComplementTitre=...]} ;
+ \end{itemize}
+ \item une petite image (type \textit{filigrane}) peut être rajoutée (de hauteur 24pt et pivotée de 45° dans le sens horaire par défaut), dans le coin \textit{bas-droite} de la boîte :
+ \begin{itemize}
+ \item en spécifiant l'image grâce à la clé \MontreCode{[Logo=...]} ;
+ \item en spécifiant hauteur/rotation/opacité grâce aux clés \MontreCode{[HauteurLogo=...]} , \MontreCode{[RotationLogo=...]} et \MontreCode{[OpaciteLogo=...]}.
+ \end{itemize}
+\end{itemize}
+
+Des options spécifiques \MontreCode{tcolorbox} peuvent être passées en option à l'environnement, elles sont à mettre entre \MontreCode{<...>} avant le corps de l'environnement.
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\setcounter{CompteurBoiteDemo}{0}
+\begin{BoiteDeDemo}[Compteur=false]
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[Pluriel]<width=0.5\linewidth>
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[SousTitre={Un petit sous-titre}]
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[ComplementTitre={ - Un complément de titre}]%noter l'espace ;-)
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[ModifLabel={ super important}]%noter l'espace ;-)
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[Logo={example-image}]
+\lipsum[1][3-4]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[Logo={example-image},HauteurLogo=5mm,RotationLogo=10]
+\lipsum[1][3-4]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\pagebreak
+
+Et en \textit{cumulant} des clés de personnalisation on peut obtenir :
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[%
+ ModifLabel={s super importants},ComplementTitre={ (vraiment super importants)},%
+ SousTitre={- Source -},Compteur=false,Logo={example-image-a},%
+ HauteurLogo=1cm,RotationLogo=15,OpaciteLogo=1
+ ]
+\lipsum[2][1-4]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\subsection{Personnalisation \textit{intermédiaire}}
+
+Il est possible de paramétrer \textit{facilement} certaines options, via la commande \MontreCode{\textbackslash ParamBoites[...]} :
+
+\begin{itemize}
+ \item la police du label grâce à la clé \MontreCode{[PoliceTitre=...]} (\verb*|\bfseries\sffamily| par défaut) ;
+ \item la police du sous-titre grâce à la clé \MontreCode{[PoliceSousTitre=...]} (\verb*|\small\bfseries\sffamily| par défaut) ;
+ \item la couleur de base du sous-titre grâce à la clé \MontreCode{[CouleurSousTitre=...]} (\verb*|red| par défaut) ;
+ \item les marges gauche et droite grâce à la clé \MontreCode{[Marge=...]} (\verb*|4mm| par défaut) ;
+ \item l'épaisseur des bordures grâce à la clé \MontreCode{[EpaisseurBordure=...]} (\verb*|1.25pt| par défaut) ;
+ \item la marge spécifique pour la boîte \textit{titre} grâce à clé \MontreCode{[MargeTitre=...]} (\verb*|3pt| par défaut).
+\end{itemize}
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\ParamBoites[%
+ Marge=2cm,MargeTitre=2mm,%
+ PoliceTitre=\large\bfseries\ttfamily,%
+ PoliceSousTitre=\scriptsize\bfseries\sffamily,%
+ CouleurSousTitre=orange]
+\end{codehigh}
+
+\ParamBoites[Marge=2cm,MargeTitre=2mm,PoliceTitre=\large\bfseries\ttfamily,PoliceSousTitre=\scriptsize\bfseries\sffamily,CouleurSousTitre=orange]
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\begin{BoiteDeDemo}[SousTitre={- Un petit sous-titre -}]
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+On peut revenir aux paramètres par défaut grâce à la commande \MontreCode{\textbackslash ParamBoites} (sans argument).
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\ParamBoites
+\begin{BoiteDeDemo}[SousTitre={- Un petit sous-titre -}]
+\lipsum[1][1-2]
+\end{BoiteDeDemo}
+\end{demohigh}
+
+\pagebreak
+
+\section{Utilisation avancée}
+
+\subsection{Styles spécifiques}
+
+Il est possible quand même de modifier \textit{en profondeur} les boîtes créées, en redéfinissant les commandes suivantes via \verb*|\RenewDocumentCommand| :
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\NewDocumentCommand\TitreBoite{ m m m m }{%
+ %1=couleur
+ %2=icone
+ %3=nom
+ %4=compteur
+ % \BoxModifLabel = texte entre label et compteur
+ % \BoxCpltTitle = Texte après le compteur
+ \node[inner sep=\margeinttitreboite,rounded corners=3pt,draw=#1,line width=\eptraitboite,%
+ rectangle,fill=#1!5!white,anchor=west,xshift=\margeboite,text=black,%
+ font=\policetitreboite]%
+ at (frame.north west)
+ {%
+ \,\IfStrEq{#2}{}{}{{\small#2}~}\vphantom{Ppé}%
+ \ifboolKV[Boites]{Pluriel}{\StrBehind{#3}{/}}{\StrBefore{#3}{/}}%
+ \IfStrEq{\BoxModifLabel}{}{}{\BoxModifLabel}\ifboolKV[Boites]{Compteur}{~#4}{}%
+ \IfStrEq{\BoxCpltTitle}{}{}{\BoxCpltTitle}\,%
+ } ;
+}
+\end{codehigh}
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\NewDocumentCommand\SousTitreBoite{ }{%\BoxSubTitle = Sous-titre
+ \node[fill=white,anchor=east,xshift=-\margeboite,text=red!75!black,%
+ font=\policesoustitreboite] at (frame.north east) %
+ {\vphantom{Ppé}\BoxSubTitle} ;
+}
+\end{codehigh}
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\NewDocumentCommand\LogoCoinDroit{ }{%
+ \begin{tcbclipinterior}%
+ \node[opacity=\BoxOpaciteLogo,rotate=-\BoxRotationLogo]%
+ at ($(interior.south east)+(-10pt,10pt)$) %
+ {\includegraphics[height=\BoxHauteurLogo]{\BoxLogo}};%
+ \end{tcbclipinterior}%
+}
+\end{codehigh}
+
+\pagebreak
+
+\subsection{Exemple de personnalisations avancées}
+
+Par exemple, on peut modifier globalement le comportement de la boîte :
+
+\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\tcbset{baseboite/.style={
+ enhanced,boxrule=0.75pt,%
+ center,width=0.75\linewidth,%
+ before skip=1em,after skip=1em,%
+ colback=white,top=4mm,left=1mm,right=1mm
+ }%
+}
+\RenewDocumentCommand\TitreBoite{ m m m m }{%
+ \node[inner sep=2pt,draw=#1,line width=0.75pt,rounded corners,%
+ rectangle,fill=white,anchor=center,xshift=-1cm,text=black,%
+ font=\policetitreboite]%
+ at (frame.north)
+ {%
+ ~#2 #3\ifboolKV[Boites]{Compteur}{~#4}{}\IfStrEq{\BoxCpltTitle}{}{}{\BoxCpltTitle}~
+ } ;
+}
+\RenewDocumentCommand\SousTitreBoite{ }{%
+ \node[fill=white,anchor=center,%
+ font=\policesoustitreboite] at (frame.south) {\vphantom{pP}\BoxSubTitle} ;
+}
+\ParamBoites[PoliceTitre=\bfseries,PoliceSousTitre=\small\sffamily]
+\CreationBoite{BoxDef}{CompteurDefi}{\faAddressBook}{Définition}
+\CreationBoite[lime]{BoxProp}{CompteurProp}{\faAmbulance}{Propriété}
+\end{codehigh}
+
+\tcbset{baseboite/.style={
+enhanced,boxrule=0.75pt,%
+center,width=0.75\linewidth,%
+before skip=1em,after skip=1em,%
+colback=white,top=4mm,left=1mm,right=1mm
+}%
+}
+
+\RenewDocumentCommand\TitreBoite{ m m m m }{%
+\node[inner sep=2pt,draw=#1,line width=0.75pt,rounded corners,%
+rectangle,fill=white,anchor=center,text=black,%
+font=\policetitreboite]%
+at (frame.north)
+{%
+~#2 #3\ifboolKV[Boites]{Compteur}{~#4}{}\IfStrEq{\BoxCpltTitle}{}{}{\BoxCpltTitle}~
+} ;
+}
+
+\RenewDocumentCommand\SousTitreBoite{ }{%
+\node[fill=white,anchor=center,%
+font=\policesoustitreboite] at (frame.south) %
+{\vphantom{pP}\BoxSubTitle} ;
+}
+
+\ParamBoites[PoliceTitre=\bfseries,PoliceSousTitre=\small\sffamily]
+
+\CreationBoite{BoxDef}{CompteurDefi}{\faAddressBook}{Définition}
+\CreationBoite[lime]{BoxProp}{CompteurProp}{\faAmbulance}{Propriété}
+
+\begin{demohigh}
+On va montrer en situation :
+
+\begin{BoxDef}[ComplementTitre={ (importante)},SousTitre={- Fin -}]
+\lipsum[1][1-2]
+\end{BoxDef}
+
+\begin{BoxProp}[ComplementTitre={ (très importante)},Compteur=false]
+\lipsum[1][3-4]
+\end{BoxProp}
+
+Voili voilà !
+\end{demohigh}
+
+\pagebreak
+
+\subsection{Galerie pour des boîtes à destination de cours}
+
+Pour les exemples suivants, les paramètres et styles ont été remis par défaut.
+
+Toute couleur (\MontreCode{xcolor} n'est pas chargé avec des options spécifiques) peut être utilisée pour créer une boîte.
+
+\tcbset{baseboite/.style={
+ enhanced,sharp corners=uphill,boxrule=1.25pt,%
+ before skip=0.5em,after skip=0.5em,%
+ colback=white,top=4mm,left={\margeboite-4.25pt},right={\margeboite-4.25pt}
+}%
+}
+
+\RenewDocumentCommand\TitreBoite{ m m m m }{%
+ %1=couleur
+ %2=icone
+ %3=nom
+ %4=compteur
+ % \BoxModifLabel = texte entre label et compteur
+ % \BoxCpltTitle = Texte après le compteur
+ \node[inner sep=3pt,rounded corners=3pt,draw=#1,line width=1.25pt,%
+ rectangle,fill=#1!5!white,anchor=west,xshift=\margeboite,text=black,%
+ font=\policetitreboite]%
+ at (frame.north west)
+ {%
+ \,\IfStrEq{#2}{}{}{{\small#2}~}\vphantom{Ppé}%
+ \ifboolKV[Boites]{Pluriel}{\StrBehind{#3}{/}}{\StrBefore{#3}{/}}%
+ \IfStrEq{\BoxModifLabel}{}{}{\BoxModifLabel}\ifboolKV[Boites]{Compteur}{~#4}{}%
+ \IfStrEq{\BoxCpltTitle}{}{}{\BoxCpltTitle}\,%
+ } ;
+}
+
+\RenewDocumentCommand\SousTitreBoite{ }{%\BoxSubTitle = Sous-titre
+ \node[fill=white,anchor=east,xshift=-\margeboite,text=red!75!black,%
+ font=\policesoustitreboite] at (frame.north east) %
+ {\vphantom{Ppé}\BoxSubTitle} ;
+}
+
+\RenewDocumentCommand\LogoCoinDroit{ }{%
+ \begin{tcbclipinterior}%
+ \node[opacity=\BoxOpaciteLogo,rotate=-\BoxRotationLogo]%
+ at ($(interior.south east)+(-10pt,10pt)$) %
+ {\includegraphics[height=\BoxHauteurLogo]{\BoxLogo}};%
+ \end{tcbclipinterior}%
+}
+
+\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
+\ParamBoites %on remet à 0 les paramètres
+\CreationBoite[teal]{EnvDefi}{CptDefi}{\faIcon[regular]{comment-dots}}{Définition/Définitions}
+\CreationBoite[yellow]{EnvHumour}{CptHumour}{\faIcon[regular]{laugh-wink}}{Humour/Humours}
+\CreationBoite[violet]{EnvProp}{CptProp}{\faCog}{Propriété/Propriétés}
+\CreationBoite[red]{EnvThm}{CptThm}{\faBullhorn}{Théorème/Théorèmes}
+\CreationBoite[blue]{EnvRmq}{CptRmq}{\faHandPointRight[regular]}{Remarque/Remarques}
+
+\begin{EnvDefi}
+\lipsum[1][3-4]
+\end{EnvDefi}
+
+\begin{EnvHumour}
+\lipsum[2][3-4]
+\end{EnvHumour}
+
+\begin{EnvProp}
+\lipsum[2][3-4]
+\end{EnvProp}
+
+\begin{EnvThm}
+\lipsum[2][3-4]
+\end{EnvThm}
+
+\begin{EnvRmq}[Pluriel,Logo={example-image-1x1},SousTitre={ - Fondamentales -}]
+\lipsum[3][1-7]
+\end{EnvRmq}
+\end{demohigh}
+
+\pagebreak
+
+\section{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale
+
+\vspace*{15mm}
+
+\pagebreak
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/creationboites/README.md b/Master/texmf-dist/doc/latex/creationboites/README.md
new file mode 100644
index 00000000000..40d24c24cf3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/creationboites/README.md
@@ -0,0 +1,7 @@
+CreationBoites is a package for creating and personnalize tcbox with macros.
+---------------------------------------------------------------------------------
+CreationBoites est un package pour créer des boîtes tcbox avec personnalisations.
+---------------------------------------------------------------------------------
+Author : Cédric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty b/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty
new file mode 100644
index 00000000000..d40505a12e5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty
@@ -0,0 +1,126 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{CreationBoites}[2023/08/26 0.1.0 Macros pour creer des boites tcbox simples, avec personnalisation(s)]
+
+%====HISTORIQUE
+% v 0.1.0 Version initiale
+
+%====BASE
+\RequirePackage{tcolorbox}
+\tcbuselibrary{fitting,skins}
+\usetikzlibrary{calc}
+\RequirePackage{fontawesome5}
+\RequirePackage{simplekv}
+\RequirePackage{xstring}
+
+%====CRÉATION DES COMPTEURS ET DES PARAMÈTRES DE BASE
+\NewDocumentCommand\CreerCompteur{ m }{%
+ \newcounter{#1}%création
+ \setcounter{#1}{0}%initialisation
+}
+\newcommand\policetitreboite{\bfseries\sffamily}
+\newcommand\policesoustitreboite{\small\bfseries\sffamily}
+\newcommand\couleursoustitreboite{red}
+\newcommand\tailleiconeboite{\small}
+\newcommand\margeboite{4mm}
+\newcommand\eptraitboite{1.25pt}
+\newcommand\margeinttitreboite{3pt}
+
+%====STYLE GÉNÉRAL DES TCBOX
+\tcbset{baseboite/.style={
+ enhanced,sharp corners=uphill,boxrule=\eptraitboite,%
+ before skip=0.5em,after skip=0.5em,%
+ colback=white,top=4mm,left={\margeboite-\margeinttitreboite-\eptraitboite},right={\margeboite-\margeinttitreboite-\eptraitboite}
+ }%
+}
+
+%====MACROS TITRE/SOUS-TITRE/LOGO
+\NewDocumentCommand\TitreBoite{ m m m m }{%
+ %1=couleur
+ %2=icone
+ %3=noms
+ %4=compteur
+ \node[inner sep=\margeinttitreboite,rounded corners=3pt,draw=#1,line width=\eptraitboite,rectangle,fill=#1!5!white,anchor=west,xshift=\margeboite,text=black,font=\policetitreboite] at (frame.north west) {\,\IfStrEq{#2}{}{}{{\tailleiconeboite#2}~}\vphantom{Ppé}\ifboolKV[Boites]{Pluriel}{\StrBehind{#3}{/}}{\StrBefore{#3}{/}}\IfStrEq{\BoxModifLabel}{}{}{\BoxModifLabel}\ifboolKV[Boites]{Compteur}{~#4}{}\IfStrEq{\BoxCpltTitle}{}{}{\BoxCpltTitle}\,} ;
+}
+
+\NewDocumentCommand\SousTitreBoite{ }{%
+ \node[fill=white,anchor=east,xshift=-\margeboite,text=\couleursoustitreboite!75!black,font=\policesoustitreboite] at (frame.north east) {\vphantom{Ppé}\BoxSubTitle} ;
+}
+\NewDocumentCommand\LogoCoinDroit{ }{%
+ \begin{tcbclipinterior}\node[opacity=\BoxOpaciteLogo,rotate=-\BoxRotationLogo] at ($(interior.south east)+(-10pt,10pt)$){\includegraphics[height=\BoxHauteurLogo]{\BoxLogo}};\end{tcbclipinterior}%
+}
+
+%====MACRO POUR QQUES PARAMÈTRES BASIQUES
+\defKV[ParamBoites]{%
+ PoliceTitre=\renewcommand\policetitreboite{#1},%
+ PoliceSousTitre=\renewcommand\policesoustitreboite{#1},%
+ Marge=\renewcommand\margeboite{#1},%
+ TailleIcone=\renewcommand\tailleiconeboite{#1},%
+ CouleurSousTitre=\renewcommand\couleursoustitreboite{#1},%
+ EpaisseurBordure=\renewcommand\eptraitboite{#1},%
+ MargeTitre=\renewcommand\margeinttitreboite{#1}
+}
+\setKVdefault[ParamBoites]{%
+ PoliceTitre=\bfseries\sffamily,%
+ PoliceSousTitre=\small\bfseries\sffamily,%
+ Marge=4mm,%
+ TailleIcone=\small,%
+ CouleurSousTitre=red,%
+ EpaisseurBordure=1.25pt,%
+ MargeTitre=3pt
+}
+\NewDocumentCommand\ParamBoites{ O{} }{%
+ \useKVdefault[ParamBoites]%
+ \setKV[ParamBoites]{#1}%
+}
+
+%====MACRO PRINCIPALE
+\defKV[Boites]{%
+ ComplementTitre=\def\BoxCpltTitle{#1},%
+ SousTitre=\def\BoxSubTitle{#1},%
+ Logo=\def\BoxLogo{#1},%
+ ModifLabel=\def\BoxModifLabel{#1},%
+ HauteurLogo=\def\BoxHauteurLogo{#1},%
+ RotationLogo=\def\BoxRotationLogo{#1},%
+ OpaciteLogo=\def\BoxOpaciteLogo{#1}
+}
+\setKVdefault[Boites]{%
+ Pluriel=false,%
+ ComplementTitre={},%
+ SousTitre={},
+ Compteur=true,%
+ Logo={},%
+ ModifLabel={},%
+ HauteurLogo=24pt,%
+ RotationLogo=45,%
+ OpaciteLogo=0.33
+}
+
+\NewDocumentCommand\CreationBoite{ O{black} m m m m }{%
+ %1 = couleur
+ %2 = nom
+ %2 = compteur
+ %4 = icone
+ %5 = label singulier/pluriel
+ \CreerCompteur{#3}%
+ \NewDocumentEnvironment{#2}{ O{} D<>{} }%
+ %1 = clés
+ %2 = options spécifiques tcbox
+ {%
+ \useKVdefault[Boites]%
+ \setKV[Boites]{##1}%
+ \ifboolKV[Boites]{Compteur}{\stepcounter{#3}}{}%on augmente le compteur si demandé
+ \tcolorbox[baseboite,colframe=#1,##2,overlay={%
+ \IfStrEq{\BoxLogo}{}{}{\LogoCoinDroit}%logo
+ \tikzset{overlay=false}%
+ \TitreBoite{#1}{#4}{#5}{\arabic{#3}}%titre
+ \IfStrEq{\BoxSubTitle}{}{}{\SousTitreBoite}%soustitre
+ }%
+ ]%
+ }%
+ {\endtcolorbox}%
+}
+
+\endinput \ No newline at end of file
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index bea6bf9d186..25ebc06d7ed 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -231,7 +231,7 @@ my @TLP_working = qw(
courseoutline coursepaper
coverpage covington
cprotect cprotectinside cqubeamer cquthesis
- crbox create-theorem crefthe crimson crimsonpro crop
+ crbox create-theorem creationboites crefthe crimson crimsonpro crop
crossreference crossreftools crossrefenum crossrefware crossword crosswrd
crumbs cryptocode cryst
cs csassignments csbulletin cslatex csplain csquotes csquotes-de
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index f210f012807..eee14a62753 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1697,6 +1697,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`);
'context-games' => '&POSTcontext_games',
'coordsys' => '&POSTcoordsys',
'couleurs-fr' => '&POST_onelevel',
+ 'creationboites' => '&POST_onelevel',
'crossrefenum' => '&POSTcrossrefenum',
'ctanify' => '&POST_do_man',
'cs' => '&POSTcs',
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 7998e7bd316..fb8a3947c86 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -270,6 +270,7 @@ depend cprotect
depend cprotectinside
depend crbox
depend create-theorem
+depend creationboites
depend crefthe
depend crossreference
depend crossreftools
diff --git a/Master/tlpkg/tlpsrc/creationboites.tlpsrc b/Master/tlpkg/tlpsrc/creationboites.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/creationboites.tlpsrc