TeX and LaTeX#
TeX is a document typesetting system which was designed by Donald Knuth and later improved to LaTeX by Leslie Lamport. It allows the writer to define the general structure of a document (such as layout and sections), to stylise text (such as bold and italics), and to add citations and cross-references.
There exist several variants that are all based on the original TeX:
- LaTeX: adds commands for easier typesetting of typical documents such as books, articles, and letters.
- XeLaTeX: adds extended support for fonts and allows the use of system fonts.
- LuaLaTeX: adds support for the scripting language Lua.
The Basics#
LaTeX code is divided into two parts: preamble and document. In the
preamble you can add packages and specify the page layout. The
document part starts with \begin{document}
and ends with
\end{document}
. It defines the visible part of your document where you
put your content. Everything after \end{document}
will be ignored.
Example of a minimal .tex file
% Preamble
\documentclass{article}
\title{My first article}
% Document
\begin{document}
\maketitle
This is the first paragraph.
\end{document}
Special Characters#
Some characters are not part of normal text but have a reserved special meaning for the LaTeX compiler.
\
introduces a command{
,}
embraces arguments, creates logical parts[
,]
embraces optional command parameters%
comments: code after % will be ignored.$
starts the inline math mode._
,^
indizes and exponents in mathmode. e.g. a&
separates columns in tables#
parameter for own command declarations
If you want to use thes characters in your text you need to put a
backslash in front of them. E.g. type \%
in the .tex
file to produce
%
in the PDF. An exception is the backslash itself, which is typed as
\textbackslash
.
Basic Document Formatting#
Headigs#
LaTeX supports several levels for headings:
\part{title}
(only for books)\chapter{title}
(only for books or reports)\section{title}
\subsection{title}
\subsubsection{title}
\paragraph{title}
\subparagraph{title}
Font Styles#
Text Style | Argument Syntax | Switch Syntax |
---|---|---|
italic | \textit{italic} |
\itshape italic |
bold | \textbf{italic} |
\bfseries italic |
Link | \href{Link}{https://tex4tum.de} |
Environments#
Environments span several lines and are enclosed within
\begin{ENV} ... \end{ENV}
, where ENV
is the name of the environment.
Lists#
There are three kinds of lists: 1. bullet points, 2. enumeration, and 3. descriptions.
\paragraph{Bullet Points (itemize)}
\begin{itemize}
\item first item
\item second item with further points:
\begin{itemize}
\item first subitem
\item second subitem
\end{itemize}
\end{itemize}
Tables#
To include tables properly in your document, you should add to your preamble:
\RequirePackage{booktabs} % better spacing and horizontal lines
\RequirePackage{multirow} % for columns spanning multiple rows
\begin{table}
\centering
\begin{tabular}{ll} \toprule % add more l's for more columns (or r/c)
\thead{Title Column 1} & \thead{Title Column 2} \\ \midrule
Cell 1 & Cell 2 \\
Cell 3 & Cell 4 \\
\bottomrule
\end{tabular}
\caption{This is the full caption of the table. It should explain which numbers are shown.}
\label{tab:example}
\end{table}
\begin{table*}\centering
\renewcommand{\arraystretch}{1.5} % change vertical row spacing
\renewcommand{\tabcolsep}{0.8em} % change horizontal column spacing
\begin{tabular}{@{}lrrcrr@{}}\toprule%
\multirow{2}{*}{\thead{Slices}}& % column heading
\multicolumn{2}{c}{\thead{error (\%)}} && % column heading
\multicolumn{2}{c}{\thead{error (slices)}} \\ % column heading
\cmidrule{2-3} \cmidrule{5-6}
& avg. & max. && avg. & max. \\ \midrule
\hfill $< 50$ & $7.4$ & $73.5$ && $78$ & $625$ \\
$50 ... 100$ & $3.1$ & $27.2$ && $116$ & $725$ \\
\hfill $> 100$ & $1.8$ & $9.0$ && $178$ & $825$ \\ \bottomrule
\end{tabular}
\caption{Professional looking table with random data.}
\end{table*}
Some Notes on Tables#
- Ommit vertical lines! This is how professional books and journals typeset tables.
- To add extra vertical spacing:
\renewcommand\arraystretch{1.5}
- To change horizontal spacing:
\renewcommand{\tabcolsep}{3pt}
Figures#
To include figures properly in your document, you should add to your preamble:
\RequirePackage{graphicx} % required to load images
\graphicspath{ {img/} {gfx/} } % set default image subfolders
Afterwards, you can create figures using
\begin{figure}
\centering
\includegraphics[width=\textwidth]{example-image-golden} % replace "example-image-golden" with filename
\caption{This is the full caption of the figure. It should explain what is shown and should be longer than one line.}
\label{fig:example} % used for referencing.
\end{figure}