diff --git a/about-me.tex b/about-me.tex new file mode 100644 index 0000000..9b5faf9 --- /dev/null +++ b/about-me.tex @@ -0,0 +1,10 @@ +\begin{frame}{Über mich} + \textbf{B.\,Eng. Julius Freudenberger} + \begin{itemize} + \item 2000 geboren + \item 2016 erste Kontakte mit \LaTeX + \item 2019 -- 2023 Bachelorstudium an der Hochschule Esslingen + \item 2023 -- 2026(?) Masterstudium an der Hochschule Karlsruhe + \item nebenbei Werkstudent + \end{itemize} +\end{frame} diff --git a/codebeispiele/beamer-frame.tex b/codebeispiele/beamer-frame.tex new file mode 100644 index 0000000..109e688 --- /dev/null +++ b/codebeispiele/beamer-frame.tex @@ -0,0 +1,11 @@ +\documentclass[aspectratio=169]{beamer} +\usetheme{} + +\begin{frame}{Titel der Folie} + Hier kann jeder mögliche LaTeX-Code stehen +\end{frame} +\begin{frame}{Weitere Folie} + \begin{itemize} + \item Aufzählung + \end{itemize} +\end{frame} diff --git a/codebeispiele/beamer-overlays.tex b/codebeispiele/beamer-overlays.tex new file mode 100644 index 0000000..77525b6 --- /dev/null +++ b/codebeispiele/beamer-overlays.tex @@ -0,0 +1,8 @@ +\begin{frame} + \begin{itemize} + \item<1-> Auf allen Folien + \item<2> nur auf Folie 2 + \item<-3> nur bis Folie 3 + \only<4>{\includegraphics{picture}} + \end{itemize} +\end{frame} diff --git a/codebeispiele/bib-file.bib b/codebeispiele/bib-file.bib new file mode 100644 index 0000000..7eae221 --- /dev/null +++ b/codebeispiele/bib-file.bib @@ -0,0 +1,14 @@ +@book{kochbuch, + title = {Mathematik für das Ingenieurstudium}, + author = {Koch, Jürgen}, + editor = {Stämpfle, Martin}, + address = {München}, + publisher = {Hanser}, + year = {2018}, + edition = {4., aktualisierte Auflage}, + isbn = {9783446451667}, + doi = {10.3139/9783446455818}, +} + +@article{... + diff --git a/codebeispiele/example-filestructure.txt b/codebeispiele/example-filestructure.txt new file mode 100644 index 0000000..c2dee9d --- /dev/null +++ b/codebeispiele/example-filestructure.txt @@ -0,0 +1,14 @@ +|- main.tex # (includes every chapter*/chapter*.tex) +|- (preamble.tex) # (can also be included in main.tex) +|- chapter1 + | - chapter1.tex # (first paragraph of chapter + and includes all sections) + | - section1.tex + | - section2.tex +|- chapter2 + ... +|- bib + | - book.bib + | - thesis.bib +|- graphics +|- code diff --git a/codebeispiele/frame-fragile.tex b/codebeispiele/frame-fragile.tex new file mode 100644 index 0000000..1ee0226 --- /dev/null +++ b/codebeispiele/frame-fragile.tex @@ -0,0 +1,3 @@ +\begin{frame}[fragile]{Dieser Frame ist fragil} + Wegen der \verb|verbatim| Umgebung +\end{frame} diff --git a/codebeispiele/geometry.tex b/codebeispiele/geometry.tex new file mode 100644 index 0000000..6ceb0e0 --- /dev/null +++ b/codebeispiele/geometry.tex @@ -0,0 +1,3 @@ +\usepackage{geometry} +\geometry{a4paper, top=2.5cm, left=2.5cm, + right=2.5cm, bottom=2.5cm} diff --git a/codebeispiele/header-footer.tex b/codebeispiele/header-footer.tex new file mode 100644 index 0000000..23bfbdf --- /dev/null +++ b/codebeispiele/header-footer.tex @@ -0,0 +1,12 @@ +% Präambel +\pagestyle{scrheadings} +\ihead[]{\leftmark} +\ohead[]{\rightmark} +\ofoot[\pagemark]{\pagemark} + +% Dokument +\pagestyle{empty} +\tableofcontents +\listoffigures + +\pagestyle{scrheadings} diff --git a/codebeispiele/include-pdf.tex b/codebeispiele/include-pdf.tex new file mode 100644 index 0000000..be09eb4 --- /dev/null +++ b/codebeispiele/include-pdf.tex @@ -0,0 +1,15 @@ +\usepackage{pdfpages} % In der Präambel +\includepdf[pages=-]{.pdf} + +\includepdf[pages=-,landscape]{.pdf} % Seite im Querformat +\includepdf[pages=3,{},8-11]{.pdf} % Seiten 3, + % eine leere Seite und die Seiten 8 bis einschl. 11 + +\includepdf[pages=-,addtotoc={ + 1, % PDF-Seite, auf der das Label platziert werden soll + section, % Abschnittsname (oder chapter, subsection) + 2, % Level des Abschnitts (in Buch chapter -> 1; + % in Artikel section -> 1) + Überschrift, % erscheint unter diesem Text im TOC + label % kann zum Referenzieren genutzt werden +}]{.pdf} diff --git a/codebeispiele/include-svg.tex b/codebeispiele/include-svg.tex new file mode 100644 index 0000000..8776ef7 --- /dev/null +++ b/codebeispiele/include-svg.tex @@ -0,0 +1,5 @@ +% Präambel +\usepackage{graphicx} +\usepackage{svg} + +\includesvg{} diff --git a/codebeispiele/inclusion-literature.tex b/codebeispiele/inclusion-literature.tex new file mode 100644 index 0000000..2743441 --- /dev/null +++ b/codebeispiele/inclusion-literature.tex @@ -0,0 +1,12 @@ +\usepackage[ + backend=biber, % aktuellstes Backend + urldate=long, % langes, wortkarges Format (21. Januar 2010) + style=numeric, % Zitate im Text im Format: [1] + doi=true, url=true, % Anzeige von DOI/URL mit Zugangsdaten + sortcites=true, % Literaturverweise werden nach der + % Reihenfolge im Literaturverzeichnis sortiert + sorting=nty % Sortierung nach Name, Titel, Jahr + % Üblich nach IEEE ist "none" +]{biblatex} +\addbibresource{./bib/.bib} +\addbibresource{./bib/.bib} diff --git a/codebeispiele/landscape.tex b/codebeispiele/landscape.tex new file mode 100644 index 0000000..7418833 --- /dev/null +++ b/codebeispiele/landscape.tex @@ -0,0 +1,4 @@ +\usepackage{pdflscape} % In der Präambel +\begin{landscape} + Inhalt im Querformat +\end{landscape} diff --git a/codebeispiele/lists-in-toc.tex b/codebeispiele/lists-in-toc.tex new file mode 100644 index 0000000..547b65c --- /dev/null +++ b/codebeispiele/lists-in-toc.tex @@ -0,0 +1,8 @@ +\documentclass[ + listof=totoc, + index=totoc, + bibliography=totoc, + ... +] + +\setuptoc{toc}{totoc} % Nur wenn benötigt diff --git a/codebeispiele/math-brackets.tex b/codebeispiele/math-brackets.tex new file mode 100644 index 0000000..0c30b51 --- /dev/null +++ b/codebeispiele/math-brackets.tex @@ -0,0 +1,9 @@ +\begin{align*} + (\int_0^nf(x)dx) \\ + (\frac{3}{4}) \\ \\ + \left(\int_0^n + f\left(x\right)dx\right) \\ + \left(\frac{3}{4}\right) \\ + \left[\left(\frac{1}{3}\right) + x^3+C\right]_0^n +\end{align*} diff --git a/codebeispiele/parts-of-document.tex b/codebeispiele/parts-of-document.tex new file mode 100644 index 0000000..7167474 --- /dev/null +++ b/codebeispiele/parts-of-document.tex @@ -0,0 +1,9 @@ +\frontmatter % nur in Büchern +% römische Seitenzahlen +% Titelblatt, Verzeichnisse + +\mainmatter % nur in Büchern +% Inhalt, Kapitel + +\appendix +% Anhang diff --git a/codebeispiele/quotation.tex b/codebeispiele/quotation.tex new file mode 100644 index 0000000..ebc8712 --- /dev/null +++ b/codebeispiele/quotation.tex @@ -0,0 +1,5 @@ +% Präambel +\usepackage{csquotes} +\MakeOuterQuote{"} +% Im Text +So können "Anführungszeichen" gesetzt werden diff --git a/graphics/bibliothek.png b/graphics/bibliothek.png new file mode 100644 index 0000000..6c477fb Binary files /dev/null and b/graphics/bibliothek.png differ diff --git a/graphics/blb.png b/graphics/blb.png new file mode 100644 index 0000000..4d492d3 Binary files /dev/null and b/graphics/blb.png differ diff --git a/graphics/boss.png b/graphics/boss.png new file mode 100644 index 0000000..bde8dec Binary files /dev/null and b/graphics/boss.png differ diff --git a/graphics/pearson.png b/graphics/pearson.png new file mode 100644 index 0000000..b4e87a7 Binary files /dev/null and b/graphics/pearson.png differ diff --git a/graphics/springer.png b/graphics/springer.png new file mode 100644 index 0000000..58d5f67 Binary files /dev/null and b/graphics/springer.png differ diff --git a/workshop.tex b/workshop.tex index c30e754..1537435 100644 --- a/workshop.tex +++ b/workshop.tex @@ -5,6 +5,7 @@ \graphicspath{{./graphics/}} \usepackage[ngerman]{babel} \usepackage{longtable,capt-of,fvextra,csquotes} +\MakeOuterQuote{"} \usepackage{wrapfig,rotating} \usepackage[normalem]{ulem} \usepackage{amsmath,amssymb} @@ -13,11 +14,13 @@ \usepackage[duration=20]{pdfpc} \usetheme{metropolis} \author{Julius Freudenberger} -\date{Hackathon Sommersemester 2022} +\date{Cyberweek Wintersemester 2024/2025} \title{WYSIWYAF with \LaTeX} +\subtitle{Wissenschaftliche Arbeiten oder Präsentationen mit \LaTeX} \mode{\usetheme{metropolis}} \mode{\metroset{sectionpage=progressbar}} \mode{\metroset{subsectionpage=progressbar}} +\mode{\metroset{progressbar=frametitle}} \mode{\metroset{block=fill}} \institute[Hochschule Esslingen]{Hochschule Esslingen} \hypersetup{ @@ -48,13 +51,13 @@ \begin{itemize} \item deb: \verb|texlive-base|, rpm: \verb|texlive texlive-latex| \item Arch Linux: \verb|texlive-core| - \item NixOS: \verb|nixpkgs.texlive.combined.scheme-basic| + \item NixOS: \verb|nixpkgs.texliveBasic| \end{itemize} \item Docker: \verb|texlive/texlive| \end{itemize} \item Texteditor \begin{itemize} - \item VSCode mit \LaTeX-Workshop, vim mit vimtex + \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 @@ -65,6 +68,33 @@ \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} + +\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} + +\begin{frame}{Inhalt} + \tableofcontents +\end{frame} + +\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} @@ -73,7 +103,7 @@ \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 Quellcode wird "kompiliert" \item Dokument wird als PDF, PS, DVI oder sogar HTML ausgegeben \end{itemize} \end{frame} @@ -84,11 +114,23 @@ - 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} + \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} \begin{frame}{Wie sieht \LaTeX-Code aus?} @@ -107,18 +149,42 @@ - Dokumentenklasse (book, article, beamer) - Präambel - Metadaten (Titel, Autor, Datum) - - Zusätzliche Pakete + - 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}{Vorlage herunterladen} +\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|beamer| für Präsentationen + \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} + +\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} @@ -126,7 +192,7 @@ \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 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} @@ -136,21 +202,41 @@ \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 + +\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 @@ -158,15 +244,29 @@ \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{columns}[t] + \begin{column}{.3\textwidth} + \centering + \begin{minted}{latex} \begin{itemize} \item Erster Punkt \item Zweiter Punkt \end{itemize} - \end{minted} - \end{center} + \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} @@ -185,16 +285,34 @@ \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 und Seitenzahl + \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 @@ -214,13 +332,14 @@ \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} + \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} @@ -230,13 +349,16 @@ \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} + \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} @@ -246,25 +368,48 @@ \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} + \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{minipage}{.4\textwidth} - \input{codebeispiele/math-symbols} - \end{minipage} - \hfill - \begin{minipage}{.5\textwidth} - \inputminted{latex}{codebeispiele/math-symbols.tex} - \end{minipage} + \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| @@ -284,17 +429,32 @@ \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 Automatische Positionierung im Text - \item Referenzierung mit Nummerierung über Label + \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} - \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} @@ -314,15 +474,16 @@ \begin{itemize} \item kein Syntaxhighlighting und Zeilennummern \item Monospacefont - \item Befehle werden nicht ausgeführt + \item \LaTeX-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} + \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} @@ -330,13 +491,14 @@ \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} + \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} @@ -344,27 +506,32 @@ \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{minipage}{.4\textwidth} - \input{codebeispiele/listings-minted.tex} - \end{minipage} - \hfill - \begin{minipage}{.5\textwidth} - \inputminted{latex}{codebeispiele/listings-minted.tex} - \end{minipage} + \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{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} + \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} @@ -374,6 +541,300 @@ \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} + +\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} + +\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 Zeichnen mit TikZ + \item Plotting mit pdfPlots + \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 @@ -385,19 +846,25 @@ \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} + \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}{Wohin bei Problemen?} +\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}