我试图在我的双列文档中包含一对子图,一个叠在另一个上面。我希望它们右对齐;为了用单个图形实现这一点,我一直在使用包adjustbox
。然而,当我尝试将此包与子图一起使用时,它停止将它们一个叠在另一个上面 - 尽管有新的行命令。MWE 如下:
\documentclass[a4paper,11pt,twocolumn]{article}
%Used for figures
\usepackage{graphicx}
\usepackage{float}
\usepackage{adjustbox}
% Document margins
\usepackage[hmarginratio=1:1,top=32mm,columnsep=20pt]{geometry}
%Deals with paragraph formatting
\usepackage{parskip}
%Allows sub-floats
\usepackage{subcaption}
%Text
\usepackage{lipsum}
%-------------------------------------------------------------%
\begin{document}
%Stop stretching of text on last page
\raggedbottom
\section{Introduction}
\lipsum[2]
\begin{figure}[H]
\begin{adjustbox}{right}
\begin{subfigure}[H]{0.6\textwidth}
\includegraphics[width=\textwidth]{graph1}
\caption{Graph1.}
\label{fig:graph1}
\end{subfigure}
\\
\begin{subfigure}[H]{0.6\textwidth}
\includegraphics[width=\textwidth]{graph2}
\caption{Graph2.}
\label{fig:graph2}
\end{subfigure}
\end{adjustbox}
\caption{Graphs}\label{fig:graphs}
\end{figure}
\lipsum[1]
\end{document}
谢谢
答案1
你可以让两个子图垂直堆叠,并将它们包裹在分离 adjustbox
环境。顺便说一句,请注意,没有必要[H]
为这两个subfigure
环境指定定位说明符。并且,正如@Sigur 已经在评论中指出的那样,请使用\columnwidth
而不是\textwidth
作为 s 的宽度subfigure
和\linewidth
图形的宽度。
仅重现与图形相关的代码:
\begin{figure}[H]
\begin{adjustbox}{right}
\begin{subfigure}{1.2\columnwidth}
\includegraphics[width=\linewidth]{graph1}
\caption{Graph1.}
\label{fig:graph1}
\end{subfigure}
\end{adjustbox}
\begin{adjustbox}{right}
\begin{subfigure}{1.2\columnwidth}
\includegraphics[width=\linewidth]{graph2}
\caption{Graph2.}
\label{fig:graph2}
\end{subfigure}
\end{adjustbox}
\caption{Graphs}\label{fig:graphs}
\end{figure}
得到的图形如下所示(请注意,graphicx
由于您没有发布代码中引用的图形,所以我必须加载该包):