Wiki Forum

Joli intervalle

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

Modérateur: Modérateurs_LaTeX

Règles du forum
Merci d'éviter le style SMS dans vos messages. Penser à utiliser les balises Code pour poster du code.
Penser à utiliser la fonction Recherche avant de poster un message.

Joli intervalle

Messagede kojak le Dimanche 21 Février 2010, 15:24

Bonjour,

En fouinant sur le net, j'ai trouvé ceci en particulier pour les intervalles. J'avais déjà vu ceci qque part sur le forum :

Code: Tout sélectionner
\newcommand{\intervalle}[4]{\mathopen{ #1}#2%
         \mathclose{}\mathpunct{};#3%
         \mathclose{#4}}%
\newcommand{\intervalleff }[2]{\intervalle{[}{#1}{#2}{]}}
\newcommand{\intervalleof }[2]{\intervalle{]}{#1}{#2}{]}}
\newcommand{\intervallefo }[2]{\intervalle{[}{#1}{#2}{[}}
\newcommand{\intervalleoo }[2]{\intervalle{]}{#1}{#2}{[}}


Ca fonctionne bien, mais dès qu'il y a une fraction, ben les crochets sont pas bô : ils sont tout riquiqui.
Bon, j'ai la méthode qui consiste à définir :

Code: Tout sélectionner
\newcommand{\intervalle}[4]{\left #1 #2%
         \mathclose{}\mathpunct{};#3%
         \right #4}%


mais je suppose qu'il y a un pb d'espace...

alors ma question est : serait il possible de faire pareil avec mathopen et mathclose, que les crochets s'adaptent automatiquement ?
pas d'aide par MP
kojak
Modérateur
 
Messages: 8135
Inscription: Samedi 18 Novembre 2006, 20:50
Statut actuel: Actif et salarié | Enseignant

Re: Joli intervalle

Messagede Minibob59 le Dimanche 21 Février 2010, 15:45

Bonjour !

Personnellement, j'ai mes commandes pour les intervalles, et les crochets s'adaptent. Les voici :

Code: Tout sélectionner
% Le point-virgule bien espacé
\newcommand*{\pv}{\ensuremath{\, ; }}
% Les intervalles
   % fermé - fermé
   \newcommand*{\interff}[2]{\ensuremath{\left[ #1 \pv #2 \right]}}
   % fermé - ouvert
   \newcommand*{\interfo}[2]{\ensuremath{\left[ #1 \pv #2 \right[}}
   % ouvert - fermé
   \newcommand*{\interof}[2]{\ensuremath{\left] #1 \pv #2 \right]}}
   % ouvert - ouvert
   \newcommand*{\interoo}[2]{\ensuremath{\left] #1 \pv #2 \right[}}


Les packages de l'AMS (amsmath) sont requis.
Minibob59 !

Pas d'aide en MP.
Minibob59
Kilo-utilisateur
 
Messages: 104
Inscription: Dimanche 24 Janvier 2010, 12:14
Localisation: Nord (59) | Millam
Statut actuel: Lycée | Terminale S

Re: Joli intervalle

Messagede pg le Dimanche 21 Février 2010, 21:45

kojak a écrit:Ca fonctionne bien, mais dès qu'il y a une fraction, ben les crochets sont pas bô : ils sont tout riquiqui.
Bon, j'ai la méthode qui consiste à définir :

Code: Tout sélectionner
\newcommand{\intervalle}[4]{\left #1 #2%
         \mathclose{}\mathpunct{};#3%
         \right #4}%


mais je suppose qu'il y a un pb d'espace...

\left et \right fonctionnent correctement avec les relations et les opérateurs binaires (des deux côtés), donc produiront un espacement correct : x \in \left]-1\mathpunct{};1\right[ à comparer à x \in {]}{-}1\mathpunct{};1[ avec \mathopen/\mathclose (identique) et à x \in ]-1\mathpunct{};1[ sans rien (mal espacé). Par contre, il n'est pas forcément souhaitable qu'en textstyle les crochets grandissent automatiquement (dans cette situation, on voudra probablement utiliser la solution avec \mathopen{]} et \mathclose{[}). Il est possible d'avoir le comportement \left/\right en mode display et \mathopen/\mathclose en mode normal en utilisant \mathchoice :

Code: Tout sélectionner
\newcommand{\intervalle}[4]{\mathchoice
{\left#1#2\mathclose{}\mathpunct{};#3\right#4}% mode \displaystyle
{\mathopen{#1}#2\mathclose{}\mathpunct{};#3\mathclose{#4}}% mode \textstyle
{\mathopen{#1}#2\mathclose{}\mathpunct{};#3\mathclose{#4}}% mode \scriptstyle
{\mathopen{#1}#2\mathclose{}\mathpunct{};#3\mathclose{#4}}% mode \scriptscriptstyle
}



Minibob59 a écrit:
Code: Tout sélectionner
% Le point-virgule bien espacé
\newcommand*{\pv}{\ensuremath{\, ; }}

Le problème avec cette définition est que lorsque les intervalles seront en indice, l'espace fine \, sera présente à gauche du point-virgule mais il n'y aura plus d'espace à droite, ce qui n'est pas très harmonieux ; pour éviter ce défaut, on peut utiliser \nonscript\, à la place de \, :

Code: Tout sélectionner
% Le point-virgule bien espacé
\newcommand*{\pv}{\ensuremath{\nonscript\, ; }}

Voici le résultat : \max_{t \in [a\nonscript\,;b]} au lieu de \max_{t \in [a\,;b]} avec ta définition originelle.

Minibob59 a écrit:Les packages de l'AMS (amsmath) sont requis.

Même pas, toutes les commandes que tu utilises sont des commandes de base.
pg
Modérateur
 
Messages: 1283
Inscription: Vendredi 15 Juin 2007, 00:31

Re: Joli intervalle

Messagede Minibob59 le Dimanche 21 Février 2010, 21:55

pg a écrit:Il est possible d'avoir le comportement \left/\right en mode display et \mathopen/\mathclose en mode normal en utilisant \mathchoice :


Il est vrai que c'est plus judicieux. Quand j'avais créé ces commandes, je ne connaissais pas \mathchoice ; mais je vais adapter. :D

pg a écrit:Le problème avec cette définition est que lorsque les intervalles seront en indice, l'espace fine \, sera présente à gauche du point-virgule mais il n'y aura plus d'espace à droite, ce qui n'est pas très harmonieux ; pour éviter ce défaut, on peut utiliser \nonscript\, à la place de \,


Merci pour l'info, je ne connaissais pas... D'un autre côté, je n'ai encore jamais eu à mettre de point-virgule en indice (mon maigre niveau de Terminale S ne me le permet pas ^^).

pg a écrit:
Minibob59 a écrit:Les packages de l'AMS (amsmath) sont requis.

Même pas, toutes les commandes que tu utilises sont des commandes de base.

Ah bon ? Je pensais... :P
Minibob59 !

Pas d'aide en MP.
Minibob59
Kilo-utilisateur
 
Messages: 104
Inscription: Dimanche 24 Janvier 2010, 12:14
Localisation: Nord (59) | Millam
Statut actuel: Lycée | Terminale S

Re: Joli intervalle

Messagede kojak le Lundi 22 Février 2010, 13:53

Merci pg pour toutes ces infos.

A bientôt
pas d'aide par MP
kojak
Modérateur
 
Messages: 8135
Inscription: Samedi 18 Novembre 2006, 20:50
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités