LaTeX分享008【LaTeX多图排列方法】

这篇具有很好参考价值的文章主要介绍了LaTeX分享008【LaTeX多图排列方法】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LaTeX分享【LaTeX多图排列方法】

作者:JinyuLi

日期:2023.03.18

内容:填坑,补充上一篇专栏中LaTeX图片插入问题中的多张图片同时插入的实现方法部分,本篇专栏主要还是分享graphicx包下的实现方法,分以下几个部分:

1、基本的多图插入情景引入(可直接跳过废话部分)

2、宏包插入

关于多图排版的宏包subfigsubfigure

3、具体使用方法,主要分享并列、竖直排列、栅格排列三种排列方式。

4、文章参考文档和使用的源码均放在文末

本文观前提醒:专栏参考了其他博文整理并根据自身理解整理而成,文末附博文链接,如果有打不开的网页,那么大概率是境外网址,请自行学会“科学上网”本文不做详解。

基本的多图插入情景引入

在上文中我们提过,一个技术报告或者说论文之类的文档,有图片会让这个文档更加丰满,也更易于读者的阅读,而在上一篇BLOG中我简单的记录了在LaTeX中插入单张图片的一个基本操作方法,而对于文档来说,插入单张图片的情况虽然常见,但是有时侯也不能很好的满足我们的需求,就好比我们有两个模型运行后得出两个不同的数据,我们想把这两个数据的输出曲线放在尽可能近的距离进行比较,就好像下面这张图:

LaTeX分享008【LaTeX多图排列方法】

当我们要实现上图的数据对比的话,如果放在文档中考虑排版的美观性以及文章的易读性的话,使用子图并列放置无疑会比直接插入两张单张的图片会更好一点。而这种效果我们改如何实现呢,大家可以接着往下看。

宏包插入

还是那句老话,如果在LaTeX中需要实现一个排版的效果的话我们首要的任务还是要想到,需要在导言区加个什么包呢?(package

在这里,我们的需求是要在文档中插入多张图片并进行排版,那么我们这里需要引入两个宏包,分别是graphicxsubfig,在进行正式的用法说明前,我还想插入一个小点,就是关于多图插入宏包subfigsubfigure的一些小的介绍,不感兴趣的朋友可以直接跳过:

subfigsubfigure

对于多图插入这个用法来说,在LaTeX中其实有两个宏包可以插入,分别是subfigsubfigure,那么这两个宏包不一样的地方又在哪里呢?如果用省流的说法就是

subfigure宏包已经是旧时代的产物了,他简单易用,但是已经被LaTeX弃用了(依旧可以使用进行编译,但是已经逐渐被取代)。、

subfig则是新时代的宠儿,它不仅可以胜任subfigure作用,而且功能更加强大,可以用于处理不仅仅是图形,还可以处理表格等其它类型的浮动体。

其具体的说法就是:

  • subfigure宏包仅支持水平排列的子图,而subfig宏包支持水平和垂直两种排列方式,可以根据需要进行选择。

  • subfigure宏包在排版子图时会自动添加一些额外的垂直间距,有时会导致排版效果不佳。相比之下,subfig宏包的子图之间间距更加紧凑,可以更好地控制子图之间的间隔和位置

  • subfig宏包能够处理除了图片的其他浮动体。

所以在后面的LaTeX中,我们会尽量多的使用subfig这个宏包,而subfigure也不是不用,毕竟他也有着易于使用的好处。

回到正题,我们要进行多图排版,首先就在导言区插入graphicxsubfig宏包,如下:

LaTeX分享008【LaTeX多图排列方法】

两个宏包具体的作用我们就不再展开详细说了,只要知道graphicx宏包的作用就是告诉LaTeX,我们要插入图片了,subfig宏包的作用则是,我要告诉LaTeX我们不仅要插入图片,我们还准备要对多图片插入进行一定的排版操作。

在插入宏包后,我们就只需要在正文区进行相应的模板格式的套写就能插入多张图片了。

具体使用方法

在这个部分,我们主要分享三种多图排版的方式,并列、竖直排列、栅格排列,因为这是我个人常用的三种方式,有更多的排版需求的话,可以看看我下文文末参考文章部分的博客——LaTeX文档多图排版

并列排版

我们先看效果:

LaTeX分享008【LaTeX多图排列方法】

好了,效果就是如上,我们成功地往文件中插入了一副并列排放地图片,然后每张小图片(子图)下都有单独地标题,整个大的合体图片还有最终的总结脚注,这样应该就能满足我们绝大多数的文档需求了。

那么,该如何实现?代码如下(注意看代码后面紧跟的 %给出的注释 )会简单的说明这一行代码的用途

\begin{figure}[htbp]    % 常规操作\begin{figure}开头说明插入图片
% 后面跟着的[htbp]是图片在文档中放置的位置,也称为浮动体的位置,关于这个我们后面的文章会聊聊,现在不管,照写就是了
  \centering            % 前面说过,图片放置在中间
  \subfloat[第一个子图标题]   % 第一张子图的下标(注意:注释要写在[]中括号内)
  {
      \label{fig:subfig1}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
      % \label{}命令为每个子图添加标签,方便在正文中引用。如果你不需要引用的话,也可以不加这个命令,写法在下面有:
      % \label{}命令的{}内第一个{}中的内容fig:subfig1就是你插入的这张子图的标签,注意每个标签都不能一样,要用合适的编号去区分,比如1、2、3......
      % \label{}命令中{}内\includegraphics[]{}就是真正插入图片的命令,[]中的是图片的一些参数,{}就是图片的相对路径
      % width=0.4\textwidth 就是设置图片的大小,这里设置的是文档宽度(\textwidth)的0.4倍,在设置时注意不要超宽,不然会报错,大家多设置几个数尝试一下就能理解了
  }
  \subfloat[第二个子图标题]
  {
      \label{fig:subfig2}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
  }
  \caption{双子图并列排版实例}    % 整个图片的说明,注释写在{}内
  \label{fig:subfig_1}            % 整个图片的标签编号,注意这里跟子图是一样的道理,标签不能重复 
\end{figure}

以上就是插入多图的一些具体用法,如果要三图排列,那么大家只需要在\centering.......\label{fig:subfig_1}中间再插入:

\subfloat[第一个子图标题]
  {
    \label{fig:subfig3}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
  }

这个代码块就行,其他就照填就好,效果如下:

LaTeX分享008【LaTeX多图排列方法】

这里要注意一下,三图甚至四图并列的情况下,要注意把图片大小重新调整一下,不然会超出文章界限导致报错。

上面说到的不要标签的写法如下:

\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}

