Tableau de compétence + question sur macro

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
ThomP
Utilisateur confirmé
Utilisateur confirmé
Messages : 21
Inscription : mardi 19 mai 2020, 14:51
Statut actuel : Enseignant
Localisation : Rhône Alpes

Tableau de compétence + question sur macro

Message par ThomP »

Bonjour,

Je me penche pour l'an prochain sur mes évaluations par compétence et j'ai trouvé ce fil :

viewtopic.php?t=16508

J'ai honteusement réutilisé la structure des commandes car c'est exactement (ou presque) ce tableau que je souhaite utiliser et que je ne comprenais pas comment faire (d'ailleurs, j'ai toujours du mal avec les \immediate\write)

Je cherche à réadapter certains trucs de la proposition du fil cité et je coince sur du cosmétique, peut-être pourriez vous m'aider ?
(ECM en bas)

Les nouvelles commandes définies ici :

Code : Tout sélectionner

\makeatletter
\newcommand{\sapproprier}{\marginpar{S $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\comps{(\thesection.\theenumi) }}}
\newcommand{\analyser}{\marginpar{A $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compa{(\thesection.\theenumi) }}}
\newcommand{\realiser}{\marginpar{R $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compr{(\thesection.\theenumi) }}}
\newcommand{\valider}{\marginpar{V $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compv{(\thesection.\theenumi) }}}
\newcommand{\communiquer}{\marginpar{C $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compc{(\thesection.\theenumi) }}}
\makeatotherr
Permettent après une seconde compilation de remplir un tableau avec les numéros des questions (1.5) par exemple. Mais pour le moment le comportement actuel empile les questions, exemple :

(1.3) (1.5) (1.6) (2.3)

Il fait un retour à la ligne quand il n'a plus de place dans la case et recommence.


Est-il possible, sans trop complexifier, de lui imposer un retour à la ligne quand on change d'exercice ?

Du type :
(1.3) (1.5)
(2.1)

(En cas de trop grand nombre de Q dans le premier exo il va à la ligne normalement)


Ensuite une question purement cosmétique :

Est-il possible simplement de centrer verticalement dans le tableau toutes les cellules d'un coup ?


Le code complet en mode "ECM" normalement (j'ai viré les images car j'ai rajouté des petites icones dans la colonne de gauche du tableau en dessous des titres des compétences)

Code : Tout sélectionner

\documentclass[a4paper,12pt]{article}

\usepackage[a4paper,margin=1.5cm,right=1.5cm,includehead,includefoot]{geometry} %formatage de la page
\usepackage{amssymb}
\usepackage{multicol}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{tabularx}
\usepackage{colortbl} 
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{graphicx}



%Pour tabularx
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{R}{>{\raggedright\arraybackslash}X}
\newcolumntype{L}{>{\raggedleft\arraybackslash}X}
\newcommand{\crh}{\\ \hline}





%%%%% LES COMPETENCES DANS LA MARGE

\newcommand*{\comps}{}
\newcommand*{\compa}{}
\newcommand*{\compr}{}
\newcommand*{\compv}{}
\newcommand*{\compc}{}

\makeatletter
\newcommand{\sapproprier}{\marginpar{S $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\comps{(\thesection.\theenumi) }}}
\newcommand{\analyser}{\marginpar{A $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compa{(\thesection.\theenumi) }}}
\newcommand{\realiser}{\marginpar{R $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compr{(\thesection.\theenumi) }}}
\newcommand{\valider}{\marginpar{V $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compv{(\thesection.\theenumi) }}}
\newcommand{\communiquer}{\marginpar{C $\Box$}%
\immediate\write\@auxout{\string\g@addto@macro\string\compc{(\thesection.\theenumi) }}}
\makeatother


\setlength{\parindent}{0mm}           


\begin{document}

\newcolumntype{s}{>{\hsize=.15\hsize}C}
\newcolumntype{f}{>{\hsize=.435\hsize}C}

