我一直在尝试几种不同的方法在方程式周围放置一个框(突出显示的红色框)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}