是否可以在不修改 maketitle 命令的情况下减少其周围的空格?

是否可以在不修改 maketitle 命令的情况下减少其周围的空格?

考虑以下 sty 文件并注意注释掉的两行,我将其放入名为的文件中sample1.sty

\if@twocolumn\else\input twocolumn.sty\fi
\usepackage{mathptmx}  % times roman, including math (where possible)

\def\@maketitle{
% \vskip -4.5cm
 \vbox to 2.5in{
 \vspace*{\fill}
 \vskip 2em
 \begin{center}%
  {\Large\bf \@title \par}%
  \vskip 0.375in minus 0.300in
  {\large\it
   \lineskip .5em
   \begin{tabular}[t]{c}\@author
   \end{tabular}\par}%
 \end{center}%
 \par
 \vspace*{\fill}
 }
%\vskip -2.5cm
}

\def\abstract{\begin{center}%
{\large\bf \abstractname\vspace{-.5em}\vspace{\z@}}%
\end{center}}
\def\endabstract{}

\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus
    -.2ex}{2.3ex plus.2ex}{\reset@font\large\bf}}

现在考虑以下乳胶文件并再次注意注释掉的两行。

\documentclass[letterpaper,twocolumn,10pt]{article}
\usepackage{sample1,epsfig,endnotes}
\begin{document}

\title{\Large \bf Wonderful : A Terrific Application and Fascinating Paper}

%\vskip -4.5cm
\maketitle
%\vskip -2.5cm

\thispagestyle{empty}

\subsection*{Abstract}
Your Abstract Text Goes Here.

\section{Introduction}

\end{document}

如果我们在文件中的这两行中添加注释tex,则外观上不会出现明显变化。但是,如果我们在文件中的这两行中添加注释sty,则会减少很多空白。

sty怎样才能只修改文件,而达到与取消文件中两行注释相同的效果呢tex

答案1

由于您很幸运,只需要更改前后的命令(而不是中间的命令),您可以在 tex 文件中像这样简单的方式重新定义它:

\documentclass[letterpaper,twocolumn,10pt]{article}

%IGNORE THIS LINES YOU HAVE THEM IN THR STY BUT I NEED THEM FOR THE EXAMPLE
\makeatletter
\def\@maketitle{
%\vskip -4.5cm
 \vbox to 2.5in{
 \vspace*{\fill}
 \vskip 2em
 \begin{center}%
  {\Large\bf \@title \par}%
  \vskip 0.375in minus 0.300in
  {\large\it
   \lineskip .5em
   \begin{tabular}[t]{c}\@author
   \end{tabular}\par}%
 \end{center}%
 \par
 \vspace*{\fill}
 }
%\vskip -2.5cm
}\makeatother
% END OF IGNORED LINES

% TITLE USUALLY DEFINED BEFORE \begin{document}
\title{\Large \bf Wonderful : A Terrific Application and Fascinating Paper}

%HERE IS THE PART THAT MAKES THE WORK
\makeatletter
\let\oldmaketitle\@maketitle
\def\@maketitle{\vskip -4.5cm\oldmaketitle\vskip -2.5cm}
\makeatother

\begin{document}

%\vskip -4.5cm
\maketitle
%\vskip -2.5cm

\thispagestyle{empty}

\subsection*{Abstract}
Your Abstract Text Goes Here.

\section{Introduction}

\end{document}

输出:就跟你改变猪圈一样。

此外,由于您有想要更改的部分代码,您可以保留 sty 文件原样,并重新定义所有命令,如我上面示例中的“忽略的文本”...您可以在 tex 文件中使用它并进行更改。它的定义将覆盖之前从包中加载的内容(因为它是通过 定义的def

相关内容