我使用下面的代码在方程式周围制作一个框。它将方程式编号放在框外,但我希望方程式编号之内 盒子。
我该如何修改代码来实现这一点?提前致谢。
\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]
以获得以下输出: