Centrer dans une ligne
dans LaTeX
Bonjour
Dans l'environnement tabular suivant :
Je souhaiterais que ces intervalles s'affichent au milieu de la ligne.
Merci d'avance pour votre aide.
Cordialement.
Raptor.
Dans l'environnement tabular suivant :
\begin{tabular}{|c|c|c|c|} \hline I& J & Représentation & \hspace*{1cm }$I\cap J$ \hspace*{1cm}\\ \hline $[0;4]$ & $[2;5]$ &\begin{tikzpicture}[scale=.70] \draw[gray](-4.5,0)grid(8.5,0); %\draw[stealth-stealth]|-(4.5,0)node[above]{$x$}; %\foreach \x in {-5,...,4} \draw (\x,-.1)node[below]{\x} -- (\x,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ \hline $[-1;2]$ & $[0.5;3]$ &\begin{tikzpicture}[scale=.70] \draw[gray](-4.5,0)grid(8.5,0); %\draw[stealth-stealth]|-(4.5,0)node[above]{$x$}; %\foreach \x in {-5,...,4} \draw (\x,-.1)node[below]{\x} -- (\x,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ \hline \end{tabular}les intervalles dans les colonnes I et J s'affichent en bas de la ligne.
Je souhaiterais que ces intervalles s'affichent au milieu de la ligne.
Merci d'avance pour votre aide.
Cordialement.
Raptor.
Réponses
-
Bonjour,
Merci à l'avenir de bien vouloir fournir un exemple complet minimal (donc compilable tel quel, commençant par \documentclass et se terminant par \end{document}) pour nous faire gagner du temps.
Le problème en question est dû à l'alignement des boîtes sur la ligne de base (mots-clés en anglais : reference point et baseline). On peut le corriger comme ceci (il y a d'autres possibilités, notamment avec le type de colonne 'm' offert par le package array, mais dans ce cas, il faut expliciter la largeur de la colonne, ce que ma solution évite soigneusement) :\documentclass[a4paper]{article} \usepackage[landscape]{geometry} \usepackage{array} \usepackage{collcell} \usepackage{makecell} \usepackage{cellspace} \usepackage{tikz} \renewcommand\theadfont{\bfseries} \setlength\cellspacetoplimit{4pt} \setlength\cellspacebottomlimit{4pt} \newcommand*{\boxAndLower}[1]{% \raisebox{-1ex}{#1}% } \newcolumntype{E}{>{\collectcell\boxAndLower}c<{\endcollectcell}} \begin{document} \begin{tabular}{|SE|SE|Sc|@{\hspace{1cm}}Sc@{\hspace{1cm}}|} \hline \multicolumn{1}{|c|}{\thead{$I$}} & \multicolumn{1}{c|}{\thead{$J$}} & \thead{Représentation} & \thead{$I\cap J$}\\ \hline $[0;4]$ & $[2;5]$ &\begin{tikzpicture}[baseline=0, scale=.70] \draw[gray](-4.5,0)grid(8.5,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ \hline $[-1;2]$ & $[0.5;3]$ &\begin{tikzpicture}[baseline=0, scale=.70] \draw[gray](-4.5,0)grid(8.5,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ \hline \end{tabular} \end{document}
Ceci dit, il y a à mon avis trop de lignes dans ce tableau — ça fait des nœuds aux yeux, on s'y perd. Lire la documentation du package booktabs. Voici une proposition avec ce dernier (résultat sur la deuxième capture d'écran) :\documentclass[a4paper]{article} \usepackage[landscape]{geometry} \usepackage{array} \usepackage{collcell} \usepackage{makecell} \usepackage{booktabs} \usepackage{tikz} \renewcommand\theadfont{\bfseries} \newcommand*{\boxAndLower}[1]{% % Pour régler l'interligne, décommenter la ligne \vrule ... ou mettre par % exemple {\renewcommand{\arraystretch}{1.8}% avant le \begin{tabular} et % ajouter une accolade fermante après le \end{tabular}. % % \vrule width 0pt height 3.5ex depth 4.5ex\relax \raisebox{-1ex}{#1}% } \newcolumntype{E}{>{\collectcell\boxAndLower}c<{\endcollectcell}} \begin{document} \begin{tabular}{E E c @{\hspace{1cm}} c @{\hspace{1cm}}} \toprule \multicolumn{1}{c}{\thead{$I$}} & \multicolumn{1}{c}{\thead{$J$}} & \thead{Représentation} & \thead{$I\cap J$}\\ \midrule $[0;4]$ & $[2;5]$ & \begin{tikzpicture}[baseline=0, scale=.70] \draw[gray](-4.5,0)grid(8.5,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ $[-1;2]$ & $[0.5;3]$ & \begin{tikzpicture}[baseline=0, scale=.70] \draw[gray](-4.5,0)grid(8.5,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ \bottomrule \end{tabular} \end{document}
-
On peut aussi simplifier en baissant les tikzpictures au lieu de remonter le texte des deux premières colonnes (méthode applicable aux deux exemples que j'ai donnés). Mais pour pouvoir régler finement l'interligne, il faudra ajouter des petites choses...
\documentclass[a4paper]{article} \usepackage[landscape]{geometry} \usepackage{array} \usepackage{makecell} \usepackage{booktabs} \usepackage{tikz} \renewcommand\theadfont{\bfseries} \begin{document} {% \tikzset{every picture/.style={baseline=-0.9ex, scale=0.7}}% % \begin{tabular}{ c c c @{\hspace{1cm}} c @{\hspace{1cm}}} \toprule \thead{$I$} & \thead{$J$} & \thead{Représentation} & \thead{$I\cap J$}\\ \midrule $[0;4]$ & $[2;5]$ & \begin{tikzpicture} \draw[gray](-4.5,0)grid(8.5,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ $[-1;2]$ & $[0.5;3]$ & \begin{tikzpicture} \draw[gray](-4.5,0)grid(8.5,0); \draw[-latex](-6.5,0)--(9.5,0); \draw (9.5,0)node[above]{$x$}; \foreach \x in {-6,...,9} \draw (\x,-.1) -- (\x,0); \foreach \x in {0,1} \draw (\x,-.1)node[below]{\x} -- (\x,0); \end{tikzpicture} & \\ \bottomrule \end{tabular}% } \end{document}
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres