Compiling the project +
+-
+
- +Only the main file has to be compiled to get the +complete PDF document. +
- Error messages include a reference to the corresponding +subfile. +
- Subfiles cannot be compiled on their own as they don’t have a +preamble. +
diff --git a/latex-weekend/index.html b/latex-weekend/index.html index dbb0b22..76b6da7 100644 --- a/latex-weekend/index.html +++ b/latex-weekend/index.html @@ -18,9 +18,9 @@ Weekend -
A Fachschaft WIAI workshop. Presented by Laetitia Hilgendorf, -Jessica Klarmann, Florian Knoch, Theresa Knoll, Jochen Mehlich, and -Hannah Rattenberger.
+A Fachschaft WIAI workshop. Presented by Alice, Christian, Clara, +Evelyn, Fabian, Florian, Jochen, Katharina, Kilian, Paul, and +Sandra.
@@ -37,7 +37,8 @@ Hannah Rattenberger.Goal: You are going to build your own little
-
LaTeX manual based on our LaTeX Script.
writing our source code including all the commands that structure the text semantically
TeXstudio (recommended), VS Codium (for advanced users, -instructions on Github)
+instructions on Github) @@ -248,12 +249,12 @@ instructions on EXstudio. It is -located in the root directory of the archive. -main-exercises.tex by pressing ⏩
+install-verification/main.tex in
+TEXstudio.Windows: In order to enable file endings, click the
@@ -619,19 +620,20 @@ register: e. g. \section*{}.
Close all open tabs from previous tasks.
+document-structure.tex. It is located in
the directory exercises/basic-document-structure.\documentclass{article}
+\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
-- In TeXstudio, right click on the file and select “Set as explicit
-root document.” Next, compile the file.
- As you may already have noticed, paragraphs are
marked as ‘
\\’. Use real paragraphs instead.
- Time to structure our document! Use LaTex commands to declare all
@@ -890,6 +892,85 @@ of section 2.
Close all open tabs from previous tasks.
+You will find a file named main.tex in the folder
+exercises/project-structure.
section1.tex and section2.tex.\input command.main-exercises.tex (in the root folder of the project
+archive). How do we include the different sections here?The pdfpages package allows for embedding entire PDF
+documents.
\includepdf[pages={<from>-<to>}]{<file>}
+Further options make multiple pages appear in tiles and change the +orientation to landscape, among other things. See the package documentation for a +complete list.
+ +It may be helpful to specify custom macros for often-used code.
+\newcommand{\<name>}[<parameter_count>][<default>]{<content>}
+In the script, we used these macros for margins and acronyms (see
+commands.tex for more examples):
\newcommand{\widefiguremargin}{-.22\textwidth}
+\newcommand{\acro}[1]{\textsc{\lowercase{#1}}}
+It is also possible to customize existing commands. \(\LaTeX\) even allows you to use programming +patterns like variables, conditionals, and loops. To learn more, have a +look at this +WikiBook chapter.
+ +You will find a file named main.tex in the folder
-exercises/project-structure.
section1.tex and section2.tex.\input command.main-exercises.tex (in the root folder of the project
-archive). How do we include the different sections here?The pdfpages package allows for embedding entire PDF
-documents.
\includepdf[pages={<from>-<to>}]{<file>}
-Further options make multiple pages appear in tiles and change the -orientation to landscape, among other things. See the package documentation for a -complete list.
- -It may be helpful to specify custom macros for often-used code.
-\newcommand{\<name>}[<parameter_count>][<default>]{<content>}
-In the script, we used these macros for margins and acronyms (see
-commands.tex for more examples):
\newcommand{\widefiguremargin}{-.22\textwidth}
-\newcommand{\acro}[1]{\textsc{\lowercase{#1}}}
-It is also possible to customize existing commands. \(\LaTeX\) even allows you to use programming -patterns like variables, conditionals, and loops. To learn more, have a -look at this -WikiBook chapter.
- -exercises/text-markup/markup.tex
using \emph{…}.
csquotes package.\textwidth).
package.
\usepackage{booktabs}
\begin{table}[<position>]
+ \caption{<caption>}
\begin{tabular}{<column definition>}
% table content
\end{tabular}
- \caption{<caption>}
\end{table}
Positioning works just like with graphics.
@@ -2786,7 +2792,7 @@ upon by typographers and should be avoided.\begin{tabular}{lll}
\toprule
- Column 1 & Column 2 & Column 3 \\
+ Column 1 & Column 2 & Column 3 \\
\midrule
Content a & Content b & Content c \\
Content e & Content f & Content g \\
@@ -2819,9 +2825,9 @@ upon by typographers and should be avoided.
\toprule
Language & Author & Year & File extension \\
\midrule
- C++ & Bjarne Stroustrup & 1985 & .cpp \\
- Java & James Gosling & 1998 & .java \\
- Python & Guido van Rossum & 1991 & .py \\
+ C++ & Bjarne Stroustrup & 1985 & .cpp \\
+ Java & James Gosling & 1998 & .java \\
+ Python & Guido van Rossum & 1991 & .py \\
\bottomrule
\end{tabular}
\end{table}
@@ -2883,9 +2889,9 @@ text on the left side of the table in order to
longtable package:
\usepackage{longtable}
\begin{longtable}{<column definition>}
- % table content
\caption{<caption>}
\label{<label>}
+ % table content
\end{longtable}
longtable
\begin{longtable}{<column definition>}
- % table content
\caption{<caption>}
\label{<label>}
+ % table content
\end{longtable}
longtable environment merges the
@@ -2944,7 +2950,7 @@ landscape orientation:
A & \cellcolor{yellow}yellow & cell \\
A & \cellcolor{yellow!25}lighter yellow & cell \\
\rowcolor[HTML]{FFDE21}
- A & yellow & row \\
+ A & yellow & row \\
\bottomrule
\end{tabular}
\begin{tabular}{lll}
\toprule
- Animal & Food & Size \\
+ Animal & Food & Size \\
\midrule
- horse & hay & large \\
- frog & flies & small \\
- fooboar & \multicolumn{2}{c}{unknown} \\
+ horse & hay & large \\
+ frog & flies & small \\
+ fooboar & \multicolumn{2}{c}{unknown} \\
\bottomrule
\end{tabular}
\usepackage{makecell}
\begin{tabular}{ll}
\toprule
- Name & Description \\
+ Name & Description \\
\midrule
Cat & \makecell[l]{small \\ likes to sleep} \\
- Dog & \makecell[l]{loyal \\ needs walks} \\
+ Dog & \makecell[l]{loyal \\ needs walks} \\
\bottomrule
\end{tabular}
\begin{tabular}{lp{4cm}}
\toprule
- Item & Description \\
+ Item & Description \\
\midrule
- Chair & Four legs, one surface \\
+ Chair & Four legs, one surface \\
Table & Like a chair but different \\
\bottomrule
\end{tabular}
@@ -3051,12 +3057,11 @@ content.
\begin{table}[h]
\begin{tabular}{llr}
\toprule
- Structure & \multicolumn{2}{l}{Access time complexity} \\ \cmidrule(r){2-3}
- & Average & Worst \\
+ Structure & \multicolumn{2}{l}{Access time complexity} \\ \cmidrule(r){2-3} & Average & Worst \\
\midrule
- Stack & $\mathcal{O}(n)$ & $\mathcal{O}(n)$ \\
- Binary tree & $\mathcal{O}(log(n))$ & $\mathcal{O}(n)$ \\
- AVL tree & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
+ Stack & $\mathcal{O}(n)$ & $\mathcal{O}(n)$ \\
+ Binary tree & $\mathcal{O}(log(n))$ & $\mathcal{O}(n)$ \\
+ AVL tree & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
\bottomrule
\end{tabular}
\end{table}
@@ -3110,11 +3115,8 @@ tables:
\usepackage{hyperref}
-Footnotes are automatically numbered consecutively, independent of +
Footnotes are automatically numbered consecutively, independent of sections.
-(Here, hyperref is used for the \url
-command, it is not necessary for footnotes per se.)
The wild boar (\textit{Sus scrofa}), also
known as the wild swine, common wild pig,
or simply wild pig, is a suid native to
@@ -3137,7 +3139,7 @@ wiki/Wild_boar}}
Manually (just don’t!)
-As you can see in figure 23, …
+As you can see in Figure 23, …
Using the \ref command:
\begin{figure}[H]
\includegraphics % …
@@ -3262,12 +3264,12 @@ section command.
Inserting footnotes
-- Make the text “released in September 2023” in file
+
- Make the text “as of 2025” in file
exercises/footnotes/footnotes.tex appear as a
footnote.
-- Additionally, insert a clickable URL that leads to
-the download page for the Java Development Kit
-(
https://www.oracle.com/java/technologies/javase-downloads.html).
+- Additionally, reference the corresponding blog post
+in the footnote: https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/
+
\Cref for the references.\lstinputlisting command. Use the
@@ -3500,6 +3503,32 @@ programming language Java..bib
file) for storing referencesPreparing TeXstudio:
+BibLaTeX
+Biber
+.bib file?
@article{turing1990, % the type of the document and an identifier for the \cite command
title={The chemical basis of morphogenesis}, % information
@@ -3536,6 +3575,11 @@ LaTeX
date={1990}, % follows
publisher={Springer} % …
}
+[1] Note: Even though we are working with BibLaTeX, +our bibliography file adheres to the conventions of BibTeX, which is an +alternative program. The name has been established for all kinds of +things related to LaTeX citations. This is similar to the way we refer +to online search by the name of one popular search engine.
@@ -3548,7 +3592,7 @@ LaTeXSome well-meaning advice
@@ -3557,10 +3601,6 @@ LaTeXThis conversely means: Avoid fiddling around with styles manually.
-@@ -3611,6 +3651,10 @@ backend=biber]{biblatex}Two things are infinite: the universe and the assortment of citation -styles.Unknown
-
\usepackage[style=numeric, citestyle=ieee,
backend=biber]{biblatex}
++@@ -3731,14 +3775,12 @@ dashed=false, url=false, backend=biber]{biblatex}Two things are infinite: the universe and the assortment of citation +styles.Unknown
+
An exemplary reference in the citation style above:
-\textcite{thatcher2002} or in parentheses
-\parencite{thatcher2002}.
-
-\printbibliography
+… in parentheses \parencite{thatcher2002}
+or simply as \textcite{thatcher2002} …
alpha bibliography style.alphabetic bibliography style.exercises/literature/literature.tex.keep updated to true
.bib-file
-BibLaTeX
-Biber
-Ein Workshop der Fachschaft WIAI. Präsentiert von -Laetitia Hilgendorf, Jessica Klarmann, Florian Knoch, Theresa Knoll, -Jochen Mehlich und Hannah Rattenberger.
+Ein Workshop der Fachschaft WIAI. Präsentiert von Alice, Christian, +Clara, Evelyn, Fabian, Florian, Jochen, Katharina, Kilian, Paul und +Sandra.
@@ -35,8 +35,9 @@ Jochen Mehlich und Hannah Rattenberger.Ziel: Wir arbeiten zusammen unser LaTeX-Skript durch, -das ihr nach dem Workshop als kompakte Referenz verwenden könnt.
+Ziel: Wir arbeiten zusammen unser LaTeX-Skript +durch, das ihr nach dem Workshop als kompakte Referenz verwenden +könnt.
Windows: Um Dateiendungen zu aktivieren, klickt auf das Ansichts-Tab im Dateiexplorer und wählt Dateiendungen. So -könnt ihr besser zwischen den einzelnen main-Files unterscheiden.
+könnt ihr besser zwischen den einzelnenmain-Dateien
+unterscheiden.
*« versehen, also z. B.
Schließt alle offenen Tabs aus vorherigen +Aufgaben.
+document-structure.tex, die im Ordner
exercises/basic-document-structure liegt.\documentclass{article}
+\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
-- Öffnet mittels Rechtsklick auf die Datei das Kontextmenü und setzt
-die Datei als explizites Root-Dokument. Kompiliert sie
-anschließend.
- Wie ihr sehen könnt, sind in der Datei die Absätze im Dokument mit
\\ erstellt worden. Ersetzt diese durch richtige
Absätze.
@@ -895,6 +898,89 @@ Inhalt von Abschnitt 2.
Schließt alle offenen Tabs aus vorherigen +Aufgaben.
+Im Ordner exercises/project-structure findet ihr eine
+Datei namens main.tex.
section1.tex und
+section2.tex und verschiebt die Abschnitte in diese.\input-Befehls.main-exercises.tex im Wurzelverzeichnis.
+Wie binden wir hier die einzelnen Abschnitte ein?Das Paket pdfpages erlaubt das Einbetten ganzer
+PDF-Dokumente.
\includepdf[pages={<from>-<to>}]{<file>}
+Weitere Parameter lassen mehrere Seiten in Kacheln nebeneinander +erscheinen oder ändern die Ausrichtung zu Querformat. Die Paket-Dokumentation enthält +eine abschließende Liste aller Möglichkeiten.
+ +Manchmal ist es nützlich, oft genutzten Codes durch Makros zu +vereinfachen.
+\newcommand{\<name>}[<parameter_count>][<default>]{<content>}
+Im Skript haben wir solche Makros unter anderem verwendet, um
+Abstände und Akronyme zu definieren (siehe commands.tex für
+weitere Beispiele):
\newcommand{\widefiguremargin}{-.22\textwidth}
+\newcommand{\acro}[1]{\textsc{\lowercase{#1}}}
+Es ist auch möglich, bestehende Befehle anzupassen. \(\LaTeX\) erlaubt es sogar, +Programmierkonstrukte wie Variablen, Verzweigungen und Schleifen zu +nutzen. Für weitere Einblicke dient dieses Kapitel des +WikiBooks.
+ +Im Ordner exercises/project-structure findet ihr eine
-Datei namens main.tex.
section1.tex und
-section2.tex und verschiebt die Abschnitte in diese.\input-Befehls.main-exercises.tex im Wurzelverzeichnis.
-Wie binden wir hier die einzelnen Abschnitte ein?Das Paket pdfpages erlaubt das Einbetten ganzer
-PDF-Dokumente.
\includepdf[pages={<from>-<to>}]{<file>}
-Weitere Parameter lassen mehrere Seiten in Kacheln nebeneinander -erscheinen oder ändern die Ausrichtung zu Querformat. Die Paket-Dokumentation enthält -eine abschließende Liste aller Möglichkeiten.
- -Manchmal ist es nützlich, oft genutzten Codes durch Makros zu -vereinfachen.
-\newcommand{\<name>}[<parameter_count>][<default>]{<content>}
-Im Skript haben wir solche Makros unter anderem verwendet, um
-Abstände und Akronyme zu definieren (siehe commands.tex für
-weitere Beispiele):
\newcommand{\widefiguremargin}{-.22\textwidth}
-\newcommand{\acro}[1]{\textsc{\lowercase{#1}}}
-Es ist auch möglich, bestehende Befehle anzupassen. \(\LaTeX\) erlaubt es sogar, -Programmierkonstrukte wie Variablen, Verzweigungen und Schleifen zu -nutzen. Für weitere Einblicke dient dieses Kapitel des -WikiBooks.
- -\emph{…}.
csquotes.booktabs.
\usepackage{booktabs}
\begin{table}[<position>]
+ \caption{<tabellenüberschrift>}
\begin{tabular}{<spaltendefinition>}
% Tabelleninhalt
\end{tabular}
- \caption{<tabellenunterschrift>}
\end{table}
Die Positionierung erfolgt analog zu Grafiken.
@@ -2835,9 +2846,9 @@ Typograph*innen nicht gern gesehen und sollten vermieden werden. \toprule Sprache & Autor & Erscheinungsjahr & Dateiendung \\ \midrule - C++ & Bjarne Stroustrup & 1985 & .cpp \\ - Java & James Gosling & 1998 & .java \\ - Python & Guido van Rossum & 1991 & .py \\ + C++ & Bjarne Stroustrup & 1985 & .cpp \\ + Java & James Gosling & 1998 & .java \\ + Python & Guido van Rossum & 1991 & .py \\ \bottomrule \end{tabular} \end{table} @@ -2898,9 +2909,9 @@ der Tabelle hinzu, in der ihr die Lehrveranstaltungen Paketlongtable:
\usepackage{longtable}
\begin{longtable}{<spaltendefinition>}
- % Tabelleninhalt
- \caption{<tabellenunterschrift>}
+ \caption{<tabellenüberschrift>}
\label{<label>}
+ % Tabelleninhalt
\end{longtable}
@@ -2913,9 +2924,9 @@ Paket longtable:
longtable
\begin{longtable}{<spaltendefinition>}
- % Tabelleninhalt
- \caption{<tabellenunterschrift>}
+ \caption{<tabellenüberschrift>}
\label{<label>}
+ % Tabelleninhalt
\end{longtable}
longtable-Umgebung vereint die
@@ -2957,7 +2968,7 @@ auch im Querformat dargestellt werden:
\begin{tabular}{lll}
\toprule
Eine & \cellcolor{yellow}gelbe & Zelle \\
- Ein & \cellcolor{yellow!25}helleres & Gelb \\
+ Ein & \cellcolor{yellow!25}helleres & Gelb \\
\rowcolor[HTML]{FFDE21}
Eine & gelbe & Zeile \\
\bottomrule
@@ -2985,11 +2996,11 @@ angegeben werden.\begin{tabular}{lll}
\toprule
- Tier & Futter & Größe \\
+ Tier & Futter & Größe \\
\midrule
- Pferd & Heu & groß \\
- Frosch & Fliegen & klein \\
- Fooboar & \multicolumn{2}{c}{unbekannt} \\
+ Pferd & Heu & groß \\
+ Frosch & Fliegen & klein \\
+ Fooboar & \multicolumn{2}{c}{unbekannt} \\
\bottomrule
\end{tabular}
\usepackage{makecell}
\begin{tabular}{ll}
\toprule
- Name & Beschreibung \\
+ Name & Beschreibung \\
\midrule
Katze & \makecell[l]{klein \\ schläft gerne} \\
- Hund & \makecell[l]{treu \\ braucht Spaziergänge} \\
+ Hund & \makecell[l]{treu \\ braucht Spaziergänge} \\
\bottomrule
\end{tabular}
\begin{tabular}{lp{4cm}}
\toprule
- Gegenstand & Beschreibung \\
+ Gegenstand & Beschreibung \\
\midrule
- Stuhl & Vier Beine, eine Fläche \\
- Tisch & Wie ein Stuhl, aber anders \\
+ Stuhl & Vier Beine, eine Fläche \\
+ Tisch & Wie ein Stuhl, aber anders \\
\bottomrule
\end{tabular}
@@ -3067,12 +3078,11 @@ Breite um.
\begin{table}[h]
\begin{tabular}{llr}
\toprule
- Struktur & \multicolumn{2}{l}{Zeitkomplexität für Zugriff} \\ \cmidrule(r){2-3}
- & Average & Worst \\
+ Struktur & \multicolumn{2}{l}{Zeitkomplexität für Zugriff} \\ \cmidrule(r){2-3} & Average & Worst \\
\midrule
- Stack & $\mathcal{O}(n)$ & $\mathcal{O}(n)$ \\
+ Stack & $\mathcal{O}(n)$ & $\mathcal{O}(n)$ \\
Binärbaum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
- AVL-Baum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
+ AVL-Baum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
\bottomrule
\end{tabular}
\end{table}
@@ -3126,8 +3136,7 @@ Tabellen:
\usepackage{hyperref}
-Die Nummerierung erfolgt automatisch und ist fortlaufend, unabhängig +
Die Nummerierung erfolgt automatisch und ist fortlaufend, unabhängig davon, ob ein neuer Abschnitt beginnt.
Eber, beim Hausschwein insbesondere
oberdeutsch Saubär, beim Wildschwein
@@ -3275,13 +3284,13 @@ angefügt.
Fußnoten einfügen
-- Verschiebt den Text „released in September 2023“ in der
-Datei
exercises/footnotes/footnotes.tex in eine
+ - Verschiebt den Text „as of 2025“ in der Datei
+
exercises/footnotes/footnotes.tex in eine
Fußnote.
-- Fügt zusätzlich eine klickbare URL, die zur
-Download-Seite des Java Development Kit führt
-(
https://www.oracle.com/java/technologies/javase-downloads.html),
-als Fußnote ein.
+- Fügt zusätzlich eine klickbare URL bei, die zum
+zugehörigen Blogpost
+(https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/)
+führt.
\Cref..bib-Datei) zur Speicherung von LiteraturverweisenTeXstudio vorbereiten:
+BibLaTeX
+Biber
+.bib-Datei?
@article{turing1990, % Art des Dokuments und Bezeichner für den \cite Befehl
@@ -3553,6 +3599,11 @@ und LaTeX
date={1990}, % Erscheinungsjahr
publisher={Springer} % Verleger des Journals
}
+[1] Hinweis: Auch wenn wir mit BibLaTeX arbeiten, +folgt unsere Bibliographie-Datei dem Format des alternativen Programms +BibTeX. Der Name hat sich für verschiedene Dinge im Zusammenhang mit +LaTeX-Referenzen etabliert, ähnlich wie wir spezielle Suchmaschinen im +Sprachgebrauch für alle Suchanfragen im Netz verwenden.
@@ -3576,10 +3627,6 @@ Voreinstellungen.Das heißt im Umkehrschluss: Möglichst wenig manuell an den Zitationen herumschrauben.
--@@ -3631,6 +3678,10 @@ backend=biber]{biblatex}Zwei Dinge sind unendlich. Das Universum und die Auswahl an -Zitierstilen.Unbekannt
-
\usepackage[style=numeric, citestyle=ieee,
backend=biber]{biblatex}
++@@ -3751,14 +3802,12 @@ dashed=false, url=false, backend=biber]{biblatex}Zwei Dinge sind unendlich. Das Universum und die Auswahl an +Zitierstilen.Unbekannt
+
Ein Beispielzitat im obigen Zitierstil:
-\textcite{thatcher2002} oder in Klammern
-\parencite{thatcher2002}.
-
-\printbibliography
+… in Klammern \parencite{thatcher2002} oder
+einfach als \textcite{thatcher2002} …
exercises/literature/literature.tex.alpha.alphabetic..bib-Datei
-BibLaTeX
-Biber
-
+
+
+
+