83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
|
|
# A slightly improved thesis template
|
|
|
|
What's new:
|
|
|
|
- modern packages (biblatex, cleveref, better fonts)
|
|
- less confusing directory structure
|
|
- slightly more useful examples (figures, diagrams, tables, code listings), structure hints, some goodies
|
|
- autobuilding of abstract PDF/A from metadata
|
|
- university-wide variants of the front page (nature faculty&bioinformatics!)
|
|
- Czech localization with nicely named references
|
|
- Dockerized environment
|
|
|
|
See the [pre-built version](build/thesis.pdf) for details
|
|
|
|
## CI configuration
|
|
|
|
The repository contains valid configuration for both *GitLab* CI and the *GitHub* actions.
|
|
No matter what GIT hosting you use, you can always download latest version of your thesis right from the artifacts!
|
|
|
|
## How-to
|
|
|
|
1. Type `make`, check that everything compiles. You should get a `thesis.pdf` that passes the PDF/A validation. If not, complain.
|
|
2. Fill in `metadata.tex` and all `xmpdata` files.
|
|
3. Look at the example code (there are several hints), remember it, erase it.
|
|
4. Write the thesis.
|
|
5. Submit and defend the thesis.
|
|
|
|
### Installing LaTeX
|
|
|
|
LaTeX installation may be hard (especially on various substandard operating systems). On most BSD and GNU-style Linux distributions, it should be sufficient to install some random `texlive-*` packages (and add more if non-standard TeX functionality is required); see e.g. [a complete list for Debian](docker/Dockerfile).
|
|
|
|
- For a single-user distribution on unix, use the provided [installation script](https://www.tug.org/texlive/quickinstall.html).
|
|
- On windows, use [MiKTeX](https://www.tug.org/texlive/windows.html).
|
|
- On Mac, use any suitable variant of [MacTeX](https://www.tug.org/mactex/).
|
|
|
|
Optionally, you can use a Docker container with TeX. You can either build the image yourself from the supplied `Dockerfile`:
|
|
```sh
|
|
cd docker
|
|
docker build -t exaexa/latex .
|
|
```
|
|
|
|
...or get a pre-built copy (which is usually much faster:
|
|

|
|
)
|
|
```sh
|
|
docker pull exaexa/latex
|
|
```
|
|
|
|
After that, you should be able to compile the thesis using (roughly) this command:
|
|
```sh
|
|
docker run -u $UID -ti --rm -v $PWD:/th -w /th exaexa/latex make
|
|
```
|
|
|
|
## PDF/A
|
|
|
|
With a bit of luck, you should get a valid PDF/A right out of LaTeX.
|
|
|
|
A PDF/A validator that can point out exact problems is available here: https://github.com/mff-cuni-cz/cuni-thesis-validator
|
|
|
|
Common PDF/A problems include:
|
|
|
|
- imported PDF pictures that are not PDF/A.
|
|
- the used font does not support PDF/A (including the fonts in imported pictures). See https://martin.hoppenheit.info/blog/2018/pdfa-validation-and-inconsistent-glyph-width-information/ for a very ugly case.
|
|
|
|
Solutions:
|
|
|
|
- use `pdfa.sh` to convert PDFs to PDF/A-compatible form the "hard way" (although this does _not_ retain the PDF/A metadata mark, see comments in the script).
|
|
- read the commentary by Martin Mareš (that describes most of the common problems) here: https://mj.ucw.cz/vyuka/bc/pdfaq.html
|
|
- use `pdfa.sh` as a last resort for `thesis.pdf` if everything other fails
|
|
|
|
## Ideas/improvements/more examples?
|
|
|
|
Pull requests welcome.
|
|
|
|
## License?
|
|
|
|
Parts of the code (esp. the title page) are based on the original template (available from the faculty website) by Martin Mareš, Arnošt Komárek, and Michal Kulich. (Thanks!)
|
|
|
|
University and faculty logos are a property of the respective universities and faculties.
|
|
|
|
Everything else in this repository is released into the public domain, not encumbered by any kind of copyright at all.
|