brokenpylons / City

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PaperTemplate

Build

Template repository for reproducible paper builds.

Assumptions

  • Paper file name: paper.tex
  • Latex compiler: lualatex
  • Build tool: latexmk
  • References file name: references.bib
  • References format: biblatex
  • References compiler: biber
  • Font: STIX 2

Build

For the final build use nix build. For development use nix develop and just run make manually. To provide the derivation with the current time add the --impure flag. Note that in that case the output path changes on every build.

GitHub Actions

The repositry has an action setup for building the paper. It runs nix build and uploads the paper as an artifact. The dependencies are cached between runs to optimize the build times (cca. 2 min).

Notes

lualatex and luaotfload-tool fail without output when ran using nix build. The problem is that they don't have access to the TEXMFVAR directory. You can fix that by setting the variable to something that is accessible (in this template it is set to /tmp/texmf).

To get a complete closure for the derivation (with binary build-time dependencies) you need to run:

nix-store -qR --include-outputs <derivation path>

See also

About


Languages

Language:TeX 92.5%Language:Nix 6.9%Language:Makefile 0.6%