[Résolu] Mise en valeur d'une cellule (tableau + datatool)

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Mise en valeur d'une cellule (tableau + datatool)

Messagepar Arathorn » Dimanche 10 Mars 2019, 16:59

Bonjour,

Je bloque sur quelques points avec ce tableau.
  1. Comment mettre en évidence la valeur 440 Hz (gras ou cellule colorée) ? Si j'écris \textbf{440.00} dans le filecontents, ce n'est plus aligné et le point apparaît à la place de la virgule.
  2. J'ai mis \toprule à la ligne 52 car l'espacement vertical ne fonctionne pas pour le premier trait du tableau. Est-ce la solution à mettre en œuvre ?
  3. Les traits verticaux sont positionnés sur Hz. Est-il possible de les mettre entre deux colonnes ? Depuis que j'ai lu la documentation de booktabs en français, je n'en mets plus mais j'ai l'impression que les collégiens sont perdus dans la lecture.
  4. J'ai tapé @{\extracolsep{\fill}} sinon dans les dernières colonnes les chiffres étaient collés à Hz de la colonne précédente. Est-ce la solution à mettre en œuvre ?

Code: Tout sélectionner
\documentclass[12pt,a4paper,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{siunitx,filecontents,datatool,booktabs,hhline}
\usepackage{cellspace}

\sisetup{locale = FR,detect-all,quotient-mode=fraction,input-product=*, list-final-separator = { \translate{et} },%
   list-pair-separator = { \translate{et} },range-phrase = { \translate{à} },separate-uncertainty =false,%
   group-minimum-digits=3,per-mode=symbol}
\usepackage[width=21.00cm, height=29.70cm, left=1.00cm, right=1.00cm, top=1.00cm, bottom=1.00cm]{geometry}
\pagestyle{empty}

\begin{document}

 \begin{filecontents*}{gammeTemperee.csv}
    C\phantom{\#} do,32.70,65.41,130.81,261.63,523.25,1046.50,2093.00,4185.01
    C\# do\#,34.65,69.30,138.59,277.18,554.37,1108.73,2217.46,4434.92
    D\phantom{\#} ré,36.71,73.42,146.83,293.66,587.33,1174.66,2349.32,4698.64
    D\# ré\#,38.89,77.78,155.56,311.13,622.25,1244.51,2489.01,4978.03
    E\phantom{\#} mi,41.20,82.41,164.81,329.63,659.26,1318.51,2637.02,5274.04
    F\phantom{\#} fa,43.65,87.31,174.61,349.23,698.46,1396.91,2793.83,5587.65
    F\# fa\#,46.25,92.50,185.00,369.99,739.99,1479.98,2959.96,5919.91
    G\phantom{\#} sol,49.00,98.00,196.00,392.00,783.91,1567.88,3135.96,6271.93
    G\# sol\#,51.91,103.83,207.65,415.30,830.61,1661.22,3322.44,6644.88
    A\phantom{\#} la,55.00,110.00,220.00,440.00,880.00,1760.00,3520.00,7040.00
    A\# la\#,58.27,116.54,233.08,466.16,932.33,1864.66,3729.31,7458.62
    B\phantom{\#} si,61.74,123.47,246.94,493.88,987.77,1975.53,3951.07,7902.13
 \end{filecontents*}
 
\DTLloaddb[noheader,keys={note,octaveZero,octaveUn,octaveDeux,octaveTrois,octaveQuatre,octaveCinq,octaveSix,octaveSept}%
 ]{Notes}{gammeTemperee.csv}

 \begin{center}
%   \sisetup{group-minimum-digits=5}
%\renewcommand\arraystretch{1.25}
\cellspacetoplimit=5pt
\cellspacebottomlimit=5pt
\noindent%
\begin{tabular*}{\linewidth}{C{l}
%*{8}{S[table-format=5.2]<{\,\si{\hertz}}}   
@{\extracolsep{\fill}}
S[table-format=2.2]<{\,\si{\hertz}} %
S[table-format=3.2]<{\,\si{\hertz}}%
S[table-format=3.2]<{\,\si{\hertz}}%
S[table-format=3.2,]<{\,\si{\hertz}}%
S[table-format=3.2]<{\,\si{\hertz}}%
S[table-format=4.2]<{\,\si{\hertz}}%
S[table-format=4.2]<{\,\si{\hertz}}%
S[table-format=4.2]<{\,\si{\hertz}}%
%   @{\extracolsep{0pt}}%
}
\toprule%   \hline
   &   \multicolumn{8}{c}{\textbf{octave}}\\
\cline{2-9}
\textbf{note} & \multicolumn{1}{c}{\textbf{0}} & \multicolumn{1}{c}{\textbf{1}} & \multicolumn{1}{c}{\textbf{2}}&%
      \multicolumn{1}{c}{\textbf{3}} & \multicolumn{1}{c}{\textbf{4}} & \multicolumn{1}{c}{\textbf{5}}&%
      \multicolumn{1}{c}{\textbf{6}} & \multicolumn{1}{c}{\textbf{7}}\\
\hline
      \DTLforeach*{Notes}{\note=note,   \Zero=octaveZero,\Un=octaveUn,\Deux=octaveDeux,\Trois=octaveTrois,%
\Quatre=octaveQuatre,\Cinq=octaveCinq,\Six=octaveSix,\Sept=octaveSept}{%
\note & \Zero &\Un&\Deux&\Trois&\Quatre&\Cinq&\Six&\Sept\\\hline}
   \end{tabular*}
\end{center}

\end{document}


Merci
Dernière édition par Arathorn le Mercredi 13 Mars 2019, 14:31, édité 1 fois.
Arathorn
Kilo-utilisateur
 
Messages: 168
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Mise en valeur d'une cellule (tableau + datatool)

Messagepar un bon petit » Dimanche 10 Mars 2019, 19:23

Arathorn a écrit:Je bloque sur quelques points avec ce tableau.

Tiens, un boulot pour spreadtab ! L'avantage, c'est que les valeurs sont calculées.
Code: Tout sélectionner
\documentclass[12pt,a4paper,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs,numprint,spreadtab}
\usepackage[margin=1cm]{geometry}
\begin{document}
\begin{center}
   \nprounddigits{2}\let\STprintnum\numprint
   \FPeval\xx{2^(1/12)}%
   \def\#{\texttt{\char`\#}}%
   \begin{spreadtab}{{tabular}{ll*8c}}\toprule[1.25pt]
      &&@\multicolumn{8}{c}{\textbf{octave}}\\\cmidrule{3-10}
      @\multicolumn{2}{c}{\bfseries notes}&@\textbf0&@\textbf1&@\textbf2&@\textbf3&@\textbf4&@\textbf5&@\textbf6&@\textbf7\\\midrule[1.25pt]
      @C  &@do   &\STcopy{v,>}{[0,1]/\xx}&&&&&&&\\\midrule
      @C\#&@do\# &&&&&&&&\\\midrule
      @D  &@ré   &&&&&&&&\\\midrule
      @D\#&@ré\# &&&&&&&&\\\midrule
      @E  &@mi   &&&&&&&&\\\midrule
      @F  &@fa   &&&&&&&&\\\midrule
      @F\#&@fa\# &&&&&&&&\\\midrule
      @G  &@sol  &&&&&&&&\\\midrule
      @G\#&@sol\#&&&&&&&&\\\midrule
      @A  &@la   & \STcopy>{[1,0]/2}&&&\bfseries:={440}&\STcopy>{[-1,0]*2}&&&\\\midrule
      @A\#& @la\#&\STcopy{v,>}{[0,-1]*\xx}&&&&&&&\\\midrule
      @B  &@si   &&&&&&&&\\\bottomrule[1.25pt]
   \end{spreadtab}
\end{center}
\end{document}

screen_spreadtab.png
un bon petit
Giga-utilisateur
 
Messages: 698
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [résolu] Mise en valeur d'une cellule (tableau + datatoo

Messagepar Arathorn » Mercredi 13 Mars 2019, 14:40

Bonjour et merci pour ce paquet et la réponse.
J'ai rajouté l'unité hertz et réduit la deuxième ligne (cmidrule) juste parce que je trouve cela plus joli.

Code: Tout sélectionner
\documentclass[12pt,a4paper,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{siunitx,booktabs,spreadtab,numprint}

\sisetup{locale = FR,detect-all,quotient-mode=fraction,input-product=*, list-final-separator = { \translate{et} },%
   list-pair-separator = { \translate{et} },range-phrase = { \translate{à} },separate-uncertainty =false,%
   group-minimum-digits=3,per-mode=symbol}
\usepackage[margin=1cm]{geometry}
\pagestyle{empty}

\begin{document}

\nprounddigits{2}\let\STprintnum\numprint
\FPeval\xx{2^(1/12)}%
\def\#{\texttt{\char`\#}}%
\noindent%
\begin{spreadtab}{{tabular}{@{}l@{$\ $}l@{}*{8}{c<{\,\si{Hz}}}}}\toprule[1.25pt]
   &&@\multicolumn{8}{c}{\textbf{octave}}\\\cmidrule(lr){3-10}
@\multicolumn{2}{c}{\bfseries notes}&%
@\multicolumn{1}{c}{\bfseries 0}&%
@\multicolumn{1}{c}{\bfseries 1}&%
@\multicolumn{1}{c}{\bfseries 2}&%
@\multicolumn{1}{c}{\bfseries 3}&%
@\multicolumn{1}{c}{\bfseries 4}&%
@\multicolumn{1}{c}{\bfseries 5}&%
@\multicolumn{1}{c}{\bfseries 6}&%
@\multicolumn{1}{c}{\bfseries 7}%
   \\\midrule[1.25pt]
   @C  &@do   &\STcopy{v,>}{[0,1]/\xx}&&&&&&&\\\midrule
   @C\#&@do\# &&&&&&&&\\\midrule
   @D  &@ré   &&&&&&&&\\\midrule
   @D\#&@ré\# &&&&&&&&\\\midrule
   @E  &@mi   &&&&&&&&\\\midrule
   @F  &@fa   &&&&&&&&\\\midrule
   @F\#&@fa\# &&&&&&&&\\\midrule
   @G  &@sol  &&&&&&&&\\\midrule
   @G\#&@sol\#&&&&&&&&\\\midrule
   @A  &@la   & \STcopy>{[1,0]/2}&&&\bfseries:={440}&\STcopy>{[-1,0]*2}&&&\\\midrule
   @A\#& @la\#&\STcopy{v,>}{[0,-1]*\xx}&&&&&&&\\\midrule
   @B  &@si   &&&&&&&&\\\bottomrule[1.25pt]
\end{spreadtab}
\end{document}
Arathorn
Kilo-utilisateur
 
Messages: 168
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant

Re: [résolu] Mise en valeur d'une cellule (tableau + datatoo

Messagepar un bon petit » Mercredi 13 Mars 2019, 16:17

Arathorn a écrit:J'ai rajouté l'unité hertz et réduit la deuxième ligne (cmidrule) juste parce que je trouve cela plus joli.

Puisqu'on en est au critères esthétiques, je trouve que mettre l'unité dans toutes les cases est une redondance particulièrement inesthétique qui de plus, nuit à la lisibilité du tableau. Tant que j'y suis, 2 décimales, c'est aussi vraiment too much : aucune décimale est largement suffisant surtout si le public est constitué de collégiens. Une décimale se comprendrait à la limite pour un facteur de piano...
un bon petit
Giga-utilisateur
 
Messages: 698
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [résolu] Mise en valeur d'une cellule (tableau + datatoo

Messagepar Arathorn » Mercredi 13 Mars 2019, 16:32

si le public est constitué de collégiens.

L'unité est une notion dont ils ne voient pas l'intérêt donc je préfère insister.
Ce tableau est ici pour illustrer la notion de fréquence à partir de la vibration du mouvement de la corde et de la construction de la gamme tempérée.
Arathorn
Kilo-utilisateur
 
Messages: 168
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant

Re: [résolu] Mise en valeur d'une cellule (tableau + datatoo

Messagepar un bon petit » Samedi 16 Mars 2019, 18:39

Arathorn a écrit:L'unité est une notion dont ils ne voient pas l'intérêt donc je préfère insister.

Alors ça, c'est bien vrai !!! :roll:
Dans cette perspective, on peut effectivement sacrifier les critères de typographie à ceux d'insistance.

Arathorn a écrit:Ce tableau est ici pour illustrer la notion de fréquence à partir de la vibration du mouvement de la corde et de la construction de la gamme tempérée.

J'ai compris, mais je ne comprends pas pourquoi vous mettez autant de décimale, sauf si vous êtes en train d'étudier les puissances auquel cas, c'est justifié en effet. D'ailleurs, votre exemple m'inspire et je crois que je vais décrire à mes 4e comment est construite la gamme tempérée lors du chapitre sur les puissances que je commence juste.
un bon petit
Giga-utilisateur
 
Messages: 698
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Mise en valeur d'une cellule (tableau + datatoo

Messagepar Arathorn » Samedi 16 Mars 2019, 21:37

pourquoi vous mettez autant de décimale,

Il s'agit du tableau donné lors d'un stage physique et musique, tableau que l'on retrouve sur wikipedia ou sur les sites qui présentent la physique du son. Je n'étudie pas les puissances mais j'ai pensé, après avoir vu votre réponse, demandé aux élèves (3e) de refaire ce tableau avec libreoffice calc, histoire de valider la compétence sur les outils numériques, juste après la présentation rapide de la gamme Pythagoricienne avec une corde vibrante et un stroboscope.
Je pense que c'est trop ambitieux, il faudrait que je m'associe aux collègues de musique.
Arathorn
Kilo-utilisateur
 
Messages: 168
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], Grapeshot [Crawler] et 8 invités