如何嵌套案例?

如何嵌套案例?

我是 LaTeX 新手。我知道如何用 LaTeX 写出基本方程式。但是,下面的方程式对我来说似乎太难了。请帮我解答。谢谢。

在此处输入图片描述

答案1

我不会使用内部括号,而是使用最小值的标准符号,只是跨行拆分。

\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]
  \min\bigl(\lev_{a,b}&(i-1,j)+1, \\
            \lev_{a,b}&(i,j-1)+1, \\
            \lev_{a,b}&(i-1,j-1)+1_{(a_i\ne b_j)}
      \bigr)
  \end{aligned} & \text{otherwise.}
\end{cases}
\end{equation*}

\end{document}

在此处输入图片描述

您可能更喜欢以下实现,它是通过使用\begin{aligned}而不是获得的\begin{aligned}[b]

在此处输入图片描述

答案2

amsmath'scases就是为此定义的。括号与内部内容之间的水平空间非常好。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\mathrm{lev}_{a,b}(i,j)=\begin{cases}
    \max(i,j)&\text{if $\min(i,j)=0$,}\\
    \min\begin{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_i\ne b_j)}
    \end{cases} &\text{otherwise.}
\end{cases}
\]
\end{document}

在此处输入图片描述


在我看来,您正在编写一个经常使用 lev() 函数的文档。在这种情况下,您应该定义一个新的宏以避免重复(我使用\DeclareMathOperator,这是最好的方法,感谢埃格尔的建议)。

\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$,}\\
    \min\begin{cases}
        \lev_{a,b}(i-1,j)+1\\
        \lev_{a,b}(i,j-1)+1\\
        \lev_{a,b}(i-1,j-1)+1_{(a_i\ne b_j)}
    \end{cases} &\text{otherwise.}
\end{cases}
\]
\end{document}

在此处输入图片描述

答案3

在此处输入图片描述

如果经常使用该函数lev,那么最好按如下方式定义它。

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

只需输入\lev,您就会获得带有两个参数的函数。

\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} = \left\lbrace
    \begin{array}{l l}
        \max(i, \thinspace j) & \text{if~} \min(i, \thinspace j) =0,
    \\
        \min \left\lbrace \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}

相关内容