latex-wochenende/slides/chapter-03.en.md
2021-05-28 21:11:54 +02:00

8.1 KiB
Raw Blame History

@slide(layout=chapter-slide)

@title Basic structure of a LATEX document

@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}

@preview

@slide(layout=wide-content)

@title Document class

@content

\documentclass[<parameter>]{<document_class>}

For example:

\documentclass[10pt,a5paper,landscape]{scrartcl}
  • **`scrartcl`, `article`** for short documents
  • **`scrreport`, `report`** for longer documents
  • **`scrbook`, `book`** for books
  • **`beamer`** for presentations

@slide(layout=content-only)

@title Packages

@content

\usepackage[<options>]{<package_name>}
  • Packages provide additional commands and functionalities.
  • There are different packages for different use cases (e.g., mathematical formulas, lists, ...).
  • Before they can be used, they have to be included within the preamble.

@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 babel provides language-specific information (e.g., hyphenation, special characters, font changes, translated labels like chapter, table of contents or figure).
  • ngerman is the German new spelling.

@slide(layout=wide-content)

@title Languages

@content A document can use multiple languages at once:

\usepackage[ngerman, swedish, russian, 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=content-and-preview)

@title Languagesan example

@content

\today
\selectlanguage{ngerman}
\today
\selectlanguage{swedish}
\today
\selectlanguage{russian}
\today
\selectlanguage{greek}
\today
\selectlanguage{english}
\today

@preview

@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.

@preview

@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 \\, we will see a solution for this later.

@preview

@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}

@preview

@slide(layout=content-and-preview)

@title Sections and chapters

@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}

@preview

@slide(layout=wide-content)

@title Front matter

@content

\title{The World of Truffles}
\author{Fooboar Rüssel \\ Fachschaft WIAI\thanks{WIe AIn Profi},
        Otto-Friedrich-Universität Bamberg}
\date{\today}
\begin{document}
\maketitle
\end{document}
  • The values for the entries are stored in the preamble.
  • \maketitle typesets the front matter 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 \\ Fachschaft
WIAI\thanks{WIe AIn Profi},
Otto-Friedrich-Universität Bamberg}
\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}

@preview

@slide(layout=content-only)

@title Table of contents

@content

\tableofcontents
  • automatic numbering
  • very configurable (enumeration characters and depth, automatic naming, …)
  • chapters and (sub-)sections with an asterisk (*) are hidden from the table of contents: 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}

@preview

@slide(layout=content-only)

@title Other indices

@content List of figures and list of tables

\listoffigures
\listoftables
  • inserts the corresponding index wherever it is called
  • lists the caption of each figure or table by default, but you can also state a special list entry

@slide(layout=wide-task)

@task-number 3

@title Structure your document and text

@content

  • Open the file document-structure.tex. It is located in the directory exercises/basic-document-structure.
  • Wrap the entire text in a document environment and insert the following preamble. Compile the document.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[hidelinks]{hyperref}
  • 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.
  • 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.