将文本与其他带有子标题的子图垂直对齐

将文本与其他带有子标题的子图垂直对齐

我想使用 subcaption 包在一行子图的开头添加垂直(旋转)文本。我现在的解决方案是创建一个单独的子图:

\documentclass{article}

\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

\begin{figure}
  \begin{subfigure}{1in}
    \rotatebox{90}{\makebox[2in]{center}}
    \captionsetup{skip=0pt}
    \caption{}
  \end{subfigure}%
  \quad
  \begin{subfigure}{1in}
    \rule{1in}{2in}
    \captionsetup{skip=0pt}
    \caption{}
  \end{subfigure}%
  \quad
  \begin{subfigure}{1in}
    \rule{1in}{2in}
    \captionsetup{skip=0pt}
    \caption{}
  \end{subfigure}
\end{figure}

\end{document}

效果很好,只是我不想为垂直文本添加任何标题。但是,如果我删除“\caption{}”行,则文本不再与两个子图垂直对齐。有没有更好的方法可以做到这一点?

答案1

使用origin=c选项\rotatebox将使文本垂直居中,而无需使用额外的subfigure。或者,你可以[t]使用对齐子图来旋转origin=l

origin=c

示例输出

origin=lsubfigure带有[t]

第二个示例

\documentclass{article}

\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

\begin{figure}
  \rotatebox[origin=c]{90}{\makebox[2in]{center}}%
  \quad
  \begin{subfigure}{1in}
    \rule{1in}{2in}
    \caption{}
  \end{subfigure}%
  \quad
  \begin{subfigure}{1in}
    \rule{1in}{2in}
    \caption{}
  \end{subfigure}
\end{figure}

\begin{figure}
  \rotatebox[origin=l]{90}{\makebox[2in]{center}}%
  \quad
  \begin{subfigure}[t]{1in}
    \rule{1in}{2in}
    \caption{}
  \end{subfigure}%
  \quad
  \begin{subfigure}[t]{1in}
    \rule{1in}{2in}
    \caption{}
  \end{subfigure}
\end{figure}

\end{document}

相关内容