Latex
Overview
% All comment lines start with %. There are no multi-line comments
% Every LaTeX command starts with a backslash (\)
% Preamble
%-----------------------------------------------
% Document Class
\documentclass[12pt]{article}
% Packages
\usepackage{caption} % Sets figure captions
\usepackage{float} % Allows figures to float
\usepackage{hyperref} % Allows hyperlinks
% Document Properties Definitions
\author{Author's name}
\date{\today}
\title{Title}
% Document
%-----------------------------------------------
\begin{document}
% Title
\maketitle
\newpage % Creates a new page
% Tables of Content
\tableofcontents % Main table of content
\newpage
\listoffigures % List of figures
\newpage
\listoftables % List of tables
\newpage
% Abstract: command is available in the document classes article and report.
\begin{abstract}
\LaTeX{} documentation written as \LaTeX! How novel and totally not
my idea!
\end{abstract}
% Sections
\section{Introduction}
Hello, my name is Colton and together we're going to explore \LaTeX!
\section{Another section}
This is the text for another section. I think it needs a subsection.
\subsection{This is a subsection} % Subsections are also intuitive.
I think we need another one.
\subsubsection{Pythagoras}
Much better now.
\label{subsec:pythagoras}
\section*{This is an unnumbered section}
However not all sections have to be numbered!
\section{Some Text notes}
\LaTeX{} is generally pretty good about placing text where it should
go. If
a line \\ needs \\ to \\ break \\ you add \textbackslash\textbackslash{}
to the source code.
Separate paragraphs by empty lines.
You need to add a backslash after abbreviations (if not followed by a comma), because otherwise the spacing after the dot is too large:
E.g., i.e., etc.\ are are such abbreviations.
\section{Lists}
\begin{enumerate} % This creates an "enumerate" environment.
% \item tells the enumerate to increment
\item Salad.
\item 27 watermelon.
\item A single jackrabbit.
% we can even override the item number by using []
\item[how many?] Medium sized squirt guns.
Not a list item, but still part of the enumerate.
\end{enumerate} % All environments must have an end.
\section{Math}
Here's how you state all x that belong to X, $\forall x \in X$.
We can also enter math mode with \[a^2 + b^2 = c^2 \].
% Display math with the equation 'environment'
\begin{equation} % enters math-mode
c^2 = a^2 + b^2.
\label{eq:pythagoras} % for referencing
\end{equation} % all \begin statements must have an end statement
Eqn.~\ref{eq:pythagoras} is also known as the Pythagoras Theorem which is also
the subject of Sec.~\ref{subsec:pythagoras}. A lot of things can be labeled:
figures, equations, sections, etc.
\section{Figures}
% See https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions for more details
\begin{figure}[H] % H here denoted the placement option.
\centering % centers the figure on the page
% Inserts a figure scaled to 0.8 the width of the page.
%\includegraphics[width=0.8\linewidth]{right-triangle.png}
% Commented out for compilation purposes. Please use your imagination.
\caption{Right triangle with sides $a$, $b$, $c$}
\label{fig:right-triangle}
\end{figure}
\subsection{Table}
\begin{table}[H]
\caption{Caption for the Table.}
% The basic is simple: one letter for each column, to control alignment:
% basic options are: c, l, r and p for centered, left, right and paragraph
% optionnally, you can add a | for a vertical line
% See https://en.wikibooks.org/wiki/LaTeX/Tables for more details
\begin{tabular}{c|cc} % here it means "centered | vertical line, centered centered"
Number & Last Name & First Name \\ % Column rows are separated by &
\hline % a horizontal line
1 & Biggus & Dickus \\
2 & Monty & Python
\end{tabular}
\end{table}
\section{Getting \LaTeX{} to not compile something (i.e.\ Source Code)}
% There are other packages that exist (i.e. minty, lstlisting, etc.)
% but verbatim is the bare-bones basic one.
\begin{verbatim}
print("Hello World!")
a%b; % look! We can use % signs in verbatim.
random = 4; #decided by fair random dice roll, https://www.xkcd.com/221/
See https://www.explainxkcd.com/wiki/index.php/221:_Random_Number
\end{verbatim}
\section{Compiling}
\begin{enumerate}
\item Write the document in plain text (the ``source code'').
\item Compile source code to produce a pdf.
The compilation step looks like this (in Linux): \\
\begin{verbatim}
> pdflatex learn-latex.tex
\end{verbatim}
\end{enumerate}
\section{Hyperlinks}
There exists two main types of links: visible URL \\
\url{https://learnxinyminutes.com/docs/latex/}, or
\href{https://learnxinyminutes.com/docs/latex/}{shadowed by text}
% You can not add extra-spaces or special symbols into shadowing text since it
% will cause mistakes during the compilation
This package also produces list of thumbnails in the output pdf document and
active links in the table of contents.
\section{Writing in ASCII or other encodings}
It is easy to insert accents and basic Latin symbols, with backslash shortcuts
Like \,c, \'e, \`A, \ae and \oe etc. % for ç, é, À, etc
% See https://en.wikibooks.org/wiki/LaTeX/Special_Characters#Escaped_codes for more
To write directly in UTF-8, when compiling with pdflatex, use
\begin{verbatim}
\usepackage[utf8]{inputenc}
\end{verbatim}
The selected font has to support the glyphs used for your document, you have to add
\begin{verbatim}
\usepackage[T1]{fontenc}
\end{verbatim}
\section{End}
That's all for now!
% Bibliography
\begin{thebibliography}{1}
\bibitem{latexwiki} The amazing \LaTeX{} wikibook: \emph{https://en.wikibooks.org/wiki/LaTeX}
\bibitem{latextutorial} An actual tutorial: \emph{http://www.latex-tutorial.com}
\end{thebibliography}
% Ends the document
\end{document}
Document Classes
Usage: \documentclass[opt,opt]{class}
.
Classes
book % Default is two-sided.
report % No \part divisions.
article % No \part or \chapter divisions.
letter % Letter.
slides % Large sans-serif font.
Common options
10pt/11pt/12pt % Font size.
letterpaper/a4paper % Paper size.
twocolumn % Use two columns.
twoside % Set margins for two-sided.
landscape % Landscape orientation. Must use dvips -t landscape.
draft % Double-space lines.
Packages
\usepackage{fullpage} % uses 1 inch margins.
\usepackage{anysize} % sets margins: \marginsize{l}{r}{t}{b}
\usepackage{multicol} % uses n columns: \begin{multicols}{n}.
\usepackage{lscape} % allows a page to be rendered in landscape mode
\usepackage{appendix} % allows appendix section to be included
\usepackage{lettrine} % supports various dropped capitals styles
\usepackage{hyperref} % allows hyperlinks
\usepackage{url} % inserts URL: \url{http://... }.
\usepackage{latexsym} % uses \LaTeX\ symbol font.
\usepackage{graphicx} % shows image: \includegraphics[width=x]{file}.
\usepackage{epstopdf} % convert eps figures to pdf
\usepackage{caption} % sets figure captions
\usepackage{subcaption}% captions for the subfigures
\usepackage{float} % allows figures to float
\usepackage{amsmath} % American Mathematical Society package (allows \eqref)
\usepackage{amssymb} % American Mathematical Society extra symbols
\usepackage{amsthm} % offers the theorem setup of the AMS document classes
\usepackage{cancel} % allows showing canceled terms in equations
\usepackage{tabularx} % an extension of tabular which has an additional column designator, X, which creates a paragraph-like column whose width automatically expands so that the declared width of the environment is filled
\usepackage{booktabs} % enhances the quality of tables and provides extra commands
\usepackage{multirow} % tables with cell occuping more than one row
\usepackage{threeparttable} % tables with footnotes
\usepackage{placeins} % defines a \FloatBarrier command, beyond which floats may not pass
Title
Usage: \maketitle
\author{text} % Author of document.
\title{text} % Title of document.
\date{text} % Date.
Page Style
\pagestyle{empty} % Both header and footer are cleared
\pagestyle{plain} % Header is clear, but the footer contains the page number in the center.
\pagestyle{headings} % Footer is blank, header displays information according to document class (e.g., section name) and page number top right.
\pagestyle{myheadings} % Page number is top right, and it is possible to control the rest of the header.
Tables of Content
\tableofcontents % Adds a table of content.
\listoffigures % List of figures
\listoftables % List of tables
Document Structure
\setcounter{secnumdepth}{x} % suppresses heading numbers of depth > x, where chapter has depth 0.
\part{title}
\chapter{title}
\section{title}
\section*{title}, % not numbers the section and it does not appear in the table of contents
\subsection{title}
\subsubsection{title}
\paragraph{title}
\subparagraph{title}
Text Environments
\begin{comment} \end{comment} % Comment (not printed). Requires verbatim package.
\begin{quote} \end{quote} % Indented quotation block.
\begin{quotation} \end{quotation} % Like quote with indented paragraphs.
\begin{verse} \end{verse} % Quotation block for verse.
\begin{verbatim} \end{verbatim} % Verbatim environment.
\verb!text! % Text between the delimiting characters (in this case '!') is verbatim.
Text Properties
Font Face
Command | Declaration | Effect |
---|---|---|
\textrm{text} |
{\rmfamily text} |
Roman family |
\textsf{text} |
{\sffamily text} |
Sans serif family |
\texttt{text} |
{\ttfamily text} |
Typewriter family |
\textmd{text} |
{\mdseries text} |
Medium series |
\textbf{text} |
{\bfseries text} |
Bold series |
\textup{text} |
{\upshape text} |
Upright shape |
\textit{text} |
{\itshape text} |
Italic shape |
\textsl{text} |
{\slshape text} |
Slanted shape |
\textsc{text} |
{\scshape text} |
Small Caps shape |
\emph{text} |
{\em text} |
Emphasized |
\textnormal{text} |
{\normalfont text} |
Document font |
\underline{text} |
Underline |
Font size
Usage {\command text }
\tiny % tiny
\scriptsize % scriptsize
\footnotesize % footnotesize
\small % small
\normalsize % normalsize
\large % large
\Large % Large
\LARGE % LARGE
\huge % huge
\Huge % Huge
Justification
% Environment
\begin{center} \end{center}
\begin{flushleft} \end{flushleft}
\begin{flushright} \end{flushright}
% Declaration
\centering
\raggedright
\raggedleft
Line Spacing
\linespread{x} % changes the line spacing by the multiplier x.
Symbols
Symbol | Latex |
---|---|
& | \& |
_ | \_ |
… | \ldots |
\(\bullet\) | \textbullet |
$ | \$ |
^ | \^{} |
| | \textbar |
\ | \textbackslash |
% | \% |
~ | \~{} |
# | \# |
S | \S |
Accents
Accent | Latex |
---|---|
ò | \`o |
ó | \'o |
ô | \^o |
õ | \~o |
ō | \=o |
ȧ | \.a |
ö | \"o |
o̧ | \c o |
ă | \u a |
ǎ | \v a |
ő | \H |
ç | \c c |
ạ | \d a |
ą | \k a |
⁀ | \t |
œ | \oe |
Œ | \OE |
æ | \ae |
Æ | \AE |
å | \aa |
Å | \A |
ø | \o |
Ø | \O |
ł | \l |
Ł | \L |
¡ | ~ ` |
¿ | ? ` |
Delimiters
Delimiter | Latex |
---|---|
` | ` |
|
’ | ' |
“ | ` `` ` |
” | '' |
{} | \{\} |
[] | [] |
() | () |
< | \textless |
> | \textgreater |
Dashes
Name | Latex | Example | Usage |
---|---|---|---|
hyphen | - |
X-ray | In words |
en-dash | -- |
1–5 | Between numbers |
em-dash | --- |
Yes—or no? | Punctuation |
Lists
\begin{enumerate} % Numbered list.
\item text % Adds an item.
\end{enumerate}
\begin{itemize} % Bulleted list.
\item text % Adds an item.
\end{itemize}
\begin{description} % Description list.
\item[x] text % Uses x instead of normal bullet or number. Required for descriptions
\end{description}
Line and Page Breaks
\\ % Begin new line without new paragraph.
\\* % Prohibit pagebreak after linebreak.
\kill % Don't print current line.
\pagebreak % Starts new page.
\newpage % Starts new page
\noindent % Do not indent current line.
Miscellaneous
\today % Prints todays date
~ % Space, disallow linebreak (W.J.~Clinton).
\@. % Indicate that the . ends a sentence when following an uppercase letter.
\hspace{l} % Horizontal space of length l (Ex: l = 20pt).
\vspace{l} % Vertical space of length l.
\rule{w}{h} % Line of width w and height h.
References
\label{marker} % Set a marker for cross-reference, often of the form \label{sec:item}.
\ref{marker} % Give section/body number of marker.
\pageref{marker} % Give page number of marker.
\footnote{text} % Print footnote at bottom of page.
Floating bodies
\begin{table}[place] \end{table} % Add numbered table.
\begin{figure}[place] \end{figure} % Add numbered figure.
\begin{equation}[place] \end{equation} % Add numbered equation.
\caption{text} % Caption for the body.
The place is a list valid placements for the body. t=top, h=here, b=bottom, p=separate page, !=place even if ugly. Captions and label markers should be within the environment.
Tabular Environments
tabbing
environment
\= % Set tab stop.
\> % Go to tab stop.
Tab stops can be set on “invisible” lines with \\kill
at the end
of the line. Normally \\
is used to separate lines.
tabular
environment
\begin{array}[pos]{cols} \end{array}
\begin{tabular}[pos]{cols} \end{tabular}
\begin{tabular*}{width}[pos]{cols} \end{tabular*}
Column specification:
l |
Left-justified column. |
c |
Centered column. |
r |
Right-justified column. |
p{width} |
Same as \parbox[t]{width} . |
@{decl} |
Insert decl instead of inter-column space. |
| |
Inserts a vertical line between columns. |
Elements:
\hline |
Horizontal line between rows. |
\cline{x-y} |
Horizontal line across columns x through y . |
\multicolumn{n}{cols}{text} |
A cell that spans n columns, with cols column specification. |
Math Mode
For inline math, use \(...\)
or $...$
.
For displayed math, use \[...\]
or \begin{equation} \end{equation}
.
Math Element | Latex |
---|---|
\(a^{x}\) | a^{x} |
\(a_{x}\) | a_{x} |
\(\frac{x}{y}\) | \frac{x}{y} |
\(\sum_{k=1}^n\) | \sum_{k=1}^n |
\(\sqrt[n]{x}\) | \sqrt[n]{x} |
\(\prod_{k=1}^n\) | \prod_{k=1}^n |
Symbols
Math Symbol | Latex |
---|---|
\(\leq\) | \leq |
\(\geq\) | \geq |
\(\neq\) | \neq |
\(\approx\) | \approx |
\(\times\) | \times |
\(\div\) | \div |
\(\pm\) | \pm |
\(\cdot\) | \cdot |
\(^{\circ}\) | ^{\circ} |
\(\circ\) | \circ |
\(\prime\) | \prime |
\(\cdots\) | \cdots |
\(\infty\) | \infty |
\(\neg\) | \neg |
\(\wedge\) | \wedge |
\(\vee\) | \vee |
\(\supset\) | \supset |
\(\forall\) | \forall |
\(\in\) | \in |
\(\rightarrow\) | \rightarrow |
\(\subset\) | \subset |
\(\exists\) | \exists |
\(\notin\) | \notin |
\(\Rightarrow\) | \Rightarrow |
\(\cup\) | \cup |
\(\cap\) | \cap |
\(\mid\) | \mid |
\(\Leftrightarrow\) | \Leftrightarrow |
\(\dot a\) | \dot a |
\(\hat a\) | \hat a |
\(\bar a\) | \bar a |
\(\tilde a\) | \tilde a |
\(\alpha\) | \alpha |
\(\beta\) | \beta |
\(\gamma\) | \gamma |
\(\delta\) | \delta |
\(\epsilon\) | \epsilon |
\(\zeta\) | \zeta |
\(\eta\) | \eta |
\(\varepsilon\) | \varepsilon |
\(\theta\) | \theta |
\(\iota\) | \iota |
\(\kappa\) | \kappa |
\(\vartheta\) | \vartheta |
\(\lambda\) | \lambda |
\(\mu\) | \mu |
\(\nu\) | \nu |
\(\xi\) | \xi |
\(\pi\) | \pi |
\(\rho\) | \rho |
\(\sigma\) | \sigma |
\(\tau\) | \tau |
\(\upsilon\) | \upsilon |
\(\phi\) | \phi |
\(\chi\) | \chi |
\(\psi\) | \psi |
\(\omega\) | \omega |
\(\Gamma\) | \Gamma |
\(\Delta\) | \Delta |
\(\Theta\) | \Theta |
\(\Lambda\) | \Lambda |
\(\Xi\) | \Xi |
\(\Pi\) | \Pi |
\(\Sigma\) | \Sigma |
\(\Upsilon\) | \Upsilon |
\(\Phi\) | \Phi |
\(\Psi\) | \Psi |
\(\Omega\) | \Omega |
Bibliography and Citations
When using BibTex, you need to run latex
, bibtex
, and latex
twice more
to resolve dependencies.
BibTex Citation Types
\cite{key} % Full author list and year. (Watson and Crick 1953)
\citeA{key} % Full author list. (Watson and Crick)
\citeN{key} % Full author list and year. Watson and Crick (1953)
\shortcite{key} % Abbreviated author list and year.
\shortciteA{key} % Abbreviated author list.
\shortciteN{key} % Abbreviated author list and year.
\citeyear{key} % Cite year only. (1953)
All the above have an NP
variant without parentheses. Ex: \citeNP
.
BibTex Entry Types
@article % Journal or magazine article.
@book % Book with publisher.
@booklet % Book without publisher.
@conference % Article in conference proceedings.
@inbook % A part of a book and/or range of pages.
@incollection % A part of book with its own title.
@misc % If nothing else fits.
@phdthesis % PhD. thesis.
@proceedings % Proceedings of a conference.
@techreport % Tech report, usually numbered in series.
@unpublished % Unpublished.
Fields
address % Address of publisher. Not necessary for major publishers.
author % Names of authors, of format ....
booktitle % Title of book when part of it is cited.
chapter % Chapter or section number.
edition % Edition of a book.
editor % Names of editors.
institution % Sponsoring institution of tech. report.
journal % Journal name.
key % Used for cross ref. when no author.
month % Month published. Use 3-letter abbreviation.
note % Any additional information.
number % Number of journal or magazine.
organization % Organization that sponsors a conference.
pages % Page range (2,6,9--12).
publisher % Publisher’s name.
school % Name of school (for thesis).
series % Name of series of books.
title % Title of work.
type % Type of tech. report, ex. “Research Note”.
volume % Volume of a journal or book.
year % Year of publication.
Not all fields need to be filled. See example below.
Common BibTex Style Files
abbrv % Standard
alpha % Standard
abstract % alpha with abstract
plain % Standard
unsrt % Unsorted
apa % APA
The LaTeX document should have the following two lines just before \end{document}
, where bibfile.bib
is the name of the file:
\bibliographystyle{plain}
\bibliography{bibfile}
Example
The database goes in a file called file.bib
, which is processed with bibtex file
.
@String{N = {Na\-ture}}
@Article{WC:1953,
author = {James Watson and Francis Crick},
title = {A structure for Deoxyribose Nucleic Acid},
journal = N,
volume = {171},
pages = {737},
year = 1953
}