我想定义一个环境来从文档中分离文本。我希望在引文前后各留一行空白。我定义了以下环境:
\newenvironment{myenv}{
\bigskip\noindent\newline
}{\par\bigskip}
但碰巧我需要放置两个这样的环境,结果却得到了双空行。有没有办法放置到最后一段的明确距离而不是行数?
答案1
\addvspace
仅插入最大垂直空间:
\documentclass{article}
\usepackage{lipsum}
\newenvironment{myenv}
{\par\addvspace{\baselineskip}}% \begin{myenv}
{\par\addvspace{\baselineskip}}% \end{myenv}
\begin{document}
\lipsum[4]
\begin{myenv}
\lipsum[4]
\end{myenv}
\begin{myenv}
\lipsum[4]
\end{myenv}
\lipsum[4]
\end{document}
您可以根据字体形状添加自己的环境内容格式。
答案2
我建议您使用\list
(许多标准 LaTeX2e 环境都这样做):
\documentclass{article}
\usepackage{lipsum}% just to generate text for the example
\newenvironment{myenv}
{\list{}{\leftmargin=0pt}\item\relax}{\endlist}
\begin{document}
\lipsum[4]
\begin{myenv}
\lipsum[4]
\end{myenv}
\begin{myenv}
\lipsum[4]
\end{myenv}
\lipsum[4]
\end{document}