构建一个对齐环境的多个方程(但不是全部)

构建一个对齐环境的多个方程(但不是全部)

我认为这个问题是不言自明的。我有一个包含四个方程的对齐环境,我只希望最后两个方程被框在一个框中。所以不是单独框起来的。

如果我尝试通过创建两个对齐环境并将整个第二个对齐环境装箱来实现这一点,那么方程组将居中对齐,而我并不想这样。我想保留原始组的对齐方式。即在等号上。

\documentclass{minimal}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a =& b\\
c =& d\\
    \framebox{e =& FFF\\
f =& GGG}\\
\end{align*}
\end{document}

答案1

另一种选择是使用tikzmarkTikZ 库;\tikzmark允许放置用于绘制框架的标记(可以根据需要随意设计):

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\begin{document}

\begin{tikzpicture}[remember picture,overlay]
\draw
  ([shift={(-1em,2.5ex)}]pic cs:starta) 
  rectangle 
  ([shift={(1em,-1.25ex)}]pic cs:enda);
\draw[red!60!black,thick,rounded corners,fill=yellow!30]
  ([shift={(-1em,2.5ex)}]pic cs:startb) 
  rectangle 
  ([shift={(1em,-1.25ex)}]pic cs:endb);
\end{tikzpicture}

\begin{align*}
a &= b\\
c &= d\\
\tikzmark{starta}e &= FFF\\
f &= GGG\tikzmark{enda}
\end{align*}

\begin{align*}
a &= b\\
cc &= d\\
\tikzmark{startb}eee &= FFF\\
f &= GGG\tikzmark{endb}
\end{align*}

\end{document}

由于涉及内部计算,代码需要运行两次才能稳定下来。

本着同样的精神,但代码更短,您可以使用hf-tikz包裹:

\documentclass{article}
\usepackage{amsmath}
\usepackage{hf-tikz}

\begin{document}

\renewcommand{\fcol}{white}
\renewcommand{\bcol}{black}
\begin{align*}
a &= b\\
c &= d\\
\tikzmarkin{a}(1em,-1.5ex)(-1em,2.5ex)e &= FFF\\
f &= GGG\tikzmarkend{a}
\end{align*}

\renewcommand{\fcol}{yellow!30}
\renewcommand{\bcol}{red!60!black}
\begin{align*}
a &= b\\
cc &= d\\
\tikzmarkin{b}(1em,-1.5ex)(-1em,2.5ex)eee &= FFF\\
f &= GGG\tikzmarkend{b}
\end{align*}

\end{document}

在此处输入图片描述

答案2

当然,它既不是最优解,也不是最通用的解,但它是有效的(在这种特殊情况下):\Aboxed使用mathtools包(用于加载和补充amsmath)和两个aligned环境。

\documentclass{minimal}
\usepackage{mathtools}
\begin{document}
\begin{align*}
  &\begin{aligned}
    a &= b\\
    c &= d
  \end{aligned}\\
  \Aboxed{&{\begin{aligned}
    e &= FFF\\
    f &= GGG
  \end{aligned}}}
\end{align*}
\end{document}

在此处输入图片描述

请注意第二个环境周围的括号aligned:如mathtools 文档

\Aboxed寻找对齐 & 时,可能需要隐藏也使用 & 的构造(如矩阵)。只需在要隐藏的构造周围添加一组括号即可。

相关内容