Skip to content

Comment imbriquer des cas ?

Solution:

Je n’utiliserais pas l’accolade intérieure, mais une notation standard pour le minimum, juste divisée entre les lignes.

documentclass{article}
usepackage{amsmath}

DeclareMathOperator{lev}{lev}

begin{document}

begin{equation*}
lev_{a,b}(i,j)=
  begin{cases}
  max(i,j) & text{if $min(i,j)=0$,} \[1ex]
  begin{aligned}[b]
  minbigl(lev_{a,b}&(i-1,j)+1, \
            lev_{a,b}&(i,j-1)+1, \
            lev_{a,b}&(i-1,j-1)+1_{(a_ine b_j)}
      bigr)
  end{aligned} & text{otherwise.}
end{cases}
end{equation*}

end{document}

entrez la description de l'image ici

Vous pourriez préférer la réalisation suivante, qui est obtenue en utilisant begin{aligned} à la place de begin{aligned}[b].

entrez la description de l'image ici

amsmath‘s cases est défini pour cela. L’espace horizontal entre le support et le contenu intérieur est très bon.

documentclass{article}
usepackage{amsmath}
begin{document}
[
mathrm{lev}_{a,b}(i,j)=begin{cases}
    max(i,j)&text{if $min(i,j)=0$,}\
    minbegin{cases}
        mathrm{lev}_{a,b}(i-1,j)+1\
        mathrm{lev}_{a,b}(i,j-1)+1\
        mathrm{lev}_{a,b}(i-1,j-1)+1_{(a_ine b_j)}
    end{cases} &text{otherwise.}
end{cases}
]
end{document}

entrez la description de l'image ici


Il me semble que vous écrivez un document qui utilise assez souvent la fonction lev(). Dans ce cas, vous devez définir une nouvelle macro pour éviter les répétitions (j’utilise DeclareMathOperator, ce qui est le meilleur moyen pour cela, grâce à la suggestion d’egreg dans son commentaire).

documentclass{article}
usepackage{amsmath}
%newcommand{lev}{mathrm{lev}}: not good
DeclareMathOperator{lev}{lev}
begin{document}
[
lev_{a,b}(i,j)=begin{cases}
    max(i,j)&text{if $min(i,j)=0$,}\
    minbegin{cases}
        lev_{a,b}(i-1,j)+1\
        lev_{a,b}(i,j-1)+1\
        lev_{a,b}(i-1,j-1)+1_{(a_ine b_j)}
    end{cases} &text{otherwise.}
end{cases}
]
end{document}

entrez la description de l'image ici

entrez la description de l'image ici

Si vous utilisez la fonction lev beaucoup alors c’est une bonne idée de le définir comme suit

newcommand{lev}[2]{mathrm{lev}_{a, thinspace b} (#1, thinspace #2)}

Tapez simplement lev et vous obtiendrez la fonction avec deux arguments à saisir.

documentclass{article}
usepackage{amsmath}
usepackage{booktabs}
usepackage{array}

begin{document}

newcommand{lev}[2]{mathrm{lev}_{a, thinspace b} (#1, thinspace #2)}    
begin{equation}
lev{i}{j} = leftlbrace
    begin{array}{l l}
        max(i, thinspace j) & text{if~} min(i, thinspace j) =0,
    \
        min leftlbrace hspace{-1mm}
                begin{array}{l}
                    lev{i-1}{j} + 1
                \
                addlinespace[0.5mm]
                    lev{i}{j-1} + 1
                \
                addlinespace[0.5mm]
                    lev{i-1}{j-1} + 1_{(a_{i} neq b_{j})}
                end{array}

            right. & text{otherwise}.
    end{array}
            right.
end{equation}

end{document}



Articles Similaires

Laisser un commentaire

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