我有一些代码,其结果如下:
代码如下:
\documentclass[demo]{book}
\usepackage{graphicx}
\usepackage[hypcap=true]{subcaption}
\begin{document}
\begin{figure}[tbp]
\begin{subfigure}{0.24\linewidth}
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth]{installA.eps}
\caption*{(a)} % --- CHEAT ---
\end{subfigure}
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth]{installC.eps}
\caption*{(c)} % --- CHEAT ---
\end{subfigure}
\end{subfigure}
\begin{subfigure}{0.74\linewidth}
\includegraphics[width=\linewidth]{installB.eps}
\caption*{(b)} % --- CHEAT ---
\end{subfigure}
\caption{Instalação do Prestress no Robot}
\end{figure}
\end{document}
该图显示了操作的“时间顺序”,从左上角 (a) 到右侧 (b),然后到左下角 (c)。但是,查看代码时,请注意我必须作弊才能获得正确的标题。考虑到图像出现的顺序,标准标题将是 (a) 和 (b),最右边的图是 (c)。
有没有更聪明的方法来做到这一点?
答案1
无需猜测值:将 (a) 带有参考点的框设置在底部,将 (b) 不具有深度的框设置在顶部,将 (c) 带有参考点的框设置在顶部(仅用于对称)。
\documentclass{book}
\usepackage{graphicx,adjustbox}
\usepackage[hypcap=true]{subcaption}
\begin{document}
\begin{figure}[tbp]
\raggedright
\begin{subfigure}[b]{0.24\linewidth}% reference point at the bottom
\includegraphics[width=\linewidth]{example-image-10x16}
\caption{}
\end{subfigure}\hfill
\begin{adjustbox}{set depth=0pt}% no depth
\begin{subfigure}{0.74\linewidth}
\includegraphics[width=\linewidth]{example-image}
\caption{}
\end{subfigure}
\end{adjustbox}
\begin{subfigure}[t]{0.24\linewidth}% reference point at the top
\includegraphics[width=\linewidth]{example-image-10x16}
\caption{}
\end{subfigure}
\caption{Instalação do Prestress no Robot}
\end{figure}
\end{document}
adjustbox
您可以使用内核命令来代替提供的便捷界面;
\begin{adjustbox}{set depth=0pt}% no depth
\begin{subfigure}{0.74\linewidth}
\includegraphics[width=\linewidth]{example-image}
\caption{}
\end{subfigure}
\end{adjustbox}
类型
\raisebox{0pt}[\height][0pt]{%
\begin{subfigure}{0.74\linewidth}
\includegraphics[width=\linewidth]{example-image}
\caption{}
\end{subfigure}%
}
其效果将完全相同。