我有对齐显示方程类似于以下示例。我在这里使用单词作为占位符,但它们实际上是数学表达式:
\begin{gather}
\begin{alignedat}{3}
(& \text{dolor} && +\text{adipiscing} && +\text{amet} \\
& \text{consectetur} && -\text{sit} && -\text{elit} && )
\end{alignedat}
\end{gather}
我想在每个对齐列中添加一个下括号。换句话说,有三组术语,每组由第一行中的一个术语和第二行中的一个术语组成:
\begin{gather}
\begin{alignedat}{3}
(& \text{dolor} && +\text{adipiscing} && +\text{amet} \\
& \underbrace{\text{consectetur}}_{\text{first}}
&& \underbrace{-\text{sit}}_{\text{second}}
&& \underbrace{-\text{elit}}_{\text{third}} && )
\end{alignedat}
\end{gather}
每个下括号仅跨越第二行中其术语的宽度。相反,我想在其对齐列中放置一个跨越最宽术语的下括号,表明它适用于此列中的所有术语。这是一个 photoshop 示例:
这是否可以通过通用方式实现,即无需为每个这样的方程块手动创建每列最长项的幻像元素?
答案1
你可以使用eqparbox
包装来实现这一点。我不会将下部支撑延伸到标志上,而是将它们放在外面。
\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\begin{document}
\begin{gather}
\begin{alignedat}{3}
(& \eqmakebox[A][l]{dolor} && +\eqmakebox[B][l]{adipiscing} &&
+\eqmakebox[C][l]{amet} \\
& \underbrace{\eqmakebox[A][l]{consectetur}}_{\text{first}}
&& -\underbrace{\eqmakebox[B][l]{sit}}_{\text{second}}
&& -\underbrace{\eqmakebox[C][l]{elit}}_{\text{third}} && )
\end{alignedat}
\end{gather}
\end{document}
或者遵循 barbara beeton 的建议。
\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\begin{document}
\begin{gather}
\begin{alignedat}{3}
(&\, \eqmakebox[A][l]{dolor} && \eqmakebox[B][l]{$\,{}+\text{adipiscing}$} &&
\eqmakebox[C][l]{$\,{}+\text{amet}$} \\
& \underbrace{\eqmakebox[A][l]{consectetur}}_{\text{first}}
&& \underbrace{\eqmakebox[B][l]{${}-\text{sit}$}}_{\text{second}}
&& \underbrace{\eqmakebox[C][l]{${}-\text{elit}$}}_{\text{third}} && )
\end{alignedat}
\end{gather}
\end{document}
或者
\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\begin{document}
\begin{gather}
\begin{alignedat}{3}
(\!&\, \eqmakebox[A][l]{dolor} && \,\eqmakebox[B][l]{${}+\text{adipiscing}$} &&
\,\eqmakebox[C][l]{${}+\text{amet}$} \\
& \underbrace{\eqmakebox[A][l]{consectetur}}_{\text{first}}
&& \underbrace{\eqmakebox[B][l]{${}-\text{sit}$}}_{\text{second}}
&& \underbrace{\eqmakebox[C][l]{${}-\text{elit}$}}_{\text{third}} && )
\end{alignedat}
\end{gather}
\end{document}