% Author : C. Pierquet % licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf % licence svg : CC BY-SA 3.0 https://fr.wikipedia.org/wiki/Fichier:Judo_yellow_belt.svg % : Tks to Sascha Christmann for "in betweeen" colors \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{coloredbelts}[2024/11/04 0.1.1 Colored Judo's belts] %====HISTORIQUE % v 0.1.1 Couleurs duo % v 0.1.0 Version initiale %====BASE \RequirePackage{graphicx} %\RequirePackage{tikz} \RequirePackage{xstring} \RequirePackage{calc} \RequirePackage{simplekv} %====DIMENSIONS \newlength{\tmp@ceinture@hauteur@totale} \newlength{\tmp@ceinture@profondeur} %====CLÉS \defKV[ceinturejudo]{Hauteur=\def\judobeltheight{#1},DecalV=\def\judobeltraise{#1}} \setKVdefault[ceinturejudo]{Hauteur=auto,DecalV=0pt} %====COMMANDE \NewDocumentCommand\CeintureCouleur{ s O{} m }{% %gestion des couleurs \def\tmp@ceinture@couleur{yellow}% \IfStrEq{#3}{white}{\def\tmp@ceinture@couleur{white}}{}% \IfStrEq{#3}{blanc}{\def\tmp@ceinture@couleur{white}}{}% \IfStrEq{#3}{jaune}{\def\tmp@ceinture@couleur{yellow}}{}% \IfStrEq{#3}{yellow}{\def\tmp@ceinture@couleur{yellow}}{}% \IfStrEq{#3}{orange}{\def\tmp@ceinture@couleur{orange}}{}% \IfStrEq{#3}{red}{\def\tmp@ceinture@couleur{red}}{}% \IfStrEq{#3}{rouge}{\def\tmp@ceinture@couleur{red}}{}% \IfStrEq{#3}{bleu}{\def\tmp@ceinture@couleur{blue}}{}% \IfStrEq{#3}{blue}{\def\tmp@ceinture@couleur{blue}}{}% \IfStrEq{#3}{purple}{\def\tmp@ceinture@couleur{purple}}{}% \IfStrEq{#3}{violet}{\def\tmp@ceinture@couleur{purple}}{}% \IfStrEq{#3}{marron}{\def\tmp@ceinture@couleur{brown}}{}% \IfStrEq{#3}{brown}{\def\tmp@ceinture@couleur{brown}}{}% \IfStrEq{#3}{green}{\def\tmp@ceinture@couleur{green}}{}% \IfStrEq{#3}{vert}{\def\tmp@ceinture@couleur{green}}{}% \IfStrEq{#3}{rose}{\def\tmp@ceinture@couleur{pink}}{}% \IfStrEq{#3}{pink}{\def\tmp@ceinture@couleur{pink}}{}% \IfStrEq{#3}{gris}{\def\tmp@ceinture@couleur{gray}}{}% \IfStrEq{#3}{gray}{\def\tmp@ceinture@couleur{gray}}{}% \IfStrEq{#3}{noir}{\def\tmp@ceinture@couleur{black}}{}% \IfStrEq{#3}{black}{\def\tmp@ceinture@couleur{black}}{}% \IfStrEq{#3}{white-yellow}{\def\tmp@ceinture@couleur{white-yellow}}{}% \IfStrEq{#3}{blanc-jaune}{\def\tmp@ceinture@couleur{white-yellow}}{}% \IfStrEq{#3}{yellow-orange}{\def\tmp@ceinture@couleur{yellow-orange}}{}% \IfStrEq{#3}{jaune-orange}{\def\tmp@ceinture@couleur{yellow-orange}}{}% \IfStrEq{#3}{orange-green}{\def\tmp@ceinture@couleur{orange-green}}{}% \IfStrEq{#3}{orange-vert}{\def\tmp@ceinture@couleur{orange-green}}{}% \IfStrEq{#3}{green-blue}{\def\tmp@ceinture@couleur{green-blue}}{}% \IfStrEq{#3}{vert-bleu}{\def\tmp@ceinture@couleur{green-blue}}{}% \IfStrEq{#3}{purple-brown}{\def\tmp@ceinture@couleur{purple-brown}}{}% \IfStrEq{#3}{violet-marron}{\def\tmp@ceinture@couleur{purple-brown}}{}% \IfStrEq{#3}{blue-brown}{\def\tmp@ceinture@couleur{blue-brown}}{}% \IfStrEq{#3}{bleu-marron}{\def\tmp@ceinture@couleur{blue-brown}}{}% \IfStrEq{#3}{blue-purple}{\def\tmp@ceinture@couleur{blue-purple}}{}% \IfStrEq{#3}{bleu-violet}{\def\tmp@ceinture@couleur{blue-purple}}{}% \IfStrEq{#3}{brown-black}{\def\tmp@ceinture@couleur{brown-black}}{}% \IfStrEq{#3}{marron-noir}{\def\tmp@ceinture@couleur{brown-black}}{}% %étoilée := includegraphics simple \IfBooleanTF{#1}% {% \includegraphics[#2]{judobelt-\tmp@ceinture@couleur.pdf} }% {% \useKVdefault[ceinturejudo]% \setKV[ceinturejudo]{#2}% \IfStrEq{\judobeltheight}{auto}% {% %hauteur auto \settototalheight{\tmp@ceinture@hauteur@totale}{\hbox{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}}% \settodepth{\tmp@ceinture@profondeur}{\hbox{abcdefghijklmnopqrstuvwxyz}}% \raisebox{-\tmp@ceinture@profondeur+0.025\tmp@ceinture@hauteur@totale}{\includegraphics[height=0.95\tmp@ceinture@hauteur@totale]{judobelt-\tmp@ceinture@couleur.pdf}}% }% {% \raisebox{\judobeltraise}{\includegraphics[height=\judobeltheight]{judobelt-\tmp@ceinture@couleur.pdf}}% }% }% } %====CLÉS \defKV[judobelt]{Height=\def\judobeltheight{#1},OffsetV=\def\judobeltraise{#1}} \setKVdefault[judobelt]{Height=auto,OffsetV=0pt} %====COMMANDE \NewDocumentCommand\ColorBelt{ s O{} m }{% %gestion des couleurs \def\tmp@ceinture@couleur{yellow}% \IfStrEq{#3}{white}{\def\tmp@ceinture@couleur{white}}{}% \IfStrEq{#3}{blanc}{\def\tmp@ceinture@couleur{white}}{}% \IfStrEq{#3}{jaune}{\def\tmp@ceinture@couleur{yellow}}{}% \IfStrEq{#3}{yellow}{\def\tmp@ceinture@couleur{yellow}}{}% \IfStrEq{#3}{orange}{\def\tmp@ceinture@couleur{orange}}{}% \IfStrEq{#3}{red}{\def\tmp@ceinture@couleur{red}}{}% \IfStrEq{#3}{rouge}{\def\tmp@ceinture@couleur{red}}{}% \IfStrEq{#3}{bleu}{\def\tmp@ceinture@couleur{blue}}{}% \IfStrEq{#3}{blue}{\def\tmp@ceinture@couleur{blue}}{}% \IfStrEq{#3}{purple}{\def\tmp@ceinture@couleur{purple}}{}% \IfStrEq{#3}{violet}{\def\tmp@ceinture@couleur{purple}}{}% \IfStrEq{#3}{marron}{\def\tmp@ceinture@couleur{brown}}{}% \IfStrEq{#3}{brown}{\def\tmp@ceinture@couleur{brown}}{}% \IfStrEq{#3}{green}{\def\tmp@ceinture@couleur{green}}{}% \IfStrEq{#3}{vert}{\def\tmp@ceinture@couleur{green}}{}% \IfStrEq{#3}{rose}{\def\tmp@ceinture@couleur{pink}}{}% \IfStrEq{#3}{pink}{\def\tmp@ceinture@couleur{pink}}{}% \IfStrEq{#3}{gris}{\def\tmp@ceinture@couleur{gray}}{}% \IfStrEq{#3}{gray}{\def\tmp@ceinture@couleur{gray}}{}% \IfStrEq{#3}{noir}{\def\tmp@ceinture@couleur{black}}{}% \IfStrEq{#3}{black}{\def\tmp@ceinture@couleur{black}}{}% \IfStrEq{#3}{white-yellow}{\def\tmp@ceinture@couleur{white-yellow}}{}% \IfStrEq{#3}{blanc-jaune}{\def\tmp@ceinture@couleur{white-yellow}}{}% \IfStrEq{#3}{yellow-orange}{\def\tmp@ceinture@couleur{yellow-orange}}{}% \IfStrEq{#3}{jaune-orange}{\def\tmp@ceinture@couleur{yellow-orange}}{}% \IfStrEq{#3}{orange-green}{\def\tmp@ceinture@couleur{orange-green}}{}% \IfStrEq{#3}{orange-vert}{\def\tmp@ceinture@couleur{orange-green}}{}% \IfStrEq{#3}{green-blue}{\def\tmp@ceinture@couleur{green-blue}}{}% \IfStrEq{#3}{vert-bleu}{\def\tmp@ceinture@couleur{green-blue}}{}% \IfStrEq{#3}{purple-brown}{\def\tmp@ceinture@couleur{purple-brown}}{}% \IfStrEq{#3}{violet-marron}{\def\tmp@ceinture@couleur{purple-brown}}{}% \IfStrEq{#3}{blue-brown}{\def\tmp@ceinture@couleur{blue-brown}}{}% \IfStrEq{#3}{bleu-marron}{\def\tmp@ceinture@couleur{blue-brown}}{}% \IfStrEq{#3}{blue-purple}{\def\tmp@ceinture@couleur{blue-purple}}{}% \IfStrEq{#3}{bleu-violet}{\def\tmp@ceinture@couleur{blue-purple}}{}% \IfStrEq{#3}{brown-black}{\def\tmp@ceinture@couleur{brown-black}}{}% \IfStrEq{#3}{marron-noir}{\def\tmp@ceinture@couleur{brown-black}}{}% %étoilée := includegraphics simple \IfBooleanTF{#1}% {% \includegraphics[#2]{judobelt-\tmp@ceinture@couleur.pdf} }% {% \useKVdefault[judobelt]% \setKV[judobelt]{#2}% \IfStrEq{\judobeltheight}{auto}% {% %hauteur auto \settototalheight{\tmp@ceinture@hauteur@totale}{\hbox{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}}% \settodepth{\tmp@ceinture@profondeur}{\hbox{abcdefghijklmnopqrstuvwxyz}}% \raisebox{-\tmp@ceinture@profondeur+0.025\tmp@ceinture@hauteur@totale}{\includegraphics[height=0.95\tmp@ceinture@hauteur@totale]{judobelt-\tmp@ceinture@couleur.pdf}}% }% {% \raisebox{\judobeltraise}{\includegraphics[height=\judobeltheight]{judobelt-\tmp@ceinture@couleur.pdf}}% }% }% } \endinput