我创建了一个环境env
,它只是\medskip
在 内部的文本后添加了 和一些文本(例如“Blabblabla”)\begin{env} ... \end{env}
。问题是,如果最后一行已满,那么我会在文本和“Blabblabla”之间得到一个额外的水平空间。
以下是 MWE:
\documentclass{article}
\newenvironment{env}{
ENVIRONMENT:\par
}{
\medskip
\par\noindent Blablabla
}
\begin{document}
\section*{First case: the last line is not full}
\begin{env}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla malesuada porta tortor non vestibulum. Vivamus vel tincidunt purus. Curabitur quam arcu, suscipit sed diam sed, ornare efficitur felis. Duis at arcu iaculis, viverra ligula sit amet, hendrerit eros. Proin finibus venenatis sollicitudin. Nunc ullamcorper sem ut lacinia posuere. Integer pulvinar nulla lorem, ut pulvinar ipsum egestas at. Duis quam ipsum, posuere ac pulvinar vitae, auctor non leo.
\end{env}
\section*{Seconde case: the last line is full}
\begin{env}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque suscipit vitae neque eu gravida. Quisque et enim quam. Integer elementum diam a ex laoreet, ac egestas lacus volutpat. Nunc ullamcorper non urna tincidunt ultrices. Etiam eu ultricies diam. Proin mollis, nunc sit amet volutpat varius, ipsum tellus bibendum nulla, in eleifend lacus felis pellentesque nisl. Phasellus laoreet, libero quis auctor congue, nulla nulla aliquam metus, in hendrerit arcu justo quis tortor. Nunc nec nisi euismod, consectetur tellus nec, suscipit libero.
\end{env}
\end{document}
答案1
这主要是由于不正确使用\par
进入垂直模式,以及结尾子句中的虚假空格造成的:
\documentclass{article}
\newenvironment{env}{%
ENVIRONMENT:\par
}{%
\par\medskip
\noindent Blablabla
}
\begin{document}
\section*{First case: the last line is not full}
\begin{env}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla malesuada porta tortor non vestibulum. Vivamus vel tincidunt purus. Curabitur quam arcu, suscipit sed diam sed, ornare efficitur felis. Duis at arcu iaculis, viverra ligula sit amet, hendrerit eros. Proin finibus venenatis sollicitudin. Nunc ullamcorper sem ut lacinia posuere. Integer pulvinar nulla lorem, ut pulvinar ipsum egestas at. Duis quam ipsum, posuere ac pulvinar vitae, auctor non leo.
\end{env}
\section*{Seconde case: the last line is full}
\begin{env}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque suscipit vitae neque eu gravida. Quisque et enim quam. Integer elementum diam a ex laoreet, ac egestas lacus volutpat. Nunc ullamcorper non urna tincidunt ultrices. Etiam eu ultricies diam. Proin mollis, nunc sit amet volutpat varius, ipsum tellus bibendum nulla, in eleifend lacus felis pellentesque nisl. Phasellus laoreet, libero quis auctor congue, nulla nulla aliquam metus, in hendrerit arcu justo quis tortor. Nunc nec nisi euismod, consectetur tellus nec, suscipit libero.
\end{env}
\end{document}
而是使用\par\medskip
并可能插入%
适当位置。
未经严格测试,您可能想要实际发布\unskip\par\medskip
。并且,根据 之后发生的情况Blablabla
,另一个%
可能会有用。