我创建了下表,它可以很好地显示在文档中:
\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
许多表格单元格的用途,因此我将它们删除了。