子图未水平对齐,(a) 子图比 (b) 子图低约 3 厘米。您能看看我做错了什么吗?
\documentclass[english]{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{float}
\usepackage{epstopdf}
\begin{document}
\begin{figure}
\caption{Coloured lines}
\centering
\begin{subfigure}[a]{0.45\textwidth}
\centering
\includegraphics[width=\textwidth]{Colourlines1}
\caption{No treatment}
\end{subfigure}
\begin{subfigure}[b]{0.45\textwidth}
\centering
\includegraphics[width=\textwidth]{Colourlines2}
\caption{Treatment}
\end{subfigure}
\end{figure}
\end{document}
答案1
看起来您使用可选参数[a]
和[b]
环境subfigure
作为对子图进行编号的方法。不幸的是,这无法正常工作,因为 (i) 该选项应为位置/对齐说明符,而不是编号说明符,并且 (ii) “ a
”不是有效的位置说明符。(如果您检查编译代码时生成的日志文件,您会发现一条警告消息。)“ b
”恰好可以工作,因为它代表“底部”。要对齐子图,请使用[t]
(“top”) 或[b]
(“bottom”) 作为位置说明符两个都子图。
\centering
另外,您在环境中提供的两条指令subfigure
并不是必需的,因为图表已经占据了相应环境的整个宽度。您可能还想在两个浮点数之间插入更多空白;我建议您通过添加指令来实现这一点\hspace{\fill}
。
以下修改后的 MWE 形式实现了这些想法:
\documentclass{article}
\usepackage[demo]{graphicx} % remove 'demo' option for real document
\usepackage{caption,subcaption}
\begin{document}
\begin{figure}
\caption{Coloured lines}
\begin{subfigure}[t]{0.45\textwidth}
\includegraphics[width=\textwidth]{Colourlines1}
\caption{No treatment}
\end{subfigure}
\hspace{\fill} % separate the two subfigures...
\begin{subfigure}[t]{0.45\textwidth}
\includegraphics[width=\textwidth]{Colourlines2}
\caption{Treatment}
\end{subfigure}
\end{figure}
\end{document}