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