Alignements et environnements

J'essaie d'écrire "soit la fonction f..."

J'ai trouvé sur un autre forum une manière "propre" d'écrire une fonction, que voici (supprimez l'espace entre \ et begin, et celui entre \ et end) :
\begin{array}{ccccc}
f & : & E & \longrightarrow & F \\
 & & x & \longmapsto & f(x) \\
\end{array}
qui donne : $$\begin{array}{ccccc}
f & : & E & \longrightarrow & F \\
& & x & \longmapsto & f(x) \\
\end{array}
$$ Mais quand on veut le mettre dans une phrase, ça donne :

Soit la fonction $\begin{array}{ccccc}
f & : & E & \longrightarrow & F \\
& & x & \longmapsto & f(x) \\
\end{array}$

Donc l'environnement que j'utilise pour écrire ma fonction se centre sur la ligne sur laquelle je veux écrire ma phrase. Je voudrais que la partie $f : E \longrightarrow F$ soit alignée avec le texte "Soit la fonction". Quelqu'un sait faire ça ?

Réponses

  • En vrai, tu ne veux pas faire ça parce que ça écarte les lignes du texte de façon très désagréable à l'œil. Ce que tu veux écrire, c'est plutôt « $f:E\to F$, $x\mapsto f(x)$ ». En fait, ce que tu veux vraiment écrire, c'est « l'application $f$ qui à tout élément $x$ de $E$ associe $f(x)$ dans $F$ ».

    Si tu t'en tiens à tes conceptions erronées / idées primitives / goûts de caniveau [c'est un peu trop fort peut-être ?], tu peux glisser [t] juste après {array}, ce qui donne $\begin{array}[t]{ccccc}f & : & E & \longrightarrow & F \\& & x & \longmapsto & f(x) \end{array}$ mais, crois-moi, non, ce n'est pas ce que tu voudrais si tu étais raisonnable. J'en mets une tartine, c'est surtout pour que tu voies l'effet catastrophique que l'inclusion d'un tel tableau a sur le paragraphe, sans compter l'espace entre colonnes qui est – ici – beaucoup trop large.
  • $f \colon x \in E \mapsto f(x) \in F$
  • Alors ça, j'aime encore moins !
  • Alors, Math Coss : tu as le droit de parler respecteusement avec les gens sur ce forum. Je suis sûr que tu en as le droit.

    Merci néanmoins pour tes conseils, aussi désagréables à recevoir étaient-ils cette fois.
  • C'est pourtant quelque chose d'assez courant.
  • Si tu utilises l'environnement array pour aligner des maths, alors ce n'est pas propre !!! (et je reste poli ...)

    Pour produire ton bloc, je te propose

    \begin{equation*}
    f\colon\left\{
    \begin{aligned}
    E&\longrightarrow F \\
    x&\longmapsto f(x)
    \end{aligned}
    \right.
    \end{equation*}
                    \begin{equation*}
                      f\colon\left\{
                      \begin{aligned}
                        E&\longrightarrow F \\
                        x&\longmapsto f(x)
                      \end{aligned}
                      \right.
                    \end{equation*}
    

    Ceci utilise les packages amsmath de base (je précise parce que tu utilises array et tu n'utilises pas \colon ... ce qui est mal)
  • Bien sûr, on peut inclure ceci dans une phrase, ce qui donne $f\colon\left\{
    \begin{aligned}
    E&\longrightarrow F \\
    x&\longmapsto f(x)
    \end{aligned}
    \right.$, en espérant que cela te convient ....
                      $f\colon\left\{
                      \begin{aligned}
                        E&\longrightarrow F \\
                        x&\longmapsto f(x)
                      \end{aligned}
                      \right.$
    
  • Quelques péchés mortels avec Latex : https://ctan.org/pkg/l2tabu-french
  • Avec tout mon respect, vous ne devriez pas mettre ce genre de choses dans une formule en ligne.
  • Eric écrivait:
    > Si tu utilises l'environnement array pour aligner
    > des maths, alors ce n'est pas propre !!!
    (...)
    > Ceci utilise les packages amsmath de base (je
    > précise parce que tu utilises array et tu
    > n'utilises pas \colon ... ce qui est mal)

    Je suis preneur d'une définition de la propreté (resp. du bien) en LaTeX, et d'une preuve de tes deux implications (array implique non propre, non \colon implique mal).
  • L'environnement eqnarray gèrent mal l'espacement vertical, les environnements mathématiques du package amsmath le font beaucoup mieux. L'utilisation de : dans des maths produit un espacement horizontal qui laisse à désirer, \colon gère la chose bien mieux.

    Je te renvoie à plusieurs exemples détaillés que tu trouveras sans mal sur le net (tabou / deadly sins avec Latex).
  • eqnarray (qui est effectivement déconseillé au profit de align et consorts) n'est pas array. Si je veux centrer mes trois colonnes, je ne vais pas utiliser un aligned.

    Dans les fichiers que je produis, ":" donne un espacement satisfaisant.

    J'ai toujours eu un peu de mal avec les tabous, péchés mortels et autres dogmes, quand on me les assène sans les assortir d'arguments...

    [Ajout : dans le l2tabu, je ne vois pas trace de colon.]
  • Tu veux des exemples et des arguments, il y en a plein la toile (je n'en ai donné qu'un, je n'ai jamais dit qu'il est complet). Je n'ai pas le temps de les répéter ici, surtout que ce n'est pas bien difficile à trouver. Libre à toi de produire des choses pas terribles et de te convaincre que c'est quand même très bien.
  • @Homo Topi,

    C'est vrai que la réponse de Math Coss manquait certainement de délicatesse, mais je crois que si tu t'en tiens aux plans technique et typographique, son message est de bon conseil (et j'ai bien vu que tu l'as remercié, tout en soulignant le manque de respect dans la forme).
  • @brian, @Homo Topi : les réponses de Math Coss et d'Eric dans ce fil me semblent malheureusement assez représentatives du ton des réponses que reçoivent nombre d'utilisateurs récemment inscrits sur ce forum. Si j'avais été accueilli comme ça il y a une dizaine d'années, ça m'aurait peut-être passé l'envie de revenir poser des questions. Mais bon, comme Eric, je n'ai pas le temps de m'étendre ni d'assumer la charge de la preuve pour ce que j'avance.
  • Première recherche sur google (Latex bad \colon) et toutes les explications sur \colon versus :
    https://tex.stackexchange.com/questions/37789/using-colon-or-in-formulas

    Effectivement, c’était très difficile à trouver ...

    @ Homo topi : le seul problème est de savoir que la commande \colon existe (en utilisant le package amsmath).
  • Eh bien, désolé, je ne pensais pas que ce message serait considéré comme (si) agressif. Je le reformule donc.

    La doxa méprisable des maniaques de la typographie (ouille, ça part mal !) prescrit d'éviter une expression trop haute dans le fil d'une parce que cela écarte les lignes du texte de façon désagréable à l'œil. Elle conduit à écrire plutôt « $f:E\to F$, $x\mapsto f(x)$ ». Dans d'autres conseils de rédaction, il est recommandé de limiter les symboles au profit de mots en français et d'écrire à la place : « l'application $f$ qui à tout élément $x$ de $E$ associe $f(x)$ dans $F$ ».

    Néanmoins, dans certains contextes, par exemple pour écrire deux telles applications dans la même formule centrée, il peut être utile d'aligner un tableau sur la ligne du haut. Il suffit pour cela de glisser [t] juste après {array}. Si on le fait dans une formule en ligne, cela donne $\begin{array}[t]{ccccc}f & : & E & \longrightarrow & F \\& & x & \longmapsto & f(x)\end{array}$ et le rendu d'un tel pavé dans un paragraphe me semble légitimer la doxa évoquée ci-dessus. Comme l'a noté Eric, il y a de plus le problème de l'espacement des colonnes, qui est beaucoup trop large par défaut, mais on peut le régler en mettant @{\,} entre les "c" des colonnes, ce qui donne :
    \begin{array}[t]{c@{\,}c@{\,}c@{\,}c@{\,}c}
    f & : & E & \longrightarrow & F \\
    && x & \longmapsto & f(x)\end{array}
    
    Le Mathjax du forum ne tient pas compte de ces « prescripteurs ». Référence utile.
  • Personnellement, écrire $\begin{array}[t]{ccccc}
    f & : & E & \longrightarrow & F \\
    & & x & \longmapsto & f(x) \\
    \end{array}$ dans un paragraphe, ça ne me choque pas tant que ça, surtout qu'à la base je posais la question pour mes cours à moi pour moi tout seul. Si on se fait lyncher dès qu'on écrit autre chose que $f : E \longrightarrow F$, $x \longmapsto f(x)$ (qui est, au passage, ce que je fais tout le temps), j'éviterai de faire un truc avec "array" en public :-D
  • Bonjour

    Je souhaite écrire quelque-chose comme :

    Soit $f$ l'application $\begin{matrix} f : & O & \rightarrow & U \\ & x & \mapsto & f(x) \end{matrix}$ qui fait ce qu'on a envie qu'elle fasse.

    Et comme vous l'aurez sans doute compris, j'aimerais que la partie $f : O \rightarrow U$ soit alignée avec le reste de la phrase.

    Une bonne âme saurait-elle m'expliquer comment m'y prendre ?

    Cordialement
    Omega
  • Ce sujet a déjà été traité il y a une semaine sur ce forum.
    http://www.les-mathematiques.net/phorum/read.php?10,1701414
  • Merci Eric !
Connectez-vous ou Inscrivez-vous pour répondre.