\renewcommand{\arraystretch}{.5}
\begin{tabularx}{\linewidth}{|C|C|C|s|s|s|s|f|f|}
\hline
\hline
\rowcolor{gray!25} Compétences & Capacités & Questions &
\multicolumn{4}{|C|}{Appréciation du niveau d'acquisition} & \multicolumn{2}{|C|}{TIC} \crcr
\rowcolor{gray!25} &&&{\scriptsize NA}&{\scriptsize ECA}&{\scriptsize PA}&{\scriptsize A}&0&1 \crh
\cellcolor{gray!25} \textbf{S}'approprier 
 & {\footnotesize Rechercher, extraire et organiser l'information} & \comps &&&&&&\crh
\cellcolor{gray!25} \textbf{A}nalyser, raisonner  & {\footnotesize Émettre une conjecture, une hypothèse.Proposer une méthode de résolution, un protocole expérimental.}&\compa&&&&&&\crh
\cellcolor{gray!25} \textbf{R}éaliser   & {\footnotesize Choisir une méthode de résolution, un protocole expérimental. Exécuter une méthode de résolution, expérimenter, simuler.} &\compr&&&&&&\crh
\cellcolor{gray!25} \textbf{V}alider   & {\footnotesize Contrôler la vraisemblance d’une conjecture, d’une hypothèse. Critiquer un résultat, argumenter.} &\compv&&&&&&\crh
\cellcolor{gray!25} \textbf{C}ommuniquer   & {\footnotesize Rendre compte d’une démarche, d’un résultat, à l’oral ou à l’écrit.} &\compc&&&&&&\crh
\multicolumn{3}{|c|}{\LARGE\textbf{TOTAL}} & \multicolumn{4}{|c|}{\LARGE\textbf{\ldots\ldots / 7}}& \multicolumn{2}{|c|}{\LARGE\textbf{\ldots\ldots / 3}} \cr\hline
\multicolumn{3}{|c|}{\LARGE\textbf{TOTAL}} & \multicolumn{6}{|c|}{\LARGE\textbf{\ldots\ldots / 10}} \crh
\end{tabularx}


\begin{center}
\begin{small}
NA : non acquis - ECA : en cours d'acquisition - PA : partiellement acquis  - A : acquis
\end{small}
\end{center}


\section{Première partie}

\begin{enumerate}
\item première question \sapproprier
\item deuxième question \realiser
\item troisième question \valider
\item quatrième question \communiquer
\item  tst \valider
\item test \valider
\end{enumerate}
\section{Deuxième partie}

\begin{enumerate}
\item première question \sapproprier
\item deuxième question \analyser
\item troisième question \valider \realiser
\item quatrième question \communiquer
\end{enumerate}
\end{document}


J'ai une dernière question qui n'a rien à voir avec ce tableau,

J'aurai besoin de définir quelque part dans mon document une variable et de l'appeler ensuite.

exemple : \matiere{physique}
ou : \matire{chimie}

et plus loin dans le document si je tape un texte comme ça : Il était une fois une petite \matiere qui était très intéressante, il remplacerait par physique ou chimie selon ce qui est réglé.

Pour le moment, je triche un peu en utilisant la commande \author{}et en l'appelant via \theauthor.

C'est possible de créer une commande personnalisée avec ce comportement ? Cela me serait bien utile !
J'ai testé mais bon, pas très probant ... !

Merci d'avance pour l'aide :)

balf
Utilisateur chevronné
Utilisateur chevronné
Messages : 3985
Inscription : mercredi 02 janvier 2008, 23:18

Re: Tableau de compétence + question sur macro

Message par balf »

Bonsoir,

Je peux au moins répondre à la question purement cosmétique: pour centrer verticalement toutes les cellules d'un seul coup, d'un seul, il suffit de redéfinir les colonnes de type X, comme suit :

Code : Tout sélectionner

\renewcommand{\tabularxcolumn}[1]{>{\arraybackslash}m{#1}}
Cela étant, je ne comprends pas trop les coefficients employés pour \hsize. Le somme de ces coefficients doit être égale au nombre total de colonnes de type X. Vous cherchez à réaliser quels rapports de largeurs, au juste ? Aussi, la valeur choisie pour \arraystretch (qui devrait d'ailleurs être requalifié de \arrayshrink…) fait paraître le tableau terriblement étriqué — on dirait qu'il a rétréci au lavage.

B. A.

ThomP
Utilisateur confirmé
Utilisateur confirmé
Messages : 21
Inscription : mardi 19 mai 2020, 14:51
Statut actuel : Enseignant
Localisation : Rhône Alpes

Re: Tableau de compétence + question sur macro

Message par ThomP »

En fait je tente de reproduire en LaTeX le cartouche et le document type pour les examens,

Les valeurs des coeffs de hsize je les ai bricolé pour qu'il n'y ait aucune zone blanche dans le tableau mais j'ai encore des trucs qui clochent un peu
Image

J'avais bien vu qu'il fallait que le total soit égal au nombre de colonne mais si je le fais j'obtiens des horreurs

Image

Merci pour le centrage cela fonctionne !