在双列文档中右对齐垂直子图

在双列文档中右对齐垂直子图

我试图在我的双列文档中包含一对子图,一个叠在另一个上面。我希望它们右对齐;为了用单个图形实现这一点,我一直在使用包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由于您没有发布代码中引用的图形,所以我必须加载该包):

在此处输入图片描述

相关内容