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

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

作者:JinyuLi

日期:2023.03.18

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

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

2、宏包插入

关于多图排版的宏包subfigsubfigure

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

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

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

基本的多图插入情景引入

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wvmqQY1z-1679141240702)(https://imgse.com/i/ppJ3XAU "PID调节过程-数据子图排列")]

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

宏包插入

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

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

subfigsubfigure

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

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

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

其具体的说法就是:

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

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQJm5BtI-1679141240704)(https://imgse.com/i/ppJGDsI "宏包插入")]

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

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

具体使用方法

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

并列排版

我们先看效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pSHgd6a8-1679141240705)(https://imgse.com/i/ppJJgn1 "双图并列排版-1")]

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

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

\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}}

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3LqdLw3P-1679141240707)(https://imgse.com/i/ppJUOMQ "三图并列")]

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

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k3x3YeRm-1679141240708)(https://imgse.com/i/ppJakM4 "无标签写法")]

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

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

竖直排列

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

\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}

代码的实际效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kuCEsWEs-1679141240711)(https://imgse.com/i/ppJdqBj "竖直排列效果")]

栅格排列

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

我们先看看效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eRYOT2tE-1679141240713)(https://imgse.com/i/ppJB2B4 "栅格四图")]

实现代码如下:

\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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D5WvUsZ7-1679141240714)(https://pic6.58cdn.com.cn/nowater/webim/big/n_v289de6f6b045343b382e79ba62c813913.png "推文平台")]

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源码:

\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}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36469.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT的过去、现在与未来

来源:CIO之家 作者:冯骁骋 OpenAI 开发推出了人工智能聊天机器人程序——ChatGPT,用于展示和测试一个庞大且强大的人工智能系统可以完成的任务。你可以问它无数的问题,通常也会得到想要的答案,例如问它一些百科全书式的…

多种内网穿透的实现方案

1. 内网穿透的应用场景 1.1. 开发调试 比如企业微信、钉钉等开发,需要一个回调地址,开发的时候,希望回调到开发的电脑上,打断点进行调试,这就需要穿透到内网的开发机器。 1.2. 演示测试 有需要演示或测试的系统&am…

Appium的安装与应用

安装 1.pip install appium-python-client 2.安装appium server https://github.com/appium/appium-desktop/releases 配置完ANDROID_HOME和adb后安装 3.安装JDK 因为我们做安卓自动化,需要用到Android SDK,这个需要JDK 可以cmdr ,运行一下…

如何解决用户被锁状态

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Oracle sql*plus PLSQL Developer 作者:朱海恩 撰写时间: 2019.03.15 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

解决Oracle system/用户被锁定

文章包含了如何解锁system账户,如何解锁普通用户scott的方法,同时在文末也有一些可以解决忘记密码而导致账户被锁的小方法。分享给大家。 system用户被锁定了,而其他用户又没有权限对其进行解锁,这个时候该怎么办呢? …

Cursor!!!GPT-4帮我写代码

首先介绍一款产品:cursor 官网 :https://www.cursor.so IDE作者: https://twitter.com/amanrsanger 目前为止应该是第一个免费能够使用GPT4工作的软件,看作者的Twitter,他说自己提前向OpenAI要到了GPT4的API&#xff…

Python调用OpenAI接口的简单封装

1. 注册OpenAI账号,获取OpenAI-API key 网上有很多资料,这里就不再叙述了,科学上网,懂得都懂。 一个小坑,在生成API key之后需立刻复制下来,否则将无法再次打开。当然如果错过复制了,也可以再…

使用youtube语音识别功能给视频加自动字幕

起因 自己英文比较差,国外大佬的演进听不清楚,也没有字幕,虽然有PPT,但还是想完整的了解下。 于是在想自己能用哪种语音识别的工具把英文字幕加上。最近一直在youtube上看视频,发现youtube可以把字幕转换成各国语言的…

5分钟教会你英语视频如何制作中英字幕

2.识别引擎改为【专业级识别引擎】识别语言改为英语 最近很多自媒体,都是通过国外的网站, 搬运到抖音等视频媒体平台,那么,他们是如何为视频增加字幕的呢?接下来,我给大家进行一下简单教学!~ 英…

