表格中方程式周围的彩色框

表格中方程式周围的彩色框

我一直在使用该empheq包将一些方程式放在彩色框中。我尝试将其放在表格环境中,但它标记了以下错误:

Bad math environment delimiter. \end{empheq}}
\begin{equation*} on input line 25 ended by \end{AmSequation*}. \end{empheq}}

empheq当环境位于表格环境之外时,文档可以正常编译且没有错误,但是当包含在多列中时,它会出现上述两个错误(尽管它确实打印了正确的结果)。

当框式方程式放在表格环境中时,是什么导致了这两个错误?

这是一个最小的工作示例:

\documentclass{article}

\usepackage{amsmath}
\usepackage[most]{tcolorbox}
\usepackage{empheq}
\usepackage{float}

\newtcbox{\mymath}[1][]{%
    nobeforeafter, math upper, tcbox raise base,
    enhanced, colframe=blue!30!black,
    colback=blue!30, boxrule=1pt,
    #1}

\begin{document}

    \begin{tabular}{c|c}
        \multicolumn{2}{c}{
           \begin{empheq}[box=\mymath]{equation*}
               \int_{-y}^{y} f(x) dx
           \end{empheq}}\\ \\
    \hline
    \textbf{Lower limit} & \textbf{Upper limit} \\
    \hline
    -y & y \\
    \end{tabular}

\end{document}

输出如下:

在此处输入图片描述

任何帮助是极大的赞赏。

· 雪人

答案1

我认为您的问题本质上源于将equation环境放在表中。(尽管将非 empheq 方程环境放在表中会产生不同的错误,但它仍然不起作用)。

使用的目的empheq是允许 AMS 方程式在强调的 tcolorbox 之外进行编号。如果您不需要 AMS 显示环境附带的编号和居中/间距,您可以直接使用您定义的 tcolorbox,而无需empheq

\documentclass{article}

\usepackage{amsmath}
\usepackage[most]{tcolorbox}
\usepackage{empheq}
\usepackage{float}

\newtcbox{\mymath}[1][]{%
    nobeforeafter, math upper, tcbox raise base,
    enhanced, colframe=blue!30!black,
    colback=blue!30, boxrule=1pt,
    #1}

\begin{document}

    \begin{tabular}{c|c}
        \multicolumn{2}{c}{
           \mymath{\int_{-y}^{y} f(x) dx}
        }\\ \\
    \hline
    \textbf{Lower limit} & \textbf{Upper limit} \\
    \hline
    -y & y \\
    \end{tabular}

\end{document}

答案2

empheq不能在单元格中使用tabular,除非将其声明为p,但您实际上并不需要;只需使用\mymath

但是,在这种情况下,tcbox raise base应该取消该选项,以便我们更好地控制垂直间距。这可以用 来实现tcbox raise=0mm

我还用规则改善了表格的外观booktabs,避免了毫无用处的垂直规则。

\documentclass{article}

\usepackage{amsmath}
\usepackage[most]{tcolorbox}
\usepackage{booktabs}

\newtcbox{\mymath}[1][]{%
  on line, % does 'nobeforeafter' and 'tcbox raise base'
  math upper, 
  enhanced,
  colframe=blue!30!black,
  colback=blue!30,
   boxrule=1pt,
  #1
}

\begin{document}

\begin{tabular}{cc}
\multicolumn{2}{c}{%
  \mymath[tcbox raise=0mm]{% we don't want on line, in this case
    \int_{-y}^{y} f(x) \,dx
  }%
}
\\
\midrule[\heavyrulewidth]
Lower limit & Upper limit \\
\cmidrule(lr){1-1}\cmidrule(lr){2-2}
$-y$ & $y$ \\
\bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

相关内容