KunterBuntesSeminar-WS10/Was ist eigentlich LaTeX/Quellcode der Folien

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
\documentclass[hyperref={pdfpagelabels=false}]{beamer}
%\documentclass[handout,hyperref={pdfpagelabels=false}]{beamer}

%\usepackage{pgfpages}
%\pgfpagesuselayout{resize to}[a4paper,border shrink=2cm,landscape]
%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=2cm]
%\pgfpagesuselayout{4 on 1}[a4paper,border shrink=1cm,landscape]
%\pgfpagesuselayout{8 on 1}[a4paper,border shrink=1cm]

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{listings}

\usepackage{beramono}

\let\Tiny=\tiny
\renewcommand{\emph}{\textbf}
\newcommand{\code}[1]{\footnotesize\texttt{#1}%
\normalsize}

\lstdefinestyle{LaTeX}
{
columns=flexible,
frame=single,
frameround=tttt,
basicstyle=\tiny\ttfamily,
}

\lstdefinestyle{LaTeX-big}
{
columns=flexible,
frame=single,
frameround=tttt,
basicstyle=\scriptsize\ttfamily,
}

\lstdefinestyle{LaTeX-big-stupid}
{
frame=single,
frameround=tttt,
basicstyle=\small,
}

% Im Original habe ich mein eigenes Theme verwendet.
\usetheme{Warsaw}

\setbeamertemplate{navigation symbols}{}
\setbeamercovered{highly dynamic}

\title{Was ist eigentlich \LaTeX{}?}
\subject{LaTeX}
\author{Julian Fietkau}
\institute{Fachschaft Informatik}
\keywords{latex, tex, dokumente}
\date[11.11.10]{11. November 2010}

\begin{document}

\pdfbookmark[2]{Titelfolie}{title}

\frame[plain]
{
  \titlepage
}

\frame
{
  \tableofcontents
}

\frame
{
  \frametitle{Organisatorisches vorweg}

  \begin{center}
    \includegraphics[width=2.5cm]{Bilder/cc}

    \includegraphics[width=2.5cm]{Bilder/cc-by-sa}

    Diese Folien sind unter CC-BY-SA 3.0 freigegeben.

    \vspace{0.2cm}

    \tiny
    Alle Illustrationen, soweit nicht anders\\ angemerkt, stammen aus dem OpenClipArt-Projekt.

    \vfill\vfill

    \normalsize
    Folien-Download und Feedback-Möglichkeit:

    \vspace{0.2cm}

    \href{http://www.julian-fietkau.de/was_ist_eigentlich_latex}{\ttfamily \scriptsize http://www.julian-fietkau.de/was\_ist\_eigentlich\_latex}
  \end{center}
}

\section{Vorwort}

\frame
{
  \frametitle{Vorwort}

  \begin{itemize}
    \item \emph{Dies ist kein "`\LaTeX{} für Anfänger"'-Kurs.}
    \item Diese Folien sind nicht (unbedingt) selbstsprechend.
    \item Dieser Vortrag ist nicht so gedacht, dass alles sofort im Kopf hängenbleibt.
    \item Lieber selbst ausprobieren und immer mal wieder denken "`hey, darüber hat Julian doch
      gesprochen"' -- und dann in den Folien nachschauen.
  \end{itemize}
}

\section{Was ist \LaTeX{}?}

\frame
{
  \begin{center}
    \includegraphics[height=6cm]{Bilder/Donald_Knuth} \\
    \tiny \mode<handout>{Donald Knuth.} Quelle: Wikimedia Commons
  \end{center}
}

\frame
{
  \frametitle{Was ist \TeX{}?}

  \begin{itemize}
    \item \emph{Textsatzsystem} mit \emph{Makrosprache}, die ebenfalls \TeX{} heißt
    \item entwickelt von Donald Knuth
  \end{itemize}
}

\frame
{
  \begin{center}
    \includegraphics[height=6cm]{Bilder/Leslie_Lamport} \\
    \tiny \mode<handout>{Leslie Lamport.} Quelle: Wikimedia Commons
  \end{center}
}

\frame
{
  \frametitle{Was ist \LaTeX{}?}

  \begin{itemize}
    \item sehr mächtiges \emph{Makropaket} für \TeX{}
    \item entwickelt von Leslie Lamport (\LaTeX{}: \emph{La}mport \TeX{})
    \item heute: \LaTeX{} uvm. enthalten in \TeX{}-Distributionen (MikTeX, TeX Live, \dots)
    \item kein WYSIWYG, sondern Code
  \end{itemize}
}

\frame
{
  \frametitle{Vergleich von \LaTeX{} mit Standard-Textverarbeitungen}

  \begin{itemize}
    \item bessere typographische Qualität (Kerning, Ligaturen, echte Kapitälchen, \dots{})
    \item angepasst an wissenschaftliche Bedürfnisse (Formelsatz, Literaturverwaltung etc.)
    \item weniger Probleme mit längeren Texten
    \item freie Software, freie Formate
  \end{itemize}

  Aber:

  \begin{itemize}
    \item einmaliger Lernaufwand
    \item außerhalb der Wissenschaften nicht sehr weit verbreitet
  \end{itemize}
}

\section{Bestandteile}

\subsection{Dokumentstruktur}

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

  \parbox[c]{5cm}
  {
    \begin{itemize}
      \item Präambel
      \begin{itemize}
        \item document class
        \item benutzte Pakete
        \item Metadaten
      \end{itemize}
      \item Dokumentinhalt
      \begin{itemize}
        \item Kapitel, Abschnitte, Unterabschnitte, Absätze
        \item Grafiken
        \item Tabellen
        \item der ganze Inhalt eben
      \end{itemize}
    \end{itemize}
  }
  \parbox[c]{6cm}
  {
    \lstinputlisting[title={\ },style=LaTeX,inputencoding={latin1}]{Listings/minimal.tex}
  }
\end{frame}

\subsection{Präambel}

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

  \parbox[c]{5cm}
  {
    \begin{itemize}
      \item Dokumentklasse
      \begin{itemize}
        \item article
        \item book
        \item letter
        \item \dots
      \end{itemize}
      \item Packages
      \begin{itemize}
        \item siehe nächste Folie :)
      \end{itemize}
      \item Metadaten
      \begin{itemize}
        \item Titel des Dokuments
        \item Autor
        \item Erscheinungsdatum
        \item ggf. Thema, Suchbegriffe etc.
      \end{itemize}
    \end{itemize}
  }
  \parbox[c]{6cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/preamble.tex}
  }
\end{frame}

\subsection{Packages}

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

  \parbox[c]{6.2cm}
  {
    \begin{itemize}
      \item inputenc: angeben, wie die \TeX{}-Datei kodiert ist
      \item fontenc: angeben, wie die Ausgabedatei kodiert werden soll
      \item babel: Sprachunterstützung (Bezeichnungen, Worttrennung)
      \item lmodern: lädt eine verbesserte T1-Version von Computer Modern (Standard-Font)
      \item graphicx: Einbinden von Grafiken (mit pdfLaTeX: JPEG, PNG, PDF)
      \item listings: Einbinden von Quellcode
    \end{itemize}
  }
  \parbox[c]{4.8cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/packages.tex}
  }
