This commit is contained in:
Never Gude 2026-04-20 19:11:44 +02:00
parent 1b7368089a
commit c9d7939233
17 changed files with 434 additions and 1135 deletions

View file

@ -7,8 +7,8 @@
\providecommand\HyField@AuxAddToFields[1]{} \providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{} \providecommand\HyField@AuxAddToCoFields[2]{}
\providecommand\BKM@entry[2]{} \providecommand\BKM@entry[2]{}
\BKM@entry{id=1,dest={73656374696F6E2E31},srcline={10},srcfile={2F686F6D652F6E657665722F446F63756D656E74732F496E4E612F32365F536F53652F4147542F6167745F65786572636973652FFC62756E675F312F6167745FFC62756E675F312E746578}}{5C3337365C3337375C303030535C303030705C303030615C3030306E5C3030306E5C303030625C3030305C3334345C303030755C3030306D5C303030655C3030305C3034305C3030305C3034365C3030305C3034305C303030425C303030725C303030655C303030695C303030745C303030655C3030306E5C303030735C303030755C303030635C303030685C30303065} \BKM@entry{id=1,dest={73656374696F6E2E31},srcline={1},srcfile={2E2F617566676162655F312E746578}}{5C3337365C3337375C303030535C303030705C303030615C3030306E5C3030306E5C303030625C3030305C3334345C303030755C3030306D5C303030655C3030305C3034305C3030305C3034365C3030305C3034305C303030425C303030725C303030655C303030695C303030745C303030655C3030306E5C303030735C303030755C303030635C303030685C30303065}
\BKM@entry{id=2,dest={73656374696F6E2E32},srcline={57},srcfile={2F686F6D652F6E657665722F446F63756D656E74732F496E4E612F32365F536F53652F4147542F6167745F65786572636973652FFC62756E675F312F6167745FFC62756E675F312E746578}}{5C3337365C3337375C3030304B5C303030725C303030655C303030695C303030735C303030735C303030755C303030635C303030685C30303065} \BKM@entry{id=2,dest={73656374696F6E2E32},srcline={1},srcfile={2E2F617566676162655F322E746578}}{5C3337365C3337375C3030304B5C303030725C303030655C303030695C303030735C303030735C303030755C303030635C303030685C30303065}
\babel@aux{ngerman}{} \babel@aux{ngerman}{}
\@writefile{toc}{\contentsline {section}{\numberline {1}Spannbäume \& Breitensuche}{1}{section.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {1}Spannbäume \& Breitensuche}{1}{section.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces $\mitpi $-Zeiger des Breitensuchbaums und MSB blau hinterlegt.}}{1}{figure.1}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces $\mitpi $-Zeiger des Breitensuchbaums und MSB blau hinterlegt.}}{1}{figure.1}\protected@file@percent }
@ -16,8 +16,8 @@
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Tiefensuchbaum in orange und MSB blau hinterlegt.}}{2}{figure.2}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Tiefensuchbaum in orange und MSB blau hinterlegt.}}{2}{figure.2}\protected@file@percent }
\newlabel{fig:dfs}{{2}{2}{Tiefensuchbaum in orange und MSB blau hinterlegt}{figure.2}{}} \newlabel{fig:dfs}{{2}{2}{Tiefensuchbaum in orange und MSB blau hinterlegt}{figure.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Kreissuche}{2}{section.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {2}Kreissuche}{2}{section.2}\protected@file@percent }
\BKM@entry{id=3,dest={73656374696F6E2E33},srcline={135},srcfile={2F686F6D652F6E657665722F446F63756D656E74732F496E4E612F32365F536F53652F4147542F6167745F65786572636973652FFC62756E675F312F6167745FFC62756E675F312E746578}}{5C3337365C3337375C303030455C303030755C3030306C5C303030655C303030725C303030775C303030655C303030675C30303065} \BKM@entry{id=3,dest={73656374696F6E2E33},srcline={1},srcfile={2E2F617566676162655F332E746578}}{5C3337365C3337375C303030455C303030755C3030306C5C303030655C303030725C303030775C303030655C303030675C30303065}
\BKM@entry{id=4,dest={73656374696F6E2E34},srcline={161},srcfile={2F686F6D652F6E657665722F446F63756D656E74732F496E4E612F32365F536F53652F4147542F6167745F65786572636973652FFC62756E675F312F6167745FFC62756E675F312E746578}}{5C3337365C3337375C303030475C303030725C303030615C303030705C303030685C3030306D5C3030306F5C303030645C303030655C3030306C5C3030306C5C303030695C303030655C303030725C303030755C3030306E5C30303067} \BKM@entry{id=4,dest={73656374696F6E2E34},srcline={1},srcfile={2E2F617566676162655F342E746578}}{5C3337365C3337375C303030475C303030725C303030615C303030705C303030685C3030306D5C3030306F5C303030645C303030655C3030306C5C3030306C5C303030695C303030655C303030725C303030755C3030306E5C30303067}
\@writefile{toc}{\contentsline {section}{\numberline {3}Eulerwege}{3}{section.3}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3}Eulerwege}{3}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Graphmodellierung}{3}{section.4}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {4}Graphmodellierung}{3}{section.4}\protected@file@percent }
\gdef \@abspage@last{4} \gdef \@abspage@last{4}

View file

@ -1,5 +1,5 @@
# Fdb version 4 # Fdb version 4
["lualatex"] 1776689922.84723 "/home/never/Documents/InNa/26_SoSe/AGT/agt_exercise/übung_1/agt_übung_1.tex" "agt_übung_1.pdf" "agt_übung_1" 1776689924.63041 0 ["lualatex"] 1776697900.74979 "/home/never/Documents/InNa/26_SoSe/AGT/agt_exercise/übung_1/agt_übung_1.tex" "agt_übung_1.pdf" "agt_übung_1" 1776697902.55915 0
"/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/euler-math.luc" 1770519352.28514 417132 89f085d929a7f52a226e499fed2b660f "" "/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/euler-math.luc" 1770519352.28514 417132 89f085d929a7f52a226e499fed2b660f ""
"/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-bold.luc" 1770519351.28214 128405 86240d2e88c12243734a13e4bf6704ec "" "/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-bold.luc" 1770519351.28214 128405 86240d2e88c12243734a13e4bf6704ec ""
"/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc" 1770519350.86413 127322 64667bb671c8def3fa5d85c341ebd817 "" "/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc" 1770519350.86413 127322 64667bb671c8def3fa5d85c341ebd817 ""
@ -17,7 +17,7 @@
"/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/texgyrepagella-regular.luc" 1770519351.40914 310182 64e3ff98a9959bea5d737ee8b9a06ff2 "" "/home/never/.texlive2025/texmf-var/luatex-cache/generic/fonts/otl/texgyrepagella-regular.luc" 1770519351.40914 310182 64e3ff98a9959bea5d737ee8b9a06ff2 ""
"/home/never/.texlive2025/texmf-var/luatex-cache/generic/names/luaotfload-lookup-cache.luc" 1776608606.25376 23014 4a1f49530b644afddd7c9abad44fb6f5 "" "/home/never/.texlive2025/texmf-var/luatex-cache/generic/names/luaotfload-lookup-cache.luc" 1776608606.25376 23014 4a1f49530b644afddd7c9abad44fb6f5 ""
"/home/never/.texlive2025/texmf-var/luatex-cache/generic/names/luaotfload-names.luc.gz" 1770519350.80013 381420 8c34679872cd58fe28bd24cc6f0940ba "" "/home/never/.texlive2025/texmf-var/luatex-cache/generic/names/luaotfload-names.luc.gz" 1770519350.80013 381420 8c34679872cd58fe28bd24cc6f0940ba ""
"/home/never/Documents/InNa/26_SoSe/AGT/agt_exercise/übung_1/agt_übung_1.tex" 1776689920.30511 5918 404e74808326e7cb118bd3c5e2c239db "" "/home/never/Documents/InNa/26_SoSe/AGT/agt_exercise/übung_1/agt_übung_1.tex" 1776697897.66689 304 d56b2c71c7672c3ab6ee2cdcfe258fc5 ""
"/home/never/texmf/tex/latex/ngexrcs/ngexrcs.cls" 1776614186.59271 2041 f7d79ac75cecdfbe676fa2a93e60930b "" "/home/never/texmf/tex/latex/ngexrcs/ngexrcs.cls" 1776614186.59271 2041 f7d79ac75cecdfbe676fa2a93e60930b ""
"/home/never/texmf/tex/latex/ngutils/ngutils.sty" 1776618253.70411 4493 7f39562722b52c0e9a76c17c4438174e "" "/home/never/texmf/tex/latex/ngutils/ngutils.sty" 1776618253.70411 4493 7f39562722b52c0e9a76c17c4438174e ""
"/usr/local/texlive/2025/texmf-dist/fonts/opentype/public/euler-math/Euler-Math.otf" 1761682777 433104 26cb5ed06a913ce89a33ff41234f5c7a "" "/usr/local/texlive/2025/texmf-dist/fonts/opentype/public/euler-math/Euler-Math.otf" 1761682777 433104 26cb5ed06a913ce89a33ff41234f5c7a ""
@ -171,8 +171,12 @@
"/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1770517628 5541377 824b1e5beafd2ebda40585373b35bb6b "" "/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1770517628 5541377 824b1e5beafd2ebda40585373b35bb6b ""
"/usr/local/texlive/2025/texmf-var/tex/generic/config/language.dat" 1770517624.99251 6800 99336720d16c8191172704bea65615e7 "" "/usr/local/texlive/2025/texmf-var/tex/generic/config/language.dat" 1770517624.99251 6800 99336720d16c8191172704bea65615e7 ""
"/usr/local/texlive/2025/texmf-var/web2c/luahbtex/lualatex.fmt" 1770517696 5655839 756767735d369e65a483b47207bff649 "" "/usr/local/texlive/2025/texmf-var/web2c/luahbtex/lualatex.fmt" 1770517696 5655839 756767735d369e65a483b47207bff649 ""
"agt_übung_1.aux" 1776689924.38713 2915 9d880eef7bcc0cb3af62e0b7eba25b39 "lualatex" "agt_übung_1.aux" 1776697902.28891 2429 81986a9a774647930a5ac9e94cda7c51 "lualatex"
"agt_übung_1.tex" 1776689920.30511 5918 404e74808326e7cb118bd3c5e2c239db "" "agt_übung_1.tex" 1776697897.66689 304 d56b2c71c7672c3ab6ee2cdcfe258fc5 ""
"aufgabe_1.tex" 1776697508.46334 1313 9a143a43ac6e7341ab427860198035fe ""
"aufgabe_2.tex" 1776697727.20732 2574 4462577f3400843a00f378bf393c326c ""
"aufgabe_3.tex" 1776697749.8824 1092 7e430e37e65a2141c25db6271e3e6e91 ""
"aufgabe_4.tex" 1776697772.78547 718 3d1c5acc0d22695136e721c12d5042b8 ""
"dfs.eps" 1776689817.37668 5896 bfdfa03e5701d0b1d7555aa426023dcf "" "dfs.eps" 1776689817.37668 5896 bfdfa03e5701d0b1d7555aa426023dcf ""
"msb.eps" 1776424417.18606 5913 81dafb89427e3a448260b7481993e119 "" "msb.eps" 1776424417.18606 5913 81dafb89427e3a448260b7481993e119 ""
(generated) (generated)

