子标题 - 垂直排列的子图相对于右边缘的垂直对齐

子标题 - 垂直排列的子图相对于右边缘的垂直对齐

我想将两个垂直排列的 tikz 图相对于其右边界对齐。它们都包含一个坐标系 - 例如,Bode 图。由于 y 标签和刻度不同,它们的宽度也不同。因此,将它们居中后,x 轴不会垂直对齐。我可以通过调整图形的高度并使用 \hfill 和 minipage 组合来手动调整它:

\begin{figure}[htb]
  \centering
  \begin{subfigure}[b]{0.95\textwidth}
    \centering
    \includegraphics[height=6cm]{plot1}%
  \begin{minipage}{.5cm}
            \hfill
  \end{minipage}
    \caption{}
    \label{fig:plot1}
  \end{subfigure}

  \begin{subfigure}[b]{0.95\textwidth}
    \centering
    \includegraphics[height=6cm]{plot2}
    \caption{}
    \label{fig:plot2}
  \end{subfigure}
  \caption{}
  \label{fig:plots}
\end{figure}

这不太可靠,因为它依赖于具有相同原始高度的图形。如果不是,则需要进行大量的尝试和错误... 有没有办法使用 subcaption 包更优雅、更可靠地做到这一点,例如,类似于 tikz 中提供的 anchor=east 功能?

提前致谢!

答案1

像这样?这是一个在环境minipage内部使用的解决方案figure,并且minipage(基本上是两个subfigure环境)内部的所有内容都是排版为左侧不规则(又名右侧齐平)。

在此处输入图片描述

\documentclass[demo]{article} % remove 'demo' option in real doc.
\usepackage{subcaption,graphicx}

\begin{document}
\begin{figure}[htb]
  \centering
  \begin{minipage}{0.9\textwidth}
  \raggedleft % <-- new
  \begin{subfigure}{1\textwidth}
    \includegraphics[width=\textwidth]{plot1}
    \caption{}
    \label{fig:plot1}
  \end{subfigure}

  \bigskip
  \begin{subfigure}{0.8\textwidth}
    \includegraphics[width=\textwidth]{plot2}
    \caption{}
    \label{fig:plot2}
  \end{subfigure}
  \end{minipage}
  \caption{}
  \label{fig:plots}
\end{figure}
\end{document}

相关内容