% !TeX TXS-program:compile = txs:///arara
% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
% arara: pdflatex: {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{DejaVuSerif}
%\usepackage[scale=1.125]{inconsolata}
\usepackage{pgffor}
\usepackage{coloredbelts}
\usepackage{enumitem}
\usepackage{soul}
\usepackage{codehigh}
\usepackage{multicol}
\usepackage{tabularray}
\usepackage{fontawesome5}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
%\rhead{\sffamily\small\affloetalab[Legende]}
\lfoot{\sffamily\small [coloredbelts]}
\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=2cm]{geometry}
\setlength{\parindent}{0pt}

\def\TPversion{0.1.1}
\def\TPdate{04 novembre 2024}
\def\HtRet{0.45}\def\LgRect{1.5}
\usepackage{tcolorbox}

\def\ListeTailleTexte{tiny,scriptsize,footnotesize,small,normalsize,large,large,LARGE,huge,Huge}

\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
	\hl{\vphantom{\texttt{pf}}\texttt{#1}}%
}

\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{coloredbelts}}\\
				\\
				{\LARGE Des ceintures colorées, au format vectoriel,} \\
				\\
				{\LARGE pour présenter des compétences, par exemple.} \\
				\\
				{\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/coloredbelts}}
\end{tabular}
\end{center}

\hrule

\phantomsection

\hypertarget{matoc}{}

\tableofcontents

\vspace*{5mm}

\hrule

\vspace*{5mm}

\vfill

\begin{tcolorbox}[colframe=lightgray,colback=lightgray!10]
\hfill
{\Huge\CeintureCouleur[Hauteur=2cm]{red}~\CeintureCouleur[Hauteur=2cm]{jaune-orange}}
\hfill~

\bigskip

\hfill\foreach \couleur in {blanc,jaune,orange,rouge,rose,vert,bleu,marron,violet,gris,noir}{{\LARGE\sffamily\CeintureCouleur{\couleur}\,}}\hfill~

\bigskip

\hfill{\Huge\rotatebox[origin=c]{45}{\CeintureCouleur{vert}}\:\rotatebox[origin=c]{-45}{\CeintureCouleur{bleu}}\:\rotatebox[origin=c]{45}{\CeintureCouleur{violet-marron}}}\hfill~
\end{tcolorbox}

\vfill~

\pagebreak

\section{Le package coloredbelts}

\subsection{Idées}

L'idée est de pouvoir intégrer, dans un document \LaTeX, un pictogramme type \textit{ceinture colorée} pour présenter par exemple des niveaux de compétences.

\medskip

Les logos sont au format (vectoriel) \MontreCode{pdf}, et ont été obtenus à partir d'un fichier \MontreCode{svg}, diffusé sous licence CC BY-SA 3.0 (\url{https://fr.wikipedia.org/wiki/Fichier:Judo_yellow_belt.svg}). Le fichier a servi de base pour les différents coloris.

\medskip

