在我的环境中无法删除一个空格字符

在我的环境中无法删除一个空格字符

我正在写的论文要求abstract没有摘要的标题,并且不需要任何缩进。因此,我定义了以下内容:

\renewenvironment{abstract}
{%
    \par %
    \noindent \begin{bfseries}%
}
{%
    \end{bfseries}%
}

但是,以下行为导致在我的环境前面放置了一个字符宽度的空格abstract

\begin{abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Quisque gravida varius tellus, nec consequat nulla egestas dapibus. 
Quisque leo justo, pellentesque vehicula nulla commodo, imperdiet egestas turpis. 
Ut iaculis ante in tortor aliquet sodales. 
Nullam et mauris ultrices neque sollicitudin congue quis sed diam. 
Pellentesque blandit hendrerit diam, at cursus nisl eleifend vel. 
Ut non egestas justo, ut semper ex. 
Nullam laoreet purus eu dui elementum, non blandit turpis lacinia. 
Sed eros justo, elementum sit amet dapibus sed, porta a velit. 
Morbi a risus vel nibh bibendum consectetur. 
Ut pharetra, enim non ornare dapibus, ante nibh auctor quam, ut dapibus eros enim quis lectus. 
Suspendisse nec tellus in risus ornare tempus eu eget elit. 
Etiam eu neque scelerisque sem congue consequat vitae ut lectus. 
Curabitur vel est porta, luctus quam ut, posuere tellus.
\end{abstract}

像这样:在此处输入图片描述

答案1

\ignorespaces在环境入口点末尾添加。

此外,bfseries不是一个环境(据我所知)而是一个声明:\bfseries。它会在环境结束时自动终止。

\documentclass{article}
\renewenvironment{abstract}
{%
    \par %
    \noindent\bfseries\ignorespaces%
}
{%
}
\begin{document}
\begin{abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Quisque gravida varius tellus, nec consequat nulla egestas dapibus. 
Quisque leo justo, pellentesque vehicula nulla commodo, imperdiet egestas turpis. 
Ut iaculis ante in tortor aliquet sodales. 
Nullam et mauris ultrices neque sollicitudin congue quis sed diam. 
Pellentesque blandit hendrerit diam, at cursus nisl eleifend vel. 
Ut non egestas justo, ut semper ex. 
Nullam laoreet purus eu dui elementum, non blandit turpis lacinia. 
Sed eros justo, elementum sit amet dapibus sed, porta a velit. 
Morbi a risus vel nibh bibendum consectetur. 
Ut pharetra, enim non ornare dapibus, ante nibh auctor quam, ut dapibus eros enim quis lectus. 
Suspendisse nec tellus in risus ornare tempus eu eget elit. 
Etiam eu neque scelerisque sem congue consequat vitae ut lectus. 
Curabitur vel est porta, luctus quam ut, posuere tellus.
\end{abstract}
\end{document}

在此处输入图片描述

答案2

除了@StevenB.Segletes 的回答之外,还请看一下以下 mwe:

\documentclass{article}
\renewenvironment{abstract}
{%
  \par%
  \noindent\bfseries% 
}
{%
  \par%
  \vspace{\baselineskip}%
}
\begin{document}
\begin{abstract}% <=====================================================
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Quisque gravida varius tellus, nec consequat nulla egestas dapibus. 
Quisque leo justo, pellentesque vehicula nulla commodo, imperdiet egestas turpis. 
Ut iaculis ante in tortor aliquet sodales. 
Nullam et mauris ultrices neque sollicitudin congue quis sed diam. 
Pellentesque blandit hendrerit diam, at cursus nisl eleifend vel. 
Ut non egestas justo, ut semper ex. 
Nullam laoreet purus eu dui elementum, non blandit turpis lacinia. 
Sed eros justo, elementum sit amet dapibus sed, porta a velit. 
Morbi a risus vel nibh bibendum consectetur. 
Ut pharetra, enim non ornare dapibus, ante nibh auctor quam, ut dapibus eros enim quis lectus. 
Suspendisse nec tellus in risus ornare tempus eu eget elit. 
Etiam eu neque scelerisque sem congue consequat vitae ut lectus. 
Curabitur vel est porta, luctus quam ut, posuere tellus.
\end{abstract}
Text.
\end{document}

及其结果:

由此产生的摘要

在给定的环境定义下abstract(我只添加了一个\par\vspace{}以在摘要后获得一个新段落),如果%在之后添加一个,则只会得到没有前导空白的摘要\begin{abstract}。这意味着您得到的令人不安的空白来自命令之后的空白\begin{abstract}

要摆脱它,你有两种可能性:

  1. 像我在 mwe 中所做的那样添加%after \begin{abstract}(不要忘记它!)或者更好
  2. 如 Steven 所示,添加\ignorespaces后...它还会忽略后方的空格...\bfseries\begin{abstract}

答案3

您可以使用内置的 LaTeX 机制来抑制下一段的缩进。

\documentclass{article}

\makeatletter
\renewenvironment{abstract}
 {%
  \par\addvspace{\topsep}\bfseries
  \@afterindentfalse\@afterheading
 }
 {%
  \par\addvspace{\topsep}
 }
\makeatother

\begin{document}

\title{Title}
\author{Author}

\maketitle

\begin{abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Quisque gravida varius tellus, nec consequat nulla egestas dapibus. 
Quisque leo justo, pellentesque vehicula nulla commodo, imperdiet egestas turpis. 
Ut iaculis ante in tortor aliquet sodales. 
Nullam et mauris ultrices neque sollicitudin congue quis sed diam. 
Pellentesque blandit hendrerit diam, at cursus nisl eleifend vel. 
Ut non egestas justo, ut semper ex. 

Nullam laoreet purus eu dui elementum, non blandit turpis lacinia. 
Sed eros justo, elementum sit amet dapibus sed, porta a velit. 
Morbi a risus vel nibh bibendum consectetur. 
Ut pharetra, enim non ornare dapibus, ante nibh auctor quam, ut dapibus eros enim quis lectus. 
Suspendisse nec tellus in risus ornare tempus eu eget elit. 
Etiam eu neque scelerisque sem congue consequat vitae ut lectus. 
Curabitur vel est porta, luctus quam ut, posuere tellus.
\end{abstract}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Quisque gravida varius tellus, nec consequat nulla egestas dapibus. 
Quisque leo justo, pellentesque vehicula nulla commodo, imperdiet egestas turpis. 
Ut iaculis ante in tortor aliquet sodales. 
Nullam et mauris ultrices neque sollicitudin congue quis sed diam. 
Pellentesque blandit hendrerit diam, at cursus nisl eleifend vel. 
Ut non egestas justo, ut semper ex. 
Nullam laoreet purus eu dui elementum, non blandit turpis lacinia. 
Sed eros justo, elementum sit amet dapibus sed, porta a velit. 
Morbi a risus vel nibh bibendum consectetur. 
Ut pharetra, enim non ornare dapibus, ante nibh auctor quam, ut dapibus eros enim quis lectus. 
Suspendisse nec tellus in risus ornare tempus eu eget elit. 
Etiam eu neque scelerisque sem congue consequat vitae ut lectus. 
Curabitur vel est porta, luctus quam ut, posuere tellus.

\end{document}

在此处输入图片描述

相关内容