\documentclass{latexkurs}

\subtitle{Dokumentenklassen, Pakete und Markup}
\date{\dateSecondLecture}

\begin{document}

\frame{\titlepage}

\begin{frame}
  \frametitle{Ziel dieses Abschnitts}

  \begin{itemize}
  \item Dokumentenklassen
  \item Präambel
  \item Textformatierung
  \item Textuelles Markup
  \end{itemize}

\end{frame}

\section{Aufbau eines \LaTeX-Dokuments}

\begin{frame}
  \frametitle{Dokumentenklasse und Präambel}

  \onslide<+->

  \begin{block}{Allgemein}
    Jedes \LaTeX-Dokument beginnt mit der Spezifikation einer
    \emph{Dokumentenklasse} und der drauf folgenden \emph{Präambel}.
  \end{block}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Dokumentenklassen}

  \onslide<+->

  \begin{itemize}
  \item<+-> Spezifiziert das allgemeine Aussehen des Dokuments (Artikel, Report, Buch,
    Brief, \dots)
  \item<+-> Wird (im allgemeinen) als erstes im Dokument angegeben mittels
\begin{lstlisting}
\documentclass{\textit{dokumentenklasse}}
\end{lstlisting}
  \item<+-> Beispiele (jeweils nur eins davon!):
\begin{lstlisting}
\documentclass{article}
\documentclass{report}
\documentclass{scrartcl}
\documentclass{llncs}
\end{lstlisting}
  \item<+-> Können Optionen bekommen
\begin{lstlisting}
\documentclass[a4paper,english,draft]{article}
\end{lstlisting}

  \end{itemize}

\end{frame}

\begin{frame}
  \frametitle{Standard-Dokumentenklassen}

  \begin{description}
  \item[article] Standardklasse zum Erstellen von einfachen Dokumenten
  \item[report] Standardklassen zum Erstellen längerer Arbeiten
  \item[book] Standardklassen zum Erstellen von Büchern
  \item[scrartcl, scrreprt, scrbook] ~\\
    KOMA-Script Varianten von article, report, book mit europäischen
    Standardwerten
  \item[memoir] Individuell anpassbare Dokumentenklasse
  \item[minimal] Minimale Dokumentenklasse
  \end{description}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Die Präambel}

  \onslide<+->

  \begin{itemize}

  \item<+-> Wird verwendet, um
    \begin{itemize}
    \item<+-> Pakete einzubinden
    \item<+-> Standardwerte des Dokuments anzupassen
    \item<+-> separate Befehle (\emph{Makros}) zu definieren oder zu ändern
    \end{itemize}

  \item<+-> Pakete werden eingebunden mittels
\begin{lstlisting}
\usepackage[\textit{option}]{\textit{paketname}}
\end{lstlisting}
    Zum Beispiel
\begin{lstlisting}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\end{lstlisting}

  \item<+-> Standardwerte wie z.B.\,der Absatzabstand oder -einzug können angepasst werden
\begin{lstlisting}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0cm}
\end{lstlisting}
  \end{itemize}

\end{frame}

\begin{frame}
  \frametitle{Einige Nützliche Pakete}

  \onslide<+->

  \begin{description}
  \item[babel] Einstellung der Sprache
  \item[inputenc] Einstellung ein Eingabekodierung
  \item[fontenc] Einstellung der Schriftkodierung
  \item[geometry] Einstellung der Papier- und Seitengröße
  \item[microtype] Mikrotypographie
  \item[enumitem] Anpassung von Aufzählungen
  \item[array] Anpassung von Tabellen und Matrizen
  \item[booktabs] Schönere Trennstriche für Tabellen
  \item[listings] Programme
  \item[hyperref] Verweise im Dokument
  \item[amsmath, amssymb, mathtools, ntheorem] ~\\
    Extra Mathematikumgebungen und Symbole
  \item[setspace] Zeilenabstand
  \end{description}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Eine \enquote{Standard-Präambel}}

  \onslide<+->

\begin{lstlisting}[frame=none,xleftmargin=2em]
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\title{Was sind und was sollen die Zahlen?}
\author{Richard Dedekind}
\date{1888}

\setlength{\parindent}{0cm}

\begin{document}

\maketitle

