环境之间的间距

环境之间的间距

我正在尝试dialog在使用该lettrine包时定义一个环境。我的问题是对话框之间的空格。当对话框包含两行以上时没有问题。但是只有一行的段落是有问题的,因为 lettrine 中给出的行数是两行。

是否可以计算段落中的行数并根据行数确定段落之间的间距?

\documentclass{minimal}
\usepackage{graphicx}
\usepackage{lettrine}
\usepackage{needspace}
\usepackage{lipsum}

\newenvironment{dialog}
{\lettrine[lines=2,nindent=3pt,findent=3pt,image=true,loversize=0.7,lraise=-0.2]{myimage.eps}{}}
{\par}


\begin{document}

\begin{dialog}
  \lipsum[1]
\end{dialog}

\begin{dialog}
  Just one line.
\end{dialog}

\begin{dialog}
  \lipsum[2]
\end{dialog}

\end{document}

答案1

尝试插入例如这个

{\par\ifnum\prevgraf<2 \leavevmode\null\par\fi}

而不是仅仅{\par}在对话环境的“结局”的定义上。

编辑:我修正了你的 ME,使其成为 MWE;)。

编辑 2:请注意,如果dialog环境包含多个段落,并且最后的一个少于两行。要在这种情况下工作,可能需要重新定义\par,这绝对不是胆小鬼能做到的事情。

相关内容