\end{frame}

\subsection{Struktur und Formatierung}

\begin{frame}[fragile]
  \frametitle{Struktur und Formatierung}

  \parbox[c]{6.2cm}
  {
    \begin{itemize}
      \item maketitle: erzeuge automatisch den Dokumentenkopf
      \item tableofcontents: erzeuge automatisch ein Inhaltsverzeichnis
      \item section, subsection: Strukturierung in Abschnitte und Unterabschnitte
      \item emph, textbf, textit, texttt: Textformatierung
      \item itemize: unnummerierte Aufzählungen
    \end{itemize}
  }
  \parbox[c]{4.6cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/structure-and-formatting.tex}
  }
\end{frame}

\subsection{Mathe}

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

  \parbox[c]{5.7cm}
  {
    \begin{itemize}
      \item zwischen \$-Zeichen eingeschlossenes wird als Formeln interpretiert
      \item dort gelten andere Regeln
      \begin{itemize}
        \item neue Befehle
        \item andere Formatierungen
      \end{itemize}
    \end{itemize}
  }
  \parbox[c]{5.2cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/math.tex}
    $x_{1/2} = -\frac{p}{2} 
  \pm \sqrt{\frac{p^2}{4}-q}$
  }
\end{frame}

\section{Wichtige Erweiterungen}

\subsection{KOMA-Script}

\begin{frame}[fragile]
  \frametitle{KOMA-Script}

  \parbox[c]{6.0cm}
  {
    \begin{itemize}
      \item die Standardklassen gehen von US-Normen (Papiergröße etc.) aus
      \item deshalb gibt es die KOMA-Klassen, die flexibler, neuer und besser sind
      \item sie kümmern sich um Schriftsatz, Ränder, Papiergröße und mehr
      \item \emph{scrguide.pdf}
    \end{itemize}
  }
  \parbox[c]{5cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/koma.tex}
  }
\end{frame}

\subsection{\LaTeX{}-Beamer}

