Latex控制图片位置
前言
在LaTex中,\begin{figure}[~]是图片环境,常用选择项[htbp]是浮动格式:
- [h] ~ here,当前位置。将图形放置在正文文本中给出该图形环境的地方。如果本页所剩页面不够,这一参数将不起作用。
- [t] ~ top,顶部。将图形放置在页面的顶部。
- [b] ~ bottom,底部。将图形放置在页面的底部。
- [p] ~ page of its own,浮动页。将图形放置在一个允许有浮动对象的页面上。
一般使用[htb]这样的组合,只用[h]是没有用的。这样组合的意思就是LaTex会尽量满足排在前面的浮动格式,就是h-t-b这个顺序,让排版的效果尽量好。
[!h]只是试图放在当前位置。如果页面剩下的部分放不下,还是会跑到下一页的。一般而言,用[!h]选项通常会出现不能正确放置的问题,所以常用[ht]、[htbp]等。这里加感叹号的意思是忽略“美学”标准。
如果你确实需要把图片放在当前位置,不容改变,可以用 \usepackege{float} 宏包的[H]选项。不过如果这样做,出现放不下的问题时需要手工调整。使用格式如下:
1 | \usepackage{float} |
特别强调,当图片或者表格占据双栏模板的两栏时(即在\begin{figure*} 或 \begin{table*} 时),这些控制选项就失效了。
问题描述
论文大多都是以双栏排版,那么在双栏排版中,如何让图片和表格出现在页面底端?上述[!b]等等的一些命令都是针对单栏排版,在双栏中不起作用。
这个问题是排版双栏图表过程中,较为常见的问题。通常,我们排版双栏文章的时候,有些图比较宽,需要让图或者表格跨栏排版,这时我们会用到如下两个环境:
1 | \begin{table*}[ht] |
和
1 | \begin{figure*}[ht] |
通常这样的跨栏图会放到页面的顶部。
解决方案
若是我们想让图表放置到页面底部的话,可以这样做,在导言区加入:
1 | \usepackage{stfloats} |
插图的话使用如下环境:
1 | \begin{figure*}[bp] |
表格类似使用:
1 | \begin{table*}[bp] |
【示例代码】:
1 | \documentclass[twocolumn]{book} |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yuan!
评论