Intégrale triple

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 utilisateurs 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.
jg2m2010
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 238
Inscription : samedi 23 avril 2011, 13:55

[Résolu] Intégrale triple

Message non lu par jg2m2010 »

Bonjour,

Je travaille en ce moment avec des intégrales triples. J'ai par exemple écrit ceci :

Code : Tout sélectionner

\[\iiint\limits_ {\text{espace}} {|\psi|^2 \,d\tau} = 1.\]
qui me semble très satisfaisant (n'hésitez cependant pas à me faire remarquer toute maladresse)
Maintenant, je veux toutes les bornes !

Code : Tout sélectionner

\[\int\limits_{0}^{+\infty} \int\limits_{0}^{\pi} \int\limits_{0}^{2\pi} {R^2(r)Y^2(\theta,\varphi)r^2 \,dr d\theta d\varphi} = 1.\]
Je souhaiterais savoir ci le code ci dessus est la meilleur solution. Est-ce qu'il y a plus simple ? Est-ce qu'on peut rapprocher les trois intégrales les unes aux autres, un peu comme dans le premier exemple ?
Merci
Dernière modification par jg2m2010 le jeudi 28 juillet 2011, 19:30, modifié 3 fois.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2621
Inscription : vendredi 15 juin 2007, 00:31

Re: Intégrale triple

Message non lu par pg »

Le package amsmath peut se charger avec l'option "intlimits" pour éviter d'avoir à taper les \limits à chaque fois :

Code : Tout sélectionner

\documentclass{article}

\usepackage[intlimits]{amsmath}

\begin{document}

Dans le texte on a $\iiint_ {\text{espace}} {|\psi|^2 \,d\tau} = 1$ et hors-texte on a
\[\iiint_ {\text{espace}} {|\psi|^2 \,d\tau} = 1.\]

\end{document}
Pour le second, normalement, on met un \, avant tous les d des différentielles (là aussi, c'est mieux de faire une macro pour le "d") :

Code : Tout sélectionner

\documentclass{article}

\usepackage[intlimits]{amsmath}

\newcommand{\diff}{\mathop{}\mathopen{}d}
\newcommand{\dr}{\diff r}
\newcommand{\dtheta}{\diff \theta}
\newcommand{\dvarphi}{\diff \varphi}

\begin{document}

\[\int_{0}^{+\infty} \int_{0}^{\pi} \int_{0}^{2\pi} {R^2(r)Y^2(\theta,\varphi)r^2 \dr\dtheta\dvarphi} = 1.\]

\end{document}
Pour l'espacement des intégrales, on peut modifier \int pour qu'il regarde s'il est suivi de \int et alors mettre automatiquement une espace négative. C'est pas très dur à programmer.
zorba

Re: Intégrale triple

Message non lu par zorba »

Bonjour,
en regardant la solution de PG, je produit l'intégrale triple correctement, sauf pour les "d" qui sont inclinés. Ce qui n'est pas ce que j'avais compris dans l'explication ni la forme admise pour cette opération.
Pour mettre des "d" droits pour dr, d\theta et D\varphi, je passe par la commande suivante :

Code : Tout sélectionner

    \providecommand*\D{\textup{d}\mspace{2mu}}
.

Est-ce correct?

Je place le résultat en pièce jointe, avec le programme dans le texte.

Quand à la simplicité de la programmation, ce n'est pas simple pour ce qui me concerne. Je ne sais pas comment faire.

Bonne journée à tous.
Pierre
Pièces jointes
Intégrales-triples-Limites-PG.pdf
(88.6 Kio) Téléchargé 407 fois
kojak
Modérateur général
Modérateur général
Messages : 10452
Inscription : samedi 18 novembre 2006, 19:50

Re: Intégrale triple

Message non lu par kojak »

Bonjour,
zorba a écrit : en regardant la solution de PG, je produit l'intégrale triple correctement, sauf pour les "d" qui sont inclinés
Il manque un petit qque chose que pg a dû oublier, ce qui n'est pas dans ses habitudes :wink:

Code : Tout sélectionner

%d droit de dx
\newcommand{\diff}{\mathop{}\mathopen{}\mathrm{d}}
Pas d'aide par MP.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2621
Inscription : vendredi 15 juin 2007, 00:31

Re: Intégrale triple

Message non lu par pg »

zorba a écrit :Pour mettre des "d" droits pour dr, d\theta et D\varphi, je passe par la commande suivante : \providecommand*\D{\textup{d}\mspace{2mu}}.
Si on veut les d droits, il suffit de remplacer "d" par "\mathrm{d}" dans la macro correspondante (voir message de kojak). Avec cette macro \D, les espaces sont *après* le "d", pas avant.
zorba a écrit :Ce qui n'est pas ce que j'avais compris dans l'explication ni la forme admise pour cette opération.
En maths, on fait ce que l'on veut, c'est une question de préférence personnelle (je préfère les "d" droits, mais des tas d'ouvrages même datant d'avant l'arrivée de LaTeX utilisent un d italique). En physique une norme ISO impose normalement d'utiliser des "d" droits.
kojak
Modérateur général
Modérateur général
Messages : 10452
Inscription : samedi 18 novembre 2006, 19:50

Re: Intégrale triple

Message non lu par kojak »

bonjour,
pg a écrit : En maths, on fait ce que l'on veut,
Pas tout à fait. Il y a des règles de typographie qu'il faudrait respecter :wink:
Pas d'aide par MP.
jg2m2010
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 238
Inscription : samedi 23 avril 2011, 13:55

Re: Intégrale triple

Message non lu par jg2m2010 »

Pour l'espacement des intégrales, on peut modifier \int pour qu'il regarde s'il est suivi de \int et alors mettre automatiquement une espace négative. C'est pas très dur à programmer.
Ah oui ? Comment fait-on s'il te plaît ?
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2621
Inscription : vendredi 15 juin 2007, 00:31

Re: Intégrale triple

Message non lu par pg »

kojak a écrit :Pas tout à fait. Il y a des règles de typographie qu'il faudrait respecter :wink:
Les règles typographiques varient selon les sources. Je vois mal pourquoi celles-ci serait meilleures que les règles utilisées par les Presses Universitaires de France, les éditions Hermann dans les années 70 ou les éditions Gauthiers-Villars d'avant la guerre. Surtout que le lexique de l'IN sur lequel se base ce document est loin d'être l'alpha et l'omega de la typographie mathématique (il n'y a que 10 pages dessus alors qu'il y a des ouvrages entiers consacrés au sujet).

Le "d" étant un objet très spécial par sa nature et par l'espacement particulier qu'il reçoit, qui le rapproche plus d'un opérateur comme "cos" ou "sin", le mettre en droit est plutôt logique et ajoute à la clarté de la formule (permet l'identification immédiate de la nature spéciale du "d" écrit en fin d'intégrale). En mathématiques, par contre, le "i" des complexes ou le "e" des exponentielles n'ont rien de spécial, ce sont juste des constantes (comme "pi", ou un "a" que l'on fixerait ou début du document) donc les mettre en droit est beaucoup plus contestable et n'augmente pas la clarté (ce serai même plutôt le contraire car ils ne reçoivent pas de traitement particulier au niveau de l'espacement). En physique la situation est différente car il faut pouvoir distinguer entre le "e" de l'exponentielle et le "e" de la charge élémentaire, et c'est de là que vient cette "règle".
jg2m2010 a écrit :Comment fait-on s'il te plaît ?
Je ferai l'automatisation des espacements d'intégrale plus tard aujourd'hui ou demain.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2303
Inscription : samedi 29 décembre 2007, 00:58

Re: Intégrale triple

Message non lu par projetmbc »

Bonjour.
pg a écrit :Je ferai l'automatisation des espacements d'intégrale plus tard aujourd'hui ou demain.
Est-ce que cela avance où y-a-t-il une réelle difficulté à faire cette automatisation ?
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2621
Inscription : vendredi 15 juin 2007, 00:31

Re: Intégrale triple

Message non lu par pg »

Non, ça prend juste un peu de temps à faire.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2303
Inscription : samedi 29 décembre 2007, 00:58

Re: Intégrale triple

Message non lu par projetmbc »

Je ne voulais pas te mettre la pression, :oops: c'est juste que je suis aussi très intéressé par cette fonctionnalité.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2621
Inscription : vendredi 15 juin 2007, 00:31

Re: Intégrale triple

Message non lu par pg »

Oui, enfin c'est pratiquement le même code que dans le sujet Dérivée avec un d droit et espace, donc il n'y a rien de nouveau.

J'ai mis \!\!, mais faire attention à ce que cela ne soit pas trop rapproché si l'indice ou l'exposant est trop gros (c'est pour cela que la notation usuelle où les indices/exposants sont à droite du symbole est meilleure) :

Code : Tout sélectionner

\documentclass{article}

\usepackage[intlimits]{amsmath}

\makeatletter
\let\original@int\int
\DeclareRobustCommand{\int}{%
   \original@int\operator@followup{\@ifnextchar{\int}{\!\!}{}}%
}
\def\operator@followup#1{%
   \@ifnextchar{^}{\operator@followup@sup{#1}}%
                  {\operator@followup@nosup{#1}}%
}
\def\operator@followup@sup#1^#2{%
   \@ifnextchar{_}{\operator@followup@sup@sub{#1}^{#2}}%
                  {\operator@followup@sup@nosub{#1}^{#2}}%
}
\def\operator@followup@sup@sub#1^#2_#3{%
   \operator@followup@{#1}{#2}{#3}%
}
\def\operator@followup@sup@nosub#1^#2{%
   \operator@followup@{#1}{#2}{}%
}
\def\operator@followup@nosup#1{%
   \@ifnextchar{_}{\operator@followup@nosup@sub{#1}}
                  {\operator@followup@nosup@nosub{#1}}%
}
\def\operator@followup@nosup@sub#1_#2{%
   \@ifnextchar{^}{\operator@followup@nosup@sub@sup{#1}_{#2}}
                  {\operator@followup@nosup@sub@nosup{#1}_{#2}}%
}
\def\operator@followup@nosup@sub@sup#1_#2^#3{%
   \operator@followup@{#1}{#3}{#2}%
}
\def\operator@followup@nosup@sub@nosup#1_#2{%
   \operator@followup@{#1}{}{#2}%
}
\def\operator@followup@nosup@nosub#1{%
   \operator@followup@{#1}{}{}%
}
\def\operator@followup@#1#2#3{%
   ^{#2}_{#3}#1%
}
\makeatother

\newcommand{\diff}{\mathop{}\mathopen{}\mathrm{d}}
\newcommand{\dr}{\diff r}
\newcommand{\dtheta}{\diff \theta}
\newcommand{\dvarphi}{\diff \varphi}

\begin{document}

\[\int_{0}^{+\infty} \int_{0}^{\pi} \int_{0}^{2\pi} {R^2(r)Y^2(\theta,\varphi)r^2 \dr\dtheta\dvarphi} = 1.\]

\end{document}
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2303
Inscription : samedi 29 décembre 2007, 00:58

Re: Intégrale triple

Message non lu par projetmbc »

Oups, je n'avais pas fait gaffe au coup des bornes dessus, dessous. :bangin:

Que faut-il changer pour garder les bornes à droite mais en serrant tout de même les intégrales qui se suivent ?
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2621
Inscription : vendredi 15 juin 2007, 00:31

Re: Intégrale triple

Message non lu par pg »

Enlever l'option intlimits à \usepackage{amsmath}.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2303
Inscription : samedi 29 décembre 2007, 00:58

Re: Intégrale triple

Message non lu par projetmbc »

Mais quel con... Désolé pour cette question !
jg2m2010
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 238
Inscription : samedi 23 avril 2011, 13:55

Re: Intégrale triple

Message non lu par jg2m2010 »

Merci beaucoup pg pour ce travail. Je vais l'utiliser dans chacun de mes documents (ooù il y aura des intégrales...) !