\end{document}
\end{lstlisting}

\end{frame}

\section{Textformatierung}

\begin{frame}[fragile]
  \frametitle{Der \enquote{Dokumentenkörper}}

  \onslide<+->

  Das eigentliche Dokument wird nun zwischen \lstinline!\begin{document}! und
    \lstinline!\end{document}! angegeben.  Dabei kann der Text \enquote{fast} beliebig
  eingegeben werden.

  \onslide<+->

\begin{lstlisting}
\begin{document}
Bei Fülltexten sollte man drauf achten, dass es nicht
allzu viel Sinn macht, lange darüber nachzudenken, was
man wie schreibt.
\end{document}
\end{lstlisting}

  wird zu\onslide<+->

  \begin{center}
    \parbox{0.8\linewidth}{\rm Bei Fülltexten sollte man drauf achten, dass es
      nicht allzu viel Sinn macht, lange darüber nachzudenken, was man wie schreibt.}
  \end{center}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Quelltextformatierung}

  \onslide<+->

  Die Formatierung des Quelltextes ist \enquote{fast} beliebig.  Diese Formatierung wird
  allerdings nicht unbedingt im Dokument widergespiegelt:

  \begin{itemize}
  \item<+-> Zeilenumbrüche werden (fast) wie Leerzeichen interpretiert:
    \onslide<+->
\begin{lstlisting}
Ich bin ein
Text.
\end{lstlisting}
    produziert die gleiche Ausgabe wie
\begin{lstlisting}
Ich bin ein Text.
\end{lstlisting}
  \item<+-> Doppelte Leerzeichen werden wie ein Leerzeichen interpretiert:
    \onslide<+->
\begin{lstlisting}[showspaces=true]
Zwei  Leerzeichen
\end{lstlisting}
ist das gleiche wie
\begin{lstlisting}[showspaces=true]
Zwei Leerzeichen
\end{lstlisting}
  \end{itemize}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Abschnitte}

  \begin{itemize}
  \item<+-> geben die Grobstruktur des Dokuments an
  \item<+-> In \LaTeX\ mit
    \begin{itemize}
    \item \lstinline!\part!, \lstinline!\part*!
    \item \lstinline!\section!, \lstinline!\section*!
    \item \lstinline!\subsection!, \lstinline!\subsection*!
    \item \lstinline!\subsubsection!, \lstinline!\subsubsection*!
    \item \lstinline!\paragraph!, \lstinline!\paragraph*!
    \item \lstinline!\subparagraph!, \lstinline!\subparagraph*!
    \end{itemize}
  \item<+-> *-Formen werden nicht nummeriert und treten auch nicht im
    Inhaltsverzeichnis auf
  \item<+-> In \lstinline|book| ist auch erlaubt
    \begin{itemize}
    \item \lstinline!\chapter!, \lstinline!\chapter*!
    \end{itemize}
  \item<+-> Inhaltsverzeichnisse mit
    \lstinline{\tableofcontents} und zweimaligem Übersetzen.
  \end{itemize}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Absätze, Zeilen- und Seitenumbrüche}

  \onslide<+->

  \begin{itemize}
  \item<+-> Absätze werden durch Leerzeilen oder durch \lstinline{\par} getrennt:

\begin{lstlisting}
Ich bin ein erster Absatz.

Und ich ein zweiter.  \par Und ich ein dritter.
\end{lstlisting}
  \item<+-> Zeilenumbrüche mit folgenden Kommandos
    \begin{itemize}
    \item<+-> \lstinline{\\} und \lstinline{\newline} erzeugen Zeilenumbruch ohne Ausgleich
    \item<+-> \lstinline{\linebreak} erzeugt Zeilenumbruch mit Ausgleich
    \end{itemize}
  \item<+-> Gleiches mit Seitenumbrüchen
    \begin{itemize}
    \item<+-> \lstinline{\newpage} beendet die aktuelle Seite ohne Ausgleich
    \item<+-> \lstinline{\pagebreak} beendet die aktuelle Seite mit Ausgleich
    \end{itemize}

  \end{itemize}

\end{frame}

\begin{frame}[fragile,fragile]
  \frametitle{Ausrichtung von Text}

  \onslide<+->

