盒子内的方程和方程编号

盒子内的方程和方程编号

我使用下面的代码在方程式周围制作一个框。它将方程式编号放在框外,但我希望方程式编号之内 盒子。

我该如何修改代码来实现这一点?提前致谢。

\documentclass[11pt]{report}

    \usepackage{empheq}


    \newcommand*\widefbox[1]{\fbox{\hspace{2em}#1\hspace{2em}}}

    \begin{document}
    \begin{empheq}[box=\widefbox]{align}
    & a = b +c \\
    & d = e+f
    \end{empheq}
    \end{document}

在此处输入图片描述

(因此:我希望框内有“(1)”和“(2)”。)

答案1

如需更改,请使用tcolorbox

\documentclass[11pt]{report}

\usepackage[most]{tcolorbox}
\tcbset{myformula/.style={colback=white, %yellow!10!white,
    colframe=black, %red!50!black,
    top=0pt,bottom=0pt,left=0pt,right=0pt,
    boxsep=0pt,
    arc=0pt,
    outer arc=0pt,
}}

\begin{document}
\begin{tcolorbox}[ams align,myformula]
& a = b +c \\
& d = e+f
\end{tcolorbox}
\end{document}

在此处输入图片描述

答案2

在我知道之前tcolorbox我使用了以下解决方案:

\documentclass{article}
    \usepackage{empheq}

    \newlength\fsep
    \setlength\fsep{2\fboxsep+2\fboxrule}
    \newsavebox\widebox
\newenvironment{mathbox}
    {\par\vskip\fsep\noindent%
     \begin{lrbox}{\widebox}%
     \begin{minipage}{\textwidth-\fsep}%
    }{\vskip\fsep\end{minipage}\end{lrbox}
      \framebox{\usebox\widebox}%
     }

    \begin{document}
\begin{mathbox}
    \begin{align}
a & = b +c \\
d & = e+f
    \end{align}
\end{mathbox}
    \end{document}

这使:

在此处输入图片描述

答案3

这是使用包的简单解决方案framed。我定义了一个myframedeq环境,它有一个可选参数,即框架的宽度(默认值:)\textwidth。可以以同样的方式定义一个 shadedeq 环境,它将数学环境包装成一个彩色框,带有彩色背景。

\documentclass[11pt]{report}
\usepackage[showframe]{geometry}
\usepackage{empheq}
\usepackage{xcolor, framed}

\newcommand*\widefbox[1]{\fbox{\hspace{2em}#1\hspace{2em}}}
\newenvironment{myframedeq}[1][\linewidth]{\FrameSep=4pt\abovedisplayskip=0pt\belowdisplayskip=0pt
\framed\hsize=#1\leftskip=\dimexpr(\textwidth-#1)/2\relax}
{\endframed}

\begin{document}
\begin{empheq}[box=\widefbox]{align}
  & a = b +c \\
  & d = e+f
\end{empheq}
Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text
\begin{myframedeq}
  \begin{align}
    a & = b + c \\
    d & =e + f
  \end{align}
\end{myframedeq}

\FrameRule=1pt
\begin{myframedeq}[0.6\linewidth]
  \begin{align}
    a & = b + c \\
    d & =e + f
  \end{align}
\end{myframedeq}

\end{document} 

在此处输入图片描述

答案4

TikZ 还可以带来很多乐趣:

\documentclass[11pt]{report}
\usepackage{amsmath,tikz}
\usetikzlibrary{tikzmark}
\begin{document}

\begin{tikzpicture}[remember picture,overlay]
\draw[fill=blue!10]([yshift=0pt]{pic cs:start}) rectangle ([yshift=.5em]{pic cs:end});
\end{tikzpicture}

\tikzmark{start}
\begin{align}
 a &= b+c \\
 d &= e+f
\end{align}\hfill\tikzmark{end}

\end{document}

您可以保留或删除[fill=blue!10]以获得以下输出:

在此处输入图片描述

相关内容