LaTeX分享【LaTeX多圖排列方法】
作者:JinyuLi
日期:2023.03.18
內(nèi)容:填坑,補充上一篇專欄中LaTeX圖片插入問題中的多張圖片同時插入的實現(xiàn)方法部分,本篇專欄主要還是分享graphicx包下的實現(xiàn)方法,分以下幾個部分:
1、基本的多圖插入情景引入(可直接跳過廢話部分)
2、宏包插入
關(guān)于多圖排版的宏包subfig和subfigure
3、具體使用方法,主要分享并列、豎直排列、柵格排列三種排列方式。
4、文章參考文檔和使用的源碼均放在文末
本文觀前提醒:專欄參考了其他博文整理并根據(jù)自身理解整理而成,文末附博文鏈接,如果有打不開的網(wǎng)頁,那么大概率是境外網(wǎng)址,請自行學(xué)會“科學(xué)上網(wǎng)”本文不做詳解。
基本的多圖插入情景引入
在上文中我們提過,一個技術(shù)報告或者說論文之類的文檔,有圖片會讓這個文檔更加豐滿,也更易于讀者的閱讀,而在上一篇BLOG中我簡單的記錄了在LaTeX中插入單張圖片的一個基本操作方法,而對于文檔來說,插入單張圖片的情況雖然常見,但是有時侯也不能很好的滿足我們的需求,就好比我們有兩個模型運行后得出兩個不同的數(shù)據(jù),我們想把這兩個數(shù)據(jù)的輸出曲線放在盡可能近的距離進行比較,就好像下面這張圖:
當(dāng)我們要實現(xiàn)上圖的數(shù)據(jù)對比的話,如果放在文檔中考慮排版的美觀性以及文章的易讀性的話,使用子圖并列放置無疑會比直接插入兩張單張的圖片會更好一點。而這種效果我們改如何實現(xiàn)呢,大家可以接著往下看。
宏包插入
還是那句老話,如果在LaTeX中需要實現(xiàn)一個排版的效果的話我們首要的任務(wù)還是要想到,需要在導(dǎo)言區(qū)加個什么包呢?(package)
在這里,我們的需求是要在文檔中插入多張圖片并進行排版,那么我們這里需要引入兩個宏包,分別是graphicx和subfig,在進行正式的用法說明前,我還想插入一個小點,就是關(guān)于多圖插入宏包subfig和subfigure的一些小的介紹,不感興趣的朋友可以直接跳過:
subfig和subfigure
對于多圖插入這個用法來說,在LaTeX中其實有兩個宏包可以插入,分別是subfig和subfigure,那么這兩個宏包不一樣的地方又在哪里呢?如果用省流的說法就是
subfigure宏包已經(jīng)是舊時代的產(chǎn)物了,他簡單易用,但是已經(jīng)被LaTeX棄用了(依舊可以使用進行編譯,但是已經(jīng)逐漸被取代)。、
而subfig則是新時代的寵兒,它不僅可以勝任subfigure作用,而且功能更加強大,可以用于處理不僅僅是圖形,還可以處理表格等其它類型的浮動體。
其具體的說法就是:
subfigure
宏包僅支持水平排列的子圖,而subfig
宏包支持水平和垂直兩種排列方式,可以根據(jù)需要進行選擇。
subfigure
宏包在排版子圖時會自動添加一些額外的垂直間距,有時會導(dǎo)致排版效果不佳。相比之下,subfig
宏包的子圖之間間距更加緊湊,可以更好地控制子圖之間的間隔和位置
subfig
宏包能夠處理除了圖片的其他浮動體。
所以在后面的LaTeX中,我們會盡量多的使用subfig這個宏包,而subfigure也不是不用,畢竟他也有著易于使用的好處。
回到正題,我們要進行多圖排版,首先就在導(dǎo)言區(qū)插入graphicx和subfig宏包,如下:
兩個宏包具體的作用我們就不再展開詳細說了,只要知道graphicx宏包的作用就是告訴LaTeX,我們要插入圖片了,subfig宏包的作用則是,我要告訴LaTeX我們不僅要插入圖片,我們還準(zhǔn)備要對多圖片插入進行一定的排版操作。
在插入宏包后,我們就只需要在正文區(qū)進行相應(yīng)的模板格式的套寫就能插入多張圖片了。
具體使用方法
在這個部分,我們主要分享三種多圖排版的方式,并列、豎直排列、柵格排列,因為這是我個人常用的三種方式,有更多的排版需求的話,可以看看我下文文末參考文章部分的博客——LaTeX文檔多圖排版
并列排版
我們先看效果:
好了,效果就是如上,我們成功地往文件中插入了一副并列排放地圖片,然后每張小圖片(子圖)下都有單獨地標(biāo)題,整個大的合體圖片還有最終的總結(jié)腳注,這樣應(yīng)該就能滿足我們絕大多數(shù)的文檔需求了。
那么,該如何實現(xiàn)?代碼如下(注意看代碼后面緊跟的 %給出的注釋 )會簡單的說明這一行代碼的用途
\begin{figure}[htbp] % 常規(guī)操作\begin{figure}開頭說明插入圖片
% 后面跟著的[htbp]是圖片在文檔中放置的位置,也稱為浮動體的位置,關(guān)于這個我們后面的文章會聊聊,現(xiàn)在不管,照寫就是了
\centering % 前面說過,圖片放置在中間
\subfloat[第一個子圖標(biāo)題] % 第一張子圖的下標(biāo)(注意:注釋要寫在[]中括號內(nèi))
{
\label{fig:subfig1}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
% \label{}命令為每個子圖添加標(biāo)簽,方便在正文中引用。如果你不需要引用的話,也可以不加這個命令,寫法在下面有:
% \label{}命令的{}內(nèi)第一個{}中的內(nèi)容fig:subfig1就是你插入的這張子圖的標(biāo)簽,注意每個標(biāo)簽都不能一樣,要用合適的編號去區(qū)分,比如1、2、3......
% \label{}命令中{}內(nèi)\includegraphics[]{}就是真正插入圖片的命令,[]中的是圖片的一些參數(shù),{}就是圖片的相對路徑
% width=0.4\textwidth 就是設(shè)置圖片的大小,這里設(shè)置的是文檔寬度(\textwidth)的0.4倍,在設(shè)置時注意不要超寬,不然會報錯,大家多設(shè)置幾個數(shù)嘗試一下就能理解了
}
\subfloat[第二個子圖標(biāo)題]
{
\label{fig:subfig2}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
}
\caption{雙子圖并列排版實例} % 整個圖片的說明,注釋寫在{}內(nèi)
\label{fig:subfig_1} % 整個圖片的標(biāo)簽編號,注意這里跟子圖是一樣的道理,標(biāo)簽不能重復(fù)
\end{figure}
以上就是插入多圖的一些具體用法,如果要三圖排列,那么大家只需要在\centering.......\label{fig:subfig_1}
中間再插入:
\subfloat[第一個子圖標(biāo)題]
{
\label{fig:subfig3}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
}
這個代碼塊就行,其他就照填就好,效果如下:
這里要注意一下,三圖甚至四圖并列的情況下,要注意把圖片大小重新調(diào)整一下,不然會超出文章界限導(dǎo)致報錯。
上面說到的不要標(biāo)簽的寫法如下:
\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
我們只需要把標(biāo)簽命令刪除即可
實際在LaTeX中的寫法如下圖:
但是這種寫法的話,不太推薦,畢竟沒有了標(biāo)簽如果什么時候想在文章哪個部分引用一下這張圖片的話就會變得比較麻煩。
以上就是,多張圖片插入時并列排布的基本用法
豎直排列
我們接下來接著說第二種,豎直排列,因為其樣式就是跟橫向并列差不多,而且實際情況的話使用頻率還是比較低的,我這里直接貼出代碼供大家參考:
\begin{figure}[htbp]
\centering
\begin{minipage}[t]{0.5\linewidth} % 這里圖片位置設(shè)置為[t]豎直優(yōu)先
% {0.5\linewidth} 圖片是頁面高度的0.5倍
\centering
\label{fig:subfig5}\includegraphics[width=2in]{img/LaTeXlion.jpg}
% [width=2in] 圖片寬度設(shè)置為2英寸,這里也可以用厘米
\caption{第五個子圖標(biāo)題}
\end{minipage}
\begin{minipage}[t]{0.5\linewidth}
\centering
\label{fig:subfig6}\includegraphics[width=2in]{img/LaTeXlion.jpg}
\caption{第六個子圖標(biāo)題}
\end{minipage}
\caption{雙子圖豎直并列排版實例}
\label{fig1:subfig2}
\end{figure}
代碼的實際效果如下:
柵格排列
最后我們再來說一種除了并列排放之外最多出現(xiàn)的另一種圖片排列方式,柵格排列,我個人也稱為九宮格排列,因為,他可以實現(xiàn)N行N列圖片的放置。
我們先看看效果:
實現(xiàn)代碼如下:
\begin{figure}[htbp]
\centering
\subfloat[第一個子圖的標(biāo)題]
{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig7}}
[b] % 重點就在這,優(yōu)先橫向排列,自動換行
\subfloat[第二個子圖的標(biāo)題]
{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig8}}
[b]
\subfloat[第三個子圖的標(biāo)題]
{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig9}}
[b]
\subfloat[第四個子圖的標(biāo)題]
{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig10}}
[b]
\caption{柵格排列多圖示例}
\end{figure}
在這里有一個比較不同的地方就在于那個**[b]**,只要加上就能實現(xiàn)柵格排列了,具體原因日后再聊,哈哈哈哈哈,因為不想寫了,這篇BLOG就到這啦,歡迎大家轉(zhuǎn)發(fā)點贊,如果有意見也歡迎友善批評指正。
參考文章
Matlab仿真PID控制(帶M文件、simulink截圖和參數(shù)分析)
https://blog.csdn.net/weixin_44044411/article/details/85891109
LaTeX文檔多圖排版
https://vvingerfly.github.io/2018/02-16-Tex-imageTypesetting/
LaTex子圖優(yōu)雅排版
https://zhuanlan.zhihu.com/p/536520607
Latex中插入多張圖片,實現(xiàn)并排排列或者多行多列排列
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)
其他平臺不定期。文章來源:http://www.zghlxwxcb.cn/news/detail-446913.html
本文使用的LaTeX源碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-446913.html
\documentclass[11pt]{article}
\usepackage{graphicx} % 圖片插入宏包
\usepackage{subfig} % 子圖(并列圖片插入宏包)
\usepackage{a4}
\usepackage{ctex}
\usepackage{lipsum} % 文本隨機生成包(以后會給大家分享)
% 作者信息
\title{\LaTeX分享-圖片插入-多圖樣式} % 作者信息的設(shè)置必須放在設(shè)置的最后位置
\author{Jinyu-Li}
\date{\today}
%%%%%%%%%%%%%%%%%% 正文 %%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle % 文檔簡明信息
\section{多圖插入模式}
\subsection{并列排版}
\lipsum[1]
\begin{figure}[htbp]
\centering
\subfloat[第一個子圖標(biāo)題]
{
\label{fig:subfig1}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
}
\subfloat[第二個子圖標(biāo)題]
{
\label{fig:subfig2}\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}
}
\caption{雙子圖并列排版實例}
\label{fig:subfig}
\end{figure}
\lipsum[1]
\begin{figure}[htbp]
\centering
\subfloat[第三個子圖標(biāo)題]
{
\label{fig:subfig3}\includegraphics[width=0.3\textwidth]{img/LaTeXlion.jpg}
}
\subfloat[第四個子圖標(biāo)題]
{
\label{fig:subfig4}\includegraphics[width=0.3\textwidth]{img/LaTeXlion.jpg}
}
\subfloat[第五個子圖標(biāo)題]{\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{第五個子圖標(biāo)題}
\end{minipage}
\begin{minipage}[t]{0.5\linewidth}
\centering
\label{fig:subfig6}\includegraphics[width=2in]{img/LaTeXlion.jpg}
\caption{第六個子圖標(biāo)題}
\end{minipage}
\caption{雙子圖豎直并列排版實例}
\label{fig1:subfig2}
\end{figure}
\subsection{柵格排列}
\lipsum[4]
\begin{figure}[htbp]
\centering
\subfloat[第一個子圖的標(biāo)題]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig7}}[b]
\subfloat[第二個子圖的標(biāo)題]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig8}}[b]
\subfloat[第三個子圖的標(biāo)題]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig9}}[b]
\subfloat[第四個子圖的標(biāo)題]{\includegraphics[width=0.4\textwidth]{img/LaTeXlion.jpg}\label{fig:subfig10}}[b]
\caption{柵格排列多圖示例}
\end{figure}
\end{document}
到了這里,關(guān)于LaTeX分享008【LaTeX多圖排列方法】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!