initial commit

This commit is contained in:
Leon Vatthauer 2024-12-25 13:35:57 +01:00
commit 2b30a98629
Signed by: leonv
SSH key fingerprint: SHA256:G4+ddwoZmhLPRB1agvXzZMXIzkVJ36dUYZXf5NxT+u8
14 changed files with 876 additions and 0 deletions

304
.gitignore vendored Normal file
View file

@ -0,0 +1,304 @@
# ---> TeX
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
*.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
*.lzo
*.lzs
*.slg
*.slo
*.sls
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplot
*.gnuplot
*.table
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.glog
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# newpax
*.newpax
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# svg
svg-inkscape/
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# titletoc
*.ptc
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices and outlines
*.xyc
*.xyd
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# gummi
.*.swp
# KBibTeX
*~[0-9]*
# TeXnicCenter
*.tps
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta
# Makeindex log files
*.lpz
# xwatermark package
*.xwm
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored.
#*Notes.bib
tex/result

9
LICENSE Normal file
View file

@ -0,0 +1,9 @@
MIT License
Copyright (c) 2024 leonv
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

6
README.md Normal file
View file

@ -0,0 +1,6 @@
# Artificial Intelligence 1
Meine Zusammenfassung des Moduls "AI1" gehalten im WS24/25 von Prof. Kohlhase.
[pdf](https://files.vatthauer.xyz/zusammenfassungen/ai1.pdf)
(unvollständig)

4
tex/.chktexrc Normal file
View file

@ -0,0 +1,4 @@
CmdLine = {
-n18
-n46
}

1
tex/.vscode/ltex.dictionary.en-US.txt vendored Normal file
View file

@ -0,0 +1 @@
Vatthauer

View file

@ -0,0 +1 @@
{"rule":"COMMA_PARENTHESIS_WHITESPACE","sentence":"^\\Q[cases] mycase Fall .\\E$"}

38
tex/.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,38 @@
{
"latex-workshop.latex.tools": [
{
"name": "latexmk-main",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-shell-escape",
"-pdf",
"-xelatex",
"-outdir=%OUTDIR%",
"main.tex"
],
"env": {}
}
],
"latex-workshop.latex.recipes": [
{
"name": "latexmk-main",
"tools": [
"latexmk-main"
]
}
],
"ltex.latex.commands": {
"\\customlabel{}": "ignore",
"\\setminted[]{}": "ignore",
"\\setmintedinline[]{}": "ignore",
"\\setmathfont[]{}": "ignore",
"\\setmathfont{}": "ignore"
},
"ltex.latex.environments": {
"cases": "ignore"
},
"ltex.language": "en-US"
}

18
tex/Makefile Normal file
View file

