tcolorbox 内带有 empheq 的新环境

tcolorbox 内带有 empheq 的新环境

我必须定义一个新的环境来做这样的事情。

\documentclass[12pt]{article}
\usepackage{tcolorbox,empheq}
\begin{document}
\begin{tcolorbox}
\begin{empheq}{align}
a=b
\end{empheq}
\end{tcolorbox}
\end{document}

截屏

该代码运行良好,但如果我尝试使用 testa 或 testb 之类的代码,就会出现错误。

\documentclass[12pt]{article}
\usepackage{tcolorbox,empheq}

\newenvironment{testa}{\tcolorbox\empheq{align}}{\endempheq\endtcolorbox}
\newenvironment{testb}{\tcolorbox\setkeys{EmphEqEnv}{align}\EmphEqMainEnv}{\endEmphEqMainEnv\endtcolorbox}

\begin{document}
\begin{testa}
a=b
\end{testa}
\end{document}

有解决办法吗?

答案1

我建议使用临时包装环境empheq然后“包装”\tcolorboxenvironment它:

\documentclass[12pt]{article}
\usepackage[most]{tcolorbox}
\usepackage{empheq}

\newenvironment{testa}{%
  \empheq{align}
}{\endempheq}

\tcolorboxenvironment{testa}{colback=yellow!40!white}


\begin{document}


\begin{testa}
a=b
\end{testa}
\end{document}

答案2

我明白您想tcolorbox与结合empheq。您应该声明tcolorbox一个环境,其中包含一个可选参数,该参数定义颜色框方面,而不是包含环境的 。此组合可以声明为empheqempheqnewenvironment

\documentclass{article}

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

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

\newenvironment{testa}[1]{%
    \empheq[box={#1}]{align}}{\endempheq}

\begin{document}
\begin{empheq}[box=\mymath]{align}
    c_i &= \langle\psi|\phi\rangle \\
    d_i &= \sqrt{x^2-1}
\end{empheq}

\begin{testa}{\mymath[colback=red!30]}
    c_i &= \langle\psi|\phi\rangle \\
    d_i &= \sqrt{x^2-1}
\end{testa}

\end{document}

在此处输入图片描述

其他一些例子有吸引力的方框方程

相关内容