带包装数字的列表

带包装数字的列表

我正在尝试定义一个列表来描述一系列图像。我希望每个列表元素的图像与描述文本的第一行对齐,并且文本环绕图像。

下面列出了我的尝试,但仍然存在两个问题:

  1. 我希望“步骤 XX:”不突出到边缘(其余文本应该缩进)。
  2. 如果段落较短或商品描述有多个段落,则换行会失败,请参见示例中的步骤 2。

这是代码。任何关于解决上述两个问题的建议都值得赞赏。

\documentclass{article}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{cutwin}
\usepackage{parskip}

\newcounter{step}
\newenvironment{steps}%
    {\par\setcounter{step}{0}}%
    {\par\bigskip}%
\newlength{\stepmargin}%
\setlength{\stepmargin}{1em}%
\newlength{\windowwidth}%
\setlength{\windowwidth}{\textwidth}%
\addtolength{\windowwidth}{-5cm}%
\addtolength{\windowwidth}{-\stepmargin}%

\newcommand\step[2]{%
    \stepcounter{step}%
    \begingroup
    \opencutright
    \pageinwindow 
    \renewcommand\windowpagestuff{%
        \hspace*{\stepmargin}%
        \includegraphics[%
            width=5cm,
            height=8\baselineskip,
            keepaspectratio]{#1}%
        }%
    \leftmargin=1.5cm\begin{cutout}{0}{\windowwidth}{0pt}{9}%
        \noindent
        \llap{%
            \makebox[1.5cm][l]{%
                \bfseries
                Step~\arabic{step}:%
            }%
        }%
    #2%
    \end{cutout}%
    \endgroup
    \par\bigskip
}

\begin{document}

\lipsum[1]
\begin{steps}
    \step{step1.png}{\lipsum[2]}
    \step{step2.png}{%
        Short description that doesen't take up the total height of the image.\par 
        The text might have paragraphs.\par
        The next step should start below the image for this step.
    }
    \step{step3.png}{\lipsum[3]}
\end{steps}
\lipsum[4]

\end{document}

相关内容