D'après ce que j'ai lu, il existe de nombreux packages LaTeX dédiés aux tableaux.

Existe-t-il une liste de ces packages avec, pour chacun, une (courte) description de leur propos ou fonctionnalités principales, ainsi que de leurs éventuelles incompatibilités ?

Posée 23 Jui '17, 16:59

texnique's gravatar image

texnique
5112
Taux d'acceptation : 0%

Modifiée 23 Jui '17, 17:48

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

Cette question ne nécessite pas de support urgent : une solution (à but d'archive) va suivre mais sentez-vous libre de contribuer si vous le souhaitez.

(23 Jui '17, 16:59) texnique texnique's gravatar image

Packages particulièrement recommandables

Un guide rapide :

  • array est idéal pour la mise en forme des colonnes entières
  • tabularx est très efficace pour des tableaux ayant une largeur spécifiée
  • booktabs est un must pour une mise en forme professionnelle des tableaux
  • supertabular est très populaire pour les tableaux multi-pages.

Choisissez d'autres paquetages en fonction des fonctionnalités requises.

Liste

Packages polyvalents

  • tabu est une extension unique qui fournit une grande partie des fonctionnalités des extensions ci-dessous.

Packages de base

  • array offre des facilités de mise en forme des colonnes, corrige quelques problèmes d'espaces. Une extension quasiment indispensable.

  • booktabs facilite la création de tableaux d'allure professionnelle : meilleurs espacements verticaux, filets horizontaux améliorés. Cette extension est spécialement conçue pour les tableaux sans filets verticaux (ce qui est usuellement la norme dans les publications de qualité)..

  • tabularx permet de créer des tableaux ayant une largeur spécifiée au moyen d'un type de colonne dont la largeur est automatiquement calculée à cette fin.

  • tabulary fournit des types de colonnes proportionnelles à la largeur naturelle de leur contenu.

  • multirow permet aux tableaux de contenir des cellules fusionnées sur plusieurs lignes.

  • dcolumn crée des colonnes qui s'alignent sur le séparateur décimal. Packages similaires : numprint, rccol, warpcol. Cf. également siunitx ci-dessous.

  • tabularht permet de créer des tableaux ayant une hauteur spécifiée.

Tableaux multi-pages

  • longtable et supertabular permettent de créer des tableaux susceptibles de courir sur plusieurs pages.

  • xtab étend supertabular par certaines fonctionnalités et l'amélioration des coupures de page.

  • ltxtable et ltablex combinent les fonctionnalités de longtable et tabularx.

Légendes et notes

  • threeparttable permet de créer des tableaux avec légendes et notes de largeur égale à celle du tableau correspondant.

  • threeparttablex combine les fonctionnalités de threeparttable et de longtable.

  • floatrow (dont l'objet principal est la personnalisation poussée de la mise en page des environnements flottants) permet d'agrémenter les tableaux de notes de bas de page et d'explications supplémentaires.

  • ctable permet d'ajouter des notes et des notes de bas de page en dessous des tableaux (et des figures). Les tableaux sont créés au moyen d'une commande au lieu d'un environnement.

  • tablefootnote permet d'ajouter dans les tableaux des notes de bas de page (par opposition à des notes de bas de tableau). Requiert une double compilation pour que la numérotation soit correcte.

Science

  • siunitx (bien que principalement dédié à la composition des valeurs avec des unités) fournit le type de colonne S qui s'aligne sur le séparateur décimal.

  • spreadtab permet d’utiliser des fonctionnalités de tableur dans n'importe quel environnement « tableau ».

Couleur et fantaisie

  • colortbl est destiné aux lignes/colonnes/cellules colorées. Le package xcolor (avec l'option table) étend ces fonctionnalités en permettant d'alterner les couleurs des lignes du tableau.

  • arydshln permet d'obtenir des filets pointillés horizontaux et verticaux.

  • boldline permet de définir des filets horizontaux et verticaux d'épaisseur variable.

  • delarray ajoute des délimiteurs (accolades, parenthèses, crochets) aux tableaux.

  • bigdelim permet d'agrémenter les tableaux de délimiteurs multilignes de taille variable.

  • blkarray divise les tableaux en blocs et ajoute des délimiteurs pour chaque bloc.

  • makecell offre de nombreuses fonctionnalités : cellules multilignes, entêtes, espaces dans les cellules, numérotation des lignes, épaisseur des filets, cellules divisées en diagonale, etc.

  • diagbox pour des cellules tabulaires en diagonales.

  • hhline pour des filets doubles de meilleure qualité. Permet aussi des filets simples ou doubles polychromes.

  • tabularkv ajoute une interface de type clé/valeur pour les propriétés des tableaux.

  • cellspace permet d'assurer un espacement minimal d'une cellule avec les cellules (et les filets horizontaux) du dessus et du dessous dans les colonnes dont le spécificateur est préfixé par la lettre S. Définit une option [math] pour assurer cet espacement minimal pour les environnements de type matrix.

Conflits de packages

  • xtab etsupertabular ne fonctionnent pas ensemble : leur chargement simultané entraînerait un conflit. xtab devrait être préféré, car il est écrit comme une extension de supertabular.

  • Selon le manuel, arydshln doit être chargé aprèsarray, longtable,colortab et colortbl, respectivement.

  • De plus, arydshln entre en conflit avec supertabular.

  • cellspace doit être chargé après tabularx pour que S{X} fonctionne. Avec l'option [math], il doit être chargé avant amsmath, ou l'une des extensions qui chargent amsmath (mathtools,empheq, nccmath).

  • En cas d'utilisation conjointe de siunitx et cellspace, il y a conflit entre le spécificateur de colonne S de siunitx et le pré-spécificateur homonyme de cellspace. L'extension siunitx remplace donc le pré-spécificateur par C.

Lien permanent
Cette réponse est marquée comme « Wiki ».

Publiée 23 Jui '17, 17:21

stefan's gravatar image

stefan ♦♦
10618
Taux d'acceptation : 40%

Modifiée 25 Jui '17, 17:31

denis's gravatar image

denis ♦♦
7.3k1510

@stefan @texnique Wie gut du Französisch sprichst!

(23 Jui '17, 17:26) Pathe ♦♦ Pathe's gravatar image

@Pathe Regardez mon profil. :-)

(23 Jui '17, 17:33) stefan ♦♦ stefan's gravatar image

Cette liste est très utile. Je trouve qu'elle devrait être incorporée à la documentation de LaTeX, de manière à être accessible à ce que la commande texdoc tab (par exemple) pointe directement sur elle.

(23 Jui '17, 17:34) Pathe ♦♦ Pathe's gravatar image

@stefan supertabular est-il plus populaire que longtable?

Je propose d'ajouter

collcell de Martin Schar­rer. Cette extension collecte le contenu d'une cellule offrant la possibilité de l'utiliser comme argument d'une commande.

spreadtab de Chris­tian Tel­lechea. "Cette extension permet d’utiliser des fonctionnalités de tableur dans n'importe quel environnement « tableau »"

(24 Jui '17, 02:14) touhami touhami's gravatar image

@touhami Veuillez éditer directement, cette réponse est marquée comme « Wiki ». N'hésitez pas à la modifier. Merci beaucoup ! Je suis d'accord avec longtable, et aussi avec colcellet spreadtab.

(24 Jui '17, 12:52) stefan ♦♦ stefan's gravatar image

Il manque aussi cellspace, de Josselin Noirel, qui permet d'assurer un espacement minimal d'un cellule avec les cellules du dessus et du dessous dans les colonnes dont les spécificateur est préfixée par la lettre S. L'extension makecell a une fonctionnalité analogue, mais ajoute un espacement vertical fixe au-dessus et au-dessous.

(24 Jui '17, 13:24) Bernard Bernard's gravatar image

@Bernard Merci! Peut-être ajouter à la réponse.

(24 Jui '17, 13:33) stefan ♦♦ stefan's gravatar image

Et dans le registre des fonctions de tableur : tabularcalc (doc en français, 14 pages) remplit automatiquement les cellules à partir de formules (lignes ou colonnes) et de valeurs (respectivement : colonnes ou lignes).

(24 Jui '17, 18:45) joseph-tux joseph-tux's gravatar image

@joseph-tux Attention ! Votre réponse était plus un ajout à la réponse précédente qu'une réponse à part entière : elle a été convertie en commentaire, d'autant que la réponse initiale elle-même est éditable par tout un chacun ! N'hésitez pas à l'amender. Le but est de proposer une liste synthétique, et non de disséminer les informations utiles au sein de diverses réponses.

(25 Jui '17, 00:11) Pathe ♦♦ Pathe's gravatar image

@touhami : je me suis permis d'ajouter spreadtab en votre lieu et place. J'espère que vous ne m'en tiendrez pas rigueur…

(25 Jui '17, 17:24) Bernard Bernard's gravatar image
Affichage de 5 parmi 10 Afficher 5 commentaire(s) en plus
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.