Alignement vertical avec tabular

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Billy the Kid
Utilisateur confirmé
Utilisateur confirmé
Messages : 87
Inscription : lundi 02 novembre 2009, 18:04
Localisation : Le Loroux Bottereau (44)

[Résolu] Alignement vertical avec tabular

Message non lu par Billy the Kid »

Bonjour,

J'ai installé une nouvelle version de MikteX et le code qui fonctionnait avant ne donne plus le résultat attendu.
Dans ce tableau, les trois premières colonnes du tableau créées avec tabular ne sont pas centrées verticalement alors qu'elles l'étaient avec ma précédente version.
Que dois-je modifier, adapter ?
Merci pour votre aide.
Freddy.

Code : Tout sélectionner

\documentclass[12pt,a4paper,french]{article} 
\usepackage{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,mathrsfs} 
\usepackage{fourier} 
\usepackage{pstricks,pst-math}

\begin{document}
\begin{center}  
\begin{tabular}{|c|c|>{\centering}m{4cm}|>{\centering}m{4cm}|}
	\hline
		\multicolumn{2}{|c|}{Intervalle}& Ensemble de nombres réels $x$ vérifiant & Représentation graphique \tabularnewline 
	\hline
		$[a;b]$ & fermé & $a\leq x\leq b$ & 
		\begin{pspicture}(4,0) % insérer le dessin dans un environnement pspicture permet de le traiter comme un bloc à part entière, la taille de la boite est celle du dessin.
			\psframe[linecolor=white,hatchcolor=red,fillstyle=hlines](1,-0.1)(3,0.1) % il faut dessiner le rectangle en premier, les commandes se superposent les unes aux autres par ascendance
			\psline{->}(0,0)(4,0)
			\psline[linecolor=red,linewidth=2pt]{[-]}(1,0)(3,0)
			\rput(1,-0.5){\textcolor{red}{$a$}}
			\rput(3,-0.5){\textcolor{red}{$b$}}
		\end{pspicture}\tabularnewline[6mm]
	\hline
\end{tabular}
\end{center}
\end{document}
[code]\
Pièces jointes
ecm.pdf
(9.7 Kio) Téléchargé 24 fois
Dernière modification par Billy the Kid le lundi 30 août 2021, 12:22, modifié 1 fois.
Billy the Kid
Utilisateur confirmé
Utilisateur confirmé
Messages : 87
Inscription : lundi 02 novembre 2009, 18:04
Localisation : Le Loroux Bottereau (44)

Re: Alignement vertical avec tabular

Message non lu par Billy the Kid »

Bonjour,
En reprenant mon code, j'ai identifié que le problème venait de l'instruction \tabularnewline[6mm].
Ma difficulté vient du fait que j'insère une figure pspicture dans le tableau et je n'arrive toujours pas à la centrer verticalement.
Quelqu'un a-t-il une proposition de code plus propre afin de résoudre mon problème ?
J'ai bidouillé le code comme ci-dessous avec des \vspace mais cela n'est pas des plus rigoureux. Je suis preneur d'une meilleure solution.
Merci.

Code : Tout sélectionner

\documentclass[12pt,a4paper,french]{article} 
\usepackage{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,mathrsfs} 
\usepackage{fourier} 
\usepackage{pstricks,pst-math}

\begin{document}
\begin{center}  
\begin{tabular}{|c|c|>{\centering}m{4cm}|>{\centering}m{4cm}|}
	\hline
		\multicolumn{2}{|c|}{Intervalle}& Ensemble de nombres réels $x$ vérifiant & Représentation graphique \tabularnewline 
	\hline
		$[a;b]$ & fermé & $a\leq x\leq b$ & 
		\begin{minipage}{4 cm}
		\vspace{2ex} \begin{pspicture}(4,0) % insérer le dessin dans un environnement pspicture permet de le traiter comme un bloc à part entière, la taille de la boite est celle du dessin.
			\psframe[linecolor=white,hatchcolor=red,fillstyle=hlines](1,-0.1)(3,0.1) % il faut dessiner le rectangle en premier, les commandes se superposent les unes aux autres par ascendance
			\psline{->}(0,0)(4,0)
			\psline[linecolor=red,linewidth=2pt]{[-]}(1,0)(3,0)
			\rput(1,-0.5){\textcolor{red}{$a$}}
			\rput(3,-0.5){\textcolor{red}{$b$}}
		\end{pspicture}\vspace{4ex}\end{minipage}\tabularnewline
		\vspace{1.5ex}\end{minipage}\tabularnewline
	\hline
