如何覆盖表格和图形的默认浮动限制

如何覆盖表格和图形的默认浮动限制

简而言之,[h!] 选项用于覆盖表格和图形的默认浮动限制,但似乎不起作用。

我正在尝试插入一个占据整个页面的表格。由于其大小,我不得不将其定义为如下sidewaystable形式:

\begin{sidewaystable}[h!]
  \begin{center}
    \begin{tabular}{p{4cm}|p{4cm}|p{4cm}|p{5cm}|}
      \hline
      Column 1 & Column 2 & Column 3 & Column 4 \\
      \hline
      \hline
        .
        .
        .
      \hline
    \end{tabular}
    \caption{A Caption}
  \end{center}
\end{sidewaystable}

无论我怎么尝试,LaTeX 总是将其放在文档末尾,即我的参考书目(即参考文献)之后。更糟糕的是,我在此之后定义的任何表格,无论大小,也都会放在文档末尾(有问题的表格之后)。

我似乎在图片方面也遇到了类似的问题。虽然该[h!]选项会将一些图片放在我引用它们的段落之后(正如预期的那样),但 LaTeX 会将其他图片放在引用段落之后一到两页。

如果有帮助的话,我正在使用以下文档类:

\documentclass[JMC]{degruyter-journal}   % Journal of Mathematical Cryptology

我还使用以下软件包:

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{epsfig}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathdots}
\usepackage{color}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{epsf}
\usepackage{float}
\usepackage[lined,ruled]{algorithm2e}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

答案1

我发现以下一组指令在您描述的情况下运行良好;我使用包\afterpage提供的命令afterpage

...
\afterpage{\clearpage
\begin{sidewaystable} % no need for the [h] or even [h!] specifier
\centering % better than \begin{center} ... \end{center}
\begin{tabular}...
...
\end{tabular}
\caption{xyz} \label{tab:xyz}
\end{sidewaystable}
\clearpage } % note the "}" to denote the end of the argument of \afterpage
...

关键是使用\clearpage命令之前在横向{figure/table}环境之后。

相关内容