跨对齐标签的下支撑

跨对齐标签的下支撑

当我尝试在对齐标签中使用下划线时,就像这样

\begin{align*}
\underbrace{1 && 2 && 3 && 4}_{small} && 5 && 6 && 7 && 8
\end{align*}

我收到一个错误,这并不太令人惊讶。

是否有一个简单的方法来实现上述目标?

具体来说,我正在寻找一种选项,当环境中的某些元素分布在多个(偶然的)对齐选项卡中时,可以在这些元素下方放置下划线align。我希望选项卡之间的间距不会受到添加下划线的影响。

结果看起来应该是这样的:

在此处输入图片描述

align我们也欢迎不使用环境的等效解决方案。

编辑:理想情况下,我仍然希望使用类似 align 的解决方案,因为我可能必须在多行上重复这种构造,并且希望保持选项卡之间的对齐。

例如,我可能想做类似的事情:

在此处输入图片描述

(上图取自 David Carlisle 的回答)

答案1

不要使用,而是使用类似(或,或)align插入空格:\quad\qquad\hspace{<len>}

在此处输入图片描述

\documentclass{article}

\begin{document}

\[
  \underbrace{1 \qquad 2 \qquad 3 \qquad 4}_{\makebox{\small small}}
    \qquad 5 \qquad 6 \qquad 7 \qquad 8
\]

\end{document}

如果你正在使用amsmath无论如何,您可以使用\text{..}而不是\makebox{\small ..}


如果您坚持使用align,我建议您在页面上放置标记,以捕获您想要 开始和结束的 x 坐标\underbrace。我们称之为leftright标记:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath,zref-savepos}
\begin{document}

\begin{align*}
  \zsaveposx{left}\makebox[0pt][l]{%
    $\underbrace{\rule{\dimexpr\zposx{right}sp-\zposx{left}sp}{0pt}}_{\text{small}}$}
  1 && 2 && 3 && 4\zsaveposx{right}
    && 5 && 6 && 7 && 8
\end{align*}

\end{document}

zref的模块通过类似于 s 的东西savepos提供了 pdfTeX 的接口。因此,我们使用 保存和的 x 坐标(以小点为单位,从页面左侧测量),并使用它来创建一个宽度为 ( sp - sp) 的框。该框的宽度设置为零,因此不会影响 内的间距。由于它是左对齐的,因此将向右拉伸,其中高度为零。\pdfsavepos\labelleftrightsp\zsaveposxrightleftalignl\underbrace{<rule>}_{<stuff>}<rule>

由于该技术使用\label类似\ref系统,因此您需要在第一次尝试时至少编译两次才能确定引用。

答案2

您可以使用array环境,第二行放置括号,第三行将文本放置在括号下。

\documentclass{article}
\usepackage{amsmath}

\begin{document}


$\begin{array}{*{8}{c}}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\multicolumn{4}{c}{$\upbracefill$}&\multicolumn{4}{c}{}\\
\multicolumn{4}{c}{\text{small}}&\multicolumn{4}{c}{}
\end{array}$


\end{document} 

您还可以使用命令自动创建下支撑

\Underbrace{<number of columns>}{<text under brace>}

\documentclass{article}
\usepackage{amsmath}

\def\Underbrace#1#2{\multicolumn{#1}{c}{$\upbracefill$}&\multicolumn{\numexpr 8-#1}{c}{}\\
\multicolumn{#1}{c}{\text{#2}}&\multicolumn{\numexpr 8-#1}{c}{}}

\begin{document}

$\begin{array}{*{8}{c}}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\Underbrace{4}{small}\\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8
\end{array}$


\end{document}

在此处输入图片描述

答案3

这样可以在不干扰对齐的情况下添加支架,尽管您必须手动调整支架的长度和位置。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
1 && 2 && 3 && 4 && 5 && 6 && 7 && 8\\[15pt]
\smash{\raise25pt\rlap{$\underbrace{\hspace{3cm}}_{\mathrm{small}}$}}
1 && 2 && 3 && 4 && 5 && 6 && 7 && 8\\
\end{align*}
\end{document}

答案4

这是一个解决方案pstricks

\documentclass{article}
\usepackage{mathtools}
\usepackage{pstricks-add, auto-pst-pdf}

\begin{document}
\begin{postscript}
  \begin{align*}
    \pnode[0pt, -2pt]{B}1 & & 2 & & 3 & & 4\pnode[0pt, -2pt]{E} & & 5 & & 6 & & 7 & & 8 \\[15pt]
    1 & & 2 & & 3 & & 4 & & 5 & & 6 & & 7 & & 8
  \end{align*}
  \psset{linejoin=1, nodesepB=1.5ex, rot=90, braceWidth=0.8pt, braceWidthInner=2.5pt, braceWidthOuter=2.5pt}
  \psbrace(B)(E){\clap{\footnotesize small}}
\end{postscript}
\end{document} 

在此处输入图片描述

相关内容