
Мне нужно создать таблицу в один столбец. Ее нужно подогнать под размер. Например, текст может быть в две строки. Строки таблицы помещаются в один столбец. но текст превышает ширину столбца. Как сделать так, чтобы текст таблицы расширялся до следующей строки, а не выходил за пределы ширины столбца? Это минимальный тестовый код.
\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}