tabular* makecell + \textwidth 有换行符和跨度

tabular* makecell + \textwidth 有换行符和跨度

我希望表格可以横跨文本,但允许换行(使用 makecell)。表格可以横跨文本(因为行一直到末尾),但文本无法正确展开(即如我所愿)。以下是最简单的示例:

\documentclass{article}
\usepackage{makecell}
\begin{document}

\begin{table}

\caption{test table}

\begin{tabular*}{1\textwidth}{lcccccccc}
  \hline
\hline
col 1 & A & \makecell[tc]{B\\C} & D & \makecell[tc]{E\\f} & \makecell[tc]{G\\ hij} & \makecell[tc]{K\\ lmn} & \makecell[tc]{O\\ P} & \makecell[tc]{Q\\ R} \\ 
  \hline
testing1 &  1 &   2 &   3 &   4 &  5 &  6 &   7 &  8 \\ 
testing2 &   9 &   10 &   11 &   12 & 13 & 14 & 15 & 16 \\ 
   \hline
\end{tabular*}

\end{table}
\end{document}

它给出了以下内容:

在此处输入图片描述

我想让文本分布在表格中。但它却向右移动了。

我有一个创建上述 LaTeX 的程序,因此我正在寻找一个不需要进行太多更改的解决方案,否则我将不得不花费大量时间重写该程序。

答案1

\makecell与问题无关。您没有设置\extracolsep

\documentclass{article}
\usepackage{makecell}
\begin{document}

\begin{table}

\caption{test table}

\begin{tabular*}{\textwidth}{
  @{\hspace{\tabcolsep}\extracolsep{\fill}}
  lcccccccc
}
\hline
\hline
col 1 & A & \makecell[tc]{B\\C} & D & \makecell[tc]{E\\f} & \makecell[tc]{G\\ hij} & \makecell[tc]{K\\ lmn} & \makecell[tc]{O\\ P} & \makecell[tc]{Q\\ R} \\ 
\hline
testing1 &  1 &   2 &   3 &   4 &  5 &  6 &   7 &  8 \\ 
testing2 &   9 &   10 &   11 &   12 & 13 & 14 & 15 & 16 \\ 
\hline
\end{tabular*}

\end{table}
\end{document}

在此处输入图片描述

相关内容