Bonjour,
J'ai un gros document avec de très nombreux tableaux (plusieurs dizaines), je je définis avec le package tabularray. Tous les tableaux sont définis de manière exactement similaires (et il faut qu'ils soient similaires, pour des raisons d'esthétique), si bien que je n'ai au final que 3 types de tableaux différents.
Si jamais je dois retoucher les styles (modifier les largeurs, les couleurs, etc.), pour éviter d'avoir à le refaire pour chaque tableau, et pour éviter les erreurs, j'aimerais ne pouvoir définir l'ensemble des styles de chaque tableau une seule fois (cela inclut la largeur de chaque colonne, les colonnes et en caractères gras, en couleur, etc. le style de 1ère ligne...).
Est ce que quelqu'un connaît un moyen de définir cela en tête de document de manière à n'avoir qu'à définir le type de tableau au début de chaque tableau ?
Merci d'avance !
PS : certains styles comportent des tableaux longs, de type longtblr.
Définir des types de tableaux avec tabularray
-
- Utilisateur confirmé
- Messages : 11
- Inscription : mardi 10 septembre 2024, 23:08
- Statut actuel : Enseignant
-
- Utilisateur chevronné
- Messages : 2303
- Inscription : samedi 29 décembre 2007, 00:58
Re: Définir des types de tableaux avec tabularray
Bonjour.
Fournissez un exemple complet minimal, un ECM, afin d'avoir un point de départ.
Fournissez un exemple complet minimal, un ECM, afin d'avoir un point de départ.
-
- Utilisateur confirmé
- Messages : 11
- Inscription : mardi 10 septembre 2024, 23:08
- Statut actuel : Enseignant
Re: Définir des types de tableaux avec tabularray
Bonjour,
Voici un exemple "simple" :
Je vais avoir plein de tableaux de 2 colonnes, plein de tableaux de 3 colonnes, plein de tableaux de 4 colonnes. Et je veux que tous les tableaux de même nombre de colonnes soient rigoureusement identiques.
Mais je voudrais aussi pouvoir rapidement, par exemple, supprimer la couleur dans les tableaux (pour faire une sortie pour une imprimante qui ne prend pas la couleur), etc. Et je voudrais pouvoir modifier tout cela sans avoir à rechanger les entêtes des 50 tableaux.
J'aimerais donc pouvoir définir une "variable" en écrivant en en-tête quelque chose comme :
Pour ensuite pouvoir mettre dans tout les tableaux de 3 colonnes :
Et partir directement sur le contenu du tableau. Il me suffirait de modifier les caractéristique du tableau dans la définition de mon "type3" pour pouvoir modifier du même coup tous les tableaux...
J'en profite pour 2 questions subsidiaires :
- sur ma définition des lignes horizontales, j'ai envie que la dernière soit en traits pleins en noir, et pas en gris ou en pointillé. J'aimerais donc pouvoir définir un type de ligne de 3 à (Z_1), mais je ne sais pas comment écrire ici le (Z-1)
- Est il possible de définir une largeur "fixe" de colonne, en imposant un pourcentage de la place disponible, plutôt qu'une largeur en centimètres (soit un pourcentage de la largeur de la page, soit un pourcentage de la largeur du tableau, à condition que celle ci soit définie en centimètres).
Merci d'avance !
Voici un exemple "simple" :
Code : Tout sélectionner
\documentclass{article}
\usepackage{xcolor} % Gestion de la couleur
\usepackage[a4paper, top=2cm, bottom=2cm, left=1cm, right=1cm]{geometry} % Réduire les marges en haut
\usepackage{tabularray}
% suppression des ajouts par défaut (titre, numérotation, page suivante...)
\DefTblrTemplate{contfoot-text}{default}{}
\DefTblrTemplate{conthead-text}{default}{}
\DefTblrTemplate{caption}{default}{}
\DefTblrTemplate{conthead}{default}{}
\DefTblrTemplate{capcont}{default}{}
%\DefTblrTemplate{conthead-text}{default}{(suite du tableau)}
%\DefTblrTemplate{contfoot-text}{default}{Suite à la page suivante...}
\begin{document}
\section{exemples}
\begin{longtblr} {
colspec={Q[9cm,r] Q[9.2cm,c]},
hline{3-Z} = {gray,dotted},
hline{1,2,Z},
vline{1,Z},
rowhead = 1,
row{odd} = {},
row{even} = {bg=blue9},
row{1}={font=\bfseries},
cell{2-Z}{1}={font=\bfseries},
cell{2-Z}{Z}={font=\itshape}
}
Nom & Fontion \\
truc très long à écrire & réponse un peu moins longue \\
autre truc très long à écrire & encore une réponse \\
encore un truc très long à écrire & une réponse alambiquée pour ne rien dire \\
\end{longtblr}
\begin{longtblr}{
colspec={Q[3.8cm,c] Q[5.77cm,c] Q[8.2cm,l]},
hline{3-Z} = {gray,dotted},
hline{1,2,Z},
vline{1,Z},
rowhead = 1,
row{odd} = {},
row{even} = {bg=blue9},
row{1}={font=\bfseries},
cell{2-Z}{1}={font=\bfseries},
cell{2-Z}{Z}={font=\itshape}
}
Département & Préfecture & Population \\
Ain & Caen & 45 \\
Jura & Laon & 32 \\
Aisne & Paris & 954 \\
Meuse & Rennes & 51 \\
\end{longtblr}
\end{document}
Mais je voudrais aussi pouvoir rapidement, par exemple, supprimer la couleur dans les tableaux (pour faire une sortie pour une imprimante qui ne prend pas la couleur), etc. Et je voudrais pouvoir modifier tout cela sans avoir à rechanger les entêtes des 50 tableaux.
J'aimerais donc pouvoir définir une "variable" en écrivant en en-tête quelque chose comme :
Code : Tout sélectionner
type3 := {
colspec={Q[3.8cm,c] Q[5.77cm,c] Q[8.2cm,l]},
hline{3-Z} = {gray,dotted},
hline{1,2,Z},
vline{1,Z},
rowhead = 1,
row{odd} = {},
row{even} = {bg=blue9},
row{1}={font=\bfseries},
cell{2-Z}{1}={font=\bfseries},
cell{2-Z}{Z}={font=\itshape}
}
Code : Tout sélectionner
\begin{longtblr} type3
J'en profite pour 2 questions subsidiaires :
- sur ma définition des lignes horizontales, j'ai envie que la dernière soit en traits pleins en noir, et pas en gris ou en pointillé. J'aimerais donc pouvoir définir un type de ligne de 3 à (Z_1), mais je ne sais pas comment écrire ici le (Z-1)
- Est il possible de définir une largeur "fixe" de colonne, en imposant un pourcentage de la place disponible, plutôt qu'une largeur en centimètres (soit un pourcentage de la largeur de la page, soit un pourcentage de la largeur du tableau, à condition que celle ci soit définie en centimètres).
Merci d'avance !
-
- Utilisateur confirmé
- Messages : 36
- Inscription : dimanche 29 novembre 2020, 21:29
- Statut actuel : Enseignant
Re: Définir des types de tableaux avec tabularray
Il est possible de définir des nouveaux environnements basés sur
C'est "détaillé" dans la documentation, à la page 32.
tabularray
, ce qui permet de créer une sorte de style comme demandé, grâce à \NewTblrEnviron{mytblr}
et ensuite \SetTblrInner[mytblr]{<options>}
pour les options.C'est "détaillé" dans la documentation, à la page 32.
Afficher ou masquer le code
-
- Utilisateur confirmé
- Messages : 11
- Inscription : mardi 10 septembre 2024, 23:08
- Statut actuel : Enseignant
Re: Définir des types de tableaux avec tabularray
Bonjour,
Merci, cela fonctionne effectivement, mais comment faire pour des tableaux longs (que je définissais avec longtblr) ?
Merci d'avance.
Merci, cela fonctionne effectivement, mais comment faire pour des tableaux longs (que je définissais avec longtblr) ?
Merci d'avance.