我正在尝试创建一个由 2 个子图组成的图形,在横向模式下并排显示,在纵向模式下一个子图叠在另一个子图之上。我有以下代码来创建图形,但需要帮助来创建一个不被裁剪并显示整个图形的图形,因为我对乳胶还比较陌生!
\begin{document}
\usepackage{lscape}
\usepackage{pdflscape}
\usepackage{tikz}
\usepackage{hyperref}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{figure}[H]
\centering
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[scale=0.5]{figures/repeatability.png}
\caption{Anisotropic with the repeatability limit shown}
\label{fig:repeatabilityMosaic}
\end{subfigure}
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[scale=0.5]{figures/reproducibility.png}
\caption{Anisotropic with the reproducibility limit shown}
\label{fig:reproducabilityMosaic}
\end{subfigure}
\caption{Cumulative sum of the percentage of thresholded regions for each of 400 images in a mosaic, with the repeatability and reproducibility limits in shaded}
\label{fig:repeatabilityAndreproducibility}
\end{figure}
\end{document}
答案1
subcaption
从 1.3 版开始,软件包支持 软件包\subfloat
的环境subfig
(作为从subfig
到 的过渡方式subcaption
)。使用它,你的代码可以短一点:
\documentclass[demo]{article}
\usepackage{graphicx}
\usepackage[skip=1ex, format=hang]{caption}
\usepackage{subcaption}
\usepackage{kantlipsum} % Dummy text
\setlength\fboxrule{0.2pt} % frame rule width
\setlength\fboxsep{0pt} % > 0pt if you want to see yellow padding
\newcommand\cfbox[1]{\fcolorbox{red}{yellow}{#1}}
\usepackage{hyperref}
\begin{document}
\kant[1][1-2]
\begin{figure}[tbh]
\setkeys{Gin}{width=0.45\linewidth, height=4cm}
\subfloat[Anisotropic with the repeatability limit shown
\label{fig:repeatabilityMosaic}]{\includegraphics{figures/repeatability.png}}
\hfill
\subfloat[Anisotropic with the reproducibility limit shown
\label{fig:reproducabilityMosaic}]{\includegraphics{figures/reproducibility.png}}
\caption{Cumulative sum of the percentage of thresholded regions for each of 400 images in a mosaic, with the repeatability and reproducibility limits in shaded}
\label{fig:repeatabilityAndreproducibility}
\end{figure}
\kant[1][3-4]
\end{document}
编辑:
从有问题的图像可以得出结论,您的图像左侧有白色(空白)空间。如果是这种情况,您可以查看是否在框架中插入图像:
\begin{subfigure}{0.5\textwidth}
\centering
\fbox{\includegraphics[scale=0.5]{figures/repeatability.png}}
\caption{Anisotropic with the repeatability limit shown}
\label{fig:repeatabilityMosaic}
\end{subfigure}
如果框架与图像无关,则您有两个选择:
- 删除图片(关于您投诉的内容),或者
- 使用一些专门的图像处理工具从图像中去除这个空间
图像是如何生成的?如果使用示例pgfplots
包,则应该正确剪辑该图像。如果您使用其他软件,则请检查其图像导出设置。
答案2
这是基于包\subcaptionbox
中的宏的解决方案subcaption
。我还添加了\captionsetup
s 来显示您可以单独格式化所有浮点数、仅图形甚至子图形的标题,具体取决于您添加的可选参数:[figure]
,[subfigure]
或什么都不做——也适用于[table]
或[subtable]
。
目前,图形彼此相邻,中间有一个分隔符\hfill
,该分隔符可调整间隙以将两个图像向左和向右移动。如果希望图形垂直堆叠,请删除\hfill
,插入一个空行,然后跟上\vspace{\floatsep}
;\floatsep
是定义长度的名称,对应于页面顶部图像之间的间隙大小。
我制作了一个自定义宏\cfbox{}
,在图像周围绘制一个红色边框。如果要在每个图像上添加黄色填充,请更改\fboxsep
为高于 0pt 的值。这应该有助于确定图像周围的空白(红色边框和图像之间)是否是图像的一部分。
我无法访问您的文件,因此文档以demo
模式编译,其中图形被黑框代替。将其从草稿中删除以恢复您的图像。
编辑。只是一点小注释。\centering
在当前代码中不执行任何操作,因为两个浮点数都跨越了页面宽度的整个空间(由于\hfill
)。但是,如果您决定垂直排列它们,而不居中,则两个图像都将左对齐。如果更改\hfill
为固定间隙,您还需要\centering
。因此,我将其留在了代码中。
\documentclass[demo]{article}
\usepackage{pdflscape}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{subcaption}
\usepackage{hyperref}
\captionsetup{position=bottom, format=hang}
\captionsetup[figure]{skip=6pt}
\captionsetup[subfigure]{skip=6pt}
\usepackage{xcolor} % For fcolorbox
\usepackage{kantlipsum} % Dummy text
\setlength\fboxrule{0.2pt} % frame rule width
\setlength\fboxsep{0pt} % > 0pt if you want to see yellow padding
\newcommand\cfbox[1]{\fcolorbox{red}{yellow}{#1}}
\begin{document}
\kant[1][1-2]
\begin{figure}[tbh]
\setkeys{Gin}{width=0.45\linewidth, height=4cm}
\centering
\subcaptionbox{%
Anisotropic with the repeatability limit shown
\label{fig:repeatabilityMosaic}%
}{\cfbox{\includegraphics{figures/repeatability.png}}}%
\hfill
% \vspace{\floatsep} % leave an empty line before
\subcaptionbox{%
Anisotropic with the reproducibility limit shown
\label{fig:reproducabilityMosaic}%
}{\cfbox{\includegraphics{figures/reproducibility.png}}}
\caption{Cumulative sum of the percentage of thresholded regions for each of 400 images in a mosaic, with the repeatability and reproducibility limits in shaded}
\label{fig:repeatabilityAndreproducibility}
\end{figure}
\kant[1][3-4]
\end{document}