Le package moderncv propose une présentation synthétique des compétences, sous la forme de petits carrés colorés (ou pas) selon le niveau estimé (voir le template qui m'a servi de modèle).

Cinq catégories sont ainsi offertes, mais j'aimerais savoir comment n'en avoir que trois (par exemple), avec trois carrés pour chacune : disons « nullos », « moyen », « balèze ».

Tentative de conversion du template en ECM :

\documentclass{moderncv} 
     \moderncvstyle{casual}

     % personal data
          \name{Marcel}{Duschmoll}
          \title{Expert omniscient intergalactique}

\begin{document}
     \makecvtitle
     \section{Compétences}
          \cvskillplainlegend[0.5em][Nullos][Moyen][Balèze][][]{}
          \setcvskilllegendcolumns[][0.7]

          \cvskillentry{Langues}{3}{Anglais}{}{Lu, parlé, écrit}
          \cvskillentry{}{2}{\LaTeX}{}{}
          \cvskillentry{Syst. d'expl.}{3}{Debian}{}{}
          \cvskillentry{Sports}{1}{Billes}{}{}
\end{document}

Posée 21 Oct '22, 15:54

fred02840's gravatar image

fred02840
4.2k30164189
Taux d'acceptation : 16%

Modifiée 24 Oct '22, 17:38

1

@fred02840 : vu la longueur dudit template, je comprends que vous ne l'ayez pas publié ici !

Mais avez-vous essayé de rédiger un ECM ? Il m'est souvent arrivé de trouver la solution à un problème en rédigeant un ECM pour le présenter !

(22 Oct '22, 19:29) Pathe ♦♦ Pathe's gravatar image
1

Oui, j'ai moi aussi constaté qu'un ECM aidait à trouver une solution, cher @Pathe. Il se trouve, dans le corps de ma question, un lien vers le template qui m'a servi de modèle (qui n'est effectivement pas « minimal »). Comme il suffit de cliquer pour le découvrir, j'ai pensé que cela suffisait… Mal m'en a pris : j'acquiesce donc bien volontiers.

(24 Oct '22, 17:15) fred02840 fred02840's gravatar image
1

@fred02840 : je comprends beaucoup mieux à présent. Et je crains que cela ne dépasse mes compétences. Ce Marcel, c'est un ami à vous ?

(25 Oct '22, 15:41) Pathe ♦♦ Pathe's gravatar image

@Pathe : un ami très modeste, en tout cas…

(26 Oct '22, 11:09) fred02840 fred02840's gravatar image
1

La ligne 257 du fichier /usr/local/texlive/2022/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty contient ceci :

\my@repeat@count=\numexpr5-\z@\relax

Ce \numexpr5 ne contiendrait-il pas la variable recherchée ?

Bon, évidemment, la modifier risque de créer des problèmes : que ferait le package des instructions relatives aux cases 4 & 5 ?

Vous pouvez aussi poser la question à l'auteur du package... ou plutôt à celui du package limecv, dont vient l'environnement skills.

(26 Oct '22, 11:49) Pathe ♦♦ Pathe's gravatar image
1

@Pathe : je n'ai jamais osé mettre le nez dans les fichiers .sty. Je le tente, mais contacte aussi l'auteur du paquet.

(26 Oct '22, 13:14) fred02840 fred02840's gravatar image
Affichage de 5 parmi 6 Afficher 1 commentaire(s) en plus

Voici une solution (rapide).

Il faut redéfinir les deux commandes suivantes \cvskillplainlegend et \cvskill, puis il faut redéfinir la commande \cvskill@width.

Remarques. Suite à ces modifications les deux versions, étoilée et sans étoile, de la commande \cvskillplainlegend sont identiques.

La modification de \cvskill@width peut influencer d'autres paramètres.

La modification de \cvskill@width n'est valable qu'après makecvtitle! (je n'est pas vérifié le code).

Les changements sont valables pour le style de l'ecm proposé.

ECM.

\documentclass{moderncv} 
\moderncvstyle{casual}

\makeatletter
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
\begingroup
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
        @{\hspace{\separatorcolumnwidth}}
        p{\cvskill@width}@{\hspace{2\skilllegend@padding}}
        p{\cvskilllegend@leftdescriptorwidth}@{}}
    \raggedleft\hintstyle{#8}  & \cvskill{1} & {\skillLegend@FontSize #3} \\
    & \cvskill{2} & {\skillLegend@FontSize #4}  \\      
    & \cvskill{3} & {\skillLegend@FontSize #5 }  
\end{tabular}%
\endgroup
\par\addvspace{#2}%
}

\RenewDocumentCommand{\cvskill}{m}{%
\begingroup
\my@repeat@count=\z@
\@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
    \my@repeat@count\@ne\,}%
\my@repeat@count=\numexpr3-\z@\relax
\@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
    \my@repeat@count\m@ne\,}%
\endgroup
}
\makeatother

% personal data
\name{Marcel}{Duschmoll}
\title{Expert omniscient intergalactique}

\begin{document}
\makecvtitle

\makeatletter
\setlength{\cvskill@width}{\widthof{\cvskill{3}}}
\makeatother
\section{Compétences}
\cvskillplainlegend[0.5em][Nullos][Moyen][Balèze][][]{}
\setcvskilllegendcolumns[][0.7]

\cvskillentry{Langues}{3}{Anglais}{}{Lu, parlé, écrit}
\cvskillentry{}{2}{\LaTeX}{}{}
\cvskillentry{Syst. d'expl.}{3}{Debian}{}{}
\cvskillentry{Sports}{1}{Billes}{}{}

\end{document}
Lien permanent

Publiée 27 Oct '22, 07:52

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

1

@touhami : mais vous aussi, vous connaissez ce Marcel ! Vous vous intéressez à l'omniscience intergalactique ?

(27 Oct '22, 12:04) Pathe ♦♦ Pathe's gravatar image

Décidément, il a une réputation vraiment universelle, ce Marcel. Serait-ce un nouveau Jean-Baptiste Botul, latexien à ses heures ? Voir ici et .

(27 Oct '22, 16:08) fred02840 fred02840's gravatar image

Merveilleux ! Merci de faire progresser la science en nous confiant ces liens, @fred02840 !

(27 Oct '22, 16:23) Pathe ♦♦ Pathe's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.