Représenter des intervalles

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.

Représenter des intervalles

Messagepar projetmbc » Dimanche 20 Janvier 2008, 22:14

Bonjour,
quelqu'un connait-il un moyen de représenter des intervalles sur la droite réelle ? Je sais qu'on peut le faire via PSTricks mais connaissez-vous une solution "clé en main" pour éviter de réinventer la roue.

Par avance merci.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Représenter des intervalles

Messagepar guiguiche » Dimanche 20 Janvier 2008, 22:22

Je crois que quelqu'un en a parlé sur ce forum. Effectue une recherche.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8019
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar rebouxo » Lundi 21 Janvier 2008, 12:23

Avec Pstricks et l'extension pstricks-add

Code: Tout sélectionner
\begin{pspicture}(-5,-1)(5,1)
\psaxes%
[yaxis=false]
(0,0)(-5,-1)(5,1) % Axes horizontal.
\psline[arrows=[-]](-4,0)(1,0)
\end{pspicture}


Devrait construire l'intervalle $[-4\,;\,0]$
Olivier
rebouxo
Modérateur
 
Messages: 6799
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar projetmbc » Mardi 22 Janvier 2008, 00:00

Ok merci pour PSTricks. En fait je chercher une solution clé en main. Cela ne doit pas exister. Tant pis, je le ferais à la main sans la clé. Merci pour ces infos.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar MB » Mardi 22 Janvier 2008, 00:21

C'est quoi une solution "clé en main" dans ce cas ?
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6782
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar projetmbc » Mardi 22 Janvier 2008, 16:48

On entre les bornes et hop c'est dessiner. Voilà ce que j'entends par clé en main. On pourrait imaginer aussi la représentation de réunions d'intervalles ou bien de solutions d'inéquations linéaires à une inconnue.

Ceci étant dit, la méthode via PSTricks n'est pas méchante.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar rebouxo » Mardi 22 Janvier 2008, 16:55

