![tabular* makecell + \textwidth 有换行符和跨度](https://linux22.com/image/346600/tabular*%20makecell%20%2B%20%5Ctextwidth%20%E6%9C%89%E6%8D%A2%E8%A1%8C%E7%AC%A6%E5%92%8C%E8%B7%A8%E5%BA%A6.png)
我希望表格可以横跨文本,但允许换行(使用 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}