\end{tabular}
\end{center}
\end{document}
touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 467
Inscription : dimanche 11 février 2007, 11:45

Re: Alignement vertical avec tabular

Message non lu par touhami »

Bonjour.
Voici une solution. L'idée est d'informer latex par la taille de l'image pstricks. La syntaxe est

Code : Tout sélectionner

\begin{pspicture}(0,-.5)(4,.5) 
ou encore, si vous voulez,

Code : Tout sélectionner

\begin{pspicture}[shift=.1](0,-.5)(4,.5) 

Code : Tout sélectionner

\documentclass[12pt,a4paper,french]{article} 
\usepackage{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,mathrsfs} 
\usepackage{fourier} 
\usepackage{pstricks,pst-math}

\begin{document}
\begin{center}  
\begin{tabular}{|c|c|>{\centering}m{4cm}|>{\centering}m{4cm}|}
	\hline
		\multicolumn{2}{|c|}{Intervalle}& Ensemble de nombres réels $x$ vérifiant & Représentation graphique \tabularnewline 
	\hline
		$[a;b]$ & fermé & $a\leq x\leq b$ & 
		\begin{pspicture}[shift=.1](0,-.5)(4,.5) % insérer le dessin dans un environnement pspicture permet de le traiter comme un bloc à part entière, la taille de la boite est celle du dessin.
			\psframe[linecolor=white,hatchcolor=red,fillstyle=hlines](1,-0.1)(3,0.1) % il faut dessiner le rectangle en premier, les commandes se superposent les unes aux autres par ascendance
			\psline{->}(0,0)(4,0)
			\psline[linecolor=red,linewidth=2pt]{[-]}(1,0)(3,0)
			\rput(1,-0.5){\textcolor{red}{$a$}}
			\rput(3,-0.5){\textcolor{red}{$b$}}
		\end{pspicture}\tabularnewline
	\hline
\end{tabular}
\end{center}
\end{document}
Billy the Kid
Utilisateur confirmé
Utilisateur confirmé
Messages : 87
Inscription : lundi 02 novembre 2009, 18:04
Localisation : Le Loroux Bottereau (44)

Re: Alignement vertical avec tabular

Message non lu par Billy the Kid »

Merci Touhami,

Cela fonctionne correctement, j'aurai du y penser.
C'est un vieux code que j'ai repris lorsque j'ai commencé en LaTeX et je viens de remettre le nez dedans.
En revanche, comment fonctionne l'argument shift de pspicture ? Cela permet de décaler la boîte par rapport à la ligne de base mais je ne trouve pas de documentation. Peux-tu me dire où en trouver?

Merci encore.
touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 467
Inscription : dimanche 11 février 2007, 11:45

Re: Alignement vertical avec tabular

Message non lu par touhami »

Bonjour.

Je n'utilise pas pstricks mais, si j'ai bien compris, alors l'option shift permet de déplacer, verticalement, la boite de l'image. L'effet est de monter ou descendre cette boite par dimension, si elle est donnée sous la forme

Code : Tout sélectionner

[shift=dimension] 
ou par une relation proportionnelle à l'unité de mesure: (nombre décimal)*(\psunit), si elle est donnée sous la forme

Code : Tout sélectionner

[shift=nombre décimal]
[edit]
ou centrer l'image verticalement lorsqu'elle est donnée par

Code : Tout sélectionner

[shift=*]
Billy the Kid
Utilisateur confirmé
Utilisateur confirmé
Messages : 87
Inscription : lundi 02 novembre 2009, 18:04
Localisation : Le Loroux Bottereau (44)

Re: Alignement vertical avec tabular

Message non lu par Billy the Kid »

Merci beaucoup pour l'information et l'aide apportée.