我们只需要把标签命令删除即可

实际在LaTeX中的写法如下图:

LaTeX分享008【LaTeX多图排列方法】

但是这种写法的话,不太推荐,毕竟没有了标签如果什么时候想在文章哪个部分引用一下这张图片的话就会变得比较麻烦。

以上就是,多张图片插入时并列排布的基本用法

竖直排列

我们接下来接着说第二种,竖直排列,因为其样式就是跟横向并列差不多,而且实际情况的话使用频率还是比较低的,我这里直接贴出代码供大家参考:

\begin{figure}[htbp]
  \centering
  \begin{minipage}[t]{0.5\linewidth}  % 这里图片位置设置为[t]竖直优先
  % {0.5\linewidth} 图片是页面高度的0.5倍
      \centering
      \label{fig:subfig5}\includegraphics[width=2in]{img/LaTeXlion.jpg}
      % [width=2in] 图片宽度设置为2英寸,这里也可以用厘米
      \caption{第五个子图标题}
  \end{minipage}
  \begin{minipage}[t]{0.5\linewidth}
      \centering
      \label{fig:subfig6}\includegraphics[width=2in]{img/LaTeXlion.jpg}
      \caption{第六个子图标题}
  \end{minipage}
  \caption{双子图竖直并列排版实例}
  \label{fig1:subfig2}
\end{figure}

代码的实际效果如下:

LaTeX分享008【LaTeX多图排列方法】

栅格排列

最后我们再来说一种除了并列排放之外最多出现的另一种图片排列方式,栅格排列,我个人也称为九宫格排列,因为,他可以实现N行N列图片的放置。

我们先看看效果:

LaTeX分享008【LaTeX多图排列方法】

实现代码如下:

\begin{figure}[htbp]
  \centering
  \subfloat[第一个子图的标题]
  {\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig7}}
  [b]     % 重点就在这,优先横向排列,自动换行
  \subfloat[第二个子图的标题]
  {\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig8}}
  [b]
  \subfloat[第三个子图的标题]
  {\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig9}}
  [b]
  \subfloat[第四个子图的标题]
  {\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig10}}
  [b]
  \caption{栅格排列多图示例}
