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

 

具体效果就不展示了,麻烦,还得打马赛克。
算了算了,还是展示一下:

在这里插入图片描述

 

posted @   菜鸡一枚  阅读(13248)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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
点击右上角即可分享
微信分享提示