@ -0,0 +1,18 @@
src = $(wildcard *.tex)
pdf = $(src:.tex=.pdf)
.PHONY: all clean push
all: $(pdf)
%.pdf: %.tex $(wildcard src/*.tex) $(wildcard *.bib)
latexmk -pdf -xelatex -shell-escape -file-line-error -synctex=1 -halt-on-error -shell-escape $<
clean:
latexmk -C $(src)
rm -f $(wildcard *.out *.nls *.nlo *.bbl *.blg *-blx.bib *.run.xml *.bcf *.synctex.gz *.fdb_latexmk *.fls *.toc *.loe *.tdo *.bbl-SAVE-ERROR)
rm -f $(wildcard sections/*.aux)
rm -rf $(wildcard _minted-main sections/.auctex-auto _region_.prv)
push: main.pdf
scp main.pdf leonv@vatthauer.xyz:/var/www/zusammenfassungen/ai1.pdf

17
tex/bib.bib Normal file
View file

@ -0,0 +1,17 @@
@article{poll1999algebra,
title = {Algebra of Programming by Richard Bird and Oege de Moor, Prentice Hall, 1996 (dated 1997).},
author = {Poll, Erik and Thompson, Simon},
journal = {Journal of Functional Programming},
volume = {9},
number = {3},
pages = {347--354},
year = {1999},
publisher = {Cambridge University Press}
}
@book{adamek1990abstract,
title = {Abstract and concrete categories},
author = {Ad{\'a}mek, Ji{\v{r}}{\'\i} and Herrlich, Horst and Strecker, George},
year = {1990},
publisher = {Wiley-Interscience}
}

246
tex/catprog.sty Normal file
View file

@ -0,0 +1,246 @@
%
% Standard macros to typeset papers on category theory and semantics
%
% Unless \catname is defined, make it bold.
% So, call \providecommand{\catname}{\mathcal}
% or \reprovidecommand{\catname}{\mathcal}
% before calling this file if you prefer calligraphic names for categories.
%
% Same applies to other commands.
%
% COPIED FROM https://gitlab.cs.fau.de/i8/TexCommon/ AND THEN ADJUSTED.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{catprog}[2024/03/30 Macros for Category Theory and Semantics]
\RequirePackage{bm} % Needed for defbbname
\RequirePackage{mathtools} % Needed for coloneqq
\providecommand{\catname}{\mathsf}
%\providecommand{\mndname}{\mathbbb}
\providecommand{\clsname}{\mathcal}
% \providecommand{\clsname}{\mathscr}
\providecommand{\oname}[1]{\operatorname{\mathsf{#1}}}
%% Defining category names like \BA, \BB, etc
\def\defcatname#1{\expandafter\def\csname B#1\endcsname{\catname{#1}}}
\def\defcatnames#1{\ifx#1\defcatnames\else\defcatname#1\expandafter\defcatnames\fi}
\defcatnames ABCDEFGHIJKLMNOPQRSTUVWXYZ\defcatnames
%% Defining \CA, \CB, etc
\def\defclsname#1{\expandafter\def\csname C#1\endcsname{\clsname{#1}}}
\def\defclsnames#1{\ifx#1\defclsnames\else\defclsname#1\expandafter\defclsnames\fi}
\defclsnames ABCDEFGHIJKLMNOPQRSTUVWXYZ\defclsnames
%% Defining \BBA, \BBB, etc
\def\defbbname#1{\expandafter\def\csname BB#1\endcsname{{\bm{\mathsf{#1}}}}}
\def\defbbnames#1{\ifx#1\defbbnames\else\defbbname#1\expandafter\defbbnames\fi}
\defbbnames ABCDEFGHIJKLMNOPQRSTUVWXYZ\defbbnames
%% Defining \BMA, \BMB, etc
\def\defbbname#1{\expandafter\def\csname BM#1\endcsname{{\bm{\mathsf{#1}}}}}
\def\defbbnames#1{\ifx#1\defbbnames\else\defbbname#1\expandafter\defbbnames\fi}
\defbbnames ABCDEFGHIJKLMNOPQRSTUVWXYZ\defbbnames
%% Some standard categories
\def\Set{\ensuremath{\catname{Set}}}
\def\Par{\ensuremath{\catname{Par}}}
\def\Rel{\ensuremath{\catname{Rel}}}
\def\Cpo{\ensuremath{\catname{Cpo}}}
\def\Pos{\ensuremath{\catname{Pos}}}
\def\Mon{\ensuremath{\catname{Mon}}}
\def\Gra{\ensuremath{\catname{Gra}}}
\providecommand{\Alg}[1]{\ensuremath{\catname{Alg}(#1)}}
\providecommand{\Coalg}[1]{\ensuremath{\catname{Coalg}(#1)}}
%% Objects of category
\providecommand{\obj}[1]{\ensuremath{\vert #1 \vert}}
%% Dual category
\providecommand{\dual}[1]{\ensuremath{#1^{op}}}
\providecommand{\ite}[3]{\oname{if}#1\oname{then}#2\oname{else}}
% Misc
%% Commutation of diagrams
\providecommand{\comm}{\circlearrowleft}
%% Banana brackets for catamorphisms
\RequirePackage{stmaryrd}
\providecommand{\cata}[1]{\llparenthesis #1 \rrparenthesis}
% Lens brackets for anamorphisms https://unicodeplus.com/U+3016
\providecommand{\ana}[1]{〖 #1 〗}
\providecommand{\dom}{\oname{dom}}
\providecommand{\eps}{{\operatorname\epsilon}}
\providecommand{\amp}{\mathbin{\&}}
\providecommand{\argument}{\operatorname{-\!-}}
\providecommand{\altargument}{\underline{\;\;}}
\providecommand{\wave}[1]{\widetilde{#1}} % Overline wave
\providecommand{\ul}{\underline} % Underline
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\providecommand{\mplus}{{\scriptscriptstyle\bf+}} % Small '+' for indexing
\providecommand{\smin}{\smallsetminus}
\providecommand{\ass}{\mathrel{\coloneqq}}
\providecommand{\bnf}{\mathrel{\Coloneqq}}
%% Some standard functorsw
\providecommand{\PSet}{{\mathcal P}} % Powerset
\providecommand{\FSet}{{\mathcal P}_{\omega}} % Finite powerset
\providecommand{\CSet}{{\mathcal P}_{\omega_1}} % Countable powerset
\providecommand{\NESet}{{\mathcal P}^{\mplus}} % Non-empty powerset
\providecommand{\Id}{\operatorname{Id}}
%% General categorical notation
\providecommand{\Hom}{\mathsf{Hom}}
\providecommand{\id}{\mathsf{id}}
\providecommand{\op}{\mathsf{op}}
\providecommand{\comp}{\mathbin{\circ}}
\providecommand{\iso}{\mathbin{\cong}}
\providecommand{\tensor}{\mathbin{\otimes}}
\providecommand{\unit}{\star}
\providecommand{\bang}{\operatorname!} % Terminal map
\providecommand{\cobang}{\operatorname¡} % Initial map
%% Various arrows
\providecommand{\from}{\leftarrow}
\providecommand{\ito}{\hookrightarrow} % Injection
\providecommand{\ifrom}{\hookleftarrow}
\providecommand{\pto}{\mathrel{\rightharpoonup}} % Partial function
\providecommand{\pfrom}{\mathrel{\leftarpoonup}} %
\providecommand{\tto}{\mathrel{\Rightarrow}} % Double arrow
\providecommand{\tfrom}{\mathrel{\Leftarrow}} %
\providecommand{\mto}{\mapsto}
\providecommand{\xto}[1]{\,\xrightarrow{#1}\,}
\providecommand{\xfrom}[1]{\,\xleftarrow{\;#1}\,}
\providecommand{\To}{\mathrel{\Rightarrow}} % Double arrow
\providecommand{\From}{\mathrel{\Leftarrow}}
\providecommand{\dar}{\kern-.75pt\operatorname{\downarrow}}
\providecommand{\uar}{\kern-.75pt\operatorname{\uparrow}}
\providecommand{\Dar}{\kern-.75pt\operatorname{\Downarrow}}
\providecommand{\Uar}{\kern-.75pt\operatorname{\Uparrow}}
%% Logic
\providecommand{\True}{\top}
\providecommand{\False}{\bot}
\providecommand{\bigor}{\bigvee}
\providecommand{\bigand}{\bigwedge}
\providecommand{\impl}{\Rightarrow}
\providecommand{\equ}{\Longleftrightarrow}
\providecommand{\entails}{\vdash}
%% Order
\providecommand{\appr}{\sqsubseteq}
\providecommand{\join}{\sqcup}
\providecommand{\meet}{\sqcap}
\providecommand{\bigjoin}{\bigsqcup}
\providecommand{\bigmeet}{\bigsqcap}
%% Products
\providecommand{\fst}{\pi_1}
\providecommand{\snd}{\pi_2}
\providecommand{\pr}{\oname{pr}}
\providecommand{\brks}[1]{\langle #1\rangle}
\providecommand{\Brks}[1]{\bigl\langle #1\bigr\rangle}
%% Coproducts
\providecommand{\inl}{\oname{i}_1}
\providecommand{\inr}{\oname{i}_2}
\providecommand{\inj}{\oname{in}}
\DeclareSymbolFont{Symbols}{OMS}{cmsy}{m}{n}
\DeclareMathSymbol{\iobj}{\mathord}{Symbols}{"3B}
%\DeclareRobustCommand{\iobj}{\emptyset}
%% CCC
\providecommand{\curry}{\oname{curry}}
\providecommand{\uncurry}{\oname{uncurry}}
\providecommand{\ev}{\oname{ev}}
% Semantic brackets
\RequirePackage{stmaryrd}
\providecommand{\lsem}{\llbracket}
\providecommand{\rsem}{\rrbracket}
\providecommand{\sem}[1]{\lsem #1 \rsem}
\providecommand{\Lsem}{\bigl\llbracket}
\providecommand{\Rsem}{\bigr\rrbracket}
\providecommand{\Sem}[1]{\Lsem #1 \Rsem}
% Typographic
\providecommand{\comma}{,\operatorname{}\linebreak[1]} % possibly line-breaking comma
\providecommand{\dash}{\nobreakdash-\hspace{0pt}} % non-line-breaking hyphen
\providecommand{\erule}{\rule{0pt}{0pt}} % Empty object whose emptiness
% is not detected by LaTeX
\providecommand{\by}[1]{\text{/\!\!/~#1}} % Comments in equations
\providecommand{\pacman}[1]{} % Hide a piece of text
\newcommand{\undefine}[1]{\let #1\relax} % Make a command undefined
\providecommand{\noqed}{\def\qed{}} % Undefine the QED symbol
% -1 superscript for the inversion operator
\providecommand{\mone}{{\text{\kern.5pt\rmfamily-}\mathsf{\kern-.5pt1}}}
\makeatletter
\@ifpackageloaded{enumitem}{}{
\RequirePackage[loadonly]{enumitem} % without [loadonly]
} % conflicts with Beamer
\makeatother
% Condensed list environments
\newlist{citemize}{itemize}{1}
\setlist[citemize]{label=\labelitemi,wide}
%leftmargin=0cm,itemindent=.7cm,labelwidth=\itemindent,labelsep=-.3cm,align=left}
\newlist{cenumerate}{enumerate}{1}
\setlist[cenumerate,1]{label=\arabic*.~,ref={\arabic*},wide}
%leftmargin=0cm,itemindent=.7cm,labelwidth=\itemindent,labelsep=-.3cm,align=left}
%\newenvironment{citemize}{\begin{itemize}[leftmargin=0cm,itemindent=.7cm,labelwidth=\itemindent,labelsep=-.3cm,align=left]}{\end{itemize}}
%\newenvironment{cenumerate}{\begin{enumerate}[leftmargin=0cm,itemindent=.7cm,labelwidth=\itemindent,labelsep=-.3cm,align=left]}{\end{enumerate}}
%% A macro for defining mixfix operators
\makeatletter
\def\mfix#1{\oname{#1}\@ifnextchar\bgroup\@mfix{}} % processing odd arguments
\def\@mfix#1{#1\@ifnextchar\bgroup\mfix{}} % processing even arguments
\makeatother
% %% Instances if mfix
% \providecommand{\ift}[3]{\mfix{if}{\mathbin{}#1}{then}{\mathbin{}#2}{else}{\mathbin{}#3}}
% \providecommand{\case}[3]{\mfix{case}{\mathbin{}#1}{of}{#2}{\kern-1pt;}{\mathbin{}#3}}
%%% Overwrite greek letters with var versions https://tex.stackexchange.com/a/304576/292879
\AfterBeginDocument{
\renewcommand{\epsilon}{\varepsilon}
\renewcommand{\theta}{\vartheta}
\renewcommand{\theta}{\vartheta}
\renewcommand{\kappa}{\varkappa}
\renewcommand{\rho}{\varrho}
\renewcommand{\phi}{\varphi}
}
%%%
%%% Topology
\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\newcommand{\inter}[1]{\mathring{#1}}
\newcommand{\clos}[1]{\overline{#1}}
\newcommand{\bound}[1]{\partial#1}
%%%

61
tex/flake.lock Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1734991663,
"narHash": "sha256-8T660guvdaOD+2/Cj970bWlQwAyZLKrrbkhYOFcY1YE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6c90912761c43e22b6fb000025ab96dd31c971ff",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

38
tex/flake.nix Normal file
View file

@ -0,0 +1,38 @@
{
description = "Summary of the course AI1";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-24.11;
flake-utils.url = github:numtide/flake-utils;
};
outputs = { self, nixpkgs, flake-utils }:
with flake-utils.lib; eachSystem allSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
tex = pkgs.texliveFull;
# pkgs.texlive.combine {
# inherit (pkgs.texlive) scheme-minimal latex-bin latexmk;
# };
in rec {
packages = {
document = pkgs.stdenvNoCC.mkDerivation rec {
name = "summary";
src = self;
buildInputs = [ pkgs.coreutils tex ];
phases = ["unpackPhase" "buildPhase" "installPhase"];
buildPhase = ''
export PATH="${pkgs.lib.makeBinPath buildInputs}";
mkdir -p .cache/texmf-var
env TEXMFHOME=.cache TEXMFVAR=.cache/texmf-var \
SOURCE_DATE_EPOCH=${toString self.lastModified} \
latexmk -pdf -xelatex -shell-escape -file-line-error -synctex=1 -halt-on-error -shell-escape \
main.tex
'';
installPhase = ''
mkdir -p $out
cp main.pdf $out/
'';
};
};
defaultPackage = packages.document;
});
}

93
tex/main.tex Normal file
View file

@ -0,0 +1,93 @@
\documentclass[a4paper,11pt,titlepage,numbers=noenddot]{scrbook}
%%%% Document Setup
\usepackage[top=2cm,lmargin=1in,rmargin=1in,bottom=3cm,hmarginratio=1:1]{geometry}
\usepackage{scrlayer-scrpage}
\usepackage{anyfontsize}
\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{stmaryrd}
\usepackage[final]{hyperref}
\automark{chapter}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\renewcommand{\subsectionmark}[1]{\markright{\thesubsection\ #1}}
\pagestyle{scrheadings}
\usepackage[moderate, title=tight, bibliography=tight, margins=tight]{savetrees}
%%%%
%%%% Metadata
\newcommand{\DocTitle}{Summary}
\newcommand{\UniCourse}{Artificial Intelligence 1}
\newcommand{\UniProf}{Prof.\ Michael Kohlhase}
\author{Leon Vatthauer}
%%%%
%%%% Title
\title{
\vspace{2in}
\textmd{\textbf{\UniCourse\\\DocTitle}}\\
\vspace{0.1in}\large{Held by \textit{\UniProf\ }}
\vspace{3in}
}
%%%%
%%%% Spacing
% \setlength{\parindent}{0pt}
% \setlength{\parskip}{6pt}
% \setlength{\marginparsep}{0cm}
%%%%
%%%% Math packages
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{tikz}
\usetikzlibrary{cd, babel, quotes}
\usepackage{quiver}
\declaretheorem[name=Definition,style=definition,numberwithin=section]{definition}
\declaretheorem[name=Example,style=definition,sibling=definition]{example}
\declaretheorem[style=definition,numbered=no]{exercise}
\declaretheorem[name=Remark,style=definition,sibling=definition]{remark}
\declaretheorem[name=Assumption,style=definition,sibling=definition]{assumption}
\declaretheorem[name=Observation,style=definition,sibling=definition]{observation}
\declaretheorem[name=Theorem,sibling=definition]{theorem}
\declaretheorem[sibling=definition]{corollary}
\declaretheorem[name=FaktFact,sibling=definition]{fact}
\declaretheorem[sibling=definition]{lemma}
\declaretheorem[sibling=lemma]{proposition}
%%%%
%%%% href
\makeatletter
\hypersetup{
pdfauthor={\@author},
pdftitle={\UniCourse},
% kill those ugly red rectangles around links
hidelinks,
}
\makeatother
%%%%
\begin{document}
%% Titlepage
\maketitle
\thispagestyle{empty}
\null\newpage
\setcounter{page}{1}
%%
%% TOC
\tableofcontents
%%
%% Contents
Hello world
% \include{sections/01_topräume}
% \include{sections/02_zusammenhang}
% \include{sections/03_konstruktion}
% \include{sections/04_kompaktheit}
%%
\appendix
\emergencystretch=1em
% \printbibliography[heading=bibintoc]{}
\end{document}

40
tex/quiver.sty Normal file
View file

@ -0,0 +1,40 @@
% *** quiver ***
% A package for drawing commutative diagrams exported from https://q.uiver.app.
%
% This package is currently a wrapper around the `tikz-cd` package, importing necessary TikZ
% libraries, and defining a new TikZ style for curves of a fixed height.
%
% Version: 1.4.2
% Authors:
% - varkor (https://github.com/varkor)
% - AndréC (https://tex.stackexchange.com/users/138900/andr%C3%A9c)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{quiver}[2021/01/11 quiver]
% `tikz-cd` is necessary to draw commutative diagrams.
\RequirePackage{tikz-cd}
% `amssymb` is necessary for `\lrcorner` and `\ulcorner`.
% \RequirePackage{amssymb}
% `calc` is necessary to draw curved arrows.
\usetikzlibrary{calc}
% `pathmorphing` is necessary to draw squiggly arrows.
\usetikzlibrary{decorations.pathmorphing}
% A TikZ style for curved arrows of a fixed height, due to AndréC.
\tikzset{curve/.style={settings={#1},to path={(\tikztostart)
.. controls ($(\tikztostart)!\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
and ($(\tikztostart)!1-\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
.. (\tikztotarget)\tikztonodes}},
settings/.code={\tikzset{quiver/.cd,#1}
\def\pv##1{\pgfkeysvalueof{/tikz/quiver/##1}}},
quiver/.cd,pos/.initial=0.35,height/.initial=0}
% TikZ arrowhead/tail styles.
\tikzset{tail reversed/.code={\pgfsetarrowsstart{tikzcd to}}}
\tikzset{2tail/.code={\pgfsetarrowsstart{Implies[reversed]}}}
\tikzset{2tail reversed/.code={\pgfsetarrowsstart{Implies}}}
% TikZ arrow styles.
\tikzset{no body/.style={/tikz/dash pattern=on 0 off 1mm}}
\endinput