在当前命令或页面后重新定义样式

在当前命令或页面后重新定义样式

我正在尝试第一次编写自己的课程。我正在重新定义 \maketitle,我想要两件事:

  • 之后要改变的字体大小(即变为 14pt 左右,我发现的唯一方法就是在 12pt 字体的基础上将字体大小设置为 \large)
  • 编号仅从第二页开始

我写了以下代码:

\makeatletter
\def\@maketitle{
  \null
  \vskip 2em%
  \pagenumbering{gobble}
  \begin{center}%
    {\Large\sffamily\bfseries \MakeUppercase\@title  \par}%
    \vskip .5em%
    {\large\mdseries\hspace{0cm}
    \vskip 1em
      \begin{tabular}[t]{c}%
        \sffamily\hspace{0cm} \theauthor
      \end{tabular}\par \large}%
  \end{center}%
\large
\pagenumbering{arabic}
}
\makeatother

不幸的是,编号和大小的命令似乎在最后没有任何效果:后面的内容忽略了它们。为什么会这样?有没有合适的方法呢?

答案1

\maketitle设置页码并将所有内容保存在组内(本地):

\documentclass{article}
\let\MakeTitle\maketitle
\renewcommand\maketitle{%
  \MakeTitle
  \thispagestyle{empty}%
  \fontsize{14pt}{16pt}\selectfont
}
\makeatletter
\def\@maketitle{
    \clearpage
    \null
    \vskip 2em%
    \begin{center}%
        {\Large\sffamily\bfseries \MakeUppercase\@title  \par}%
        \vskip .5em%
        {\large\mdseries\hspace{0cm}
            \vskip 1em
            \begin{tabular}[t]{c}%
                \sffamily\hspace{0cm} \@author
            \end{tabular}}%
    \end{center}%
}
\makeatother

\usepackage{blindtext}

\title{foo}
\author{bar}
\begin{document}
\maketitle
\blinddocument
\end{document}

在此处输入图片描述

相关内容