我需要创建一个一列的表格。需要调整以适应。例如,文本可以分为两行。表格行适合一列。但文本超出了列宽。我怎样才能使表格文本扩展到下一行而不是超出列宽?这是最小测试代码。
\documentclass[letterpaper,twocolumn,10pt]{article}
\usepackage{graphicx}
\usepackage{array,tabularx}
\usepackage{multirow,booktabs} %for the table
\usepackage{pifont}% cross and match marks. http://ctan.org/pkg/pifont
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\usepackage{array,tabularx}
\begin{document}
\begin{table*} [h!]
%\centering
\caption{Caption for the table.}
\label{tab:table1}
\resizebox{\columnwidth}{!}{
\begin{tabularx} {\columnwidth}{cccccc} %{\columnwidth}{cccccc}
\toprule
& & first col & second col & third col & forth col \\
first row & & \xmark & \xmark & \xmark \\
%\midrule
%prettifies & the & content \\
\bottomrule
\end{tabularx}
}
\end{table*}
\end{document}
答案1
您已指定table*
是跨两列的表格。这只能设置在页面顶部,因此您应该改用 参数[t]
,或者至少使用包含 的内容t
。然后您指定了tabularx
的大小\columnwidth
,这意味着表格具有该宽度。这就是行是一列的原因。由于文本较宽,因此不适合表格。此外,由于您不使用X
中指定的列说明符tabularx
,因此我建议改用tabular
。在下面的示例中,我包含了一些lipsum文本以更清晰地显示表格位置。
\documentclass[letterpaper,twocolumn,10pt]{article}
\usepackage{graphicx}
\usepackage{array,tabularx}
\usepackage{multirow,booktabs} %for the table
\usepackage{pifont}% cross and match marks. http://ctan.org/pkg/pifont
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\usepackage{array,tabularx}
%%
\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
%%%
\begin{table*} [ht]
\centering
\caption{Caption for the table.}
\label{tab:table1}
% \resizebox{\columnwidth}{!}{
\begin{tabular}{cccccc} %{\columnwidth}{cccccc}
\toprule
& & first col & second col & third col & forth col \\
first row & & \xmark & \xmark & \xmark \\
% \midrule
% prettifies & the & content \\
\bottomrule
\end{tabular}
%}
\end{table*}
\lipsum[4-13]
\end{document}