[Tex/LaTex] Reduce space between title and first section in a modified smfart

spacingtitles

I am looking for a hack to reduce the space between the line (that appears after the title) and the title of the first section. At the moment, my code modifies smfart somewhat atrociously as follows:

\documentclass{smfart}
\usepackage{smfthm, xpatch}
\makeatletter
\patchcmd{\@maketitle}
{\medskip
 {\abstractfont\smf@journalhead\par}\vfil
\begin{center}
 \def\baselinestretch{1.2}\large\vfil
}{\begin{center} \large \vspace{0.2cm}}{}{}
\patchcmd{\@maketitle}
{\vfil
\ifx\@empty\smfbyname\else
     {\smfbyfont\smfbyname\ifsmf@byauthor\par\vfil\else\ \fi}%
\fi
   {\edef\smfandname{{\noexpand\normalfont \smfandname}}
    \andify\authors\authors\par}
 \vfil
}{}{}{}
\makeatother
\title{\S 2. Sch\'emas et morphismes de sch\'emas}
\begin{document}
\maketitle
\section{Definition of Schemes}
\section{}
\end{document}

Best Answer

Important are only the two lines maked with %%%%%%%%%%%%%%%%%%%

\documentclass{smfart}
\usepackage{smfthm}
\makeatletter
\def\@maketitle{\cleardoublepage\thispagestyle{copyright}
    \begingroup
    \uppercasenonmath\shorttitle
    \ifx\@empty\shortauthors \let\shortauthors\shorttitle
    \else \uppercasenonmath\shortauthors \andify\shortauthors \fi
    \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
    \edef\@tempa{\@nx\markboth{\the\toks@}{\the\@temptokena}}\@tempa
    \topskip\z@skip
    \vtop to 20 mm{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        \parindent=0pt
        \hrule
        \medskip
        {\abstractfont\smf@journalhead\par}\vfil
        \begin{center}
            \def\baselinestretch{1.2}\large\vfil
            {\bfseries\smf@boldmath\MakeUppercase\@title\par}
            \vfil
            \ifx\@empty\smfbyname\else
            {\smfbyfont\smfbyname\ifsmf@byauthor\par\vfil\else\ \fi}%
            \fi
            {\edef\smfandname{{\noexpand\normalfont \smfandname}}
                \andify\authors\authors\par}
            \vfil \vrule height .4pt width .3\textwidth \vfil
        \end{center}}
        \@maketitlehook
        \par\bigskip
        \ifx\@empty\@dedicatory\else\@setdedicatory\medskip\fi
        \@setabstract\par\smallskip\@setaltabstract\par
        \vspace{\normalbaselineskip}%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        \endgroup}
\makeatother
\title{\S 2. Sch\'emas et morphismes de sch\'emas}

\begin{document}
        \maketitle
        \section{Definition of Schemes}
        \section{foo}
\end{document}

enter image description here

If you want only reduce the space after the title, then you need only a \vspace{- ...}:

\documentclass{smfart}
\usepackage{smfthm}
\title{\S 2. Sch\'emas et morphismes de sch\'emas}

\begin{document}
    \maketitle
    \vspace*{-1.5cm}    
    \section{Definition of Schemes}
    \section{foo}
\end{document}

If the abstract should be directly after the tile use:

\makeatletter
\def\@maketitle{\cleardoublepage\thispagestyle{copyright}
  \begingroup
  \uppercasenonmath\shorttitle
    \ifx\@empty\shortauthors \let\shortauthors\shorttitle
    \else \uppercasenonmath\shortauthors \andify\shortauthors \fi
    \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
    \edef\@tempa{\@nx\markboth{\the\toks@}{\the\@temptokena}}\@tempa
    \topskip\z@skip
    \vtop to 55 mm{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        \parindent=0pt
        \hrule
        \medskip
        {\abstractfont\smf@journalhead\par}\vfil
        \begin{center}
            \def\baselinestretch{1.2}\large\vfil
            {\bfseries\smf@boldmath\MakeUppercase\@title\par}
            \vfil
            \ifx\@empty\smfbyname\else
            {\smfbyfont\smfbyname\ifsmf@byauthor\par\vfil\else\ \fi}%
            \fi
            {\edef\smfandname{{\noexpand\normalfont \smfandname}}
                \andify\authors\authors\par}
            {\bigskip\@setabstract\par\smallskip\@setaltabstract\par}
            \vfil \vrule height .4pt width .3\textwidth \vfil
        \end{center}}
        \@maketitlehook
        \par\bigskip
        \ifx\@empty\@dedicatory\else\@setdedicatory\medskip\fi
        \vspace{\normalbaselineskip}%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        \endgroup}
\makeatother