无法更改中间列的长表宽度

无法更改中间列的长表宽度

当我通过以下方式指定宽度时\begin{longtable}p{xcm}

例如,这是我的代码

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\begin{document}

\newpage
\begin{longtable}{p{2cm}lp{2cm}lp{2cm}l}
\caption{Test}\\
\label{table:sh}\\
\hline\hline
2cm  &  2cm   & 2cm \\
\hline
Test &  test  & test  \\
\end{longtable}

\begin{longtable}{p{4cm}lp{4cm}lp{4cm}l}
\caption{Test}\\
\label{table:sh}\\
\hline\hline
4cm  &  4cm   & 4cm \\
\hline
Test &  test  & test  \\
\end{longtable}
\end{document}

显然,第一列和第三列的宽度已经改变,但中间列的宽度没有改变。这是为什么?如何解决?

在此处输入图片描述

答案1

\begin{longtable}{p{2cm}lp{2cm}lp{2cm}l}表示您有 6 列,其中 3 列指定了宽度。因此,预计第二列(l如左图)仅具有容纳test单词所需的宽度。

答案2

这里缺少&使用正确列的字符——定义了 6 列,但只&使用了 3 列。

删除内部l列说明符或使用其他&字符。

l在我看来,额外的列是没有必要的——表格会变得太宽,并且LaTeX会抱怨框太满。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\begin{document}

\begin{longtable}{p{2cm}lp{2cm}lp{2cm}l}
\caption{Test}\\
\label{table:sh}\\
\hline\hline
2cm  & & 2cm  & & 2cm \\
\hline
Test & & test & & test  \\
\end{longtable}

\begin{longtable}{p{4cm}lp{4cm}lp{4cm}l}
\caption{Test}\\
\label{othertable:sh}\\
\hline\hline
4cm  &  & 4cm   & & 4cm \\
\hline
Test &  & test  & & test  \\
\end{longtable}
\end{document}

在此处输入图片描述

答案3

您的数字有误&:您应该写

 x cm & & x cm & & x cm \\

换句话说:您并不总是处于您认为自己所在的列中。

相关内容