texlive[68087] Master: creationboites (27aug23)

commits+karl at tug.org commits+karl at tug.org
Sun Aug 27 21:53:19 CEST 2023


Revision: 68087
          http://tug.org/svn/texlive?view=revision&revision=68087
Author:   karl
Date:     2023-08-27 21:53:19 +0200 (Sun, 27 Aug 2023)
Log Message:
-----------
creationboites (27aug23)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/creationboites/
    trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf
    trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex
    trunk/Master/texmf-dist/doc/latex/creationboites/README.md
    trunk/Master/texmf-dist/tex/latex/creationboites/
    trunk/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty
    trunk/Master/tlpkg/tlpsrc/creationboites.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf	2023-08-27 14:18:33 UTC (rev 68086)
+++ trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf	2023-08-27 19:53:19 UTC (rev 68087)

Property changes on: trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex	2023-08-27 19:53:19 UTC (rev 68087)
@@ -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


Property changes on: trunk/Master/texmf-dist/doc/latex/creationboites/CreationBoites-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/creationboites/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/creationboites/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/creationboites/README.md	2023-08-27 19:53:19 UTC (rev 68087)
@@ -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 at 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


Property changes on: trunk/Master/texmf-dist/doc/latex/creationboites/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty	2023-08-27 19:53:19 UTC (rev 68087)
@@ -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


Property changes on: trunk/Master/texmf-dist/tex/latex/creationboites/CreationBoites.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2023-08-27 14:18:33 UTC (rev 68086)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2023-08-27 19:53:19 UTC (rev 68087)
@@ -231,7 +231,7 @@
     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

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2023-08-27 14:18:33 UTC (rev 68086)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2023-08-27 19:53:19 UTC (rev 68087)
@@ -1697,6 +1697,7 @@
  'context-games'	=> '&POSTcontext_games',
  'coordsys'		=> '&POSTcoordsys',
  'couleurs-fr'		=> '&POST_onelevel',
+ 'creationboites'	=> '&POST_onelevel',
  'crossrefenum'		=> '&POSTcrossrefenum',
  'ctanify'		=> '&POST_do_man',
  'cs'			=> '&POSTcs',

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2023-08-27 14:18:33 UTC (rev 68086)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2023-08-27 19:53:19 UTC (rev 68087)
@@ -270,6 +270,7 @@
 depend cprotectinside
 depend crbox
 depend create-theorem
+depend creationboites
 depend crefthe
 depend crossreference
 depend crossreftools

Added: trunk/Master/tlpkg/tlpsrc/creationboites.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.