在对齐模式下用方框包围方程式吗?

在对齐模式下用方框包围方程式吗?

我一直在尝试几种不同的方法在方程式周围放置一个框(突出显示的红色框)beamer。但是,我通常得不到预期的结果,或者弹出一堆错误并且什么都编译不出来。

下面是对齐环境内的三个方程的 MWE(理想情况下,我希望保留此环境)。我需要一个可以一次处理每个方程的框(有时可以处理多个方程,但不能同时处理所有方程)。此外,我尝试过的一些方法无法\sum正确地在方程周围放置框,通常会切掉其中的一部分,或切掉它们下面的迭代器。

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\begin{document}
\begin{align}
   &  \left[ \omega \sum_{k \in K} y_k + \sum_{i \in V} \sum_{j \in V} \sum_{k \in K} c_{ij}x_{ijk}\right]\\
   \notag\\
   & \sum_{k \in K} \sum_{j \in V | j \ne i} x_{ijk} = 1 & & \forall i \in P\\
   \notag\\
   & \sum_{j \in V | j \ne i} x_{ijk} - \sum_{j \in V | j \ne i} x_{dev(i)jk} = 0 && \forall i \in P, k \in K 
\end{align}
\end{document}

提前致谢,

答案1

我推荐这个hf-tikz软件包;它需要手动调整,但完全独立align

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{hf-tikz}

\begin{document}

\begin{frame}
\begin{align}
\tikzmarkin{first}(0.2,0.75)(-0.2,-0.7)
& \biggl[
    \omega \sum_{k \in K} y_k + 
    \sum_{i \in V} \sum_{j \in V} \sum_{k \in K} c_{ij}x_{ijk}
  \biggr]
\tikzmarkend{first}
\\[2ex]
& \sum_{k \in K} \sum_{j \in V | j \ne i} x_{ijk} = 1 
  && \forall i \in P
\\[2ex]
\tikzmarkin{third}(0.2,0.6)(-0.2,-0.75)
& \sum_{j \in V \mid j \ne i} x_{ijk} - \sum_{j \in V \mid j \ne i} x_{dev(i)jk} = 0
  && \forall i \in P, k \in K
\tikzmarkend{third}
\end{align}
\end{frame}

\end{document}

在此处输入图片描述

如果你只想要红色边框,有真正的角,

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[customcolors]{hf-tikz}

\hfsetfillcolor{white}
\hfsetbordercolor{red}

\begin{document}

\begin{frame}
\begin{align}
\tikzmarkin[disable rounded corners=true]{first}(0.2,0.75)(-0.2,-0.7)
& \biggl[
    \omega \sum_{k \in K} y_k + 
    \sum_{i \in V} \sum_{j \in V} \sum_{k \in K} c_{ij}x_{ijk}
  \biggr]
\tikzmarkend{first}
\\[2ex]
& \sum_{k \in K} \sum_{j \in V | j \ne i} x_{ijk} = 1 
  && \forall i \in P
\\[2ex]
\tikzmarkin[disable rounded corners=true]{third}(0.2,0.6)(-0.2,-0.75)
& \sum_{j \in V \mid j \ne i} x_{ijk} - \sum_{j \in V \mid j \ne i} x_{dev(i)jk} = 0
  && \forall i \in P, k \in K
\tikzmarkend{third}
\end{align}
\end{frame}

\end{document}

在此处输入图片描述

答案2

\Aboxed您可以使用来自 的命令获取它mathtools,但是它可以包含单个&,因此我不得不删除 的对齐

对于颜色,我修补了\boxed中的命令amsmath,该命令由 使用\Aboxed(但请注意,所有数学框式方程式都将为红色)。此外,\smashoperator在下标较大的情况下,我使用以下表达式来改善间距:

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}}
\usepackage{xpatch}
\xpatchcmd{\boxed}{%
\fbox}{%
\fcolorbox{red}{white}}{}{}

\begin{document}

\begin{align}
\Aboxed{& \Biggl[ \omega\sum_{k \in K} y_k + \sum_{i \in V} \sum_{j \in V} \sum_{k \in K} c_{ij}x_{ijk}\Biggr]}\\
   \notag\\
   &\sum_{k \in K} \smashoperator[r]{\sum_{j \in V | j \ne i}} x_{ijk}= 1 \qquad \forall i \in P\\
   \notag\\
 \Aboxed{&\smashoperator[r]{\sum_{j \in V | j \ne i}} x_{ijk} - \smashoperator{\sum_{j \in V | j \ne i}} x_{dev(i)jk}= 0\qquad \forall i \in P, k \in K} \end{align}

\end{document} 

在此处输入图片描述

相关内容