Advancements in stratified flows through simulation, experiment and open research software development
About | |
---|---|
Date and time of defence | Friday, 27 September 2019 kl 10:00 |
Location | F3, KTH, Lindstedtsvägen 26, Stockholm |
Supervisor | Erik Lindborg, Pierre Augier |
urn:nbn:se:kth:diva-256564 | |
Slides | |
Errata | Link to document |
@phdthesis{Mohanan-advancements-2019,
author = {Mohanan, Ashwin Vishnu},
title = {Advancements in Stratified Flows through Simulation, Experiment and Open Research Software Development},
year = {2019}
}
- texlive
- biblatex
- latexmk
- python>=3.6
- git-lfs
- pandoc, pandoc-crossref (included in
pandoc-requirements.txt
)
I shall also list applications / CLI tools which prove to be handy for several miscalleanous uses. Not mandatory, but good to have:
- zotero, better-bibtex (refrence management, deterministic BibTeX / BibLaTeX export)
- fzf, fzf-bibtex (fuzzy search to cite as you type, note: requires bibtool CLI tool)
- pandoc-citeproc (pandoc filter to process citations)
- zathura (vim-like pdf viewer)
- neovim / vim (needs no introduction)
- vim-pandoc-syntax (conceal and beautify markdown & LaTeX elements)
- ripgrep, sd (rust alternatives to grep and sed)
- inkscape (PDF, EPS editing)
- rubber (LaTeX error log parser)
- vale (natural language style checker)
- textidote (languagetool for LaTeX)
- texlive-localmanager (install missing packages from CTAN in ArchLinux)
- draw.io (create charts online / offline)
- ttf-humor-sans (for xkcd style plots)
Clone
git clone --recursive https://github.com/ashwinvis/phd-thesis.git
cd phd-thesis
Note: the --recursive
option is important to clone the submodules. If you
forget to do that, execute:
git submodule update --init --recursive
For texlive, I use:
# pacman -S texlive-bibtexextra texlive-core texlive-latexextra texlive-science biber
$ yay -S texlive-localmanager-git
$ tllocalmgr install mnsymbol ccicons
$ updmap -user --enable Map=ccicons.map
# texhash
Use appropriate texlive packages suitable for your opertating system.
Setup a python virtual environment.
make python
The requirements are pinned hard with versions specified. These are supposed to work with Python 3.6.x and could be difficult to install with other versions. In that case, use conda:
conda env create --file environment.yml
conda activate phd-thesis
This workflow does many things differently:
- Uses
biblatex
instead ofbibtex
: less buggy during compilation - Hand written, easy to modify JFM inspired styles for
biblatex
(seejfm.bbx
andjfm.cbx
) - A glossary, metadata for papers
paper.tex
autogenerated a.yml
file and a template (seetemplates
andscripts
subdirectory) - Chapters written in markdown and compiled to an intermediate LaTeX form
during compilation using
pandoc
(seechapter_%.latex
rule inMakefile
- Slides written in markdown and compiled to Beamer form (see
slides
subdirectory) - Uses
latexmk
wherever possible
Always start by activating the virtual environment source pyenv/bin/activate
Compile the whole thesis
make -j
Compile a standalone PDF of a single chapter/section using pandoc
make -j chapter_00_0_intro.pandoc.pdf
Compile a standalone PDF of all chapters in markdwon
make -j chapters.pandoc.pdf
Watch for changes
make watchthesis # or watchchapter or watchchapters
Clean files
make clean
Clean generated pdfs also
make cleanall
-
ImageMagick might require extra privileges which are not enabled by default due to security concerns. However this is necessary for texlive package
epstopdf
. In/etc/ImageMagick-7/policy.xml
add the following line:<policy domain="delegate" rights="none" pattern="gs" />
-
You need to compile the thesis before compiling the slides. This is because the
Makefile
for the slides assumes the figures are all present. -
If you install a font and matplotlib does not recognize it, run:
python -c 'from matplotlib import font_manager as fm; fm._rebuild()
The chapters in this work
Ashwin Vishnu Mohanan are licensed under a
Creative
Commons Attribution 4.0 International License.
Figures and contents of accompanying papers fall under various licenses, which requires discretion. Feel free to contact me in case of any doubts.