![使用 etoolbox 从抽象环境中删除缩进](https://linux22.com/image/288954/%E4%BD%BF%E7%94%A8%20etoolbox%20%E4%BB%8E%E6%8A%BD%E8%B1%A1%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%88%A0%E9%99%A4%E7%BC%A9%E8%BF%9B.png)
我的论文摘要在单独的页面上,因此不需要在环境的两侧有额外的缩进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}