2

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}

1 Answer 1

2

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
8
  • Sheesh! It looks like I just need the \vspace. It has been a long time since I ever played around with these things. :( Thanks. Actually, thanks for pointing out those two lines. It is better to use the normalbaselineskip as you did because then the abstract should I need it is also placed properly. Thanks.
    – kan
    Nov 15, 2015 at 9:39
  • Hi @Herbert: Actually, the abstract should I like to use one does not get placed. I am unable to unravel how the abstract placement is handled. Any pointers about that would be helpful. Thanks in advance!
    – kan
    Nov 15, 2015 at 9:47
  • use \begin{abstract} your text here \end{abstract} just after the \title definition.
    – user2478
    Nov 15, 2015 at 9:58
  • By placement, I meant in the actual pdf document. Actually, I did figure this part out (this is similar to amsart indeed). Sorry for not being explicit. After the space modifications, what happens now is the abstract goes in some fixed place in the pdf rendition...
    – kan
    Nov 15, 2015 at 10:19
  • yes, that is what the smfart does by default. The abtract ts part of the maketitle command
    – user2478
    Nov 15, 2015 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.