我有一个LaTeX文档,其中包含一个段落,后跟4个表格,后跟第二个段落.我希望在两段之间出现4个表,从我读过的内容来看,我应该在开始表环境后使用[h]选项(例如\begin{table}[h]).
使用此前两个表按预期显示在第1段之后,但随后显示第2段,最后两个表出现在下一页上.如何让表格显示在正确的位置?
我已经尝试了各种各样的东西来纠正定位,比如使用,[h!]但这似乎没有任何影响.\clearpage在表格之后使用确实具有使表格出现在第二段之前的所需效果,但是然后它将最后两个表格留在他们自己的页面上并加载了空格,当我希望第二段开始后立即开始表.
Paragraph 1...
\begin{table}[h]
table1...
\end{table}
\begin{table}[h]
table2...
\end{table}[h]
...
Paragraph 2...
Run Code Online (Sandbox Code Playgroud)
Jar*_*ell 157
在做了一些谷歌搜索后,我遇到了浮动包,它可以防止LaTeX重新定位表.
在序言中:
\usepackage{float}
\restylefloat{table}
Run Code Online (Sandbox Code Playgroud)
然后,对于每个表,您可以使用H放置选项(例如\begin{table}[H])以确保它不会重新定位.
win*_*rrr 30
可以使用以下参数轻松放置表格:
h将浮动放在此处,即大约在它出现在源文本中的同一点(但是,不完全在该位置)t位于页面顶部。b位于页面底部。p只为花车放置一个特殊的页面。! 覆盖 LaTeX 用于确定“良好”浮动位置的内部参数。H将浮点数精确地放置在 LATEX 代码中的位置。需要浮动包。这在某种程度上相当于h!.如果要使用H(或h!) 进行精确定位,请确保float在序言中正确设置了包:
\usepackage{float}
\restylefloat{table}
Run Code Online (Sandbox Code Playgroud)
如果您想将表格放置在同一页面上,无论是在确切位置还是至少在页面顶部(最适合乳胶引擎),请使用参数h,t如下所示:
\begin{table}[ht]
table content ...
\end{table}
Run Code Online (Sandbox Code Playgroud)
资料来源:Overleaf.com
Don*_*lio 19
这对我有用:
开头的usepackage定义包括:
\usepackage{placeins}
Run Code Online (Sandbox Code Playgroud)
在添加之前和之后:
\FloatBarrier
\begin{table}[h]
\begin{tabular}{llll}
....
\end{tabular}
\end{table}
\FloatBarrier
Run Code Online (Sandbox Code Playgroud)
这会将表格准确放置在文本中的所需位置.
如果文本加表格加文本不适合单个页面会发生什么?通过尝试以这种方式强制排版,您很可能最终得到的页面太短; 也就是说,因为一个表不能默认突破一个页面,它将被推送到下一个页面,并在页面之前留下空隙.你会注意到你从未在出版的书中看到这一点.
漂浮的行为是一件好事!我建议[htbp]在文档完成之前使用所有表格和数字的默认设置; 只有这样才能考虑微调它们的精确位置.
PS阅读常见问题 ; 这里的大多数其他答案是给出的部分建议组合.
小智 6
就我而言,我遇到了一个问题,即在我插入的段落之后没有立即显示表格,所以我只是进行了更改
\begin{table}[]
Run Code Online (Sandbox Code Playgroud)
到
\begin{table}[ht]
Run Code Online (Sandbox Code Playgroud)
如果你想有两个相邻的表,你可以使用:(float加载包)
\begin{table}[H]
\begin{minipage}{.5\textwidth}
%first table
\end{minipage}
\begin{minipage}{.5\textwidth}
%second table
\end{minipage}
\end{table}
Run Code Online (Sandbox Code Playgroud)
每个人都有自己的标题和编号。另一种选择是subfigure打包。
| 归档时间: |
|
| 查看次数: |
244542 次 |
| 最近记录: |