\end{figure}

在这里有一个比较不同的地方就在于那个**[b]**,只要加上就能实现栅格排列了,具体原因日后再聊,哈哈哈哈哈,因为不想写了,这篇BLOG就到这啦,欢迎大家转发点赞,如果有意见也欢迎友善批评指正。

参考文章

Matlab仿真PID控制(带M文件、simulink截图和参数分析)

https://blog.csdn.net/weixin_44044411/article/details/85891109


LaTeX文档多图排版

https://vvingerfly.github.io/2018/02-16-Tex-imageTypesetting/


LaTex子图优雅排版

https://zhuanlan.zhihu.com/p/536520607


Latex中插入多张图片,实现并排排列或者多行多列排列

https://blog.csdn.net/a6822342/article/details/80533135

大家也可以移步以下平台阅览本专栏,感谢

微信公众号 Jinyu Li OwO

B站专栏

https://www.bilibili.com/read/cv21970159


知乎

https://www.zhihu.com/column/c_1611528726348275712


CSDN

https://blog.csdn.net/ljy025/category_12214744.html

公众号更新

周三(11:45) 周六(16:30)

其他平台不定期。

本文使用的LaTeX源码:文章来源地址https://www.toymoban.com/news/detail-446913.html

\documentclass[11pt]{article}

\usepackage{graphicx}       % 图片插入宏包
\usepackage{subfig}      % 子图(并列图片插入宏包)

\usepackage{a4}
\usepackage{ctex}
\usepackage{lipsum}         % 文本随机生成包(以后会给大家分享)

% 作者信息
\title{\LaTeX分享-图片插入-多图样式}    % 作者信息的设置必须放在设置的最后位置
\author{Jinyu-Li}
\date{\today}

%%%%%%%%%%%%%%%%%% 正文 %%%%%%%%%%%%%%%%%%

\begin{document}
\maketitle                 % 文档简明信息

\section{多图插入模式}
    \subsection{并列排版}
    \lipsum[1]
    \begin{figure}[htbp]
        \centering
        \subfloat[第一个子图标题]
        {
            \label{fig:subfig1}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
        }
        \subfloat[第二个子图标题]
        {
            \label{fig:subfig2}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
        }
        \caption{双子图并列排版实例}
        \label{fig:subfig}
    \end{figure}

    \lipsum[1]

    \begin{figure}[htbp]
        \centering
        \subfloat[第三个子图标题]
        {
            \label{fig:subfig3}\includegraphics[width=0.3\textwidth]{img/LaTeXlion.jpg}
        }
        \subfloat[第四个子图标题]
        {
            \label{fig:subfig4}\includegraphics[width=0.3\textwidth]{img/LaTeXlion.jpg}
        }
        \subfloat[第五个子图标题]{\includegraphics[width=0.3\textwidth]{img/LaTeXlion.jpg}}
        \caption{三子图并列排版实例}
        \label{fig1:subfig1}
    \end{figure}

    \lipsum[2]

    \subsection{竖直排列}

    \lipsum[3]

    \begin{figure}[htbp]
        \centering
        \begin{minipage}[t]{0.5\linewidth}
            \centering
            \label{fig:subfig5}\includegraphics[width=2in]{img/LaTeXlion.jpg}
            \caption{第五个子图标题}
        \end{minipage}
        \begin{minipage}[t]{0.5\linewidth}
            \centering
            \label{fig:subfig6}\includegraphics[width=2in]{img/LaTeXlion.jpg}
            \caption{第六个子图标题}
        \end{minipage}
        \caption{双子图竖直并列排版实例}
        \label{fig1:subfig2}
    \end{figure}

    \subsection{栅格排列}

    \lipsum[4]

    \begin{figure}[htbp]
        \centering
        \subfloat[第一个子图的标题]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig7}}[b]
        \subfloat[第二个子图的标题]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig8}}[b]
        \subfloat[第三个子图的标题]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig9}}[b]
        \subfloat[第四个子图的标题]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig10}}[b]
        \caption{栅格排列多图示例}
    \end{figure}
   
\end{document}

