KOMA-Script:重新定义 \maketitle 后,页码无法再删除

KOMA-Script:重新定义 \maketitle 后,页码无法再删除

我尝试修改\maketitle:不同的\vspaces,最底部的日期。

不幸的是,一旦我添加代码来更改\maketitle,该行\renewcommand{\titlepagestyle}{empty}就不再有效。

如何禁用第一页的页码并将日期移动到页码的位置?

\documentclass[12pt,DIV=14,a4paper,parskip=true,titlepage=true]{scrartcl}

\makeatletter
\renewcommand*{\maketitle}{%
  % taken and shortened from /usr/share/texmf/tex/latex/koma-script/scrartcl.cls
  \global\@topnum=\z@
  \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
  \null
  \vskip 22em%
  \begin{center}%
    \ifx\@subject\@empty \else
      {\usekomafont{subject}{\@subject \par}}%
      \vskip 1.5em
    \fi
    {\usekomafont{title}{\Huge \@title \par}}%
    \vskip .5em
    {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}%
    \vskip 1em
    \null\vfill
    {\usekomafont{date}{\@date \par}}%
  \end{center}%
  \par
  \vskip 0em
  \clearpage
}%
\makeatother

\renewcommand{\titlepagestyle}{empty}


\subject{Opinion 12}

\title{My Opinion}
\date{1 August 2017}

\begin{document}
\maketitle

\section{here gets}

\end{document}

在此处输入图片描述

答案1

\titlepagestyle仅用于使用titlepage=false和 KOMA-Script 的原始制作的页内标题\maketitle。您正在使用,因此即使没有您对 的重新定义,titlepage=trueKOMA-Script 本身也不会使用。您只定义了标题页,没有页内标题。建议(并在 KOMA-Script 手册中提到)使用环境作为标题页。KOMA -Script 中的原始定义也用于标题页。\titlepagestyle\maketitletitlepage\maketitletitlepage

您可以\begin{titlepage}在重新定义的最开始处添加,并将\clearpage末尾的替换为\end{titlepage}

\documentclass[12pt,DIV=14,parskip=true]{scrartcl}

\makeatletter
\renewcommand*{\maketitle}{%
  % taken and shortened from /usr/share/texmf/tex/latex/koma-script/scrartcl.cls
  \begin{titlepage}
  \global\@topnum=\z@
  \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
  \null
  \vskip 22em%
  \begin{center}%
    \ifx\@subject\@empty \else
      {\usekomafont{subject}{\@subject \par}}%
      \vskip 1.5em
    \fi
    {\usekomafont{title}{\Huge \@title \par}}%
    \vskip .5em
    {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}%
    \vskip 1em
    \null\vfill
    {\usekomafont{date}{\@date \par}}%
  \end{center}%
  \par
  \vskip 0em
  \end{titlepage}
}%
\makeatother

\subject{Opinion 12}

\title{My Opinion}
\date{1 August 2017}

\begin{document}
\maketitle

\section{here gets}

\end{document}

标题页,带有 <code>titlepage</code>

顺便说一句:重新定义不仅\titlepagestyle未使用。选项titlepage也无法再更改行为\maketitle。重新定义非常极端。因此设置选项或重新定义毫无意义\titlepagestyle。我已将它们从示例中删除。

相关内容