原  文:Positioning images and tables
译  者:Xovee
翻译时间:2020年10月30日

在 LaTeX 中调整图片和表格的位置

LaTeX 的核心理念之一即是让你主要地关注文章的内容,而不是格式。当然,有时候,你可能需要对文章中的某些部分进行更细致地调整。本篇博文介绍如何在 LaTeX 中调整图片和表格的位置。

文章目录

  • 在 LaTeX 中调整图片和表格的位置
  • 介绍
  • 调整图片的位置
    • 基础位置
    • `figure`环境
    • 在`figure`环境中放置多个图片
    • 在图片周围环绕文字
  • 调整表格的位置
    • 基础位置
    • `table`环境
    • 在表格周围环绕文字
  • 参考指南
  • 延伸阅读

介绍

图片和表格的默认对齐方式是向左对齐

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra
sollicitudin.\includegraphics[width=0.5\textwidth]{lion-logo}Praesent imperdiet mi nec
ante. Donec ullamcorper, felis non sodales commodo, lectus velit
ultrices augue, a dignissim nibh lectus placerat pede.Vivamus nunc nunc, molestie ut, ultricies
vel, semper in, velit. Ut porttitor.


上面是一个简单的例子。更多有关于在文档中插入图片的例子请参阅这篇文章。

调整图片的位置

基础位置

将默认的向左对齐更改为向右对齐只需要在文档的序言部分引入如下包:

\usepackage[export]{adjustbox}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisis sem. Nullam nec mi et neque
pharetra sollicitudin.\includegraphics[width=0.5\textwidth, right]{lion-logo}Praesent imperdiet mi necante. Donec ullamcorper, felis
non sodales commodo, lectus velit ultrices augue,
a dignissim nibh lectus placerat pede. Vivamus nunc nunc,
molestie ut, ultriciesvel, semper in, velit. Ut porttitor.


adjustbox包提供给\includegraphics命令一个额外的参数,在这个例子中图片的对齐方式被设置为向右对齐(right)。其他可选的参数包括:leftrightcenterouterinner等,后面的两个参数是用在双面文档中。

figure环境

figure环境提供了自动调整位置的功能。

Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Duis fringilla tristique neque. Sed interdum libero ut metus.
Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit amet
ante lobortis sollicitudin.\begin{figure}[h]
\includegraphics[width=0.5\textwidth, inner]{lion-logo}
\caption{Caption}
\label{fig:figure2}
\end{figure}


你可以给环境传递一个位置参数(在方括号中),可选的参数包括:

参数 位置
h 将浮动元素的位置设定为 here(这里),也就是说,大约位于其在文档中出现位置(是大约,而不是完全精确)
t 将浮动元素的位置设定为页面的上方(top)
b 将浮动元素的位置设定为页面的底部(bottom)
p 将浮动元素仅放置在一个特殊的页面
! 重新设置LaTeX的一个内部参数,这个参数决定了LaTeX如何判断一个浮动元素的位置够不够“好”
H 将浮动元素精确地放置在它在文本中所出现的位置。这个参数需要引入float包,它有可能会造成一些错误。这个参数有时候等价于h!

你可以给环境传递多个参数,例如,如果你的参数是[ht],那么LaTeX会首先尝试把图片放置在here,如果不行的话(空间可能不够),那么LaTeX会尝试把图片放置在页面的top。我们推荐你使用多个位置参数,来避免不合适的图片位置。

figure环境中放置多个图片

你可以在一个figure环境中插入多个图片,每个图片都有它自己的标签和引用。

Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque... \begin{figure}[h]\begin{subfigure}{0.5\textwidth}
\includegraphics[width=0.9\linewidth, height=5cm]{lion-logo}
\caption{Caption1}
\label{fig:subim1}
\end{subfigure}
\begin{subfigure}{0.5\textwidth}
\includegraphics[width=0.9\linewidth, height=5cm]{mesh}
\caption{Caption 2}
\label{fig:subim2}
\end{subfigure}\caption{Caption for this figure with two images}
\label{fig:image2}
\end{figure}Praesent blandit blandit mauris. Praesent
lectus tellus, aliquet aliquam, luctus a, egestas a, turpis. Mauris
lacinia loremsit amet ipsum. Nunc quis urna dictum turpis accumsan
semper.


