需要使用“\par”关闭段落才能更改间距

需要使用“\par”关闭段落才能更改间距

我已经定义了一个简单的类

\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

假设我创建了一个简单的 LaTeX 文件,定义为:

\documentclass{mycustom}

\usepackage{lipsum}

\begin{document}

        \lipsum[1][1-3]

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

        \lipsum[1][1-3]

\end{document}

我注意到,如果我不添加 ,那么 1.5par间距\summary就不起作用了。我想知道这种行为是如何发生的,以及是否有办法删除\par并保持相同的行为( 内的 1.5 间距\summary)。非常欢迎任何改进建议。

这是我添加的段落\par

与 par

这是没有\par

无面值

注意段落中间的行内间距。

答案1

您应该使用以下命令结束环境定义\par以便它处于行距变化的范围内。相反,您应该开始环境中,\par否则前面的文本可能会受到影响(尝试下面的例子,\par在定义中没有第一个)。

正如评论中指出的那样,这应该是一个环境(LaTeX 通常会阻止以 开头的名称定义命令),在这种情况下不需要\end...显式,也永远不会结束一个段落,它只是强制换行。\begingroup\newline

\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}

相关内容