我是 LaTex 的初学者,但我必须赶紧做这件事:
我需要编写一个宏来处理两种情况(或一个宏同时处理两种情况)。
第一种情况:我在右侧有 1-3 张图片,左侧的文本应该围绕它“流动”。
第二种情况(令人讨厌的情况:():我有 1 - 6 张图片,文本也应该如此。
我的问题是:如何在页面中布局图片,因为图片应该“锚定”到某个段落(例如,第一张图片锚定到第 1 段,第二张图片锚定到第 4 段,第三张图片锚定到第 5 段)。我必须编写一个宏来处理这种情况。
有人能帮助我或者给我指引正确的网络说明吗?
答案1
正如其他人已经提到的,这可以使用wrapfig
包来完成。您需要将放置wrapfigure
在段落之前。请参阅下面的示例代码。但是,它仅支持矩形图形。您将需要使用其中两个来表示最后一个示例,但需要在它们之间放置至少一个段落,这有点棘手。如果您需要图像的标题,请使用提供宏的包。如果您想要带有(a)、(b)等子标题caption
的子图,通常会使用该包,但我认为它在普通浮点数之外不起作用。capt-of
\captionof{figure}{<your caption>}
subfig
\documentclass{article}
\usepackage{wrapfig}
\usepackage{xcolor}
\usepackage{lipsum}% dummy text only
\begin{document}
\lipsum[1]
\begin{wrapfigure}{r}{3cm}
\begin{tabular}{@{}c@{}}
\textcolor{blue}{\rule{3cm}{3cm}} \\% Dummy image replacement
\textcolor{green}{\rule{3cm}{3cm}} \\% Dummy image replacement
\textcolor{red}{\rule{3cm}{3cm}} \\% Dummy image replacement
\end{tabular}
\end{wrapfigure}
\lipsum[2-4]
\newpage
\lipsum[1]
\begin{wrapfigure}{r}{3cm}
\begin{tabular}{@{}c@{}}
\textcolor{blue}{\rule{3cm}{3cm}} \\% Dummy image replacement
\textcolor{green}{\rule{3cm}{3cm}} \\% Dummy image replacement
\end{tabular}
\end{wrapfigure}
\lipsum[2-4]
\newpage
\lipsum[1]
\begin{wrapfigure}{r}{3cm}
\begin{tabular}{@{}c@{}}
\textcolor{blue}{\rule{3cm}{3cm}} \\% Dummy image replacement
\end{tabular}
\end{wrapfigure}
\lipsum[2-3]
\newpage
\lipsum[1]
\begin{wrapfigure}{r}{6.5cm}
\begin{tabular}{@{}cc@{}}
\textcolor{blue}{\rule{3cm}{3cm}} &% Dummy image replacement
\textcolor{orange}{\rule{3cm}{3cm}} \\% Dummy image replacement
\textcolor{green}{\rule{3cm}{3cm}} &% Dummy image replacement
\textcolor{yellow}{\rule{3cm}{3cm}} \\% Dummy image replacement
\textcolor{red}{\rule{3cm}{3cm}} &% Dummy image replacement
\textcolor{brown}{\rule{3cm}{3cm}} \\% Dummy image replacement
\end{tabular}
\end{wrapfigure}
\lipsum[2-3]
\newpage
\lipsum[1]
\begin{wrapfigure}{r}{6.5cm}
\begin{tabular}{@{}cc@{}}
\textcolor{blue}{\rule{3cm}{3cm}} &% Dummy image replacement
\textcolor{green}{\rule{3cm}{3cm}} \\% Dummy image replacement
\end{tabular}
\end{wrapfigure}
\lipsum[2]
\begin{wrapfigure}{r}{3cm}
\begin{tabular}{@{}c@{}}
\textcolor{red}{\rule{3cm}{3cm}} \\% Dummy image replacement
\end{tabular}
\end{wrapfigure}
\lipsum[3]
\newpage
\end{document}
答案2
此阅读向您展示您可能感兴趣的内容。wrapfig 包与 subfig 一起使用是很好的建议,但您需要将wrapfigure
环境放在页面的第一段之前,并且您必须知道并“修复”内容的宽度,例如
\documentclass{article}
%\usepackage{subfig}
\usepackage{wrapfig}
\begin{document}
\begin{wrapfigure}{r}{.6\textwidth}
%% your content, maybe with \subfloats
\end{wrapfigure}
% the very first text of the "new" page
Lorem ipsum dolor sit amet...
...
\end{document}
该链接向您展示了海鸥的示例,其中图形的宽度比传递给 wrapfig 的宽度略小。
浮动插入背后的想法是让作者不必过多考虑事情的发展方向。通常,你不必为此担心,除非你做的事情超出了 (La)TeX 的“范围”,当然你也可以这样做,例如编写自己的包并使用 LaTeX 内部函数或 TeX 原语,或者希望其他人遇到同样的“问题”并编写一些东西来解决它...
特别是最右边的第二种情况不能用 subfigs 和 wrapfig 来完成(或者至少,我无法使用这些包来完成)。