Code: Tout sélectionner
\newcommand{\psFerme}[2]%
{%
\psline[arrows=[-]](#1,0)(#2,0)
}%


On pourrait aussi faire plus user friendly en mettant des mots clés à la keyval. Mais j'ai toujours pas compris la manip :oops:

Olivier
rebouxo
Modérateur
 
Messages: 6799
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar D.GH » Mardi 22 Janvier 2008, 17:45

rebouxo a écrit:
Code: Tout sélectionner
\newcommand{\psFerme}[2]%
{%
\psline[arrows=[-]](#1,0)(#2,0)
}%


On pourrait aussi faire plus user friendly en mettant des mots clés à la keyval. Mais j'ai toujours pas compris la manip :oops:
Olivier


Bonjour,

Voici la manip avec 'xkeyval' .

Code: Tout sélectionner
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% http://www.cnam.fr/maths/Membres/ghorbanzadeh/
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{latexsym,amsmath,amssymb}

\usepackage{pstricks-add}

\usepackage{xkeyval}

\makeatletter
% paramètre pour la Borne inférieure
\define@key{MonIntV}{binf}{\def\Intbinf{#1}}
% paramètre pour la Borne supérieure
\define@key{MonIntV}{bisup}{\def\Intbsup{#1}}


% valeurs par default
\presetkeys{MonIntV}{binf=1,bisup=2}{}

\def\MonIntV{\@ifnextchar[\@MonIntV{\@MonIntV[]}}
\def\@MonIntV[#1]{\setkeys{MonIntV}{#1}%
 \psline[arrows=[-]](\Intbinf,0)(\Intbsup,0)}
\makeatother

\begin{document}

par default (1;2):       \MonIntV \\

avec l'option (0,5 ; 2)   :  \MonIntV[binf=0.5]  \\

avec l'option (2;7) :  \MonIntV[binf=2,bisup=7]  \\
\end{document}


D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Représenter des intervalles

Messagepar balf » Mardi 22 Janvier 2008, 22:44

Je suggère de prendre pour point de départ plus naturel la construction suivante, en plain TeX :

Code: Tout sélectionner
\def\psFerme(#1,#2){\psline[arrows=[-](#1,0)(#2,0)}


qui permet d'écrire, p. ex. psFerme(1,2)

Ceci n'incorpore pas l'usage de xkeyval (ou plutôt, vu le contexte, pst-xkey) qui permettrait, peut-être plus utile que ce que propose D. GH d'utiliser un paramètre décrivant s'il agit d'un intervalle fermé, ouvert ou semi-fermé. Je ne sais pas bien me servir de xkeyval, mais D. GH qui semble s'y connaître pourrait peut-être adapter. Qu'en pense-t-il ?

On peut même imaginer une variante pour avoir un intervalle sur une droite quelconque du plan en donnant les coordonnées du point-origine et du point-extrémité.

B.A.
balf
Zetta-utilisateur
 
Messages: 3656
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Représenter des intervalles

Messagepar D.GH » Mercredi 23 Janvier 2008, 13:01

balf a écrit:.............ce que propose D. GH d'utiliser un paramètre décrivant s'il agit d'un intervalle fermé, ouvert ou semi-fermé. Je ne sais pas bien me servir de xkeyval, mais D. GH qui semble s'y connaître pourrait peut-être adapter. Qu'en pense-t-il ?

B.A.


Bonjour,

Comme il a été suggéré, je propose, une solution de dépannage, en introduisant un paramètre pour la forme.
- intervalle fermé : paramètre =1
Intervalle fermé à droite : paramètre =2
Intervalle fermé à gauche : paramètre =3
Intervalle ouvert : paramètre =4

Code: Tout sélectionner
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% http://www.cnam.fr/maths/Membres/ghorbanzadeh/
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{latexsym,amsmath,amssymb}

\usepackage{pstricks-add}

%%%%%%%%%%%%%%%%%%%%%%%%%%
% #1 la forme de l'intervalle
% #2 borne inf
% #3 borne  sup
\newcommand{\MonIntV}[3][1]{%
\ifnum #1=1 \psline{[-]}(#2,0)(#3,0) \fi
\ifnum #1=2 \psline{]-]}(#2,0)(#3,0) \fi
\ifnum #1=3 \psline{[-[}(#2,0)(#3,0) \fi
\ifnum #1=4 \psline{]-[}(#2,0)(#3,0) \fi
}

\begin{document}

par default (0.5;2):       \MonIntV{0.5}{2} \\

                           \MonIntV[1]{0.5}{2} \\
                           \MonIntV[2]{0.5}{2} \\
                           \MonIntV[3]{0.5}{2} \\
                           \MonIntV[4]{0.5}{2} \\

\end{document}


D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Représenter des intervalles

Messagepar D.GH » Mercredi 23 Janvier 2008, 13:11

bonjour,

Voici une proposition avec 'xkeyval'.

Code: Tout sélectionner
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% http://www.cnam.fr/maths/Membres/ghorbanzadeh/
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{latexsym,amsmath,amssymb}

\usepackage{pstricks-add}

\usepackage{xkeyval}

\makeatletter
% paramètre pour la forme
\define@key{MonIntV}{forme}{\def\Intforme{#1}}
% paramètre pour la Borne inférieure
\define@key{MonIntV}{binf}{\def\Intbinf{#1}}
% paramètre pour la Borne supérieure
\define@key{MonIntV}{bisup}{\def\Intbsup{#1}}


% valeurs par default
\presetkeys{MonIntV}{forme=1,binf=1,bisup=2}{}

\def\MonIntV{\@ifnextchar[\@MonIntV{\@MonIntV[]}}
\def\@MonIntV[#1]{\setkeys{MonIntV}{#1}%
\ifnum\Intforme=1 \psline{[-]}(\Intbinf,0)(\Intbsup,0) \fi
\ifnum\Intforme=2 \psline{]-]}(\Intbinf,0)(\Intbsup,0) \fi
\ifnum\Intforme=3 \psline{[-[}(\Intbinf,0)(\Intbsup,0) \fi
\ifnum\Intforme=4 \psline{]-[}(\Intbinf,0)(\Intbsup,0) \fi}
\makeatother

\begin{document}

par default (1;2):       \MonIntV \\
                         \MonIntV[forme=1,binf=1,bisup=2]  \\
                         \MonIntV[forme=2,binf=1,bisup=2]  \\
                         \MonIntV[forme=3,binf=1,bisup=2]  \\
                         \MonIntV[forme=4,binf=1,bisup=2]  \\


\end{document}


D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Représenter des intervalles

Messagepar MB » Mercredi 23 Janvier 2008, 16:21

Ces solutions ne passent pas avec pdftex je suppose non ?
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6782
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar D.GH » Mercredi 23 Janvier 2008, 16:31

Bonjour,

Voici une autre version avec le Module 'ifthen', pour le paramètre forme j'ai mis les 4 positions possibles 'FF,Fo,OF,OO'

MB a écrit:Ces solutions ne passent pas avec pdftex je suppose non ?


Je ne l'ai pas encore testé pour pdfLaTeX (mais comme on dit seul l'impossible est impossible).

Code: Tout sélectionner
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% http://www.cnam.fr/maths/Membres/ghorbanzadeh/
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{latexsym,amsmath,amssymb}

\usepackage{pstricks-add}

\usepackage{xkeyval}

\usepackage{ifthen}

\makeatletter
% paramètre pour la forme
\define@cmdkey{MonIntV}{forme}{\def\Intforme{#1}}
% paramètre pour la Borne inférieure
\define@cmdkey{MonIntV}{binf}{\def\Intbinf{#1}}
% paramètre pour la Borne supérieure
\define@cmdkey{MonIntV}{bisup}{\def\Intbsup{#1}}


% valeurs par default
\presetkeys{MonIntV}{forme=FF,binf=1,bisup=2}{}

\def\MonIntV{\@ifnextchar[\@MonIntV{\@MonIntV[]}}
\def\@MonIntV[#1]{\setkeys{MonIntV}{#1}%
\ifthenelse{\equal{\Intforme}{FF}}{\psline{[-]}(\Intbinf,0)(\Intbsup,0)}
{\ifthenelse{\equal{\Intforme}{OF}}{\psline{]-]}(\Intbinf,0)(\Intbsup,0)}
{\ifthenelse{\equal{\Intforme}{FO}}{\psline{[-[}(\Intbinf,0)(\Intbsup,0)}
{\ifthenelse{\equal{\Intforme}{OO}}{\psline{]-[}(\Intbinf,0)(\Intbsup,0)}{}
}
}
}
}
\makeatother

\begin{document}

par default (1;2):       \MonIntV \\
                         \MonIntV[forme=FF,binf=1,bisup=2]  \\
                         \MonIntV[forme=OF,binf=1,bisup=2]  \\
                         \MonIntV[forme=FO,binf=1,bisup=2]  \\
                         \MonIntV[forme=OO,binf=1,bisup=2]  \\


\end{document}


D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Représenter des intervalles

Messagepar projetmbc » Mercredi 23 Janvier 2008, 19:08

Plutôt pas mal tout ceci... :D Merci beaucoup !
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar D.GH » Mercredi 23 Janvier 2008, 20:11

projetmbc a écrit:Plutôt pas mal tout ceci... :D Merci beaucoup !


Bon $\LaTeX$

D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Représenter des intervalles

Messagepar chellier » Dimanche 14 Février 2010, 19:36

Bon, c'est vrai, c'est un gros déterrage de sujet, mais cette solution avec asymptote peut, peut-être, servir à quelqu'un pour des cas assez simples :
http://cgmaths.fr/Atelier/Asymptote/AsyInequations.html

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar GMaths » Dimanche 14 Février 2010, 21:26

chellier a écrit:Bon, c'est vrai, c'est un gros déterrage de sujet, mais cette solution avec asymptote peut, peut-être, servir à quelqu'un pour des cas assez simples :
http://cgmaths.fr/Atelier/Asymptote/AsyInequations.html

Christophe


J'ai survolé les images... et regardé le code du dernier exemple ; j'ai une petite suggestion : utiliser hspace pour éviter de tatonner avec des "quad".

Code: Tout sélectionner
import inequations_cg;
usepackage("fourier");
usepackage("amsmath"); // Pour utiliser \text{}
unitsize(1cm);

real x1=0,x2=3,xm=(x1+x2)/2;

sol2onaxis("",x1,rsol,"]","",x2,lsol,"[",NoTicks(),true);
xtick("$L$",1,1.5*N,linewidth(bp));  // Pour placer la graduation
xtick(1,S,linewidth(bp));                     // Il faut la Nord et la Sud
label(format("$\underbrace{\hspace{%f cm}}
_{\text{intervalle ouvert contenant } L}$",x2-x1),(xm,-.9));
label("Pour $n \geqslant p$, $u_n$ est dans l'intervalle",(xm,.8));

shipout(bbox(1mm,invisible));
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar chellier » Lundi 15 Février 2010, 09:42

En effet, merci, c'est quand même plus propre...
Je suis un dingue de \quad, j'en mets partout, il faut que je me calme :oops:

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Représenter des intervalles

Messagepar GMaths » Lundi 15 Février 2010, 09:53

chellier a écrit:Je suis un dingue de \quad, j'en mets partout
:lol:

Connais-tu :
  • \qquad,
  • \hfil (ne pas confondre avec \hfill) ?
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
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: Google [Bot], Google Adsense [Bot], Yahoo [Bot] et 7 invités