Использовать абстрактную среду из другого класса документа

Использовать абстрактную среду из другого класса документа

В данный момент я использую класс KOMA-scrartcl для компиляции нескольких отдельных статей в объединенный документ. Теперь я хотел бы перейти на класс scrreprt (я хотел бы использовать главы), но для этого класса абстрактная среда определена по-другому. Есть ли простой способ получить те же настройки для аннотации в классе scrreprt, что и в классе scrrartcl (например, меньшая ширина текста, аннотация сразу после заголовка, а не на следующей странице).

Вот небольшой тестовый пример для класса scrartcl:

\documentclass{scrartcl}
\usepackage{blindtext}

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

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

\end{document}

против здесь для класса scrrept

\documentclass{scrreprt}
\usepackage{blindtext}

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

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

\end{document}

решение1

Код abstractв двух классах идентичен. Разница в значении по умолчанию titlepage, поэтому вы хотите

\documentclass[titlepage=false]{scrreprt}

решение2

Я попробовал метод Дэвида, и хотя он делает то, что мы хотим, я обнаружил, что для меня он сломал некоторые аспекты титульного листа. В частности, я обнаружил, что страница с \maketitleномером страницы находится внизу.

Итак, я обновил abstractсреду, чтобы убрать ifусловие проверки титульного листа и всегда использовать аннотацию без титульного листа. Это просто код между строками 2836 и 2868 файла scrrept.cls( File: $Id: scrkernel-version.dtx 2215 2015-10-06 09:50:41Z kohm $).

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

Пример вывода показан на изображении.

Скриншот вывода

Связанный контент