我正在使用 \usepackage{graphicx,caption} 和 \usepackage{multicol}。我有两列文本。当我尝试使用 mutlicols 包将图像放置在文本中时,我收到了错误消息:
./main.tex:包 multicol 警告:在 `multicols' 环境中不允许使用浮点数和边距!。
因此,让我能够将图像放置在文本中的方法是在图像周围使用 \begin 和 \end multicols。这适用于较大的水平图像:
上面的写法如下:
\end{multicols}
\begin{figure}[h]
\includegraphics[scale=0.275]{fig5closepittard.png}
\captionsetup{width=1.0\linewidth}
\caption{This caption and image is fine because they are oblong enough to cover both columns}
\end{figure}
\begin{multicols}{2}
但是,当我有一张想要嵌入到列中的肖像图像时,图片最终会移到侧面,但标题却位于页面中间。我希望将标题放在侧面,紧挨着图像下方,但我查找的所有内容都只是告诉我如何对齐标题,而不是如何在页面上移动它。它看起来像这样:
代码写法如下:
\begin{figure}
\includegraphics[scale=0.275]{fig8closepittard.png}
\captionsetup{width=0.5\linewidth,justification=raggedright}
\caption{Please can I put this caption to the left underneath my image as opposed to having it in the centre? justification=raggedright or raggedleft only moves the alignment of the text, not the whole caption}
\end{figure}
如果有人知道我该如何将标题放在图片下方,或者如何将图片放在多列中,我将不胜感激。提前谢谢您。
答案1
一种可能的、非常手动的解决方案:
\documentclass[]{article}
\usepackage{multicol}
\usepackage{duckuments}% for dummy content
\usepackage[]{graphicx}
\usepackage{capt-of}% if you load the caption package you don't need this
\begin{document}
\begin{multicols}{2}
\blindduck[-]
\end{multicols}
\begin{figure}[htp]% >>>
\centering
\includegraphics[width=.7\linewidth]{example-image-duck}%
\caption
{%
A happy duck%
\label{fig:duck}%
}%
\end{figure}% <<<
\begin{multicols}{2}
\blindduck[-]
\end{multicols}
\clearpage
\begin{multicols}{2}
\blindduck[1-4]
\vskip\intextsep
\noindent\begin{minipage}{\linewidth}
\centering
\includegraphics[width=.7\linewidth]{example-image-duck}%
\captionof{figure}
{%
A happy canard with a long caption being placed correctly%
\label{fig:canard}%
}%
\end{minipage}
\vskip\intextsep
\blindduck[full]
\end{multicols}
\end{document}
全宽图形的输出:
单列图的输出: