\documentclass[presentation,aspectratio=169]{beamer} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{graphicx} \graphicspath{{./graphics/}} \usepackage[ngerman]{babel} \usepackage{longtable,capt-of,fvextra,csquotes} \usepackage{wrapfig,rotating} \usepackage[normalem]{ulem} \usepackage{amsmath,amssymb} \usepackage{hyperref} \usepackage{listings,minted} \usepackage[duration=20]{pdfpc} \usetheme{metropolis} \author{Julius Freudenberger} \date{Hackathon Sommersemester 2022} \title{WYSIWYAF with \LaTeX} \mode{\usetheme{metropolis}} \mode{\metroset{sectionpage=progressbar}} \mode{\metroset{subsectionpage=progressbar}} \mode{\metroset{block=fill}} \institute[Hochschule Esslingen]{Hochschule Esslingen} \hypersetup{ pdfauthor={Julius Freudenberger}, pdftitle={WYSIWYAF with LaTeX}, pdfkeywords={}, pdfsubject={}, pdflang={German}, colorlinks, linkcolor=black, citecolor=black, filecolor=black, urlcolor=blue } \usepackage{biblatex} \begin{document} \maketitle \begin{frame}[fragile]{Bevor wir beginnen: Was brauche ich?} \begin{itemize} \item \LaTeX-Distribution: \TeX{}Live \begin{itemize} \item Windows: \href{https://tug.org/texlive/windows.html}{https://tug.org/texlive/windows.html} %TODO MikTeX? \item Mac: \href{https://tug.org/mactex/}{https://tug.org/mactex/} \item Linux: Installation über den Paketmanager \begin{itemize} \item deb: \verb|texlive-base| (deb), \verb|texlive texlive-latex| (rpm) \item Arch Linux: \verb|texlive-core| \item NixOS: \verb|nixpkgs.texlive.combined.scheme-basic| \end{itemize} \item Docker: \verb|texlive/texlive| \end{itemize} \item Texteditor \begin{itemize} \item VSCode mit \LaTeX-Workshop, vim mit 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} \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 \glqq{}kompiliert\grqq{} \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{itemize} \item Automatischer Textsatz \item Automatische Referenzen \item Automatisches Layout \end{itemize} \end{frame} \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, beamer) - Präambel - Metadaten (Titel, Autor, Datum) - Zusätzliche Pakete - Einstellungen - Eigentliches Dokument } \inputminted{latex}{codebeispiele/aufbau.tex} \end{frame} \begin{frame}{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} \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 \glqq{}Schnelles Übersetzen\grqq{} \item mittels Docker und Docker Compose: %TODO \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. - 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 Eigene Abschnitte mit \verb|\section{} und \subsection{}| \item Metadaten ändern \begin{itemize} \item Titel des Dokuments ändern mit \verb|\title{}| \item Eigener Name als Autor mit \verb|\author{}| \end{itemize} \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{center} \centering \begin{minted}{latex} \begin{itemize} \item Erster Punkt \item Zweiter Punkt \end{itemize} \end{minted} \end{center} \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} \begin{frame}[fragile]{Verweise} \begin{itemize} \item Label setzen: \verb|\label{}| \item Abschnitt referenzieren: \verb|\ref{}| \item Seite referenzieren: \verb|\pageref{}| \item Referenz nutzt immer aktuellste Abschnittnummer und Seitenzahl \item zur Aktualisierung doppelte Durchläufe notwendig \end{itemize} \end{frame} \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{minipage}{.4\textwidth} \input{codebeispiele/math-inline} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/math-inline.tex} \end{minipage} \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} \begin{minipage}{.4\textwidth} \input{codebeispiele/math-block} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/math-block.tex} \end{minipage} \end{frame} \begin{frame}[fragile]{Mathematik --- Gleichung} \begin{itemize} \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{minipage}{.4\textwidth} \input{codebeispiele/math-equation} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/math-equation.tex} \end{minipage} \end{frame} \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{itemize} \item Automatische Positionierung im Text \item Referenzierung mit Nummerierung über Label \end{itemize} \begin{minipage}[c]{.4\textwidth} \input{codebeispiele/graphics-figure} \end{minipage} \hfill \begin{minipage}[c]{.5\textwidth} \inputminted{latex}{codebeispiele/graphics-figure.tex} \end{minipage} \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 Befehle werden nicht ausgeführt \end{itemize} \begin{minipage}{.4\textwidth} \input{codebeispiele/listings-verbatim.tex} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/listings-verbatim.tex} \end{minipage} \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{minipage}{.4\textwidth} \input{codebeispiele/listings-lstlistings.tex} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/listings-lstlistings.tex} \end{minipage} \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 \end{itemize} \begin{minipage}{.4\textwidth} \input{codebeispiele/listings-minted.tex} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/listings-minted.tex} \end{minipage} \end{frame} \begin{frame}[fragile]{Code aus Datei einbinden} \begin{itemize} \item besonders geeignet für längere Codeauszüge \end{itemize} \begin{minipage}{.4\textwidth} \input{codebeispiele/listings-from-file.tex} \end{minipage} \hfill \begin{minipage}{.5\textwidth} \inputminted{latex}{codebeispiele/listings-from-file.tex} \end{minipage} \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}{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{itemize} \item Lebenslauf mit \verb|moderncv| \item Anschreiben mit \verb|dinbrief| \end{itemize} \begin{center} \includegraphics[height=.7\textheight]{Lebenslauf} \hspace{1em} \includegraphics[height=.7\textheight]{Anschreiben} \end{center} \end{frame} \begin{frame}{Wohin bei Problemen?} \begin{itemize} \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}