桌子下方的下支撑,延伸至多根立柱

桌子下方的下支撑,延伸至多根立柱

我想使用下括号将一些信息标注到表格列组中。因此,表格下方应该有一个\underbrace横跨多行的下括号。我尝试了以下方法:

\begin{tabular}{r|c|c|c|c}
  i & 0 & 1 & 2 & 3 \\
  \multicolumn{1}{c}{} & \multicolumn{3}{c}{$\underbrace{\hfill}_{a_1}$} & \multicolumn{1}{c}{$\underbrace{\hfill}_{a_1}$}
\end{tabular}

此处\hfill的效果不如我预期。支架没有被拉伸,但仍然很小且居中。我该如何让它拉伸?

答案1

在此处输入图片描述

\documentclass{article}

\begin{document}

\begin{tabular}{r|c|c|c|c}
  i & 0 & 1 & 2 & 3 \\
  \multicolumn{1}{c}{} & \multicolumn{3}{c}{\upbracefill}& \multicolumn{1}{c}{\upbracefill}\\[-1ex]
  \multicolumn{1}{c}{} & \multicolumn{3}{c}{$\scriptstyle a_1$}& \multicolumn{1}{c}{$\scriptstyle a_2$}\\
\end{tabular}


\end{document}

答案2

是的,您需要用适当的空格填充跨越的内容:

在此处输入图片描述

\documentclass{article}
\begin{document}
\begin{tabular}{r|c|c|c|c}
  $i$ & 0 & 1 & 2 & 3 \\
  \multicolumn{1}{c}{} & 
    \multicolumn{3}{@{}c@{}}{$\underbrace{\hspace*{\dimexpr6\tabcolsep+2\arrayrulewidth}\hphantom{012}}_{a_1}$} & 
    \multicolumn{1}{@{}c@{}}{$\underbrace{\hspace*{2\tabcolsep}\hphantom{3}}_{a_2}$}
\end{tabular}

\bigskip

\begin{tabular}{r|c|c|c|c}
  $i$ & 0 & 1 & 2 & 3 \\[\dimexpr-\normalbaselineskip+1ex]
  \multicolumn{1}{c}{} & 
    \multicolumn{3}{@{}c@{}}{$\underbrace{\hspace*{\dimexpr6\tabcolsep+2\arrayrulewidth}\hphantom{012}}_{a_1}$} & 
    \multicolumn{1}{@{}c@{}}{$\underbrace{\hspace*{2\tabcolsep}\hphantom{3}}_{a_2}$}
\end{tabular}
\end{document}​

使用列规范@{}c@{}将删除该(多)单元格条目的任何列填充。 放置\underbrace在大小为 的空间下6\tabcolsep+2\arrayrulewidth,水平宽度为 的文本相当于012(在第一个 中\underbrace),这与 中的结构化信息量相同tabular

我添加了第二种替代方案,可以调整下的垂直对齐tabular,我认为这更好。

如果你不满意tabular,当然,更简单的方法是:

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\newcommand{\sep}{\mathclap{|}}% Separator
\begin{document}
\[
  i \quad\sep\underbrace{\quad 0 \quad\sep\quad 1 \quad\sep\quad 2 \quad}_{a_1}
  \sep
  \underbrace{\quad 3\vphantom{|} \quad}_{a_2}\sep
\]
\end{document}​

mathtools提供\mathclap- 数学模式下以内容为中心的零宽度框。

相关内容