省略 \maketitle 中的日期 *但不清空日期*

省略 \maketitle 中的日期 *但不清空日期*

因此,这是建立在使用时省略日期\maketitle;但我还是想加上日期在页脚中。这意味着不是一种选择。(当然,我也\date{}想去掉多余的空格。)\maketitle

我正在使用 KOMA(具体来说scrartcl);但我找不到内置方法来禁用此功能;有这个方法吗?如果没有,我可以使用包{titling}来执行此操作吗?

\documentclass[paper=a4]{scrartcl}
\usepackage{scrlayer-scrpage}
\automark[subsection]{section}
\pagestyle{scrheadings}

\title{Something}
\author{Some Body}

\ofoot{\today}

\usepackage{blindtext}
\begin{document}
   \maketitle
   \blinddocument
\end{document}

答案1

如果你只想删除\date标题中的相关条目,那么你可以修补\@maketitle并删除相关内容(使用etoolbox):

在此处输入图片描述

\documentclass{scrartcl}
\usepackage{scrlayer-scrpage,etoolbox}
\automark[subsection]{section}
\pagestyle{scrheadings}

\title{Something}
\author{Some Body}

\ofoot{\today}

\usepackage{blindtext}

\makeatletter
% Remove \@date and spacing following it from \@maketitle
\patchcmd{\@maketitle}% <cmd>
  {{\usekomafont{date}{\@date \par}}%
    \vskip \z@ \@plus 1em}% <search>
  {}% <replace>
  {}{}% <success><failure>
\makeatother

\begin{document}

\maketitle
\blinddocument

\end{document}

以上

\patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}

搜索<search>in<cmd>并将其替换为<replace><success>补丁成功时执行,否则<failure>执行)。由于我们正在修补\@maketitle,让我们看看它的定义(inscrkernel-title.dtx):

\newcommand*{\@maketitle}{%
  \global\@topnum=\z@
  \ifx\@titlehead\@empty \else
    \begin{minipage}[t]{\textwidth}
      \usekomafont{titlehead}{\@titlehead\par}%
    \end{minipage}\par
  \fi
  \null
  \vskip 2em%
  \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
    {%
      \usekomafont{author}{%
        \lineskip .5em%
        \begin{tabular}[t]{c}
          \@author
        \end{tabular}\par
      }%
    }%
    \vskip 1em%
    {\usekomafont{date}{\@date \par}}%
    \vskip \z@ \@plus 1em
    {\usekomafont{publishers}{\@publishers \par}}%
    \ifx\@dedication\@empty \else
      \vskip 2em
      {\usekomafont{dedication}{\@dedication \par}}%
    \fi
  \end{center}%
  \par
  \vskip 2em
}%

发生

    {\usekomafont{date}{\@date \par}}%
    \vskip \z@ \@plus 1em

被替换为 ,因为 为空,所以 被删除<replace>。因此,\@date设置了 no ,并且\vskip其后的空格也不设置。

答案2

也许这可能会有用:

\documentclass{article}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancyhf{}
\fancyfoot[L]{\today\ -Page \thepage}
  \pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\author{Me}
\title{Foo}
\date{\vspace{-5ex}}

\begin{document}

\maketitle
\pagenumbering{gobble}  
\newpage
\pagenumbering{arabic}      
\lipsum

\end{document}

相关内容