LaTeX/Title Creation

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

There are several situations where you might want to vary the title from its default format. For shorter documents such as basic articles, the output of \maketitle is often adequate, but longer documents (such as books and reports) often require more involved formatting. While it is possible to change the output of \maketitle, it can be complicated even with minor changes to the title. In such cases it is often better to create the title from scratch.

Contents

[edit] Standard Title Pages

Many document classes will form a title page for you. One must specify what to fill it with using these commands:

\title{The Triangulation of Titling Data in
       Non-Linear Gaussian Fashion via $\rho$ Series}
\date{October 31, 475}
\author{John Doe\\ Magic Department, Richard Miles University
        \and Richard Row, LaTeX Academy}

Commonly the date is excluded from the title page by using \date{}. It defaults to \today if not in the source file.

To form a title page, use

\maketitle

This should go after the preceding commands. For most document styles, this will form a separate page, while the article document style will place the title on the top of the first page. Note that the abstract environment should precede the \maketitle command in AMS documents.

Footnotes within the title page can be specified with the \thanks command. For example, one may add

\author{John Doe\thanks{Funded by NASA Grant #42}}

The \thanks command can also be used in the \title too.

It is dependent on the document class which commands are used in the title page generated by \maketitle. For example, the amsart uses commands such as \address, \dedicatory, \email and more in the title page while other classes may only use \title.

[edit] Custom Title Pages

[edit] Create the title

Normally, the benefit of using LaTeX instead of traditional word processing programs is that LaTeX frees you to concentrate on content by handling margins, justification, and other typesetting concerns. On the other hand, if you want to write your own title format, it is exactly the opposite: you have to take care of everything--this time LaTeX will do nothing to help you. It can be challenging to create your own title format since LaTeX was not designed to be graphically interactive in the adjustment of layout. The process is similar to working with raw HTML with the added step that each time you want to see how your changes look, you have to re-compile the source. While this may seem like a major inconvenience, the benefit is that once the customized title format has been written, it serves as a template for all other documents that would use the title format you have just made. In other words, once you have a layout you like, you can use it for any other documents where you would like the same layout without any additional fiddling with layout.

First step: since you'll be working only on the first page of your document and you'll have to compile very often, you don't have to compile the whole document each time, you only need to take a look at the first page. That is why we'll first create a dummy document for preparing the title and then we'll simply include it within the existing big document we are writing. Call the dummy document test_title.tex and put the following code in it:

\documentclass[pdftex,12pt,a4paper]{report}
 
\usepackage[pdftex]{graphicx}
 
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
 
\begin{document}
 
\input{./title.tex}
\end{document}

It is meant to be compiled with pdflatex to create a PDF in output. It is a very basic document, but take care that it has the same settings of the document you are writing, so the output won't change when you include the title in your document. In this case (see the first line) the font size is set to 12pt and the paper size is an A4. The package graphicx is included to insert an image in the title. Then a command is defined called \HRule; it will just insert a horizontal line whose length is like the size of the paper and whose thickness is 0.5 mm. If you want you can change its settings in the definition. Finally the document starts and it simply includes the title.tex file, that must be placed in the same directory of our dummy file test_title.tex.

Now create the title.tex and write in it:

\begin{titlepage}
 
 
\end{titlepage}

all the things you want to put in the title must be inside the titlepage environment. Now if you compile test_title.tex you will see a preview of your title in the test_title.pdf file. Here is what you need to know to write your title:

Alignment 
if you want to center some text just use \begin{center} ... \end{center}. If you want to align it differently you can use the environment flushright for right-alignment and flushleft for left alignment.
Images 
the command for including images is the following (the example is for a small logo, but you can introduce any image of any size): \includegraphics[width=0.15\textwidth]{./logo}. There is no \begin{figure} as you usually do because you don't want it to be floating, you just want it there where you placed it. When handling it, remember that it is considered like a big box by the TeX engine.
Text size 
If you want to change the size of some text just place it within brackets, {like this}, and you can use the following commands (in order of size): \Huge, \huge, \LARGE, \Large, \large, \small, \footnotesize, \tiny. So for example:
{\large this text is slightly bigger than normal}, this one is not
\normalsize is used to create text at the default size for the document.
New lines 
you can force the start of a new line by \\. If you want to add more vertical space you don't need to use several new-line commands, just insert some vertical space. For example, this way \\[1cm] you start a new line after having left 1 cm of empty space.
Date
you can insert the date of the current day with the command \today.
Filling the page 
the command \vfill keeps on adding empty spaces until the page is full. If you put it in the page, you are sure that all the following text will be placed at the bottom of the page.

[edit] A practical example

All these tips might have made you confused. Then, here is a practical example. Get the test_title.tex described above and here is an example of a title.tex. On the right you can see the output after you compile test_title.tex in PDF:

\begin{titlepage}
 
\begin{center}
 
 
% Upper part of the page
\includegraphics[width=0.15\textwidth]{./logo}\\[1cm]
 
\textsc{\LARGE University of Beer}\\[1.5cm]
 
\textsc{\Large Final year project}\\[0.5cm]
 
 
% Title
\HRule \\[0.4cm]
{ \huge \bfseries Lager brewing techniques}\\[0.4cm]
 
\HRule \\[1.5cm]
 
% Author and supervisor
\begin{minipage}{0.4\textwidth}
\begin{flushleft} \large
\emph{Author:}\\
John \textsc{Smith}
\end{flushleft}
\end{minipage}
\begin{minipage}{0.4\textwidth}
\begin{flushright} \large
\emph{Supervisor:} \\
Dr. Mark \textsc{Brown}
\end{flushright}
\end{minipage}
 
\vfill
 
% Bottom of the page
{\large \today}
 
\end{center}
 
\end{titlepage}
Latex wikibook test title.png

The picture is from a file called logo.png that is in the same directory of both title.tex and test_title.tex. Since I wanted to insert both the author and supervisor names properly aligned I used a trick: I created two small minipages, one on left and one on the right. Their width is a bit less than half of page width (as you can see, they are exactly 40% of the text width). Within the minipages I have used different alignments. Using \vfill I could write the date exactly at the bottom of the page.

As you can see, the code looks "dirtier" than standard LaTeX source because you have to take care of the output as well. If you start changing font's output it will get more confused, but you can do it: it's only for the title and your complicated code will be isolated from all the rest within its own file title.tex.

[edit] Insert it in your document

Once you have your title.tex ready, simply place it in the folder of your document and insert it with \input{./title.tex}. Don't forget to add the commands \usepackage[pdftex]{graphicx} and \newcommand{\HRule}{\rule{\linewidth}{0.5mm}}, otherwise you might get an error. So the beginning of your document should look like:

...
\usepackage[pdftex]{graphicx}
 
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
 
\begin{document}
 
\input{./title.tex}
\tableofcontents
...


Previous: Errors and Warnings Index Next: Bibliography Management