到了这里,关于LaTeX分享008【LaTeX多图排列方法】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 七种方法增强代码可扩展性(多图详解)

    在设计模式中有六大设计原则: 单一职责原则:一个类只做一件事 里式替换原则:子类可以扩展父类 依赖倒置原则:面向接口编程 接口隔离原则:高内聚低耦合 迪米特法则:最少知道原则 开闭原则:关闭修改,开放新增 我认为在这六个原则中开闭原则最为重要,开闭原则

    2024年02月05日
    浏览(50)
  • Latex | 使用MATLAB生成.eps矢量图并导入Latex中的方法

    用Latex时写paper时,要导入MATLAB生成的图进去 (1)在MATLAB生成图片的窗口中,导出.eps矢量图 (2)把图上传到overleaf的目录 (3)在文中添加相应代码 (1)MATLAB生成图像后,生成点击“文件”-“导出设置(R)” (2)参数我这里是选择了默认,再点击右侧栏的“导出” (3)

    2024年02月15日
    浏览(38)
  • 【C++】无重复数字全排列(三种方法)和有重复数字全排列

     把 1 ∼ n 1∼n 1 ∼ n 这 n n n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式: 一个整数 n n n 。 1 ≤ n ≤ 9 1≤n≤9 1 ≤ n ≤ 9 。 输出格式: 按照从小到大的顺序输出所有方案,每行 1 1 1 个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不

    2024年02月06日
    浏览(47)
  • Latex参考文献斜体变正体方法

    测试环境:texlive+texstudio 最近发表的论文被拒稿后改投Elsevier出版社的期刊,在引用参考文献时,遇到了问题: 1.一开始样式用的期刊所给名为(cas-model2-names.bst)的参考文献格式文件,但是使用这个文件放入到bibliographystyle{cas-model2-names}后,发现与录用期刊所发表的论文参考

    2024年02月17日
    浏览(50)
  • 关于Mars3D创建多图层以及图标重复加载方法

    这是一个困扰我好几次的问题了,今天就给他彻底解决了 我们需要的效果如下  但是第一遍是正确的,如果再点击一次上方按钮呢?他会不会出I现两次呢,如果是出现两次的话,input框还能控制显示隐藏吗? 答案是:可以,但是,他只能控制一次,就比如说,我点击了两次

    2024年02月08日
    浏览(41)
  • 3个数字排列顺序的方法(C语言)

    实现过程: 第一步、首先定义数据类型; 第二步、使用输入函数scanf获得任意 3 个值赋给 x、y、z; 第三步、使用 if 语句进行条件判断,如果 y大于 x,则借助于中间临时变量 tmp 互换 x与 y 值, 依此类推比较 x与 z、y 与 z,最终结果即为 x、y、z 的升序排列; 第四步、使用

    2024年02月06日
    浏览(39)
  • Latex在同一figure中排版多张图片的方法

    主要使用了 minipage(子图) 语法。 minipage 可以嵌套,子图还可以分解为更多子图,功能很好玩,无聊可以自己试试。下面介绍几种常用效果的实现方法。 上述代码的结果为: 特别需要注意的是,第一个minipage的宽度和第二个minipage的宽度之和不能超过1。如果超过一,则会自

    2024年02月17日
    浏览(41)
  • Hbuilder X无法连接手机的排列组合方法

    官方文档 真机运行常见问题@run | uni-app官网 (dcloud.net.cn) 遇到了两个问题 1. 找不到手机 2. 检测到当前使用的ADB不支持反向代理…… 手机方面 除了连接USB后选择文件传输(/仅充电/传输照片) 点击手机版本号数次可呼出USB调试模式 电脑方面 网上的方法多为替换文件, 驱动精灵安

    2024年02月15日
    浏览(42)
  • 基于tabular包的Latex表格尺寸设置方法(列宽和行高)

    设置表格的说明文字时,有的场合要求说明文字在表格下方,有的要求说明文字在表格上方,该怎么调整呢? 只需要把 caption 语句分别放在 end{tabular} 的下面或者 begin{tabular} 的上面即可。 begin{tabular}{} 语句的大括号中设置每一列的属性,包括有无框线、宽度、对齐方式。

    2024年02月12日
    浏览(47)
  • Latex公式中矩阵的方括号和圆括号表示方法

    一、背景 在使用Latex写论文时,不可避免的涉及到矩阵公式。有的期刊要求矩阵用方括号,有的期刊要求矩阵用圆括号。因此,特记录一下Latex源码在两种表示方法上的区别,以及数组和方程组的扩展。 二、矩阵的方括号表示 首先所有的矩阵肯定都是在标签 begin{eqnarray} 和

    2024年01月24日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包