LaTex的使用(一):图片的插入及排版方法_latex图片排版-程序员宅基地

技术标签: # LaTex  LaTex  

@ 图片格式

在 LaTeX 中插图,首先要生成 .eps 格式的图片,有三种方法:

  • 利用 visio 画图,另存为 pdf 格式的图片,用 InkscapeAdobe Acrobat 调整大小并保存为 eps 格式(可参考:visio画图并保存为eps格式);
  • 已有 png 或 jpg 格式的图片,在图片目录下,按住 shift+鼠标右键,选择 在此处打开命令窗口(在此处打开 PowerShell 窗口),然后在终端窗口输入:bmeps -c old.jpg new.eps,其中 -c 是让图片彩色输出,old 为原图,new 为转换的 eps 格式的图;
  • 利用 matlab 画图,可直接另存为 .eps 格式;

NOTE:如果 visio 画图保存为 pdf 出现失真,解决办法是先保存为 .jpg 图片,选择打印机600*600,然后再用 shell 将 jpg 转换为 eps(第三种方法)

1. 插入图片的基本框架

在这里插入图片描述
在导言区添加宏包:

\usepackage{
    graphicx}
\usepackage{
    epstopdf}

.eps 图片和自己的 .tex 文件放在同一目录下,向 LaTeX 插入代码:

\begin{
    figure}[htbp]
\centering
\includegraphics[scale=0.2]{
    girl.eps}
\caption{
    figure title}
\label{
    figure}
\end{
    figure}

解释一下每一句的功能:

  • Line 1\begin{figure} ~ \end{figure} 是固定用法,只要插入图片,就需要有这么一对儿;方括号 [] 内是控制参数,控制了整幅图的位置;
  • Line 2\centering 表示将图片居中显示;
  • Line 3\includegraphics{} 用于插入一张图片,花括号 {} 内就是图片的名称,方括号 [] 内同样是控制参数,但这里控制的是图片的显示大小;
  • Line 4\caption{} 是这幅图的图例信息;
  • Line 5\label{} 是这幅图的标签,在写论文时需要在正文中引用,这时候用标签直接来引就省去了一些不必要的麻烦;

图片位置控制参数:

\begin{
    figure}[htbp]
  • [h] 表示当前位置(here),也就是说图片将放在你设置的当前位置,但是如果这一页的空间不足以放下这个图片,此时图片会转到下一页;
  • [t] 顶端(top),此时优先将图片放置在页面的顶部;
  • [b] 底部(bottom)此时优先将图片放置在页面底部;
  • [p] 将图片设置为浮动状态,系统会自动排版图片的位置;
  • 一般推荐这几个参数结合使用,比如:[ht][htbp],此时这几种位置具有优先级。

图片大小控制参数:

\includegraphics[scale=0.2]{
    girl.eps}
  • [scale],表示按原图比例缩放,比如 scale=0.2 表示将原图缩小 5 倍,如果要放大只需要将 scale 设置为大于 1 即可;
  • 还可以直接设置图片宽高,比如 [height = 1cm, width = 2cm]

2. 并排插入图片

在导言区添加宏包:

\usepackage{
    subfigure}

(1)插入多张图片,显示为一横排:
在这里插入图片描述
【实现代码】

\begin{
    figure}[htbp]
\centering
\subfigure
{
    
    \begin{
    minipage}[b]{
    .3\linewidth}
        \centering
        \includegraphics[scale=0.1]{
    girl.eps}
    \end{
    minipage}
}
\subfigure
{
    
 	\begin{
    minipage}[b]{
    .3\linewidth}
        \centering
        \includegraphics[scale=0.1]{
    girl.eps}
    \end{
    minipage}
}
\subfigure
{
    
 	\begin{
    minipage}[b]{
    .3\linewidth}
        \centering
        \includegraphics[scale=0.1]{
    girl.eps}
    \end{
    minipage}
}
\caption{
    figure title}
\end{
    figure}

注意:这里 minipage 后的 {.3\linewidth} 很重要,需要你根据自己一行图片的多少来设置,.3 等价于 0.3,表示了该张图片会占当前行的空间比例,上例有三张图片,那么可以让每张图片占 30% 的空间,这样排版出来是比较好看的。假如设置为 0.5,那么第三张图片由于该行放不下,会自动换到第二行。另外,如果要对图片进行换行,只需要在两个 subfigure 中间加一个空行即可。

