An open API service indexing awesome lists of open source software.

https://github.com/laurentrdc/dissertation

PhD dissertation - From carrier cooling to polaron formation: Ultrafast phonon dynamics across the Brillouin zone
https://github.com/laurentrdc/dissertation

condensed-matter-physics phd-thesis ultrafast-electron

Last synced: 5 months ago
JSON representation

PhD dissertation - From carrier cooling to polaron formation: Ultrafast phonon dynamics across the Brillouin zone

Awesome Lists containing this project

README

          

# From carrier cooling to polaron formation: Ultrafast phonon dynamics across the Brillouin zone

## Setting up environment

The following tools are required to render this dissertation:

* `python` 3.7+;
* [`pandoc`](https://pandoc.org) 2.11+;
* [`pandoc-crossref`](https://github.com/lierdakil/pandoc-crossref);
* [`pandoc-plot`](https://github.com/LaurentRDC/pandoc-plot);
* [`inkscape`](https://inkscape.org/) 1.0+
* A LaTeX toolchain, including `lualatex` and [`biber`](https://sourceforge.net/projects/biblatex-biber/). I tested with `MikTex` (Windows) and `texlive-full` (Ubuntu).
* The fonts in `fonts/` need to be installed; they are used for plots.

To install the Python dependencies required to render figures:

```bash
python -m pip install -r requirements.txt
```

## Building the dissertation

Once the environment has been set-up, use the `dissc.py` script to build.

```
> python dissc.py
usage: dissc [-h] {clean,build,compute-prerequisites} ...

Dissertation compiler

positional arguments:
{clean,build,compute-prerequisites}
sub-command help
clean Clean auxiliary files that are transiently generated during build.
build Build dissertation.
compute-prerequisites
Compute plotting prerequisites from data.

optional arguments:
-h, --help show this help message and exit
```

The `build` subcommand has other options:

```bash
usage: dissc build [-h] [--print]

optional arguments:
-h, --help show this help message and exit
--print Build the dissertation for printing media: no hyperlinks, single linespacing, etc.
```

Figures will be automatically generated by [`pandoc-plot`](https://github.com/LaurentRDC/pandoc-plot).

## Mark-up

This sections describes the available mark-up tools that the toolchain supports.

### Citations

Citations go inside square brackets and are separated by semicolons. Each citation must have a key, composed of ‘@’ + the citation identifier from the database, and may optionally have a prefix, a locator, and a suffix. The citation key must begin with a letter, digit, or _, and may contain alphanumerics, _, and internal punctuation characters (:.#$%&-+?<>~/). Here are some examples:

```markdown
Blah blah [@smith04;@doe99].
```

### Sections, figure, and table labels

Labels based on [`pandoc-crossref`](https://github.com/lierdakil/pandoc-crossref) are possible. To create a label for an item:

```markdown
# Introduction {#sec:intro}

As you can read in the @sec:intro, ...

```

### Equations

```markdown
$$
e = m c ^2
$${#eq:label}

Take a look at @eq:label ...
```

For more complex equation forms (e.g. aligned equations), `\label`s can be used. For example:

````markdown
\begin{align}
...
\label{eq:myequation}
\end{align}

You can refer to the equation like so @eq:myequation
````

### Footnotes

```
This is not entirely true[^1]

[^1]: details
```

## Acknowledgement

This repository is partly based on [`pandoc-thesis`](https://github.com/cagix/pandoc-thesis).