在同一页上显示带有标题和标签的表格和图形

在同一页上显示带有标题和标签的表格和图形

我想要的是:我需要一个表格和一个图形,让它们位于同一页上,同时保持标题和标签的功能齐全。表格和图形都需要有自己的标题和标签。

命令\afterpage几乎让它工作(我发现将图表和表格合并在同一页上),但在文本中引用它们的标签不再起作用(无论我将\afterpage环境放在哪里。如果有帮助的话,表格和图形加在一起几乎构成了整整一页。

答案1

为了保证它们保持在一起,可以使用其中一个minipage(如果对象不必被视为浮动)或仅使用图形和表格的浮动环境;然后可以在两种情况下使用\captionof来自capt-of(或者caption) 包;下面的例子显示了两种可能性:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{capt-of}

\begin{document}

\noindent\begin{minipage}{\linewidth}
\centering
\includegraphics[width=6cm]{examplefigure}
\captionof{figure}{Example figure caption (non-floating)}
\label{fig:examplenf}

\captionof{table}{Example Table (non-floating)}
\begin{tabular}{ll}
\hline
column1a & column2a \\
column1b & column2b \\
column1c & column2c \\
\hline
\end{tabular}
\label{tab:examplenf}
\end{minipage} 

\begin{figure}
\centering
\includegraphics[width=6cm]{examplefigure}
\caption{Example figure caption (floating)}
\label{fig:examplefl}

\captionof{table}{Example Table (floating)}
\begin{tabular}{ll}
\hline
column1a & column2a \\
column1b & column2b \\
column1c & column2c \\
\hline
\end{tabular}
\label{tab:examplefl}
\end{figure} 

\end{document}

在此处输入图片描述

答案2

我无法使用 @Gonzalo Medina 之前发布的解决方案来使字幕正常工作。具体来说,我的字幕格式如下:

\caption[short caption for table of contents]{long caption underneath figure}

\captionof命令不带短标题。使用时\caption,我的表格被标记为图形标题。

我能够使用替代解决方案来解决问题,即使用该afterpage包,如下所示:

\usepackage{afterpage}

\afterpage{
\begin{table}
  \centering
  \caption[short caption]{long caption}
  \label{table_label}
    \begin{tabular}{ll}
       % table material
    \end{tabular}
\end{table}
\begin{figure}
  \begin{center}
    \includegraphics[scale=0.5]{figure_file}
    \caption[short caption]{long caption}
    \label{figure_label}
  \end{center}
\end{figure}
} % <-- last curly brace ends \afterpage environment

答案3

您可以通过使用选项在顶部设置一个浮点数[t],在底部设置另一个浮点数来实现这一点[b],如示例所示:

\begin{figure}[t]
   \centering
   \includegraphics[width=\textwidth]{examplefigure}
   \caption{Example figure caption}
   \label{fig:example}
\end{figure}

\begin{table}[b]
    \caption{Example Table}
    \begin{tabular}{ll}
    hello & world\\
    \end{tabular}
    \label{tab:example}
\end{table} 

或者,正如这两个问题所述:

将表格/图片放在靠近提及的地方

强制在文本中放置图形

float您可以使用包和选项强制它们位于您想要的位置[H]。但是,这并不可取。

答案4

您可以使用表格环境\caption{Caption of the figure},然后在下面放置您的表格并使用\captionof{table}{Caption of the table}命令来获取表格。

相关内容