我想使用 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=l
并subfigure
带有[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}