From fdb4cb5d6069cfef3bfcff25747582afcc68aaa8 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Fri, 19 Sep 2025 08:29:30 +0200 Subject: [PATCH 1/9] Start splitting presentations --- aufbaukurs.tex | 178 +++++++++++++++++++++++++++++++++++++++++++++++++ workshop.tex | 46 +------------ 2 files changed, 181 insertions(+), 43 deletions(-) create mode 100644 aufbaukurs.tex diff --git a/aufbaukurs.tex b/aufbaukurs.tex new file mode 100644 index 0000000..e074b91 --- /dev/null +++ b/aufbaukurs.tex @@ -0,0 +1,178 @@ +\documentclass[presentation,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\graphicspath{{./graphics/}} +\usepackage[ngerman]{babel} +\usepackage{longtable,capt-of,fvextra,csquotes} +\MakeOuterQuote{"} +\usepackage{wrapfig,rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath,amssymb} +\usepackage{hyperref} +\usepackage{listings,minted} +\usepackage[duration=20]{pdfpc} +\usetheme{metropolis} +\author{Julius Freudenberger} +\date{Cyberweek Sommersemester 2025} +\title{WYSIWYAF with \LaTeX} +\subtitle{Wissenschaftliche Arbeiten oder Präsentationen mit \LaTeX -- Fortgeschrittene} +\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{ + pdfauthor={Julius Freudenberger}, + pdftitle={WYSIWYAF with LaTeX -- Aufbaukurs}, + 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 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{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} + +\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{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} + +\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/workshop.tex b/workshop.tex index 1537435..612590a 100644 --- a/workshop.tex +++ b/workshop.tex @@ -14,9 +14,9 @@ \usepackage[duration=20]{pdfpc} \usetheme{metropolis} \author{Julius Freudenberger} -\date{Cyberweek Wintersemester 2024/2025} +\date{Cyberweek Sommersemester 2025} \title{WYSIWYAF with \LaTeX} -\subtitle{Wissenschaftliche Arbeiten oder Präsentationen mit \LaTeX} +\subtitle{Einstieg in Wissenschaftliche Arbeiten mit \LaTeX} \mode{\usetheme{metropolis}} \mode{\metroset{sectionpage=progressbar}} \mode{\metroset{subsectionpage=progressbar}} @@ -760,47 +760,6 @@ \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} @@ -827,6 +786,7 @@ \begin{frame}{Was kann \LaTeX{} noch?} \begin{itemize} + \item Präsentationen \item Zeichnen mit TikZ \item Plotting mit pdfPlots \item Chemische Formeln mit chemfig From 4a6704d2d2f460bdacd1a16a3e2b636c916c393f Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Fri, 19 Sep 2025 23:20:50 +0200 Subject: [PATCH 2/9] Add section about acro --- aufbaukurs.tex | 87 +++++++++++++++++++- codebeispiele/acro-german-different-case.tex | 1 + codebeispiele/acro-german-plurals.tex | 1 + codebeispiele/acro-german.tex | 1 + codebeispiele/acro-setup.tex | 6 ++ codebeispiele/acro-usage.tex | 11 +++ codebeispiele/acro-used-acronyms.tex | 12 +++ 7 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 codebeispiele/acro-german-different-case.tex create mode 100644 codebeispiele/acro-german-plurals.tex create mode 100644 codebeispiele/acro-german.tex create mode 100644 codebeispiele/acro-setup.tex create mode 100644 codebeispiele/acro-usage.tex create mode 100644 codebeispiele/acro-used-acronyms.tex diff --git a/aufbaukurs.tex b/aufbaukurs.tex index e074b91..244a1fd 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -3,12 +3,13 @@ \usepackage[T1]{fontenc} \usepackage{graphicx} \graphicspath{{./graphics/}} -\usepackage[ngerman]{babel} +\usepackage[ngerman,english]{babel} \usepackage{longtable,capt-of,fvextra,csquotes} \MakeOuterQuote{"} \usepackage{wrapfig,rotating} \usepackage[normalem]{ulem} \usepackage{amsmath,amssymb} +\usepackage{acro} \usepackage{hyperref} \usepackage{listings,minted} \usepackage[duration=20]{pdfpc} @@ -35,6 +36,9 @@ filecolor=black, urlcolor=blue } + +\input{codebeispiele/acro-used-acronyms.tex} + \usepackage{biblatex} \begin{document} @@ -100,8 +104,85 @@ \inputminted{latex}{codebeispiele/list-of-everything.tex} \end{frame} -\begin{frame}[fragile]{Verzeichnisse im Inhaltsverzeichnis} - \inputminted{latex}{codebeispiele/lists-in-toc.tex} +\section{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} \section{Präsentationen} diff --git a/codebeispiele/acro-german-different-case.tex b/codebeispiele/acro-german-different-case.tex new file mode 100644 index 0000000..ed06737 --- /dev/null +++ b/codebeispiele/acro-german-different-case.tex @@ -0,0 +1 @@ +Wir widmen uns dem \acfp{ufo}. diff --git a/codebeispiele/acro-german-plurals.tex b/codebeispiele/acro-german-plurals.tex new file mode 100644 index 0000000..c2e5a20 --- /dev/null +++ b/codebeispiele/acro-german-plurals.tex @@ -0,0 +1 @@ +\aclp{sw} diff --git a/codebeispiele/acro-german.tex b/codebeispiele/acro-german.tex new file mode 100644 index 0000000..8472a4a --- /dev/null +++ b/codebeispiele/acro-german.tex @@ -0,0 +1 @@ +\acf{api} diff --git a/codebeispiele/acro-setup.tex b/codebeispiele/acro-setup.tex new file mode 100644 index 0000000..c617b23 --- /dev/null +++ b/codebeispiele/acro-setup.tex @@ -0,0 +1,6 @@ +% Präambel +\usepackage{arco} +\DeclareAcronym{api}{short=API, + long=Application Programming Interface} +% min. short und long müssen gegeben sein +% erster Parameter is id diff --git a/codebeispiele/acro-usage.tex b/codebeispiele/acro-usage.tex new file mode 100644 index 0000000..60f0cb8 --- /dev/null +++ b/codebeispiele/acro-usage.tex @@ -0,0 +1,11 @@ +\ac{zB} +\\% automatisch (1. Mal voll, +% danach Abk.) +\ac{zB}\\ +\acs{zB} +\\% Abkürzung +\acl{zB} +\\% lange Form +\acf{zB} +% volle Form (lange Form +% und Abkürzung in Klammern) diff --git a/codebeispiele/acro-used-acronyms.tex b/codebeispiele/acro-used-acronyms.tex new file mode 100644 index 0000000..f6691f1 --- /dev/null +++ b/codebeispiele/acro-used-acronyms.tex @@ -0,0 +1,12 @@ +\acsetup{locale/display,locale/format=\emph} +\DeclareAcronym{zB}{short=z.\,B.,long=zum Beispiel} +\DeclareAcronym{api}{short=API, + long=Programmierschnittstelle, + foreign=Application Programming Interface, + foreign-locale=englisch, + foreign-babel=english} +\DeclareAcronym{sw}{short=SW,long=Sammelwerk,long-plural=e} +\DeclareAcronym{ufo}{short=UFO, + long=unidentifiziertes Flugobjekt, + long-plural-form=unidentifizierten Flugobjekt, + short-plural=} From ae31b4d9bbab6607778fc68f37b7b045e3f4b037 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Sat, 20 Sep 2025 19:01:44 +0200 Subject: [PATCH 3/9] Add section about glossaries --- aufbaukurs.tex | 45 +++++++++++++++++++++++++ codebeispiele/glossaries-setup.tex | 11 ++++++ codebeispiele/glossaries-usage.tex | 2 ++ codebeispiele/glossaries-used-words.tex | 8 +++++ 4 files changed, 66 insertions(+) create mode 100644 codebeispiele/glossaries-setup.tex create mode 100644 codebeispiele/glossaries-usage.tex create mode 100644 codebeispiele/glossaries-used-words.tex diff --git a/aufbaukurs.tex b/aufbaukurs.tex index 244a1fd..a3cb871 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -10,6 +10,9 @@ \usepackage[normalem]{ulem} \usepackage{amsmath,amssymb} \usepackage{acro} +\usepackage[nonumberlist]{glossaries} +\makeglossaries +\renewcommand{\glossarysection}[2][]{} \usepackage{hyperref} \usepackage{listings,minted} \usepackage[duration=20]{pdfpc} @@ -38,6 +41,7 @@ } \input{codebeispiele/acro-used-acronyms.tex} +\input{codebeispiele/glossaries-used-words.tex} \usepackage{biblatex} @@ -185,6 +189,47 @@ \end{columns} \end{frame} +\section{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 \mint{latex}{\makeglossaries} \mint{latex}{\makenoidxglossaries} nutzen + \item dann wird Sortierung intern gemacht (langsamer) + \item zum Anzeigen des Glossars dann \mint{latex}{\printnoidxglossaries} + \end{itemize} +\end{frame} + \section{Präsentationen} \begin{frame}[fragile]{Präsentationen} diff --git a/codebeispiele/glossaries-setup.tex b/codebeispiele/glossaries-setup.tex new file mode 100644 index 0000000..a2bcf90 --- /dev/null +++ b/codebeispiele/glossaries-setup.tex @@ -0,0 +1,11 @@ +% Präambel +\usepackage{glossaries} +\makeglossaries + +\newglossaryentry{latex} +{ + name=\LaTeX, + description={Markupsprache, die besonders für + wissenschaftliche Dokumente und + Präsentationen geeignet ist} +} diff --git a/codebeispiele/glossaries-usage.tex b/codebeispiele/glossaries-usage.tex new file mode 100644 index 0000000..090c924 --- /dev/null +++ b/codebeispiele/glossaries-usage.tex @@ -0,0 +1,2 @@ +Dieses Dokument wurde in +\gls{latex} gesetzt. diff --git a/codebeispiele/glossaries-used-words.tex b/codebeispiele/glossaries-used-words.tex new file mode 100644 index 0000000..def10eb --- /dev/null +++ b/codebeispiele/glossaries-used-words.tex @@ -0,0 +1,8 @@ +\newglossaryentry{latex} +{ + name=\LaTeX, + description={Markupsprache, die besonders für + wissenschaftliche Dokumente und + Präsentationen geeignet ist} +} + From 0b02644b64de8aac6bd2a503bbccb4d5ef2cf8b0 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Sat, 20 Sep 2025 19:03:50 +0200 Subject: [PATCH 4/9] Add more file endings to gitignore --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 33cd122..5e230db 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,10 @@ # latexrun latex.out/ +## Files from failed runs +*.bbl-SAVE-ERROR +*.bcf-SAVE-ERROR + ## Auxiliary and intermediate files from other packages: # algorithms *.alg @@ -121,7 +125,7 @@ acs-*.bib *.sls # uncomment this for glossaries-extra (will ignore makeindex's style files!) -# *.ist +*.ist # gnuplot *.gnuplot From 5c89671e5dbf1142196b23818db53d8fd5f4a48b Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Sun, 21 Sep 2025 19:27:13 +0200 Subject: [PATCH 5/9] Add section about scrbook --- aufbaukurs.tex | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/aufbaukurs.tex b/aufbaukurs.tex index a3cb871..abf244b 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -230,6 +230,32 @@ \end{itemize} \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} From f8afcdae3d2dd4550bb33bfa6ea42557cc60672a Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Sun, 21 Sep 2025 19:27:38 +0200 Subject: [PATCH 6/9] Smaller fixes for embedded code examples --- aufbaukurs.tex | 4 ++-- codebeispiele/acro-setup.tex | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/aufbaukurs.tex b/aufbaukurs.tex index abf244b..13cd797 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -224,9 +224,9 @@ \item Erstellung des Glossars geschieht mittels externem Befehl (ähnlich wie bei Literaturverzeichnissen) \item \verb|> makeglossaries | \vspace{1em} - \item alternativ: anstatt \mint{latex}{\makeglossaries} \mint{latex}{\makenoidxglossaries} nutzen + \item alternativ: anstatt \verb|\makeglossaries| \verb|\makenoidxglossaries| nutzen \item dann wird Sortierung intern gemacht (langsamer) - \item zum Anzeigen des Glossars dann \mint{latex}{\printnoidxglossaries} + \item zum Anzeigen des Glossars dann \verb|\printnoidxglossaries| \end{itemize} \end{frame} diff --git a/codebeispiele/acro-setup.tex b/codebeispiele/acro-setup.tex index c617b23..7a48e99 100644 --- a/codebeispiele/acro-setup.tex +++ b/codebeispiele/acro-setup.tex @@ -1,5 +1,6 @@ % Präambel \usepackage{arco} + \DeclareAcronym{api}{short=API, long=Application Programming Interface} % min. short und long müssen gegeben sein From 0f647aec003e2178c3d61374eb71f5daab001594 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Tue, 23 Sep 2025 23:14:06 +0200 Subject: [PATCH 7/9] Add section about tables and longtable --- aufbaukurs.tex | 102 +++++++++++++++++++++++++++++- codebeispiele/table-float.tex | 9 +++ codebeispiele/table-longtable.tex | 13 ++++ codebeispiele/table-simple.tex | 7 ++ codebeispiele/table-tabularx.tex | 7 ++ 5 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 codebeispiele/table-float.tex create mode 100644 codebeispiele/table-longtable.tex create mode 100644 codebeispiele/table-simple.tex create mode 100644 codebeispiele/table-tabularx.tex diff --git a/aufbaukurs.tex b/aufbaukurs.tex index 13cd797..7bfd7a7 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -4,7 +4,7 @@ \usepackage{graphicx} \graphicspath{{./graphics/}} \usepackage[ngerman,english]{babel} -\usepackage{longtable,capt-of,fvextra,csquotes} +\usepackage{tabularx,longtable,capt-of,fvextra,csquotes} \MakeOuterQuote{"} \usepackage{wrapfig,rotating} \usepackage[normalem]{ulem} @@ -101,6 +101,106 @@ \tableofcontents \end{frame} +\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} + +\section{} + \begin{frame}[fragile]{Weitere Verzeichnisse} \begin{itemize} \item automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für Abbildungen, Codelistings (Abkürzungen, Stichwörter, Bibliographie, \dots) diff --git a/codebeispiele/table-float.tex b/codebeispiele/table-float.tex new file mode 100644 index 0000000..5eaa5b9 --- /dev/null +++ b/codebeispiele/table-float.tex @@ -0,0 +1,9 @@ +\begin{table} + \begin{tabular}{c|c|c} + Hallo & Beispiel & Ende \\ + \hline + Dies & ist & Zeile 2 \\ + \end{tabular} + \caption{Beispieltabelle mit + Beschriftung} +\end{table} diff --git a/codebeispiele/table-longtable.tex b/codebeispiele/table-longtable.tex new file mode 100644 index 0000000..f76d173 --- /dev/null +++ b/codebeispiele/table-longtable.tex @@ -0,0 +1,13 @@ +\begin{longtable}{c|c} + Wird \emph{nur} auf der & ersten Seite oben gezeigt \\ + \endfirsthead + Wird auf \emph{jeder} & Seite oben gezeigt \\ + % Funktioniert nur leider in Präsentationen nicht + \endhead + Wird auf \emph{jeder} & Seite unten gezeigt \\ + \endfoot + Wird \emph{nur} auf der & letzten Seite unten gezeigt \\ + \endlastfoot + Normaler & Inhalt \\ + der & Tabelle \\ +\end{longtable} diff --git a/codebeispiele/table-simple.tex b/codebeispiele/table-simple.tex new file mode 100644 index 0000000..3e86918 --- /dev/null +++ b/codebeispiele/table-simple.tex @@ -0,0 +1,7 @@ +\begin{tabular}{|l|c|r|} + \hline + Hallo & Beispiel & Ende \\ + \hline + Dies & ist & Zeile 2 \\ + \hline +\end{tabular} diff --git a/codebeispiele/table-tabularx.tex b/codebeispiele/table-tabularx.tex new file mode 100644 index 0000000..6adcd0b --- /dev/null +++ b/codebeispiele/table-tabularx.tex @@ -0,0 +1,7 @@ +\begin{tabularx}{\textwidth}{X|X|X} + % X sorgt für Umbruch + % und "stretcht" die Spalte + Hallo & Beispieltext & Ende \\ + \hline + Dies & ist & Zeile 2 \\ +\end{tabularx} From 85dd40caaaa0a308c5988adeedf8b6bd6de808c1 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Tue, 23 Sep 2025 23:14:35 +0200 Subject: [PATCH 8/9] Set main language to ngerman --- aufbaukurs.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aufbaukurs.tex b/aufbaukurs.tex index 7bfd7a7..461376f 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -3,7 +3,7 @@ \usepackage[T1]{fontenc} \usepackage{graphicx} \graphicspath{{./graphics/}} -\usepackage[ngerman,english]{babel} +\usepackage[main=ngerman,english]{babel} \usepackage{tabularx,longtable,capt-of,fvextra,csquotes} \MakeOuterQuote{"} \usepackage{wrapfig,rotating} From 1163a6039acc11c82ce681006605cdaa3f8ec350 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Tue, 23 Sep 2025 23:19:48 +0200 Subject: [PATCH 9/9] Make acronyms and glossaries subsections --- aufbaukurs.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aufbaukurs.tex b/aufbaukurs.tex index 461376f..4126b52 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -199,7 +199,7 @@ \input{codebeispiele/table-longtable.tex} \end{frame} -\section{} +\section{Weitere Verzeichnisse} \begin{frame}[fragile]{Weitere Verzeichnisse} \begin{itemize} @@ -208,7 +208,7 @@ \inputminted{latex}{codebeispiele/list-of-everything.tex} \end{frame} -\section{Abkürzungen} +\subsection{Abkürzungen} \begin{frame}{Abkürzungen mit acro} \begin{itemize} @@ -289,7 +289,7 @@ \end{columns} \end{frame} -\section{Glossar} +\subsection{Glossar} \begin{frame}{Glossar mit glossaries} \begin{itemize}