增加 Scrartcl 中标题和副标题之间的空白

增加 Scrartcl 中标题和副标题之间的空白

正如标题所说,如何增加scrartcl文档类中标题和副标题之间的间距?

答案1

更新:感谢 egreg 的建议,这里有一个较短的补丁。我们不需要识别整个块,因为\vskip.5em它在命令定义中只出现一次。:)

我们可以通过调整来修补\maketitle和替换原始\vskip值(.5em)。这是我借助这个神奇的xpatch包所做的卑微尝试:

\documentclass{scrartcl}

\usepackage{xpatch}

\newlength{\myspace}
\setlength{\myspace}{2em}

\makeatletter
\xpatchcmd{\@maketitle}{\vskip.5em}{\vskip\myspace}{}{}
\makeatother

\title{Title}
\subtitle{Subtitle}

\begin{document}

\maketitle

Hello world.

\end{document}

请注意,我们创建了一个新的长度(\myspace)来保存新值。输出符合预期:

输出

希望能帮助到你。:)

答案2

这是一个解决方案,改变整个\maketitle命令。

\makeatletter
\renewcommand*{\@maketitle}{%
  \clearpage
  \let\footnote\thanks
  \ifx\@extratitle\@empty \else
    \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi
  \fi
  \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
  \ifx\@titlehead\@empty \else
    \begin{minipage}[t]{\textwidth}
      \@titlehead
    \end{minipage}\par
  \fi
  \null
  \vskip 2em%
  \begin{center}%
    \ifx\@subject\@empty \else
      {\subject@font \@subject \par}
      \vskip 1.5em
    \fi
    {\titlefont\huge \@title \par}%
    \vskip 2em % original was \vskip .5em
    {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}%
    \vskip 1em
    {\Large
      \lineskip .5em%
      \begin{tabular}[t]{c}
        \@author
      \end{tabular}\par
    }%
    \vskip 1em%
    {\Large \@date \par}%
    \vskip \z@ \@plus 1em
    {\Large \@publishers \par}
    \ifx\@dedication\@empty \else
      \vskip 2em
      {\Large \@dedication \par}
    \fi
  \end{center}%
  \par
  \vskip 2em
}%
\makeatother

在此处输入图片描述

您感兴趣的部分位于 和 之间,\@title\@subtitle标有注释。

答案3

我有另一个简单的技巧解决方案。只需在\subtitle命令内添加空格即可:

\subtitle{\vspace{1cm}Subtitle}

是的,非常愚蠢。因为在我看来,KOMA 脚本在标题方面很糟糕。例如,\huge用户定义的标题字体完全是胡说八道。

相关内容