减少修改后的 smfart 中标题和第一部分之间的空间

减少修改后的 smfart 中标题和第一部分之间的空间

我正在寻找一种技巧来减少行(出现在标题之后)和第一节标题之间的空间。目前,我的代码对 smfart 进行了如下修改:

\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

重要的是只有两条线%%%%%%%%%%%%%%%%%%%

\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}

在此处输入图片描述

如果您只想减少标题后的空间,那么您只需要\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}

如果摘要应该直接位于图块后面,请使用:

\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

相关内容