Je remercie Sascha Christmann pour sa contibrution aux ceintures bicolores (les deux versions n'ont pas les mêmes dimensions initiales, donc attention avec l'utilisation d'un \MontreCode{scale}).

\subsection{Chargement}

Le package se charge dans le préambule, via \MontreCode{\textbackslash usepackage\{coloredbelts\}}.

Les seuls packages chargés sont \MontreCode{graphicx}, \MontreCode{calc} et \MontreCode{simplekv} et \MontreCode{xstring}.

\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
\usepackage{coloredbelts}
\end{codehigh}

\section{La commande}

\subsection{Masque de nommage des fichiers}

Chaque logo est nommé sous la forme \MontreCode{judobelt-<couleur(s)>.pdf}, de sorte que les pictogrammes peuvent être insérés directement via la commande \MontreCode{\textbackslash includegraphics} \textit{classique}.

\begin{demohigh}[language=latex/latex3,style/main=cyan!10,style/code=cyan!10,style/demo=cyan!10]
\includegraphics[height=5cm]{judobelt-yellow.pdf}\par
\includegraphics[width=4cm]{judobelt-pink.pdf}\par
\includegraphics[width=3cm]{judobelt-orange-green.pdf}
\end{demohigh}

\subsection{Fonctionnement}

La commande dédiée à un affichage \textit{en ligne} est \MontreCode{\textbackslash CeintureCouleur}.

\begin{codehigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
\CeintureCouleur(*)[options]{couleur}
\end{codehigh}

La version étoilée correspond en fait à un \textit{alias} d'un \MontreCode{\textbackslash includegraphics}, avec les paramètres optionnels entre \MontreCode{[...]}.

\medskip

Concernant les options de la version non étoilée :

\begin{itemize}[leftmargin=*]
	\item la cle \MontreCode{Hauteur} permet de :
	\begin{itemize}
		\item spécifier une hauteur automatique, via \MontreCode{auto}, au quel cas le code se charge de positionner la ceinture en fonction de la fonte et de la taille du texte courant (95\,\% de la hauteur globale des lettres + léger décalage vertical) ;
		\item ou bien de spécifier une hauteur globale ;
	\end{itemize}
	\item la clé \MontreCode{DecalV} (sans hauteur automatique) permet de décaler verticalement le pictogramme.
\end{itemize}

Les couleurs diponibles sont :

\begin{itemize}
	\item \CeintureCouleur{blanc} : \texttt{blanc} ;
	\item \CeintureCouleur{jaune}  : \texttt{jaune} ;
	\item \CeintureCouleur{orange}  : \texttt{orange} ;
	\item \CeintureCouleur{rouge}  : \texttt{rouge} ;
	\item \CeintureCouleur{rose}  : \texttt{rose} ;
	\item \CeintureCouleur{vert}  : \texttt{vert} ;
	\item \CeintureCouleur{bleu}  : \texttt{bleu} ;
	\item \CeintureCouleur{marron}  : \texttt{marron} ;
	\item \CeintureCouleur{violet}  : \texttt{violet} ;
	\item \CeintureCouleur{gris}  : \texttt{gris} ;
	\item \CeintureCouleur{noir}  : \texttt{noir} ;
	\item \CeintureCouleur{blanc-jaune}  : \texttt{blanc-jaune} ;
	\item \CeintureCouleur{jaune-orange}  : \texttt{jaune-orange} ;
	\item \CeintureCouleur{orange-vert}  : \texttt{orange-vert} ;
	\item \CeintureCouleur{vert-bleu}  : \texttt{vert-bleu} ;
	\item \CeintureCouleur{violet-marron}  : \texttt{violet-marron} ;
	\item \CeintureCouleur{bleu-marron}  : \texttt{bleu-marron} ;
	\item \CeintureCouleur{bleu-violet}  : \texttt{bleu-violet} ;
	\item \CeintureCouleur{marron-noir}  : \texttt{marron-noir}.
\end{itemize}

\medskip

\begin{tblr}{hlines,width=\linewidth,colspec={Q[l,m]X[l,m]},row{1}={magenta!10},row{2-Z}={cyan!10}}
	\SetCell[r=1,c=2]{c,m} \fakeverb{\CeintureCouleur} & \\
	{\tiny\fakeverb{\tiny}} & {\tiny Essai de logo \CeintureCouleur{red} en ligne} \\
	{\scriptsize\fakeverb{\scriptsize}} & {\scriptsize Essai de \CeintureCouleur{red} en ligne} \\
	{\footnotesize\fakeverb{\footnotesize}} & {\footnotesize Essai de \CeintureCouleur{red} en ligne} \\
	{\small\fakeverb{\small}} & {\small Essai de \CeintureCouleur{red} en ligne} \\
	{\normalsize\fakeverb{\normalsize}} & {\normalsize Essai de \CeintureCouleur{red} en ligne} \\
	{\large\fakeverb{\large}} & {\large Essai de \CeintureCouleur{red} en ligne} \\
	{\Large\fakeverb{\Large}} & {\Large Essai de \CeintureCouleur{red} en ligne} \\
	{\LARGE\fakeverb{\LARGE}} & {\LARGE Essai de \CeintureCouleur{red} en ligne} \\
	{\huge\fakeverb{\huge}} & {\huge Essai de \CeintureCouleur{red} en ligne} \\
	{\Huge\fakeverb{\Huge}} & {\Huge Essai de \CeintureCouleur{red} en ligne} \\
\end{tblr}

\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
{\Huge\rotatebox[origin=c]{30}{\CeintureCouleur{marron}}\:
\rotatebox[origin=c]{-45}{\CeintureCouleur{bleu}}}
\end{demohigh}

\begin{demohigh}[language=latex/latex2,style/main=cyan!10,style/code=cyan!10]
\CeintureCouleur*[scale=0.25]{orange}\par
\CeintureCouleur*[scale=0.15]{yellow}\par
\CeintureCouleur*[scale=0.3]{vert-bleu}
\end{demohigh}

\vfill

\section{Historique}

\verb|v0.1.1|~:~~~~Couleur "duo"

\verb|v0.1.0|~:~~~~Version initiale

\vspace*{15mm}

\end{document}