\begin{lstlisting}[frame=none]
\begin{flushleft}
  Dieser Text ist linksbündig.
\end{flushleft}
\end{lstlisting}

  \onslide<+->

\begin{lstlisting}[frame=none]
\begin{flushright}
  Dieser Text ist rechtsbündig.
\end{flushright}
\end{lstlisting}

  \onslide<+->

\begin{lstlisting}[frame=none]
\begin{center}
  Dieser Text ist zentriert
\end{center}
\end{lstlisting}

  \onslide<+->

\begin{lstlisting}[frame=none]
\usepackage{ragged2e}
\begin{justify}
  Dieser Text ist im Blocksatz gesetzt.
\end{justify}
\end{lstlisting}

\end{frame}


\begin{frame}[fragile]
  \frametitle{Aufzählungen}

  \LaTeX\ stellt standardmäßig drei Aufzählungstypen zur Verfügung%

  \onslide<+->

  \begin{enumerate}
  \item<+-> \lstinline{itemize} für unnummerierte Aufzählungen
  \item<+-> \lstinline{enumerate} für nummerierte Aufzählungen
  \item<+-> \lstinline{description} für Definitionslisten
  \end{enumerate}

  \onslide<+->

  \begin{Beispiel}
    \begin{columns}
      \begin{column}{0.4\linewidth}
\begin{lstlisting}
\begin{itemize}
\item Eins
\item Zwei
\item Drei
\end{itemize}
\end{lstlisting}
      \end{column}
      \onslide<+->
      \begin{column}{0.4\linewidth}
        \begin{itemize}
        \item Eins
        \item Zwei
        \item Drei
        \end{itemize}
      \end{column}
    \end{columns}
  \end{Beispiel}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Aufzählungen}

  \onslide<+->

  \begin{Beispiel}
    \begin{columns}
      \begin{column}{0.4\linewidth}
\begin{lstlisting}
\begin{enumerate}
\item Eins
\item Zwei
\item Drei
\end{enumerate}
\end{lstlisting}
      \end{column}
      \begin{column}{0.4\linewidth}
        \begin{enumerate}[1. ]
        \item Eins
        \item Zwei
        \item Drei
        \end{enumerate}
      \end{column}
    \end{columns}

    \onslide<+->

    \begin{columns}
      \begin{column}{0.4\linewidth}
\begin{lstlisting}
\begin{description}
\item[Eins] eine Zahl
\item[Zwei] die Zahl danach
\item[Drei] noch eine Zahl
\end{description}
\end{lstlisting}
      \end{column}
      \begin{column}{0.4\linewidth}
        \hspace*{-4em}
        \parbox{\linewidth}{
          \begin{description}
          \item[Eins] eine Zahl
          \item[Zwei] die Zahl danach
          \item[Drei] noch eine Zahl
          \end{description}
        }
      \end{column}
    \end{columns}
  \end{Beispiel}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Weitere Standard-Umgebungen}

  \onslide<+->

  \begin{itemize}
  \item<+-> Zitate mittels \lstinline|quote| oder \lstinline|quotation|
\begin{lstlisting}
\begin{quote}
  ...
\end{quote}
\end{lstlisting}

  \item<+-> wortwörtlicher Text mittels \lstinline|verbatim|
\begin{lstlisting}
\begin{verbatim}
  Alles was hier steht kommt auch \so in \die Ausgabe!!
\end{verbatim}
\end{lstlisting}

  \item<+-> \lstinline!array!, \lstinline!equation!, \lstinline!figure!, \lstinline!list!,
    \lstinline!minipage!, \lstinline!picture!, \lstinline!tabbing!, \lstinline!table!,
    \lstinline!tabular!, \lstinline!thebibliography!, \lstinline!theorem!,
    \lstinline!titlepage!.
  \end{itemize}

\end{frame}


\section{Textuelles Markup}

\begin{frame}[fragile]
  \frametitle{Sonderregeln}

  \onslide<+->

  Einige Zeichenfolgen werden von \TeX\ (und damit auch von \LaTeX) speziell interpretiert:

  \begin{itemize}
  \item<+-> \lstinline!,,Hallo''! wird zu: ,,Hallo''
  \item<+-> \lstinline!``Hello''! wird zu: ``Hello''
  \item<+-> \lstinline!<<Bonjour>>! wird zu: <<Bonjour>>
  \item<+-> \lstinline!1--2! wird zu: 1--2
  \item<+-> \lstinline!thus---he thought! wird zu: thus---he thought
  \item<+-> \lstinline!%! leitet einen Kommentar ein
  \end{itemize}

  \onslide<+->

  Für Anführungsstriche ist aber das Paket \lstinline!csquotes! besser:
