我有以下一段代码:
\documentclass{article}
\usepackage{subcaption,caption}
\usepackag{graphicx}
\begin{document}
\begin{figure}[hbt!]
\centering
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width = 0.75 \textwidth]{./fig1}
\subcaption{$\epsilon$-Greedy}
\end{subfigure}
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width = 0.75 \textwidth]{./fig2}
\subcaption{UCB}
\end{subfigure}
\end{figure}
\end{document}
这将创建下面的图片:
但我希望它看起来像下面这样(带有副标题)
第二张图片是使用subfigure
现在已经过时的包创建的,无法正确放置子标题。不过,这是我使用的代码
\begin{figure}[hbt!]
\centering
\subfigure{
\includegraphics[width = 0.45 \textwidth]{./fig1}
}
\subfigure{
\includegraphics[width = 0.45 \textwidth]{./fig2}
}
\end{figure}
答案1
我可以建议两种补救措施:
保持环境的宽度
subfigure
不变,但%
在第一个实例之后立即插入(注释字符)\end{subfigure}
。将环境的宽度
subfigure
从0.5\textwidth
减少到0.45\textwidth
,\hfill
在 的第一个实例之后插入\end{subfigure}
,然后增加所包含图形的宽度从0.75\textwidth
到1\textwidth
。这种方法还可以让你摆脱所有三个\centering
指令,大大减少代码混乱。
\documentclass[demo]{article} % remove 'demo' option in real document
\usepackage{subcaption,graphicx}
\begin{document}
\begin{figure}[hbt!]
\centering
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width = 0.75\textwidth]{./fig1}
\subcaption{$\epsilon$-Greedy}
\end{subfigure}% <-- note the % symbol
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width = 0.75\textwidth]{./fig2}
\subcaption{UCB}
\end{subfigure}
\end{figure}
\begin{figure}[hbt!]
\begin{subfigure}[b]{0.45\textwidth}
\includegraphics[width = 1\textwidth]{./fig1}
\subcaption{$\epsilon$-Greedy}
\end{subfigure}\hfill % <-- note the \hfill instruction
\begin{subfigure}[b]{0.45\textwidth}
\includegraphics[width = 1\textwidth]{./fig2}
\subcaption{UCB}
\end{subfigure}
\end{figure}
\end{document}