latex-wochenende/slides/basic-document-structure.de.md

9.1 KiB
Raw Blame History

@slide(layout=chapter-slide)

@number 3

@title Grundstruktur eines LATEX-Dokuments

@slide(layout=content-and-preview)

@title Präambel & Dokumentumgebung

@content

👁 Ein mit LaTeX gesetztes Dokument besteht aus:

  • Präambel: globale Einstellungen (Dokumentklasse, Kodierung, Sprache, Seitenformat, zusäzliche Pakete, …) und
  • Dokumentumgebung: Inhalt des Dokuments.
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\begin{document}
Hallo, Welt!
\end{document}

@preview

@slide(layout=wide-content)

@title Dokumentenklasse

@content

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

Konkret zum Beispiel

\documentclass[10pt,a5paper,landscape]{article}

@slide(layout=content-only)

@title Kodierung

@content

\usepackage[utf8]{inputenc}
\usepackage[t1]{fontenc}
  • Die Zeichenkodierung bestimmt, welche Zeichen verfügbar sind.
  • ASCII enthält kaum Sonderzeichen wie deutsche Umlaute.
  • UTF-8 ist eine universelle Kodierung.

@slide(layout=content-only)

@title Sprache

@content

\usepackage[ngerman]{babel}
  • Das Paket babel stellt sprachspezifische Informationen (z.B. Silbentrennung, Sonderzeichen, Wechsel zwischen Fonts, Übersetzung von Labels wie Kapitel, Inhaltsverzeichnis oder Abbildung) bereit.
  • ngerman steht für die neue deutsche Rechtschreibung.

@slide(layout=content-and-preview)

@title Fließtext

@content

Fließtext kann direkt in den Quelltext ↲
geschrieben werden. ↲
Einfache Zeilenumbrüche ↲
werden dabei ignoriert, ↲
genau wie     mehrere Leerzeichen. ↲
↲
Leerzeilen erzeugen einen neuen Absatz,↲
standardmäßig mit Einzug. ↲
Manuelle Zeilenumbrüche können mit ↲
zwei Backslashes erzwungen werden, ↲
haben in Fließtext aber eigentlich \\ ↲
nichts verloren.

@preview

@slide(layout=content-and-preview)

@title Kommentare

@content Nach einem Prozentzeichen wird der Rest der Zeile vom Compiler ignoriert. Der Kommentartext erscheint also nicht im fertigen Dokument.

% Beginn Steckbrief
Name: Donald Knuth \\
Geburtsdatum: \\ % TODO: einfügen
Geburtsort: Milwaukee, Wisconsin
% Ende Steckbrief

Tastenkombinationen: Strg + T und Strg + U

@preview

@slide(layout=content-and-preview-with-category)

@category Achtung!

@title Reservierte Zeichen

@content Bestimmte Zeichen lösen in LaTeX Dinge aus:

# $ % ^ & _ { } ~ \

50% sind die Hälfte.

Lösung: »\« voranstellen:

50\% sind die Hälfte.

Funktioniert nicht mit »\\«, nutzt \textbackslash stattdessen.

++ Für später: Zwischen Zahlen und Einheiten passen schmale Leerzeichen (50\,\%).

@preview

@slide(layout=content-and-preview)

@title Abschnitte und Kapitel

@content Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt. Immer verfügbar:

\section{Ebene 1}
\subsection{Ebene 2}
\subsubsection{Ebene 3}
\paragraph{Ebene 4}
\subparagraph{Ebene 5}

Je nach Dokumentenklasse zusätzlich:

\chapter{Kapitel}
\part{Teil}

@preview

@slide(layout=wide-content)

@title Titelei

@content

\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \and Fachschaft WIAI}
\date{\today}
\begin{document}
\maketitle
\end{document}
  • In der Präambel werden die Werte für die Einträge gespeichert.
  • Das Setzen des Titels erfolgt in der Dokumentumgebung mit dem Befehl \maketitle.
  • Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.
  • Mehrere Autoren werden mit \and verbunden.
  • Wird kein Datum angegeben, wird per default das aktuelle Datum gesetzt. Ein abweichendes Datum kann mit \date{} definiert werden.

@slide(layout=content-and-preview)

@title Titelei

@content

\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \and 
Fachschaft WIAI}
\date{\today}

