使用来自其他文档类的抽象环境

使用来自其他文档类的抽象环境

我目前正在使用 KOMA-scrartcl 类将多篇单篇论文编译成一个合并文档。现在我想切换到 scrreprt 类(我想使用章节),但对于这个类,摘要环境的定义不同。有没有一种简单的方法可以在 scrreprt 类中获得与 scrartcl 类中相同的摘要设置(例如,文本宽度更窄,摘要直接位于标题之后而不是下一页)。

以下是 scrartcl 类的一个简短测试示例:

\documentclass{scrartcl}
\usepackage{blindtext}

\begin{document}
{\LARGE{One}}

\begin{abstract}
\blindtext
\end{abstract}

\end{document}

与此处的 scrreprt 类相比

\documentclass{scrreprt}
\usepackage{blindtext}

\begin{document}
{\LARGE{One}}

\begin{abstract}
\blindtext
\end{abstract}

\end{document}

答案1

这两个类中的代码abstract是相同的。不同之处在于 titlepage 的默认值,因此您需要

\documentclass[titlepage=false]{scrreprt}

答案2

我尝试了 David 的方法,虽然它能满足我们的要求,但我发现它破坏了标题页的某些方面。具体来说,我发现将页码\maketitle放在底部的页面。

因此,我更新了abstract环境,删除了if检查标题页的条件,并始终使用非标题页摘要。这只是文件scrrept.cls( File: $Id: scrkernel-version.dtx 2215 2015-10-06 09:50:41Z kohm $) 中第 2836 行和第 2868 行之间的代码。

\makeatletter
\renewenvironment{abstract}{%
\if@abstrt
    \small
    \begin{center}
      {\normalfont\sectfont\nobreak\abstractname
        \vspace{-.5em}\vspace{\z@}}%
    \end{center}
\fi
    \quotation
}{%
\endquotation
} 
\makeatother

示例输出如图所示。

输出截图

相关内容