Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I wanted to generate a cover page for a tech report and so put the following in my preamble

\makeatletter
\newcommand{\coverpage}{\onecolumn \centering \large
\thispagestyle{empty}
{\noindent\includegraphics[width=3.5in]{Logo_black}}\vspace*{0.4in}\\
{\noindent\huge Electrical Engineering and Computer Science}\vspace*{0.8in}\\
{\noindent\Huge \bf \@title}\vspace*{0.3in}\\
{\noindent \@date}\vspace*{0.3in}\\
{\noindent \@author}\vspace*{0.4in}\\
\textit{TR-ID-12-06}\vspace*{0.4in}\\
\noindent\textbf{Abstract}\vspace*{0.1in}\\
\hspace*{0.1in}\begin{minipage}{0.8\linewidth}
\input{abstract}
\end{minipage}
\vfill
\setcounter{page}{0}}
\makeatother

Then, after \begin{document}, I have a \coverpage, followed by \maketitle and so on. However, now the whole document is formatted as one-column and centered even though my class file configured it to be two-column (and fully justified). Why does this happen and how should I avoid this?

share|improve this question
    
Welcome to TeX.sx! –  Peter Jansson Mar 14 '13 at 20:53
    
While code snippets are useful in explanations, it is always best to compose a fully compilable MWE that illustrates the problem including the \documentclass and the appropriate packages so that those trying to help don't have to recreate it. You could try putting a \begingroup, at the start of coverpage, and an \endgroup at the end. –  Peter Grill Mar 14 '13 at 21:16
    
@PeterGrill thanks for the tip. Will keep in mind for future questions. –  r.v Mar 14 '13 at 22:45

2 Answers 2

up vote 8 down vote accepted

By surrounding the coverpage macro with a \begingroup and \endgroup you limit the effect of the macros to be within that scope.

Notes:

  • The lipsum package was used just to provide dummy text. It is not needed in your document.
  • The [demo] option was used for the graphicx package so as to place a black box where the figure would go for demo purposes, in your real usage (when you actually have the figures available), you need to remove this option.

Code:

\documentclass{article}

\usepackage{lipsum}
\usepackage[demo]{graphicx}

\makeatletter
\newcommand{\coverpage}{\begingroup\onecolumn \centering \large
\thispagestyle{empty}
{\noindent\includegraphics[width=3.5in]{Logo_black}}\vspace*{0.4in}\\
{\noindent\huge Electrical Engineering and Computer Science}\vspace*{0.8in}\\
{\noindent\Huge \bf \@title}\vspace*{0.3in}\\
{\noindent \@date}\vspace*{0.3in}\\
{\noindent \@author}\vspace*{0.4in}\\
\textit{TR-ID-12-06}\vspace*{0.4in}\\
\noindent\textbf{Abstract}\vspace*{0.1in}\\
\hspace*{0.1in}\begin{minipage}{0.8\linewidth}
%\input{abstract}
\end{minipage}
\vfill
\setcounter{page}{0}\endgroup}
\makeatother

\begin{document}
    \title{Title}
    \coverpage
    \lipsum[1-7]
\end{document}
share|improve this answer
 \newcommand{\coverpage}{\onecolumn {\centering \large
                                    %%

Start a group to limit the scope of \centering

\setcounter{page}{0}%
\par}%

End the group to stop \centering (always make sure that size changing and paragraph formatting commands include a \par at the end.

\twocolumn

start two column

}

end the command definition

Some unrelated comments, \noindent normally has no effect after \\ and has no real effect in centering as indentation is 0 anyway. It's best to avoid using \vspace in horizontal mode, its effects are defined but hard to explain. \vspace*{0.3in}\\ is better written as \\[.3in]

share|improve this answer
    
thanks for your tips. I learnt a lot from this one post. –  r.v Mar 14 '13 at 22:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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