我正在尝试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
,这绝对不是胆小鬼能做到的事情。