У меня есть таблица с двумя столбцами и 12 строками. Мне нужно, чтобы таблица отображалась в левой части страницы (что я могу сделать), однако заголовок находится в центре страницы. Я хотел бы разместить заголовок под таблицей и отцентрировать его под таблицей. Результат показан ниже.
\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}
решение1
Вот способ (поскольку вы уже хотите [H]
опцию и загрузили caption
пакет, я полагаю, он вам подойдет):
\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}
решение2
Поскольку табличный материал должен быть набран с прижимом по левому краю (т. е. с рваным правым краем), я думаю, что заголовок выглядел бы лучше, если бы он тоже был набран с прижимом по левому краю. (Однако ниже приведено другое решение.) Достичь этой цели форматирования можно, загрузив пакет caption
с параметрами singlelinecheck=false
и justification=raggedright
.
\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}
В качестве альтернативы, если заголовокдолженбыть по центру под tabular
материаломиматериал tabular
должен быть набран вровень с левым краем, я предлагаю вам (а) запустить \captionsetup{justification=centering}
, (б) загрузитьтрехчастныйстолpackage, и (c) encase как окружение, tabular
так и \caption
оператор в threeparttable
окружении. Эта настройка позволяет LaTeX измерять ширину материала tabular
и центрировать заголовок под табличным; при необходимости LaTeX автоматически вставит разрывы строк в заголовок. Это поведение показано на следующем снимке экрана.
\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}