长表对齐,带标题

长表对齐,带标题

我尝试制作一个带有标题的表格,但布局方面遇到了一些问题。

我怎样才能让表格适合标题的宽度?最后一列突出来了。

我怎样才能调整第一列的对齐方式,使得 z 一个在另一个之下?

\documentclass{article}
\usepackage{longtable}
\usepackage{blindtext}
\begin{document}

\begin{table}[h]
\centering
\caption{\blindtext[1]}
\begin{longtable}{ c | c | c | c | c | c }
 & $0.23< z<13.4$ & $0< z<13.4$ & $0< z<13.4$ & $0.23< z<13.4$ & $0< z<13.4$
\\\hline $0< z<13.4$ & 1000000 & 10000000 & 10000000 & 10000000 & 10000000 
\\\hline $0< z<1$ & 1000000 & 10000000 & 10000000 & 10000000 & 10000000 
\\\hline $0.233< z<1$ & 1000000 & 10000000 & 10000000 & 10000000 & 10000000 
\end{longtable}
\end{table}

\end{document}

enter image description here

答案1

一些建议:

  • longtable导致 比文本块更宽的主要问题是标题行中的材料。要缩小单元格的宽度(不完全删除任何材料...),您需要减小 的值\thickmuskip,该参数控制在符号周围插入的空白量<。在下面的示例中,我将此参数设置为0mu

  • 减少列间空白的数量(由参数控制\tabcolsep)以及完全省略左侧和右侧边缘的空白似乎也是有针对性的。

  • 为了使左侧列中的材料在 上对齐z,我建议您使用几个\phantom说明。

  • 哦,不要把 a 放在longtablea 里面tablelongtable环境提供了自己的\caption机制。

enter image description here

\documentclass{article}
\usepackage{longtable}
\usepackage{blindtext}

\usepackage{etoolbox}
\AtBeginEnvironment{longtable}{%
   \setlength\thickmuskip{0mu}%
   \setlength\tabcolsep{3.7pt}% %% default value is 6pt
   \setlength\LTcapwidth{\textwidth}%
   }
\begin{document}
\hrule  % just to demonstrate width of text block

\begin{longtable}{@{} l | c c c c c @{}}
\caption{\blindtext[1]}\\
& $0.23< z<13.4$ & $0< z<13.4$ & $0< z<13.4$ & $0.23< z<13.4$ & $0< z<13.4$\\
\hline 
\endhead
$0\phantom{.233}< z<13.4$ & 1000000 & 10000000 & 10000000 & 10000000 & 10000000 \\
$0\phantom{.233}< z<1$ & 1000000 & 10000000 & 10000000 & 10000000 & 10000000 \\
$0.233< z<1$ & 1000000 & 10000000 & 10000000 & 10000000 & 10000000 \\
\end{longtable}

\end{document}

相关内容