我有一份双列文档,想插入一个表格。我的问题是表格中的某些列与另一侧的列重叠。我找到了一个该问题涉及生成跨越两列的列。但我想让表格适合列宽。有什么建议吗?是否必须调整文本大小或手动指定列宽?
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[margin=2.5cm]{geometry}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage[colaction]{multicol}
\usepackage{hyperref}
\usepackage{lineno}
\usepackage{setspace}
\usepackage{lipsum}
\title{Table formatting}
\author{The geniuses at SE}
\begin{document}
\maketitle
\doublespacing
\begin{multicols}{2}
\section{Introduction}
\lipsum[1-1]
\begin{center}
\begin{minipage}{\columnwidth}
\centering
\captionaboveof{table}{Distribution of XXX}
\begin{tabular}{c c c c c c c}
\textbf{Sex} & \textbf{[0-1]} & \textbf{[1--5)} & \textbf{[5--10)} & \textbf{[10--25)} & \textbf{25-50} & \textbf{[50+]} \\
\hline
M & 61\% & 28\% & 4\% & -\% & 6\% & x\% \\
F & 60\% & 25\% & 5\% & 3\% & 7\% & x\% \\
\hline
\end{tabular}
\end{minipage}
\end{center}
\lipsum[1-2]
\end{multicols}
\end{document}
答案1
这里有一个选项,您可以减少列间距;\tabcolsep
我没有使用常规的,而是将其减少到 35%\tabcolsep
:
\documentclass[10pt]{scrartcl}
\usepackage[margin=25mm,paper=a4paper]{geometry}
\usepackage{booktabs}
\usepackage[colaction]{multicol}
\usepackage{setspace}
\usepackage{lipsum}
\title{Table formatting}
\author{The geniuses at SE}
\begin{document}
\maketitle
\doublespacing
\begin{multicols}{2}
\section{Introduction}
\lipsum[1-1]
%\addvspace{\intextsep}% You may want to add this...
\noindent
\begin{minipage}{\columnwidth}
\centering
\captionaboveof{table}{Distribution of XXX}
\setlength{\tabcolsep}{.35\tabcolsep}
\begin{tabular}{ *{7}{c} }
\toprule
\textbf{Sex} & \textbf{[0-1]} & \textbf{[1--5)} & \textbf{[5--10)} & \textbf{[10--25)} & \textbf{[25-50)} & \textbf{[50+]} \\
\midrule
M & 61\% & 28\% & 4\% & -\% & 6\% & x\% \\
F & 60\% & 25\% & 5\% & 3\% & 7\% & x\% \\
\bottomrule
\end{tabular}
\end{minipage}
\addvspace{\intextsep}
\lipsum[1-2]
\end{multicols}
\end{document}
因为你包括booktabs
,我已经利用了它的规则。