表格内多列方程的错误(在 tcolorbox 内)

表格内多列方程的错误(在 tcolorbox 内)

我尝试重建一个相当复杂的数学表,结果几乎让我满意。MWE 实际上编译成了我想要的表格,但出现了错误消息。当我将表格包含到我的真实(大)文档中时,我也会收到错误消息,但在这种情况下,文档不再编译。

我花了相当多的时间进行实验和检查$,但找不到错误,如能得到任何提示我将不胜感激。

\documentclass[]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{latexsym}
\usepackage{amsmath}
\usepackage[listings,theorems]{tcolorbox}
\tcbset{before={\par\medskip\pagebreak[0]\noindent},after={\par\medskip}}%

\begin{document}


\newcounter{texercise}[chapter]
\begin{tcolorbox}[colback=blue!5,colframe=blue!50!black,arc=0mm,
theorem={Algebra}{texercise}{(Vereinfachter) Datentyp 'Liste'}{myMarker}]{}
\medskip


\begin{tabular}{llll}
 \textbf{algebra}  &  $list_1$  &  &  \\
 \textbf{sorts}    & \multicolumn{3}{l}{$list$, $elem$ \{$bool$ ist im folgenden immer implizit dabei\}}  \\
 \textbf{ops}      &  $empty$   &  $:$      &  $\to list$   \\
                   &  $first$   &  $:list$  &  $\to elem$   \\
                   &  $append$    &  $:list$  &  $\to list$   \\
                   &  $concat$    &  $:list \times elem$  &  $\to list$   \\
                   &  $isempty$    &  $:list \times list$  &  $\to bool$   \\
\textbf{sets}      &  $list$  & \multicolumn{2}{l}{$= \{ <a_1,\dots,a_n> \mid n \ge 0, a_i \in elem$\}}\\
\textbf{functions} & & & \\
                  &   $empty$ & \multicolumn{2}{l}{ $ = \Diamond$}\\
                  &   \multicolumn{3}{l}{
                     \begin{equation*}
                     $first(a_1 \dots a_n) =$
                       \begin{cases}
                         $a_1$ & \text{falls $n>0$} \\
                         undefiniert & \text{sonst}
                       \end{cases}
                     \end{equation*}}  \\
\textbf{end} $list_1$ & & & \\

\end{tabular}
\end{tcolorbox}
\end{document}

错误信息如下:

ERROR: Missing $ inserted.

--- TeX said ---
<inserted text> 
            $
l.36                      \end{equation*}}
                                        \\
--- HELP ---
TeX probably found a command that can be used only in math mode when
it wasn't in math mode....

结果如下:

MWE 结果

答案1

无需equation*为了使用cases环境而使用。只需使用以下定义:

%... 
& \multicolumn{3}{l}{%
  $first(a_1 \dots a_n) =
    \begin{cases}
      a_1 & \text{falls $n>0$} \\
      \text{undefiniert} & \text{sonst}
    \end{cases}$} \\
%... 

在此处输入图片描述

部分问题在于您正在使用equation*然后使用$...启动数学模式$。已经启动数学模式,因此不需要equation*使用。$

您可能还希望使用\langle...\rangle而不是<...>作为列表符号。

相关内容