(2)为每张图片添加单独的序号:上例其余代码不变,只需要在 subfigure 后加一个方括号 [] 即可。
在这里插入图片描述
【实现代码】

\subfigure[]
\subfigure[]

注意:subfigure 的序号是按顺序自动编排并显示的,也就是方括号内不需要填内容。

(3)为每张图片添加单独的描述信息:给 subfigure 后的方括号 [] 内填写描述信息即可。
在这里插入图片描述
【实现代码】

\subfigure[figure 1]
\subfigure[figure 2]

3. 多行多列排版

(1)实现多行多列放置图片:
在这里插入图片描述
【实现代码】

\begin{
    figure}[htbp]
\centering
\subfigure{
    
\begin{
    minipage}[b]{
    .3\linewidth}
\centering
\includegraphics[scale=0.1]{
    girl.eps}
\end{
    minipage}
}
\subfigure{
    
\begin{
    minipage}[b]{
    .3\linewidth}
\centering
\includegraphics[scale=0.1]{
    girl.eps}
\end{
    minipage}
}
\subfigure{
    
\begin{
    minipage}[b]{
    .3\linewidth}
\centering
\includegraphics[scale=0.1]{
    girl.eps}
\end{
    minipage}
}
\subfigure{
    
\begin{
    minipage}[b]{
    .3\linewidth}
\centering
\includegraphics[scale=0.1]{
    girl.eps}
\end{
    minipage}
}
\subfigure{
    
\begin{
    minipage}[b]{
    .3\linewidth}
\centering
\includegraphics[scale=0.1]{
    girl.eps}
\end{
    minipage}
}
\subfigure{
    
\begin{
    minipage}[b]{
    .3\linewidth}
\centering
\includegraphics[scale=0.1]{
    girl.eps}
\end{
    minipage}
}
\caption{
    figure title}
\end{
    figure}

这里就是简单地叠加 subfigure,控制一行放几张图片的关键还是在于 minipage{.3\linewidth},设置为 .3 就意味着一行至多放三张,后面的图片会自动换行。

这里将每张图片作为了一个 subfigure,如果有必要为每张图添加单独的序号或图例说明,根据前面讲的给 subfigure[] 就可以。

(2)图片分组显示 [横排]:
在这里插入图片描述
【实现代码】

\begin{figure}[htbp]
\centering
\subfigure[figure 1]
{
    \begin{minipage}[b]{.3\linewidth}
        \centering
        \includegraphics[scale=0.1]{girl.eps}
    \end{minipage}
    \begin{minipage}[b]{.3\linewidth}
        \centering
        \includegraphics[scale=0.1]{girl.eps}
    \end{minipage}
    \begin{minipage}[b]{.3\linewidth}
        \centering
        \includegraphics[scale=0.1]{girl.eps}
    \end{minipage}
}
\subfigure[figure 2]
{
 	\begin{minipage}[b]{.3\linewidth}
        \centering
        \includegraphics[scale=0.1]{girl.eps}
    \end{minipage}
    \begin{minipage}[b]{.3\linewidth}
        \centering
        \includegraphics[scale=0.1]{girl.eps}
    \end{minipage}
    \begin{minipage}[b]{.3\linewidth}
        \centering
        \includegraphics[scale=0.1]{girl.eps}
    \end{minipage}
}
\caption{figure title}
\end{figure}

这里将每一行图片作为一个 subfigure,所以只会有两个图例说明。

(3)图片分组显示 [竖排]:
在这里插入图片描述
【实现代码】

\begin{
    figure}[htbp]