View file

@ -174,9 +174,13 @@ OUTPUT agt_übung_1.pdf
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmmi7.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmmi7.tfm
INPUT ./aufgabe_1.tex
INPUT ./msb-eps-converted-to.pdf INPUT ./msb-eps-converted-to.pdf
INPUT ./msb-eps-converted-to.pdf INPUT ./msb-eps-converted-to.pdf
INPUT ./dfs-eps-converted-to.pdf INPUT ./dfs-eps-converted-to.pdf
INPUT ./dfs-eps-converted-to.pdf INPUT ./dfs-eps-converted-to.pdf
INPUT ./aufgabe_2.tex
INPUT /usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map INPUT /usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map
INPUT ./aufgabe_3.tex
INPUT ./aufgabe_4.tex
INPUT ./agt_übung_1.aux INPUT ./agt_übung_1.aux

View file

@ -1,8 +1,7 @@
This is LuaHBTeX, Version 1.22.0 (TeX Live 2025) (format=lualatex 2026.2.8) 20 APR 2026 14:58 This is LuaHBTeX, Version 1.22.0 (TeX Live 2025) (format=lualatex 2026.2.8) 20 APR 2026 18:53
restricted system commands enabled. restricted system commands enabled.
**/home/never/Documents/InNa/26_SoSe/AGT/agt_exercise/übung_1/agt_übung_1.tex **agt_übung_1.tex
(./agt_übung_1.tex
(/home/never/Documents/InNa/26_SoSe/AGT/agt_exercise/übung_1/agt_übung_1.tex
LaTeX2e <2025-11-01> LaTeX2e <2025-11-01>
L3 programming layer <2026-01-19> L3 programming layer <2026-01-19>
Lua module: luaotfload 2024-12-03 v3.29 Lua based OpenType font support Lua module: luaotfload 2024-12-03 v3.29 Lua based OpenType font support
@ -40,8 +39,7 @@ Inserting `luaotfload.aux.fixup_fontdata' in `luaotfload.patch_font_unsafe'.
Inserting `luaotfload.aux.set_capheight' in `luaotfload.patch_font'. Inserting `luaotfload.aux.set_capheight' in `luaotfload.patch_font'.
Inserting `luaotfload.aux.set_xheight' in `luaotfload.patch_font'. Inserting `luaotfload.aux.set_xheight' in `luaotfload.patch_font'.
Inserting `luaotfload.rewrite_fontname' in `luaotfload.patch_font'. Inserting `luaotfload.rewrite_fontname' in `luaotfload.patch_font'.
Inserting `tracingstacklevels' in `input_level_string'. (/home/never/texmf/tex/ Inserting `tracingstacklevels' in `input_level_string'. (./ngexrcs.cls
latex/ngexrcs/ngexrcs.cls
Document Class: ngexrcs 2021/12/21 ADS Exercise class Document Class: ngexrcs 2021/12/21 ADS Exercise class
(/usr/local/texlive/2025/texmf-dist/tex/latex/koma-script/scrartcl.cls (/usr/local/texlive/2025/texmf-dist/tex/latex/koma-script/scrartcl.cls
Document Class: scrartcl 2026/02/02 v3.49.2 KOMA-Script document class (article Document Class: scrartcl 2026/02/02 v3.49.2 KOMA-Script document class (article
@ -190,9 +188,8 @@ Package typearea Info: These are the values describing the layout:
(typearea) \footskip = 47.6pt (typearea) \footskip = 47.6pt
(typearea) \baselineskip = 13.6pt (typearea) \baselineskip = 13.6pt
(typearea) on input line 15. (typearea) on input line 15.
(/home/never/texmf/tex/latex/ngutils/ngutils.sty (./ngutils.sty
Package: ngutils 2025/12/24 Never's LaTeX utils Package: ngutils 2025/12/24 Never's LaTeX utils
(/usr/local/texlive/2025/texmf-dist/tex/generic/babel/babel.sty (/usr/local/texlive/2025/texmf-dist/tex/generic/babel/babel.sty
Package: babel 2026/01/26 v26.2 The multilingual framework for LuaLaTeX, pdfLaT Package: babel 2026/01/26 v26.2 The multilingual framework for LuaLaTeX, pdfLaT
eX and XeLaTeX eX and XeLaTeX
@ -1301,7 +1298,7 @@ Class scrartcl Info: loading recommended package `bookmark'.
(scrartcl) `bookmarkpackage=false' before \begin{document} and (scrartcl) `bookmarkpackage=false' before \begin{document} and
(scrartcl) you can avoid this message adding: (scrartcl) you can avoid this message adding:
(scrartcl) \usepackage{bookmark} (scrartcl) \usepackage{bookmark}
(scrartcl) before \begin{document} on input line 7. (scrartcl) before \begin{document} on input line 9.
(/usr/local/texlive/2025/texmf-dist/tex/latex/bookmark/bookmark.sty (/usr/local/texlive/2025/texmf-dist/tex/latex/bookmark/bookmark.sty
Package: bookmark 2023-12-10 v1.31 PDF bookmarks (HO) Package: bookmark 2023-12-10 v1.31 PDF bookmarks (HO)
@ -1316,26 +1313,26 @@ Package babel Info: 'ngerman' activates 'german' shorthands.
) )
\openout1 = agt_übung_1.aux \openout1 = agt_übung_1.aux
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7. LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 7. LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 7. LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9.
LaTeX Font Info: ... okay on input line 7. LaTeX Font Info: ... okay on input line 9.
(/usr/local/texlive/2025/texmf-dist/tex/context/base/mkii/supp-pdf.mkii (/usr/local/texlive/2025/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).] [Loading MPS to PDF converter (version 2006.09.02).]
@ -1360,61 +1357,43 @@ File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e e
)) ))
\c@lstlisting=\count345 \c@lstlisting=\count345
Package tocbasic Info: setting babel extension for `lol' on input line 7. Package tocbasic Info: setting babel extension for `lol' on input line 9.
\scr@dte@lstlisting@maxnumwidth=\skip73 \scr@dte@lstlisting@maxnumwidth=\skip73
Package hyperref Info: Link coloring OFF on input line 7. Package hyperref Info: Link coloring OFF on input line 9.
\g__cctab_next_cctab=\catcodetable17 \g__cctab_next_cctab=\catcodetable17
Package epstopdf Info: Source file: <msb.eps>
(epstopdf) date: 2026-04-17 13:13:37 (./aufgabe_1.tex
(epstopdf) size: 5913 bytes <figures.pdf, id=5, page=1, pagebox=artbox, 141.52875pt x 146.7111pt>
(epstopdf) Output file: <msb-eps-converted-to.pdf> File: figures.pdf Graphic file (type pdf)
(epstopdf) date: 2026-04-17 13:14:32 <use figures.pdf, page 1>
(epstopdf) size: 3745 bytes Package luatex.def Info: figures.pdf , page1 used on input line 26.
(epstopdf) Command: <repstopdf --outfile=msb-eps-converted-to.pdf m (luatex.def) Requested size: 71.69984pt x 74.32692pt.
sb.eps> <figures.pdf, id=7, page=2, pagebox=artbox, 141.52875pt x 144.25092pt>
(epstopdf) \includegraphics on input line 35. File: figures.pdf Graphic file (type pdf)
Package epstopdf Info: Output file is already uptodate. <use figures.pdf, page 2>
<msb-eps-converted-to.pdf, id=5, 140.525pt x 145.54375pt> Package luatex.def Info: figures.pdf , page2 used on input line 41.
File: msb-eps-converted-to.pdf Graphic file (type pdf) (luatex.def) Requested size: 71.69984pt x 73.08054pt.
<use msb-eps-converted-to.pdf>
Package luatex.def Info: msb-eps-converted-to.pdf used on input line 35.
(luatex.def) Requested size: 71.69984pt x 74.25963pt.
Package epstopdf Info: Source file: <dfs.eps>
(epstopdf) date: 2026-04-20 14:56:57
(epstopdf) size: 5896 bytes
(epstopdf) Output file: <dfs-eps-converted-to.pdf>
(epstopdf) date: 2026-04-20 14:57:58
(epstopdf) size: 3721 bytes
(epstopdf) Command: <repstopdf --outfile=dfs-eps-converted-to.pdf d
fs.eps>
(epstopdf) \includegraphics on input line 50.
Package epstopdf Info: Output file is already uptodate.
<dfs-eps-converted-to.pdf, id=7, 140.525pt x 143.53625pt>
File: dfs-eps-converted-to.pdf Graphic file (type pdf)
<use dfs-eps-converted-to.pdf>
Package luatex.def Info: dfs-eps-converted-to.pdf used on input line 50.
(luatex.def) Requested size: 71.69984pt x 73.23537pt.
LaTeX Warning: `h' float specifier changed to `ht'. LaTeX Warning: `h' float specifier changed to `ht'.
[1 ) (./aufgabe_2.tex [1
{/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}<./msb-eps {/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}<./figures
-converted-to.pdf>] [2<./dfs-eps-converted-to.pdf>] .pdf>] [2<./figures.pdf>]) (./aufgabe_3.tex
Overfull \hbox (2.21837pt too wide) in paragraph at lines 153--155 Overfull \hbox (2.21837pt too wide) in paragraph at lines 19--21
\TU/TeXGyrePagella(0)/m/n/10.95 kann nicht exis-tie-ren, da die Sum-me al-ler Kn \TU/TeXGyrePagella(0)/m/n/10.95 kann nicht exis-tie-ren, da die Sum-me al-ler Kn
o-ten mit un-ge-ra-dem Grad o-ten mit un-ge-ra-dem Grad
[] []
) (./aufgabe_4.tex
Overfull \hbox (2.02118pt too wide) in paragraph at lines 163--169 Overfull \hbox (2.02118pt too wide) in paragraph at lines 3--9
\TU/TeXGyrePagella(0)/m/n/10.95 wer-den, wenn be-stimm-te an-de-re Auf-ga-ben ab \TU/TeXGyrePagella(0)/m/n/10.95 wer-den, wenn be-stimm-te an-de-re Auf-ga-ben ab
- ge-schlos-sen sind. - ge-schlos-sen sind.
[] []
[3] [4] (./agt_übung_1.aux) [3]) [4] (./agt_übung_1.aux)
*********** ***********
LaTeX2e <2025-11-01> LaTeX2e <2025-11-01>
L3 programming layer <2026-01-19> L3 programming layer <2026-01-19>
@ -1422,30 +1401,28 @@ L3 programming layer <2026-01-19>
) )
Here is how much of LuaTeX's memory you used: Here is how much of LuaTeX's memory you used:
22908 strings out of 476076 22934 strings out of 476076
100000,1373583 words of node,token memory allocated 100000,1373583 words of node,token memory allocated
3192 words of node memory still in use: 3192 words of node memory still in use:
61 hlist, 40 vlist, 38 rule, 9 local_par, 78 glue, 31 kern, 9 penalty, 20 gly 61 hlist, 40 vlist, 38 rule, 9 local_par, 78 glue, 31 kern, 9 penalty, 20 gly
ph, 213 attribute, 62 glue_spec, 107 attribute_list, 1 write nodes ph, 213 attribute, 62 glue_spec, 107 attribute_list, 1 write nodes
avail lists: 1:1,2:655,3:303,4:4,5:433,6:52,7:4721,8:16,9:476,10:4,11:478 avail lists: 1:1,2:649,3:303,4:4,5:433,6:52,7:4721,8:16,9:473,10:4,11:478
45020 multiletter control sequences out of 65536+600000 45027 multiletter control sequences out of 65536+600000
118 fonts using 28706879 bytes 115 fonts using 27962135 bytes
122i,8n,114p,11297b,574s stack positions out of 10000i,1000n,20000p,200000b,200000s 122i,8n,114p,11236b,574s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/local/texlive/2025/texmf-dist/fonts/opentype/public/euler-math/Euler-Math. </usr/local/texlive/2025/texmf-dist/fonts/opentype/public/euler-math/Euler-Math.
otf></usr/local/texlive/2025/texmf-dist/fonts/opentype/public/tex-gyre/texgyrepa otf></usr/local/texlive/2025/texmf-dist/fonts/opentype/public/tex-gyre/texgyrepa
gella-italic.otf></usr/local/texlive/2025/texmf-dist/fonts/opentype/public/tex-g gella-italic.otf></usr/local/texlive/2025/texmf-dist/fonts/opentype/public/euler
yre/texgyrepagella-regular.otf></usr/local/texlive/2025/texmf-dist/fonts/opentyp -math/Euler-Math.otf></usr/local/texlive/2025/texmf-dist/fonts/opentype/public/t
e/public/euler-math/Euler-Math.otf></usr/local/texlive/2025/texmf-dist/fonts/ope ex-gyre/texgyrepagella-regular.otf></usr/local/texlive/2025/texmf-dist/fonts/ope
ntype/public/tex-gyre/texgyrepagella-regular.otf></usr/local/texlive/2025/texmf- ntype/public/tex-gyre/texgyrepagella-bold.otf></usr/local/texlive/2025/texmf-dis
dist/fonts/opentype/public/tex-gyre/texgyrepagella-bold.otf></usr/local/texlive/ t/fonts/opentype/public/tex-gyre/texgyreheros-regular.otf></usr/local/texlive/20
2025/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros-regular.otf></usr/lo 25/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros-bold.otf></usr/local/t
cal/texlive/2025/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros-bold.otf exlive/2025/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros-italic.otf>
></usr/local/texlive/2025/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros Output written on agt_übung_1.pdf (4 pages, 49645 bytes).
-italic.otf>
Output written on agt_übung_1.pdf (4 pages, 48895 bytes).
PDF statistics: 132 PDF objects out of 1000 (max. 8388607) PDF statistics: 126 PDF objects out of 1000 (max. 8388607)
94 compressed objects within 1 object stream 84 compressed objects within 1 object stream
17 named destinations out of 1000 (max. 131072) 17 named destinations out of 1000 (max. 131072)
33 words of extra memory for PDF output out of 10000 (max. 100000000) 33 words of extra memory for PDF output out of 10000 (max. 100000000)

Binary file not shown.

Binary file not shown.

View file

@ -1,5 +1,7 @@
\documentclass{ngexrcs} \documentclass{ngexrcs}
\usepackage{hyperref} \usepackage{hyperref}
\setkeys{Gin}{pagebox=artbox, width=0.2\textwidth}
\title{1. Übungsblatt} \title{1. Übungsblatt}
\subject{Algorithmische Graphentheorie} \subject{Algorithmische Graphentheorie}
\author{Jasper Gude \and Pia Röttgers} \author{Jasper Gude \and Pia Röttgers}
@ -7,173 +9,10 @@
\begin{document} \begin{document}
\maketitle \maketitle
\points[\qquad]{20} \points[\qquad]{20}
\section{Spannbäume \& Breitensuche}
Sei $G = \tup{V, E}$ ein zusammenhängender Graph mit Kantengewichten $w: E \to \NN$
und $s \in V \deg$ ein ausgezeichneter Knoten.
\begin{tasks}
\item
\begin{quote}
Wenn $w(e) = 1$ für alle $e \in E$, dann ist der Breitensuchbaum mit
Quelle $s$ ein minimaler Spannbaum.
\end{quote}
Die Breitensuche berechnet in diesem
Fall den kürzesten Weg von jedem Knoten zum Knoten $s$, also den
Breitensuchbaum. Dieser spannt also einen minimalen Spannbaum auf.
\points{2}
\item
\begin{quote}
Wenn $w(e) = 1$ für alle $e \in E$, dann ist jeder minimale Spannbaum
von $G$ ein Breitensuchbaum mit Quelle $s$.
\end{quote}
Falsch, siehe \autoref{fig:msb}.
\points{2}
\begin{figure}[h]
\centering
\includegraphics[width=0.2\textwidth]{msb.eps}
\caption{$\pi$-Zeiger des Breitensuchbaums und MSB blau hinterlegt.}
\label{fig:msb}
\end{figure}
\item
\begin{quote}
Wenn $w(e) \in \set{1, 2, 3}$ für alle $e \in E$, dann ist jeder minimale
Spannbaum von $G$ ein Tiefensuchbaum mit Quelle $s$.
\end{quote}
Falsch, siehe \autoref{fig:dfs}. Der Minimale Spannbaum kann kein Tiefensuchbaum
sein.
\points{2}
\begin{figure}[h]
\centering
\includegraphics[width=0.2\textwidth]{dfs.eps}
\caption{Tiefensuchbaum in orange und MSB blau hinterlegt.}
\label{fig:dfs}
\end{figure}
\end{tasks}
\section{Kreissuche}
\begin{tasks}
\item
Wähle Startknoten $s$ und füge ihn in eine neue Queue $Q$ ein.
Nimm den vordersten Knoten $u$ aus $Q$ und füge seine noch nicht entdeckten (weißen)
Nachbarn ein und färbe sie grau. Wenn einer der Nachbarn schon entdeckt wurde,
also grau ist, gibt es einen Kreis in $G$.
Markiere den Knoten $u$ als abgeschlossen ($black$) und entferne ihn aus $Q$
Wiederhole den Schritt solange bis $Q$ leer ist.
% \begin{pseudocode}[caption=Hello World Algorithmische]
% EinfacherKreis(|Graph| $G$, |Vertex| $s$)
% Initialize($G$, $s$)
% $Q \gets$ new Queue
% $Q.$Enqueue($s$)
% $t_1 \gets nil$
% $t_2 \gets s$
% // Comment
% while $Q \neq \emptyset$ do
% $u \gets Q.$Dequeue
% $t_1 \gets t_2$
% $t_2 \gets u$
% foreach $v \in Adj[u]$ do
% if $v.color = white$ then
% $Q.$Enqueue($v$)
% $u.color \gets black$
% if $t_1 = t_2$ then
% return $true$
% else
% return $false$
% \end{pseudocode}
\begin{algorithm}[h]
\centering
\begin{algorithmic}
\alg{EinfacherKreis}{Graph $G$, Vertex $s$} \+ \\
\alg{Initialize}{$G$, $s$} \com{So wie in der Breitensuche} \\
$Q \gets$ new \alg{Queue}{} \\
$Q.$\alg{Enqueue}{$s$} \\
while $Q \neq \emptyset$ do \+ \\
$u \gets Q.$\alg{Dequeue}{} \\
$u.color \gets gray$ \\
foreach $v \in Adj[u]$ do \+ \\
\com{Füge alle noch nicht entdeckten Knoten ein} \\
if $v.color = white$ then \+ \\
$v.color \gets gray$ \\
$Q.$\alg{Enqueue}{$v$} \- \\
\com{Wenn ein Knoten schon entdeckt wurde, gibt es einen Kreis} \\
else return $true$ \- \\
$u.color \gets black$ \- \\
return $false$
\end{algorithmic}
\end{algorithm}
\points{4}
\item
Dadurch, dass wir nur Knoten
einfügen, die noch nicht entdeckt wurden, können wir nie auf dem selben Pfad
zu einem Knoten kommen. Das heißt, wenn wir einen schon entdeckten Knoten
finden, haben wir einen Kreis im Graphen gefunden.
Der Algorithmus kann aufgrund der Struktur des Graphens (kein Multigraph,
keine Selbstkanten) nur Kreise der Länge mindestens 3 finden.
Jeder Knoten wird nur einmal in die Queue eingefügt und nur einmal herausgenommen.
Somit läuft der Algorithmus in $\Oh(\abs{V})$.
\points{2}
\item
Solange es weiße Knoten im Graphen gibt, wählen wir einen neuen Startknoten
für diese Zusammenhangskomponente. Als Ausgabe geben wir ein Array von
Tupeln $\tup{s_i, c_i}$ zurück, wobei $s_i$ der Startknoten einer
Zusammenhangskomponente und $c_i \in \set{true, false}$ der Wahrheitswert, ob
ein Kreis in der Komponente existiert.
\points{1}
\end{tasks}
\section{Eulerwege}
\begin{quote}
Sei $G = \tup{V, E}$ ein ungerichteter, zusammenhängender Graph. Dann gilt: $G$ hat genau
dann einen Eulerweg, wenn die Anzahl an Knoten $v \in V$, für die gilt, dass $deg(v)$
ungerade ist, genau $0$ oder $2$ ist.
\end{quote}
\begin{itemize}
\item[$\seilpmi$]
1. Fall: $0$ Knoten mit ungeradem Grad. Nach dem Satz in der Vorlesung
gibt es einen Eulerkreis. Im Eulerweg sind also Start- und Endknoten
identisch.
2. Fall: $2$ Knoten mit ungeradem Grad. Die beiden Knoten bilden den Start-
und Endknoten des Eulerwegs. Die Kante die den Eulerkreis schließen würde
braucht genau zwei Knoten, zu denen sie inzident ist. Nehmen wir diese Kante
weg, ergibt sich eine ungerader Grad an diesen beiden Knoten.
\item[$\implies$]
Ein Graph mit ungerader Anzahl an Knoten mit ungeradem Grad kann nicht
existieren, da die Summe aller Knoten mit ungeradem Grad gerade ist.
Für alle anderen Fälle gilt, wenn ein Knoten ungeraden Grad hat, dann gibt
es keinen Weg aus dem Knoten heraus, wenn man hineingelaufen ist.
\end{itemize}
\points{4}
\section{Graphmodellierung}
\begin{quote}
Sie betreuen ein Projekt, das sich aus vielen vordefinierten Aufgaben zusammensetzt.
Manche Aufgaben können erst erledigt werden, wenn bestimmte andere Aufgaben ab-
geschlossen sind. Für jede Aufgabe ist vorher genau bekannt, von welchen Aufgaben
sie abhängt. Ihr Projektteam kann immer nur eine Aufgabe gleichzeitig bearbeiten und
eine angefangene Aufgabe wird immer abgeschlossen bevor eine neue Aufgabe begon-
nen werden kann.
\end{quote}
Wir modellieren das Problem als gerichteten Graph.
Die Aufgaben sind Knoten. Jede Aufgabe hat Kanten zu den Aufgaben, die von ihr
abhängen.
Eine Reihenfolge können wir mithilfe einer Topologischen Sortierung finden.
\points{3}
\input{aufgabe_1.tex}
\input{aufgabe_2.tex}
\input{aufgabe_3.tex}
\input{aufgabe_4.tex}
\end{document} \end{document}

View file

@ -7,7 +7,7 @@ und $s \in V$ ein ausgezeichneter Knoten.
\item \item
\begin{quote} \begin{quote}
Wenn $w(e) = 1$ für alle $e \in E$, dann ist der Breitensuchbaum mit Wenn $w(e) = 1$ für alle $e \in E$, dann ist der Breitensuchbaum mit
Quelle $s$ ein minimaler Spannbaum Quelle $s$ ein minimaler Spannbaum.
\end{quote} \end{quote}
Die Breitensuche berechnet in diesem Die Breitensuche berechnet in diesem
Fall den kürzesten Weg von jedem Knoten zum Knoten $s$, also den Fall den kürzesten Weg von jedem Knoten zum Knoten $s$, also den
@ -23,7 +23,7 @@ Falsch, siehe \autoref{fig:msb}.
\points{2} \points{2}
\begin{figure}[h] \begin{figure}[h]
\centering \centering
\includegraphics[width=0.2\textwidth]{msb.eps} \includegraphics[page=1]{figures.pdf}
\caption{$\pi$-Zeiger des Breitensuchbaums und MSB blau hinterlegt.} \caption{$\pi$-Zeiger des Breitensuchbaums und MSB blau hinterlegt.}
\label{fig:msb} \label{fig:msb}
\end{figure} \end{figure}
@ -38,7 +38,7 @@ sein.
\points{2} \points{2}
\begin{figure}[h] \begin{figure}[h]
\centering \centering
\includegraphics[width=0.2\textwidth]{dfs.eps} \includegraphics[page=2]{figures}
\caption{Tiefensuchbaum in orange und MSB blau hinterlegt.} \caption{Tiefensuchbaum in orange und MSB blau hinterlegt.}
\label{fig:dfs} \label{fig:dfs}
\end{figure} \end{figure}

78
übung_1/aufgabe_2.tex Normal file
View file

@ -0,0 +1,78 @@
\section{Kreissuche}
\begin{tasks}
\item
Wähle Startknoten $s$ und füge ihn in eine neue Queue $Q$ ein.
Nimm den vordersten Knoten $u$ aus $Q$ und füge seine noch nicht entdeckten (weißen)
Nachbarn ein und färbe sie grau. Wenn einer der Nachbarn schon entdeckt wurde,
also grau ist, gibt es einen Kreis in $G$.
Markiere den Knoten $u$ als abgeschlossen ($black$) und entferne ihn aus $Q$
Wiederhole den Schritt solange bis $Q$ leer ist.
% \begin{pseudocode}[caption=Hello World Algorithmische]
% EinfacherKreis(|Graph| $G$, |Vertex| $s$)
% Initialize($G$, $s$)
% $Q \gets$ new Queue
% $Q.$Enqueue($s$)
% $t_1 \gets nil$
% $t_2 \gets s$
% // Comment
% while $Q \neq \emptyset$ do
% $u \gets Q.$Dequeue
% $t_1 \gets t_2$
% $t_2 \gets u$
% foreach $v \in Adj[u]$ do
% if $v.color = white$ then
% $Q.$Enqueue($v$)
% $u.color \gets black$
% if $t_1 = t_2$ then
% return $true$
% else
% return $false$
% \end{pseudocode}
\begin{algorithm}[h]
\centering
\begin{algorithmic}
\alg{EinfacherKreis}{Graph $G$, Vertex $s$} \+ \\
\alg{Initialize}{$G$, $s$} \com{So wie in der Breitensuche} \\
$Q \gets$ new \alg{Queue}{} \\
$Q.$\alg{Enqueue}{$s$} \\
while $Q \neq \emptyset$ do \+ \\
$u \gets Q.$\alg{Dequeue}{} \\
$u.color \gets gray$ \\
foreach $v \in Adj[u]$ do \+ \\
\com{Füge alle noch nicht entdeckten Knoten ein} \\
if $v.color = white$ then \+ \\
$v.color \gets gray$ \\
$Q.$\alg{Enqueue}{$v$} \- \\
\com{Wenn ein Knoten schon entdeckt wurde, gibt es einen Kreis} \\
else return $true$ \- \\
$u.color \gets black$ \- \\
return $false$
\end{algorithmic}
\end{algorithm}
\points{4}
\item
Dadurch, dass wir nur Knoten
einfügen, die noch nicht entdeckt wurden, können wir nie auf dem selben Pfad
zu einem Knoten kommen. Das heißt, wenn wir einen schon entdeckten Knoten
finden, haben wir einen Kreis im Graphen gefunden.
Der Algorithmus kann aufgrund der Struktur des Graphens (kein Multigraph,
keine Selbstkanten) nur Kreise der Länge mindestens 3 finden.
Jeder Knoten wird nur einmal in die Queue eingefügt und nur einmal herausgenommen.
Somit läuft der Algorithmus in $\Oh(\abs{V})$.
\points{2}
\item
Solange es weiße Knoten im Graphen gibt, wählen wir einen neuen Startknoten
für diese Zusammenhangskomponente. Als Ausgabe geben wir ein Array von
Tupeln $\tup{s_i, c_i}$ zurück, wobei $s_i$ der Startknoten einer
Zusammenhangskomponente und $c_i \in \set{true, false}$ der Wahrheitswert, ob
ein Kreis in der Komponente existiert.
\points{1}
\end{tasks}

26
übung_1/aufgabe_3.tex Normal file
View file

@ -0,0 +1,26 @@
\section{Eulerwege}
\begin{quote}
Sei $G = \tup{V, E}$ ein ungerichteter, zusammenhängender Graph. Dann gilt: $G$ hat genau
dann einen Eulerweg, wenn die Anzahl an Knoten $v \in V$, für die gilt, dass $deg(v)$
ungerade ist, genau $0$ oder $2$ ist.
\end{quote}
\begin{itemize}
\item[$\seilpmi$]
1. Fall: $0$ Knoten mit ungeradem Grad. Nach dem Satz in der Vorlesung
gibt es einen Eulerkreis. Im Eulerweg sind also Start- und Endknoten
identisch.
2. Fall: $2$ Knoten mit ungeradem Grad. Die beiden Knoten bilden den Start-
und Endknoten des Eulerwegs. Die Kante die den Eulerkreis schließen würde
braucht genau zwei Knoten, zu denen sie inzident ist. Nehmen wir diese Kante
weg, ergibt sich eine ungerader Grad an diesen beiden Knoten.
\item[$\implies$]
Ein Graph mit ungerader Anzahl an Knoten mit ungeradem Grad kann nicht
existieren, da die Summe aller Knoten mit ungeradem Grad gerade ist.
Für alle anderen Fälle gilt, wenn ein Knoten ungeraden Grad hat, dann gibt
es keinen Weg aus dem Knoten heraus, wenn man hineingelaufen ist.
\end{itemize}
\points{4}

16
übung_1/aufgabe_4.tex Normal file
View file

@ -0,0 +1,16 @@
\section{Graphmodellierung}
\begin{quote}
Sie betreuen ein Projekt, das sich aus vielen vordefinierten Aufgaben zusammensetzt.
Manche Aufgaben können erst erledigt werden, wenn bestimmte andere Aufgaben ab-
geschlossen sind. Für jede Aufgabe ist vorher genau bekannt, von welchen Aufgaben
sie abhängt. Ihr Projektteam kann immer nur eine Aufgabe gleichzeitig bearbeiten und
eine angefangene Aufgabe wird immer abgeschlossen bevor eine neue Aufgabe begon-
nen werden kann.
\end{quote}
Wir modellieren das Problem als gerichteten Graph.
Die Aufgaben sind Knoten. Jede Aufgabe hat Kanten zu den Aufgaben, die von ihr
abhängen.
Eine Reihenfolge können wir mithilfe einer Topologischen Sortierung finden.
\points{3}

BIN
übung_1/figures.pdf Normal file

Binary file not shown.

Binary file not shown.

View file

@ -1,180 +0,0 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.18.4 (https://cairographics.org)
%%CreationDate: Fri Apr 17 13:13:37 2026
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%BoundingBox: 1 1 141 146
%%EndComments
%%BeginProlog
50 dict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
/cairo_data_source {
CairoDataIndex CairoData length lt
{ CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
{ () } ifelse
} def
/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
/cairo_image { image cairo_flush_ascii85_file } def
/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
%%EndProlog
%%BeginSetup
%%BeginResource: font f-0-0
%!FontType1-1.1 f-0-0 1.0
11 dict begin
/FontName /f-0-0 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/FontBBox {0 -11 615 461 } readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 1 /g1 put
dup 2 /g2 put
readonly def
currentdict end
currentfile eexec
f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467
b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de
800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f
2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b
9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799
69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5
8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251ca90bc9cf8825c7
41412dda705317b7cb229dd377ff3d18e94daa9e3775f4bac0137bfe9fba4d6b483d953979112a
bf427c7c9bdf825f48798ee0eb746b23cb070c7c481f85443e64eeec9f66b3edfccfdc2c16a203
ca777ff2c2c14e0aa1f661055f6fdd72b65db3ccf92480447ea016d9726393ed80ad5b1785eca8
5e25fdbe1ad5f07fa5ad177275289813554724caa8d8f8dfcf5f56edeba95a5cf9247d01f435ff
7e5962414983134fbbb8c5cb3741b7b7c833c33c469326883dfb3eb9623f9dbf5b534b10c52ef6
ff75cbb31c24503e9056591d1b0085d66acb1a3f697c510465ac4cbb2f71c4c4a1c4f650004c5c
5aaeb301425a528b472ce58534f7e6096799d1086297f4c4b0caacafcbca192359573ec2df42ff
7da7a361c4cbe8ca489df2e40e8748ba34fd8e6d84e1574980cfbff9e77500182ca187dd8c8e95
d21d0cf4a486a079871cbaf94d518a87729eeef6e6430d3ab74f327b1e3af8f4c1369551e88f26
ea659e2f489970f30a552524a73f52aecd127501dc3f2a569516600844311a456656d924e6a5ed
b59fc72a9f7c0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndResource
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 1 1 141 146
%%EndPageSetup
q 1 1 140 145 rectclip
1 0 0 -1 0 147 cm q
0.651 0.807 0.89 rg
6 w
0 J
1 j
[] 0.0 d
10 M 7 28 m 71 140 l S
0 g
1.2 w
7 28 m 71 140 l S
0.651 0.807 0.89 rg
6 w
71 140 m 135 28 l S
0.5 g
1.2 w
135 28 m 92.332 12 49.668 12 7 28 c S
11.59 26.281 m 18.961 26.004 l 17.324 21.641 l h
11.59 26.281 m f*
11.59 26.281 m 18.961 26.004 l 17.324 21.641 l h
11.59 26.281 m S
71 140 m 28.332 108 7 70.668 7 28 c S
7 32.898 m 4.668 39.898 l 9.332 39.898 l h
7 32.898 m f*
7 32.898 m 4.668 39.898 l 9.332 39.898 l h
7 32.898 m S
0 g
12.398 28 m 12.398 20.801 1.602 20.801 1.602 28 c 1.602 35.199 12.398 35.199
12.398 28 c h
12.398 28 m f*
140.398 28 m 140.398 20.801 129.602 20.801 129.602 28 c 129.602 35.199
140.398 35.199 140.398 28 c h
140.398 28 m f*
76.398 140 m 76.398 132.801 65.602 132.801 65.602 140 c 65.602 147.199
76.398 147.199 76.398 140 c h
76.398 140 m f*
135 28 m 71 140 l S
7 28 m 135 28 l S
Q q
3 8.953 8.582 11.285 re W n
0 g
BT
23.910337 0 0 -23.910337 2.4208 19.976 Tm
/f-0-0 1 Tf
<01>Tj
ET
Q q
65 1.336 13.328 10.902 re W n
0.5 g
BT
23.910337 0 0 -23.910337 63.6716 11.976 Tm
/f-0-0 1 Tf
<02>Tj
ET
Q q
9 89.336 13.328 10.902 re W n
0.5 g
BT
23.910337 0 0 -23.910337 7.6716 99.976 Tm
/f-0-0 1 Tf
<02>Tj
ET
Q Q
showpage
%%Trailer
end
%%EOF

View file

@ -1,691 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70218" creator="Ipe 7.2.30">
<info created="D:20260417131308" modified="D:20260417131308" tex="luatex"/>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/farc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ptarc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fptarc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="mark/circle(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</symbol>
<symbol name="mark/disk(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
</path>
</symbol>
<symbol name="mark/fdisk(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
0.5 0 0 0.5 0 0 e
</path>
<path fill="sym-stroke" fillrule="eofill">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</group>
</symbol>
<symbol name="mark/box(sx)" transformations="translations">
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</symbol>
<symbol name="mark/square(sx)" transformations="translations">
<path fill="sym-stroke">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
</path>
</symbol>
<symbol name="mark/fsquare(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
-0.5 -0.5 m
0.5 -0.5 l
0.5 0.5 l
-0.5 0.5 l
h
</path>
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</group>
</symbol>
<symbol name="mark/cross(sx)" transformations="translations">
<group>
<path fill="sym-stroke">
-0.43 -0.57 m
0.57 0.43 l
0.43 0.57 l
-0.57 -0.43 l
h
</path>
<path fill="sym-stroke">
-0.43 0.57 m
0.57 -0.43 l
0.43 -0.57 l
-0.57 0.43 l
h
</path>
</group>
</symbol>
<symbol name="arrow/fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1 0.333 m
0 0 l
-1 -0.333 l
</path>
</symbol>
<symbol name="arrow/fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-normal(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0.5 0 m
-0.5 0.333 l
-0.3 0 l
-0.5 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/mid-fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
1 0 m
0 0.333 l
0 -0.333 l
h
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<anglesize name="22.5 deg" value="22.5"/>
<anglesize name="30 deg" value="30"/>
<anglesize name="45 deg" value="45"/>
<anglesize name="60 deg" value="60"/>
<anglesize name="90 deg" value="90"/>
<arrowsize name="large" value="10"/>
<arrowsize name="small" value="5"/>
<arrowsize name="tiny" value="3"/>
<color name="blue" value="0 0 1"/>
<color name="brown" value="0.647 0.165 0.165"/>
<color name="darkblue" value="0 0 0.545"/>
<color name="darkcyan" value="0 0.545 0.545"/>
<color name="darkgray" value="0.663"/>
<color name="darkgreen" value="0 0.392 0"/>
<color name="darkmagenta" value="0.545 0 0.545"/>
<color name="darkorange" value="1 0.549 0"/>
<color name="darkred" value="0.545 0 0"/>
<color name="gold" value="1 0.843 0"/>
<color name="gray" value="0.745"/>
<color name="green" value="0 1 0"/>
<color name="lightblue" value="0.678 0.847 0.902"/>
<color name="lightcyan" value="0.878 1 1"/>
<color name="lightgray" value="0.827"/>
<color name="lightgreen" value="0.565 0.933 0.565"/>
<color name="lightyellow" value="1 1 0.878"/>
<color name="navy" value="0 0 0.502"/>
<color name="orange" value="1 0.647 0"/>
<color name="pink" value="1 0.753 0.796"/>
<color name="purple" value="0.627 0.125 0.941"/>
<color name="red" value="1 0 0"/>
<color name="seagreen" value="0.18 0.545 0.341"/>
<color name="turquoise" value="0.251 0.878 0.816"/>
<color name="violet" value="0.933 0.51 0.933"/>
<color name="yellow" value="1 1 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dashed" value="[4] 0"/>
<dashstyle name="dotted" value="[1 3] 0"/>
<gridsize name="10 pts (~3.5 mm)" value="10"/>
<gridsize name="14 pts (~5 mm)" value="14"/>
<gridsize name="16 pts (~6 mm)" value="16"/>
<gridsize name="20 pts (~7 mm)" value="20"/>
<gridsize name="28 pts (~10 mm)" value="28"/>
<gridsize name="32 pts (~12 mm)" value="32"/>
<gridsize name="4 pts" value="4"/>
<gridsize name="56 pts (~20 mm)" value="56"/>
<gridsize name="8 pts (~3 mm)" value="8"/>
<opacity name="10%" value="0.1"/>
<opacity name="30%" value="0.3"/>
<opacity name="50%" value="0.5"/>
<opacity name="75%" value="0.75"/>
<pen name="fat" value="1.2"/>
<pen name="heavier" value="0.8"/>
<pen name="ultrafat" value="2"/>
<symbolsize name="large" value="5"/>
<symbolsize name="small" value="2"/>
<symbolsize name="tiny" value="1.1"/>
<textsize name="Huge" value="\Huge"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="Large" value="\Large"/>
<textsize name="footnote" value="\footnotesize"/>
<textsize name="huge" value="\huge"/>
<textsize name="large" value="\large"/>
<textsize name="script" value="\scriptsize"/>
<textsize name="small" value="\small"/>
<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<tiling name="falling" angle="-60" step="4" width="1"/>
<tiling name="rising" angle="30" step="4" width="1"/>
</ipestyle>
<ipestyle name="ngslides">
<symbol name="arrow/ng-fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0.7 0 m
-1.7 0.333 l
-1.7 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ng-normal(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0.7 0 m
-1.7 0.333 l
-1.7 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ng-pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0.7 0 m
-1.7 0.333 l
-0.8 0 l
-1.7 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ng-fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0.7 0 m
-1.7 0.333 l
-0.8 0 l
-1.7 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ng-linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1.7 0.333 m
-0.7 0 l
-1.7 -0.333 l
</path>
</symbol>
<symbol name="arrow/ng-fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0.7 0 m
-1.7 0.333 l
-1.7 -0.333 l
h
-1.7 0 m
-2.7 0.333 l
-2.7 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ng-double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0.7 0 m
-1.7 0.333 l
-1.7 -0.333 l
h
-1.7 0 m
-2.7 0.333 l
-2.7 -0.333 l
h
</path>
</symbol>
<symbol name="decoration/remark">
<path stroke="dark gray" fill="light yellow">
100 204 m
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
h
</path>
</symbol>
<symbol name="decoration/theorem">
<path stroke="dark blue" fill="light blue">
100 204 m
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
h
</path>
</symbol>
<symbol name="decoration/problem">
<path stroke="dark green" fill="light green">
100 204 m
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
h
</path>
</symbol>
<symbol name="decoration/definition">
<path stroke="dark gray" fill="light yellow">
96 96 m
304 96 l
304 204 l
96 204 l
h
</path>
</symbol>
<symbol name="decoration/algorithm">
<path stroke="dark gray" fill="light green" dash="dashed">
96 96 m
304 96 l
304 204 l
96 204 l
h
</path>
</symbol>
<symbol name="decoration/graph">
<path stroke="dark gray">
92 92 m
308 92 l
308 208 l
92 208 l
h
</path>
</symbol>
<symbol name="decoration/comic-bl">
<path stroke="dark gray" fill="light yellow">
100 96 m
110 96 s
110 92
106 88 s
116 92
118 96 s
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
100 204 l
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
h
</path>
</symbol>
<symbol name="decoration/comic-bm">
<path stroke="dark gray" fill="light yellow">
100 96 m
186 96 s
186 92
182 88 s
192 92
194 96 s
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
100 204 l
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
h
</path>
</symbol>
<symbol name="decoration/comic-br">
<path matrix="-1 0 0 1 400 0" stroke="dark gray" fill="light yellow">
100 96 m
110 96 s
110 92
106 88 s
116 92
118 96 s
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
100 204 l
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
h
</path>
</symbol>
<symbol name="decoration/comic-tl">
<path matrix="1 0 0 -1 0 300" stroke="dark gray" fill="light yellow">
100 96 m
110 96 s
110 92
106 88 s
116 92
118 96 s
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
100 204 l
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
h
</path>
</symbol>
<symbol name="decoration/comic-tm">
<path matrix="1 0 0 -1 0 300" stroke="dark gray" fill="light yellow">
100 96 m
186 96 s
186 92
182 88 s
192 92
194 96 s
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
100 204 l
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
h
</path>
</symbol>
<symbol name="decoration/comic-tr">
<path matrix="-1 0 0 -1 400 300" stroke="dark gray" fill="light yellow">
100 96 m
110 96 s
110 92
106 88 s
116 92
118 96 s
300 96 l
4 0 0 4 300 100 304 100 a
304 200 l
4 0 0 4 300 200 300 204 a
100 204 l
4 0 0 4 100 200 96 200 a
96 100 l
4 0 0 4 100 100 100 96 a
h
</path>
</symbol>
<color name="dark blue" value="0.121 0.47 0.705"/>
<color name="dark brown" value="0.651 0.337 0.157"/>
<color name="dark cyan" value="0.106 0.62 0.467"/>
<color name="dark gray" value="0.5"/>
<color name="dark green" value="0.2 0.627 0.172"/>
<color name="dark orange" value="1 0.498 0"/>
<color name="dark pink" value="0.969 0.506 0.749"/>
<color name="dark purple" value="0.415 0.239 0.603"/>
<color name="dark red" value="0.89 0.102 0.109"/>
<color name="dark yellow" value="1 1 0.2"/>
<color name="light blue" value="0.651 0.807 0.89"/>
<color name="light brown" value="0.898 0.847 0.741"/>
<color name="light cyan" value="0.553 0.827 0.78"/>
<color name="light gray" value="0.8"/>
<color name="light green" value="0.698 0.874 0.541"/>
<color name="light orange" value="0.992 0.749 0.435"/>
<color name="light pink" value="0.992 0.855 0.925"/>
<color name="light purple" value="0.792 0.698 0.839"/>
<color name="light red" value="0.984 0.603 0.6"/>
<color name="light yellow" value="1 1 0.8"/>
<color name="pagenumber" value="0.5"/>
<color name="title" value="0.247 0.282 0.392"/>
<pen name="fat" value="3.6"/>
<pen name="heavier" value="2.4"/>
<pen name="normal" value="1.2"/>
<pen name="ultrafat" value="6"/>
<symbolsize name="large" value="15"/>
<symbolsize name="normal" value="9"/>
<symbolsize name="small" value="6"/>
<symbolsize name="tiny" value="3.3"/>
<textstretch name="Huge" value="2.4"/>
<textstretch name="LARGE" value="2.4"/>
<textstretch name="Large" value="2.4"/>
<textstretch name="footnote" value="2.4"/>
<textstretch name="huge" value="2.4"/>
<textstretch name="large" value="2.4"/>
<textstretch name="normal" value="2.4"/>
<textstretch name="script" value="2.4"/>
<textstretch name="small" value="2.4"/>
<textstretch name="tiny" value="2.4"/>
<textstyle name="algorithmic" begin="\begin{algorithmic}" end="\end{algorithmic}"/>
<textstyle name="definition" begin="\begin{definition}" end="\end{definition}"/>
<textstyle name="enumerate" begin="\begin{enumerate}" end="\end{enumerate}"/>
<textstyle name="example" begin="\begin{example}" end="\end{example}"/>
<textstyle name="lemma" begin="\begin{lemma}" end="\end{lemma}"/>
<textstyle name="proof" begin="\begin{proof}" end="\end{proof}"/>
<textstyle name="theorem" begin="\begin{theorem}" end="\end{theorem}"/>
<preamble>
\usepackage[ngerman]{babel}
\usepackage[sansdefault]{fontsetup}
\usepackage{ngutils}
\renewcommand{\theoremfont}{\normalfont\bfseries\color{dark blue}}
\renewcommand{\definitionfont}{\normalfont\bfseries\color{dark gray}}
\newcommand{\labelfont}{\normalfont\bfseries\color{dark blue}}
%\setlength{\leftmargini}{1.33em}
%\setlength{\leftmarginii}{1.33em}
%\setlength{\leftmarginiii}{1.33em}
%\setlength{\leftmarginvi}{1.33em}
\renewcommand{\labelenumi}{\labelfont\arabic{enumi}.}
\renewcommand{\labelenumii}{\labelfont\alph{enumii})}
\renewcommand{\labelenumiii}{\labelfont\roman{enumiii}.}
\renewcommand{\labelenumiv}{\labelfont\Alph{enumiv}.}
\renewcommand{\labelitemi}{\labelfont $\blockfull$}
\renewcommand{\labelitemii}{\labelfont $\blackpointerright$}
\renewcommand{\labelitemiii}{\labelfont $\bullet$}
\renewcommand{\labelitemiv}{\labelfont $\bullet$}
\setlength{\fboxsep}{1pt}
\newcommand{\bk}{\color{black}}
\newcommand{\wt}{\color{white}}
\newcommand{\bu}{\color{dark blue}}
\newcommand{\bn}{\color{dark brown}}
\newcommand{\cn}{\color{dark cyan}}
\newcommand{\gy}{\color{dark gray}}
\newcommand{\gn}{\color{dark green}}
\newcommand{\og}{\color{dark orange}}
\newcommand{\pk}{\color{dark pink}}
\newcommand{\pl}{\color{dark purple}}
\newcommand{\rd}{\color{dark red}}
\newcommand{\yo}{\color{dark yellow}}
\newcommand{\tl}{\color{title}}
</preamble>
<layout paper="1024 576" origin="16 16" frame="992 496" skip="16" crop="no"/>
<pagenumberstyle pos="1000 552" color="pagenumber" size="tiny" halign="right" valign="top"></pagenumberstyle>
<titlestyle pos="0 544" size="Large" color="title" valign="top"/>
</ipestyle>
<page>
<layer name="alpha"/>
<view layers="alpha" active="alpha"/>
<path layer="alpha" stroke="light blue" pen="ultrafat">
192 384 m
256 272 l
</path>
<path stroke="black">
192 384 m
256 272 l
</path>
<path stroke="light blue" pen="ultrafat">
256 272 m
320 384 l
</path>
<path stroke="dark gray" arrow="ng-normal/normal">
320 384 m
256 408
192 384 c
</path>
<path stroke="dark gray" arrow="ng-normal/normal">
256 272 m
192 320
192 384 c
</path>
<use name="mark/disk(sx)" pos="192 384" size="normal" stroke="black"/>
<use name="mark/disk(sx)" pos="320 384" size="normal" stroke="black"/>
<use name="mark/disk(sx)" pos="256 272" size="normal" stroke="black"/>
<path stroke="black">
320 384 m
256 272 l
</path>
<path stroke="black">
192 384 m
320 384 l
</path>
<text matrix="1 0 0 1 0 8" transformations="translations" pos="192 384" stroke="black" type="label" width="9.1584" height="11.0448" depth="0.24" halign="center" valign="baseline">$s$</text>
<text matrix="1 0 0 1 64 16" transformations="translations" pos="192 384" stroke="dark gray" type="label" width="14.6568" height="10.6632" depth="0.24" halign="center" valign="baseline" style="math">\pi</text>
<text matrix="1 0 0 1 8 -72" transformations="translations" pos="192 384" stroke="dark gray" type="label" width="14.6568" height="10.6632" depth="0.24" halign="center" valign="baseline" style="math">\pi</text>
</page>
</ipe>

76
übung_1/ngexrcs.cls Normal file
View file

@ -0,0 +1,76 @@
% vim: set filetype:tex
% Identification %
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ngexrcs}[2021/12/21 ADS Exercise class]
% Handle options %
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}}
\ProcessOptions\relax
% More declarations %
\LoadClass{scrartcl}
\KOMAoptions{mpinclude=true}
\recalctypearea
\RequirePackage{ngutils}
\RequirePackage{enumitem}
% define fonts
\RequirePackage{fontspec}
%\RequirePackage{tgpagella}
%\RequirePackage{tgheros}
%\RequirePackage{euler-math}
\RequirePackage[math-style=upright]{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setsansfont{TeX Gyre Heros}
\setmonofont{TeX Gyre Cursor}
\setmathfont{Euler Math}
\setlength{\marginparwidth}{1.5\marginparwidth}
\setlength{\fboxrule}{\heavyrulewidth}
%
% \renewcommand\theenumi{\@alph\c@enumi}
% \renewcommand\theenumii{\@arabic\c@enumii}
%\renewcommand\theenumiii{\@roman\c@enumiii}
%\renewcommand\theenumiv{\@Alph\c@enumiv}
% \renewcommand\labelenumi{\theenumi)}
% \renewcommand\labelenumii{\theenumii.}
%\renewcommand\labelenumiii{\theenumiii.}
%\renewcommand\labelenumiv{\theenumiv.}
% Use sansfont for all title elements
\addtokomafont{titlehead}{\sffamily}
\addtokomafont{subject}{\normalfont \sffamily \itshape}
\addtokomafont{title}{\sffamily}
\addtokomafont{subtitle}{\sffamily}
\addtokomafont{author}{\sffamily}
\addtokomafont{date}{\sffamily}
\addtokomafont{publishers}{\sffamily}
% Use serif font for headings
\addtokomafont{disposition}{\rmfamily}
% Let sections be formated as in: Aufgabe 1 -- Section title
\renewcommand*{\sectionformat}{Aufgabe \thesection\autodot\enskip--\enskip}
% Let points of an exercise be printed as in: [__ / 2]
\newkomafont{points}{\sffamily}
\newcommand\points[2][\quad]{\marginline{\framebox{{\usekomafont{points}#1 \textbf{/} #2}}}}
\newenvironment{tasks}[1][1em]
{
\setlist{leftmargin=*}
\renewcommand\theenumi{\@alph\c@enumi}
\renewcommand\theenumii{\@arabic\c@enumii}
\renewcommand\labelenumi{\theenumi)}
\renewcommand\labelenumii{\theenumii.}
\begin{enumerate}
}{%
\end{enumerate}
}

150
übung_1/ngutils.sty Normal file
View file

@ -0,0 +1,150 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ngutils}[2025/12/24 Never's LaTeX utils]
\RequirePackage[ngerman]{babel}
\RequirePackage{graphicx}
\RequirePackage{tabularx}
\RequirePackage{booktabs}
\RequirePackage{listings}
\lstnewenvironment{pseudocode}[1][] %defines the algorithm listing environment
{
\renewcommand{\lstlistingname}{Algorithmus}
\lstset{ %this is the stype
mathescape=true,
columns=fullflexible,
basicstyle=\normalfont,
identifierstyle=\scshape,
keywordstyle=\bfseries,
keywords={, new, if, then, else, while, for, in, to, up, down, foreach, do, return},
commentstyle=\itshape,
comment=[l]//,
delim=[is][\normalfont]{|}{|},
tabsize=3,
frame=tb,
framerule=1pt,
#1 % this is to add specific settings to an usage of this environment (for instnce, the caption and referable label)
}
}
{}
\newcommand{\seilpmi}{\ensuremath{\Longleftarrow}}
\newcommand\NN{\ensuremath{\mathbb{N}}}
\newcommand\ZZ{\ensuremath{\mathbb{Z}}}
\newcommand\QQ{\ensuremath{\mathbb{Q}}}
\newcommand\RR{\ensuremath{\mathbb{R}}}
\newcommand\CC{\ensuremath{\mathbb{C}}}
\newcommand\PP{\ensuremath{\mathbb{P}}}
\newcommand\Oh{\ensuremath{\mathcal{O}}}
\newcommand\oh{\ensuremath{\scriptstyle{\mathcal{O}}}}
\newcommand\Eh{\ensuremath{\mathrm{E}}}
\newcommand\Var{\ensuremath{\mathrm{Var}}}
\newcommand\parens[1]{\ensuremath{\left(#1\right)}}
\newcommand\brackets[1]{\ensuremath{\left[#1\right]}}
\newcommand\braces[1]{\ensuremath{\left\{#1\right\}}}
\newcommand\angled[1]{\ensuremath{\left\langle#1\right\rangle}}
\newcommand\tup[1]{\parens{#1}}
\newcommand\ivl[1]{\brackets{#1}}
\newcommand\set[1]{\braces{#1}}
\newcommand\arr[1]{\angled{#1}}
\newcommand\abs[1]{\ensuremath{\lvert#1\rvert}}
\newcommand\norm[1]{\ensuremath{\lVert#1\rVert}}
\newcommand\ceil[1]{\ensuremath{\lceil#1\rceil}}
\newcommand\floor[1]{\ensuremath{\lfloor#1\rfloor}}
\newcommand\alg[2]{{\normalfont\scshape#1}{\normalfont(#2)}}
\newcommand\algt[1]{{\normalfont\scshape#1}}
\newcommand\com[1]{{\normalfont\itshape/\!\!/ #1}}
\newenvironment{algorithmic}[1][1em]{
\begin{minipage}[t]{\dimexpr\linewidth}
\bfseries
\begin{tabbing}
\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\kill
}{%
\end{tabbing}
\end{minipage}
}
% \newenvironment{algorithm}[1][1em]{
% \begin{center}
% \begin{minipage}[t]{\dimexpr\linewidth}
% \bfseries
% \begin{tabbing}
% \hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\hspace{#1}\=\kill
% }{%
% \end{tabbing}
% \end{minipage}
% \end{center}
% }
\makeatletter
\newcounter{algorithm}% the counter
\renewcommand*\thealgorithm{\arabic{algorithm}}% the default format for the counter
\newcommand*\fps@algorithm{tbp}% default floating options
\newcommand*\ftype@algorithm{4}% float type number, needs to be a power of 2; % \ftype@figure=1, \ftype@table=2
\newcommand*\ext@algorithm{loa}% extension of file for the list of schemes
\newcommand*\fnum@algorithm{\algorithmname\nobreakspace\thealgorithm}% used in caption
\newcommand*\algorithmname{Algorithmus}% the name
\newcommand*\listalgorithmname{Algorithmenverzeichnis}% the name of the list
\newenvironment{algorithm}{\@float{algorithm}}{\end@float}% the environment
\newenvironment{algorithm*}{\@dblfloat{algorithm}}{\end@dblfloat}% the starred % version for twocolumn documents
\newcommand*\listofalgorithms{% the list of schemes
\section*{\listalgorithmname}
\@mkboth
{\MakeUppercase\listalgorithmname}
{\MakeUppercase\listalgorithmname}
\@starttoc{\ext@algorithm} }
\let\l@algorithm\l@figure % layout of list is the same as for figures
\makeatother
\newlength{\theoremskip}
\setlength{\theoremskip}{6em}
\newcommand{\theoremfont}{\normalfont\bfseries}
\newcommand{\definitionfont}{\normalfont\bfseries}
\newenvironment{theoremic}[2][\theoremfont]{
{#1 #2}
\hfill
\begin{minipage}[t]{\the\dimexpr\linewidth-\theoremskip\relax}
}{
\end{minipage}
}
\newenvironment{theorem}{
\begin{theoremic}{Satz.}
}{
\end{theoremic}
}
\newenvironment{lemma}{
\begin{theoremic}{Lemma.}
}{
\end{theoremic}
}
\newenvironment{proof}{
\begin{theoremic}{Beweis.}
}{
\end{theoremic}
}
\newenvironment{definition}{
\begin{theoremic}[\definitionfont]{Definition.}
}{
\end{theoremic}
}
\newenvironment{example}{
\begin{theoremic}[\definitionfont]{Beispiel.}
}{
\end{theoremic}
}