in the class I am writing (imeko_acta.cls), which is based on article.cls, I have redefined the \maketitle command to have a specific title area. This is always a onecolumn, full text width section at the start of the first page, and after it the document will continue as a classic two columns research article.
The generated article will allways be a two columns one...but for some internal documents, and also for future expansion, I decided to implement also the possibility to have a one column body.
Everything works correctly (i.e. the switch from one to two and viceversa) a part for one thing.
When I swith from two to one column, the title area is moved up by a certain amount of space, more or less 10 points (figured out by experimentations).
The code for the maketitle definition is here:
\def\@maketitle{%
\null
\ifonecolumn
\vskip-36pt%
\else
\vskip-26pt%
\fi
\parindent0pt
\footnotesize\sffamily
\begin{minipage}[b]{0.933\textwidth}
\newdimen\upperrule%
\upperrule=\textwidth%
\advance\upperrule by -2pt%
\raggedright
{\large\bfseries {\MakeUppercase{\@Journal}}\par}\vskip2pt%
{\small\bfseries {\@ISSN}\par}\vskip1pt%
{\small\itshape {\@JournalInfoHeader}\par}\vskip2pt%
\noindent\textcolor[RGB]{49,1,98}{\rule{\upperrule}{1.5pt}}%
\end{minipage}\hfill%
\begin{minipage}[b]{0.062\textwidth}
\includegraphics[width=1.28cm]{./imeko.png}
\end{minipage}%
\vskip15pt%
\begingroup
\huge{\bfseries\@title}\par%
\vskip15pt%
\large{\bfseries\@AIauthors}\par%
\vskip14pt%
\itshape\small\@AIaffiliations\par%
\endgroup%%
\vskip17pt%
\fcolorbox{AIAbstractBackground}{AIAbstractBackground}{%
\hskip4pt%
\parbox{\textwidth}{\vskip6pt%
\ifvoid\absbox\else\unvbox\absbox\par\vskip6pt\fi}%
\hskip4pt%
}
\vskip10pt%
\hbox to \textwidth{\leaders\hbox to 2pt{\scriptsize . \hss}\hfil}
\vskip12pt%
{\bfseries Section:}\space\@arttype\par
\vskip6pt%pt%
{\bfseries Keywords:}\space\@Keywords\par
\vskip6pt%pt%
{\bfseries Citation:}\space\@Citation\par
\vskip6pt%
{\bfseries Section Editor:}\space\@Editor,\space\@EditorAffiliation\par
\vskip6pt%
{\bfseries Received:}\space{\@Received};\space{\bfseries In Final Form:}%
\space\@FinalForm;\space{\bfseries Published:}\space\@Published.\par
\vskip6pt%
{\bfseries Copyright:}\space\@CopyRight\par
\vskip6pt%
{\bfseries Funding:}\space\@Funding\par
\vskip6pt%
{\bfseries Corresponding Author:}\space\CorrespondingAuthor\par
\vskip6pt%
\hbox to \textwidth{\leaders\hbox to 2pt{\scriptsize . \hss}\hfil}
\vskip20pt%
}
Besides the different information contained there, the interesting part is clearly the initial lines.
When the class was only for two columns documents, the first lines were these ones:
\def\@maketitle{%
\vskip-26pt%
\parindent0pt
Then, when I noticed that, switching to a onecolumn document, everything was moved down, I added a conditional to modify the vskip to a negative -36 pt (10 points more than in two columns case).
Therefore, my question is: why switching to onecolumn requires to change the vskip? While everything is acceptable now, I am unable to understand why does this happen, since the (original) maketitle area had no code dependent on the twocolumn switch, and also margins and page sizes where not set differently.
I thank you very much everyone that would provide me with an explanation for this behavior.
Cheers Federico