\centering
\subfigure[figure 1]
{
    
    \begin{
    minipage}[b]{
    .3\linewidth}
        \centering
        \includegraphics[scale=0.1]{
    girl.eps} \\
        \includegraphics[scale=0.1]{
    girl.eps}
    \end{
    minipage}
}
\subfigure[figure 2]
{
    
    \begin{
    minipage}[b]{
    .3\linewidth}
        \centering
        \includegraphics[scale=0.1]{
    girl.eps} \\
        \includegraphics[scale=0.1]{
    girl.eps}
    \end{
    minipage}
}
\subfigure[figure 3]
{
    
    \begin{
    minipage}[b]{
    .3\linewidth}
        \centering
        \includegraphics[scale=0.1]{
    girl.eps} \\
        \includegraphics[scale=0.1]{
    girl.eps}
    \end{
    minipage}
}
\caption{
    figure title}
\end{
    figure}

subfigure 没有换行功能,所以要实现一个 subfigure 中包含多张垂直排版的图片,可以在 minipage 中使用多个 \includegraphics,在除了最后一个之外的后面都加上换行符 \\ 即可。

从以上能看出来,

  • figure 是整幅图像,有唯一的序号及描述信息(\caption);
  • subfigure 是子图,可以有自己的序号和描述信息,figure 可包含多个 subfigure;
  • minipage 一般放在 subfigure 里,没有自己的序号和描述信息,一个 subfigure 可包含多个 minipage;

【附】minipage 在 LaTex 上的官方说明文档:minipage.html

4. 跨栏放置图片

在论文排版为双栏时,需要跨栏放置图片,只需要在 \begin{figure}{\end{figure}} 上带星号 * 即可。

【实现代码】

\begin{
    figure*}
\centering
\includegraphics[width=0.75\textwidth]{
    girl.eps}
\caption{
    figure title}
\end{
    figure*}

5. 其他细节

图标题格式

论文里可能要求图片标题为 Fig. 1.,而有的模版生成出来的是 Figure. 1.,此时只需要在 \begin{document} 后面放上 caption 的格式控制命令:

\begin{
    document}\sloppy
\captionsetup[figure]{
    labelfont={
    bf},name={
    Fig.},labelsep=period}

bf 表示加粗,name 是要显示的名字,labelsep 是名称和序号之间的分隔符,period 表示用句号分隔,space 表示用空格分隔,没有参数就默认使用冒号分隔。

对于表格也同理,修改自己需要的 name 即可:

\captionsetup[table]{labelfont={bf},name={Table},labelsep=period}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31347869/article/details/103832190

智能推荐

css3基础-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏2次。CSS3 基础入门(一)说明CSS3 中相对于CSS2来说,新增加了很多的内容,其中较为常用的包括下面几点:选择器自定义字体(嵌入字体)和字体图标边框属性背景属性文本阴影和盒子阴影颜色属性渐变(线性渐变、径向渐变、重复渐变)过渡2d变换3d变换动画新的布局方案(flex 布局、多列布局、移动端布局、grid布局)在本篇文章当中,列出的都是一些css3当中新增加的较为常用并且兼容性较好的属性。选择器在这里主要说的是两部分选择器:属性选择器伪类选择器属性选择器

交互计算机图形学和图形用户界面之父是,交互式计算机图形学-程序员宅基地

文章浏览阅读792次。《交互式计算机图形学》一书的出版社是电子工业出版社,出版时间是2009年7月1日。《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)》覆盖了计算机图形学基础课程中的所有主题,包括光与材质的相互作用、明暗绘制、建模、曲线和曲面、反走样、光栅化、纹理映射和图像合成等内容。在广泛结合OpenGL并注重图形应用编程的基础上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)》向读者..._交互式图形界面的发明者

17-Halcon机器视觉实例入门:图像滤波-图像平滑_halcon smooth_image-程序员宅基地

文章浏览阅读2.5k次。图像滤波-图像平滑在Halcon中,图像平滑通过smooth_image算子来实现,其原型如下:smooth_image(Image : ImageSmooth : Filter, Alpha : )Image:输入图像。ImageSmooth:平滑后的图像。Filter:使用平滑滤波方法,有 ‘deriche1’, ‘deriche2’, ‘shen’ and 'gauss..._halcon smooth_image

Redis面试题(2020最新版)_2020redis面试题csdn-程序员宅基地

文章浏览阅读9.5k次,点赞24次,收藏19次。文章目录概述什么是RedisRedis有哪些优缺点为什..._2020redis面试题csdn

