我正在写一篇论文,它是一份双栏文档。现在我想在其中一栏中并排放置几张图片,并且我希望每张图片下方都有以 (a)、(b) 等开头的说明文字,下方是整幅图的主要标题。
其效果类似于下面的图片(请参见左栏并排的两张图片,下面有其自己的说明文字):
是的,我搜索过 stackexchange 和谷歌,一个答案显示了如何使用minipage
环境实现这一点,但每个图像都有编号,IE、图1、图2等等,这不是我想要的。我想要的是两幅图是一个整体,而不是独立的。
还有一篇关于使用副标题包来实现类似的功能,但文档只是单列文档。我尝试在双列条件下重现该功能,但发现该\textwidth
命令似乎在双列环境下无法正常工作。最小工作示例如下
\documentclass[10pt,twocolumn,letterpaper]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}[t]
\centering
\begin{subfigure}{.3\textwidth}
\centering
\includegraphics[width=\textwidth]{figure1.png}
\caption{level 1}
\end{subfigure}%
%\hspace{5mm}
\begin{subfigure}{.3\textwidth}
\centering
\includegraphics[width=\textwidth]{figure1.png}
\caption{level 2}
\end{subfigure}%
%\hspace{5mm}
\begin{subfigure}{.3\textwidth}
\centering
\includegraphics[width=\textwidth]{figure1.png}
\caption{level 3}
\end{subfigure}
\caption{some caption text}
\label{fig:multiscale}
\end{figure}
% use the following as much as possible to fill two columns
blah blah blah blah blah blah blah blah blah blah blah blah blah
\end{document}
该\textwidth
命令仍然使用单列环境的文本宽度。一种解决方法是将subfigure
环境的文本宽度减小到大约0.15\textwidth
。
除了通过反复试验手动减少文本宽度之外,有没有更优雅的方法来实现这一点?
答案1
当处理列特定的文档(这也包括单列文档)时,用作\columnwidth
局部线宽的说明符 - 请参阅\textwidth
和\linewidth
之间的区别\hsize
。
\documentclass[twocolumn]{article}
\usepackage{subcaption,graphicx}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[t]
\centering
\begin{subfigure}{.3\columnwidth}
\centering
\includegraphics[width=\linewidth]{example-image-a}
\caption{Level 1}
\end{subfigure}%
\hfill
\begin{subfigure}{.3\columnwidth}
\centering
\includegraphics[width=\linewidth]{example-image-b}
\caption{Level 2}
\end{subfigure}%
\hfill
\begin{subfigure}{.3\columnwidth}
\centering
\includegraphics[width=\linewidth]{example-image-c}
\caption{Level 3}
\end{subfigure}
\caption{some caption text}
\end{figure}
\lipsum[2-7]
\end{document}
\hfill
每个subfigure
环境之间的间隔会均匀分布在列的整个宽度上 - \columnwidth
。