The main repository integrating the LaTeX beamer-based slides for a MSc class on Answer Set Programming (ASP).
Because large files are stored in the repo (e.g., images, logos, etc.), Git LFS is used. This means that Git LFS extension must be installed (alogside Git, of course) and setup to be able to clone large files. To install Git LFS check this guide, but if you are using a Linux distribution, you should be able to get it from your package manager. In case of Ubuntu-based distros:
$ sudo apt-get install git-lfs
$ git lfs install Git LFS initialized. # just run once to initialize Git LFS
Because complex beamer slides may require running LaTex multiple times (e.g., to get overlays correct), the Perl-based script latexmk
is used and hence needs to be installed in the system, for example:
$ sudo apt-get install latexmk
For references, the system uses the advanced biber
package, an advanced replacement of BibTex. Make sure it is installed:
$ sudo apt-get install biber
Finally, we clone the whole course source code, by cloning the main repo and fetching all submodules:
$ [email protected]:potassco-asp-course/course.git
$ cd course
$ git submodule update --init --recursive
Note: if you don't have Git LFS installed and set-up, this will bring many ``empty` reference files, that are not the proper files used when compiling (e.g., empty logo pdf files). This will cause LaTex to break.
If, for some reason, you need to reset/unbind all submodules: git submodule deinit -f .
All modules are under include/
folder. If you want to reset a particular module, for example, the one containing the logos:
$ cd include/logos
$ git reset --hard
At this point, all the source code should be ready to be compiled (hopefully!).
The standard way to compile the pack of slides as a PDF file is as follows:
$ latexmk main.tex
You will note that
This will run pdflatex and bibtex many times until a correct PDF is produced.
To clean the comliked version:
$ latexmk main.tex -pdf -C
- uncomment
\includeonlylecture
and{<target>,goodbye,bibliography}
inmain.tex
- run
latexmk main.tex
- rename
main.pdf
into<target>.pdf
- undo above edits,
latexmk main.tex
again - produce a release attaching both files
- link released files in webspace
- mostly implemented by LaTeX's
\part
and\section
commands - use
itemize
environments with\structure{}
(rather thandescription
environment). - use
\neg
for (default) negation in view of the logic of Here-and-There (was\naf
before). - separate slides with
%
followed by 70-
(minus symbol).
Moved the list of videos to VIDEO.md