Comment composer des fonctions par morceaux [dupliquer]

Cette question a déjà des réponses ici :

Commentaires

Réponse

sortie

\documentclass{article} \usepackage{mathtools} %loads amsmath as well \DeclarePairedDelimiter\Floor\lfloor\rfloor \DeclarePairedDelimiter\Ceil\lceil\rceil \begin{document} \[ T(n) = \begin{cases} 0 & \text{if $n=1$} \\ 1 & \text{if $n=2$} \\ T(\Floor{n/2}) + T(\Ceil{n/2}) + 2 & \text{if $n>2$} \end{cases} \] \end{document} 

Commentaires

  • Votre choix de lalignement dans le fichier source est étrange et plus car il ' est complètement différent de la sortie obtenue. Je ' aligne sûrement les & mais je ' aligne la première partie de les lignes de gauche (donc 0 et 1 alignées avec T( au lieu de + 2). Je comprends le raisonnement derrière lalignement des nombres, mais avoir autant despaces semble étrange et il est ' difficile de voir ce que ' est là dans le premier deux lignes, en plus cela suggère la fausse idée que la sortie ressemblerait à cet alignement qui est faux.
  • & \text{if $n=1$} est plus facile.
  • @ egreg Plus facile dans quel sens? Il ' s deux frappes supplémentaires et probablement plus de travail pour le compilateur, aussi.
  • @DavidRicherby Plus facile à lire à partir du manuscrit.
  • @egreg: & if $n=1$ est encore plus simple, en utilisant lenvironnement cases* de mathtools.

Réponse

Avec seulement un alignement partiel , en raison de la longue dernière ligne:

\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{fourier} \usepackage{mathtools} %loads amsmath as well \DeclarePairedDelimiter\Floor⎣⎦ \DeclarePairedDelimiter\Ceil⎣⎦ \begin{document} \[ T(n) = \begin{cases*} 0 \quad& if $ n = 1 $ \\ 1 & if $ n = 2 $ \\ \mathrlap{T(\Floor{n/2}) + T(\Ceil{n/2}) + 2 \quad \text{if } n > 2} \end{cases*}\] \end{document} 

entrez la description de limage ici

Réponse

Cest une façon dobtenir le résultat souhaité en LaTeX

\documentclass{article} \usepackage{amsmath} \begin{document} \begin{align} T(n) = \left\{ \begin{array}{cc} 0 & \hspace{5mm} n=1 \\ 1 & \hspace{5mm} n=2 \\ T( \lfloor \frac{n}{2} \rfloor) + T(\lceil \frac{n}{2} \rceil )+ 2 & \hspace{5mm} n > 2 \\ \end{array} \right. \end{align} \end{document} 

Sortie

Commentaires

  • Utilisez cases de amsmath.
  • Pourquoi utiliser un environnement align sil ny a ' rien à aligner?
  • Comme indiqué, cest une façon dobtenir les résultats souhaités. Cela laisse de la place pour dautres moyens possibles.
  • En regardant limage dans la question, je ne ' pas penser ' est souhaité pour que lexpression 0, 1 et plus longue soit centrée. De plus, si lespace supplémentaire entre les colonnes est vraiment recherché, il existe de bien meilleurs moyens que de lajouter manuellement dans chaque ligne.
  • @Jeff quelques options sont présentées ici: tex.stackexchange.com/questions/133280/…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *