diff --git a/aufbaukurs.tex b/aufbaukurs.tex index 256dc34..001cb3a 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -78,417 +78,31 @@ \end{itemize} \end{frame} -\input{about-me} -\begin{frame}{Wer seid ihr?} - \begin{itemize} - \item Name - \item Fakultät? Was macht ihr da? - \item Schon von \LaTeX{} gehört oder etwas damit gemacht? - \item Was stört dich am meisten an traditionellen Textverarbeitungsprogrammen? - \item Nächste (wissenschaftliche) Arbeit, die du vielleicht mit \LaTeX{} schreiben möchtest? - \end{itemize} -\end{frame} +\input{chapters/about-me} -\begin{frame}{Materialien für den Kurs} - \begin{itemize} - \item Dieser Foliensatz - \item Kleine Vorlagen zum Mitmachen - \item Dokumente, die wir im Laufe des Kurses erstellen - \bigskip - \item wird alles im geteilten Ordner hochgeladen - \end{itemize} -\end{frame} +\input{chapters/introduction.tex} \begin{frame}{Inhalt} \tableofcontents \end{frame} -\section{Tabellen} +\input{chapters/tables} -\begin{frame}{Setzen von Tabellen} - \begin{itemize} - \item Tabellen haben eigene Syntax in \LaTeX - \item Ausrichtung einzelner Spalten kann individuell festgelegt werden - \item Linien können für jede Spalte/Zeile individuell festgelegt werden - \end{itemize} -\end{frame} +\input{chapters/further-listofs} -\begin{frame}[fragile]{Beispieltabelle} - \begin{columns} - \begin{column}{.49\textwidth} - \input{codebeispiele/table-simple.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/table-simple.tex} - \end{column} - \end{columns} -\end{frame} +\input{chapters/abbreviations} -\begin{frame}[fragile]{Setzen von Tabellen} - \begin{itemize} - \item Spaltentrennung - \begin{itemize} - \item Spalten werden in jeder Zeile durch \verb|&| getrennt - \item muss nicht zwingend untereinander stehen, sieht aber aufgeräumt im Code aus $\rightarrow$ hat keine Auswirkung auf die Formatierung der Tabelle - \end{itemize} - \item Zeilentrennung - \begin{itemize} - \item jede Zeile endet \emph{zwingend} mit \verb|\\| - \item Linie wird mit \verb|\hline| erstellt - \item muss zwischen allen Zeilen gesetzt werden, wo eine Linie auftauchen soll - \end{itemize} - \item Zweiter Parameter - \begin{itemize} - \item gibt an, wie viele Spalten es gibt und wie sie ausgerichtet sind - \begin{itemize} - \item \verb|c| -- centered - \item \verb|l| -- left - \item \verb|r| -- right - \end{itemize} - \item \verb/|/ gibt an, ob die Spalten durch eine Linie getrennt werden sollen - \end{itemize} - \end{itemize} -\end{frame} +\input{chapters/glossary} -\begin{frame}[fragile]{Beschriftung einer Tabelle} - \begin{columns} - \begin{column}{.45\textwidth} - \input{codebeispiele/table-float.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/table-float.tex} - \end{column} - \end{columns} - \vspace{1em} - \begin{itemize} - \centering - \item gleiche Platzierungsregeln wie bei anderen Floats gelten - \end{itemize} -\end{frame} +\input{chapters/todonotes} +\input{chapters/books} -\begin{frame}[fragile]{Einschränkungen von tabular} - \begin{itemize} - \item Wenn der Text zu lang ist, wird kein Zeilenumbruch gesetzt - \begin{itemize} - \item Abhilfe: Spalte mit \verb|p{...cm}| deklarieren oder - \item \verb|\usepackage{tabularx}| - \end{itemize} - \item Tabellen mit \verb|tabular| können keine Seitenumbrüche - \begin{itemize} - \item Lange Tabellen werden am Ende der Seite einfach abgeschnitten - \item Lösung: \verb|longtable| - \end{itemize} - \end{itemize} -\end{frame} +\input{chapters/presentations} -\begin{frame}[fragile]{tabularx} - \begin{columns} - \begin{column}{.35\textwidth} - \input{codebeispiele/table-tabularx.tex} - \end{column} - \begin{column}{.55\textwidth} - \inputminted{latex}{codebeispiele/table-tabularx.tex} - \end{column} - \end{columns} -\end{frame} +\input{chapters/diagrams} -\begin{frame}[fragile]{longtable} - \inputminted{latex}{codebeispiele/table-longtable.tex} -\end{frame} - -\begin{frame}{Beispiel für longtable} - \input{codebeispiele/table-longtable.tex} -\end{frame} - -\section{Weitere Verzeichnisse} - -\begin{frame}[fragile]{Weitere Verzeichnisse} - \begin{itemize} - \item automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für Abbildungen, Codelistings (Abkürzungen, Stichwörter, Bibliographie, \dots) - \end{itemize} - \inputminted{latex}{codebeispiele/list-of-everything.tex} -\end{frame} - -\subsection{Abkürzungen} - -\begin{frame}{Abkürzungen mit acro} - \begin{itemize} - \item Liste von Abkürzungen mit ihrer langen Form - \item automatisches Einfügen der richtigen Form - \begin{itemize} - \item lange Form beim ersten Auftreten - \item Abkürzung sonst - \item manuell überschreibbar - \end{itemize} - \item Pluralformen in Abkürzung und langer Form - \item automatisches Verzeichnis der verwendeten Abkürzungen - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Einrichtung des Pakets} - \inputminted{latex}{codebeispiele/acro-setup.tex} -\end{frame} - -\begin{frame}[fragile]{Benutzte Abkürzungen in den Beispielen} - \inputminted{latex}{codebeispiele/acro-used-acronyms.tex} -\end{frame} - -\begin{frame}[fragile]{Setzen von Abkürzungen} - \begin{columns} - \begin{column}{.49\textwidth} - \input{codebeispiele/acro-usage.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/acro-usage.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Setzen von Abkürzungen} - \begin{itemize} - \item in den meisten Fällen reicht \verb|\ac| - \item für Großschreibung (wie an Satzanfängen) ein großes \verb|A| in den Befehlen verwenden: \verb|\Ac| - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Besonderheiten in deutschen Texten -- Pluralformen} - \begin{itemize} - \item Pluralform nicht mit 's' gebildet - \end{itemize} - \inputminted[firstline=8,lastline=8]{latex}{codebeispiele/acro-used-acronyms.tex} - \vspace{2em} - \begin{columns} - \begin{column}{.49\textwidth} - \input{codebeispiele/acro-german-plurals.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/acro-german-plurals.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Besonderheiten in deutschen Texten -- Übersetzungen} - geläufige englische Abkürzung für deutschen Begriff - \inputminted[firstline=3,lastline=7]{latex}{codebeispiele/acro-used-acronyms.tex} - \input{codebeispiele/acro-german.tex} -\end{frame} - -\begin{frame}[fragile]{Besonderheiten in deutschen Texten -- Abweichender Kasus in langer Form} - \begin{itemize} - \item Bei langer Form bei der ersten Erwähnung wird das Wort in einem anderen Kasus benötigt - \item Trick: Pluralform missbrauchen - \end{itemize} - \inputminted[firstline=9,lastline=12]{latex}{codebeispiele/acro-used-acronyms.tex} - \vspace{2em} - \begin{columns} - \begin{column}{.49\textwidth} - \input{codebeispiele/acro-german-different-case.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/acro-german-different-case.tex} - \end{column} - \end{columns} -\end{frame} - -\subsection{Glossar} - -\begin{frame}{Glossar mit glossaries} - \begin{itemize} - \item Liste von Wörtern mit ihren Erklärungen - \item im Text wird Wort (mit Link auf das Glossar) gesetzt - \item Glossar enthält alle benutzten Wörter und ihre Erklärungen - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Einrichtung des Pakets} - \inputminted{latex}{codebeispiele/glossaries-setup.tex} -\end{frame} - -\begin{frame}[fragile]{Setzen eines Wortes aus dem Glossar} - \begin{columns} - \begin{column}{.49\textwidth} - \input{codebeispiele/glossaries-usage.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/glossaries-usage.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}{Resultierendes Glossar} - %\minted{latex}{\printglossary} - \printglossary -\end{frame} - -\begin{frame}[fragile]{Besonderheit beim Kompilieren} - \begin{itemize} - \item Erstellung des Glossars geschieht mittels externem Befehl (ähnlich wie bei Literaturverzeichnissen) - \item \verb|> makeglossaries | - \vspace{1em} - \item alternativ: anstatt \verb|\makeglossaries| \verb|\makenoidxglossaries| nutzen - \item dann wird Sortierung intern gemacht (langsamer) - \item zum Anzeigen des Glossars dann \verb|\printnoidxglossaries| - \end{itemize} -\end{frame} - -\subsection{ToDos} - -\begin{frame}[fragile]{ToDo-Notes} - \begin{itemize} - \item Kennzeichen im Code, wo noch etwas gemacht werden muss - \item Geben auch im Dokument den Hinweis, dass noch etwas gemacht werden muss - \item Beschreibungstext ermöglicht erklärenden Text - \end{itemize} - \inputminted{latex}{codebeispiele/todonotes.tex} -\end{frame} - -\section{Die Dokumentenklasse scrbook} - -\begin{frame}[fragile]{Bücher?} - \begin{itemize} - \item nicht nur geeignet für Bücher - \item kann auch für Abschlussarbeiten verwendet werden, besonders wenn diese gedruckt werden - \item weist bestimmte Besonderheiten im Gegensatz zu z.\,B. \verb|scrartcl| auf - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Besonderheiten der Klasse scrbook} - \begin{itemize} - \item neue Überschriftsebene \verb|chapter| - \item zweiseitiges Layout - \begin{itemize} - \item Seitenzahlen immer außen - \item Kapitel beginnen immer auf einer rechten Seite - \end{itemize} - \item Gliederung in Abschnitte \verb|\frontmatter| \verb|\mainmatter| \verb|\backmatter| - \begin{itemize} - \item \verb|\frontmatter| römische Seitenzahlen - \item \verb|\mainmatter| und \verb|\backmatter| arabische Seitenzahlen - \end{itemize} - \end{itemize} -\end{frame} - -\section{Präsentationen} - -\begin{frame}[fragile]{Präsentationen} - \begin{itemize} - \item Dokumentenklasse \verb|beamer| - \item Präsentation besteht aus einer Abfolge von Folien - \inputminted{latex}{codebeispiele/beamer-frame.tex} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Präsentationen -- Besonderheiten} - \begin{itemize} - \item \verb|\section| oder \verb|\subsection| erstellen einzelne Folien mit den Überschriften - \item \verb|\maketitle| erstellt Titelfolie - \item zu langer Inhalt verschiebt sich nicht automatisch auf die nächste Folie - \item Für Listings oder \verb|verbatim| muss der Frame als \verb|fragile| gekennzeichnet werden - \inputminted{latex}{codebeispiele/frame-fragile.tex} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{"Animationen" -- Overlays} - \begin{itemize} - \item PDF kann keine bewegten Animationen - \item aber Aufzählungspunkte oder anderer Inhalt kann nacheinander eingeblendet werden - \item jedes Overlay wird auf einer neuen PDF-Seite angezeigt - \inputminted{latex}{codebeispiele/beamer-overlays.tex} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Themes} - \begin{itemize} - \item Klassische Themes in der \href{https://hartwork.org/beamer-theme-matrix/}{Beamer Theme Matrix} - \item Modernes Theme (auch in dieser Präsentation): \href{https://ctan.org/pkg/beamertheme-metropolis}{Metropolis} - \begin{itemize} - \item Moderne Font (wenn mit Xe\LaTeX{} oder Lua\LaTeX{} kompiliert wird) - \item kann optional einen Fortschrittsbalken anzeigen - \item Einstellungen mit \verb|\metroset| - \end{itemize} - \end{itemize} -\end{frame} - -\section{Diagramme} - -\begin{frame}[fragile]{Einbinden von pgfplots} - \begin{itemize} - \item Einbinden mit \verb|\usepackage| - \item Setzen der Version sehr empfohlen - \begin{itemize} - \item Garantiert gleiches Verhalten auch mit späteren Versionen von pgfplots - \item kann in neuen Dokumenten auf neue Version gesetzt werden (aktuell 1.18) - \end{itemize} - \end{itemize} - \inputminted{latex}{codebeispiele/pgfplots-setup.tex} -\end{frame} - -\begin{frame}[fragile]{Diagramme mit pgfplots} - \begin{columns} - \begin{column}{.49\textwidth} - \input{codebeispiele/pgfplots.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/pgfplots.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Syntax von pgfplots} - \begin{itemize} - \item Plot liegt immer in \verb|\tikzpicture| und \verb|axis| - \item Plot hinzufügen mit \verb|\addplot| - \item Plot endet mit \verb|;| - \item Achsen und Plots haben sehr viele Optionen, es gibt aber Defaults - \end{itemize} -\end{frame} - -\begin{frame}{Plots aus Daten} - \only<1>{ - \begin{columns} - \begin{column}{.3\textwidth} - \inputminted{text}{codebeispiele/pgfplots-data.dat} - \end{column} - \begin{column}{.6\textwidth} - \inputminted{latex}{codebeispiele/pgfplots-plot-data.tex} - \end{column} - \end{columns} - } - \only<2>{ - \centering - \input{codebeispiele/pgfplots-plot-data.tex} - } -\end{frame} - -\begin{frame}{Säulendiagramme} - \only<1>{ - \begin{columns} - \begin{column}{.3\textwidth} - \inputminted{text}{codebeispiele/pgfplots-bars.dat} - \end{column} - \begin{column}{.6\textwidth} - \inputminted{latex}{codebeispiele/pgfplots-bar-chart.tex} - \end{column} - \end{columns} - } - \only<2>{ - \centering - \input{codebeispiele/pgfplots-bar-chart.tex} - } -\end{frame} - -\section{Ausblick} - -\begin{frame}{Nächste Projekte für \LaTeX{}?} - \begin{itemize} - \item Wissenschaftliches Dokumentieren - \item Praxissemesterbericht - \item Thesis - \bigskip - \item Bewerbungsunterlagen - \end{itemize} -\end{frame} +\input{chapters/closing.tex} \begin{frame}{Vorlage} \begin{itemize} @@ -501,34 +115,6 @@ \end{itemize} \end{frame} -\begin{frame}[fragile]{Bewerbungsunterlagen} - \begin{columns} - \column{.5\textwidth} - \centering - \begin{itemize} - \item Lebenslauf mit \verb|moderncv| - \end{itemize} - \includegraphics[height=.7\textheight]{Lebenslauf} - \column{.5\textwidth} - \centering - \begin{itemize} - \item Anschreiben mit \verb|dinbrief| - \end{itemize} - \includegraphics[height=.7\textheight]{Anschreiben} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Wohin bei Problemen?} - \begin{itemize} - \item \verb|texdoc | - \item Suchmaschine des Vertrauens - \item \href{https://de.wikibooks.org/wiki/LaTeX-Kompendium}{\LaTeX-Kompendium} - \item \href{https://www.overleaf.com/learn}{Overleaf documentation} - \item \href{https://golatex.de/wiki/index.php/Hauptseite}{Go\LaTeX-Wiki} - \item \href{https://tex.stackexchange.com}{\TeX-Stackexchange} - \end{itemize} -\end{frame} - \maketitle \end{document} diff --git a/chapters/abbreviations.tex b/chapters/abbreviations.tex new file mode 100644 index 0000000..9d0540f --- /dev/null +++ b/chapters/abbreviations.tex @@ -0,0 +1,80 @@ +\subsection{Abkürzungen} + +\begin{frame}{Abkürzungen mit acro} + \begin{itemize} + \item Liste von Abkürzungen mit ihrer langen Form + \item automatisches Einfügen der richtigen Form + \begin{itemize} + \item lange Form beim ersten Auftreten + \item Abkürzung sonst + \item manuell überschreibbar + \end{itemize} + \item Pluralformen in Abkürzung und langer Form + \item automatisches Verzeichnis der verwendeten Abkürzungen + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Einrichtung des Pakets} + \inputminted{latex}{codebeispiele/acro-setup.tex} +\end{frame} + +\begin{frame}[fragile]{Benutzte Abkürzungen in den Beispielen} + \inputminted{latex}{codebeispiele/acro-used-acronyms.tex} +\end{frame} + +\begin{frame}[fragile]{Setzen von Abkürzungen} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/acro-usage.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/acro-usage.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Setzen von Abkürzungen} + \begin{itemize} + \item in den meisten Fällen reicht \verb|\ac| + \item für Großschreibung (wie an Satzanfängen) ein großes \verb|A| in den Befehlen verwenden: \verb|\Ac| + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Besonderheiten in deutschen Texten -- Pluralformen} + \begin{itemize} + \item Pluralform nicht mit 's' gebildet + \end{itemize} + \inputminted[firstline=8,lastline=8]{latex}{codebeispiele/acro-used-acronyms.tex} + \vspace{2em} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/acro-german-plurals.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/acro-german-plurals.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Besonderheiten in deutschen Texten -- Übersetzungen} + geläufige englische Abkürzung für deutschen Begriff + \inputminted[firstline=3,lastline=7]{latex}{codebeispiele/acro-used-acronyms.tex} + \input{codebeispiele/acro-german.tex} +\end{frame} + +\begin{frame}[fragile]{Besonderheiten in deutschen Texten -- Abweichender Kasus in langer Form} + \begin{itemize} + \item Bei langer Form bei der ersten Erwähnung wird das Wort in einem anderen Kasus benötigt + \item Trick: Pluralform missbrauchen + \end{itemize} + \inputminted[firstline=9,lastline=12]{latex}{codebeispiele/acro-used-acronyms.tex} + \vspace{2em} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/acro-german-different-case.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/acro-german-different-case.tex} + \end{column} + \end{columns} +\end{frame} diff --git a/about-me.tex b/chapters/about-me.tex similarity index 100% rename from about-me.tex rename to chapters/about-me.tex diff --git a/chapters/books.tex b/chapters/books.tex new file mode 100644 index 0000000..9d9c1f3 --- /dev/null +++ b/chapters/books.tex @@ -0,0 +1,26 @@ +\section{Die Dokumentenklasse scrbook} + +\begin{frame}[fragile]{Bücher?} + \begin{itemize} + \item nicht nur geeignet für Bücher + \item kann auch für Abschlussarbeiten verwendet werden, besonders wenn diese gedruckt werden + \item weist bestimmte Besonderheiten im Gegensatz zu z.\,B. \verb|scrartcl| auf + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Besonderheiten der Klasse scrbook} + \begin{itemize} + \item neue Überschriftsebene \verb|chapter| + \item zweiseitiges Layout + \begin{itemize} + \item Seitenzahlen immer außen + \item Kapitel beginnen immer auf einer rechten Seite + \end{itemize} + \item Gliederung in Abschnitte \verb|\frontmatter| \verb|\mainmatter| \verb|\backmatter| + \begin{itemize} + \item \verb|\frontmatter| römische Seitenzahlen + \item \verb|\mainmatter| und \verb|\backmatter| arabische Seitenzahlen + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/chapters/closing.tex b/chapters/closing.tex new file mode 100644 index 0000000..a3b66a8 --- /dev/null +++ b/chapters/closing.tex @@ -0,0 +1,50 @@ +\section{Ausblick} + +\begin{frame}{Was kann \LaTeX{} noch?} + \begin{itemize} + \item Präsentationen + \item Zeichnen mit TikZ + \item Plotting mit pgfPlots + \item Chemische Formeln mit chemfig + \bigskip + \item Mathesyntax in vielen anderen Programmen + \end{itemize} +\end{frame} + +\begin{frame}{Nächste Projekte für \LaTeX{}?} + \begin{itemize} + \item Wissenschaftliches Dokumentieren + \item Praxissemesterbericht + \item Thesis + \bigskip + \item Bewerbungsunterlagen + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Bewerbungsunterlagen} + \begin{columns} + \column{.5\textwidth} + \centering + \begin{itemize} + \item Lebenslauf mit \verb|moderncv| + \end{itemize} + \includegraphics[height=.7\textheight]{Lebenslauf} + \column{.5\textwidth} + \centering + \begin{itemize} + \item Anschreiben mit \verb|dinbrief| + \end{itemize} + \includegraphics[height=.7\textheight]{Anschreiben} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Wohin bei Problemen?} + \begin{itemize} + \item \verb|texdoc | + \item Suchmaschine des Vertrauens + \item \href{https://de.wikibooks.org/wiki/LaTeX-Kompendium}{\LaTeX-Kompendium} + \item \href{https://www.overleaf.com/learn}{Overleaf documentation} + \item \href{https://golatex.de/wiki/index.php/Hauptseite}{Go\LaTeX-Wiki} + \item \href{https://tex.stackexchange.com}{\TeX-Stackexchange} + \end{itemize} +\end{frame} diff --git a/chapters/diagrams.tex b/chapters/diagrams.tex new file mode 100644 index 0000000..7574920 --- /dev/null +++ b/chapters/diagrams.tex @@ -0,0 +1,68 @@ +\section{Diagramme} + +\begin{frame}[fragile]{Einbinden von pgfplots} + \begin{itemize} + \item Einbinden mit \verb|\usepackage| + \item Setzen der Version sehr empfohlen + \begin{itemize} + \item Garantiert gleiches Verhalten auch mit späteren Versionen von pgfplots + \item kann in neuen Dokumenten auf neue Version gesetzt werden (aktuell 1.18) + \end{itemize} + \end{itemize} + \inputminted{latex}{codebeispiele/pgfplots-setup.tex} +\end{frame} + +\begin{frame}[fragile]{Diagramme mit pgfplots} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/pgfplots.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/pgfplots.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Syntax von pgfplots} + \begin{itemize} + \item Plot liegt immer in \verb|\tikzpicture| und \verb|axis| + \item Plot hinzufügen mit \verb|\addplot| + \item Plot endet mit \verb|;| + \item Achsen und Plots haben sehr viele Optionen, es gibt aber Defaults + \end{itemize} +\end{frame} + +\begin{frame}{Plots aus Daten} + \only<1>{ + \begin{columns} + \begin{column}{.3\textwidth} + \inputminted{text}{codebeispiele/pgfplots-data.dat} + \end{column} + \begin{column}{.6\textwidth} + \inputminted{latex}{codebeispiele/pgfplots-plot-data.tex} + \end{column} + \end{columns} + } + \only<2>{ + \centering + \input{codebeispiele/pgfplots-plot-data.tex} + } +\end{frame} + +\begin{frame}{Säulendiagramme} + \only<1>{ + \begin{columns} + \begin{column}{.3\textwidth} + \inputminted{text}{codebeispiele/pgfplots-bars.dat} + \end{column} + \begin{column}{.6\textwidth} + \inputminted{latex}{codebeispiele/pgfplots-bar-chart.tex} + \end{column} + \end{columns} + } + \only<2>{ + \centering + \input{codebeispiele/pgfplots-bar-chart.tex} + } +\end{frame} + diff --git a/chapters/external-files.tex b/chapters/external-files.tex new file mode 100644 index 0000000..8fd5a6a --- /dev/null +++ b/chapters/external-files.tex @@ -0,0 +1,23 @@ +\section{Externe Dateien} + +\begin{frame}[fragile]{Externe Dateien einbinden -- SVG} + \begin{itemize} + \item Nicht nativ möglich -- \LaTeX{} nutzt für Vektorgraphiken PDF + \item Pakete ermöglichen jedoch automatische Konvertierung + \item Nutzt dafür Inkscape und ImageMagick (\verb|convert|) + \item dafür ist wieder die Option \verb|-shell-escape| nötig! + \inputminted{latex}{codebeispiele/include-svg.tex} + \item Alternativ Vektordateien direkt als PDF bereitstellen und mit \verb|\includegraphics| einbinden + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Externe Dateien einbinden -- PDF} + \begin{itemize} + \item PDF-Dateien als ganze Seiten einfügen (bspw. externe Dokumente im Anhang) + \only<1>{\inputminted[lastline=6]{latex}{codebeispiele/include-pdf.tex}} + \only<2>{ + \item PDF zum Inhaltsverzeichnis hinzufügen + \inputminted[firstline=8]{latex}{codebeispiele/include-pdf.tex} + } + \end{itemize} +\end{frame} diff --git a/chapters/formatting.tex b/chapters/formatting.tex new file mode 100644 index 0000000..dedfedd --- /dev/null +++ b/chapters/formatting.tex @@ -0,0 +1,50 @@ +\section{Dokumentformatierung} + +\begin{frame}[fragile]{Formatierungsoptionen} + \begin{itemize} + \item Papierformat + \begin{itemize} + \item wird in den Optionen zur Dokumentenklasse gesetzt + \item A4: \verb|a4paper| + \item A5: \verb|a5paper| + \item Letter: \verb|letterpaper| + \end{itemize} + \item Seitenränder + \begin{itemize} + \item Mit Geometry-Paket + \inputminted{latex}{codebeispiele/geometry.tex} + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Querformat} + \begin{itemize} + \item Gesamtes Dokument im Querformat + \begin{minted}{latex} +\documentclass[a4paper,landscape]{...} + \end{minted} + \item Einzelne Seiten im Querformat (nützlich für große Tabellen oder breite Abbildungen) + \inputminted{latex}{codebeispiele/landscape.tex} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Header und Footer} + \begin{itemize} + \item Kopf- und Fußzeilen können mit \verb|scrlayer-scrpage| konfiguriert werden + \item Dafür muss der Style \verb|\pagestyle{scrheadings}| genutzt werden + \item Inhalt der Zeilen wird dann mit + \begin{itemize} + \item \verb|ihead| bzw. \verb|ifoot| (inner) + \item \verb|chead| bzw. \verb|cfoot| (center) + \item \verb|ohead| bzw. \verb|ofoot| (outer) + \end{itemize} + beschrieben + \item Bei zweiseitigen Layouts ist \verb|outer| am Rand der Seite und \verb|inner| an der Buchfalz + \item \verb|\pagemark| enthält die aktuelle Seite + \item Mit \verb|\pagestyle{empty}| werden keine Kopf- und Fußzeilen angezeigt + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Header und Footer -- Beispiel} + \inputminted{latex}{codebeispiele/header-footer.tex} +\end{frame} diff --git a/chapters/further-listofs.tex b/chapters/further-listofs.tex new file mode 100644 index 0000000..b8c86df --- /dev/null +++ b/chapters/further-listofs.tex @@ -0,0 +1,8 @@ +\section{Weitere Verzeichnisse} + +\begin{frame}[fragile]{Weitere Verzeichnisse} + \begin{itemize} + \item automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für Abbildungen, Codelistings (Abkürzungen, Stichwörter, Bibliographie, \dots) + \end{itemize} + \inputminted{latex}{codebeispiele/list-of-everything.tex} +\end{frame} diff --git a/chapters/glossary.tex b/chapters/glossary.tex new file mode 100644 index 0000000..82c9657 --- /dev/null +++ b/chapters/glossary.tex @@ -0,0 +1,40 @@ +\subsection{Glossar} + +\begin{frame}{Glossar mit glossaries} + \begin{itemize} + \item Liste von Wörtern mit ihren Erklärungen + \item im Text wird Wort (mit Link auf das Glossar) gesetzt + \item Glossar enthält alle benutzten Wörter und ihre Erklärungen + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Einrichtung des Pakets} + \inputminted{latex}{codebeispiele/glossaries-setup.tex} +\end{frame} + +\begin{frame}[fragile]{Setzen eines Wortes aus dem Glossar} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/glossaries-usage.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/glossaries-usage.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}{Resultierendes Glossar} + %\minted{latex}{\printglossary} + \printglossary +\end{frame} + +\begin{frame}[fragile]{Besonderheit beim Kompilieren} + \begin{itemize} + \item Erstellung des Glossars geschieht mittels externem Befehl (ähnlich wie bei Literaturverzeichnissen) + \item \verb|> makeglossaries | + \vspace{1em} + \item alternativ: anstatt \verb|\makeglossaries| \verb|\makenoidxglossaries| nutzen + \item dann wird Sortierung intern gemacht (langsamer) + \item zum Anzeigen des Glossars dann \verb|\printnoidxglossaries| + \end{itemize} +\end{frame} diff --git a/chapters/graphics-floats.tex b/chapters/graphics-floats.tex new file mode 100644 index 0000000..64aa839 --- /dev/null +++ b/chapters/graphics-floats.tex @@ -0,0 +1,48 @@ +\subsection{Abbildungen und Gleitobjekte} + +\begin{frame}[fragile]{Abbildungen und Graphiken} + \begin{itemize} + \item Paket \verb|graphicx| + \item Unterstützung von jpg, png und pdf, Dateiendung kann weggelassen werden + \item Höhe und Breite als optionale Parameter + \begin{itemize} + \item \verb|\textwidth| oder \verb|textheight| + \end{itemize} + \item + \begin{minted}{latex} +\includegraphics[width=.5\textwidth]{} + \end{minted} + \end{itemize} + \begin{center} + \includegraphics[height=.5\textheight]{katze} + \end{center} +\end{frame} + +\begin{frame}{Graphiken als Gleitobjekt} + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/graphics-figure} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/graphics-figure.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Gleitobjekte} + \begin{itemize} + \item können für Graphiken, Tabellen, Codelistings, etc. verwendet werden + \item Automatische Positionierung im Text -- leider nicht immer so wie gewünscht + \item daher Beeinflussung der Positionierung über verschiedene Parameter + \begin{itemize} + \item \verb|t|: oben an der Seite + \item \verb|b|: unten an der Seite + \item \verb|h|: \emph{ungefähr} die gleiche Stelle wie im Sourcecode + \item \verb|H|: \emph{genau} an der gleichen Stelle wie im Sourcecode + \item \verb|!|: überschreibt \LaTeX{}s interne Platzierungslogik + \end{itemize} + \item \verb|\begin{figure}[]\end{figure}| + \item meine Empfehlung: nicht zu sehr erzwingen, dass Text und Abbildungen direkt beieinander sind + \item wenn der "Abstand" zu groß wird, \verb|h| hinzufügen + \end{itemize} +\end{frame} diff --git a/chapters/introduction.tex b/chapters/introduction.tex new file mode 100644 index 0000000..fd3ff88 --- /dev/null +++ b/chapters/introduction.tex @@ -0,0 +1,19 @@ +\begin{frame}{Wer seid ihr?} + \begin{itemize} + \item Name + \item Fakultät? Was macht ihr da? + \item Schon von \LaTeX{} gehört oder etwas damit gemacht? + \item Was stört dich am meisten an traditionellen Textverarbeitungsprogrammen? + \item Nächste (wissenschaftliche) Arbeit, die du vielleicht mit \LaTeX{} schreiben möchtest? + \end{itemize} +\end{frame} + +\begin{frame}{Materialien für den Kurs} + \begin{itemize} + \item Dieser Foliensatz + \item Kleine Vorlagen zum Mitmachen + \item Dokumente, die wir im Laufe des Kurses erstellen + \bigskip + \item wird alles im geteilten Ordner hochgeladen + \end{itemize} +\end{frame} diff --git a/chapters/latex-code.tex b/chapters/latex-code.tex new file mode 100644 index 0000000..634e91e --- /dev/null +++ b/chapters/latex-code.tex @@ -0,0 +1,40 @@ +\begin{frame}{Wie sieht \LaTeX-Code aus?} + \pdfpcnote{ + - Befehle werden mit \ angegeben + - Parameter mit {} + - Einrückung hilft bei Lesbarkeit, ist nicht notwendig + - Beginn und Ende + - normaler Text + } + \inputminted{latex}{codebeispiele/beispiel.tex} +\end{frame} + +\begin{frame}{Grundlegender Aufbau} + \pdfpcnote{ + - Dokumentenklasse (book, article, report) + - Präambel + - Metadaten (Titel, Autor, Datum) + - Zusätzliche Pakete -> großes Ökosystem mit Paketen für alles was man sich vorstellen kann + - Einstellungen + - Eigentliches Dokument + } + \inputminted{latex}{codebeispiele/aufbau.tex} +\end{frame} + +\begin{frame}[fragile]{Präambel} + \begin{itemize} + \item Dokumentenklasse + \begin{itemize} + \item \verb|scrartcl| für Artikel und kürzere Arbeiten + \item \verb|scrbook| für Bücher oder Thesen + \item \verb|letter| oder \verb|dinletter| für Briefe und Anschreiben + \item Klassen mit \verb|scr| sind KOMA-Klassen. + \begin{itemize} + \item modern + \item viele gute Standardeinstellungen + \end{itemize} + \end{itemize} + \item Pakete + \item Einstellungen + \end{itemize} +\end{frame} diff --git a/chapters/listings.tex b/chapters/listings.tex new file mode 100644 index 0000000..852d2c5 --- /dev/null +++ b/chapters/listings.tex @@ -0,0 +1,76 @@ +\begin{frame}[fragile]{Codelistings} + \begin{itemize} + \item Abdrucken von Codezeilen + \item Syntaxhighlighting und Zeilennummern + \item mögliche Pakete + \begin{itemize} + \item \verb|verbatim| + \item \verb|listings| + \item \verb|minted| + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Die verbatim-Umgebung} + \begin{itemize} + \item kein Syntaxhighlighting und Zeilennummern + \item Monospacefont + \item \LaTeX-Befehle werden nicht ausgeführt + \end{itemize} + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/listings-verbatim.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/listings-verbatim.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Die lstlistings-Umgebung} + \begin{itemize} + \item Syntaxhighlighting bestimmter Sprachen und Zeilennummern + \item Customization mit Schriftgröße und Farben + \end{itemize} + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/listings-lstlistings.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/listings-lstlistings.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Die minted-Umgebung} + \begin{itemize} + \item Syntaxhighlighting vieler Sprachen + \item Farben direkt voreingestellt + \item benötigt \verb|pygmentize| und \verb|shell-escape|-Option beim Kompilieren + \begin{itemize} + \item \verb|pdflatex -shell-escape | + \end{itemize} + \end{itemize} + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/listings-minted.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/listings-minted.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Code aus Datei einbinden} + \begin{itemize} + \item besonders geeignet für längere Codeauszüge + \end{itemize} + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/listings-from-file.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/listings-from-file.tex} + \end{column} + \end{columns} +\end{frame} diff --git a/chapters/listofs.tex b/chapters/listofs.tex new file mode 100644 index 0000000..d418c79 --- /dev/null +++ b/chapters/listofs.tex @@ -0,0 +1,150 @@ +\begin{frame}[fragile]{Weitere Verzeichnisse} + \begin{itemize} + \item automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für Abbildungen, Codelistings (Abkürzungen, Stichwörter, Bibliographie, \dots) + \end{itemize} + \inputminted{latex}{codebeispiele/list-of-everything.tex} +\end{frame} + +\begin{frame}[fragile]{Verzeichnisse im Inhaltsverzeichnis} + \inputminted{latex}{codebeispiele/lists-in-toc.tex} +\end{frame} + +\section{Literatureinbindung} + +\begin{frame}[fragile]{Literaturverzeichnis} + \begin{itemize} + \item Erstellen/Generieren von Literaturdateien (\verb|.bib|, häufig Bib\TeX{}-Format genannt) + \item Hinzufügen von Literaturdateien (\verb|.bib|) + \item Zitieren von Literatur im Text (\verb|\cite{}|) + \item Literaturverzeichnis (\verb|\printbibliography|) + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Literaturdatei} + \begin{itemize} + \item Jeder Eintrag hat einen eindeutigen Key, unter dem er im Text referenziert wird + \item Literatur kann durch verschiedene Typen kategorisiert werden + \begin{itemize} + \item article + \item book + \item inproceedings + \item online + \item thesis + \item \dots + \end{itemize} + \item Jeder Literatureintrag hat verschiedene Attribute + \begin{itemize} + \item Titel + \item Autor:innen + \item Jahr + \item \dots + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Literaturdatei -- Beispiel} + \pdfpcnote{ - Einträge beginnen mit `@` gefolgt vom Typ + - Key ist nur intern und wird nicht angezeigt + - Felder sind benannt und nach `=` kommt in `"` der Wert + - Felder sind durch Kommata getrennt + } + \inputminted{bibtex}{codebeispiele/bib-file.bib} +\end{frame} + +\begin{frame}{Quellen für Literaturdateien} + \begin{itemize} + \item Literatursuchmaschinen + \only<1>{\includegraphics[width=.8\textwidth]{graphics/boss}} + \only<2>{\includegraphics[width=.7\textwidth]{graphics/blb}} + \only<3->{\item Verlage\\} + \only<4>{\includegraphics[width=.6\textwidth]{graphics/springer}} + \only<5>{\includegraphics[width=.7\textwidth]{graphics/pearson}} + \only<6->{\item Literaturverwaltung} + \end{itemize} +\end{frame} + +\begin{frame}{Exkurs: Literaturverwaltung} + \only<1>{\centering \includegraphics[width=.9\textwidth]{graphics/bibliothek}} + \only<2->{ + \begin{itemize} + \item Verschiedene Programme zur Literaturverwaltung verfügbar + \begin{itemize} + \item \href{https://www.zotero.org/}{Zotero} (Open-Source, Crossplattform) + \item \href{https://lumivero.com/products/citavi/}{Citavi} (Keine Hochschullizenz mehr in Baden-Württemberg) + \item \href{https://www.mendeley.com/}{Mendeley} + \end{itemize} + \item bieten Integrationen in WYSIWYG-Editoren + \item können auch nach Bib\TeX{} exportieren + \end{itemize} + } +\end{frame} + +\begin{frame}{Exkurs: Literaturverwaltung -- Zotero} + \begin{itemize} + \item guter automatischer Export mit \href{https://retorque.re/zotero-better-bibtex/}{Better Bib\TeX{} for Zotero} + \item generiert automatisch Bib\TeX{} mit allen Literatureinträgen einer Sammlung + \item hält Datei bei Änderungen oder neu hinzufügten Dateien aktuell + \bigskip + \item einfach neue Literatur in Zotero einfügen mit \href{https://www.zotero.org/download/}{Zotero Connector} + \end{itemize} +\end{frame} + +\begin{frame}{Literatur -- Meine Empfehlungen} + \begin{itemize} + \item Verschiedene Literaturarten (Bücher, Paper, Thesen, Webseiten) in verschiedenen Untersammlungen verwalten + \item pro Untersammlung ein automatischer Bib\LaTeX{}-Export + \item Bib\LaTeX{}-Dateien in einen eigenen Unterordner + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Einbinden der Literatur in das Dokument} + \inputminted{latex}{codebeispiele/inclusion-literature.tex} +\end{frame} + +\begin{frame}[fragile]{Zitieren im Text} + \begin{itemize} + \item Zitate werden mit \verb|\cite{}| getätigt + \item \verb|\parencite{}| setzt um Zitat Klammern + \item \verb|\citeauthor{}| zitiert Autor:innen + \item \verb|\citetitle{}| zitiert Titel + \bigskip + \item Standardmäßig wird nur Literatur im Literaturverzeichnis ausgegeben, das auch im Text zitiert wurde + \begin{itemize} + \item \verb|\nocite{}| fügt ein unzitiertes Werk ins Literaturverzeichnis ein + \item \verb|\nocite{*}| zeigt alle Werke im Literaturverzeichnis an + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Zitationsstile} + \begin{itemize} + \item Harvard-Stil (mit \href{https://ctan.org/pkg/biblatex-iso690?lang=en}{ISO 690 Literaturverzeichnis}): Koch, 2018 + \begin{minted}{latex} +\usepackage[style=iso-authoryear,natbib=true, + useauthor=true]{biblatex} +\DeclareNameAlias{default}{family-given/given-family} + \end{minted} + \item Alphabetisch: [Koc18] + \begin{minted}{latex} +\usepackage[style=alphabetic]{biblatex} + \end{minted} + \item Draft (geeignet zum Debuggen): \verb|| + \begin{minted}{latex} +\usepackage[style=draft]{biblatex} + \end{minted} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Kompilieren mit Literatur} + \begin{itemize} + \item Literaturverzeichnis muss separat verarbeitet werden + \item daher folgende Befehlsausführung notwendig: + \begin{itemize} + \item \verb|pdflatex| + \item \verb|biber| + \item \verb|pdflatex| + \item \verb|pdflatex| + \end{itemize} + \item Manche Editoren bieten diese Kette unter "pdf\LaTeX{} + Bib\LaTeX{} + pdf\LaTeX{} (2x)" oder ähnlichen Optionen an + \end{itemize} +\end{frame} diff --git a/chapters/math.tex b/chapters/math.tex new file mode 100644 index 0000000..c45d6fa --- /dev/null +++ b/chapters/math.tex @@ -0,0 +1,97 @@ +\subsection{Mathematik} + +\begin{frame}{Mathematik} + \begin{itemize} + \item \TeX{} ist für seine gute Formeleingabe bekannt + \item verschiedene Modi, in denen Formeln gesetzt werden können + \begin{itemize} + \item inline + \item Block + \item Gleichung + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Mathematik --- inline} + \begin{itemize} + \item setzt die Gleichung in einen Fließtext ein + \item keine Referenzierung + \item Beginn und Ende mit \verb|$| + \end{itemize} + + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/math-inline} + \end{column} + \begin{column}{.4\textwidth} + \inputminted{latex}{codebeispiele/math-inline.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Mathematik --- block} + \begin{itemize} + \item setzt die Gleichung als Block mit Absätzen + \item keine Referenzierung + \item Beginn mit \verb|\[|, Ende mit \verb|\]| + \end{itemize} + + \bigskip + + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/math-block} + \end{column} + \begin{column}{.4\textwidth} + \inputminted{latex}{codebeispiele/math-block.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Mathematik --- Gleichung} + \begin{itemize} + \item benötigt Paket \verb|\usepackage{amsmath}| + \item setzt die Gleichung als Block mit Absätzen + \item Referenzierung über Nummerierung + \item Beginn mit \verb|\begin{equation}| Ende mit \verb|\end{equation}| + \end{itemize} + + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/math-equation} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/math-equation.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Mathematik --- Zeichen} + \begin{columns} + \begin{column}{.4\textwidth} + \input{codebeispiele/math-symbols} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/math-symbols.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Mathematik --- Klammern} + \begin{columns} + \begin{column}{.3\textwidth} + \input{codebeispiele/math-brackets} + \end{column} + \begin{column}{.6\textwidth} + \inputminted{latex}{codebeispiele/math-brackets.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Mathematik --- Bei Klammern beachten} + \begin{itemize} + \item Mit \verb|\left| und \verb|\right| passt sich die Größe der Klammern automatisch an + \item Alle Klammerarten können verwendet werden: $()$, $[]$, $\{\}$ + \item Die Klammerung muss "aufgehen", also gleich viele öffnende wie schließende Klammern + \end{itemize} +\end{frame} diff --git a/chapters/own-changes.tex b/chapters/own-changes.tex new file mode 100644 index 0000000..e7af8f9 --- /dev/null +++ b/chapters/own-changes.tex @@ -0,0 +1,47 @@ +\section{Direkt ausprobieren und mitmachen} + +\begin{frame}[fragile]{Vorlage herunterladen} + \begin{itemize} + \item \href{https://www2.hs-esslingen.de/~jufrit00/latex/}{https://www2.hs-esslingen.de/\textasciitilde{}jufrit00/latex/} + \item \href{https://gitlab.hs-esslingen.de/jufrit00/latex-workshop}{https://gitlab.hs-esslingen.de/jufrit00/latex-workshop} + \item \href{https://github.com/JuliusFreudenberger/latex-workshop}{https://github.com/JuliusFreudenberger/latex-workshop} + \bigskip + \item Vorlage befindet sich im Ordner \verb|codebeispiele/vorlage.tex| + \item diese am besten in einen neuen leeren Ordner kopieren + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Projekt kompilieren} + \begin{itemize} + \item Im Projektverzeichnis \verb|pdflatex file.tex| + \item automatisierter mit \verb|latexmk -pdf file.tex| + \item In \TeX{}Maker "Schnelles Übersetzen" + \item mittels Docker und Docker Compose (Anleitung im Git Repo) + \item Outputfile \verb|file.pdf| als PDF-Datei im gleichen Verzeichnis + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Erste eigene Änderungen} + \pdfpcnote{ + - Stärke von LaTeX: Änderungen wirken sich konsistent auf das gesamte Dokument aus. + - Keine manuelle Anpassung an mehreren Stellen nötig. + - Hervorhebung hängt von Dokumenttyp und Einstellungen ab. Standard kursiv + - Niedrigste Stufe: subsubsection + - Bei Text am Besten ein Satz in eine Zeile. + } + \begin{itemize} + \item Eigener Text, Absätze + \item Textformatierung: \textbf{fett} und \textit{kursiv} mit \verb|\textbf{fett}|, \verb|\textit{kursiv}| + \item \emph{Hervorhebung} im Text: \verb|\emph{hervorgehoben}| + \item Eigene Abschnitte mit \verb|\section{} und \subsection{}| + \item In Büchern zusätzlich \verb|\chapter| + \item Metadaten ändern + \begin{itemize} + \item Titel des Dokuments ändern mit \verb|\title{}| + \item Eigener Name als Autor mit \verb|\author{}| + \item Anzeigen dieser Metadaten mit \verb|\maketitle| + \end{itemize} + \end{itemize} +\end{frame} + +\maketitle diff --git a/chapters/presentations.tex b/chapters/presentations.tex new file mode 100644 index 0000000..357236a --- /dev/null +++ b/chapters/presentations.tex @@ -0,0 +1,40 @@ +\section{Präsentationen} + +\begin{frame}[fragile]{Präsentationen} + \begin{itemize} + \item Dokumentenklasse \verb|beamer| + \item Präsentation besteht aus einer Abfolge von Folien + \inputminted{latex}{codebeispiele/beamer-frame.tex} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Präsentationen -- Besonderheiten} + \begin{itemize} + \item \verb|\section| oder \verb|\subsection| erstellen einzelne Folien mit den Überschriften + \item \verb|\maketitle| erstellt Titelfolie + \item zu langer Inhalt verschiebt sich nicht automatisch auf die nächste Folie + \item Für Listings oder \verb|verbatim| muss der Frame als \verb|fragile| gekennzeichnet werden + \inputminted{latex}{codebeispiele/frame-fragile.tex} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{"Animationen" -- Overlays} + \begin{itemize} + \item PDF kann keine bewegten Animationen + \item aber Aufzählungspunkte oder anderer Inhalt kann nacheinander eingeblendet werden + \item jedes Overlay wird auf einer neuen PDF-Seite angezeigt + \inputminted{latex}{codebeispiele/beamer-overlays.tex} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Themes} + \begin{itemize} + \item Klassische Themes in der \href{https://hartwork.org/beamer-theme-matrix/}{Beamer Theme Matrix} + \item Modernes Theme (auch in dieser Präsentation): \href{https://ctan.org/pkg/beamertheme-metropolis}{Metropolis} + \begin{itemize} + \item Moderne Font (wenn mit Xe\LaTeX{} oder Lua\LaTeX{} kompiliert wird) + \item kann optional einen Fortschrittsbalken anzeigen + \item Einstellungen mit \verb|\metroset| + \end{itemize} + \end{itemize} +\end{frame} diff --git a/chapters/project-structure.tex b/chapters/project-structure.tex new file mode 100644 index 0000000..97025d3 --- /dev/null +++ b/chapters/project-structure.tex @@ -0,0 +1,21 @@ +\subsection{\LaTeX{}-Dateien strukturieren} + +\begin{frame}[fragile]{Modularisierung} + \begin{itemize} + \item Bei größeren Projekten (> 2 Seiten) nicht alles in einer Datei behalten + \item \LaTeX{}-Dateien können mit \verb|\include{}| oder \verb|\input{}| eingebunden werden + \begin{itemize} + \item \verb|\include| für Kapitel/große Abschnitte -> fügt automatisch einen Seitenumbruch ein + \item \verb|\input| für Unterkapitel/kleinere Abschnitte + \end{itemize} + \item eine Datei für jedes Kapitel und den eröffnenden Text, dann jedes Unterkapitel aus der eigenen Datei einbinden + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Beispielhafte Dateistruktur} + \lstinputlisting{codebeispiele/example-filestructure.txt} +\end{frame} + +\begin{frame}[fragile]{Hauptteile eines Dokuments} + \inputminted{latex}{codebeispiele/parts-of-document.tex} +\end{frame} diff --git a/chapters/tables.tex b/chapters/tables.tex new file mode 100644 index 0000000..d08ddbf --- /dev/null +++ b/chapters/tables.tex @@ -0,0 +1,97 @@ +\section{Tabellen} + +\begin{frame}{Setzen von Tabellen} + \begin{itemize} + \item Tabellen haben eigene Syntax in \LaTeX + \item Ausrichtung einzelner Spalten kann individuell festgelegt werden + \item Linien können für jede Spalte/Zeile individuell festgelegt werden + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Beispieltabelle} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/table-simple.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/table-simple.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Setzen von Tabellen} + \begin{itemize} + \item Spaltentrennung + \begin{itemize} + \item Spalten werden in jeder Zeile durch \verb|&| getrennt + \item muss nicht zwingend untereinander stehen, sieht aber aufgeräumt im Code aus $\rightarrow$ hat keine Auswirkung auf die Formatierung der Tabelle + \end{itemize} + \item Zeilentrennung + \begin{itemize} + \item jede Zeile endet \emph{zwingend} mit \verb|\\| + \item Linie wird mit \verb|\hline| erstellt + \item muss zwischen allen Zeilen gesetzt werden, wo eine Linie auftauchen soll + \end{itemize} + \item Zweiter Parameter + \begin{itemize} + \item gibt an, wie viele Spalten es gibt und wie sie ausgerichtet sind + \begin{itemize} + \item \verb|c| -- centered + \item \verb|l| -- left + \item \verb|r| -- right + \end{itemize} + \item \verb/|/ gibt an, ob die Spalten durch eine Linie getrennt werden sollen + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Beschriftung einer Tabelle} + \begin{columns} + \begin{column}{.45\textwidth} + \input{codebeispiele/table-float.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/table-float.tex} + \end{column} + \end{columns} + \vspace{1em} + \begin{itemize} + \centering + \item gleiche Platzierungsregeln wie bei anderen Floats gelten + \end{itemize} +\end{frame} + + +\begin{frame}[fragile]{Einschränkungen von tabular} + \begin{itemize} + \item Wenn der Text zu lang ist, wird kein Zeilenumbruch gesetzt + \begin{itemize} + \item Abhilfe: Spalte mit \verb|p{...cm}| deklarieren oder + \item \verb|\usepackage{tabularx}| + \end{itemize} + \item Tabellen mit \verb|tabular| können keine Seitenumbrüche + \begin{itemize} + \item Lange Tabellen werden am Ende der Seite einfach abgeschnitten + \item Lösung: \verb|longtable| + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{tabularx} + \begin{columns} + \begin{column}{.35\textwidth} + \input{codebeispiele/table-tabularx.tex} + \end{column} + \begin{column}{.55\textwidth} + \inputminted{latex}{codebeispiele/table-tabularx.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{longtable} + \inputminted{latex}{codebeispiele/table-longtable.tex} +\end{frame} + +\begin{frame}{Beispiel für longtable} + \input{codebeispiele/table-longtable.tex} +\end{frame} diff --git a/chapters/todonotes.tex b/chapters/todonotes.tex new file mode 100644 index 0000000..9415e10 --- /dev/null +++ b/chapters/todonotes.tex @@ -0,0 +1,10 @@ +\subsection{ToDos} + +\begin{frame}[fragile]{ToDo-Notes} + \begin{itemize} + \item Kennzeichen im Code, wo noch etwas gemacht werden muss + \item Geben auch im Dokument den Hinweis, dass noch etwas gemacht werden muss + \item Beschreibungstext ermöglicht erklärenden Text + \end{itemize} + \inputminted{latex}{codebeispiele/todonotes.tex} +\end{frame} diff --git a/chapters/what-is-latex.tex b/chapters/what-is-latex.tex new file mode 100644 index 0000000..f672e9c --- /dev/null +++ b/chapters/what-is-latex.tex @@ -0,0 +1,37 @@ +\begin{frame}{Was ist \LaTeX?} + \pdfpcnote{ - Entwicklung seit Anfang der 1980er + - What you see is what you get --> What you see is what you asked for} + \begin{itemize} + \item Textsatzsystem + \item setzt vorgegebenen Text und weitere Anweisungen automatisch + \item versucht automatisch bestmögliches Layout + \item kein WYSIWYG, sondern WYSIWYAF + \item Quellcode wird "kompiliert" + \item Dokument wird als PDF, PS, DVI oder sogar HTML ausgegeben + \end{itemize} +\end{frame} + +\begin{frame}{Warum \LaTeX?} + \pdfpcnote{ Vergleich zu Word + - schöner Blocksatz, bestmögliche Zeilenumbrüche und Worttrennungen + - Inhaltsverzeichnis und Verzeichnisse für Abbildungen, Stichworte, Abkürzungen und Literatur + - Abbildungen und weitere Referenzelemente werden automatisch an der bestmöglichen Stelle eingefügt + - Deutlich mehr Automatisierungen als bei Word, "Layoutarbeit" am Ende einer Arbeit deutlich geringer} + \begin{columns}[t] + \column{.4\textwidth} + \begin{itemize} + \item Automatischer Textsatz + \item Automatische Referenzen + \item Automatisches Layout + \end{itemize} + \column{.5\textwidth} + \begin{itemize} + \item Keine große Layoutarbeit am Ende + \item Kein Ruinieren des Dokuments beim Verschieben eines Bildes + \item Das Dokument "sieht einfach schön aus" + \end{itemize} + \end{columns} + \begin{center} + Wenn man einmal \LaTeX{} gelernt hat, ist das Layouten von wissenschaftlichen Arbeiten deutlich einfacher. + \end{center} +\end{frame} diff --git a/chapters/what-is-needed.tex b/chapters/what-is-needed.tex new file mode 100644 index 0000000..d1b4455 --- /dev/null +++ b/chapters/what-is-needed.tex @@ -0,0 +1,26 @@ +\begin{frame}[fragile]{Bevor wir beginnen: Was brauche ich?} + \begin{itemize} + \item \LaTeX-Distribution: \TeX{}Live oder Mik\TeX{} + \begin{itemize} + \item Windows: \href{https://miktex.org/}{https://miktex.org/} + \item Mac: \href{https://tug.org/mactex/}{https://tug.org/mactex/} + \item Linux: Installation über den Paketmanager + \begin{itemize} + \item deb: \verb|texlive-base|, rpm: \verb|texlive texlive-latex| + \item Arch Linux: \verb|texlive-core| + \item NixOS: \verb|nixpkgs.texliveBasic| + \end{itemize} + \item Docker: \verb|texlive/texlive| + \end{itemize} + \item Texteditor + \begin{itemize} + \item \href{https://code.visualstudio.com/}{VSCode} mit \href{https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop}{\LaTeX-Workshop}, \href{https://www.vim.org/}{vim} mit \href{https://github.com/lervag/vimtex}{vimtex} + \item \href{https://www.xm1math.net/texmaker/index.html}{\TeX{}Maker} + \end{itemize} + \item Alternativ: Online-Editoren + \begin{itemize} + \item Overleaf (\href{https://www.overleaf.com}{https://www.overleaf.com}, Registrierung erforderlich) + \item \TeX{}Viewer (\href{https://texviewer.herokuapp.com}{https://texviewer.herokuapp.com}, direkt nutzbar) + \end{itemize} + \end{itemize} +\end{frame} diff --git a/chapters/writing-text.tex b/chapters/writing-text.tex new file mode 100644 index 0000000..308e2eb --- /dev/null +++ b/chapters/writing-text.tex @@ -0,0 +1,87 @@ +\section{Text, Inhalt und Struktur} + +\begin{frame}[fragile]{Anführungszeichen} + \begin{itemize} + \item Standardmäßig wird ein \verb|"| direkt als solches gesetzt + \item deutsche Anführungszeichen können mit den Befehlen \verb|\glqq{}| und \verb|\grqq{}| gesetzt werden + \item mit dem Paket \verb|csquotes| können \verb|"| als sprachlich richtige Anführungszeichen angezeigt + \begin{itemize} + \item abhängig von der Spracheinstellung in \verb|babel| + \end{itemize} + \inputminted{latex}{codebeispiele/quotation.tex} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Umgebungen} + \begin{itemize} + \item kennzeichnen besondere Bereiche im Dokument + \item beginnen mit \verb|\begin{}| und enden mit \verb|\end{}| + \item können verschachtelt werden, aber nicht geschnitten + \item Aufzählungen \verb|enumerate| (nummeriert) und \verb|itemize| (unnummeriert) + \end{itemize} + \begin{columns}[t] + \begin{column}{.3\textwidth} + \centering + \begin{minted}{latex} +\begin{itemize} + \item Erster Punkt + \item Zweiter Punkt +\end{itemize} + \end{minted} + \end{column} + \begin{column}{.5\textwidth} + \centering + \begin{minted}{latex} +\begin{itemize} + \item Erster Punkt + \begin{enumerate} + \item Anderer Punkt + \end{itemize} % Das geht nicht + \item Weiterer Punkt +\end{enumerate} + \end{minted} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Wichtige besondere Zeichen} + \begin{tabular}{c|c|c} + Schrägstrich & \textbackslash & \verb|\textbackslash| \\ + \hline + Tilde & \textasciitilde & \verb|\textasciitilde| \\ + \hline + geschütztes Leerzeichen (ohne Zeilenumbruch) & ~ & \verb|~| \\ + \hline + schmales geschütztes Leerzeichen & z.\,B. & \verb|z.\,B.| \\ + \hline + Gedankenstrich (Halbgeviertstrich) & -- & \verb|--| \\ + \hline + Geviertstrich & --- & \verb|---| + \end{tabular} +\end{frame} + +\subsection{Verweise} + +\begin{frame}{Verweise -- Was wollen wir?} + \begin{itemize} + \item Referenzieren von Abbildungen, Tabellen, Codezeilen, etc. + \item automatische Nummerierung + \item kein manuelles Nummerieren, Aktualisieren und Überprüfen + \item automatische Verzeichnisse + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Verweise} + \pdfpcnote{ - Label können frei wählbaren Namen bekommen + - System ist dennoch hilfreich (fig:, tab:) + - Wenn sich Seiten verschieben oder die Abbildung verschoben wird, aktualisieren sich automatisch alle Verweise und das dazugehörige Verzeichnis + - erster Durchlauf: Anlegen einer Liste aller Verweise; zweiter Durchlauf: Einarbeiten aller gefunden labels + } + \begin{itemize} + \item Label setzen: \verb|\label{}| + \item Abschnitt referenzieren: \verb|\ref{}| + \item Seite referenzieren: \verb|\pageref{}| + \item Referenz nutzt immer aktuellste Abschnittnummer bzw.~Seitenzahl -- ohne weiteren Aufwand + \item zur Aktualisierung doppelte Durchläufe notwendig + \end{itemize} +\end{frame} diff --git a/codebeispiele/todonotes.tex b/codebeispiele/todonotes.tex new file mode 100644 index 0000000..357385b --- /dev/null +++ b/codebeispiele/todonotes.tex @@ -0,0 +1,6 @@ +\usepackages{todonotes} + +Dieser Text benötigt noch Überarbeitung +\todo{Überarbeitung nicht vergessen} + +\missingfigure{Diagramm} diff --git a/workshop.tex b/workshop.tex index cfea4b2..de3d8f2 100644 --- a/workshop.tex +++ b/workshop.tex @@ -41,53 +41,11 @@ \maketitle -\begin{frame}[fragile]{Bevor wir beginnen: Was brauche ich?} - \begin{itemize} - \item \LaTeX-Distribution: \TeX{}Live oder Mik\TeX{} - \begin{itemize} - \item Windows: \href{https://miktex.org/}{https://miktex.org/} - \item Mac: \href{https://tug.org/mactex/}{https://tug.org/mactex/} - \item Linux: Installation über den Paketmanager - \begin{itemize} - \item deb: \verb|texlive-base|, rpm: \verb|texlive texlive-latex| - \item Arch Linux: \verb|texlive-core| - \item NixOS: \verb|nixpkgs.texliveBasic| - \end{itemize} - \item Docker: \verb|texlive/texlive| - \end{itemize} - \item Texteditor - \begin{itemize} - \item \href{https://code.visualstudio.com/}{VSCode} mit \href{https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop}{\LaTeX-Workshop}, \href{https://www.vim.org/}{vim} mit \href{https://github.com/lervag/vimtex}{vimtex} - \item \href{https://www.xm1math.net/texmaker/index.html}{\TeX{}Maker} - \end{itemize} - \item Alternativ: Online-Editoren - \begin{itemize} - \item Overleaf (\href{https://www.overleaf.com}{https://www.overleaf.com}, Registrierung erforderlich) - \item \TeX{}Viewer (\href{https://texviewer.herokuapp.com}{https://texviewer.herokuapp.com}, direkt nutzbar) - \end{itemize} - \end{itemize} -\end{frame} +\input{chapters/what-is-needed} -\input{about-me} -\begin{frame}{Wer seid ihr?} - \begin{itemize} - \item Name - \item Fakultät? Was macht ihr da? - \item Schon von \LaTeX{} gehört oder etwas damit gemacht? - \item Was stört dich am meisten an traditionellen Textverarbeitungsprogrammen? - \item Nächste (wissenschaftliche) Arbeit, die du vielleicht mit \LaTeX{} schreiben möchtest? - \end{itemize} -\end{frame} +\input{chapters/about-me} -\begin{frame}{Materialien für den Kurs} - \begin{itemize} - \item Dieser Foliensatz - \item Kleine Vorlagen zum Mitmachen - \item Dokumente, die wir im Laufe des Kurses erstellen - \bigskip - \item wird alles im geteilten Ordner hochgeladen - \end{itemize} -\end{frame} +\input{chapters/introduction} \begin{frame}{Inhalt} \tableofcontents @@ -95,743 +53,27 @@ \section{\LaTeX{} -- die Theorie} -\begin{frame}{Was ist \LaTeX?} - \pdfpcnote{ - Entwicklung seit Anfang der 1980er - - What you see is what you get --> What you see is what you asked for} - \begin{itemize} - \item Textsatzsystem - \item setzt vorgegebenen Text und weitere Anweisungen automatisch - \item versucht automatisch bestmögliches Layout - \item kein WYSIWYG, sondern WYSIWYAF - \item Quellcode wird "kompiliert" - \item Dokument wird als PDF, PS, DVI oder sogar HTML ausgegeben - \end{itemize} -\end{frame} +\input{chapters/what-is-latex} -\begin{frame}{Warum \LaTeX?} - \pdfpcnote{ Vergleich zu Word - - schöner Blocksatz, bestmögliche Zeilenumbrüche und Worttrennungen - - Inhaltsverzeichnis und Verzeichnisse für Abbildungen, Stichworte, Abkürzungen und Literatur - - Abbildungen und weitere Referenzelemente werden automatisch an der bestmöglichen Stelle eingefügt - - Deutlich mehr Automatisierungen als bei Word, "Layoutarbeit" am Ende einer Arbeit deutlich geringer} - \begin{columns}[t] - \column{.4\textwidth} - \begin{itemize} - \item Automatischer Textsatz - \item Automatische Referenzen - \item Automatisches Layout - \end{itemize} - \column{.5\textwidth} - \begin{itemize} - \item Keine große Layoutarbeit am Ende - \item Kein Ruinieren des Dokuments beim Verschieben eines Bildes - \item Das Dokument "sieht einfach schön aus" - \end{itemize} - \end{columns} - \begin{center} - Wenn man einmal \LaTeX{} gelernt hat, ist das Layouten von wissenschaftlichen Arbeiten deutlich einfacher. - \end{center} -\end{frame} +\input{chapters/latex-code} -\begin{frame}{Wie sieht \LaTeX-Code aus?} - \pdfpcnote{ - - Befehle werden mit \ angegeben - - Parameter mit {} - - Einrückung hilft bei Lesbarkeit, ist nicht notwendig - - Beginn und Ende - - normaler Text - } - \inputminted{latex}{codebeispiele/beispiel.tex} -\end{frame} +\input{chapters/own-changes} -\begin{frame}{Grundlegender Aufbau} - \pdfpcnote{ - - Dokumentenklasse (book, article, report) - - Präambel - - Metadaten (Titel, Autor, Datum) - - Zusätzliche Pakete -> großes Ökosystem mit Paketen für alles was man sich vorstellen kann - - Einstellungen - - Eigentliches Dokument - } - \inputminted{latex}{codebeispiele/aufbau.tex} -\end{frame} +\input{chapters/writing-text} -\begin{frame}[fragile]{Präambel} - \begin{itemize} - \item Dokumentenklasse - \begin{itemize} - \item \verb|scrartcl| für Artikel und kürzere Arbeiten - \item \verb|scrbook| für Bücher oder Thesen - \item \verb|letter| oder \verb|dinletter| für Briefe und Anschreiben - \item Klassen mit \verb|scr| sind KOMA-Klassen. - \begin{itemize} - \item modern - \item viele gute Standardeinstellungen - \end{itemize} - \end{itemize} - \item Pakete - \item Einstellungen - \end{itemize} -\end{frame} +\input{chapters/math} -\section{Direkt ausprobieren und mitmachen} +\input{chapters/graphics-floats} -\begin{frame}[fragile]{Vorlage herunterladen} - \begin{itemize} - \item \href{https://www2.hs-esslingen.de/~jufrit00/latex/}{https://www2.hs-esslingen.de/\textasciitilde{}jufrit00/latex/} - \item \href{https://gitlab.hs-esslingen.de/jufrit00/latex-workshop}{https://gitlab.hs-esslingen.de/jufrit00/latex-workshop} - \item \href{https://github.com/JuliusFreudenberger/latex-workshop}{https://github.com/JuliusFreudenberger/latex-workshop} - \bigskip - \item Vorlage befindet sich im Ordner \verb|codebeispiele/vorlage.tex| - \item diese am besten in einen neuen leeren Ordner kopieren - \end{itemize} -\end{frame} +\input{chapters/listings} -\begin{frame}[fragile]{Projekt kompilieren} - \begin{itemize} - \item Im Projektverzeichnis \verb|pdflatex file.tex| - \item automatisierter mit \verb|latexmk -pdf file.tex| - \item In \TeX{}Maker "Schnelles Übersetzen" - \item mittels Docker und Docker Compose (Anleitung im Git Repo) - \item Outputfile \verb|file.pdf| als PDF-Datei im gleichen Verzeichnis - \end{itemize} -\end{frame} +\input{chapters/listofs} -\begin{frame}[fragile]{Erste eigene Änderungen} - \pdfpcnote{ - - Stärke von LaTeX: Änderungen wirken sich konsistent auf das gesamte Dokument aus. - - Keine manuelle Anpassung an mehreren Stellen nötig. - - Hervorhebung hängt von Dokumenttyp und Einstellungen ab. Standard kursiv - - Niedrigste Stufe: subsubsection - - Bei Text am Besten ein Satz in eine Zeile. - } - \begin{itemize} - \item Eigener Text, Absätze - \item Textformatierung: \textbf{fett} und \textit{kursiv} mit \verb|\textbf{fett}|, \verb|\textit{kursiv}| - \item \emph{Hervorhebung} im Text: \verb|\emph{hervorgehoben}| - \item Eigene Abschnitte mit \verb|\section{} und \subsection{}| - \item In Büchern zusätzlich \verb|\chapter| - \item Metadaten ändern - \begin{itemize} - \item Titel des Dokuments ändern mit \verb|\title{}| - \item Eigener Name als Autor mit \verb|\author{}| - \item Anzeigen dieser Metadaten mit \verb|\maketitle| - \end{itemize} - \end{itemize} -\end{frame} +\input{chapters/formatting} -\maketitle +\input{chapters/external-files} -\section{Text, Inhalt und Struktur} - -\begin{frame}[fragile]{Anführungszeichen} - \begin{itemize} - \item Standardmäßig wird ein \verb|"| direkt als solches gesetzt - \item deutsche Anführungszeichen können mit den Befehlen \verb|\glqq{}| und \verb|\grqq{}| gesetzt werden - \item mit dem Paket \verb|csquotes| können \verb|"| als sprachlich richtige Anführungszeichen angezeigt - \begin{itemize} - \item abhängig von der Spracheinstellung in \verb|babel| - \end{itemize} - \inputminted{latex}{codebeispiele/quotation.tex} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Umgebungen} - \begin{itemize} - \item kennzeichnen besondere Bereiche im Dokument - \item beginnen mit \verb|\begin{}| und enden mit \verb|\end{}| - \item können verschachtelt werden, aber nicht geschnitten - \item Aufzählungen \verb|enumerate| (nummeriert) und \verb|itemize| (unnummeriert) - \end{itemize} - \begin{columns}[t] - \begin{column}{.3\textwidth} - \centering - \begin{minted}{latex} -\begin{itemize} - \item Erster Punkt - \item Zweiter Punkt -\end{itemize} - \end{minted} - \end{column} - \begin{column}{.5\textwidth} - \centering - \begin{minted}{latex} -\begin{itemize} - \item Erster Punkt - \begin{enumerate} - \item Anderer Punkt - \end{itemize} % Das geht nicht - \item Weiterer Punkt -\end{enumerate} - \end{minted} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Wichtige besondere Zeichen} - \begin{tabular}{c|c|c} - Schrägstrich & \textbackslash & \verb|\textbackslash| \\ - \hline - Tilde & \textasciitilde & \verb|\textasciitilde| \\ - \hline - geschütztes Leerzeichen (ohne Zeilenumbruch) & ~ & \verb|~| \\ - \hline - schmales geschütztes Leerzeichen & z.\,B. & \verb|z.\,B.| \\ - \hline - Gedankenstrich (Halbgeviertstrich) & -- & \verb|--| \\ - \hline - Geviertstrich & --- & \verb|---| - \end{tabular} -\end{frame} - -\subsection{Verweise} - -\begin{frame}{Verweise -- Was wollen wir?} - \begin{itemize} - \item Referenzieren von Abbildungen, Tabellen, Codezeilen, etc. - \item automatische Nummerierung - \item kein manuelles Nummerieren, Aktualisieren und Überprüfen - \item automatische Verzeichnisse - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Verweise} - \pdfpcnote{ - Label können frei wählbaren Namen bekommen - - System ist dennoch hilfreich (fig:, tab:) - - Wenn sich Seiten verschieben oder die Abbildung verschoben wird, aktualisieren sich automatisch alle Verweise und das dazugehörige Verzeichnis - - erster Durchlauf: Anlegen einer Liste aller Verweise; zweiter Durchlauf: Einarbeiten aller gefunden labels - } - \begin{itemize} - \item Label setzen: \verb|\label{}| - \item Abschnitt referenzieren: \verb|\ref{}| - \item Seite referenzieren: \verb|\pageref{}| - \item Referenz nutzt immer aktuellste Abschnittnummer bzw.~Seitenzahl -- ohne weiteren Aufwand - \item zur Aktualisierung doppelte Durchläufe notwendig - \end{itemize} -\end{frame} - -\subsection{Mathematik} - -\begin{frame}{Mathematik} - \begin{itemize} - \item \TeX{} ist für seine gute Formeleingabe bekannt - \item verschiedene Modi, in denen Formeln gesetzt werden können - \begin{itemize} - \item inline - \item Block - \item Gleichung - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Mathematik --- inline} - \begin{itemize} - \item setzt die Gleichung in einen Fließtext ein - \item keine Referenzierung - \item Beginn und Ende mit \verb|$| - \end{itemize} - - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/math-inline} - \end{column} - \begin{column}{.4\textwidth} - \inputminted{latex}{codebeispiele/math-inline.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Mathematik --- block} - \begin{itemize} - \item setzt die Gleichung als Block mit Absätzen - \item keine Referenzierung - \item Beginn mit \verb|\[|, Ende mit \verb|\]| - \end{itemize} - - \bigskip - - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/math-block} - \end{column} - \begin{column}{.4\textwidth} - \inputminted{latex}{codebeispiele/math-block.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Mathematik --- Gleichung} - \begin{itemize} - \item benötigt Paket \verb|\usepackage{amsmath}| - \item setzt die Gleichung als Block mit Absätzen - \item Referenzierung über Nummerierung - \item Beginn mit \verb|\begin{equation}| Ende mit \verb|\end{equation}| - \end{itemize} - - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/math-equation} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/math-equation.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Mathematik --- Zeichen} - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/math-symbols} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/math-symbols.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Mathematik --- Klammern} - \begin{columns} - \begin{column}{.3\textwidth} - \input{codebeispiele/math-brackets} - \end{column} - \begin{column}{.6\textwidth} - \inputminted{latex}{codebeispiele/math-brackets.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Mathematik --- Bei Klammern beachten} - \begin{itemize} - \item Mit \verb|\left| und \verb|\right| passt sich die Größe der Klammern automatisch an - \item Alle Klammerarten können verwendet werden: $()$, $[]$, $\{\}$ - \item Die Klammerung muss "aufgehen", also gleich viele öffnende wie schließende Klammern - \end{itemize} -\end{frame} - -\subsection{Abbildungen und Gleitobjekte} - -\begin{frame}[fragile]{Abbildungen und Graphiken} - \begin{itemize} - \item Paket \verb|graphicx| - \item Unterstützung von jpg, png und pdf, Dateiendung kann weggelassen werden - \item Höhe und Breite als optionale Parameter - \begin{itemize} - \item \verb|\textwidth| oder \verb|textheight| - \end{itemize} - \item - \begin{minted}{latex} -\includegraphics[width=.5\textwidth]{} - \end{minted} - \end{itemize} - \begin{center} - \includegraphics[height=.5\textheight]{katze} - \end{center} -\end{frame} - -\begin{frame}{Graphiken als Gleitobjekt} - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/graphics-figure} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/graphics-figure.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Gleitobjekte} - \begin{itemize} - \item können für Graphiken, Tabellen, Codelistings, etc. verwendet werden - \item Automatische Positionierung im Text -- leider nicht immer so wie gewünscht - \item daher Beeinflussung der Positionierung über verschiedene Parameter - \begin{itemize} - \item \verb|t|: oben an der Seite - \item \verb|b|: unten an der Seite - \item \verb|h|: \emph{ungefähr} die gleiche Stelle wie im Sourcecode - \item \verb|H|: \emph{genau} an der gleichen Stelle wie im Sourcecode - \item \verb|!|: überschreibt \LaTeX{}s interne Platzierungslogik - \end{itemize} - \item \verb|\begin{figure}[]\end{figure}| - \item meine Empfehlung: nicht zu sehr erzwingen, dass Text und Abbildungen direkt beieinander sind - \item wenn der "Abstand" zu groß wird, \verb|h| hinzufügen - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Codelistings} - \begin{itemize} - \item Abdrucken von Codezeilen - \item Syntaxhighlighting und Zeilennummern - \item mögliche Pakete - \begin{itemize} - \item \verb|verbatim| - \item \verb|listings| - \item \verb|minted| - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Die verbatim-Umgebung} - \begin{itemize} - \item kein Syntaxhighlighting und Zeilennummern - \item Monospacefont - \item \LaTeX-Befehle werden nicht ausgeführt - \end{itemize} - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/listings-verbatim.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/listings-verbatim.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Die lstlistings-Umgebung} - \begin{itemize} - \item Syntaxhighlighting bestimmter Sprachen und Zeilennummern - \item Customization mit Schriftgröße und Farben - \end{itemize} - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/listings-lstlistings.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/listings-lstlistings.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Die minted-Umgebung} - \begin{itemize} - \item Syntaxhighlighting vieler Sprachen - \item Farben direkt voreingestellt - \item benötigt \verb|pygmentize| und \verb|shell-escape|-Option beim Kompilieren - \begin{itemize} - \item \verb|pdflatex -shell-escape | - \end{itemize} - \end{itemize} - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/listings-minted.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/listings-minted.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Code aus Datei einbinden} - \begin{itemize} - \item besonders geeignet für längere Codeauszüge - \end{itemize} - \begin{columns} - \begin{column}{.4\textwidth} - \input{codebeispiele/listings-from-file.tex} - \end{column} - \begin{column}{.5\textwidth} - \inputminted{latex}{codebeispiele/listings-from-file.tex} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Weitere Verzeichnisse} - \begin{itemize} - \item automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für Abbildungen, Codelistings (Abkürzungen, Stichwörter, Bibliographie, \dots) - \end{itemize} - \inputminted{latex}{codebeispiele/list-of-everything.tex} -\end{frame} - -\begin{frame}[fragile]{Verzeichnisse im Inhaltsverzeichnis} - \inputminted{latex}{codebeispiele/lists-in-toc.tex} -\end{frame} - -\section{Literatureinbindung} - -\begin{frame}[fragile]{Literaturverzeichnis} - \begin{itemize} - \item Erstellen/Generieren von Literaturdateien (\verb|.bib|, häufig Bib\TeX{}-Format genannt) - \item Hinzufügen von Literaturdateien (\verb|.bib|) - \item Zitieren von Literatur im Text (\verb|\cite{}|) - \item Literaturverzeichnis (\verb|\printbibliography|) - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Literaturdatei} - \begin{itemize} - \item Jeder Eintrag hat einen eindeutigen Key, unter dem er im Text referenziert wird - \item Literatur kann durch verschiedene Typen kategorisiert werden - \begin{itemize} - \item article - \item book - \item inproceedings - \item online - \item thesis - \item \dots - \end{itemize} - \item Jeder Literatureintrag hat verschiedene Attribute - \begin{itemize} - \item Titel - \item Autor:innen - \item Jahr - \item \dots - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Literaturdatei -- Beispiel} - \pdfpcnote{ - Einträge beginnen mit `@` gefolgt vom Typ - - Key ist nur intern und wird nicht angezeigt - - Felder sind benannt und nach `=` kommt in `"` der Wert - - Felder sind durch Kommata getrennt - } - \inputminted{bibtex}{codebeispiele/bib-file.bib} -\end{frame} - -\begin{frame}{Quellen für Literaturdateien} - \begin{itemize} - \item Literatursuchmaschinen - \only<1>{\includegraphics[width=.8\textwidth]{graphics/boss}} - \only<2>{\includegraphics[width=.7\textwidth]{graphics/blb}} - \only<3->{\item Verlage\\} - \only<4>{\includegraphics[width=.6\textwidth]{graphics/springer}} - \only<5>{\includegraphics[width=.7\textwidth]{graphics/pearson}} - \only<6->{\item Literaturverwaltung} - \end{itemize} -\end{frame} - -\begin{frame}{Exkurs: Literaturverwaltung} - \only<1>{\centering \includegraphics[width=.9\textwidth]{graphics/bibliothek}} - \only<2->{ - \begin{itemize} - \item Verschiedene Programme zur Literaturverwaltung verfügbar - \begin{itemize} - \item \href{https://www.zotero.org/}{Zotero} (Open-Source, Crossplattform) - \item \href{https://lumivero.com/products/citavi/}{Citavi} (Keine Hochschullizenz mehr in Baden-Württemberg) - \item \href{https://www.mendeley.com/}{Mendeley} - \end{itemize} - \item bieten Integrationen in WYSIWYG-Editoren - \item können auch nach Bib\TeX{} exportieren - \end{itemize} - } -\end{frame} - -\begin{frame}{Exkurs: Literaturverwaltung -- Zotero} - \begin{itemize} - \item guter automatischer Export mit \href{https://retorque.re/zotero-better-bibtex/}{Better Bib\TeX{} for Zotero} - \item generiert automatisch Bib\TeX{} mit allen Literatureinträgen einer Sammlung - \item hält Datei bei Änderungen oder neu hinzufügten Dateien aktuell - \bigskip - \item einfach neue Literatur in Zotero einfügen mit \href{https://www.zotero.org/download/}{Zotero Connector} - \end{itemize} -\end{frame} - -\begin{frame}{Literatur -- Meine Empfehlungen} - \begin{itemize} - \item Verschiedene Literaturarten (Bücher, Paper, Thesen, Webseiten) in verschiedenen Untersammlungen verwalten - \item pro Untersammlung ein automatischer Bib\LaTeX{}-Export - \item Bib\LaTeX{}-Dateien in einen eigenen Unterordner - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Einbinden der Literatur in das Dokument} - \inputminted{latex}{codebeispiele/inclusion-literature.tex} -\end{frame} - -\begin{frame}[fragile]{Zitieren im Text} - \begin{itemize} - \item Zitate werden mit \verb|\cite{}| getätigt - \item \verb|\parencite{}| setzt um Zitat Klammern - \item \verb|\citeauthor{}| zitiert Autor:innen - \item \verb|\citetitle{}| zitiert Titel - \bigskip - \item Standardmäßig wird nur Literatur im Literaturverzeichnis ausgegeben, das auch im Text zitiert wurde - \begin{itemize} - \item \verb|\nocite{}| fügt ein unzitiertes Werk ins Literaturverzeichnis ein - \item \verb|\nocite{*}| zeigt alle Werke im Literaturverzeichnis an - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Zitationsstile} - \begin{itemize} - \item Harvard-Stil (mit \href{https://ctan.org/pkg/biblatex-iso690?lang=en}{ISO 690 Literaturverzeichnis}): Koch, 2018 - \begin{minted}{latex} -\usepackage[style=iso-authoryear,natbib=true, - useauthor=true]{biblatex} -\DeclareNameAlias{default}{family-given/given-family} - \end{minted} - \item Alphabetisch: [Koc18] - \begin{minted}{latex} -\usepackage[style=alphabetic]{biblatex} - \end{minted} - \item Draft (geeignet zum Debuggen): \verb|| - \begin{minted}{latex} -\usepackage[style=draft]{biblatex} - \end{minted} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Kompilieren mit Literatur} - \begin{itemize} - \item Literaturverzeichnis muss separat verarbeitet werden - \item daher folgende Befehlsausführung notwendig: - \begin{itemize} - \item \verb|pdflatex| - \item \verb|biber| - \item \verb|pdflatex| - \item \verb|pdflatex| - \end{itemize} - \item Manche Editoren bieten diese Kette unter "pdf\LaTeX{} + Bib\LaTeX{} + pdf\LaTeX{} (2x)" oder ähnlichen Optionen an - \end{itemize} -\end{frame} - -\section{Dokumentformatierung} - -\begin{frame}[fragile]{Formatierungsoptionen} - \begin{itemize} - \item Papierformat - \begin{itemize} - \item wird in den Optionen zur Dokumentenklasse gesetzt - \item A4: \verb|a4paper| - \item A5: \verb|a5paper| - \item Letter: \verb|letterpaper| - \end{itemize} - \item Seitenränder - \begin{itemize} - \item Mit Geometry-Paket - \inputminted{latex}{codebeispiele/geometry.tex} - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Querformat} - \begin{itemize} - \item Gesamtes Dokument im Querformat - \begin{minted}{latex} -\documentclass[a4paper,landscape]{...} - \end{minted} - \item Einzelne Seiten im Querformat (nützlich für große Tabellen oder breite Abbildungen) - \inputminted{latex}{codebeispiele/landscape.tex} - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Header und Footer} - \begin{itemize} - \item Kopf- und Fußzeilen können mit \verb|scrlayer-scrpage| konfiguriert werden - \item Dafür muss der Style \verb|\pagestyle{scrheadings}| genutzt werden - \item Inhalt der Zeilen wird dann mit - \begin{itemize} - \item \verb|ihead| bzw. \verb|ifoot| (inner) - \item \verb|chead| bzw. \verb|cfoot| (center) - \item \verb|ohead| bzw. \verb|ofoot| (outer) - \end{itemize} - beschrieben - \item Bei zweiseitigen Layouts ist \verb|outer| am Rand der Seite und \verb|inner| an der Buchfalz - \item \verb|\pagemark| enthält die aktuelle Seite - \item Mit \verb|\pagestyle{empty}| werden keine Kopf- und Fußzeilen angezeigt - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Header und Footer -- Beispiel} - \inputminted{latex}{codebeispiele/header-footer.tex} -\end{frame} - -\section{Externe Dateien} - -\begin{frame}[fragile]{Externe Dateien einbinden -- SVG} - \begin{itemize} - \item Nicht nativ möglich -- \LaTeX{} nutzt für Vektorgraphiken PDF - \item Pakete ermöglichen jedoch automatische Konvertierung - \item Nutzt dafür Inkscape und ImageMagick (\verb|convert|) - \item dafür ist wieder die Option \verb|-shell-escape| nötig! - \inputminted{latex}{codebeispiele/include-svg.tex} - \item Alternativ Vektordateien direkt als PDF bereitstellen und mit \verb|\includegraphics| einbinden - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Externe Dateien einbinden -- PDF} - \begin{itemize} - \item PDF-Dateien als ganze Seiten einfügen (bspw. externe Dokumente im Anhang) - \only<1>{\inputminted[lastline=6]{latex}{codebeispiele/include-pdf.tex}} - \only<2>{ - \item PDF zum Inhaltsverzeichnis hinzufügen - \inputminted[firstline=8]{latex}{codebeispiele/include-pdf.tex} - } - \end{itemize} -\end{frame} - -\subsection{\LaTeX{}-Dateien strukturieren} - -\begin{frame}[fragile]{Modularisierung} - \begin{itemize} - \item Bei größeren Projekten (> 2 Seiten) nicht alles in einer Datei behalten - \item \LaTeX{}-Dateien können mit \verb|\include{}| oder \verb|\input{}| eingebunden werden - \begin{itemize} - \item \verb|\include| für Kapitel/große Abschnitte -> fügt automatisch einen Seitenumbruch ein - \item \verb|\input| für Unterkapitel/kleinere Abschnitte - \end{itemize} - \item eine Datei für jedes Kapitel und den eröffnenden Text, dann jedes Unterkapitel aus der eigenen Datei einbinden - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Beispielhafte Dateistruktur} - \lstinputlisting{codebeispiele/example-filestructure.txt} -\end{frame} - -\begin{frame}[fragile]{Hauptteile eines Dokuments} - \inputminted{latex}{codebeispiele/parts-of-document.tex} -\end{frame} - -\section{Ausblick} - -\begin{frame}{Was kann \LaTeX{} noch?} - \begin{itemize} - \item Präsentationen - \item Zeichnen mit TikZ - \item Plotting mit pgfPlots - \item Chemische Formeln mit chemfig - \bigskip - \item Mathesyntax in vielen anderen Programmen - \end{itemize} -\end{frame} - -\begin{frame}{Nächste Projekte für \LaTeX{}?} - \begin{itemize} - \item Wissenschaftliches Dokumentieren - \item Praxissemesterbericht - \item Thesis - \bigskip - \item Bewerbungsunterlagen - \end{itemize} -\end{frame} - -\begin{frame}[fragile]{Bewerbungsunterlagen} - \begin{columns} - \column{.5\textwidth} - \centering - \begin{itemize} - \item Lebenslauf mit \verb|moderncv| - \end{itemize} - \includegraphics[height=.7\textheight]{Lebenslauf} - \column{.5\textwidth} - \centering - \begin{itemize} - \item Anschreiben mit \verb|dinbrief| - \end{itemize} - \includegraphics[height=.7\textheight]{Anschreiben} - \end{columns} -\end{frame} - -\begin{frame}[fragile]{Wohin bei Problemen?} - \begin{itemize} - \item \verb|texdoc | - \item Suchmaschine des Vertrauens - \item \href{https://de.wikibooks.org/wiki/LaTeX-Kompendium}{\LaTeX-Kompendium} - \item \href{https://www.overleaf.com/learn}{Overleaf documentation} - \item \href{https://golatex.de/wiki/index.php/Hauptseite}{Go\LaTeX-Wiki} - \item \href{https://tex.stackexchange.com}{\TeX-Stackexchange} - \end{itemize} -\end{frame} +\input{chapters/closing.tex} \maketitle