\begin{frame}[fragile]
  \frametitle{\LaTeX{}-Beamer}

  \parbox[c]{6.0cm}
  {
    \begin{itemize}
      \item man kann auch Präsentationsfolien machen
      \begin{itemize}
        \item die können dann z.B. so aussehen wie diese hier ;)
      \end{itemize}
      \item die bekannte \LaTeX{}-Dokumentstruktur wird auf Folien angewendet
      \item außerdem gibt es viele neue, spezielle Befehle
      \item eine Vielzahl an \{Color/Font/Inner/Outer\} Themes existiert
      \item \emph{beameruserguide.pdf}
    \end{itemize}
  }
  \parbox[c]{5cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/beamer.tex}
  }
\end{frame}

\subsection{Bib\TeX{}}

\begin{frame}[fragile]
  \frametitle{Bib\TeX{}}

  \parbox[c]{6.0cm}
  {
    \begin{itemize}
      \item Literaturverwaltung mit \TeX{}
      \item mal stellt eine Literaturdatenbank mit allen relevanten Inhalten zusammen
      \item im Text referenziert man die Werke (mittels \code{cite})
      \item Style-Definitionen kümmern sich automatisch darum, wie das ganze später aussieht
      \item i.d.R. werden in der Literaturliste nur die Werke abgedruckt, die im Text auch tatsächlich zitiert wurden
      \item \emph{btxFAQ.pdf}
    \end{itemize}
  }
  \hfill
  \parbox[c]{5cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/bibtex1.tex}
    \vspace{-0.8cm}
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/bibtex2.tex}
  }
\end{frame}

\section{Tipps und Tricks}

\frame
{
  \begin{center}
    \Large
    Es folgt eine Reihe von Tricks und Kniffen\\ aus meiner Erfahrung mit \LaTeX{}.
  \end{center}
}

\begin{frame}[fragile]
  \frametitle{Hilfen für Bib\TeX{}}

  \begin{itemize}
    \item Man kann/sollte/darf zum Erstellen einer Literaturdatenbank ein externes Programm benutzen. Ich nehme JabRef.
    \item Online-Bibliotheken etc. haben häufig einen "`Bib\TeX{} für dieses Buch"'-Button.
      \begin{itemize}
        \item Wikipedia: Werkzeuge $\rightarrow$ Seite zitieren
      \end{itemize}
    \item Es gibt Styles, die DIN-normierte, korrekte deutsche Literaturverzeichnisse ausspucken (google "`din1505 ctan"').
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Nicht-grausige Code-Listings}

  \begin{itemize}
    \item Eigene Boxes für jedes Zeichen (Listings-Standard) machen Code hässlich und außerdem nicht copy-paste-bar.
    \item Stattdessen: vernünftigen Monospace-Font benutzen! (mein Tipp: \code{\textbackslash usepackage\{beramono\}})
    \item \emph{listings.pdf}
  \end{itemize}

  \parbox[c]{5.0cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big-stupid,inputencoding={latin1}]{Listings/listingstyle.tex}
  }
  \hfill
  \parbox[c]{5cm}
  {
    \lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/listingstyle.tex}
  }
\end{frame}

\begin{frame}[fragile]
  \frametitle{Tipps für Beamer-Folien}

  \begin{itemize}[<+->]
    \item zum schrittweisen Einblenden von Aufzählungen: \code{\textbackslash begin\{itemize\}[<+->]}
    \item um noch nicht aufgedeckte Teile halbtransparent anzuzeigen: \code{\textbackslash setbeamercovered\{transparent\}} o.Ä.
    \item für eine Druckversion der Folien: \code{\textbackslash documentclass[handout]\{beamer\}}
    \item noch ausgefeilter - Anfang meiner bewährten Beamer-Präambel:
  \end{itemize}
  \vspace{-.5cm}
  \visible<4->{\lstinputlisting[title={\ },style=LaTeX-big,inputencoding={latin1}]{Listings/beamer-preamble.tex}}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Allgemeine Tipps}

  \begin{itemize}
    \item wichtige Positionierungshilfen: \code{\textbackslash hfill} und \code{\textbackslash vfill}
    \item für FGI-Aufgaben unerlässlich: \code{overset}, z.B.:
      \code{\$\textbackslash overset\{a\}\{\textbackslash longrightarrow\}\$} \hspace{2em} $\overset{a}{\longrightarrow}$
    \item für gute Kopf- und Fußzeilen: \code{fancyhdr} nachschlagen
  \end{itemize}
\end{frame}

\section*{\ }

\frame
{
  \begin{center}
    \huge
    Einen Blick in meine Dokumente werfen?
  \end{center}
}

\mode<beamer>

\section*{Ende}

\frame
{
  \begin{center}
    \Huge Danke für die Aufmerksamkeit!
    \vfill
    \includegraphics[width=3cm]{Bilder/face-smile}
  \end{center}
}

\addtocounter{framenumber}{-1}

\mode<all>

\end{document}