J'ai créé une commande qui permet de dessiner, dans un environnement Je souhaite pouvoir afficher la dureté de la mine grâce à l'option \define@choicekey[DES]{Criterium}{Durete}[]{HB,F,H,2H,3H,4H,2B,B}[HB]{}. Mais cela ne fonctionne pas : plus précisément, si je renseigne une valeur qui n'appartient pas à la liste, celle-ci est quand même affichée alors que je voudrais que cela ne soit pas possible, seules les valeurs prédéfinies devraient pouvoir être utilisées. Quel est le problème dans la ligne du code source ? |
Voici une solution dans un exemple minimal mais, comme signalé par @Paul Gaborit en commentaire, l'utilisation de \documentclass{article} \usepackage{xkeyval} \makeatletter \define@choicekey[DES]{Criterium}{Durete}{HB,F,H,2H,3H,4H,2B,B}[HB]{\def\cmdDES@Criterium@Durete{#1}} \presetkeys[DES]{Criterium}{Durete}{} \newcommand{\Criterium}[1][]{% \setkeys[DES]{Criterium}{#1}% critérium de dureté \cmdDES@Criterium@Durete } \makeatother \begin{document} Sans option : \Criterium Avec option mais sans clé : \Criterium[Durete] Avec option dans la liste : \Criterium[Durete=2B] % Avec option mais qui n'est pas dans la liste : \Criterium[Durete=P] \end{document} Premièrement avec ta ligne d'exemple Deuxièmement, Finalement je ne vois comment une mauvaise valeur ne lèverait pas d'erreur, un exemple semble nécessaire. Publiée 30 Avr '22, 00:36 YannD |
Merci de voir https://texnique.fr/osqa/faq/#custom-id-mise-en-forme
@pdesmons — expliquer aux lecteurs qu'un critérium est un crayon serait utile, à mon avis : tout le monde ne sait pas ce que c'est.
Juste une remarque: utiliser
xkeyval
dans le cadre de TikZ me semble une hérésie. Le mécanisme de clé/valeur de TikZ (pgfkeys
) est bien plus puissant, simple et adapté.