我认为这个问题是不言自明的。我有一个包含四个方程的对齐环境,我只希望最后两个方程被框在一个框中。所以不是单独框起来的。
如果我尝试通过创建两个对齐环境并将整个第二个对齐环境装箱来实现这一点,那么方程组将居中对齐,而我并不想这样。我想保留原始组的对齐方式。即在等号上。
\documentclass{minimal}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a =& b\\
c =& d\\
\framebox{e =& FFF\\
f =& GGG}\\
\end{align*}
\end{document}
答案1
另一种选择是使用tikzmark
TikZ 库;\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
寻找对齐 & 时,可能需要隐藏也使用 & 的构造(如矩阵)。只需在要隐藏的构造周围添加一组括号即可。