首先,你需要引入subcaption包:

\usepackage{subcaption}

然后你可以使用\subfigure环境,这个环境接收一个参数,即图片的宽度。这个环境必须在figure环境中使用,每个subfigure都可以有自己的图题和标签。

注意:*\subfigure命令与Beamer或Beamerposter不兼容。

在图片周围环绕文字

wrapfig包提供了一个有用的功能,即可以让文字浮动在图片周围。

Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum
libero ut metus. Pellentesque placerat.\begin{wrapfigure}{l}{0.25\textwidth}
\includegraphics[width=0.9\linewidth]{lion-logo}
\caption{Caption1}
\label{fig:wrapfig}
\end{wrapfigure}Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum

首先引入wrapfig包:

\usepackage{wrapfig}

然后你可以创建wrapfig环境,它接收两个参数(在大括号中):第一个参数是对齐选项,包括lrcio,分别代表左、右、中、inner、outer(后两个使用在双面文档中);第二个参数是图片的宽度,在这个例子中图片的宽度被设置为文字宽度的0.25倍。文末介绍了LaTeX中可用的长度单位。

调整表格的位置

调整表格的位置与调整图片的位置基本差求不多。

基础位置

tabular环境的默认位置方式是居中(center)。

Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque.
Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit amet
ante lobortis sollicitudin.\arrayrulecolor[HTML]{DB5800}
\begin{tabular}{ |s|p{2cm}|p{2cm}|  }
\hline
\rowcolor{lightgray} \multicolumn{3}{|c|}{Country List} \\
\hline
Country Name     or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 \\
\hline
Afghanistan & AF &AFG \\
\rowcolor{gray}
Aland Islands & AX  & ALA \\
Albania    &AL & ALB \\
Algeria   &DZ & DZA \\
American Samoa & AS & ASM \\
Andorra & AD & \cellcolor[HTML]{AA0044} AND \\
Angola & AO & AGO \\
\hline
\end{tabular}Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Duis fringilla tristique neque. Sed interdum libero ut metus.
Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin.


如何创建表格请参考这篇文章。

table环境

table环境可以自动调整表格的位置,从而让表格自然合适地出现在文档流中。

Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum
libero ut metus. Pellentesque placerat. Nam rutrum augue a leo.
Morbi sed elit sit amet ante lobortis sollicitudin.\begin{table}[ht]
\arrayrulecolor[HTML]{DB5800}
\centering
\begin{tabular}{ |s|p{2cm}|p{2cm}|  }
\hline
\rowcolor{lightgray} \multicolumn{3}{|c|}{Country List} \\
\hline
Country Name     or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 \\
\hline
Afghanistan & AF &AFG \\
\rowcolor{gray}
Aland Islands & AX  & ALA \\
Albania    &AL & ALB \\
Algeria   &DZ & DZA \\
American Samoa & AS & ASM \\
Andorra & AD & \cellcolor[HTML]{AA0044} AND \\
Angola & AO & AGO \\
\hline
\end{tabular}
\caption{Table inside a floating element}
\label{table:ta}
\end{table}Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum
libero ut metus. Pellentesque placerat. Nam rutrum augue a leo.
Morbi sed elit sit amet ante lobortis sollicitudin.


在环境后的中括号中,可以设置一个位置参数。这个参数的可选项包括:

