9.0 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 speled 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=content-only)
@title Before we can continue …
@content ::: {.box .warning} Finally, comment out the preamble, the document environment, and the table of contents.
Only this way, your solution can be embedded in the script itself. (In TeXstudio, comments can be achieved by the shortcut Strg + T.) :::
We will learn in the following chapter why this is the case.