Ce message fait suite à celui que j'ai posté sur le nouveau forum remplaçant la liste GUT.

J’ai à composer un tableau avec des cellules peu remplies, si ce ne sont les entêtes de colonnes, qui comportent des textes explicatifs plus longs. Même en composant ces derniers sur plusieurs lignes, le résultat est assez moche. J’ai donc pensé à créer un tableau dont les entêtes sont inclinés, un peu comme sur cette image trouvée en ligne :

alt text

Y a-t-il un package LaTeX qui permette de faire ça facilement ? Je n’ai pas vraiment pas envie de créer de nouvelles commandes… ou de redéfinir l’environnement tabular !

Dans une réponse, Denis Bitouzé parle du package nicematrix, que je ne connais pas : si l'auteur est dans les parages, saura-t-il faire ces entêtes en diagonale ? Ils sont somme toute assez classiques : des livres de compte pré-imprimés en proposaient déjà dans les années 1960...

Posée 07 Jui, 12:58

Jean-Michel's gravatar image

Jean-Michel
38271318
Taux d'acceptation : 0%

Modifiée 07 Jui, 13:18

Pathe's gravatar image

Pathe ♦♦
7.9k80224270

@Jean-Michel : il s'agit du package nicematrix (il y avait une coquille dans votre message). J'ai corrigé, mais j'ignore si ce package fait ce que vous désirez... et qui, de fait, est un classique.

(07 Jui, 13:17) Pathe ♦♦ Pathe's gravatar image

Voici une solution avec nicematrix :

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\NewDocumentCommand{\rot}{m}{\rlap{\hspace*{-6mm}\rotatebox{45}{#1}}}

\begin{NiceTabular}{l*{5}{w{r}{15mm}}}[cell-space-limits=3pt]
            & \rot{janvier} & \rot{février} & \rot{mars} & \rot{avril} & \rot{mai} \\
  \Block[hvlines]{*-*}{}
  Serveur 1 & 10 Go         & 23,4 Go       &            &             & 3,6 To \\
  Serveur 2 & 1,22 Go       & 1,7 Go        & 1,9 Go     & 22 Go       & \\
  Serveur 3 &               &               &            & 54 Go       & \\
  Serveur 4 & 500 Mo        & 2,2 To        &            &             & 19,3 To \\
\CodeAfter
    \begin{tikzpicture} 
    \foreach \i in {2,...,\inteval{\arabic{jCol}+1}}
      {
        \draw let \p1 = (1) , \p2 = (2) , \n1 = { \y1 - \y2 }
              in (2-|\i) -- ($(2-|\i)+(\n1,\n1)$) ;
      } ;
    \draw let \p1 = (1) , \p2 = (2) , \n1 = { \y1 - \y2 }
      in ($(2-|2)+(\n1,\n1)$) -- ($(2-|\inteval{\arabic{jCol}+1})+(\n1,\n1)$) ; 
    \end{tikzpicture}
\end{NiceTabular}

\end{document}
Lien permanent

Publiée 08 Jui, 20:12

fpantigny's gravatar image

fpantigny
1.5k44
Taux d'acceptation : 41%

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.