dossier-complet/dossier-notes.org

2.8 KiB

Different notes concerning the workflow around the dossier

Context

The document in this directory is the document I used for my ATER applications in 2015, and MCF applications in 2016 and 2017. I keep updating it to keep track of what I am doing with my career.

One of the goals of this document is helping myself prepare my professorship applications later on, but the career tracking part is increasingly important.

Structure

The dossier is split over very many .tex files, a candidature.sty file, and a number of .bib files storing various bibliographies. The .tex files contain a chapter of the dossier each. The .bib files group the references roughly by various criteria:

  • domain: algebra.bib, mcrs.bib (model checking of reaction systems), etc.
  • application destination: evry.bib, lifo.bib, etc.
  • people: hdr_noverlan.bib (citations in Sergey's HDR not including him), hdr_verlan.bib (citations of Sergey's own work in his HDR).

Additionally, sivanov.bib corresponds to the latest export of by bibliography from DBLP, while sivanov-extra.bib lists some publications which are not tracked on DBLP.

My CV in French

The dossier includes my two-page short academic CV. I use the script make-cv-fr to extract it to sivanov-cv-fr.pdf.

Building

I use Haskell's Shake build system to fully compile my dossier. The code defining how to build the dossier is in file:_shake/Build.hs. Essentially, this file tries to runs Biber and the LaTeX a sufficient number of times to get the references right. It does not always correctly guess the number of times, so I sometimes need to touch a file to make Shake recognise that a rebuild is due.

Building the build system

When file:_shake/Build.hs is updated, the build system needs to be rebuild. A good way to do it is using Cabal in the following way:

cabal update # update the package lists
cabal build # rebuild the package

Note that I set up a sandbox for the build system, so the previous commands operate in this sandbox.

I don't rebuild the build system often, so most of the times I do it I have to bump upper bounds on the versions of dependencies in file:_shake/build.cabal.

The binary resulting from the build is usually placed in a deeply nested subdirectory of file:_shake. For convenience, the symlink build in the root directory of the dossier points to this binary.