格式化标题,使其不超出表格宽度

格式化标题,使其不超出表格宽度

我创建了下表,它可以很好地显示在文档中:

    \begin{table}[!ht]
    \begin{tabular}{cccc}
    \caption{MyCaption}

    --data goes here--

    \end{tabular}
    \end{table}

但是,我将其集成到文档中后,它完全超出了页面的右侧。如何让它保持其大小?

编辑:这是一个非常小的表格,只有 4 列,所以大小不是问题。

\documentclass[12pt]{report}
\usepackage{thesis}
\usepackage{apacite}
\usepackage{url}
\usepackage{graphicx}

\begin{document}
%\input{MyChapter}

\begin{table}[!ht]
\caption{Performance scores from assessments of divergent and convergent thinking tests of creativity and non-creativity (control task).}

\begin{tabular}{c{3cm}c{1cm}c{1cm}c{1cm}}
\hline
Variable & \textit{N} & \textit{M} & \textit{SD}\\
\hline
XYZ & \hfill & \hfill & \hfill\\
XXX & 17 & 222 & 2222\\
XXX & 22 & 111 & 11\\
XXX & 22 & 111 & 111\\
XXX & 22 & 111 & 111\\
XYZ & \hfill & \hfill & \hfill\\
XXX & 111 &  & 12\\
XXX & 111 & 2 & 1\\
\hline
\label{table:1}
\end{tabular}
\end{table}

\end{document}

我认为可能是标题太长了。如何让它与表格保持相同的宽度?

答案1

我怀疑你看起来像这样:

在此处输入图片描述

上表图像由以下方式生成:

\documentclass[12pt]{report}
\usepackage{threeparttable}
\usepackage{showframe}

\begin{document}

\begin{table}[htbp]
    \centering
\begin{threeparttable}
    \caption{Performance scores from assessments of divergent and convergent thinking tests of creativity and non-creativity (control task).}
\label{table:1}
    \begin{tabular}{p{3cm}p{1cm}p{1cm}p{1cm}}
    \hline
Variable    & \textit{N} & \textit{M} & \textit{SD}\\
    \hline
XYZ         &           &           &           \\
XXX         & 17        & 222       & 2222      \\
XXX         & 22        & 111       & 11        \\
XXX         & 22        & 111       & 111       \\
XXX         & 22        & 111       & 111       \\
XYZ         &           &           &           \\
XXX         & 111       &           & 12        \\
XXX         & 111       & 2         & 1         \\
    \hline
    \end{tabular}
\end{threeparttable}
\end{table}
\end{document}

在我的 MWE 中,我showframe仅使用包来显示页面布局。实际使用时必须将其删除。

为了强制标题与表格宽度相同,我使用了 package threeparttable。它允许将其包含caption在表格中。这样,标题就比表格宽了。此外,如果表格中有(脚注)注释,您还可以将其添加到表格列表中。

在我的 MWE 中,我使用p{...}列类型而不是未知c。如果您希望将单元格内容居中,则可以定义新的列类型,c{...}例如

\newcolumntype{c}[1]{>{\centering\arraybackslash}p{#1}}

我没有弄清楚\hfill许多表格单元格的用途,因此我将它们删除了。

相关内容