如何将摘要纳入标题页?

如何将摘要纳入标题页?

我不想将摘要放在单独的页面上,而是放在标题下。此外,我还想结束页面,而不是从实际文档开始。

这是我的最小例子:

\documentclass[a4paper,12pt,abstracton,titlepage]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern}

\titlehead{University}
\title{Title}
\subject{Subject}
\author{Author}

\begin{document}

\maketitle

\begin{abstract}
...
\end{abstract}

\newpage

\tableofcontents
...    
\end{document}

\let\endtitlepage\relax我尝试使用另一个问题但它并没有改变任何事情。

如果我不使用标题页,那么它就不会垂直居中,我理解这一点,因为文档应该在它之后立即开始。

那么,如何在不创建自定义标题页的情况下获得此布局?

答案1

您可能会滥用该\publishers元素:

\documentclass[a4paper,12pt,abstracton,titlepage]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern}

\titlehead{University}
\title{Title}
\subject{Subject}
\author{Author}

\publishers{%
    \normalfont\normalsize%
    \parbox{0.8\linewidth}{%
        Your abstarct Text. Your abstarct Text. Your abstarct Text. 
        Your abstarct Text. Your abstarct Text. Your abstarct Text. 
        Your abstarct Text. Your abstarct Text.
    }
}

\begin{document}

\maketitle

\end{document}

由于它的值通常是居中的,因此\Large您必须在其中放入\parbox所需宽度的并将字体设置回\normalsize\normalfont这里有点多余,但没有任何危害)。

结果

如果这不符合您的需求,您可以重新定义{abstract}\maketitle让前者收集和存储其内容,后者打印出内容。但这与手动制作标题页的努力相同。并且只有在您需要在多个文档中使用此功能时才有用……

更新

如何利用该\date字段使摘要在页面中显示得更高?

\date{%
    \today% thats the default I guess
    \\[2\baselineskip]% Space between date and abstract
    \normalfont\normalsize%
    \parbox{0.8\linewidth}{%
        Your abstarct Text. Your abstarct Text. Your abstarct Text. 
        Your abstarct Text. Your abstarct Text. Your abstarct Text. 
        Your abstarct Text. Your abstarct Text.
    }
}

只有一个小问题,即的参数\date不能包含段落(即空行或\par),所以我们必须使用它\\[<dim>]来获取新行并插入一些空格。

答案2

无需滥用常用命令,您可以重新定义abstract和修补\maketitle命令:

\documentclass[a4paper,12pt,titlepage]{scrartcl}

\newsavebox{\abstractbox}
\renewenvironment{abstract}
  {\begin{lrbox}{0}\begin{minipage}{\textwidth}
   \begin{center}\normalfont\sectfont\abstractname\end{center}\quotation}
  {\endquotation\end{minipage}\end{lrbox}%
   \global\setbox\abstractbox=\box0 }

\usepackage{etoolbox}
\makeatletter
\expandafter\patchcmd\csname\string\maketitle\endcsname
  {\vskip\z@\@plus3fill}
  {\vskip\z@\@plus2fill\box\abstractbox\vskip\z@\@plus1fill}
  {}{}
\makeatother

\usepackage{lipsum}

\begin{document}

\titlehead{University}
\title{Title}
\subject{Subject}
\author{Author}

\begin{abstract}
\lipsum[1]
\end{abstract}

\maketitle

\end{document}

你可以玩线

  {\vskip\z@\@plus2fill\box\abstractbox\vskip\z@\@plus1fill}

不断改变2fill1fill直到结果令人满意。

该策略是将摘要的排版内容保存在一个框中以供日后使用;该方法lrbox相当标准;唯一的微妙之处是全球保存框,因为我们在环境内部进行业务abstract。因此,摘要在框寄存器 0 中排版,然后寄存器\abstractbox全局加载 中的内容\box0

你想把它放在哪里?就在标题页的\date\publishers字段之间;所以我查看了的代码\maketitle,发现两个字段之间的代码是

\vskip\z@\@plus3fill

(留出灵活的垂直空间)。借助etoolbox我将该代码更改为

\vskip\z@\@plus2fill\box\abstractbox\vskip\z@\@plus1fill

因此,先前保存的框将在那里排版,并通过灵活的垂直空间与\date和字段分开。\publisher

当然,abstract环境必须去 \maketitle。摘要本身的排版代码取自中的定义scrartcl.cls,该定义基本上将“摘要”(采用用于章节标题的字体)置于文本上方的中心,而文本又位于环境中quotation


在此处输入图片描述

答案3

您也可以使用notitlepageoption 来代替titlepageoption。

也就是说,改变第一行

\documentclass[a4paper,12pt,abstracton,titlepage]{scrartcl}

您的文档

\documentclass[a4paper,12pt,abstracton,notitlepage]{scrartcl}

然后您的代码会产生以下输出。

在此处输入图片描述

答案4

您可以只定义一个标题页布局...给出了示例模板在这个文件中并适应您自己的需求....

相关内容