Precisa fechar o parágrafo com `\par` para alterar o espaçamento

Precisa fechar o parágrafo com `\par` para alterar o espaçamento

Eu defini uma classe simples

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mycustom}[2019/03/06 My custom class]
\LoadClass{article}
\RequirePackage{setspace}

\newcommand{\summary}{
    \begingroup
    \setlength{\parindent}{0cm}
    \onehalfspacing
}

\newcommand{\ensummary}{
    \endgroup
}

\endinput

Dado que criei um arquivo LaTeX simples, definido como:

\documentclass{mycustom}

\usepackage{lipsum}

\begin{document}

        \lipsum[1][1-3]

        \summary
        \lipsum[1][1-4]\par
        \ensummary

        \lipsum[1][1-3]

\end{document}

Percebi que não adiciono pardentro do \summaryespaçamento um e meio simplesmente não funciona. Gostaria de saber como ocorre esse comportamento, e se existe uma forma de remover \pare manter o mesmo comportamento (espaçamento um e meio dentro do \summary). Qualquer sugestão de melhoria é muito bem-vinda.

Este é o parágrafo quando adiciono\par

Com par

Este é o parágrafo sem\par

Sem par

Preste atenção ao espaçamento entre linhas no parágrafo central.

Responder1

Você deve encerrar a definição do ambiente com \parpara que fique no escopo da alteração do espaço de linha. Por outro lado, você devecomeçaro meio ambiente, \parcaso contrário o texto anterior poderá ser afetado (tente o exemplo abaixo sem o primeiro \parna definição).

Conforme observado nos comentários, este deve ser um ambiente (o látex normalmente impede que comandos sejam definidos com nomes começando com \end...), caso em que o explícito \begingroupnão é necessário, também \newlinenunca termina um parágrafo, apenas força uma quebra de linha.

\documentclass{article}

\usepackage{setspace,lipsum}

\newenvironment{summary}
{\par\setlength{\parindent}{0cm}\onehalfspacing}
{\par}

\begin{document}

        \lipsum[1][1-3]
        \begin{summary}
        \lipsum[1][1-4]
        \end{summary}

        \lipsum[1][1-3]

\end{document}

informação relacionada