视频自动生成字幕(免费版)

众所周知视频生成字幕是个麻烦事,现如今市面上大多数的视频软件生成字幕不是效果不佳就是需要花钱,不过有这样一种方法是可以免费生成字幕的。 所需工具: 网易见外工作台Pr软件 1.注册网易见外工作台账号 拿个邮箱注册一下就行&#xff0c…

英文视频字幕自动生成

笔者正在制作少儿编程教育系列视频,发现有大量的英文视频资料值得学习,但是视频中缺少字幕,可能会对学生的学习过程带来困扰。如果能够得到英文字幕,再通过谷歌翻译等工具的使用,就可以进一步生成中文字幕。因此&#…

英文视频如何翻译成中文视频简单工具推荐

英文视频如何快速变成中文视频,自动生成文案,自动匹配画面,同时还有中文的配音,看过来,在测试了十几款软件之后,终于找到我心目中最好用的那一款了, 不服来辩。 相信很多小伙伴在日常浏览海外的…

[tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)

1.网易见外是网易人工智能事业部旗下的AI视频翻译产品. 字幕支持手工编辑和下载 不过网易见外 只支持WEB在线操作 并且只支持单个上传操作 目前没有客户端 2.人人译视界 (IOS 安卓 PC客户端都有) 3 微软最新免费试用的AI字幕翻译 超级好用 建议使用这个来采集英文字幕 超级准 …

如何把视频文件添加中英文对照字幕

如何把视频文件添加中英文对照字幕 在这里用到了subtitle edit的软件,首先我们先安装好subtitle和vlc软件,见上一篇文章下载Subtitle edit和vlc 1,点击视频,打开视频文件 选择视频文件 2, 点击视频转文本 会要求安…

剪映怎么把英文字幕翻译成中文?(附视频教程+字幕翻译工具)

点击上方"优派编程"选择“加入星标”,第一时间关注原创干货 原文地址 https://www.fang1688.cn/ziyuan/2886.html 今天介绍的这款英文字幕翻译成中文软件:剪映字幕翻译通用版3.6.1.exe 使用方法 关于账号登录直接登录b站账号即可。 软件可能会…

【开源工具】使用Whisper提取视频、语音的字幕

这里写目录标题 一、语音转字幕操作步骤1、下载安装包Assets\WhisperDesktop.zip[^2]2、加载模型2.1 下载模型2.1.1 进入Hugging Face[^3]的仓库2.1.2 选择需要下载的模型2.1.3 配置模型路径 3、语音转字幕4、实时语言转录功能 二、相关简介[^1]特点开发人员指南构建说明其他注…

用剪映将无字幕的英文视频翻译成中文字幕(附教程+软件)

点击上方蓝字"优派编程"选择“加为星标”,第一时间关注原创干货 原文地址 https://www.fang1688.cn/ziyuan/2886.html 简介: 剪映字幕翻译及SRT字幕导出功能:剪映字幕翻译及SRT字幕导出功能,更加方便的制作视频&#xf…

语音视频自动生成字幕功能介绍

语音视频自动生成字幕功能介绍 中国站点 https://aismartvip.com 香港站点 https://hk.aismartvip.com 语音视频识别,自动生成字幕,支持全球120种语音/视频识别: 中文、普通话(中国简体)、中文、普通话(台湾繁体)、中…

【解决方案】如何把视频内的声音和文字翻译成新的字幕或者配音

一、视频翻译的几种情况 根据视频的声音进行翻译并生成字幕 一般来说,我们使用自动语音识别(ASR)技术对视频的声音进行翻译并生成字幕的步骤如下: 选择翻译软件:首先,选择一个支持ASR技术的翻译软件。 上…

视频翻译字幕的软件哪个好?看完你就知道了

以前给自己的视频翻译字幕,是一项难度非常高的工作,但如今不一样了,随着科技地不断发展,现在出现了很多软件能够帮助我们轻松去实现视频字幕的提取与翻译,而且操作难度也不会太难,翻译效率也能得到保障&…