如何强制将表格标题置于顶部?

如何强制将表格标题置于顶部?

我有一张可以正常工作的表格……如下面的例子所示。但在论​​文中,右列居中,标题被强制放在表格下方。有什么方法可以让它看起来像这样吗?

\documentclass[12pt]{article} 
\begin{document}
\begin{table}[t]
\caption{Four months plan: where,what how}
\begin{tabular}{lclclclc}
\hline
\hline
Month & Week & Programme\\
\hline
May & 3-4 & Cycle Tour\\
June & 1-2 & DCP Project\\
July & 1-2 & Clean Energy\\
August & 3-4 & Interim Report\\
\hline
\end{tabular}
\end{table}
\end{document}

答案1

有多种方法可以强制将表格标题置于表格顶部。


您可以使用该float包并使用以下代码:

\usepackage{float}
\floatstyle{plaintop}
\restylefloat{table}

A退税其中一个是,每个 不能有多个标题table,即,您不能有两个不同的tabulars 并排有两个标题。

如果您的表格标题已被强制放在表格下方(通常它们被放置在\caption使用宏的位置),那么您的论文的某些部分(可能是自定义包)可能已经使用了float不同的设置。


您还可以使用以下方法将表格标题位置设置到顶部:

\usepackage[tableposition=top]{caption}

但是,这只会影响标题周围的垂直跳跃。如果没有这条线,示例中的标题应该已经放在顶部,只是距离不正确。


最后,您可以定义一个\captionabove宏并将其放在环境的开头table。此宏使用正常\caption但使用正确的垂直间距作为顶部标题(通过补偿增加的间距\caption并添加正确的间距)。

(也可以交换\abovecaptionskip和寄存器的值,但这需要分组,这会对随后的\belowcaptionskip产生负面影响。)\label

\makeatletter
\newcommand{\captionabove}[2][]{%
    \vskip-\abovecaptionskip
    \vskip+\belowcaptionskip
    \ifx\@nnil#1\@nnil
        \caption{#2}%
    \else
        \caption[#1]{#2}%
    \fi
    \vskip+\abovecaptionskip
    \vskip-\belowcaptionskip
}

% If \captionof is required:
% Usage: \captionaboveof[<short caption>]{table}{<caption>}
\newcommand{\captionaboveof}[3][]{%
    \vskip-\abovecaptionskip
    \vskip+\belowcaptionskip
    \def\@captype{#2}%
    \ifx\@nnil#1\@nnil
        \caption{#3}%
    \else
        \caption[#1]{#3}%
    \fi
    \vskip+\abovecaptionskip
    \vskip-\belowcaptionskip
}
\makeatother

答案2

即使\caption命令位于tabular环境之后,你也可以使用floatrow包及其\floatsetup宏。

\documentclass[12pt]{article}
\usepackage{floatrow}
\floatsetup[table]{capposition=top}
\begin{document}
\begin{table}[t]
\begin{tabular}{lclclclc}
\hline
\hline
Month & Week & Programme\\
\hline
May & 3-4 & Cycle Tour\\
June & 1-2 & DCP Project\\
July & 1-2 & Clean Energy\\
August & 3-4 & Interim Report\\
\hline
\end{tabular}
\caption{Four months plan: where,what how}
\end{table}
\end{document}

在此处输入图片描述

答案3

标题的位置通常位于浮动的下方。但是,因此,您可以将标题命令插入浮动的实际内容之后(但仍在环境内)。如果您将其放在前面,则标题将出现在浮动的上方。示例:

\begin{figure}
  \caption{A picture of a tucan.}
  \begin{center}
    \includegraphics{tucan.eps}
  \end{center}
\end{figure}

来源:http://www.andy-roberts.net/writing/latex/floats_figures_captions

答案4

只需在表格组上方书写

\begin{table}
  \centering
  \caption{Some caption}
  \begin{tabular}{l l}
    test & jahkh \\
    kkjhj & asçlkd
  \end{tabular}
  \label{tab:teste}
\end{table}

相关内容