#+TITLE: 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. * Updating the dossier 1. [X] Download my latest bibliography from DBLP and put it into [[file:bib/sivanov.bib][bib/sivanov.bib]]. 2. [ ] Add the publications which are not indexed on DBLP to [[file:bib/sivanov-extra.bib][bib/sivanov-extra.bib]]. 3. [ ] Update the numbers at the top of the section about the publications and in the Fiche Récapitulative. 4. [ ] Update my teaching. 5. [ ] Update the internships. 6. [ ] Update my administrative responsibilities. 7. [ ] Update my visits, seminars or collaborations. 8. [ ] Update my projects. 9. [ ] Update the French and English versions of my CV. 10. [ ] Check out the Update CV TODO entry in [[file:../../NotesTODOs/personal.org][personal.org]]. * Building in command line Building the dossier follows the usual LaTeX build process. 1. Ensure =biber= is available, e.g. by running the script [[file:guix-env][guix-env]]. 2. Clean all the working files by running the script [[file:clean][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 [[file:clean-rebuild][clean-rebuild]]. * 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 [[https://dblp.uni-trier.de/pers/hd/i/Ivanov_0001:Sergiu][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 [[file:make-cv-fr][make-cv-fr]] to extract it to [[file:sivanov-cv-fr.pdf][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 [[https://hackage.haskell.org/package/shake][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: #+BEGIN_SRC shell cabal update # update the package lists cabal build # rebuild the package #+END_SRC 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. * Local Variables :noexport: # Local Variables: # eval: (auto-fill-mode) # ispell-local-dictionary: "en" # org-link-file-path-type: relative # End: