9.8 KiB
@slide(layout=chapter-slide)
@number 2
@title Basic documents
@slide(layout=wide-content)
@title Commands
@content General structure of a command:
\<command>[<optional_parameters>]{<obligatory_parameters>}
++ A few examples:
\newpage % inserts a new page
\textbf{bold text} % formats the text bold
\documentclass[a4paper,12pt,landscape]{article} % configures the document class
\frac{1}{4} % inserts a mathematical fraction
@slide(layout=content-only)
@title Backslash
@content Assuming a German keyboard layout, you get the backslash by pressing
AltGr + ß (Windows/Linux)
Alt + Shift + 7 (MacOS)
@slide(layout=content-and-preview)
@title Preamble & document environment
@content
👁 Every LaTeX document is composed of
- a preamble: global settings (document class, encoding, language, page format, additional packages, …) and
- a document environment: content of the document.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\begin{document}
Hello world!
\end{document}
@slide(layout=wide-content)
@title Document class
@content
\documentclass[<parameter>]{<document_class>}
For example:
\documentclass[10pt,a5paper,landscape]{article}
@slide(layout=content-only)
@title Encoding
@content
\usepackage[utf8]{inputenc}
\usepackage[t1]{fontenc}
- The character encoding determines which characters are available.
- ASCII contains no special characters like German umlauts.
- UTF-8 is a universal encoding.
@slide(layout=content-only)
@title Language
@content
\usepackage[ngerman]{babel}
- The package
babelprovides language-specific information (e. g., hyphenation, special characters, font changes, translated labels like ‘chapter,’ ‘table of contents’ or ‘figure’). ngermanis the German new spelling.
@slide(layout=content-and-preview)
@title Continuous Text
@content
Continous text can be written directly ↲
in the source code. ↲
Simple line breaks ↲
are ignored, ↲
just as multiple space characters. ↲
↲
An empty line creates a new paragraph ↲
which has an indentation by default. ↲
Manual line breaks can be forced ↲
using two backslashes, but this use ↲
is strongly discouraged \\ ↲
within continuous text.
@slide(layout=content-and-preview)
@title Comments
@content After a percent sign, the rest of the line is ignored by the compiler. It is called a comment and does not appear in the resulting document.
% profile start
Name: Donald Knuth \\
Date of birth: \\ % TODO: insert
Place of birth: Milwaukee, Wisconsin
% profile end
Shortcuts: Ctrl + T and Ctrl + U
@slide(layout=content-and-preview-with-category)
@category Caution!
@title Reserved characters
@content Some characters do things in LaTeX:
# $ % ^ & _ { } ~ \
50% is one half.
Solution: prefix with ‘\’:
50\% is one half.
Does not work for ‘\\’, use \textbackslash instead. Also: Consider using a thin space between numbers and units (50\,\%).
@slide(layout=content-and-preview)
@title Sections and chapters
@content Texts are structured by beeing subdivided in sections and chapters. Always available:
\section{Level 1}
\subsection{Level 2}
\subsubsection{Level 3}
\paragraph{Level 4}
\subparagraph{Level 5}
Additionally, for some document classes:
\chapter{Chapter}
\part{Part}
@slide(layout=wide-content)
@title Title page
@content
\title{The World of Truffles}
\author{Fooboar Rüssel \and Fachschaft WIAI}
\date{\today}
\begin{document}
\maketitle
\end{document}
- The values for the entries are stored in the preamble.
\maketitletypesets the title page within the document environment.- The exact appearance depends on the document class.
- Multiple authors can be joined with
\and. - If no date is given, the current date will be used. A different date can be defined with
\date{}.
@slide(layout=content-and-preview)
@title Front matter
@content
\documentclass{article}
\usepackage{babel}
\title{The World of Truffles}
\author{Fooboar Rüssel
\and Fachschaft WIAI}
\date{\today}
\begin{document}
\maketitle
\section{Truffle hunt}
\subsection{Hunt with a pig}
\subsection{Hunt without a pig}
Why would you do that?
\section{Truffle recipes}
My favorite recipe
\end{document}
@slide(layout=content-only)
@title Registers
@content
\tableofcontents
\listoffigures
\listoftables
- automatic numbering
- elements with an asterisk (
*) are hidden from the register: e. g.\section*{}. - generally requires two rounds of compilation
@slide(layout=content-and-preview)
@title Table of contents
@content
\documentclass{article}
\usepackage{babel}
\begin{document}
\tableofcontents
\section{Truffle hunt}
The first section.
\subsection{Hunt with a pig}
A subsection.
\subsection{Hunt without a pig}
Another subsection.
\subsubsection[But why?]{Why would
you do that?}
Sub-subsection.
\section{Truffle recipes}
My favorite recipe
\end{document}
@slide(layout=wide-task)
@task-number 2
@title Structure your document and text
@content
- Open the file
document-structure.tex. It is located in the directoryexercises/basic-document-structure. - Wrap the entire text in a document environment and insert the following preamble.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
- In TeXstudio, right click on the file and select “Set as explicit root document.” Next, compile the file.
- As you may already have noticed, paragraphs are marked as ‘
\\’. Use real paragraphs instead. - Time to structure our document! Use LaTex commands to declare all headings (
\section,\subsubsection, etc.). - Add a table of contents to your document.
@slide(layout=extra-wide-content)
@title Document classes
@content
- There are also other document classes than
article. - Based on the document class, the layout of the generated pdf file changes.
- Normally spelled classes adhere to American English layout norms.
scrdocument classes usually adhere to European layout norms.
Following document classes are available:
scrartcl,articlefor short documentsscrreprt,reportfor longer documentsscrbook,bookfor booksbeamerfor presentations
@slide(layout=extra-wide-content)
@title Languages
@content A document can use multiple languages at once:
\usepackage[ngerman, swedish, ukrainian, greek, english]{babel}
To switch languages:
\selectlanguage{<language a>}
\selectlanguage{<language b>}
Embedded Text in another language:
\selectlanguage{<language a>}
\foreignlanguage{<language b>}{Text of language B in a text of language A}
@slide(layout=extra-content-and-preview)
@title Languages — an example
@content
\today
\selectlanguage{ngerman}
\today
\selectlanguage{swedish}
\today
\selectlanguage{ukrainian}
\today
\selectlanguage{greek}
\today
\selectlanguage{english}
\today
@slide(layout=extra-content-and-preview)
@title Headlines and the table of contents
@content With an asterisk, there is no numbering and no entry in the table of contents:
\section*{No entry in table of contents}
You can also provide an alternative title for the table of contents:
\section[Entry in table of contents]
{Actual chapter heading}
@slide(layout=extra-content-only)
@title Headers and footers
@content
The fancyhdr package helps us with that.
% activate in general
\pagestyle{fancy}
% apply to the first page as well
\thispagestyle{fancy}
% reset values
\fancyhead{} % and/or \fancyfoot{}
\fancyhead[L]{Left header}
\fancyfoot[C]{Center footer}
\fancyfoot[R]{\thepage}
A comprehensive tutorial can be found on Overleaf.
@slide(layout=wide-task)
@task-number 2x
@title Make it fit your needs
@content
- Add a title to the document.
- Make today's date appear in a language of your choice.
- Hide one section title in the table of contents.
- Add a short title to a different section title.
- Split the text in two columns (keyword:
twocolumn). - Add a header with the title on the right and a footer with the page number on the left.
- Try out what changes when you change the document class.
- Research the possibilities of traditional and modern beamer presentation templates.