Sergiu Ivanov a39ae94994 Remove checklist item 3.
I don't maintain the numbers of publications in different categories
any more.  I just count them whenever I need them for an
2024-05-22 16:06:14 +01:00

4.2 KiB

Different notes concerning the workflow around the dossier


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.

Updating the dossier

  1. Download my latest bibliography from DBLP and put it into bib/sivanov-dblp.bib.
  2. Add the publications which are not indexed on DBLP to bib/sivanov-extra.bib.
  3. Update my visits, seminars or collaborations.
  4. Update my teaching.
  5. Update the internships.
  6. Update my projects.
  7. Update my administrative responsibilities.

Building in command line

Building the dossier follows the usual LaTeX build process.

  1. Ensure biber is available, e.g. by running the script guix-env.
  2. Clean all the working files by running the script clean.
  3. Run lualatex candidature.tex once.
  4. Run biber canditature to update the references.
  5. Run lualatex candidature.tex a second time and a the third time to get all the references right.

Steps 2 to 5 are also available in the script clean-rebuild.


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-dblp.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.

Old building with Shake   old

I don't use Shake any more, because it has been a major hassle over the years.

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.