怎么控制latex插图的位置_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

2

3

4

5

6

7

\usepackage{float}

%...

\begin{figure}[H]

foo

\end{figure}

特别强调,当表格或者图片占据双栏模板的两栏时(即在 \begin{table*} 时),这些控制选项就失效了。

在双栏模板中,有一些解决方法,这里引用另一篇博客的内容:

【问题描述】

怎么在双栏排版中,让通栏的表格出现在页面底端?

[!b]等等的一些命令都不行啊

【问题扩展】

这个问题是排版通栏图表过程中,较为常见的问题。通常,我们排版双栏文章的时候,有些图比较宽,需要让图或者表格跨栏排版,这时我们会用到如下两个环境:

\begin{table*}[ht]

\end{table*}

\begin{figure*}[ht]

\end{figure*}

通常这样的跨栏图会放到页面的顶部。

【解决方案】

若是我们想让图表放置到页面底部的话,可以这样做:

导言区加入:\usepackage{stfloats}

插图的话使用如下环境:

\begin{figure*}[bp]

\end{figure*}

表格类似使用

\begin{table*}[bp]

\end{table*}

【示例代码】:

\documentclass[twocolumn]{book}

\usepackage{graphicx}

\usepackage{xcolor,stfloats}

\usepackage{lipsum}%生成随机文本

\begin{document}

\lipsum

\lipsum[2-5]

\begin{figure*}[b]

\centering

\includegraphics[width=12cm]{image}

\end{figure*}

\lipsum[2-5]

\lipsum

\end{document}

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值