将方程周围的框扩展到整条线

将方程周围的框扩展到整条线

我的问题很简单:我\boxedamsmath包装中使用它,到目前为止一切顺利。

我遇到的唯一问题是,我在自己的行上使用盒装环境,但框仅围绕方程式,而不是整行。

示例代码:

  \[  \boxed{ p(v,h) = \frac{1}{Z} e ^{-E(v,h)} }  \]

我怎样才能将盒子扩展到整个线路?

谢谢你!

答案1

使用环境mdframed代替命令\boxed

梅威瑟:

\documentclass{article}
\usepackage{amsmath,mdframed}

\begin{document}

\begin{mdframed}
\[  p(v,h) = \frac{1}{Z} e ^{-E(v,h)}  \]
\end{mdframed}

\end{document}  

输出:

在此处输入图片描述

如果您需要任何背景,您可以backgroundcolormdframed环境添加一个选项。

例如:

\documentclass{article}
\usepackage{amsmath,mdframed,xcolor}

\begin{document}

\begin{mdframed}[backgroundcolor=green!10]
\[  p(v,h) = \frac{1}{Z} e ^{-E(v,h)} \]
\end{mdframed}

\begin{mdframed}[backgroundcolor=cyan!20]
\begin{equation}
  p(v,h) = \frac{1}{Z} e ^{-E(v,h)}
\end{equation}
\end{mdframed}

\end{document} 

输出:

在此处输入图片描述

答案2

我的解决方案有点不寻常,但最终它可以让您保留方程编号并突出显示包含方程的框。

为了实现这一点,我定义了一个\newcommand\fancyboxed其概要如下:

\fancyboxed[<background color>]{<equation>}

请注意,在这种情况下,参数<equation>已经处于数学模式,因此您不必插入诸如$...$\[...\]等内容。

我的解决方案背后的基本思想是将方程视为跨越整个的(矩形) tikz 节点的参数\linewidth

以下是代码:

\documentclass{article}
\usepackage{tikz}          %drawing
\usepackage{amsmath}
\usepackage{lipsum}        %dummy text
\newcommand{\fancyboxed}[2][white]{      %white is default background
  \begin{equation}
    \tikz \node at(0,0) [shape=rectangle,draw,thick,minimum width=\linewidth,fill=#1] {$\displaystyle #2$};
\end{equation}
  }
\begin{document}
\lipsum[1]
\fancyboxed{p(v,h) = \frac{1}{Z} e ^{-E(v,h)}}
\fancyboxed[red!30]{p(v,h) = \frac{1}{Z} e ^{-E(v,h)}}
\lipsum[2]
\end{document}

在此处输入图片描述

相关内容