USTC计算数论课程学习记录_连分数因子分解-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏13次。文章目录1 大整数因子分解算法1.1 连分数因子分解1.2 二次筛法1.3 数域筛法1.4 Pollard ρ1.5 Pollard p-11.6 P+1算法1.7 椭圆曲线法2 离散对数2.1 小步大步法2.2 Silver-Hellman-Pholig3 模p开平方计算数论学习记录,如有错误,欢迎评论区指正。1 大整数因子分解算法寻找x2≡y2 (mod p)x^2\equiv y^2\ (mod\ p)x2≡y2 (mod p)来分解N。连分数、二次_连分数因子分解

数据结构 图 最短路径-程序员宅基地

文章浏览阅读199次。(1)从某个源点到其余各顶点的最短路径Dijkstra的代码如下:头文件:#defineINFINITY10000#defineMAX_VERTEX_NUM20typedefintInfoType;typedefcharVertexType;typedefintVRType;typedefenum...{DG,DN,UDG,UDN}GraphKind;typedefstructA..._please input the number of vertex n

随便推点

2017级算法模拟上机准备篇(序列DP 进阶_1)-程序员宅基地

文章浏览阅读92次。进阶版的序列DP 从一道题的优化开始ModricWang的序列问题题目描述:给定一个序列,求出这个序列中的最长上升子序列的长度。这道题的本质还是求解一个最长上升子序列的问题相对与之前提到过的O(n^2)的算法 我们可以重新整理思路用O(nlogn)的思路来写,用贪心和二分优化之前的算法我们设置新的DP数组//dp[i]代表的是当前长度为i的上升子序列的末尾元素的大...

XSS攻击基础防御_xxs全防1.0免费-程序员宅基地

文章浏览阅读3.4k次。XSS攻击听说过,没见过,后来通过查资料了解一点,这篇文章中,主要是针对XSS攻击做一个基本的防御,我也不知道能不能防的住,防不住在加规则,中国式解决问题:哪疼医那。哈哈由于公司用的是 SpringMVC,因此,这次就主要基于 SpringMVC 来解决这些漏洞。当然,其实这些解决方案都是大同小异,对于什么环境来说根本无所谓。了解了原理,什么环境、什么语言都可以运用自如了。废话就不多说了,直接上解..._xxs全防1.0免费

如何将JPG格式的图片转化为带地理坐标的TIFF格式-程序员宅基地

文章浏览阅读1.9k次。2019独角兽企业重金招聘Python工程师标准>>> ..._图片转为tif格式怎么附加坐标

Ubuntu apt/apt-get安装sqliteman出现“E: 无法定位软件包”解决方案_无法定位软件包 sqliteman-程序员宅基地

文章浏览阅读2.9k次,点赞4次,收藏5次。前提:python初学者。自学过程中发现很多网上没有说清楚的解决方案,因此自己记录下来。老师让安装sqliteman:sudo apt install sqliteman提示:E: 无法定位软件包 sqliteman看网上主要是两种解决方案:1.换源。尝试后再安装还是同样的问题。2.第二种方式如下图:尝试了还是无法解决https://blog.csdn.net/Z_YMing/article/details/95041427男朋友是程序员,问了他以后,说让我先安装sqlite1/安装sqli_无法定位软件包 sqliteman

大学c语言第三章作业,c语言程序设计一章部分和第三章习题答案.doc-程序员宅基地

文章浏览阅读126次。c语言程序设计一章部分和第三章习题答案实 验 报 告课程名称 C语言程序设计A实验项目 编程环境认知与顺序程序设计实验仪器 PC机一台学 院_____信息管理学院_______专 业 信息管理与信息系统班级/学号 信管1302班学生姓名 吴玉元实验日期 2014年3月成 绩 _________________..._中国大学c语言程序设计单元测试第三章答案

Qt Charts 之 QChartView Class_qt class : public qchartview-程序员宅基地

文章浏览阅读7k次。详细描述QChartView是一个独立的图标小部件。QChartView是一个独立的可以显示图表的部件。它不需要分离的QGraphicsScene就可以工作。如果你想要在已经存在的QGraphicsScene中显示一个图表,你需要使用QChart(或者QPolarChart)类(来替代QChartView)。成员函数(API)QChartView::QChartVi_qt class : public qchartview