对齐段落开头和图像

对齐段落开头和图像

为了提供一些背景信息,我正在处理一个相当大的文档,其中包含一些从链式 curl 请求到类似论坛的网页的连接输出,之后使用一堆正则表达式进行格式化(听起来很糟糕)。问题是,文本量太大,以至于浏览所有段落并逐一修改它们似乎是一项永无止境的任务。

考虑到这一点,我的输出看起来将是这样的:

(...)
\begin{wrapfigure}[9]{l}{1in}
    \centering
    \includegraphics[width=1in]{my_image_1}
    \caption*{a caption}
\end{wrapfigure}

This is some text.\par

\begin{wrapfigure}[9]{l}{1in}
    \centering
    \includegraphics[width=1in]{my_image_2}
    \caption*{another caption}
\end{wrapfigure}

This is another text.\par
And this time there are two paragraphs!\par
(...)

那就是无限乘以。

因此,这个想法是,每个“块”的第一个段落都与图片对齐,也就是说,两者都从同一行开始。每当文本足够大以超过图形高度时,就会发生这种情况,但当相反时则不会发生这种情况(文本在前一个文本结束时开始,但图片需要向下移动以避免与前一个文本发生冲突,因此您得到了类似这样的结果:

=======|  This is some text.
First  |
Picture|  This is another text.                   <==== This should not go here
=======|
          And this time there are two paragraphs!
=======|                                          <==== It should appear here
Second |
Picture|
=======|

有没有办法实现这一点,而不必为每个块手动添加换行符?

提前致谢!

附言:我想这里应该用到表格。虽然我还不太熟悉 Latex,但每个“块”有两个单元格的表格,左边的单元格包含图片,右边的单元格包含文本,边框不可见,这样应该可以实现我想要的效果。但问题是,大文本不会包裹住图像,而这正是我想要的效果……

答案1

\usepackage{picinpar} 和 figwindow 解决了这个问题... 或多或少。Wrapfigure 不是最好的主意

\usepackage{picinpar}
\begin{figwindow}[0,l,\includegraphics[width=1in]{my_image_1},*{A Caption}]
Some text.\par
\end{figwindow}
\begin{figwindow}[0,l,\includegraphics[width=1in]{my_image_2},*{Another Caption}]
Other text.\par
\end{figwindow}

答案2

我建议使用 geometry 或 memoir 和 marginpar。下面是允许使用 1 英寸数字的示例。

\documentclass[11pt,letterpaper]{report}

\usepackage{lipsum}
\usepackage{geometry,graphicx}

\geometry{
    hmargin={1in,2in}
    }

\newcommand{\putmfig}[1]{%
    \marginpar{
        \vfill

        \includegraphics[width=1in]{#1}
        }
    }

\begin{document}

\putmfig{my_image_1}
\lipsum[1]

\putmfig{my_image_2}
\lipsum[2]

\end{document}

这不会将内容环绕在图形周围。不过,我觉得与修复图片和文本的对齐方式相比,您不需要文本换行。

相关内容