framed
我正在使用和- 包来构建文档中的某些元素empheq
。
但是,由于我想要一种统一的方式来使用一个环境,我认为使用tcolorbox
是最简单的方法。我将自己的框定义为
\newtcolorbox{mybox}[1][]{before=\centering, hbox, drop fuzzy shadow, enhanced, colback=white, sharp corners, colframe=red, fonttitle=\bfseries, title=#1, center title}
但是现在,我无法在新框中的很多环境中包含显示的数学!就我而言,我通常只需使用环境即可align*
,但我在互联网上或 TcolorBox 手册中都找不到任何教我如何添加支持align*
(我认为我必须这样做)的东西。
有人可以帮我吗?
梅威瑟:
\documentclass{article}
\usepackage{tcolorbox, mathtools}
\tcbuselibrary{skins}
\newtcolorbox{mybox}[1][]{before=\centering, hbox, drop fuzzy shadow, enhanced, colback=white, sharp corners, colframe=red, fonttitle=\bfseries, title=#1, center title}
\begin{document}
\begin{mybox}
\begin{align*}
z &= r \cos \varphi + \Im r \sin \varphi = r e^{\Im \varphi}\\
r &= |z| = \sqrt{x^2 + y^2}
\end{align*}
\end{mybox}
\end{document}
错误:
ERROR: Missing \endgroup inserted.
--- TeX said ---
<inserted text>
\endgroup
l.86 \end{mybox}
答案1
\documentclass{article}
\usepackage{tcolorbox, mathtools}
\tcbuselibrary{skins}
\newtcolorbox{mybox}[1][]{before=\centering, drop fuzzy shadow, enhanced, colback=white, sharp corners, colframe=red, fonttitle=\bfseries, title=#1, center title}
\begin{document}
\begin{mybox}
\begin{align*}
z &= r \cos \varphi + \Im r \sin \varphi = r e^{\Im \varphi}\\
r &= |z| = \sqrt{x^2 + y^2}
\end{align*}
\end{mybox}
\end{document}
您需要删除“ \hbox
as align
is a display structure”。
或者,如果你想要水平盒子,使用内联数学标记,而aligned
不是align*
\documentclass{article}
\usepackage{tcolorbox, mathtools}
\tcbuselibrary{skins}
\newtcolorbox{mybox}[1][]{before=\centering, hbox, drop fuzzy shadow, enhanced, colback=white, sharp corners, colframe=red, fonttitle=\bfseries, title=#1, center title}
\begin{document}
\begin{mybox}
$\begin{aligned}
z &= r \cos \varphi + \Im r \sin \varphi = r e^{\Im \varphi}\\
r &= |z| = \sqrt{x^2 + y^2}
\end{aligned}$
\end{mybox}
\end{document}