This repository contains the LaTex source of the Model Predictive Control course summary.
A pre-build pdf file can be downloaded here:
To clone this repo and the necessary submodules add the --recurse-submodules flag to your git clone command. If you forgot to add the --recurse-submodules flag when you cloned the repo you can pull the submodules by running git submodule init and then git submodule update in the root directory of repository.
After you cloned this repo there are two options to build the LaTeX files ether you use the Docker Container or build it with your native installed LaTeX compile of choice. If you want a hassle-free way to work with our LaTeX project, we recommend using Docker.
Important Make sure to compile with xelatex (required by fontspec).
-
Make sure you have Docker installed on your system. If you don't have it already, you can download and install it from the official Docker website.
-
After you launched the docker daemon (started Docker Desktop) you can simply run execute the
./build_latex_local.shfile to generate the pdf files. They are located in a newly created subfolder calledbuild.
(Most probably you have to change the execution permissions withchmod +x build_latex_local.shbefore you are able to run the script for the first time.)
If you want to use your own native installed LaTeX compiler we recommend to use TeXLive which integrates well within visual studio code.
If you use the LaTeX Workshop extension you can add the following lines to your .vscode/settings.json file to configure the system. There is an example settings file you can use. To get the minimum required configuration always open the provided code-workspace. This can be done by File->"Open Workspace from File" and then select the file .vscode/eth-comp-control.code-workspace.
To compile with xelatex set: (required)
"latex-workshop.latex.recipe.default": "latexmk (xelatex)"Specify an output directory:
"latex-workshop.latex.outDir": "../build",Remove unnecessary build files (slows down compilation time):
"latex-workshop.latex.clean.fileTypes" : [ "*.aux", "*.fls", "*.synctex.gz", "*.out", "*.log", "*.fdb_latexmk" ],
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.method": "glob",
"latex-workshop.latex.clean.subfolder.enabled": true,To enable the LaTeX checker ChkTeX:
"latex-workshop.linting.chktex.enabled": true,
"latex-workshop.linting.chktex.exec.args": ["-wall","-n8","-n13","-n21","-n22","-n30","-n46","-e16","-q"],To get more information about the different warnings search for your warning code in the ChkTeX documentation. If you want to disable a checker warning on a specific line you can add % chktex ## to the end of the line with the warning number you want to suppress.
The images and other compressed files are managed by git-lfs. Therefor you need to install git-lfs fist (brew install git-lfs on MacOS).
All LaTeX files are autoformatted with latexindent which comes within the TexLive installation. To install on MacOS simply run brew install latexindent.
Feel free to fork this repository and create a pull request to integrate your corrections and extensions.
The LaTeX template of this summary can be found here.
Distributed under the MIT License. See LICENSE for more information.