根据旧对齐环境定义新的对齐环境

根据旧对齐环境定义新的对齐环境

我知道有很多类似的问题,但由于(即使读了好几遍)我还是不明白答案,所以我无法将它们应用到我的问题上。我只是想根据旧的对齐环境定义一个新的对齐环境,例如

\documentclass[11pt]{scrbook}

\usepackage{empheq}
\usepackage[many]{tcolorbox}
\tcbset{highlight math style={enhanced,colframe=black,arc=8pt,boxrule=1pt}}
\newenvironment{alignteo}%
  {
  \begin{empheq}[box=\tcbhighmath]{align}
  }{
  \end{empheq}
  }

\begin{alignteo}
f = a x
\end{alignteo}

\end{document}

使用\begin{alignteo}\end{alignteo}出现错误

! LaTeX Error: \begin{empheq} on input line 448 ended by \end{alignteo}.

有没有不使用environ包就可以做到这一点的方法?

答案1

environ

\documentclass{article} 
\usepackage[svgnames,hyperref]{xcolor}
\usepackage{empheq}
\usepackage[many]{tcolorbox}

\tcbset{highlight math style={enhanced,
  colframe=red!60!black,colback=yellow!50!white,arc=4pt,boxrule=1pt,
  drop fuzzy shadow}}

\usepackage{environ}
\NewEnviron{alignteo}{
  \begin{empheq}[box=\tcbhighmath]{align}
  \BODY
  \end{empheq}
}

\begin{document}

\begin{equation}
\tcbhighmath{E = mc^2}
\end{equation}

\begin{empheq}[box=\tcbhighmath]{align}
a&=b\\
E&=mc^2 + \int_a^a x\, dx
\end{empheq}

\begin{alignteo}
a&=b\\
E&=mc^2 + \int_a^a x\, dx
\end{alignteo}
\end{document}

在此处输入图片描述

没有environ

\documentclass{article} 
\usepackage[svgnames,hyperref]{xcolor}
\usepackage{empheq}
\usepackage[many]{tcolorbox}

\tcbset{highlight math style={enhanced,
  colframe=red!60!black,colback=yellow!50!white,arc=4pt,boxrule=1pt,
  drop fuzzy shadow}}

\newenvironment{alignteo}%
  {\empheq[box=\tcbhighmath]{align}}
  {\endempheq}


\begin{document}

\begin{equation}
\tcbhighmath{E = mc^2}
\end{equation}

\begin{empheq}[box=\tcbhighmath]{align}
a&=b\\
E&=mc^2 + \int_a^a x\, dx
\end{empheq}

\begin{alignteo}
a&=b\\
E&=mc^2 + \int_a^a x\, dx
\end{alignteo}
\end{document}

相关内容