[LaTeX] 用minipage来排版多张图片(子图片)! (以及用subfigure而不是subfloat来排版代码型图片)
[LaTeX] 用minipage来排版多张图片(子图片)! (以及用subfigure而不是subfloat来排版代码型图片)
前言
上一篇写了[LaTeX] 字图片复杂排版的博客,刚刚找到了更好更简洁方便的方法!完全可以取而代之,因此在此记录之。
1 代码
就是zhei么简单,代码如下:
\documentclass{article}
\usepackage{subfig,graphicx}
\begin{document}
\begin{figure}
\begin{minipage}[b]{.5\linewidth}
\centering
\subfloat[][Genelec 8020 CPM]{\label{Genelecs:Genelec 8020 AP}\includegraphics[width=.69\linewidth]{example-image-b}}
\subfloat[][Genelec 8030 BPM]{\label{Genelecs:Genelec 8030 AP}\includegraphics[width=5cm]{example-image-c}}
\end{minipage} %\par
\medskip
\begin{minipage}[b]{.5\linewidth}
\centering
\subfloat[][Genelec 8010 AP]{\label{Genelecs:Genelec 8010 AP}\includegraphics[height=8cm,width=1\linewidth]{example-image-a}}
\end{minipage}
\caption{my fig}
\label{fig:Genelecs}
\end{figure}
\end{document}
效果如下:
这么简洁的代码做出我想要的功能,看起来不得不说一句舒服。
2 小结
其实一开始根本没想到minipage这么强大,在整理上一篇博客的文献的时候,不小心看到了这个参考网页:
看到了其中一个方案是用minipage做的,我稍作修改,便实现了我想要的排版。nice。
3 补充:用subfigure而不是subfloat来排版代码型图片
经过漫长的研究,我发现,如果子图不是图片,而是代码(比如.list 格式的代码文件,需要\lstinputlisting才能导入)的时候,subfloat实在太拉了,尤其是那个子图片的子标题,都溢出文档了,完全无法自动换行,也无法居中。实在可惜。
这时候我看到这样的一句话:
I suggest you to use subfigure environment of the package subcaption .
参考:Latex subfloat the “subcaption” is one word in one line, how to make them together in only one line
眼眶差点湿润了,结合之前这么多次失败的经验和勉强成功的尝试,我终于找到了代码型图片如何排版的秘诀。
查了几十个文献,试了n多方案,这时候终于找到了不错的一个办法。实在是nice。
具体代码:
\begin{figure}
\begin{minipage}{0.45\linewidth}
\centering
\begin{subfigure}{1\linewidth}
\label{t-SNE-a}
\lstinputlisting[language=diff,linewidth={1\linewidth},frame=tb,basicstyle=\footnotesize\ttfamily]{figs/patch1.list}
\caption{First very very long caption!}
\end{subfigure}
\end{minipage} %\par
\medskip
\begin{minipage}{0.5\linewidth}
\centering
\begin{subfigure}{1\linewidth}
\label{t-SNE-a}
\lstinputlisting[language=diff,linewidth={1\linewidth},frame=tb,basicstyle=\footnotesize\ttfamily]{figs/patch2.list}
\caption{First very very long caption!}
\end{subfigure}
\begin{subfigure}{1\linewidth}
\label{t-SNE-a}
\lstinputlisting[language=diff,linewidth={1\linewidth},frame=tb,basicstyle=\footnotesize\ttfamily]{figs/patch3.list}
\caption{First very very long caption!}
\end{subfigure}
\end{minipage}
\caption{my fig}
\label{fig:Genelecs}
\end{figure}
具体效果就不展示了,麻烦,还得打马赛克。
算了算了,还是展示一下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2016-02-24 How to read a scientific paper