:—|:—
h|将浮动元素的位置设定为 here(这里),也就是说,大约位于其在文档中出现位置(是大约,而不是完全精确)
t|将浮动元素的位置设定为页面的上方(top)
b|将浮动元素的位置设定为页面的底部(bottom)
p|将浮动元素仅放置在一个特殊的页面
!|重新设置LaTeX的一个内部参数,这个参数决定了LaTeX如何判断一个浮动元素的位置够不够“好”
H|将浮动元素精确地放置在它在文本中所出现的位置。这个参数需要引入float包,它有可能会造成一些错误。这个参数有时候等价于h!

你可以给环境传递多个参数,例如,如果你的参数是[ht],那么LaTeX会首先尝试把表格放置在here,如果不行的话(空间可能不够),那么LaTeX会尝试把表格放置在页面的top。我们推荐你使用多个位置参数,来避免不合适的表格位置。

注意:\centering命令会让表格在它的容器中居中对齐,而不是默认的向左对齐。

在表格周围环绕文字

如果你的表格没有占据所有可用的空间(例如两侧留下了许多空白),那么你可以使用wrapfig包来让表格的周围环绕文字。

% In your preamble\usepackage{wrapfig}% In the body of your documentPraesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum
libero ut metus. Pellentesque placerat. Nam rutrum augue a leo.
Morbi sed elit sit amet ante lobortis sollicitudin.\begin{wraptable}{r}{8cm}
\arrayrulecolor[HTML]{DB5800}
\centering
\begin{tabular}{ |s|p{2cm}|  }
\hline
\rowcolor{lightgray} \multicolumn{2}{|c|}{Country List} \\
\hline
Country Name     or Area Name& ISO ALPHA 2 Code \\
\hline
Afghanistan & AF \\
\rowcolor{gray}
Aland Islands & AX \\
Albania    &AL  \\
Algeria   &DZ \\
American Samoa & AS \\
Andorra & \cellcolor[HTML]{AA0044} AD   \\
Angola & AO \\
\hline
\end{tabular}
\caption{Table inside a wraptable}
\label{table:ta2}
\end{wraptable}Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum
libero ut metus. Pellentesque placerat. Nam rutrum augue a leo.
Morbi sed elit sit amet ante lobortis sollicitudin...


首先,引入包:

\usepackage{wraptable}

然后你就可以给wraptable环境传递两个参数。第一个参数是对齐方式,可选项包括lrcio,分别代表左、右、中、inner、outer。第二个参数是表格容器的宽度,注意把这个参数的值设置为表格本身的宽度,不然可能会带来很差的对齐效果。

参考指南

LaTeX 单位和长度

缩写 定义
pt 一个点,默认的长度单位。大约相当于0.3515mm
mm 毫米
cm 厘米
in 英寸
ex 在当前字体大小的情况下字母x的高度
em 在当前字体大小的情况下字母m的宽度
\columnsep 列之间的距离
\columnwidth 列的宽度
\linewidth 当前环境下行的宽度
\paperwidth 页面的宽度
\paperheight 页面的高
\textwidth 文本的宽度
\textheight 文本的高度
\unitlength picture环境下units的长度

延伸阅读

更多信息请见:

  • 表格
  • 图片
  • 表格和图片的列表
  • LaTeX中的长度和单位
  • floatrow包:高级浮动元素标题管理(表格和图片)
  • sidecap包:side-figure captions

