自定义环境前后的垂直空间

自定义环境前后的垂直空间

我已经使用以下命令创建了自定义环境:

\usepackage{relsize}
\newcounter{annotation}
\def\theannotation{\arabic{annotation}}
\newenvironment{annotation}
    {\refstepcounter{annotation}\noindent\begin{smaller}
        \makebox[1.5cm][l]{NOTE \theannotation}}
    {\end{smaller}}

这里还缺少一件事 - 前后的垂直空格。我可以添加\vspace,但使用两个连续的注释加倍\vspace(第一个注释之后和第二个注释之前)。

所以我的问题是:如何在自定义环境之前和之后创建垂直空间,以便它在与其他垂直间隔的环境(例如)一起使用时不会加倍description

使用示例:

\begin{annotation}
    \lipsum[1]
\end{annotation}
\begin{description}
    \item[aaa] asdfasdfasdf
\end{description}
\begin{annotation}
    \lipsum[1]
\end{annotation}

答案1

您正在寻找\addvspace

\documentclass{article}

\usepackage{relsize}
\newcounter{annotation}
% \def\theannotation{\arabic{annotation}}% superfluous with \newcounter
\newenvironment{annotation}
    {\par\addvspace{\baselineskip}\refstepcounter{annotation}\noindent\begin{smaller}
        \makebox[1.5cm][l]{NOTE \theannotation}}
    {\end{smaller}\par\addvspace{\baselineskip}}

\usepackage{lipsum}

\begin{document}

\begin{annotation}
    \lipsum[1]
\end{annotation}
\begin{description}
    \item[aaa] asdfasdfasdf
\end{description}
\begin{annotation}
    \lipsum[1]
\end{annotation}

\end{document}

在此处输入图片描述

编辑:添加\par之前缺失的内容\addvspace

相关内容