许多期刊在投稿的时候要求作者将图表等大块内容与正文分开、放在文章末尾。通常来说,我们只能将本来放在正文中的插图、插表代码挪到文章末尾;然后再用交叉引用,说明图表的作用。
这样固然可以实现需要的效果,但是改变了行文的习惯,也不符合 LaTeX「内容与格式分离」的哲学。
McCauley 等人的 endfloat 宏包改变了 LaTeX 处理浮动体的流程,能够比较简单地将图表这些浮动体延迟到文章末尾输出——只需要简单的配置,不需要改变行文习惯。
基本用法endfloat 宏包现在只支持 LaTeX2e 了,所以 LaTeX 2.09 的用户只能去找它的旧版本用。实际上,LaTeX 2.09 是一个早就被迭代掉的版本,最好还是不要用了。
和大多数 LaTeX 宏包的用法一样,调用 endfloat 宏包只需要在导言区使用 \usepackage 命令就可以了。
一个简单而完整的例子是:
这里,mwe 宏包和 \lipsum 命令是用来产生无意义的测试文字的,实际使用时可以删掉;example-image 则是 mwe 宏包提供的示例图片。
编译以上代码的结果可见:
[color=rgb(255, 255, 255) !important]
由左侧缩略图可见,两个浮动体都被放在了文章最末尾输出;正文部分可见,在原本图片的位置生成了「Figure 1 about here.」的说明文字;此外,在输出图片之前,还自动调用了 \listoffigures,生成图片清单。
配置选项图表清单默认情况下,endfloat 宏包会调用 \listoffigures 和(或) \listoftables 生成图表清单。这些行为由以下几个选项控制:
- figlist / nofiglist:互补选项,默认打开 figlist,即输出图片清单;
- tablist / notablist:互补选项,默认打开 tablist,即输出表格清单;
- lists / nolists:互补选项,同时控制图表的清单,默认效果相当于打开了 lists 选项。
选自:http://liam0205.me/2015/09/28/using-the-endfloat-package-to-delay-floats-to-the-and-of-document/