\begin{lstlisting}
\enquote{Ich habe das \enquote{anders} gemeint}
\end{lstlisting}
  \onslide<+->
  wird zu: \enquote{Ich habe das \enquote{anders} gemeint}.

\end{frame}

\begin{frame}[fragile]
  \frametitle{\textbf{Fett}, \textit{Kursiv} und \textsc{Ähnliches}}

  \onslide<+->

  Für das Markup einzelner Wörter oder Sätze stehen die folgenden Kommandos zur Verfügung:
  \bigskip

  \centering
  \begin{tabular}[c]{lcl}
    \lstinline!\textbf{Text}! & $\leadsto$ & \textbf{Text}\\
    \lstinline!\textsc{Text}! & $\leadsto$ & \textsc{Text}\\
    \lstinline!\emph{Text}!   & $\leadsto$ & \emph{Text}\\
    \lstinline!\textsf{Text}! & $\leadsto$ & \textsf{Text}\\
    \lstinline!\textit{Text}! & $\leadsto$ & \textit{Text}\\
    \lstinline!\textnormal{Text}! & $\leadsto$ & \textnormal{Text}\\
    \lstinline!\textrm{Text}! & $\leadsto$ & \textrm{Text}\\
    \lstinline!\textsl{Text}! & $\leadsto$ & \textsl{Text}\\
    \lstinline!\texttt{Text}! & $\leadsto$ & \texttt{Text}\\
  \end{tabular}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Schriftgröße}

  \onslide<+->

  Schriftgrößen werden \emph{logisch} angegeben:

  \onslide<+->

  \begin{center}
    \begin{tabular}[c]{cc}
      \lstinline!\tiny Text!         & \tiny Text \\
      \lstinline!\scriptsize Text!   & \scriptsize Text \\
      \lstinline!\footnotesize Text! & \footnotesize Text \\
      \lstinline!\small Text!        & \small Text \\
      \lstinline!\normalsize Text!   & \normalsize Text \\
      \lstinline!\large Text!        & \large Text \\
      \lstinline!\Large Text!        & \Large Text \\
      \lstinline!\LARGE Text!        & \LARGE Text \\
      \lstinline!\huge Text!         & \huge Text \\
      \lstinline!\Huge Text!         & \Huge Text \\
    \end{tabular}
  \end{center}

  \onslide<+->

  Manuelle Größeneinstellung auch möglich (\lstinline!graphicx!)

\end{frame}

\begin{frame}[fragile]
  \frametitle{Farben}

  \onslide<+->

  Farben werden durch das Paket \lstinline{xcolor} bereitgestellt.

  \onslide<+->

\begin{lstlisting}
\usepackage{xcolor}
\textcolor{blue}{Blauer Text}
\textcolor{green}{Grüner Text}
\textcolor{red!50!blue}{Text blau-rot gemischt}
\color{gray} Alles, was jetzt noch kommt ist grau
\end{lstlisting}

  wird zu\onslide<+->

  \textcolor{blue}{Blauer Text}
  \textcolor{green}{Grüner Text}
  \textcolor{red!50!blue}{Text blau-rot gemischt}
  \color{gray} Alles, was jetzt noch kommt ist grau

\end{frame}

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% TeX-engine: luatex
%%% ispell-local-dictionary: "de_DE"
%%% End:

%  LocalWords:  Textuelles Gliederungsstufe scrartcl scrreprt scrbook Script microtype
%  LocalWords:  Mikrotypographie geometry fontenc inputenc babel enumitem array booktabs
%  LocalWords:  listings hyperref amsmath amssymb mathtools ntheorem fragile einzug
%  LocalWords:  Quelltextformatierung Seitenumbrüche Aufzählungstypen Formelelemente
%  LocalWords:  Textformatierung Dokumentenkörper Absatzabstand Größeneinstellung
