简而言之,[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}环境之后。