1

I have a two-column document and what to inset a table. My problem is that the some of the columns in the table overlaps into the other side column. I have found a question which deals with generating a column spanning two columns. But I want to make the table fit within a column width. Any suggestions would be great? Does one have to resize the text or manually specify the column width?

\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}
2

Here is one option, where you could just decrease the inter-column spacing; Instead of a regular \tabcolsep, I've reduced that to 35% of \tabcolsep:

enter image description here

\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}

Since you included booktabs, I've used its rules.

  • thanks, that seems to do it. Can you suggest any other methods, I am just beginning with latex. – lukeg Jan 18 '16 at 22:29
  • 1
    @lukeg: Alternative methods (this one included) are subjective and depends heavily on what you have in your table. Some people resize the entire tabular by wrapping it inside \resizebox{\columnwidth}{!}{...}. But that resizes everything and not everyone likes it. – Werner Jan 18 '16 at 22:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.