\begin{document}
    \maketitle
    \section{Trüffelsuche}
    \subsection{Suche mit Schwein}
    \subsection{Suche ohne Schwein}
    Wer macht denn sowas?
    \section{Trüffelrezepte}
    Mein Lieblingsrezept
\end{document}

@preview

@slide(layout=content-only)

@title Verzeichnisse

@content

\tableofcontents % Inhaltsverzeichnis
\listoffigures   % Abbildungsverzeichnis
\listoftables    % Tabellenverzeichnis
  • Nummerierung erfolgt automatisch
  • Elemente, die nicht im Verzeichnis aufgeführt werden sollen, werden mit einem »*« versehen, also z.B. \section*{}.
  • am besten zweimal kompilieren

@slide(layout=content-and-preview)

@title Inhaltsverzeichnis

@content

\documentclass[ngerman]{article}
\usepackage{babel}
\begin{document}
    \tableofcontents
    \section{Trüffelsuche}
    Der erste Abschnitt.
    \subsection{Suche mit Schwein}
    Ein Unterabschnitt.
    \subsection{Suche ohne Schwein}
    Ein weiterer Unterabschitt.
    \subsubsection[But why?]{Wer macht 
    denn sowas?}
    Unter-Unterabschnitt.
    \section{Trüffelrezepte}
    Mein Lieblingsrezept
\end{document}

@preview

@slide(layout=wide-task)

@task-number 3

@title Dokument und Text gliedern

@content

  • Öffnet die Datei document-structure.tex, die im Ordner exercises/basic-document-structure liegt.
  • Packt den gesamten Text in der Datei in eine Document-Umgebung und schreibt darüber folgende Präambel.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
  • Öffnet mittels Rechtsklick auf die Datei das Kontextmenü und setzt die Datei als explizites Root-Dokument. Kompiliert sie anschließend.
  • Wie ihr sehen könnt, sind in der Datei die Absätze im Dokument mit \\ erstellt worden. Ersetzt diese durch richtige Absätze.
  • Zeit für etwas Struktur! Verwendet für die Überschriften die passenden LaTeX-Befehle (\section u. ä.).
  • Fügt anschließend ein Inhaltsverzeichnis in euer Dokument ein.

@slide(layout=extra-wide-content)

@title Dokumentenklassen

@content

  • Natürlich gibt es auch andere Dokumentenklassen als article.
  • Je nachdem, welche Dokumentenklasse man verwendet, ändert sich das Layout der generierten PDF.
  • Die korrekt geschriebenen Dokumentenklassen richten sich nach US-amerikanischen Layout-Normen.
  • scr-Dokumentenklassen versuchen europäische Normen abzubilden.

Folgende Dokumentenklassen stehen zur Verfügung:

  • scrartcl, article für kurze Dokumente
  • scrreprt, report für lange Dokumente
  • scrbook, book für Bücher
  • beamer für Präsentationen

@slide(layout=extra-wide-content)

@title Sprachen

@content Es können auch mehrere Sprachen im Dokument verwendet werden:

\usepackage[ngerman, swedish, ukrainian, greek, english]{babel}

Umschalten zwischen Sprachen:

\selectlanguage{<sprache a>}
\selectlanguage{<sprache b>}

Eingebetteter Text in anderer Sprache:

\selectlanguage{<sprache a>}
\foreignlanguage{<sprache b>}{Hier steht Text in Sprache B in einem Text in Sprache A}

@slide(layout=extra-content-and-preview)

@title Sprachen ein Beispiel

@content

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

@preview

@slide(layout=extra-content-and-preview)

@title Überschriften und das Inhaltsverzeichnis

@content Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis weg:

\section*{Kein Verzeichniseintrag}

Außerdem kann für das Inhaltsverzeichnis ein alternativer Titel angegeben werden:

\section[Titel im Verzeichnis]
{Kapitelüberschrift}

@preview

@slide(layout=content-only)

@title Bevor wir fortfahren können …

@content

**Kommentiert** zuletzt die Präambel, die Dokumentenumgebung und das Inhaltsverzeichnis **wieder aus**.

Nur so kann eure Lösung auch ins Skript eingebunden werden (Schnelles Auskommentieren kann in TeXstudio mit dem Shortcut Strg + T erreicht werden).

Im nächsten Kapitel erklären wir, warum das notwendig ist.