考虑以下 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
)