Next: 16.3 清除未处理的浮动图形 Up: 16. 浮动图形环境 Previous: 16.1 创建浮动图形 

16.2 图形的放置

图形(figure)环境有一个可选参数项允许用户来指示图形有可能 被放置的位置。这一可选参数项可以是下列字母的任意组合。
h
当前位置。 将图形放置在 正文文本中给出该图形环境的地方。如果本页所剩的页面不够, 这一参数将不起作用。
t
顶部。 将图形放置在页面的顶部。
b
底部。 将图形放置在页面的底部 16.1
p
浮动页。 将图形放置在一只允许 有浮动对象的页面上。

注:

  • 如果在图形环境中没有给出上述任一参数,则缺省为 [tbp]
  • 给出参数的顺序不会影响到最后的结果。因为在考虑这些参数时 LATEX  总是尝试以 h-t-b-p 的顺序来确定图形的位置。所以  [hb] 和 [bh] 都使 LATEX 以 h-b  的顺序来排版。
  • 给出的参数越多, LATEX 的排版结果就会越好。  [htbp], [tbp], [htp], [tp] 这些组合得到的效果不错。
  • 只给出单个的参数项极易引发问题16.2。 如果该图形不适合所指定的位置,它就会被搁置并阻碍对后面的图形 的处理。一旦这些阻塞的图形数目超过了 18 幅这一 LATEX 所能容许 的最大值,就会产生 ``Too Many Unprocessed Floats'' 的错误(见 第 16.3 节)。

当 LATEX `` 试图'' 放置一浮动图形时, 它将遵循以下规则:

  1. 图形只能置于由位置参数所确定的地点。
  2. 图形的放置不能造成超过版心的错误(overfull page)。
  3. 图形只能置于当前页或后面的页中16.3。所以图形只能 ``向后浮动'' 而 不能 ``向前浮动''。
  4. 图形必须按顺序出现。这样只有当前面的图形都被放置好之后才能被放置。
    • 只要前面有未被处理的图形,一幅图形就不会被放在当前位置。
    • 一幅 ``不可能放置'' 的图形将阻碍它后面的图形的放置。直到 文件结束或达到 LATEX 的浮动限制。参见第 16.4 节。

    同样地,一表格也只能在其前面的表格都被处理完后才能被放置。 不过,表格在排版时是跳过图形而单独处理的。

  5. 必须符合在第 17 章中给出的审美条件。例如,一页上的 浮动对象的数目不能超过 totalnumber。 在浮动位置选项前加上一个惊叹号(如 \begin{figure}[!ht]) 会使 LATEX 忽略应用于文本页的审美条件,试图用最严格的标准来 放置浮动图形。不过, ! 不会影响应用于浮动页的审美条件。

latex 图形的放置的更多相关文章

  1. [转载]latex插入两栏的图形或表格

    转载自:http://blog.csdn.net/huilingwu/article/details/51649250 latex进行两栏排版时,有时会遇到一些宽度较大的图形或表格,没办法挤在一栏中, ...

  2. SCI英文论文写作- Latex 进阶

    SCI英文论文写作- Latex 进阶   1.设置行间距的方法: %\setlength{\baselineskip}{15pt} \renewcommand{\baselinestretch}{1 ...

  3. Latex:入门教程

    http://blog.csdn.net/pipisorry/article/details/54571521 总的来说,LaTex是一套排版系统,与word那种所见即所得对排版方式不太,用LaTex ...

  4. matlab作图 latex插图

    推荐用saveas eps,再用eps2pdf转成pdf.这样可以之间pdflatex编译. if result.savepic saveas(gcf,[ pwd '/picture/right_' ...

  5. android图形基础知识

    Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 2010-06-13 22:49 18223人阅读 评论(18) 收藏 举报 AndroidGDI基本框架 在An ...

  6. 使用 WPF 生成图形

    下载代码示例 基于一组与测试有关的数据来生成图形是一项常见的软件开发任务.根据我的经验,最常用的方法是将数据导入 Excel 电子表格,然后使用 Excel 内置的绘图功能手动生成图形.这种做法适用于 ...

  7. 配置项setOption -- title

    标题组件,包含主标题和副标题.在 ECharts 3 中可以存在任意多个标题组件,这在需要标题进行排版,或者单个实例中的多个图表都需要标题时会比较有用. title.show boolean [ de ...

  8. Android核心分析之二十八Android GDI之Surface&Canvas

    Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoi ...

  9. 浏览器渲染原理笔记 --《How Browser Work》读后总结

    综述 之前使用ExtJS时遇到一个问题:为什么依次设置多个组件的可见性界面会卡顿?在了解HTML的dom操作相关内容的时候也好奇这个东西到底是怎么回事,然后尤其搞不懂CSS和Html分管样式和网页结构 ...

随机推荐

  1. StarUML使用简明教程

    最近了解到StarUML比较多,所以写一篇教程供大家参考,不足支持,请见谅. StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一 ...

  2. 【性能测试】:LR中解决接口请求中包含中文字符,服务器不识别的问题

    在LR中,直接写的接口请求,如果请求字段包含中文字段,服务器会不识别,这个时候就要用到lr_convert_string_encoding这个函数: 具体用法: lr_convert_string_e ...

  3. The Annoying Bug

    log里看不出问题,直接客户端就disconnected. gdb 挂了也不会停住,继续跑得跟正常人似的 再连根本不正常的了. 硬件: a , 主板CPU更换过 b,USB3.0 软件: 无有更换,但 ...

  4. [转] Java中Comparator进行对象排序

    [From] https://blog.51cto.com/thinklili/2063244 Java在8后引入了lambda表达式和流,使得排序方法有了变化 class User { int id ...

  5. testng多线程

    1.设置多线程,同一浏览器运行两个用例,但是有其中有一个运行较慢

  6. 使用NHibernate(1)--资料汇总

    NHibernate最新版本是4.0,目前还只是alpha版,没有发布.稳定版本是3.3,项目中用的也是这个版本,所以以后的介绍都是基于这个版本的. 在网上找了一下相关的学习资料,现汇总如下: NHi ...

  7. (转)Mysql占用过高CPU时的优化手段

    Mysql占用CPU过高的时候,该从哪些方面下手进行优化?占用CPU过高,可以做如下考虑:1)一般来讲,排除高并发的因素,还是要找到导致你CPU过高的哪几条在执行的SQL,show processli ...

  8. Java学习之路(六):集合

    集合的由来 数组的长度是固定的,当添加的元素超过了数组的长度,就需要对数组重新定义 java内部给我们提供的集合类,能存储任意对象,长度是可以改变的.随着元素的增加而增加,随着元素的减少而减少 数组和 ...

  9. Java基本数据类型-包装类

    为什么会有基本数据类型包装类? 将基本数据类型封装成为对象,这样可以在对象中定义更多的方法来操作该数据 包装类常用操作就是用于基本数据类型与字符串之间的转换 基本数据类型对应的包装类 byte(Byt ...

  10. codeblocks中文编码问题

    其实这是老调重弹的问题了,在windows下面出现中文乱码大多都是编码格式的问题不一致的问题,最简单的就是uft-8和gbk冲突的问题.如果一个文件本来是以utf-8存的,但是以gbk打开,当然会出现 ...