Tell me more ×
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'm using the \author and \title commands to produce a title with \maketitle. I also know that there is a \date command to specify the date of my work. However, if I omit \date, \maketitle will produce the current date. How do I achieve that no date is displayed at all?

share|improve this question

3 Answers

up vote 27 down vote accepted

If you want a blank date, just use \date{}.

If you want to remove the spacing altogether where the date usually goes, look into using the titling package, or else the mechanisms provided by your document class, depending on what it is.

share|improve this answer
If I use \date{} with the article class (instead of simply omitting the date), the vertical alignment of any following text will change as if the spacing was removed. – lockstep Sep 5 '10 at 16:24
@lockstep long time post, but testing today (with TexStudio), the \date{} it works fine. – Tom Brito Dec 8 '12 at 23:56

For a cheap and easy solution to removing the spacing without delving into the titling package that frabjous mentions, try:

\documentclass{article}

\author{Me}
\title{Foo}
\date{\vspace{-5ex}}
%\date{}  % Toggle commenting to test

\begin{document}

\maketitle

Bar

\end{document}
share|improve this answer

[attempting a slightly hack-y solution in egreg's style]

Assuming you use the article document class, we can simply change what \@maketitle, which is called by \maketitle, does and eliminate the lines producing the date:

\documentclass{article}

\author{Foo}
\title{Bar}

\makeatletter

\def\@maketitle{%
  \newpage
  \null
  \vskip 2em%
  \begin{center}%
  \let \footnote \thanks
    {\LARGE \@title \par}%
    \vskip 1.5em%
    {\large
      \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
%    \vskip 1em%
%    {\large \@date}%
  \end{center}%
  \par
  \vskip 1.5em}

\makeatother

\begin{document}

\maketitle

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula
eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus.

\end{document}

The part between \makeatletter and \makeatother is copied from article.cls, all I did is commenting out the two lines producing the date and its space, the rest is exactly the same. Technically, the \vskip 1em% wouldn't even do anything.

share|improve this answer
2  
It would have been \patchcmd\@maketitle{{\large\@date}}{\vskip-1em}{}{} with etoolbox and the usual \makeatletter and \makeatother; or simply \patchcmd\@maketitle{\@date}{}{}{}. :) – egreg Jul 29 '11 at 17:19
@egreg: I had a feeling this wasn't the shortest way of doing it. I've never used etoolbox though and this is one of my first lower-level TeX-hacks, so I'm glad it doesn't seem to be faulty :-) – doncherry Jul 29 '11 at 17:23

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.