在 LaTeX 中调整图片和表格的位置相关推荐

  1. 怎样在word2007中插入图片和表格

    怎样在word2007中插入图片和表格 | 浏览: 284 | 更新: 2012-12-06 17:40 | 标签: word2007 1 有用+1 已投票 0 收藏+1 已收藏 全文阅读 分步阅读 ...

  2. latex中插入图片以及固定图片位置

    如有帮助,请随手点赞. latex中插入图片以及固定图片位置 需要在引言部分加入下面两条命令: \usepackage{graphicx} \usepackage{float} 添加图片时,写下以下命 ...

  3. 在Word中调整图片大小会自动改变怎么办?

    在Word中调整图片大小会自动改变怎么办? 在Word中有多个图片,需要调整到大小一致,可是拉动.或者设置图片大小后,图片会自动改变,始终无法将所有图片调到大小一致. 别担心 鼠标右键点击图片 选择大 ...

  4. excel柱状图粗细怎么调_Excel2016中调整图表的大小和位置的方法

    在Excel2016中建立图表后,用户经常会根据需要调整图表的大小,移动图表到合适的位置上.本文图文详解Excel2016中调整图表的大小和位置的方法. 一.调图表大小 方法一:选中图表,将光标定位到 ...

  5. latex里图片大小如何调整_如何使Latex中的图片放大依然清晰

    之前使用latex,图片都是采用的png或者是jpg格式,正常查看是没什么问题的,一放大就变样了.今天才学会怎么保持图片的清晰. 要使图片保持清晰得使用eps格式的图片.有两种方式: 1.  可以由v ...

  6. Word中给图片或表格自动编号

    当我们在写报告时遇到文中图片很多的情况,调整文章内容或者增删文档时需要对图片进行重新编号,这个过程非常让人头大.因此,我们可以通过给图片或者表格自动标号的方式,减少重复工作量. 目录 自动编号 引用图 ...

  7. Latex中插入图片

    1.Latex的插图 在Latex中使用插图一般有两种方式,一种是插入事先准备好的图片,另一种是使用Latex代码直接在文档中画图.我们一般常见的使用都是第一种,准备好图片,然后直接插入在我们文档当中 ...

  8. java 图片 大小_在JAVA中调整图片大小

    在JAVA中,当我们调整图片的大小或比例时,我们可以按照以下的步棸: 通过调用的ImageIO类的read(File)方法 创建用于输入图片BufferedImage对象. 按所需输出高度输出的Buf ...

  9. VBA(一)操作PPT中的图片和表格

    文章目录 向PPT粘贴图片和表格数据 向PPT粘贴图片和表格数据 Sub CopyPictureToPPT()Set ppt = New PowerPoint.Applicationppt.Prese ...

最新文章

  1. 你之所以没成为成就,就是因为太刻苦了!
  2. 【3】python核心编程 第六章-序列:字符串、列表和元组
  3. eclipse ssh连接git an error_JSP+SSH+Mysql实现的学生管理系统
  4. 360 屏蔽ajax,怎么在easy ui做全局Ajax拦截啊?
  5. ad09只在一定范围内查找相似对象_23、面向对象编程
  6. 记录一些常见的沟通问题 #29
  7. 构建嵌入式LINUX的NFS【ZT】
  8. 公钥和私钥的作用和区别
  9. [Python / PyTorch] debug backward()
  10. 线材下料优化python算法_python实现最优化算法
  11. 云画质助手iApp源码下载
  12. Apache Ant 安装教程
  13. FS4052单节2A充电IC采用三段式充电管理IC
  14. 测试用例管理工具~JIRA
  15. 如何带好一个团队?团队管理的要点有哪些?
  16. Quartz 实现画图片、写文字、画线、椭圆、矩形、棱形等。
  17. Ansible 下载模块get_url、解压缩模块unarchive(学习笔记十五)
  18. Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。
  19. Flutter Hero 实现共享元素转场动画
  20. B/S聊天室(websocket)

热门文章

  1. 小程序海报分享之踩坑日记
  2. CC2640R2F学习笔记(16)——SNV Flash使用
  3. 万字长文 | 全(小区局域)网最强 TCP/IP 拥塞控制总结
  4. Zookeeper入门demo1
  5. 半同态加密(Partially Homomorphic Encryption, PHE)
  6. 1960-2014年各国二氧化碳排放量(人均公吨数)
  7. c++复数计算器(四则运算+坐标模长、角度表示)
  8. 机器人群控避障算法ORCA
  9. 用python字符画生日快乐_Python:图片转字符画(~情人节神器~)
  10. execute immediate用法