我想让几个等式按等号对齐。同时,我想在第一个等号的左侧和右侧放置一个括号(或方括号),以便写入对其他等式的引用(这是为了解释这个等式的来源)。但如果同时执行这两项操作,就会出现错误。
这有效,但没有对齐:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{flalign}
\overbrace{ f = \sum_{i\in I} a_i }^{\text{ my notes }} \\
g &= blabla \\
h &= blabla
\end{flalign}
\end{document}
我想要这样的东西:
\overbrace{ f &= \sum_{i\in I} a_i }^{\text{ my notes }} \\
但“&”会产生错误。有什么方法可以实现我想要的效果吗?
答案1
不太优雅但有效
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{flalign}
\rlap{$\displaystyle\overbrace{\phantom{f = \sum_{i\in I} a_i}}^{\text{ my notes }}$}
f &= \sum_{i\in I} a_i \\
g &= blabla \\
h &= blabla
\end{flalign}
\end{document}
基本上,您先将带有 的表达式放在\overbrace
一个框中并打印出来。使用\rlap
表达式打印而不占用任何水平位置。然后打印表达式,这次使用 对齐&
。
\mathrlap
使用mathtools
包可以获得相同的结果
\documentclass{article}
\usepackage{mathtools} % loads also amsmath
\begin{document}
\begin{flalign}
\mathrlap{\overbrace{\phantom{f = \sum_{i\in I} a_i}}^{\text{ my notes }}}
f &= \sum_{i\in I} a_i \\
g &= blabla \\
h &= blabla
\end{flalign}
\end{document}
答案2
20 分钟后,我创建了这个 MWE,更丑陋(:-))比@campa 的答案更好......但它也有效。
\documentclass[a4paper,12pt]{article}
\usepackage{mathtools}
\begin{document}
\[
\begin{matrix}
\mathclap{\overbrace{f = \displaystyle \sum_{i\in I} a_i }^{\text{my notes}}} \\[2ex]
g= \phantom{\displaystyle \sum_{i\in I} a_i} \hspace{-3.5\tabcolsep}\text{abc} \\
h=\phantom{\displaystyle \sum_{i\in I} a_i} \hspace{-3.5\tabcolsep}\text{abc}
\end{matrix}
\]
\end{document}