commit 535bfd1b37cfdded2b9475d3de4bd103f2a9f61c Author: Josia Pietsch Date: Mon Oct 16 16:24:38 2023 +0200 initial commit diff --git a/.ci/build_document.sh b/.ci/build_document.sh new file mode 100755 index 0000000..dd858a6 --- /dev/null +++ b/.ci/build_document.sh @@ -0,0 +1,13 @@ +set -e +echo "Building document" +make pdf +mkdir public +mv build/logic2.pdf public +mv build/logic2.log public +cd public/ +if ! command -v tree &> /dev/null +then + echo "No tree utility found, skipping making tree" +else + tree -H '.' -I "index.html" -D --charset utf-8 -T "Logic II" > index.html +fi diff --git a/.ci/git-info-2.sh b/.ci/git-info-2.sh new file mode 100755 index 0000000..45b72b4 --- /dev/null +++ b/.ci/git-info-2.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# Copyright 2015 Brent Longborough +# Part of gitinfo2 package Version 2 +# Release 2.0.7 2015-11-22 +# Please read gitinfo2.pdf for licencing and other details +# ----------------------------------------------------- +# Post-{commit,checkout,merge} hook for the gitinfo2 package +# +# Get the first tag found in the history from the current HEAD +FIRSTTAG=$(git describe --tags --always --dirty='-*' 2>/dev/null) +# Get the first tag in history that looks like a Release +RELTAG=$(git describe --tags --long --always --dirty='-*' --match '[0-9]*.*' 2>/dev/null) +# Hoover up the metadata +git -c log.showSignature=false --no-pager log -1 --date=short --decorate=short \ + --pretty=format:"\usepackage[% + shash={%h}, + lhash={%H}, + authname={%an}, + authemail={%ae}, + authsdate={%ad}, + authidate={%ai}, + authudate={%at}, + commname={%cn}, + commemail={%ce}, + commsdate={%cd}, + commidate={%ci}, + commudate={%ct}, + refnames={%d}, + firsttagdescribe={$FIRSTTAG}, + reltag={$RELTAG} + ]{gitexinfo}" HEAD > .git/gitHeadInfo.gin diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a4c40f --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +*.loe + +## Intermediate documents: +*.dvi +*-converted-to.* + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.brf +*.run.xml +*.latexmain + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync +*.tdo + +##swap files +*.swp +*.synctex(busy) + +##other help files +*.idx +*.ilg +*.ind +*.lec +*.cnt + +### main pdf file +.pdf + +## build directory +build/ + +## makefiles locks +.init-submodule-cert +.init-git-hooks-cert diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..f74e442 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,34 @@ +stages: + - build + - pages + +default: + tags: + - latex + +build-document: + stage: build + script: + - .ci/build_document.sh + variables: + GIT_SUBMODULE_STRATEGY: recursive + artifacts: + paths: + - public/ + only: + - tags + - branches + # - merge_requests + + +pages: + stage: pages + artifacts: + paths: + - public/ + script: + - echo "Deploying to pages" + - test -f public/logic2.pdf + only: + - master + - main diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1197bac --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "LatexPackagesBuild"] + path = LatexPackagesBuild + url = https://gitlab.com/latexci/packages/LatexPackagesBuild.git diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..eaaf744 --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,3 @@ +ensure_path('TEXINPUTS', './LatexPackagesBuild//'); # set texinputs to find custom packages +$pdf_mode = 1; # generate a pdf file by default +$out_dir = 'build'; diff --git a/LatexPackagesBuild b/LatexPackagesBuild new file mode 160000 index 0000000..400daf2 --- /dev/null +++ b/LatexPackagesBuild @@ -0,0 +1 @@ +Subproject commit 400daf229ce74e741aeec00f073230c6e64ee3f8 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2b611ef --- /dev/null +++ b/Makefile @@ -0,0 +1,31 @@ +pdf: init + latexmk -halt-on-error < /dev/null + +clean: + latexmk -c + +clean-all: + latexmk -C + rm -rf build/ + +## Stuff to set up repository after cloning + +init: .init-submodule-cert .init-git-hooks-cert + +.init-submodule-cert: + @echo "[Make] Initialising git submodule for packages" + git submodule update --init --rebase + @touch .init-submodule-cert + +# Sets up git hooks for gitinfo2 package +.init-git-hooks-cert: + @echo "[Make] Setting up git hooks for package gitinfo2" + @mkdir -p .git/hooks + @cp .ci/git-info-2.sh .git/hooks/post-merge + @cp .ci/git-info-2.sh .git/hooks/post-checkout + @cp .ci/git-info-2.sh .git/hooks/post-commit + @.ci/git-info-2.sh + @touch .init-git-hooks-cert + + +.PHONY: pdf, clean, clean-all diff --git a/README.md b/README.md new file mode 100644 index 0000000..3823669 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Logic II + +These are my notes on the lecture Logic II, +taught by Ralf Schindler +in the winter 23/24 at the University Münster. + +**This is not an official script.** + +There are probably some errors. +If you find some of them or want to improve something, please send me a message: +[lecturenotes@jrpie.de](mailto:lecturenotes@jrpie.de) + +The [latest version][1] is available on my website. + +This project relies on the excellent [Latex Packages](https://gitlab.com/latexci/packages/LatexPackages) by Maximilian Keßler as well as his [CI-Pipeline](https://gitlab.com/latexci/templates/gitlab-ci-template). +Also check out [this blogpost](https://castel.dev/post/lecture-notes-3/) +by Gilles Castel, explaining how it is possible to write LaTeX fast enough +to keep up with a lecturer. + +[1]: https://notes.jrpie.de/logic2/logic2.pdf diff --git a/export_texinputs.sh b/export_texinputs.sh new file mode 100755 index 0000000..97e000c --- /dev/null +++ b/export_texinputs.sh @@ -0,0 +1 @@ +export TEXINPUTS=LatexPackagesBuild//: diff --git a/inputs/.gitkeep b/inputs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/inputs/intro.tex b/inputs/intro.tex new file mode 100644 index 0000000..49c11e5 --- /dev/null +++ b/inputs/intro.tex @@ -0,0 +1,17 @@ +These are my notes on the lecture Probability Theory, +taught by \textsc{Ralf Schindler} +in winter 23/24 at the University Münster. + +\begin{warning} + This is not an official script. + %The official lecture notes can be found on + % \href{TODO}{here}. +\end{warning} + +If you find errors or want to improve something, +please send me a message:\\ +\texttt{lecturenotes@jrpie.de}. + +This notes follow the way the material was presented in the lecture rather +closely. Additions (e.g.~from exercise sheets) +and slight modifications have been marked with $\dagger$. diff --git a/jrpie-math.sty b/jrpie-math.sty new file mode 100644 index 0000000..f3fc711 --- /dev/null +++ b/jrpie-math.sty @@ -0,0 +1,51 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{jrpie-math}[2022/01/30 - Main math package.] + + +% Collects the basic math packages used for my lecture-note write-ups +% This just imports all the packages I use for writing up mathematics +% Probably, you will just want to load them separately for more +% customization + +\RequirePackage{xkeyval} + +\newif\ifmkessler@math@english\mkessler@math@englishtrue +\DeclareOptionX{german}{\mkessler@math@englishfalse} +\DeclareOptionX{ngerman}{\mkessler@math@englishfalse} +\DeclareOptionX{english}{\mkessler@math@englishtrue} + +\DeclareOptionX*{\PackageWarning{mkessler-math}{Unknown '\CurrentOption'}} +\ProcessOptionsX*\relax + + +%%%% Import the other custom math packages +\RequirePackage{mkessler-mathfont} % Load this first to ensure untouched fonts + +\RequirePackage{amsmath} +\RequirePackage{mathtools} +\RequirePackage{amsthm} +\RequirePackage{amssymb} + +\RequirePackage{latexsym} + +% Für Formeln +\RequirePackage{mathabx} +\RequirePackage{esint} + +\RequirePackage{IEEEtrantools} +\RequirePackage[ngerman,ruled,vlined]{algorithm2e} + + +%%% Importing other custom packages +\RequirePackage{mkessler-faktor} +\RequirePackage{mkessler-mathsymb} +\RequirePackage[extended]{mkessler-mathalias} +\RequirePackage{mkessler-refproof} + +% mkessler-mathfont has already been imported +\RequirePackage[\ifmkessler@math@english english\else german\fi]{mkessler-mathop} +\RequirePackage{mkessler-categories} +\RequirePackage{mkessler-mathfig} +\RequirePackage{mkessler-unicodechar} +\RequirePackage{mkessler-mathfixes} % Load this last since it renews behaviour +\newcommand{\defon}[1]{|_{#1}} % TODO diff --git a/jrpie-yaref.sty b/jrpie-yaref.sty new file mode 100644 index 0000000..00ab46b --- /dev/null +++ b/jrpie-yaref.sty @@ -0,0 +1,49 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{jrpie-yaref}[2023/07/28 - yet another ref] + +\RequirePackage{hyperref} +\RequirePackage{amstext} + +\newcommand{\yaref@text@large}[1]{% + \ifcsname yaref@longlabel@#1\endcsname% + \hyperref[#1]{\csname yaref@longlabel@#1\endcsname\ (\ref*{#1})}% + \else% + \autoref{#1}% + \fi% +} +\newcommand{\yaref@text@small}[1]{% + \ifcsname yaref@shortlabel@#1\endcsname% + \hyperref[#1]{\csname yaref@shortlabel@#1\endcsname}% + \else% + (\ref{#1})% + \fi% +} +\newcommand{\yaref@math@large}[1]{% + \text{\yaref@text@large{#1}}% +} +\newcommand{\yaref@math@small}[1]{% + \text{\yaref@text@small{#1}}% +} +\newcommand{\yaref@math@verysmall}[1]{% + \yaref@math@small{#1}% +} + +\newcommand{\yalabel}[3]{% + \write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname yaref@longlabel@#3\noexpand\endcsname{#1}}% + \write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname yaref@shortlabel@#3\noexpand\endcsname{#2}}% + \expandafter\gdef\csname yaref@longlabel@#3\endcsname{#1}% + \expandafter\gdef\csname yaref@shortlabel@#3\endcsname{#2}% + \label{#3}% +} + +\newcommand{\yaref}[1]{% + \relax\ifmmode% + \mathchoice + {\yaref@math@large{#1}} % display style + {\yaref@math@large{#1}} % text style + {\yaref@math@small{#1}} % script style + {\yaref@math@verysmall{#1}} % scriptscript style + \else% + \yaref@text@large{#1}% + \fi% +} diff --git a/logic.sty b/logic.sty new file mode 100644 index 0000000..76dd601 --- /dev/null +++ b/logic.sty @@ -0,0 +1,131 @@ +\ProvidesPackage{wtheo}[2022/02/10 - Style file for notes of Logic II] +\usepackage[english]{babel} +\usepackage[cache, number in = section]{fancythm} +\usepackage{mkessler-mathfont} +\usepackage{centernot} +\usepackage{enumerate} +\usepackage{mkessler-todo} +\usepackage[index]{mkessler-vocab} +\usepackage{mkessler-code} +\usepackage{jrpie-math} +\usepackage{jrpie-yaref} +\usepackage[normalem]{ulem} +\usepackage{pdflscape} +\usepackage{longtable} +\usepackage{xcolor} +\usepackage{dsfont} +\usepackage{csquotes} +\usepackage{tikz} +\usepackage{tikz-cd} +\usetikzlibrary{arrows} +%\usepackage{wrapfig} +\usepackage{listings} +\usepackage{multirow} +\usepackage{float} +%\usepackage{algorithmicx} + +\newcounter{subsubsubsection}[subsubsection] +\renewcommand\thesubsubsubsection{\thesubsubsection.\arabic{subsubsubsection}} +\newcommand\subsubsubsection[1] +{ + \stepcounter{subsubsubsection} + \medskip + \textbf{\thesubsubsubsection~#1} + \medskip +} + +\newcommand\todoimg[1] + { + \todo{FEHLENDES BILD: #1} + } + +\usepackage{siunitx} + +% Wenn auf die Klausurrelevanz EXPLIZIT hingewiesen wurde +\newcommand\klausurrelevant{ + \footnote{\color{red}klausurrelevant!} +} + +\usepackage{acro} + +\def\alert#1{{\color{red} #1}} + + +\usepackage{imakeidx} +\makeindex[name = ccode, title = \texttt{C} functions and macros] + +\usepackage{hyperref} + +\usepackage[quotation]{knowledge}[22/02/12] + +\newcommand\main[1]{\underline{#1}} +\newcommand\usage[1]{\textit{#1}} +\renewcommand\i{\mathrm{\mathbf{i}}} +\newcommand\notimplies{\centernot\implies} + +\knowledgestyle{ccode}{color=purple!30!black, index style = usage, wrap = \code} +\knowledgestyle{ccode unknown}{ wrap = \code, color = brown} +\knowledgestyle{ccode unknown cont}{ wrap = \code} +\knowledgestyle{ccode intro}{color=blue, boldface, index style = main, wrap = \code} + + +\knowledgestyle{autoref link}{autoref link} +\knowledgestyle{autoref target}{autoref target} + +\knowledgenewvariant\cc{ + default style = {autoref link, ccode}, + unknown style = {ccode unknown}, + unknown style cont = {ccode unknown cont}, +% unknown warning = false, +% unknown diagnose = false, +} + +\knowledgenewvariant\ccintro { + auto knowledge = {autoref, scope=document, also now, index, index name = ccode, wrap = \code}, + default style = {autoref target, ccode intro}, + unknown style = ccode unknown, + unknown style cont = ccode unknown +} + +\knowledgevariantmodifier{\intro*\cc}\ccintro +\knowledgevariantmodifier{\cintro*\cc}\ccintro + +\hypersetup{colorlinks, citecolor=violet, urlcolor=blue!80!black, linkcolor=red!50!black, pdfauthor=\@author, pdftitle=\ifdef{\@course}{\@course}{\@title}} + +\NewFancyTheorem[thmtools = { style = thmredmargin} , group = { big } ]{warning} + +\DeclareSimpleMathOperator{ran} % TODO: ran vs range +\DeclareSimpleMathOperator{range} % TODO + + +\let\Col\undefined +\DeclareSimpleMathOperator{Col} + + +\DeclareSimpleMathOperator{Con} + +\DeclareSimpleMathOperator{ZF} +\DeclareSimpleMathOperator{ZFC} +\DeclareSimpleMathOperator{HOD} +\DeclareSimpleMathOperator{OD} +\DeclareSimpleMathOperator{AC} +\DeclareSimpleMathOperator{Fund} +\DeclareSimpleMathOperator{Pair} +\DeclareSimpleMathOperator{Union} +\DeclareSimpleMathOperator{Rep} + +\DeclareSimpleMathOperator{Pow} +\renewcommand{\Aus}{\text{Aus}} +% \DeclareSimpleMathOperator{Aus} +\DeclareSimpleMathOperator{Infinity} + +\DeclareSimpleMathOperator{CH} +\DeclareSimpleMathOperator{DC} +\DeclareSimpleMathOperator{Ord} +\DeclareSimpleMathOperator{trcl} +\DeclareSimpleMathOperator{tcl} +\newcommand{\concat}{{}^\frown} +\DeclareMathOperator{\hght}{height} + +\newcommand\lecture[3]{\hrule{\color{darkgray}\hfill{\tiny[Lecture #1, #2]}}} + diff --git a/logic2.tex b/logic2.tex new file mode 100644 index 0000000..1426625 --- /dev/null +++ b/logic2.tex @@ -0,0 +1,36 @@ +\documentclass[10pt,ngerman,a4paper,fancyfoot,git]{mkessler-script} + +\course{Logic II} +\lecturer{Ralf Schindler} +\assistant{} +\author{Josia Pietsch} + +\usepackage{logic} + +\begin{document} + +\maketitle + +%\frontmatter + +\cleardoublepage + +\tableofcontents +\cleardoublepage + +\input{inputs/intro} + +%\mainmatter + +\newpage + + + +\cleardoublepage + +\appendix + +\PrintVocabIndex + + +\end{document}