diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..47e97392bc86a365e39d4ca5fe2c09ad3d4d3833
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,14 @@
+# This file is a template, and might need editing before it works on your project.
+# use docker image with latex preinstalled
+# since there is no official latex image, use https://github.com/blang/latex-docker
+# possible alternative: https://github.com/natlownes/docker-latex
+image: blang/latex
+
+build:
+  script:
+    - make
+    - ./move-pdf.sh
+  artifacts:
+    paths:
+      - "*.pdf"
+    expire_in: never
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..dd429054caac4cf5a710200e20d9abb15ea1c211
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+.PHONY: all
+all:
+	$(MAKE) -C administrativt
+	$(MAKE) -C infomöte
+	$(MAKE) -C tilde
diff --git a/README.md b/README.md
index 06d197ed5c5291c2a152c8b8f6c18f343b9e31ac..9d6107176d48d61b6fefaa97ced2d6d6f0e94e3b 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,5 @@
 Innehåller diverse lappar som sätts upp i bland annat ~.
+
+Byggda PDF:er:
+https://git.lysator.liu.se/lysator/lappar/-/jobs/artifacts/master/browse?job=build
+<!-- notera att grenens namn behöver manuellt uppdateras -->
diff --git a/administrativt/Makefile b/administrativt/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..a57a25c6a44f174bfbd7fba51aa37970bca448d9
--- /dev/null
+++ b/administrativt/Makefile
@@ -0,0 +1,4 @@
+.PHONY: all
+all:
+	$(MAKE) -C medlemslapp
+	$(MAKE) -C kortlapp
diff --git a/administrativt/kortlapp/Makefile b/administrativt/kortlapp/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d8551614d3200a4eddfd377a0179101aeeb526f9
--- /dev/null
+++ b/administrativt/kortlapp/Makefile
@@ -0,0 +1,3 @@
+.PHONY: all
+all:
+	latexmk -pdf
diff --git a/administrativt/medlemslapp/Makefile b/administrativt/medlemslapp/Makefile
index c16d70e456411e5cd7fb0ba5890df1e236d20a4e..1434772a485ca2bdb5e3457bb920aec10f662f00 100644
--- a/administrativt/medlemslapp/Makefile
+++ b/administrativt/medlemslapp/Makefile
@@ -1,18 +1,2 @@
-all: villkor.ps conditions.ps
-
-villkor.ps: villkor.dvi
-	dvips -D600 -o villkor.ps villkor.dvi
-
-villkor.dvi: villkor.latex
-	latex villkor.latex
-
-conditions.ps: conditions.dvi
-	dvips -D600 -o conditions.ps conditions.dvi
-
-conditions.dvi: conditions.latex
-	latex conditions.latex
-
-clean:
-	for i in dvi ps aux log ; do rm -f villkor.$$i conditions.$$i; done
-	rm -f *~ core
-
+all:
+	latexmk -pdf
diff --git a/administrativt/medlemslapp/conditions.latex b/administrativt/medlemslapp/conditions.tex
similarity index 92%
rename from administrativt/medlemslapp/conditions.latex
rename to administrativt/medlemslapp/conditions.tex
index 8a36f5b8f86999319404d1877a417b3208eab42c..8d398bfc6c0e3bc007040c3de063b785ef44dd94 100644
--- a/administrativt/medlemslapp/conditions.latex
+++ b/administrativt/medlemslapp/conditions.tex
@@ -7,10 +7,10 @@
 \textheight 25cm
 \pagestyle{empty}
 \begin{document}
-\epsfysize 30 mm
-\mbox{\hspace{8cm}
-      \vspace{-5cm}
-      \epsfbox{lyslogo.ps}}
+%\epsfysize 30 mm
+% \mbox{\hspace{8cm}
+%       \vspace{-5cm}
+%       \epsfbox{lyslogo.ps}}
 
 \section*{Terms for accounts (v1.3)}
 
@@ -61,12 +61,12 @@ Lysators computers, and so that Lysator may keep its good network
 connection. We risk losing the connection unless we behave.
 
 \newpage
-\epsfysize 30 mm
-\mbox{\hspace{8cm}
-      \vspace{-5cm}
-      \epsfbox{lyslogo.ps}}
-\vspace{-5ex}
-\section*{FIlled in by the applicant}
+%\epsfysize 30 mm
+%\mbox{\hspace{8cm}
+%      \vspace{-5cm}
+%      \epsfbox{lyslogo.ps}}
+%\vspace{-5ex}
+\section*{Filled in by the applicant}
 
 \renewcommand{\arraystretch}{2.57}
 \fbox{
diff --git a/administrativt/medlemslapp/villkor.latex b/administrativt/medlemslapp/villkor.tex
similarity index 100%
rename from administrativt/medlemslapp/villkor.latex
rename to administrativt/medlemslapp/villkor.tex
diff --git "a/infom\303\266te/Makefile" "b/infom\303\266te/Makefile"
new file mode 100644
index 0000000000000000000000000000000000000000..ee2a453cf5b16c71c7bee4e192ebeec2c36074a4
--- /dev/null
+++ "b/infom\303\266te/Makefile"
@@ -0,0 +1,8 @@
+.PHONY: all
+all: multi.pdf
+	$(MAKE) -C presentation
+
+multi.pdf: single.pdf
+
+%.pdf: %.tex
+	latexmk -pdf $<
diff --git "a/infom\303\266te/presentation/.gitignore" "b/infom\303\266te/presentation/.gitignore"
new file mode 100644
index 0000000000000000000000000000000000000000..bd7be277cc9ca657d8ae2ae3cf0e3e9ea3148113
--- /dev/null
+++ "b/infom\303\266te/presentation/.gitignore"
@@ -0,0 +1,2 @@
+*.nav
+*.snm
diff --git "a/infom\303\266te/presentation/Makefile" "b/infom\303\266te/presentation/Makefile"
new file mode 100644
index 0000000000000000000000000000000000000000..d8551614d3200a4eddfd377a0179101aeeb526f9
--- /dev/null
+++ "b/infom\303\266te/presentation/Makefile"
@@ -0,0 +1,3 @@
+.PHONY: all
+all:
+	latexmk -pdf
diff --git "a/infom\303\266te/presentation/presentation_en.tex" "b/infom\303\266te/presentation/presentation_en.tex"
index cd680b999c44102575120a9d90b90c3235dba448..8527808849c7d5121dae89420fdb9f10705d08e0 100644
--- "a/infom\303\266te/presentation/presentation_en.tex"
+++ "b/infom\303\266te/presentation/presentation_en.tex"
@@ -59,7 +59,7 @@
 \usepackage{
 booktabs,
 datetime,
-dtklogos,
+%dtklogos,
 graphicx,
 multicol,
 pgfplots,
diff --git a/move-pdf.sh b/move-pdf.sh
new file mode 100755
index 0000000000000000000000000000000000000000..84d45a11475c40d7d3ad9a34a1e3ae148ca6a016
--- /dev/null
+++ b/move-pdf.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+for f in `find -name \*.pdf`; do
+	mv $f $(basename $f)
+done
diff --git a/tilde/Makefile b/tilde/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d8551614d3200a4eddfd377a0179101aeeb526f9
--- /dev/null
+++ b/tilde/Makefile
@@ -0,0 +1,3 @@
+.PHONY: all
+all:
+	latexmk -pdf