4

I have a table with two columns and 12 rows. I require the table to appear on the left hand side of the page (which I can do), however, the caption is centered on the page. I would like to place the caption underneath the table, and have it centered underneath the table. The output is shown below.enter image description here

\documentclass[12pt,english]{article}
\usepackage{caption}
\begin{document}
 \begin{table}[H]
 \begin{tabular}{|c|>{\centering}p{2cm}|}
 \hline 
  Year & Population (millions)\tabularnewline
  \hline 
   $1900$ & $1650$\tabularnewline
   $1910$ & $1750$\tabularnewline
   $1920$ & $1860$\tabularnewline
   $1930$ & $2070$\tabularnewline
   $1940$ & $2300$\tabularnewline
   $1950$ & $2560$\tabularnewline
   $1960$ & $3040$\tabularnewline
   $1970$ & $3710$\tabularnewline
   $1980$ & $4450$\tabularnewline
   $1990$ & $5280$\tabularnewline
   $2000$ & $6070$\tabularnewline
   \hline 
  \end{tabular}
  \raggedright{}\caption{World Population}\label{table1}
  \end{table}
 \end{document}
4

Here is a way (since you already want [H] option and have loaded the caption package I suppose it will be ok for you):

\documentclass[12pt,english]{article}
\usepackage{caption}
\usepackage{array}
\begin{document}
 % A \noindent is possibly needed here as @Mico suggested in his comment
 \noindent\begin{minipage}{0.35\textwidth}
 \centering
 \begin{tabular}{|c|>{\centering}p{2cm}|}
 \hline 
  Year & Population (millions)\tabularnewline
  \hline 
   $1900$ & $1650$\tabularnewline
   $1910$ & $1750$\tabularnewline
   $1920$ & $1860$\tabularnewline
   $1930$ & $2070$\tabularnewline
   $1940$ & $2300$\tabularnewline
   $1950$ & $2560$\tabularnewline
   $1960$ & $3040$\tabularnewline
   $1970$ & $3710$\tabularnewline
   $1980$ & $4450$\tabularnewline
   $1990$ & $5280$\tabularnewline
   $2000$ & $6070$\tabularnewline
   \hline 
  \end{tabular}
  \captionof{table}{World Population}\label{table1}
  \end{minipage}
 \end{document}

enter image description here

  • 1
    You probably need a \noindent instruction immediately before \begin{minipage}. – Mico Mar 17 at 7:43
  • @Mico, I thought something like adding a second table after that (with \hfill in between). So, this is not probably for me... And I think that a centered caption under the table seems better and could be preferred as far as my taste let me decide. But thanks anyway. – koleygr Mar 17 at 7:58
  • Sorry for not being sufficiently clear: The purpose of the \noindent directive would be to make the caption material start at the left-hand edge of the text block. (Right now, the minipage is shifted to the right by the non-zero value of \parindent. – Mico Mar 17 at 8:33
  • 1
    Ok... you are right... Snce there is no text in there I didn't really payed attention on that and supposed that the part from the minipage and after could just be copy pasted and adjusted.... Thanks for mentioning... I will edit. – koleygr Mar 17 at 8:39
4

Since the tabular material must be typeset flush-left (aka ragged-right), I think the caption would look better if it, too, where set flush-left. (However, see below for a different solution.) One can achieve this formatting objective by loading the caption package with the options singlelinecheck=false and justification=raggedright.

enter image description here

\documentclass[12pt,english]{article}
\usepackage{array,caption}
\captionsetup{singlelinecheck=false,justification=raggedright}
\begin{document}
\begin{table}[ht!]
 \begin{tabular}{|c|>{\centering\arraybackslash}p{2cm}|}
 \hline 
   Year & Population (millions)\\ \hline 
   $1900$ & $1650$\\
   $1910$ & $1750$\\
   $1920$ & $1860$\\
   $1930$ & $2070$\\
   $1940$ & $2300$\\
   $1950$ & $2560$\\
   $1960$ & $3040$\\
   $1970$ & $3710$\\
   $1980$ & $4450$\\
   $1990$ & $5280$\\
   $2000$ & $6070$\\ 
 \hline 
 \end{tabular}
\caption{World Population}\label{table1}
\end{table}
\end{document}

Alternatively, if the caption must be centered below the tabular material and the tabular material must be typeset flush-left, I suggest you (a) run \captionsetup{justification=centering}, (b) load the threeparttable package, and (c) encase both the tabular environment and the \caption statement in a threeparttable environment. This setup allows LaTeX to measure the width of the tabular material and to center the caption below the tabular; if needed, LaTeX will automatically insert line breaks in the caption. This behavior is shown in the following screenshot.

enter image description here

\documentclass[12pt,english]{article}
\usepackage{array,caption,threeparttable}
\captionsetup{justification=centering}
\begin{document}
\begin{table}[ht!]
\begin{threeparttable}
 \begin{tabular}{|c|>{\centering\arraybackslash}p{2cm}|}
 \hline 
   Year & Population (millions)\\ \hline 
   $1900$ & $1650$\\
   $1910$ & $1750$\\
   $1920$ & $1860$\\
   $1930$ & $2070$\\
   $1940$ & $2300$\\
   $1950$ & $2560$\\
   $1960$ & $3040$\\
   $1970$ & $3710$\\
   $1980$ & $4450$\\
   $1990$ & $5280$\\
   $2000$ & $6070$\\ 
 \hline 
 \end{tabular}
\caption{World Population}\label{table1}
\end{threeparttable}
\end{table}
\end{document}

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.