使用 etoolbox 从抽象环境中删除缩进

使用 etoolbox 从抽象环境中删除缩进

我的论文摘要在单独的页面上,因此不需要在环境的两侧有额外的缩进abstract来表明它是摘要。

如何做到这一点的答案在如何调整摘要的宽度?,在我看来,整个环境的定义是通过对该定义内的宏abstract的调整而重复的。setlength

不过,我已经在使用它etoolbox来消除abstract环境中的缩进(以下步调一致的建议删除文章类摘要中的段落缩进),在这种情况下,的整个定义abstract并没有重复——它只是在现有的定义上添加了一些额外的内容。

因此,我想知道我是否可以做同样的事情来消除缩进。我可以使用etoolbox与下面类似的方法来消除缩进吗?

\documentclass{article}
\usepackage{lipsum,etoolbox}
\ifundef{\abstract}{}{\patchcmd{\abstract}%
    {\quotation}{\quotation\noindent\ignorespaces}{}{}}
\begin{document}
    \begin{abstract}
        \lipsum[1]
    \end{abstract}
\lipsum[2]
\end{document}

答案1

\documentclass{article}
\usepackage{lipsum}
\usepackage{abstract}

%\setlength{\absparindent}{0em}%
%\AtBeginDocument{\setlength{\absparindent}{0em}}
\setlength{\absleftindent}{0em}
\setlength{\absrightindent}{0em}

\begin{document}
\setlength{\absparindent}{0em}
    \begin{abstract}
        \lipsum[1]
    \end{abstract}
\lipsum[2-3]
\end{document}

在此处输入图片描述

答案2

根据 Christian 的评论,最简单的方法可能是使用abstract包和\absleftindent/\absrightindent宏。但请注意,此包包含以下行:

AtBeginDocument{\setlength{\absparindent}{\parindent}}

abstract该行的效果意味着使用 更改环境的段落缩进\absparindent没有任何效果,因为它会自动恢复为 的全局设置\parindent。我发现避免这种情况的唯一方法是先将其设置\parindent为您想要的任何值\absparindent,然后更改\parindent为您实际想要\parindent的值。也许有更好的方法。

\documentclass{article}
\usepackage{lipsum,abstract}
\setlength{\absleftindent}{0em}
\setlength{\absrightindent}{0em}
\parindent = 0em % use this instead of \absparindent
\AtBeginDocument{\parindent = 1.5em} % then set \parindent
\begin{document}
    \begin{abstract}
        \lipsum[1]
    \end{abstract}
\lipsum[2-3]
\end{document}

在此处输入图片描述

相关内容