我尝试制作一个带有标题的表格,但布局方面遇到了一些问题。
我怎样才能让表格适合标题的宽度?最后一列突出来了。
我怎样才能调整第一列的对齐方式,使得 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}
答案1
一些建议:
longtable
导致 比文本块更宽的主要问题是标题行中的材料。要缩小单元格的宽度(不完全删除任何材料...),您需要减小 的值\thickmuskip
,该参数控制在符号周围插入的空白量<
。在下面的示例中,我将此参数设置为0mu
。减少列间空白的数量(由参数控制
\tabcolsep
)以及完全省略左侧和右侧边缘的空白似乎也是有针对性的。为了使左侧列中的材料在 上对齐
z
,我建议您使用几个\phantom
说明。哦,不要把 a 放在
longtable
a 里面table
。longtable
环境提供了自己的\caption
机制。
\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}