[Résolu] Interligne dans array

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Interligne dans array

Messagepar GRSG » Lundi 08 Octobre 2012, 10:33

Bonjour,

Lorsque l'on écrit \displaystyle \frac{1}{2}: (sans accolade pour la commande displaystyle) ou \displaystyle{\frac{1}{2}} (avec accolades), nous obtenons la même chose : $\displaystyle \frac{1}{2}$ et $\displaystyle{\frac{1}{2}}$

J'aimerais pouvoir arriver à la même possibilité (c'est à dire lire l'argument ou une partie de l'argument s'il n'est pas mis entre accolades) avec la commande \hequ du code ci dessous. J'ai testé avec paramètre par défaut, sans succès.
Code: Tout sélectionner
\documentclass{article}
\usepackage{array}
\usepackage{amsfonts,mathrsfs,amssymb,yhmath,stmaryrd}
%\renewcommand{\displaystyle}[1]{#1}
\newcommand{\hequ}[1]{#1\vphantom{\mathop{#1}^{}}}
\begin{document}
$\displaystyle \frac{1}{2}$ ou $\displaystyle{\frac{1}{2}}$

$\begin{array}[t]{>{\displaystyle}r@{\;}>{\displaystyle}l}
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\hequ{\frac{1}{2}}\\
x&=\hequ{\frac{1}{2}}\\
x&=\frac{1}{2}
\end{array}$
\end{document}

Je sais que l'on peut utiliser d'autres environnements pour ce genre d'équations (align* par exemple) mais j'aimerais arrivé à gérer automatiquement l'interligne d'une équation à une autre avec l'environnement array (sur l'exemple, éviter que les "1" chevauchent les "2").
Merci pour vos réponses.
Gabriel
Dernière édition par GRSG le Lundi 08 Octobre 2012, 11:05, édité 3 fois.
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Appel Commande avec et sans accolades

Messagepar pg » Lundi 08 Octobre 2012, 10:39

\displaystyle n'est pas une commande à argument du tout, mais une bascule (tout ce qui suit, au sein du même groupe, est en mode display). Cela se voit très bien en regardant le résultat de :

Code: Tout sélectionner
\displaystyle{\frac{1}{2}} \frac{1}{2}

Les deux fractions sont en mode displaystyle : $\displaystyle{\frac{1}{2}}\frac{1}{2}$
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Appel Commande avec et sans accolades

Messagepar GRSG » Lundi 08 Octobre 2012, 10:44

Bonjour

Est-il alors possible de transformer ma commande \hequ en mode <<bascule>>?

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: Appel Commande avec et sans accolades

Messagepar pg » Lundi 08 Octobre 2012, 10:49

Non (c'est une macro à argument puisque l'on doit utiliser #1 dans sa définition). Par contre, si \hequ est toujours suivie par un \\ dans la même cellule de tableau, on peut récupérer comme argument tout ce qu'il y a entre \hequ et le \\.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Créer Bascule avec et sans accolades

Messagepar GRSG » Lundi 08 Octobre 2012, 10:54

La commande \hequ sera utilisée exclusivement dans un tableau et sera toujours suivi d'un "\\" ou d'un "\end{array}". En fait, j'aimerais pourvoir la mettre en "commande" générale comme displaystyle.
C'est à dire , pouvoir faire : \begin{array}[t]{>{\displaystyle}r@{\;}>{\hequ\displaystyle}l}

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: Créer Bascule avec et sans accolades

Messagepar pg » Lundi 08 Octobre 2012, 11:00

Dans ce cas, on peut faire autrement, avec une syntaxe un peu différente (on mesure grâce à une \savebox la taille de ce qui a été tapé et on rajoute 3pt en haut et en bas) :

Code: Tout sélectionner
\documentclass{article}

\usepackage{array}
\usepackage{amsfonts,mathrsfs,amssymb,yhmath,stmaryrd}

\newsavebox{\arraybox}
\newcommand{\hequ}[1]{\sbox{\arraybox}\bgroup\hbox\bgroup$#1}
\newcommand{\uqeh}{$\egroup\egroup\usebox{\arraybox}\vrule width 0pt height \dimexpr\ht\arraybox+3pt\relax depth \dimexpr\dp\arraybox+3pt\relax}

\begin{document}

$\begin{array}[t]{>{\displaystyle}r@{\;}>{\hequ{\displaystyle}}l<{\uqeh}}
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}
\end{array}$

\end{document}
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Créer commande avec et sans accolades

Messagepar GRSG » Lundi 08 Octobre 2012, 11:04

Merci beaucoup.
Vous avez répondu exactement à mon souci de présentation.
Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Interligne dans array

Messagepar GRSG » Lundi 08 Octobre 2012, 11:32

Argh...

J'ai constaté (avec un préambule plus fourni) que les commandes ci-dessus n'étaient pas compatibles avec usepackage{color}, usepackage{colortbl}

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Interligne dans array

Messagepar pg » Lundi 08 Octobre 2012, 11:36

Il doit juste manquer des groupes. Merci de me fournir un exemple de code qui ne marche pas.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: [Résolu] Interligne dans array

Messagepar GRSG » Lundi 08 Octobre 2012, 11:54

Bonjour,

Les 3 usepackage semblent incompatibles

Code: Tout sélectionner
\documentclass{article}
\usepackage{color}
\usepackage{colortbl}
\usepackage{ifpdf}
\ifpdf
   \usepackage[pdftex,colorlinks=true,urlcolor=blue,linkcolor=blue,pdfstartview=FitH]{hyperref}
\else
  \usepackage{pstricks}
  \usepackage{hyperref}
\fi

\newsavebox{\arraybox}
\newcommand{\hequ}[1]{\sbox{\arraybox}\bgroup\hbox\bgroup$#1}
\newcommand{\uqeh}{$\egroup\egroup\usebox{\arraybox}\vrule width 0pt height \dimexpr\ht\arraybox+3pt\relax depth \dimexpr\dp\arraybox+3pt\relax}
\begin{document}

$\begin{array}[t]{>{\displaystyle}r@{\;}>{\hequ{\displaystyle}}l<{\uqeh}}
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}
\end{array}$

$\begin{array}[t]{>{\displaystyle}r@{\;}>{\hequ{\displaystyle}}l<{\uqeh}}
A_1&=\sum\limits_{k=1}^{n}\frac{k}{n}\\
&=\frac{1}{n}\sum\limits_{k=1}^{n}k \text{ par linéarité de la somme finie}\\
&=\frac{1}{n}\cdot \frac{n(n+1)}{2}\\
&=\frac{n+1}{2}
\end{array}$

\end{document}

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Interligne dans array

Messagepar pg » Lundi 08 Octobre 2012, 12:04

Je regarderai à l'occasion d'où bien exactement le problème, mais en attendant, c'est probablement plus simple de revenir à l'idée d'une commande à argument délimité (mais attention, il faut mettre un \\ à la fin de toutes les lignes, y compris la dernière) :

Code: Tout sélectionner
\documentclass{article}
\usepackage{colortbl}
\usepackage{amsmath}
\usepackage{ifpdf}
\ifpdf
   \usepackage[pdftex,colorlinks=true,urlcolor=blue,linkcolor=blue,pdfstartview=FitH]{hyperref}
\else
  \usepackage{pstricks}
  \usepackage{hyperref}
\fi

\def\hequ#1\\{#1\vphantom{\mathop{#1}^{}}\\}
\begin{document}

$\begin{array}[t]{>{\displaystyle}r@{\;}>{\displaystyle\hequ}l}
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2}\\
x&=\frac{1}{2} \\
\end{array}$

$\begin{array}[t]{>{\displaystyle}r@{\;}>{\displaystyle\hequ}l}
A_1&=\sum\limits_{k=1}^{n}\frac{k}{n}\\
&=\frac{1}{n}\sum\limits_{k=1}^{n}k \text{ par linéarité de la somme finie}\\
&=\frac{1}{n}\cdot \frac{n(n+1)}{2}\\
&=\frac{n+1}{2} \\
\end{array}$

\end{document}
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: [Résolu] Interligne dans array

Messagepar GRSG » Lundi 08 Octobre 2012, 13:14

Pour moi, çà me convient très bien.

Merci.

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], DotBot [Crawler], Yandex [Bot] et 10 invités